Кодовая Библиотека
170 subscribers
185 photos
54 videos
20 files
110 links
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций.
Download Telegram
Йо, ребята!

Уже в эту пятницу я буду выступать на алгорейв-вечеринке в Айтиобщаге для стажеров Яндекса🔥

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

Для тех, кто не успел еще стать стажером Яндекса, я разыграю 10 проходок на ивент!

Вам нужно:

⁃ Подписаться на канал
⁃ Написать мне в комментах 3 основных вещи, которые у вас ассоциируются с айтиобщагой 📺📟🔋

И завтра я выберу 10 счастливчиков с самыми интересными вариантами ответа, кто и получит проходки* на алгорейв вечеринку!

* 1 проходка на 1 человека,
в розыгрыше могут принять участие пользователи 18 лет и старше, проживающие в Москве
.
Профилирование Python — почему и где тормозит ваш код

Представьте ситуацию: вы написали скрипт для обработки каких-то данных на ноутбуке, ушли попить кофе, а когда пятнадцать минут спустя вернулись, завершилось едва ли 10%.

Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный?

Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).

Rus https://habr.com/ru/companies/ruvds/articles/757336/

Eng https://betterprogramming.pub/python-profiling-why-and-where-your-code-is-slow-d6f41601dba8
В Linux Logical Volume Manager (LVM) - это система управления хранением данных, которая обеспечивает более гибкий подход к управлению дисковым хранилищем, чем традиционное разбиение на разделы. LVM работает за счет создания уровня абстракции между физическими устройствами хранения и файловой системой, позволяя создавать логические тома, которые могут охватывать несколько физических дисков.

С помощью LVM вы можете создавать группы томов из одного или нескольких физических дисков, а затем создавать логические тома в этих группах томов. Логические тома ведут себя как традиционные разделы диска, но у них есть несколько преимуществ:

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

- Логические тома можно легко расширить, добавив в группу томов дополнительные физические диски. Такая масштабируемость позволяет увеличив...
Как долго может работать ваше приложение на PHP?
Чувствуете ограниченность PHP в долгосрочной перспективе?

9 июля в 20:00 мск узнайте, как ваш PHP-код может работать дольше простого HTTP-запроса, обрабатывая данные для интеграции с партнерами или реагируя на события системы в реальном времени. 

🔮На вебинаре вы узнаете:

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

Спикер Александр Пряхин — технический руководитель юнита в Авито и опытный преподаватель.

🎁Регистрируйтесь на урок и получите подарок участника чек-лист «‎SOLID и типичные ошибки на собеседованиях»: https://vk.cc/cyeeU2
Многообразие связных списков

Связный список — классическая структура данных, которая позволяет быстрые вставки/удаления, но при этом просаживает другие операции (случайный доступ к элементу). Мы пройдёмся от базовой реализации до других возможных вариаций этой структуры данных и, надеюсь, вместе узнаем что-то новое. Краем глаза увидим возможные применения связных списков. И в конце, для любителей C++, бонус: использование связного списка для сбора диагностики использования динамической памяти в вашем коде.

https://habr.com/ru/articles/814955/
Media is too big
VIEW IN TELEGRAM
Эффективное использование памяти во встраиваемых системах
Алексей Алешкин (ИнфоТеКС)

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

В процессе разработки проекта SIES Core команда Алексея столкнулась со всеми перечисленными побочными эффектами, что потребовало глубоких долгих исследований, результатами которых он поделился с аудиторией.

Доклад будет интересен разработчикам backend и embedded, создающим ПО с использованием С++ на недорогих платформах с ограниченным объемом памяти и отсутствием MMU.

Технологии: аллокаторы, MMU, Semihosting FS, GCC, GDB, OpenOCD.

источник
REST API Design
☁️Шпаргалка по сравнению облаков
Шпаргалка по шаблонам проектирования
Реверс-инжиниринг умных часов

Недавно в моём распоряжении оказалась партия умных часов с поддержкой геолокации, которые после тестирования были отправлены в резерв. Мне было поручено найти применение для этих девайсов, с чего и началась история их реверс-инжиниринга, о которой я поведаю в этой статье.

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

https://habr.com/ru/companies/ruvds/articles/827958/
Как работает Docker?


Архитектура Docker состоит из трех основных компонентов:

🔹 Docker Client
Это интерфейс, через который взаимодействуют пользователи. Он взаимодействует с Docker daemon.

🔹 Docker Host
Здесь Docker daemon принимает запросы Docker API и управляет различными объектами Docker, включая образы, контейнеры, сети и тома.

🔹 Docker Registry
Здесь хранятся образы Docker. Docker Hub, например, является широко используемым public registry.
Использование брокера сообщений Apache Kafka в распределенных очередях

24 июля в 20:00 мск

Хотите узнать, как эффективно управлять сообщениями в масштабируемых распределенных системах? Тогда этот открытый вебинар для вас!

Мы разберем основы и архитектуру Apache Kafka, принципы работы с распределенными очередями, а также научимся настраивать и развертывать кластер Kafka в Docker. Вы увидите реальные примеры использования Kafka для обмена сообщениями между сервисами и узнаете о лучших практиках и рекомендациях по интеграции Kafka в ваши проекты.

💻 Урок будет полезен Fullstack и Backend-разработчикам, DevOps-инженерам, архитекторам ПО и администраторам систем, а также всем, кто хочет углубить свои знания об Apache Kafka и его применении.

🔴 Регистрация открыта: https://vk.cc/cyu2Qp

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Неуязвимого кода не существует. Абсолютно защищённых данных – тоже.
Зато есть способы восстановить информацию после серьёзного сбоя или атаки.


Именно о способах восстановления повреждённых данных мы и поговорим на открытом вебинаре «Создаём бэкапы для Ethereum-блокчейна на Rust»

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

Вебинар проведёт Кирилл Федченко, опытный программист на Rust, Python, C++.

Будет интересно и Rust-разработчикам и тем, кто использует другие языки.

23 июля, 19:00 МСК
Бесплатно


➡️ Записаться на событие: https://vk.cc/cyy4yl

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⌨️ Лучший курс по Python

0: Мета информация
1: int
2: +
3: Какой Python язык?
4: bool
5: None
6.0: float
6.1: float, интервью с Michael Overton
7: typeshed
7.1: typeshed, интервью с Alex Waygood

источник