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

Когда на меня накатывает хандра, я бросаю всё и пилю свой игровой движок. Это неблагодарное занятие, но меня прёт.

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

И вот я тут спустя 5 лет.

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

https://habr.com/ru/companies/timeweb/articles/774070/
В 2002 году мир математики стал свидетелем исторического момента, когда российский математик Григорий Перельман представил первую из трех новаторских работ, представивших доказательство неуловимой гипотезы Пуанкаре. Эта гипотеза ставила в тупик математиков более столетия, что сделало ее одной из самых сложных нерешенных проблем в этой области.

Работа Перельмана была поистине революционной. Он успешно сориентировался в запутанном лабиринте топологии и в конечном итоге предоставил строгое и элегантное доказательство своей гипотезы. Его достижение потрясло математическое сообщество и сразу же привлекло внимание коллег и экспертов со всего мира.

В знак признания своих исключительных достижений Григорий Перельман был награжден престижной медалью Филдса в 2006 году, что считается высшей наградой в математике. Однако реакция Перельмана на эту похвалу была столь же нетрадиционной, как и его математическое путешествие. Совершив беспрецедентный шаг, он отказался от медали Филдса, избегая всеобщего внимания и тради...
✔️Готовы построить продукт, который будут обожать потребители? Тогда не пропустите этот вебинар!

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

😎Hooked Model — это не просто модель. Это ключ к пониманию и успеху!

Записывайтесь на открытый урок, где мы раскроем все тайны Hooked Model. Мы разгадаем секреты спуска с горы, подъема на гору, плоской равнины и обрыва. Узнайте, какие психологические механизмы прячутся за этими словами и как вы можете использовать их в своей компании!

Спикер Дмитрий Шоржин — опытный предприниматель и менеджер, эксперт-консультант в сфере международного бизнеса, обладатель степени MBA.

➡️Встречаемся 27 июня в 20:00 мск в преддверии старта курса «CJE / Customer Journey Expert». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь сейчас:
https://vk.cc/cxS6ci
Индексы в SQL для PHP-разработчиков

Индексы в базах данных считаются "волшебной палочкой" для решения многих проблем при разработке веб-приложений. Впрочем, опытные программисты знают, что из этой палочки в любой момент может вылететь "Авада Кедавра".

Чтобы научиться осознанно пользоваться индексами в SQL и ускорить свои приложения, присоединяйтесь к открытому уроку 26 июня в 20:00!

На уроке ты:

1. Разберёшься, что такое индексы и как они работают в PostgreSQL и MySQL.
2. Научишься
грамотно проектировать индексы под свои данные и запросы.
3. Узнаешь о неочевидных особенностях индексов, которые могут всё сломать, и как их избежать.

Твой гид в мир быстрых баз данных — Дмитрий Кириллов, соучредитель и технический директор 1С-Старт, опытный разработчик.

Регистрируйтесь прямо сейчас, чтобы попасть на открытый урок: https://vk.cc/cxSeKZ
MicroG - это свободная реализация проприетарных библиотек Google с открытым исходным кодом, которая заменяет службы Google Play в операционной системе Android.

Грубо говоря, это фреймворк, позволяющий приложениям, предназначенным для Google Play Services, работать в системах, где Play Services недоступны.

#Java
Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB". Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

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

В статье будет рассматриваться отладка кода на C в ОС Linux.

https://habr.com/ru/articles/824638/
Конрад Цузе — программист, обогнавший время

Сегодня исполняется 114 лет со дня рождения Конрада Цузе, пионера создания вычислительной техники, человека, которому сама судьба пыталась помешать двигать прогресс, но не помешала создать первый язык программирования высокого уровня, один из первых компьютеров и первую книгу по цифровой физике.

https://habr.com/ru/companies/timeweb/articles/823346/
Йо, ребята!

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

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

Для тех, кто не успел еще стать стажером Яндекса, я разыграю 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/