YeaHub Tech
475 subscribers
169 photos
15 videos
2 files
201 links
Новые технологии, советы и обучающие материалы

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Phyton

💻 5 навыков работы в Python на прокачку

1. Обработка исключений в Python

- Обработка исключений важна для написания надежного кода

- Используются блоки try-except для перехвата и обработки исключений

- Блок finally полезен для выполнения кода независимо от исключений


2. Работа с виртуальными средами

- Виртуальные среды необходимы для управления зависимостями и изолирования проектов

- Создаются с помощью модуля venv и активируются с помощью source или myenv\Scripts\activate

- Деактивируются с помощью команды deactivate


3. Применение контекстных менеджеров

- Контекстные менеджеры управляют ресурсами, такими как файлы и подключения баз данных

- Реализуются оператором with и полезны для обработки ресурсов

- Пользовательские контекстные менеджеры создаются с помощью методов __enter__() и __exit__()


4. Эффективная обработка файлов

- Считывание и запись файлов с помощью функций open() и write()

- Обработка путей к файлам с помощью модуля os.path и pathlib

- Автоматическое закрытие файлов с помощью оператора with


5. Изучение модуля collections

- Специальные структуры данных: defaultdict, Counter, deque, namedtuple

- Используются для эффективного подсчета и объединения элементов


Бонус: Оптимизация производительности с itertools

- Функции itertools.chain, itertools.product, itertools.islice для работы с итераторами

- Отложенные вычисления повышают производительность при работе с большими наборами данных


Написание питонического кода

- Следование рекомендациям PEP 8 для чистого и согласованного кода

- Использование списковых и словарных включений, контекстных менеджеров и оператора with

- Питонические идиомы и шаблоны, такие как EAFP и enumerate


🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой код, такая и награда
😁2👍1
#Tech

📌 Эффективные шаблоны архитектуры программного обеспечения

Создание эффективной архитектуры программного обеспечения требует глубоких знаний и опыта. Важно понимать, что универсальных решений не существует — выбор архитектуры всегда должен основываться на конкретных требованиях проекта и возможностях команды разработчиков.


Основные принципы

1️⃣Архитектура ПО требует опыта и технических знаний

2️⃣Не существует идеальных решений для всех сценариев

3️⃣Выбор архитектуры должен учитывать требования приложения и команды


Ключевые архитектурные подходы:

📎 Организация бизнес-логики

Bounded Contexts помогают структурировать код через логические границы, существенно снижая сложность системы. Этот подход особенно полезен для борьбы с тесной связанностью компонентов.

Domain-Centric Architecture фокусируется на моделировании бизнес-домена, стремясь отразить реальные рабочие процессы компании в структуре кода.

Vertical Slice Architecture разбивает приложение на независимые вертикальные сегменты, повышая автономность различных частей системы.


📎 Распределенные системы

Microservice Architecture разделяет приложение на независимые сервисы, каждый с собственным API и базой данных. Этот подход особенно эффективен для систем с разными требованиями к производительности и масштабированию.

Microfrontend применяет аналогичный принцип к фронтенду, позволяя разным командам разрабатывать и развертывать отдельные части интерфейса независимо друг от друга.

Service Mesh расширяет концепцию Sidecar, обеспечивая комплексное управление трафиком между сервисами, включая безопасность и мониторинг.


📎 Интеграционные шаблоны

Publisher-Subscriber обеспечивает асинхронную связь через брокер сообщений, упрощая интеграцию данных между разными частями системы.

Application Gateway маршрутизирует сетевой трафик для нескольких приложений на уровне 7, предоставляя дополнительные функции безопасности.


📎 Специализированные подходы

CQRS (Command Query Responsibility Segregation) разделяет операции чтения и записи, позволяя оптимизировать каждую сторону с помощью подходящих технологий.

Polyglot Architecture объединяет различные шаблоны и технологии для разных контекстов, максимизируя эффективность каждой части системы.


🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🃏 NoSQL с нуля: просто о главном

NoSQL-базы нужны там, где традиционный SQL уже не справляется — например, в масштабах Telegram или Google. Они работают быстро даже при миллионах запросов и легко масштабируются.

В видео — простое объяснение, как устроены NoSQL, в чём их отличие от SQL и почему они становятся выбором будущего.


Видео

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#HashTable

Как работают хеш-таблицы и зачем они нужны?

Допустим, нужно быстро проверить, есть ли пользователь в базе или подсчитать число посещений страницы. Список справится с этим за O(n), а хеш-таблица — за O(1) в среднем. Именно поэтому её используют повсеместно — от Python до C++ и Java.

Хеш-таблица устроена просто: в основе лежит массив, где данные хранятся в формате «ключ → значение».

Ключ преобразуется в индекс с помощью хеш-функции — специального алгоритма, создающего числовой хеш из строки, числа или другого объекта. Этот индекс указывает, куда записывать и где искать значение.


Основные операции:
- Insert — вставка элемента по ключу;
- Search — быстрый доступ к значению;
- Delete — удаление по ключу.

Все они работают за O(1) в среднем случае.


❤️‍🩹 Проблема — коллизии, когда два разных ключа дают одинаковый хеш. Чтобы избежать потерь данных, применяют стратегии вроде цепочек или открытой адресации. Ключевую роль тут играет качество хеш-функции: она должна равномерно распределять значения и быть быстрой.


Хеш-таблицы активно используют:

✳️ для кеширования;

✳️ для подсчёта частот;

✳️ для проверки уникальности;

✳️ для ассоциативного хранения данных.


➡️ В Python это dict, в Java — HashMap, в C++ — unordered_map.


Хеш-таблицы — незаменимый инструмент, если нужно быстрое и эффективное управление данными. Главное — правильно выбрать хеш-функцию и понимать, как обрабатывать коллизии.


🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ComputerScience

📖 Минимум книг для программиста: от новичка до профессионала


🔠База Computer Science

1. Теоретический минимум по Computer Science (Владстон Феррейра Фило)
Доступное введение в основные концепции компьютерных наук: алгоритмы, структуры данных, двоичные числа и принципы работы компьютера.

2. CS50 от Гарварда (видео-курс)
Один из лучших ресурсов для начинающих. Курс регулярно обновляется, рекомендуется проходить его в том же году, когда вы начали.


🔠Программирование

1. Объектно-ориентированное мышление (Мэтт Вайсфельд)
Объясняет не только синтаксис, но и философию ООП, формируя правильное мышление программиста.

2. Паттерны проектирования (Эрик Фримен, Элизабет Робсон и др.)
"Head First: Паттерны проектирования" делает сложные шаблоны доступными благодаря визуальным метафорам и юмору.

3. Чистый код (Роберт Мартин)
Учит писать понятный, поддерживаемый и масштабируемый код, следуя проверенным принципам.

4. Экстремальное программирование. Разработка через тестирование (Кент Бек)
Показывает, как TDD меняет процесс создания программного обеспечения к лучшему.


🔠Алгоритмы и структуры данных

1. Грокаем алгоритмы (Адитья Бхаргава)
Делает сложные алгоритмические концепции доступными благодаря иллюстрациям и практическим примерам.

2. Карьера программиста (Гейл Лакман Макдауэлл)
Помогает подготовиться к техническим собеседованиям и систематизирует знания по структурам данных и алгоритмам.

3. System Design (Алекс Сюй)
Основы проектирования масштабируемых систем для растущего программиста.

4. Проектирование высоконагруженных систем (Мартин Клеппман)
"Designing Data-Intensive Applications" — незаменимая книга для работы с большими данными и высоконагруженными системами.


🔠Менеджмент

1. Делай как в Google (Титус Винтерс, Том Маншрек, Хайрам Райт)
Инженерные практики Google: управление кодовой базой, ревью кода и организация работы над проектами.

2. Agile. Оценка и планирование проектов (Майк Кон)
Как правильно оценивать задачи и планировать итерации в гибкой методологии разработки.


Этот список представляет хороший минимум для программистов на разных этапах. А какие книги входят в ваш личный минимум?

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#GitHub

GitHub Gitmos — настоящее цифровое произведение искусства!

Это завораживающая визуализация, которая превращает активность пользователей GitHub в потрясающее зрелище, где каждый момент уникален и неповторим — живая информационная экосистема, пульсирующая в реальном времени.

Созданный дизайнером GMUNK и его командой в 2021 году, этот проект демонстрируется на внушительном экране в штаб-квартире GitHub. Визуализация представляет собой гармоничный синтез графического дизайна и трёхмерных элементов, раскрывающих красоту коллективного творчества разработчиков.


📎 Ссылка

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
📝 Сложные проекты для программистов: расширяем горизонты

Недавно на Хабре появился интересный перевод статьи Джеймса Г. о сложных проектах для программистов. Автор делится собственным опытом самостоятельного обучения программированию через решение амбициозных задач, вдохновленный серией статей Остина Хенли "Challenging projects every programmer should try".


Почему стоит браться за сложные проекты?

Самостоятельное изучение программирования через решение реальных задач — отличный подход, но он оставляет пробелы в знаниях. Однако, как отмечает автор, постоянно бросая себе вызов, вы постепенно заполните эти пробелы. Интерес — ключевой мотиватор, поэтому стоит выбирать проекты, которые действительно вас увлекают.


Какие проекты стоит попробовать:

1️⃣ Создать поисковый краулер — бот, который исследует веб-страницы и сохраняет их содержимое. Вы узнаете о robots.txt, ограничениях частоты опросов, экспоненциальных выдержках и многом другом.

2️⃣ Разработать систему автоматического завершения — научитесь эффективно предлагать слова на основе введенных последовательностей букв и определять, какие варианты наиболее релевантны.

3️⃣ Написать программу для сжатия файлов — погрузитесь в теорию информации, методы сжатия с использованием словаря и код Хаффмана.

4️⃣ Реализовать BitCask — алгоритм хранения ключей и значений, который работает с использованием файловой системы.

5️⃣ Написать собственный язык программирования — кажется невозможным, но на самом деле вполне реально! Начните с интерпретируемого языка, создайте грамматику, лексический анализатор и систему символьных выражений.


🔥 Почему это важно
Эти проекты не просто упражнения — они помогают поддерживать детское восхищение программированием. Они дают уверенность в собственных силах и понимание, что вы способны на большее, чем просто писать небольшие скрипты.


📎 Ссылка

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Git

🔍 Важные настройки Git для продуктивной работы

Правильная конфигурация Git может значительно упростить вашу работу и предотвратить типичные ошибки.

В этой статье ключевые настройки git config, которые стали стандартом среди опытных разработчиков.

Вы узнаете не только какие параметры стоит изменить, но и почему они важны для повседневной работы с кодом. Эти настройки помогут сделать ваш опыт с Git более эффективным независимо от вашего уровня опыта.



📎 Ссылка

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#QA

🫠 Как начать практиковаться в тестировании без опыта?

Только окончили курсы тестирования, но нет реальных кейсов? Не переживайте – с этим сталкивается каждый начинающий QA-специалист. Вот как получить практический опыт:


Участвуйте в опенсорс проектах

Внесите вклад в WordPress, чтобы приобрести реальный опыт:
- Установите WordPress локально через LocalWP, Docker или XAMPP
- Изучите make.wordpress.org и Test Handbook
- Найдите задачи с меткой good-first-bug в баг-трекере Trac
- Присоединитесь к сообществу в чате #core-test в Slack


Другие пути практики

- Тестируйте бесплатные приложения и сайты, составляйте баг-репорты
- Участвуйте в краудсорсинговых платформах тестирования (uTest, Test.io)
- Присоединяйтесь к хакатонам и тестовым марафонам
- Создайте собственный проект для демонстрации навыков


Документируйте всё

Ведите портфолио с чек-листами, тест-кейсами и баг-репортами. Даже самые простые проекты с хорошей документацией покажут вашу методичность и внимание к деталям.

Помните: практика на реальных проектах – ключ к успешной карьере в тестировании!


🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Optimization

🔋 КОД, КОТОРЫЙ НЕ ЕСТ БАТАРЕЙКУ

Сегодня поговорим о том, о чём часто забывают, пока ноут не сядет посреди важного созвона — энергоэффективности кода.

Все знают про оптимизацию скорости, а сколько ватт жрёт ваш код? Один бесконечный цикл на сотне устройств — и привет, счёт за электричество.


7 приёмов для экономии энергии в коде:

1️⃣ Выбирайте правильные алгоритмы

Быстрая сортировка vs пузырьковая — это не только скорость, но и меньше операций → меньше энергии. На больших данных разница колоссальная!


2️⃣ Добавляйте сон в циклы

```python
# Не надо так 😐
while True:
check_for_updates()

# Надо так 😌
while True:
check_for_updates()
time.sleep(10) # CPU говорит спасибо
```


3️⃣ Ленивая инициализация — ваш друг

Не грузите тяжёлые объекты, пока они реально не понадобятся. Особенно важно для мобилок!


4️⃣ Умный кэш

Кэш экономит вычисления, но может пожирать память. Добавляйте TTL и механизмы очистки.


5️⃣ Асинхронность рулит


async def periodic_task():
while True:
await do_something()
await asyncio.sleep(10)

Когда задача отложена, CPU может перейти в энергосберегающий режим.


6️⃣ Компиляторы и флаги оптимизации

GCC с флагами -O3 -march=native творит чудеса для C/C++ кода.


7️⃣ UI тоже важен

Тёмные темы на OLED реально экономят заряд. Лишние анимации гоняют GPU и съедают батарейку.


Энергосберегающий код — это не отдельная дисциплина, а стиль мышления. Постоянно спрашивайте себя: "А нужно ли запускать всё это прямо сейчас и именно так?"


А какие трюки для экономии энергии используете вы? Делитесь в комментах! ⬇️


🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Forwarded from YeaHub
🥳 В YeaHub теперь 2040 пользователей!

На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:

- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.

А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.

И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪

👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#WSL

✔️ Windows + Linux: Идеальный тандем для разработчика

WSL (Windows Subsystem for Linux) — это настоящий прорыв, который позволяет получить лучшее из обоих миров.

Microsoft сделала почти невозможное: дала нам полноценный Linux внутри Windows без головной боли с виртуальными машинами и двойными загрузками!


Автор подготовил отличное практическое руководство по настройке WSL для ежедневной разработки. В статье вы найдете:

🔹 Почему WSL может быть лучшим выбором по сравнению с виртуальными машинами и Docker

🔹 Пошаговую инструкцию по настройке Ubuntu 24.04 в WSL

🔹 Как настроить Node.js через NVM для frontend-разработки

🔹 Конфигурацию Docker для backend-разработки на PHP

🔹 Реальный опыт использования WSL в ежедневной работе



Неважно, опытный вы разработчик или только начинаете свой путь — эта статья поможет вам создать комфортное рабочее окружение, сохранив все преимущества и Windows, и Linux.


📎 Статья

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Tech

Вы знали, что можно копировать код прямо из видео?

Работает на YouTube, Udemy, Coursera и других сайтах

Поддерживает код с сохранением отступов

Распознает текст на 50+ языках

Простое управление: пауза → клик → выделение → копирование



📎 Ссылка

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#browser

📎 FellouAI — браузер, который думает и делает за вас

Познакомьтесь с FellouAI — это не просто браузер с ИИ, а настоящий цифровой помощник, экономящий ваше время:

• Самостоятельно анализирует веб-страницы и выполняет сложные задачи
• Обрабатывает сотни источников, создавая готовые аналитические выводы
• Выполняет многоэтапные действия по одному запросу благодаря Deep Action
• Превосходит аналоги в аналитических возможностях, опираясь на 2500+ исследований

Идеально для студентов, исследователей и всех, кто ценит своё время.


📎 Ссылка

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM