TGViewer
Channel Public Channel
YeaHub Tech

YeaHub Tech

@yeahub_tech

Новые технологии, советы и обучающие материалы

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

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

Для связи: @ruslan_kuyanets
Subscribers
412
Photos
343
Videos
15
Links
449

Showing posts older than #378 · Back to latest

Older Posts 18 shown
Post #377 64
#article #ellipsis
📚 Объект многоточие в Python

Статья подробно разбирает объект многоточие (Ellipsis) в языке Python — что это за специальная встроенная константа, как она представляется в коде (через литерал ...) и где её можно использовать на практике. Автор показывает примеры применения Ellipsis в аннотациях типов (например, для указания неизвестной длины кортежей или неопределённых сигнатур функций), а также рассматривает случаи, когда многоточие может выступать в роли заполнителя вместо pass. В тексте также упоминаются сторонние библиотеки, такие как FastAPI и Typer, где объект многоточие помогает делать параметры обязательными или задавать прочие формы поведения. Статья полезна разработчикам Python, которые хотят глубже понять нюансы языка и познакомиться с необычными, но практичными элементами синтаксиса.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #376 62
🧑‍💻 Подборка из 5 вопросов для Golang разработчиков

1. Какие микросервисы вы разрабатывали? Как они взаимодействовали между собой?
Примеры микросервисов:

- Сервис аутентификации (JWT, OAuth).
- Сервис платежей (интеграция с Stripe).
- Сервис уведомлений (Email/SMS).

Взаимодействие через REST API, gRPC или RabbitMQ.

2. Какие меры безопасности вы применяли при работе с Django и Postgres?
Основные меры:

- Django: CSRF-токены, HTTPS, django-axes.
- Postgres: Шифрование, ограничение прав пользователей.

3. Как бы вы реализовали хранение больших бинарных данных (например, BinaryField) в Postgres?
Для небольших файлов (до 1 ГБ) можно использовать bytea (бинарный тип). Для больших файлов лучше хранить ссылки на файлы в файловой системе или использовать Large Objects (LOB) в Postgres.

4. Напишите запрос для выборки всех кредитов физическим лицам с просроченной задолженностью.
SELECT c.* 
FROM credits c
JOIN clients cl ON c.client_id = cl.id
WHERE cl.type = 'individual'
AND c.due_date < CURRENT_DATE
AND c.paid_amount < c.total_amount;


5. Как Postgres хранит данные внутри себя?
PostgreSQL хранит данные в таблицах, которые разбиты на страницы (обычно 8 КБ). Каждая страница содержит записи (tuples), а индексы ускоряют поиск.

#microservices #api #rabbitmq #security #django #postgresql #binary #storage #sql #query #database
  • 🔥 1
Post #373 44

Forwarded from YeaHub

👨🏻‍💻 Сервис лайвкодинга в YeaHub

Фактически — релиз уже состоялся.
Но честно: мы не успели загрузить ту огромную базу задач, которую планировали, и ещё не всё успели полноценно протестировать.

Поэтому до 23 февраля работаем в режиме «вместе доделываем продукт»:
— мы активно добавляем задачи и чиним баги, все
— пока тестируем, все задачи открыты, после этого примерно 50% закроем для членов
— вы решаете, находите проблемы, пишете в поддержку и даёте фидбек
— ну и оформляете подписку 😜

Что уже есть:
• база реальных задач с собеседований
• JavaScript / Python / Java / Go
• удобный редактор и проверка решений

Что скоро:
• связь задач с компаниями и коллекциями собеседований (не успели в этот релиз)
• другие языки
• контесты
• обучающие модули и курс по алгоритмам
• AI-разбор решений построчно
• челленджи и соревнования

👉 Задачи: https://yeahub.ru/dashboard/tasks

👉 Членство: https://yeahub.ru/dashboard/settings#select-tariff

Новогодние цены действуют только до полноценного запуска. После — x2.
Сейчас лучший момент подключиться и поддержать проект.


Спасибо, что помогаете нам запустить это правильно✊🏻🚀💪
  • ❤ 2
Post #372 61
#Собес #transaction #isolation #serializable
🤔 В чём суть уровня изоляции SERIALIZABLE?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #371 64
#article #optimization
📚 Математика на складе. Как оптимизировать хаос

В этой статье команда Ozon Tech показывает, как прикладная математика помогает оптимизировать реальные складские процессы: от размещения товаров и маршрутов сотрудников до моделирования и экспериментов. Авторы описывают использование оптимизационных моделей для слоттинга, конфигурации шкафов, дискретно-событийного моделирования для оценки ресурсов, статистической проверки гипотез и методов теории графов для уменьшения пробегов и повышения эффективности операций, а также отмечают, что классическое машинное обучение применяется выборочно там, где это действительно улучшает предсказания времени выполнения заданий и анализ факторов производительности

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #370 66
#trainer #codewars
📚 CodeWars

LeetCode можно не обсуждать — про него всё понятно. А вот младшего брата CodeWars — можно. Это сайт с задачами, ĸоторые делают другие пользователи.

Почему он младший брат? Потому что задачи в нём больше на логиĸу и отработĸу базовых логичесĸих ĸонструĸций. Алгоритмичесĸие задачи тоже можно встретить, но более лёгĸий порог входа — отличительная сторона сайта. За прохождение задач (они называют их Kata) вы получаете Honor-очĸи, тем самым повышаете репутацию своего профиля.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #369 80
🧑‍💻 5 вопросов с собесов Frontend разработчиков

1. Как обеспечить изоляцию зависимостей?
Изоляция достигается через отдельные бандлы, scoped CSS, namespace для глобальных объектов и использование Shadow DOM при необходимости.

2. Как управлять версионностью зависимостей (например, React) между микрофронтами?
Обычно используют единый реестр версий или загрузку общих зависимостей через CDN/module federation. Важно избегать дублирования больших библиотек в каждом микрофронте.

3. Какие проблемы возникают в микрофронтенд-архитектуре?
Основные проблемы — сложность синхронизации зависимостей, управление версиями, изоляция стилей, обмен состоянием и интеграция разных технологий.

4. Ключевые особенности React 18 vs React 17 (автобатчинг, Fiber).
React 18 добавил автоматический батчинг, новый рендеринг через Concurrent Mode и улучшения Fiber. Это делает обновления более плавными и эффективными.

5. Что происходит при перерендере компонента?
При изменении состояния или пропсов React сравнивает новый виртуальный DOM с предыдущим и вносит минимальные изменения в реальный DOM.

#microfrontend #isolation #versioning #dependency #architecture #react_18 #batching #concurrent #react #render #reconciliation
Post #368 81
#Собес #reference #counting
🤔 Можно ли отключить механизм подсчета ссылок в Python?

💬 Кратко:

Нет, механизм подсчета ссылок нельзя отключить в стандартном интерпретаторе Python (CPython). Это фундаментальная часть системы управления памятью, встроенная в ядро интерпретатора. Подсчет ссылок работает автоматически для всех объектов Python и обеспечивает немедленное освобождение памяти. Даже если отключить дополнительный сборщик мусора (поколений), подсчет ссылок продолжит работать. Альтернативные реализации Python, такие как Jython или IronPython, могут использовать другие механизмы управления памятью.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #367 83
#repository #собес
📚 Interactive Coding Challenges от Donne Martin

Более 120 интерактивных задач по кодированию Python (алгоритмы и структуры данных) — поставляется с картами программы для запоминания Anki.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #366 93
#course #по
📚 Бесплатный курс «Постановка задачи на разработку ПО»

Системные и бизнес-аналитики с помощью курса научатся выявлять требования и управлять ими.

Может показаться, что в начале много воды, но со 2-го раздела видео максимально полезные.

Перейти к материалу

👉 База вопросов 👉 Новости
Post #365 74
🧑‍💻 Вопросы с собесов для Node.js Разработчика

1. Какие стратегии кэширования данных можно использовать для улучшения производительности?
Кэширование данных позволяет значительно улучшить производительность веб-приложений. Основные стратегии кэширования включают кэширование на стороне клиента, где данные хранятся в браузере пользователя (например, с использованием localStorage или IndexedDB), и кэширование на стороне сервера, где данные сохраняются на сервере для повторного использования.

Также стоит учитывать кэширование на уровне сети, например, использование CDN (Content Delivery Network), который позволяет хранить и быстро передавать статические ресурсы. Правильное использование стратегий кэширования помогает сократить время загрузки и улучшить пользовательский опыт.

2. Какие распространенные уязвимости существуют в JavaScript-приложениях и как их предотвращать?
Распространенные уязвимости в JavaScript-приложениях включают XSS (межсайтовый скриптинг), CSRF (межсайтовая подделка запросов) и инъекции SQL. Для предотвращения XSS важно очищать и экранировать пользовательский ввод, а для защиты от CSRF — использовать токены и заголовки. Кроме того, следует применять параметры для запросов к базе данных, чтобы избежать SQL-инъекций. Понимание и применение этих мер безопасности помогает защитить приложения от атак.

3. Как реализовать Content Security Policy (CSP) для защиты веб-приложений на JavaScript?
Content Security Policy (CSP) — это механизм безопасности, который позволяет разработчикам контролировать, какие ресурсы могут быть загружены и выполнены на веб-странице. CSP реализуется с помощью HTTP-заголовка Content-Security-Policy, где можно указать разрешенные источники скриптов, стилей и других ресурсов. Это помогает предотвратить загрузку вредоносного контента и снижает риск атак типа XSS.

Чтобы внедрить CSP, достаточно добавить соответствующий заголовок на сервер или в мета-тег на странице.

4. Объясните защиту от Cross-Site Scripting (XSS) и Cross-Site Request Forgery (CSRF) в контексте JavaScript.
Cross-Site Scripting (XSS) — это атака, при которой злоумышленник вставляет вредоносный скрипт на веб-страницу, что позволяет ему получить доступ к данным пользователя.

Защита от XSS включает экранирование пользовательского ввода и применение Content Security Policy (CSP).

Cross-Site Request Forgery (CSRF) — это атака, при которой злоумышленник заставляет пользователя выполнить нежелательное действие на сайте, где он аутентифицирован.

Защита от CSRF включает использование уникальных токенов для подтверждения запросов и проверки заголовков.

5. Как безопасно обрабатывать пользовательский ввод и работать с внешними API?
Безопасная обработка пользовательского ввода включает в себя валидацию, экранирование и очищение данных перед их использованием в приложении. Важно проверять входные данные на стороне клиента и сервера, чтобы предотвратить возможные атаки, такие как XSS и SQL-инъекции.

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

#indexeddb #localstorage #cdn #xss #csrf #инъекции_sql #csp #security #basic #api
Post #364 79
#Собес #container #virtual_machine #isolation
🤔 Что такое отличие между контейнером и виртуальной машиной?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
  • 👍 1
Post #363 74
#article #jvm #оптимизация
📚 Насколько сложно сделать свою JVM

Статья рассказывает об опыте автора по разработке собственной виртуальной машины Java (JVM) на языке Rust, объясняя базовые структуры class-файлов, процесс выполнения байт-кода, а также эксперименты с оптимизациями вроде хвостовой рекурсии и мемоизации, показывая сложности и особенности создания собственной JVM и сравнивая её с полноценной реализацией HotSpot.

Перейти к материалу

👉 База вопросов 👉 Новости
Post #362 77
#article #optimization
📚 Математика на складе. Как оптимизировать хаос

В этой статье команда Ozon Tech показывает, как прикладная математика помогает оптимизировать реальные складские процессы: от размещения товаров и маршрутов сотрудников до моделирования и экспериментов. Авторы описывают использование оптимизационных моделей для слоттинга, конфигурации шкафов, дискретно-событийного моделирования для оценки ресурсов, статистической проверки гипотез и методов теории графов для уменьшения пробегов и повышения эффективности операций, а также отмечают, что классическое машинное обучение применяется выборочно там, где это действительно улучшает предсказания времени выполнения заданий и анализ факторов производительности

Перейти к материалу

👉 База вопросов 👉 Новости
Post #361 71
🧑‍💻 5 вопросов с собесов Frontend разработчиков

1. Как использовать Fetch API и Streams для обработки больших объемов данных?
Fetch API позволяет загружать данные с сервера, а Streams — обрабатывать их по частям, что особенно полезно для работы с большими объемами данных. Вместо загрузки всего файла сразу, можно использовать метод response.body.getReader(), чтобы считывать данные частями, что позволяет уменьшить использование памяти и ускорить обработку. Это позволяет начать обработку данных, не дожидаясь полной загрузки, что особенно полезно для больших файлов, таких как видео или изображения.

2. Как использовать Service Workers для реализации офлайн-приложений и кэширования ресурсов?
Service Workers — это скрипты, работающие в фоновом режиме и позволяющие веб-приложениям работать в офлайн-режиме, а также кэшировать ресурсы для ускорения загрузки. Для их использования необходимо зарегистрировать Service Worker в основном скрипте приложения, а затем использовать API кэширования для сохранения ресурсов. Это позволяет пользователям продолжать использовать приложение, даже когда интернет-соединение отсутствует.

3. Как реализовать собственную очередь задач и управлять приоритетами выполнения?
Собственная очередь задач позволяет управлять порядком выполнения асинхронных операций. Чтобы реализовать такую очередь, можно использовать массив для хранения задач и сортировать их по приоритету. При добавлении задачи в очередь указываем ее приоритет, а затем запускаем выполнение задач в порядке их приоритета, используя Promise.resolve() для асинхронного выполнения. Это позволяет эффективно управлять задачами и обеспечивать их выполнение в нужном порядке.

4. Объясните влияние блокирующих операций на Event Loop и как их избежать.
Блокирующие операции в JavaScript — это те, которые останавливают выполнение кода и не позволяют Event Loop обрабатывать другие задачи. Это может привести к зависанию интерфейса пользователя и снижению отзывчивости приложения.

Чтобы избежать блокирующих операций, используйте асинхронные функции, такие как setTimeout, Promise и API, позволяющие выполнять задачи в фоновом режиме, не блокируя основной поток выполнения.

5. Как использовать Subresource Integrity (SRI) для защиты загружаемых ресурсов?
Subresource Integrity (SRI) — это механизм безопасности, который позволяет браузерам проверять, что загружаемые внешние ресурсы (например, скрипты и стили) не были изменены. Для использования SRI необходимо добавить атрибут integrity к тегам <script> или <link>, указав хеш-сумму загружаемого файла. Если файл изменен, браузер не загрузит его, что предотвращает выполнение потенциально вредоносного кода.

#streams #fetch #browser #workers #кэш #promise #очередь #event_loop #sri #security #basic
Post #360 45

Forwarded from YeaHub

🚀 В январе перед нами стояли три ключевые задачи.

1. Миграция на Next.js
Мы перевели публичную часть проекта на Next.js, а дашборд оставили на React.js. Основные работы почти завершены — сейчас занимаемся тестированием и финальными правками.
В процессе столкнулись с рядом инфраструктурных вызовов: текущих ресурсов сервера оказалось недостаточно под новые проекты, поэтому пришлось масштабироваться. Впереди также большая работа по настройке SEO.

2. Сервис для лайвкодинга
Мы разрабатываем сервис лайвкодинга — аналог LeetCode с задачами российских компаний с реальных собеседований. У проекта большие планы:

— проведение контестов,
— обучающие модули,
— курс по алгоритмам,
— ИИ-помощник с построчным разбором решений,
— челленджи и соревнования между пользователями (пока держим в секрете).

Базовая версия сервиса уже готова и проходит тестирование. Совсем скоро — релиз.

3. Сервис уведомлений
Мы начали разработку сервиса уведомлений, который объединит всю нашу экосистему: платформу, Telegram-каналы и бота.

В Telegram будут публиковаться:

— новые собеседования,
— вопросы и задачи,
— статьи и подборки,
— анонсы,
— вакансии,
— статистика с HH.

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

Дополнительно
В работе также находится сервис тестов с вариантами ответов и системой разделения вопросов по темам — для будущего роадмапа. Пока эти направления развиваются в «лайт»-режиме.

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

P.S. Новогодние скидки продолжают действовать до запуска сервиса лайвкодинга. После релиза цены увеличатся в 2 раза — сейчас самое выгодное время подключиться и поддержать нас.

👉 Членство YeaHub

Впереди много интересного. Спасибо, что вы с нами.✊🏻🚀💪
Post #359 74
#Собес #cache #invalidation
🤔 Какие стратегии инвалидации кэша использовали?

💬 Кратко:

Основные стратегии инвалидации кэша — это инвалидация по TTL (автоматическое удаление по истечении времени) и явная инвалидация. Явная инвалидация происходит при изменении данных в основном источнике (например, в базе данных), чтобы кэш всегда содержал актуальную информацию. Часто используется комбинация TTL для защиты от "протухания" данных и явной инвалидации для мгновенного обновления.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
  • 🔥 1
Post #358 84
#repository #corrodeshelltutorial #buildyourcliinrust #оболочка
📚 corrode/write-yourself-a-shell

Курс по созданию оболочки командной строки на Rust. Помогает освоить промежуточные концепции языка, такие как работа с потоками, обработка ввода-вывода и идиоматичный стиль программирования. Длительность курса — около 6 часов

Перейти к материалу

👉 База вопросов 👉 Новости
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →