Рубрика «Программирование» - 80

Знакомство с ООП на примере JavaScript - 1


Всем привет! В этой статье мы рассмотрим основные характеристики объектно-ориентированного программирования (ООП) на практических примерах JS-кода. В ходе обсуждения мы осветим основные принципы ООП, а также ответим на вопросы, почему и когда этот стиль может быть полезен. Читать полностью »

Концепция умного указателя static_ptr<T> в C++ - 1

В C++ есть несколько "умных указателей" - std::unique_ptr, std::shared_ptr, std::weak_ptr. Также есть более нестандартные умные указатели, например в boost1: intrusive_ptr, local_shared_ptr.

В этой статье мы рассмотрим новый вид умного указателя, который можно назвать static_ptr. Больше всего он похож на Читать полностью »

PProto: бинарный rpc протокол для Qt framework (часть 2) - 1

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

Команда

В начале было Request/Response

Читать полностью »

Я написал серверную SQLite - 1

Меня зовут Бен Джонсон, и я написал встраиваемую базу данных, которая служит бэкендом систем вроде etcd, — это BoltDB. Сегодня я работаю над Open Source проектом Litestream в компании Fly.io. Благодаря репликации Litestream делает SQLite приемлемым для фулстек‐приложений. Если вы можете установить SQLite, то Litestream заставите работать за 10 минут.


Читать полностью »

WoG уже 20 лет… - 1

Все это уже история... И я даже писал об этом (не на Habr). Поэтому, возможно, кому-то это знакомо. Не думал, что тут стоит писать подобное, но, вижу, что фанаты Героев 3 (и вообще серии HoMM) тут, очевидно, присутствуют, поэтому рискну...

Время: 20 лет назад.

Место: Ээээ… всемирная паутина.

Действующие лица:

Gus Smedstad – программист Героев 3 и ведущий программист Героев 4.
AngelspitЧитать полностью »

Python 3.8+

Когда выходит очередная версия Python, все внимание достается новым фичам языка: моржовому оператору, слиянию словарей, паттерн-матчингу. Еще много пишут об изменениях в асинхронной работе (модуль asyncio) и типизации (модуль typing) — эти модули на виду и бурно развиваются.

Остальным модулям стандартной библиотеки достается незаслуженно мало внимания. Хочу это исправить и рассказать, что интересного появилось в версиях 3.8–3.10.

Читать полностью »

При найме разработчиков можно смотреть на различные навыки, но за годы работы я выяснил, что самое важное — простая способность кодить, и этот навык сильно опережает по важности все остальные. Я могу быстро обучить человека, чтобы он получил знания в определённой области, но никогда не видел, чтобы простая способность кодить исходила из чего-то иного, кроме как из личного стремления к упорной и глубокой практике. Благодаря этому я выяснил, что одни способы лучше подходят для выявления талантов, чем другие.
Читать полностью »

Нецелевое использование утверждающих функций в TypeScript - 1


Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить утверждающую функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.Читать полностью »

Представьте, что у вас в приложении есть чат. В один прекрасный день на встрече отдела product manager приносит весть, что пора бы в чат добавить поддержку голосовых сообщений. «Да легко!» — проносится в голове: быстренько создадим новую ячейку, нарисуем в ней плеер, напишем бизнес-логику и готово. Но вдруг оказывается, что заказчик хочет плеер «как в Telegram» — с поддержкой отрисовки аудиоволны. Да ещё и динамически — в процессе записи.

Читать полностью »
Визуализатор для ZX Spectrum и MSX или с Днем Радио, Гики - 1

Сегодня принимают поздравления с профессиональным праздником некоторые гики, ну и чтобы поднять настроение себе и остальным, захотелось поделиться историей создания красочного, светодиодного, радиотехнического… И да! для вечно живого Z80!

Если вы не представляете, что ещё можно такого придумать для Z80 в XXI веке, прошу под кат...

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js