NOP::Nuances of Programming
55.9K subscribers
4.53K photos
11 videos
12 files
5.87K links
Любые вопросы по сотрудничеству: @ramilkr
Если нужен токен:
https://telega.in/c/nuancesprog
NOP::Humor - https://xn--r1a.website/nophumor
NOP::Recruiter Удаленка- https://xn--r1a.website/nopremote

РКН: 4977653520
Download Telegram
Спецификации рождаются из кода, а не наоборот

Автор описывает подход, обратный привычному spec-driven development.
Сначала идёт код, а спецификация пишется под готовый результат.

Разработчику это важно, потому что поведение описывается по факту.
Так спецификация не врёт и не отстаёт от реальной системы.

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

🔗 Подробнее

@nuancesprog #Opinion
👍4
JIT-рендеринг растрового текста для микроконтроллеров

Raph Levien показал JIT-рендеринг растрового текста для RP2350. Он генерирует код на лету под конкретную строку.

Это нужно для проектов с race-the-beam: бюджет всего 6 циклов на пиксель. Обычный Rust не укладывается, автор пишет на ассемблере и своём языке symbolasm.

Этот подход встроен в его рендерер vic-2350, но подойдёт и для фреймбуфера. Если нужен быстрый текст на RP2350, стоит изучить генерацию кода под строку.

🔗 Подробнее

@nuancesprog #Infrastructure
👍4
PHP умирает после каждого запроса: как устроен Zend Engine
PHP использует Shared-Nothing Architecture: каждый запрос выполняется в своей памяти.
После ответа Zend Engine мгновенно очищает память запроса.
Утечки памяти не переживают запрос.
Фатальная ошибка убивает один воркер, мастер заменяет его меньше чем за миллисекунду.
Файлы не парсятся заново на каждый запрос.
Включи OPcache — он хранит скомпилированные опкоды в общей памяти.
🔗 Подробнее

@nuancesprog #Languages
👍5
RIP, Harvest
Harvest, сервис учёта времени и счетов для фрилансеров, купила Bending Spoons.
Компания подняла цену с $13.32 до $133.98 в месяц.

Взамен обещают безлимитный тариф, который не отличается от прежнего.
Дешёвый план за $12.65 добавляет 2% комиссии к обычным трём процентам эквайринга.

Поддержка больше не читает письма, а отвечает длинными простынями от языковой модели.
Автор ищет замену: в комментариях советуют Cushion с нулевой наценкой и Odoo.

🔗 Подробнее

@nuancesprog #Opinion
👍4
Идемпотентность: как не отменить действие при повторе

Клик по лайку сохраняет его, но ответ теряется из-за обрыва. Повторный запрос находит лайк и удаляет его, отменяя действие.

Повторный запрос должен не менять состояние повторно. Для этого API должен описывать желаемое состояние, а не переключение.

Для операций-переключателей используй идемпотентный ключ и сохраняй результат. Заменяй toggle на PUT для установки лайка и DELETE для снятия.

🔗 Подробнее

@nuancesprog #Infrastructure
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1