Официальный телеграм-канал сайта techrocks.ru Канал по Тестированию: @techrocksqa Канал по веб-разработке: @techrocks_web По вопросам рекламы: @anothertechrock РКН: https://kurl.ru/JUrcd
Библиотека Requests Python
#python
Изучение работы с запросами в Python является частью пути любого начинающего разработчика. В этом туториале мы расскажем о базовых принципах и вариантах использования библиотеки Requests. Кроме того, мы приведем несколько примеров использования Requests в Python.
Читать статью
Как работает функция return() в Python?
#python
Для получения значения из функции в языках программирования обычно используется оператор return(). Точно так же и в Python оператор return() используется для выхода из функции и возврата значения из функции. В этом уроке мы рассмотрим различные способы использования return() в Python.
Читать статью
Полное краткое руководство по grammY — JS-библиотеке для создания Telegram-ботов
#javascript
В этой статье хочу рассказать про основные механизмы библиотеки grammY и разобрать стартовый набор файлов бота, обработку ошибок, виды обработчиков событий, контекст обновлений, работу с разными видами клавиатур и многое другое. И все это — на реальных примерах.
Читать статью
Мемоизация в React: я почитал документацию вместо вас
#javascript
Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения. В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo.
Читать статью
Моки, стабы, пустышки, шпионы и фейки. Полный гайд по тестовым дублерам
При написании тестов часто возникают ситуации, когда необходимо смоделировать или заменить определенные зависимости, чтобы изолировать поведение тестируемого кода. Для этого и предназначены тестовые дублеры (Test Doubles).
Читать статью
Введение в современную квантизацию от ML-разработчика Яндекса
В этой статье:
- Что такое квантизация и как она работает
- Что квантизовать, чтобы улучшить эффективность модели
- В какой момент лучше квантизовать модель
- Типы данных в квантизованных моделях
- Что такое выбросы, как они портят жизнь ML-инженерам и как с ними бороться.
Читать статью
Яндекс делает закрытую вечеринку от команды информационной безопасности Yet Another Security Night
27 марта в 18:00
Только офлайн в Москве и в Питере
Мы приглашаем к себе в гости в офис на Льва Толстого в Москве и атмосферную локацию на набережной в Питере, где:
▫️Эксперты Яндекса расскажут про:
- Яндекс in-house: один день из жизни инженера СИБ, Спартак Свасян
- Уязвимости бизнес-логики, которые могут стоить вам миллионы, Азиз Алимов
▫️Бизнес игра - погружение во внутренние процессы команды в комфортном режиме
▫️Много нетворкинга и знакомств с нашими экспертами
▫️Афтерпати с DJ-сетом, крафтовыми напитками и настольным футболом
Получите приглашение - регистрация открыта!
Реклама. ООО "Яндекс", ИНН 7736207543
Руководитель команды разработки YP и YT ORM
Гибрид
Москва, Санкт-Петербург, Екатеринбург, Новосибирск, Нижний Новгород, Сочи, Ереван, Астана, Алматы, Белград. Гибридный формат работы.
Senior, Team Lead
Платформа YT — это ключевой компонент инфраструктуры хранения и обработки данных в Яндексе. Мы решаем сложные задачи и стремимся к тому, чтобы решения получались надежными, удобными и достаточно простыми в использовании. Ищем сильного разработчика в команду YT ORM, которому интересны подобные вызовы и который хотел бы строить продукты для тысяч разработчиков из всего Яндекса.
ORM – это библиотека, описывающая модель данных поверх динамических таблиц YT и предоставляющая удобную абстракцию между пользовательским кодом и слоем хранения данных. . Библиотека позволяет описывать объекты и связи между ними с помощью protobuf-сообщений, а также с помощью protobuf-аннотаций позволяет настраивать вторичные индексы, хранение истории по наборам полей и другую функциональность. Посредством кодогенерации из данного описания объектов строится набор классов и функций на С++, с которыми уже взаимодействует пользовательское приложение.
С помощью ORM внутри Яндекса построено два крупных сервиса: YP – ключевая часть RTC, отвечающая за хранение метаинформации обо всех хостах Яндекса, сервисах и их подах, Grut – единая база рекламы, отвечающая за её показ и модерацию.
Объектная модель как YP, так и Grut насчитывает десятки видов взаимосвязанных объектов. Также оба сервиса работают в режиме real-time и хранят десятки терабайт информации в динамических таблицах YT.
Какие задачи вас ждут:
— развивать ORM и различные инструменты вокруг него;
— искать новых пользователей внутри компании и помогать им заезжать на ORM.
Мы ждём, что вы:
— имеете опыт промышленной разработки на C++ и хотите развиваться в этом направлении;
— уверенно знаете алгоритмы и структуры данных.
Будет плюсом, если вы:
— разрабатывали сетевые, многопоточные и асинхронные приложения;
— умеете работать в команде и готовы выстраивать рабочие взаимоотношения с коллегами из других подразделений.
Откликнуться
Контакт в тг: @arina_grobyleva
Как понять, какая IT-профессия вам подойдёт?
Начните с пробного доступа к IT-курсам OTUS за 500 рублей!
✅ Вы получите доступ видеозаписи трех курсов: «РНР для начинающих программистов», «JavaScript для начинающих программистов», «С++ для начинающих программистов»
Вы познакомитесь с платформой, оцените качество видеоматериалов и получите азы профессии, познакомитесь с языками программирования.
👉 Получить пробный доступ
https://otus.pw/vxHO/?erid=LjN8KNYba
❓Чем перемещение отличается от копирования в C++?
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
- синтаксис и подводные камни move-семантики;
- отличие копирования от перемещения;
- когда компилятор может сам, а когда ему нужно подсказать;
- как отличить rvalue от lvalue;
- как избегать лишнего копирования объектов.
⏰ Занятие пройдёт 21 марта в 20:00 мск и будет приурочено к старту курса «Специализация C++ Developer». Доступна рассрочка на обучение!
👉 Зарегистрируйтесь прямо сейчас: https://otus.pw/3WT1/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Мечтаешь получить востребованную профессию в IT?
VK Education подскажет, с чего начать. Выбирай любые из 11 бесплатных курсов по разработке, машинному обучению, искусственному интеллекту и гибким навыкам.
Тебя ждут:
— программы для любого уровня подготовки;
— упор на практику — обучение проходит на реальных кейсах сервисов VK;
— преподаватели — ведущие эксперты-практики из ВКонтакте, Почты Mail.ru, Одноклассников и других сервисов VK;
— возможность учиться так, как удобно — занятия проходят в формате открытых лекториев, курсов в записи и обучения в группе с обратной связью от преподавателя.
Переходи по ссылке, чтобы выбрать своё направление и узнать подробности
Реклама
🔥 Для новичков в IT: как тестировать API с помощью POSTMAN?
⚙️Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
- что такое API и как его использовать;
- как тестировать back-end, если нет интерфейса;
- что можно тестировать в API;
- составление простой автопроверки для нашего API.
🦾Занятие пройдёт 14 марта в 20:00 мск и будет приурочено к старту курса «Специализация QA Automation Engineer». Доступна рассрочка на обучение!
Регистрируйтесь прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://vk.cc/cvlD0M
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Узнай первым о GitVerse – платформе для работы с исходным кодом
29 марта в 10:00 на онлайн-презентации «GitVerse: открой вселенную кода» СберТех расскажет о новой функциональности GitVerse. Он представит дорожную карту развития и анонсирует инструменты для повышения продуктивности разработчиков.
GitVerse – полностью российский сервис, который позволяет бесплатно создавать проекты с открытым и закрытым кодом, приглашать новых участников и общаться с единомышленниками в ИТ-сообществе.
О чем узнают гости мероприятия:
· Тренды разработки и роль открытого ПО в современном ИТ
· Возможности GitVerse и планы развития
· GigaCode – AI-помощник разработчика (AI, artificial intelligence — искусственный интеллект)
· Участие комьюнити в проекте
· Пакет облачных сервисов и его преимущества для разработчиков
· Обзор интересных репозиториев на GitVerse
· Реальные кейсы разработки и оптимизации с помощью GitVerse
· Общение в прямом эфире
Регистрируйся прямо сейчас
Ждем тебя на мероприятии!
Как архитектору эффективно работать с принципом инверсии зависимостей?
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
▫️определение и обоснование принципа инверсии зависимостей;
▫️примеры использования принципа в различных паттернах проектирования;
▫️связь принципа инверсии зависимостей с остальными принципами SOLID;
▫️связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.
Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉🏻 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: пройти тестРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Совет на 2024 год — инвестируйте в недвижку Эмиратов. Это доход в стабильной валюте, 0% налогов и безбедная старость.
Чтобы получать прибыль уже в этом году, а не через пару десятков лет — держите в подписках Андрея Негинского neginskiy_uae (уже 47.000 человек). Там 4 раза в неделю появляется новый вариант сразу со стоимостью.
С этим каналом вы будете зарабатывать в пассиве 6-10% годовых в долларах и вам даже не придется самостоятельно искать арендаторов.
В ближайшие 24 часа Негинский neginskiy_uae составит бесплатную подборку проектов с расчетом доходности каждому, кто подпишется на канал и нажмет на кнопку в закрепе.
Смартфон за ваш ответ!
Исследовательская компания OMI проводит опрос среди IT-специалистов.
Пройдите по ссылке, ответьте на несколько вопросов и получите шанс выиграть последнюю модель передового смартфона!
Примите участие в опросе прямо сейчас — это займет минимум времени.
Как кодить и оставаться стильным программистом?
Ребята из Lamoda Tech нашли универсальную формулу: берёте технологию и подбираете под неё наряд на Lamoda. У них получились луки на любые повод и вкус: в них можно пойти на IT-конференцию с банкетом, заскочить за чашкой кофе осенним утром перед созвоном, или остаться дома и кодить из кровати.
Кстати, в канале Lamoda Tech проходит конкурс: составляйте свою пару технологии и наряда с Lamoda и присылайте в комментариях под закреплённым постом у ребят в канале. Те, кто подберёт самое удачное сочетание, получат сертификат Lamoda на сумму 10 000 рублей.
Не забудьте подписаться на канал Lamoda, чтобы не пропустить результаты конкурса и следить за всеми трендами в разработке!
Реклама, ООО «ЛАМОДА ТЕХ», LjN8K93JS
Что такое глобальная блокировка интерпретатора Python (GIL)?
#python
Из этой статьи вы узнаете, как глобальная блокировка интерпретатора влияет на производительность ваших Python-программ и как можно уменьшить ее влияние на ваш код.
Читать статью
Присоединяйтесь к конкурсам GitVerse!
Объявляем о начале регистрации на конкурсы в рамках олимпиады «IT-Планета 2024». Вас ждут два трека, увлекательные задания и призовой фонд в размере 500 тыс. рублей*!
Готовы принять новый вызов?
До 31 марта зарегистрируйтесь и пройдите отборочное тестирование на площадке для разработчиков GitVerse от СберТеха. Вы можете принять участие в двух конкурсах:
👉 «Прикладное программирование if...else»
Конкурс для разработчиков в возрасте от 18 до 35 лет, которые создают прикладное ПО. Требования к участникам — знать C/C++/Java/Python, разбираться в алгоритмах и уметь применять их на практике.
Подробные условия конкурсов и регистрация.
👉 «Разработка игр – GameDev»
Соревнование для разработчиков игр от 18 до 35 лет. Участвовать можно самостоятельно или вместе с командой до 4 человек. Требования — классно разбираться в игровых механиках, знать все о движках и выбирать правильное решение для прототипирования игры.
Каждый конкурс состоит из трех этапов: отборочное тестирование, основной этап — отправка проектов или решение прикладных задач — и очный финал.
Подробные условия конкурсов и регистрация.
Следите за новостями!
*За вычетом НДФЛ
✨ Весенняя распродажа онлайн-курса "Linux для начинающих"
Курс сейчас доступен всего за 10 ₽, вместо обычных 7000 ₽!
Не упустите шанс обучиться под руководством эксперта по UNIX-вселенной, Андрея Буранова, и воспользоваться уникальной акцией.
➡️ Запишитесь на курс сейчас: https://vk.cc/cvyY2L
Познание базовых возможностей и умение работать с Linux станет ключом к успешному карьерному росту, учитывая популярность этой операционной системы в мире.
🐧 Курс включает:
- 3 модуля с видеолекциями,
- Обширные знания по основам Linux,
- Возможность обучения в любом месте с доступом в интернет,
- Тесты для закрепления полученных знаний.
🤝 В качестве бонуса для более эффективной учебы дарим бонус "10 базовых команд Linux"!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что такое requirements.txt и как с ним работать?
#python
Многие проекты зависят от библиотек и других зависимостей, и установка каждой из них может быть утомительной и отнимать много времени.
Именно здесь на помощь приходит файл requirements.txt. Это файл, содержащий список пакетов или библиотек, необходимых для работы над проектом, которые желательно установить перед запуском. Это обеспечивает согласованность среды и облегчает совместную работу.
Читать статью
TDD, BDD, ATDD. Быстрый гайд
Test-Driven Development (TDD), Behavior-Driven Development (BDD) и Acceptance Test-Driven Development (ATDD) стали популярными методиками, значительно повысившими качество и надежность программных продуктов. Это не умозрительные идеальные концепции, а вполне практические гибкие методики, и их применение в повседневном рабочем процессе доказало их эффективность. Будучи QA-лидом, я на собственном опыте убедился, что интеграция TDD, BDD и ATDD способна улучшить процессы разработки не только в теории.
Читать статью
Проверка типов в Python
#python
Python — строго типизированный динамический язык программирования. Типы определяются динамически, поэтому вы можете задавать значения переменных напрямую, не определяя их тип, как в статически типизированных языках, таких как Java.
Хотя динамическая типизация обеспечивает гибкость, она не всегда желательна, поэтому в последнее время было предпринято множество попыток привнести в динамические языки статическое определение типов.
В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны. Мы также рассмотрим, как можно использовать систему типов Python для статической проверки типов с помощью mypy и проверки типов во время выполнения с помощью pydantic, marshmallow и typeguard.
Читать статью
Извлечение числа из строки при помощи JavaScript
Пользовательский ввод из полей HTML-форм обычно передается в JavaScript как строка. Мы десятилетиями живем с этим, но порой разработчикам приходится извлекать из этих строк числа. Есть несколько способов это сделать, но давайте обратимся к регулярным выражениям!
Чтобы при помощи регулярного выражения вычленить число в строке, мы можем использовать \d+
:
const string = "x12345david";
const [match] = string.match(/(\d+)/);
match; // 12345
Number()
даст вам число типа Number
.Date.now()
Спросите любого разработчика, и он согласится, что прописывание логики дат может быть настоящим кошмаром. Разработчикам нужно учитывать часовые пояса, странные дефолтные даты и платформоспецифичные форматы дат.
Самый простой способ работать с датами - свести дату к максимально простому формату, обычно к временной метке. Чтобы получить текущее время в формате целого числа, вы можете использовать Date.now
:
const now = Date.now(); // 1705190738870
Date.now()
в своих console.log
, чтобы отличать результаты console.log
друг от друга. Вы также можете использовать такую дату в качестве уникального идентификатора для события в не слишком загруженной событиями среде.HTTPS для разработчиков
#webdev
Если вы хотите узнать достаточно технических подробностей о работе и использовании HTTPS в ваших приложениях, при этом не ныряя в глубины криптографии и веб-стандартов, эта статья как раз для вас!
Читать статью
SQL JOIN: руководство по объединению таблиц
#sql
В этой статье:
- LEFT JOIN / RIGHT JOIN
- Фильтрация с использованием LEFT JOIN
- Множественные объединения
- Операции объединения с дополнительными условиями
- Правда жизни о написании запросов с объединениями.
Читать статью
Как перемещаться между скобками в Vim
#tools
В файлах программ обычно множество скобок. Поэтому эффективная навигации между ними имеет большое значение для продуктивности работы программиста. Эта статья познакомит вас с тремя командами, которые позволят вам молниеносно перемещаться между скобками.
Читать статью
Уменьшаем время загрузки сайта
#webdev
Если сайту не удается предоставить хороший UX, то скорее всего - из-за плохо оптимизированного фронтенда. Чаще всего дело бывает в загрузке данных и изображений. Давайте разберемся, что и как можно улучшить.
Читать статью
Как объявить массив в bash
#bash
Bash-скрипты полезны для автоматизации консольных команд. А массивы — отличный инструмент для хранения набора данных. Объявлять массив в bash не сложно, однако синтаксис отличается от синтаксиса массивов в языках программирования.
Читать статью