Что такое хэш-таблицы и как они работают
Хэш-таблица — это одна из самых популярных структур данных. Про неё любят спрашивать на собеседованиях и в целом использовать в программировании. И вот почему:
Хэш-таблица позволяет очень быстро находить и организовывать данные в ней — количество элементов в таблице не влияет на время поиска по этой таблице (даже если их миллионы). Это возможно благодаря тому, что для каждого элемента, помещаемого в таблицу, специальной хэш-функцией вычисляется ключ, по которому этот элемент будет находиться. И в дальнейшем для поиска элемента, чтобы не делать перебор всего массива, нужно лишь заново вычислить ключ хэш-функцией и по нему получить искомое значение.
Если интересно, как именно работают хэш-таблицы и функции "под капотом", то держите видео на эту тему.
#теория
Хэш-таблица — это одна из самых популярных структур данных. Про неё любят спрашивать на собеседованиях и в целом использовать в программировании. И вот почему:
Хэш-таблица позволяет очень быстро находить и организовывать данные в ней — количество элементов в таблице не влияет на время поиска по этой таблице (даже если их миллионы). Это возможно благодаря тому, что для каждого элемента, помещаемого в таблицу, специальной хэш-функцией вычисляется ключ, по которому этот элемент будет находиться. И в дальнейшем для поиска элемента, чтобы не делать перебор всего массива, нужно лишь заново вычислить ключ хэш-функцией и по нему получить искомое значение.
Если интересно, как именно работают хэш-таблицы и функции "под капотом", то держите видео на эту тему.
#теория
YouTube
Хеш-таблица — Самая Популярная Структура Данных
Пройдите бесплатный курс от Яндекс Практикума — "Какую профессию в программировании выбрать": https://ya.cc/t/UrGOef-q4LmqEn
Токен: LdtCKa7Ux
Разбираем как работает HashSet - структура данных, которая позволяет проверять в ней наличие любого элемента за…
Токен: LdtCKa7Ux
Разбираем как работает HashSet - структура данных, которая позволяет проверять в ней наличие любого элемента за…
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Над презентациями больше не прокрастинируем
Для тех, кто испытывает творческое напряжение во время верстки слайдов, разработали Tome — конструктор с ИИ, который:
— создаст типовую структуру презентации по коротком промпту (например, «напиши питч IT-стартапа в области медицины»);
— раскидает буллит-поинты, картинки по слайдам и даст их перегенерить при уточнении промпта;
— сгенерирует картинки, видео и анимирует переходы и многое другое.
How To
#нейросети
Для тех, кто испытывает творческое напряжение во время верстки слайдов, разработали Tome — конструктор с ИИ, который:
— создаст типовую структуру презентации по коротком промпту (например, «напиши питч IT-стартапа в области медицины»);
— раскидает буллит-поинты, картинки по слайдам и даст их перегенерить при уточнении промпта;
— сгенерирует картинки, видео и анимирует переходы и многое другое.
How To
#нейросети
Что такое MVP простыми словами
MVP (Minimum Viable Product) — это базовая версия продукта с минимальным набором функций, необходимых для решения основной проблемы целевой аудитории.
Зачем это нужно?
MVP позволяет проверить продукт на аудитории, собрать фидбек и скорректировать план, затратив при этом минимум финансов и времени.
Пример MVP:
Простое мобильное приложение для заметок, которое позволяет создавать, редактировать и удалять записи. Это основная функциональность, необходимая для удовлетворения потребностей пользователей — без перегруженного интерфейса и сторонних фич.
Ошибочное представление MVP:
Создание приложения для заметок с множеством "технологичных" функций, таких как голосовые комментарии и анимированные эффекты, но без базовой функциональности, такой как редактирование существующих заметок. Такой подход уводит внимание от основной проблемы и увеличивает затраты на разработку.
Если хотите глубже познакомиться с концепцией MVP с советами и примерами, то держите эту статью.
#теория
MVP (Minimum Viable Product) — это базовая версия продукта с минимальным набором функций, необходимых для решения основной проблемы целевой аудитории.
Зачем это нужно?
MVP позволяет проверить продукт на аудитории, собрать фидбек и скорректировать план, затратив при этом минимум финансов и времени.
Пример MVP:
Простое мобильное приложение для заметок, которое позволяет создавать, редактировать и удалять записи. Это основная функциональность, необходимая для удовлетворения потребностей пользователей — без перегруженного интерфейса и сторонних фич.
Ошибочное представление MVP:
Создание приложения для заметок с множеством "технологичных" функций, таких как голосовые комментарии и анимированные эффекты, но без базовой функциональности, такой как редактирование существующих заметок. Такой подход уводит внимание от основной проблемы и увеличивает затраты на разработку.
Если хотите глубже познакомиться с концепцией MVP с советами и примерами, то держите эту статью.
#теория
Продолжаем изучать SQL — выбор данных и их сортировка
Сегодня разберём два популярных оператора в SQL —
Первый — оператор выбора. Он используется для извлечения каких-то конкретных данных из таблицы. Например, в таблице есть данные о именах студентов, их курсе и оценках. Чтобы получить только имена студентов, используем
Второй — оператор сортировки. Вместе с ним используется оператор
#sql
Сегодня разберём два популярных оператора в SQL —
SELECT
и ORDER BY
.Первый — оператор выбора. Он используется для извлечения каких-то конкретных данных из таблицы. Например, в таблице есть данные о именах студентов, их курсе и оценках. Чтобы получить только имена студентов, используем
SELECT name FROM students
. Выбирать можно также сразу несколько параметров через запятую. Вот небольшая шпаргалка по этому оператору.Второй — оператор сортировки. Вместе с ним используется оператор
ASC
для сортировки от меньшего к большему, и DESC
— от большего к меньшему. Например, если нужно отсортировать имена учеников по их оценкам, начиная с самых высоких, то используем: ORDER BY score DESC
. По этому оператору тоже есть небольшая статья.#sql
Дорожная карта для изучения Rust
Rust — это современный и безопасный язык программирования, который обеспечивает высокую производительность и защиту от ошибок. Начинающих в IT этот язык привлекает своей простотой и удобством в использовании, а также возможностью разработки быстрых и надёжных приложений.
Держите дорожную карту по изучению Rust с нуля. На сайте можно узнать, в какой последовательности лучше изучать темы, что от чего зависит и главное — получить краткую выжимку по каждому из пунктов, нажав на него.
#rust #roadmap
Rust — это современный и безопасный язык программирования, который обеспечивает высокую производительность и защиту от ошибок. Начинающих в IT этот язык привлекает своей простотой и удобством в использовании, а также возможностью разработки быстрых и надёжных приложений.
Держите дорожную карту по изучению Rust с нуля. На сайте можно узнать, в какой последовательности лучше изучать темы, что от чего зависит и главное — получить краткую выжимку по каждому из пунктов, нажав на него.
#rust #roadmap
Гайд по подготовке к собеседованию по Kubernetes
Kubernetes (K8s) — это открытая платформа для автоматизации развёртывания, масштабирования и управления приложениями в контейнерах. Она предлагает инструменты для упрощения работы с контейнерами, например, Docker, и позволяет легко управлять приложениями в распределённой среде.
В этой статье исполнительный директор по разработке Газпромбанка делится обширным списком частых вопросов с собеседований на тему k8s. Среди них есть и базовые темы на понимание инструмента, и специфичные вопросы, по типу управления ресурсами, best practices и Kubernetes Service.
#собеседование #devops #k8s
Kubernetes (K8s) — это открытая платформа для автоматизации развёртывания, масштабирования и управления приложениями в контейнерах. Она предлагает инструменты для упрощения работы с контейнерами, например, Docker, и позволяет легко управлять приложениями в распределённой среде.
В этой статье исполнительный директор по разработке Газпромбанка делится обширным списком частых вопросов с собеседований на тему k8s. Среди них есть и базовые темы на понимание инструмента, и специфичные вопросы, по типу управления ресурсами, best practices и Kubernetes Service.
#собеседование #devops #k8s
Шпаргалка по Markdown в одной картинке
Markdown — популярный язык разметки текста, который можно встретить практически где угодно: редакторы блогов, документации (как на GitHub и т. д.), базы знаний и трекеры (типа Notion, Todoist). Поэтому понимание хотя бы базового синтаксиса этой разметки точно не будет лишним для общей эрудиции любого разработчика.
Разметка простая и местами даже интуитивная. Например, вот так пишется
Всё самое необходимое по Markdown можно найти в шпаргалке выше (источник). Там же для лучшего понимания приведён аналог на HTML каждого из элемента.
#markdown #шпаргалка
Markdown — популярный язык разметки текста, который можно встретить практически где угодно: редакторы блогов, документации (как на GitHub и т. д.), базы знаний и трекеры (типа Notion, Todoist). Поэтому понимание хотя бы базового синтаксиса этой разметки точно не будет лишним для общей эрудиции любого разработчика.
Разметка простая и местами даже интуитивная. Например, вот так пишется
# Заголовок
, вот так *жирный текст*
, а так список:1. элемент 1
2. элемент 2
Всё самое необходимое по Markdown можно найти в шпаргалке выше (источник). Там же для лучшего понимания приведён аналог на HTML каждого из элемента.
#markdown #шпаргалка
На чём писать сайт в 2024?
Рынок веб-разработки никогда не стоит на месте. Те технологии и инструменты, которые были популярны и востребованы пару лет назад, уже могут потерять свою актуальность в этом году. Поэтому, если планируете развиваться в веб-разработке, то держите шпаргалку, в которой рассказали об актуальных технологиях в вебе на этот год.
Если кратко, то: JS — основной язык для фронтенда, также остаются актуальными React, Angular и Vue. Для бэкенда выбор зависит от сайта: маленькие — WordPress, большие — PHP/Laravel, Python/Django, Ruby on Rails. Крупные компании выбирают Java/C#. Важными остаются SEO и мобильная адаптивность.
#web #backend #frontend
Рынок веб-разработки никогда не стоит на месте. Те технологии и инструменты, которые были популярны и востребованы пару лет назад, уже могут потерять свою актуальность в этом году. Поэтому, если планируете развиваться в веб-разработке, то держите шпаргалку, в которой рассказали об актуальных технологиях в вебе на этот год.
Если кратко, то: JS — основной язык для фронтенда, также остаются актуальными React, Angular и Vue. Для бэкенда выбор зависит от сайта: маленькие — WordPress, большие — PHP/Laravel, Python/Django, Ruby on Rails. Крупные компании выбирают Java/C#. Важными остаются SEO и мобильная адаптивность.
#web #backend #frontend
Продолжаем изучать SQL: Индексы
Индексация в SQL похожа на книжную индексацию, ускоряющую поиск данных. Благодаря индексам на порядок повышается скорость запросов. Индексы эффективны в больших базах данных и системах с плановыми обновлениями, но не рекомендуются для небольших таблиц, частых обновлений и столбцов с множеством null значений.
Держите статью, где подробно и простым языком объясняют принцип работы индексов и их необходимость в базах данных.
#sql
Индексация в SQL похожа на книжную индексацию, ускоряющую поиск данных. Благодаря индексам на порядок повышается скорость запросов. Индексы эффективны в больших базах данных и системах с плановыми обновлениями, но не рекомендуются для небольших таблиц, частых обновлений и столбцов с множеством null значений.
Держите статью, где подробно и простым языком объясняют принцип работы индексов и их необходимость в базах данных.
#sql
Tproger
SQL-индексы за 10 минут
Канал Listen IT рассказал о суперсиле индексов для оптимизации SQL-запросов. Индексация позволяет ускорить выполнение запросов к базам данных.
Держите огромную подборку инструментов для веба
Автор потрудился собрать большое количество инструментов и разделить их на 30 категорий. В каждой категории несколько десятков сервисов, так что можно найти решение для почти любой задачи.
Среди категорий: шрифты, иконки, палитры, стоковое аудио, шаблоны кода, инструменты для дизайна и JS-фреймворков, а также многое другое. Поэтому такая подборка — универсальная шпаргалка для любого веб-разработчика.
#web #frontend
Автор потрудился собрать большое количество инструментов и разделить их на 30 категорий. В каждой категории несколько десятков сервисов, так что можно найти решение для почти любой задачи.
Среди категорий: шрифты, иконки, палитры, стоковое аудио, шаблоны кода, инструменты для дизайна и JS-фреймворков, а также многое другое. Поэтому такая подборка — универсальная шпаргалка для любого веб-разработчика.
#web #frontend
Чистим код: Функции
В прошлом посте разбирали основные принципы по именованию программных сущностей. А сегодня разберём как лучше писать функции, чтобы их можно было легко читать и понимать:
— Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.
— Функция должна выполнять чётко одну операцию.
— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.
— Функция должна иметь как можно меньше аргументов, т. к. каждый аргумент — это контекст, про который должен знать разработчик. Если аргументов много и они связаны — следует упаковать аргументы в один объект.
— У функции не должно быть побочных эффектов — скрытых действий, о которых разработчик может не догадываться.
— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.
#чистимкод
В прошлом посте разбирали основные принципы по именованию программных сущностей. А сегодня разберём как лучше писать функции, чтобы их можно было легко читать и понимать:
— Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.
— Функция должна выполнять чётко одну операцию.
— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.
— Функция должна иметь как можно меньше аргументов, т. к. каждый аргумент — это контекст, про который должен знать разработчик. Если аргументов много и они связаны — следует упаковать аргументы в один объект.
— У функции не должно быть побочных эффектов — скрытых действий, о которых разработчик может не догадываться.
— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.
#чистимкод
Какие разработчики игр зарабатывают в 2024
В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.
Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.
#gamedev
В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.
Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.
#gamedev
Tproger
Какие разработчики игр зарабатывают в 2024 году
IT-блогер Роман Сакутин выпустил ролик, в котором рассказал, какие разработчики игр зарабатывают больше остальных.
5 ошибок Python-разработчиков, которые выдают новичка
У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.
Собрали для вас самые распространенные ошибки в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.
#советы #python
У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.
Собрали для вас самые распространенные ошибки в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.
#советы #python
Углубимся в историю?
В какой последовательности появлялись следующие языки программирования?
#викторина
В какой последовательности появлялись следующие языки программирования?
#викторина
Какая последовательность правильная?
Anonymous Quiz
21%
Swift, TypeScript, Rust, Go
13%
TypeScript, Ruby, Dart, Elixir
11%
Rust, R, Scala, Groovy
55%
JavaScript, Go, Kotlin, Swift
Регулярные выражения для начинающих
Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.
Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:
где
Шпаргалки по регулярным выражениям стали своего рода мемом, ведь из-за сложности синтаксиса к ним регулярно обращаются даже бывалые разработчики. Поэтому держите шпаргалку в картинке, а также ИИ-инструмент, который по текстовому запросу сгенерирует вам необходимую регулярку.
#regexp
Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.
Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:
\d{3}-\d{3}-\d{4}
где
\d
— символ цифры, {3}
— количество повторений, -
необходимый разделитель.Шпаргалки по регулярным выражениям стали своего рода мемом, ведь из-за сложности синтаксиса к ним регулярно обращаются даже бывалые разработчики. Поэтому держите шпаргалку в картинке, а также ИИ-инструмент, который по текстовому запросу сгенерирует вам необходимую регулярку.
#regexp
Forwarded from Мобильная разработка
Old but gold: Android-разработка для новичков
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Как выучить язык программирования быстрее
Чтобы стать хорошим программистом, необходимо проработать свой план обучения. Без него вы рискуете быстро потерять мотивацию изучать язык программирования.
В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.
Если очень кратко, то:
— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.
#general #советы
Чтобы стать хорошим программистом, необходимо проработать свой план обучения. Без него вы рискуете быстро потерять мотивацию изучать язык программирования.
В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.
Если очень кратко, то:
— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.
#general #советы
YouTube
Как выучить язык программирования быстрее
Несколько советов, помогающих ускорить изучение языка программирования
0:00 Начало
0:09 Практика
0:58 Каждый следующий язык учить легче, чем предыдущий
1:45 Читайте чужой исходный код
2:19 Читайте документацию от разработчиков
3:02 Не пренебрегайте русскоязычной…
0:00 Начало
0:09 Практика
0:58 Каждый следующий язык учить легче, чем предыдущий
1:45 Читайте чужой исходный код
2:19 Читайте документацию от разработчиков
3:02 Не пренебрегайте русскоязычной…
6 способов войти в ИТ без высшего образования и онлайн-курсов
Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:
— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.
— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.
— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.
#general
Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:
— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.
— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.
— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.
#general
Библиотека программиста
⛩️ 6 способов войти в ИТ без высшего образования и онлайн-курсов
В этой статье мы рассмотрим несколько необычных способов входа в сферу информационных технологий и то, какие преимущества они дают.