#internship - стажировки и вакансии
#hack - хакатоны и соревнования
#resources - полезные ресурсы
#skills - навыки
#news - новости
#error - частые ошибки
#hack - хакатоны и соревнования
#resources - полезные ресурсы
#skills - навыки
#news - новости
#error - частые ошибки
#skills
Новое исследование Яндекса - карта навыков Frontend-разработчиков.
Hard-скиллы собирали по запросам, на которые поисковик выдавал ссылки на Stack Overflow. По итогу, из карты можно узнать:
🔸какие навыки фронтендеры чаще используют в работе
🔸какие скиллы самые популярные (это можно определить по размеру тега в облаке)
🔸какие навыки связаны друг с другом (если навыки рядом, значит, их искали вместе)
🔸какие фреймворки и инструменты стали популярнее по сравнению с прошлым годом.
🔗Посмотреть исследование
Новое исследование Яндекса - карта навыков Frontend-разработчиков.
Hard-скиллы собирали по запросам, на которые поисковик выдавал ссылки на Stack Overflow. По итогу, из карты можно узнать:
🔸какие навыки фронтендеры чаще используют в работе
🔸какие скиллы самые популярные (это можно определить по размеру тега в облаке)
🔸какие навыки связаны друг с другом (если навыки рядом, значит, их искали вместе)
🔸какие фреймворки и инструменты стали популярнее по сравнению с прошлым годом.
🔗Посмотреть исследование
#skills
Микросервисная архитектура: что, зачем и как.
🤨 Что это?
Микросервисы - независимые компоненты ПО, отвечающие за свои конкретные задачи.
🤷♂️ Кому это нужно?
Подходит, если нужны гибкость, масштабируемость и независимость в разработке.
💡 Разберемся на примере.
Представим онлайн магазин с микросервисной архитектурой. Вот как он устроен:
1. Каталог товаров.
🚀 Хранит данные о товарах, ценах.
🛠️ Работает на NodeJs, использует бд PostgreSQL для хранения данных.
2. Управление корзиной.
🚀 Управляет товарами в корзине.
🛠️ Использует Redis для хранения корзин.
3. Оформление заказа.
🚀 Обрабатывает платежи
🛠️ Подключается к API внешних платежных систем.
4. Инвентаризация товаров.
🚀 Отслеживает товары на складе.
5. Рекомендации.
🚀 Использует машинное обучения для рекомендаций товаров.
🛠️ Работает на Python.
Инфраструктура:
✅ Каждый из этих микросервисов обернут в свой Docker контейнер.
✅ Используется Kubernetes для управления контейнерами.
✅ RabbitMQ для обмена сообщениями между сервисами.
Микросервисная архитектура: что, зачем и как.
🤨 Что это?
Микросервисы - независимые компоненты ПО, отвечающие за свои конкретные задачи.
🤷♂️ Кому это нужно?
Подходит, если нужны гибкость, масштабируемость и независимость в разработке.
💡 Разберемся на примере.
Представим онлайн магазин с микросервисной архитектурой. Вот как он устроен:
1. Каталог товаров.
🚀 Хранит данные о товарах, ценах.
🛠️ Работает на NodeJs, использует бд PostgreSQL для хранения данных.
2. Управление корзиной.
🚀 Управляет товарами в корзине.
🛠️ Использует Redis для хранения корзин.
3. Оформление заказа.
🚀 Обрабатывает платежи
🛠️ Подключается к API внешних платежных систем.
4. Инвентаризация товаров.
🚀 Отслеживает товары на складе.
5. Рекомендации.
🚀 Использует машинное обучения для рекомендаций товаров.
🛠️ Работает на Python.
Инфраструктура:
✅ Каждый из этих микросервисов обернут в свой Docker контейнер.
✅ Используется Kubernetes для управления контейнерами.
✅ RabbitMQ для обмена сообщениями между сервисами.
#skills
🤖 Алгоритмы и структуры данных — ключевые навыки для создания эффективных и надежных программ.
🔍 Зачем они нужны?
— Оптимизация времени выполнения: Хорошо спроектированные алгоритмы существенно ускоряют программы.
— Эффективное использование ресурсов: А это значит, что и платить за VDS нужно будет меньше.
— Решение сложных задач: Многие задачи в IT вообще не решить без знаний об алгоритмах и структурах данных.
— Востребованность на рынке: Без них вас не возьмут ни в одну настоящую IT компанию.
🤷♂️ Кому они нужны?
1) Всем.
👶: "Но я же фронтендер, мне не нужны алгоритмы"
Дело не в том, что алгоритмы полезны в работе. Это навык, который показывает, что ты способен проявлять хоть какую-то умственную активность.
Не умеешь решать алгосы - ничего страшного, в новых постах расскажу про основные алгоритмы.
🤖 Алгоритмы и структуры данных — ключевые навыки для создания эффективных и надежных программ.
🔍 Зачем они нужны?
— Оптимизация времени выполнения: Хорошо спроектированные алгоритмы существенно ускоряют программы.
— Эффективное использование ресурсов: А это значит, что и платить за VDS нужно будет меньше.
— Решение сложных задач: Многие задачи в IT вообще не решить без знаний об алгоритмах и структурах данных.
— Востребованность на рынке: Без них вас не возьмут ни в одну настоящую IT компанию.
🤷♂️ Кому они нужны?
1) Всем.
👶: "Но я же фронтендер, мне не нужны алгоритмы"
Дело не в том, что алгоритмы полезны в работе. Это навык, который показывает, что ты способен проявлять хоть какую-то умственную активность.
Не умеешь решать алгосы - ничего страшного, в новых постах расскажу про основные алгоритмы.
#skills
📊 Краткая справка по основным сортировкам.
📌 Сортировки - это алгоритмы, которые упорядочивают элементы списка. Они играют важную роль в обработке данных.
1. Сортировка пузырьком (Bubble Sort)
📝 Проходит по списку, сравнивает соседние элементы и меняет их местами, если нужно.
🕒 O(n^2) - худший случай.
2. Сортировка выбором (Selection Sort)
📝 Ищет минимальный элемент и помещает его в начало списка, затем повторяет для остальных.
🕒 O(n^2).
3. Сортировка вставками (Insertion Sort)
📝 Вставляет каждый элемент в правильное место в уже отсортированной части списка.
🕒 O(n^2).
4. Сортировка слиянием (Merge Sort)
📝 Разделяет список на две половины, сортирует их, а затем сливает обратно в один отсортированный список.
🕒 O(n log n).
5. Быстрая сортировка (Quick Sort)
📝 Выбирает опорный элемент, разбивает список на элементы меньше и больше опорного, затем рекурсивно сортирует обе части.
🕒 O(n log n) в среднем.
📊 Краткая справка по основным сортировкам.
📌 Сортировки - это алгоритмы, которые упорядочивают элементы списка. Они играют важную роль в обработке данных.
1. Сортировка пузырьком (Bubble Sort)
📝 Проходит по списку, сравнивает соседние элементы и меняет их местами, если нужно.
🕒 O(n^2) - худший случай.
2. Сортировка выбором (Selection Sort)
📝 Ищет минимальный элемент и помещает его в начало списка, затем повторяет для остальных.
🕒 O(n^2).
3. Сортировка вставками (Insertion Sort)
📝 Вставляет каждый элемент в правильное место в уже отсортированной части списка.
🕒 O(n^2).
4. Сортировка слиянием (Merge Sort)
📝 Разделяет список на две половины, сортирует их, а затем сливает обратно в один отсортированный список.
🕒 O(n log n).
5. Быстрая сортировка (Quick Sort)
📝 Выбирает опорный элемент, разбивает список на элементы меньше и больше опорного, затем рекурсивно сортирует обе части.
🕒 O(n log n) в среднем.
#skills
Тренировки по алгоритмам, ML и DevOps от Яндекса.
💡 Можно сколько угодно учить теорию, но если хочешь стать программистом — нужно уметь решать настоящие задачи. Потренироваться их решать можно на тренировках от Яндекса.
Когда: 30 октября - 1 декабря
🔗 Регистрация
Тренировки по алгоритмам, ML и DevOps от Яндекса.
💡 Можно сколько угодно учить теорию, но если хочешь стать программистом — нужно уметь решать настоящие задачи. Потренироваться их решать можно на тренировках от Яндекса.
Когда: 30 октября - 1 декабря
🔗 Регистрация
#skills
📊 Справка по основным алгоритмам. Часть 1.
1. Binary Search (Бинарный поиск)
📝 Поиск элемента в упорядоченном списке. Сравниваем искомый элемент с серединой списка. Если искомый элемент меньше, поиск продолжается в левой половине, иначе - в правой
🕒 O(log n)
2. BFS (Поиск в ширину)
📝 Алгоритм обхода графа. Начинаем с корневого узла и расширяем поиск на все соседние узлы на текущем уровне. Используем очередь для отслеживания порядка обработки узлов.
🕒 O(V + E)
3. DFS (Поиск в глубину)
📝 Начинаем с корневого узла и идем вглубь по одной ветви до достижения конца, затем возвращаемся назад и исследуем следующую ветвь. Используем рекурсию или стек.
🕒 O(V + E)
4. Dijkstra's Algorithm (Алгоритм Дейкстры)
📝 Поиск кратчайшего пути в графе. Выбираем стартовую вершину и поддерживаем список кратчайших путей и их длину. Затем выбираем ближайшую непосещенную вершину и обновляем кратчайшие пути.
🕒 O(V^2)
📊 Справка по основным алгоритмам. Часть 1.
1. Binary Search (Бинарный поиск)
📝 Поиск элемента в упорядоченном списке. Сравниваем искомый элемент с серединой списка. Если искомый элемент меньше, поиск продолжается в левой половине, иначе - в правой
🕒 O(log n)
2. BFS (Поиск в ширину)
📝 Алгоритм обхода графа. Начинаем с корневого узла и расширяем поиск на все соседние узлы на текущем уровне. Используем очередь для отслеживания порядка обработки узлов.
🕒 O(V + E)
3. DFS (Поиск в глубину)
📝 Начинаем с корневого узла и идем вглубь по одной ветви до достижения конца, затем возвращаемся назад и исследуем следующую ветвь. Используем рекурсию или стек.
🕒 O(V + E)
4. Dijkstra's Algorithm (Алгоритм Дейкстры)
📝 Поиск кратчайшего пути в графе. Выбираем стартовую вершину и поддерживаем список кратчайших путей и их длину. Затем выбираем ближайшую непосещенную вершину и обновляем кратчайшие пути.
🕒 O(V^2)
#skills
📊 Справка по основным алгоритмам. Часть 2.
1. Алгоритм Кнута-Морриса-Пратта (KMP)
— Поиск подстроки в строке.
— Строим префикс-функцию, которая помогает определить, с какого символа начинать следующее сравнение при несовпадении символов.
— Это позволяет избежать повторных сравнений.
— O(m + n), m - длина строки, n - длина подстроки
2. Динамическое программирование
— Решение сложных задач путем разбиения их на более простые подзадачи.
— Результаты подзадач сохраняются и используются для решения более крупных задач.
3. Жадные алгоритмы
— Алгоритмы, которые выбирают лучший вариант на каждом шаге, надеясь, что это приведет к оптимальному решению.
— Жадные алгоритмы просты в реализации и быстро работают, но не всегда дают оптимальный результат.
📊 Справка по основным алгоритмам. Часть 2.
1. Алгоритм Кнута-Морриса-Пратта (KMP)
— Поиск подстроки в строке.
— Строим префикс-функцию, которая помогает определить, с какого символа начинать следующее сравнение при несовпадении символов.
— Это позволяет избежать повторных сравнений.
— O(m + n), m - длина строки, n - длина подстроки
2. Динамическое программирование
— Решение сложных задач путем разбиения их на более простые подзадачи.
— Результаты подзадач сохраняются и используются для решения более крупных задач.
3. Жадные алгоритмы
— Алгоритмы, которые выбирают лучший вариант на каждом шаге, надеясь, что это приведет к оптимальному решению.
— Жадные алгоритмы просты в реализации и быстро работают, но не всегда дают оптимальный результат.
#skills
Паттерны проектирования. Часть 1.
🤨 Что это?
Архитектурные практики в разработке ПО. Это не конкретные алгоритмы или код, а скорее общие принципы и рекомендации, которые можно применять в различных контекстах.
🤷♂️ Зачем они нужны?
Помогают организовать код таким образом, чтобы он был более понятным, расширяемым и облегчал совместную работу разработчиков.
Паттерны можно разделить на несколько категроий:
🔸 Порождающие
Описывают, как создавать объекты. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов.
🔸 Структурные
Описывают, как создавать объекты и классы более крупных структур. Они помогают определить, как компоненты могут быть объединены в более крупные структуры.
🔸 Поведенческие
Управляют алгоритмами, обменом ответственностью и коммуникацией между объектами.
В следующих постах расскажу об основных паттернах и их применении.
Паттерны проектирования. Часть 1.
🤨 Что это?
Архитектурные практики в разработке ПО. Это не конкретные алгоритмы или код, а скорее общие принципы и рекомендации, которые можно применять в различных контекстах.
🤷♂️ Зачем они нужны?
Помогают организовать код таким образом, чтобы он был более понятным, расширяемым и облегчал совместную работу разработчиков.
Паттерны можно разделить на несколько категроий:
🔸 Порождающие
Описывают, как создавать объекты. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов.
🔸 Структурные
Описывают, как создавать объекты и классы более крупных структур. Они помогают определить, как компоненты могут быть объединены в более крупные структуры.
🔸 Поведенческие
Управляют алгоритмами, обменом ответственностью и коммуникацией между объектами.
В следующих постах расскажу об основных паттернах и их применении.
#skills
Паттерны проектирования. Часть 2.
Сегодня рассмотрим 3 популярных паттерна.
🔸 Singleton:
Гарантирует, что у класса есть только один экземпляр.
Зачем?
Применяется, когда нужен общий ресурс для всей системы. Например для логирования, управления соединениями с БД или конфигурацией.
🔸 Factory method:
Определяет интерфейс для создания объекта, но позволяет наследникам выбирать класс создаваемого объекта.
Зачем?
Чтобы создавать объекты без указания их конкретных классов.
Пример:
Абстрактный класс "Фигура", с фабричным методом "создатьФигуру()", который будет переопределен в каждом подклассе (Круг, Квадрат, Треугольник) для создания конкретных фигур.
🔸 Observer:
Определяет зависимость один-ко-многим между объектами так, что при изменении состояния объекта, все зависящие от него объекты уведомляются и обновлятся.
Зачем?
Когда один объект должен информировать другие об изменении своего состояния, например, в GUI, системах уведомлений, логировании и мониторинге.
Паттерны проектирования. Часть 2.
Сегодня рассмотрим 3 популярных паттерна.
🔸 Singleton:
Гарантирует, что у класса есть только один экземпляр.
Зачем?
Применяется, когда нужен общий ресурс для всей системы. Например для логирования, управления соединениями с БД или конфигурацией.
🔸 Factory method:
Определяет интерфейс для создания объекта, но позволяет наследникам выбирать класс создаваемого объекта.
Зачем?
Чтобы создавать объекты без указания их конкретных классов.
Пример:
Абстрактный класс "Фигура", с фабричным методом "создатьФигуру()", который будет переопределен в каждом подклассе (Круг, Квадрат, Треугольник) для создания конкретных фигур.
🔸 Observer:
Определяет зависимость один-ко-многим между объектами так, что при изменении состояния объекта, все зависящие от него объекты уведомляются и обновлятся.
Зачем?
Когда один объект должен информировать другие об изменении своего состояния, например, в GUI, системах уведомлений, логировании и мониторинге.
#skills
Программа UniCredit IT Academy
👨🏻🎓 Академия для начинающих Data-специалистов
Направления:
🔸 Аналитик хранилища данных
🔸 Разработчик хранилища данных
✅ Оффер после окончания программы:
Через восемь месяцев лучших участников программы пригласят в штат команды Data Office.
💰 Зарплата с первого дня программы:
Во время обучения (3 месяца) составляет 50 000 рублей, по итогам Вашей успеваемости индексируется — то есть чем лучше успеваемость, тем выше Ваш оклад.
✔️ Условия:
Москва и Московская область. Готовность посвящать программе от 35 часов в неделю. Студент 4-го курса и старше.
⏳ Дедлайн подачи заявок: 25 марта;
🔗 Подать заявку
Программа UniCredit IT Academy
👨🏻🎓 Академия для начинающих Data-специалистов
Направления:
🔸 Аналитик хранилища данных
🔸 Разработчик хранилища данных
✅ Оффер после окончания программы:
Через восемь месяцев лучших участников программы пригласят в штат команды Data Office.
💰 Зарплата с первого дня программы:
Во время обучения (3 месяца) составляет 50 000 рублей, по итогам Вашей успеваемости индексируется — то есть чем лучше успеваемость, тем выше Ваш оклад.
✔️ Условия:
Москва и Московская область. Готовность посвящать программе от 35 часов в неделю. Студент 4-го курса и старше.
⏳ Дедлайн подачи заявок: 25 марта;
🔗 Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
Второй Сезон CodeRun!📱
Чтобы облегчить твой путь в IT Яндекс создал онлайн-тренажёр CodeRun
В нём можно: учиться, готовиться к техническим собесам, соревноваться и получать призы.
Направления:
Аналитика данных
Бэкенд
ML
Мобильная разработка
Фронтенд
📎 Зарегистрироваться
Второй Сезон CodeRun!
Чтобы облегчить твой путь в IT Яндекс создал онлайн-тренажёр CodeRun
В нём можно: учиться, готовиться к техническим собесам, соревноваться и получать призы.
Направления:
Аналитика данных
Бэкенд
ML
Мобильная разработка
Фронтенд
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
📦 Делимся огненной новостью: открылся новый набор на бесплатные IT-курсы от OZON - Route 256!
Вас ждут 5 потоков:
Middle — Go, C#, QA (Python)
Junior — Go, C#
А ещё🤩 :
— Два месяца онлайн-занятий в вечернее время
— Менторство от экспертов и тьюторов
— Опыт разработчиков Ozon
— Офферы/стажировки в команду для лучших выпускников.
✔️ Чтобы попасть на курс, нужно:
1. Подать заявку на сайте до 8 августа
2. Пройти отборочный контест до 11 августа.
Вас ждут 5 потоков:
Middle — Go, C#, QA (Python)
Junior — Go, C#
А ещё
— Два месяца онлайн-занятий в вечернее время
— Менторство от экспертов и тьюторов
— Опыт разработчиков Ozon
— Офферы/стажировки в команду для лучших выпускников.
1. Подать заявку на сайте до 8 августа
2. Пройти отборочный контест до 11 августа.
Please open Telegram to view this post
VIEW IN TELEGRAM