javascript
О том, как я написал свой стейт‑менеджер

Хочу посвятить эту статью погружению в разные возможности обновления данных в JS и React, раскрыв это на примере своей библиотеки «nexus‑state». Поделюсь подробными примерами, мотивацией и расскажу, для чего вообще нужны стейт‑менеджеры и как они работают. При написании примеров я постараюсь максимально просто объяснить суть и не буду затрагивать тему типизации.ВступлениеИдея названия пришла внезапно. Пройдя все серии одной из моих любимых игр,«Dark Souls», я наткнулся на ранний проект «Demon&#…

  • вторник, 29 сентября 2026 г. в 00:00:13
javascript
Мой бесплатный сервис чуть не стал сканером портов для всего интернета

Я сделал бесплатную проверку сайтов на нарушения 152-ФЗ: вводишь адрес, получаешь список проблем. Первая версия умела ещё кое-что, чего я в неё не закладывал. Подставляешь чужой хост и порт, и по тексту ошибки видно, открыт порт или закрыт. Бесплатный сканер портов для всего интернета, причём запросы идут с адресов Cloudflare.Это одна из трёх дыр, которые автоматическое ревью нашло в первой версии до выкладки. Ниже про все три, про то, почему такой сервис вообще нельзя ставить рядом со своими с…

  • вторник, 29 сентября 2026 г. в 00:00:12
javascript
Книга из переписки без сервера: canvas, jsPDF и брошюра для печати прямо в браузере

Мы делаем пет‑проект «Чатограмма», который считает статистику переписки: кто пишет первым, кто быстрее отвечает, в какие часы вы на связи. С первого дня у него одно жёсткое правило: файл с перепиской не уходит на сервер. Всё считается в браузере пользователя, а сервер не видит ни одного сообщения — не потому, что обещает не смотреть, а потому, что сообщения до него физически не доходят.Потом понадобилась подарочная книга: PDF формата A5, где самые яркие моменты переписки собраны по главам — с ч…

  • вторник, 29 сентября 2026 г. в 00:00:10
javascript
10 браузерных API, заменяющих библиотеки, которые я раньше все время устанавливал

10 браузерных API, заменяющих пакеты NPM и плагины jQuery: dialog, popover, переходы отображения (view transitions), structuredClone, groupBy и Temporal с заметками о поддержке.❯ 1. IntersectionObserverНа протяжении многих лет “ленивая” (lazy) загрузка изображений означала установку lazysizes или lozad. lazysizes “слушает” события прокрутки, измеряет элементы с помощью getBoundingClientRect() при каждом таком событии и меняет атрибут data-src на src, когда изображение приближается к области про…

  • вторник, 29 сентября 2026 г. в 00:00:09
javascript
«По будням в 9:30» → 30 9 * * 1–5: парсер расписаний на русском, который отказывается угадывать

Выражение */15 9-17 * * 1-5 компьютер понимает однозначно, а человек читает с трудом. Особенно это мешает, когда расписание задаёт пользователь: в боте‑напоминалке, в админке, в настройках отчётов. Человек хочет написать «каждые 15 минут с 9 до 18 по будням» и увидеть, что его поняли правильно. Писать для этого форму с пятью выпадающими списками не хочется никому.Готовых решений для русского языка я не нашёл, поэтому написал своё.Библиотека называется cronsense. Она переводит расписание, записа…

  • вторник, 29 сентября 2026 г. в 00:00:07
javascript
Почему я пишу Bun‑native альтернативу napi‑rs

Я работаю над bffi‑rs, экспериментальным фреймворком для нативных биндингов Bun, написанным на Rust.Проект появился из довольно практичной задачи. Я хотел сделать небольшое desktop‑приложение с нативным WebView, но при этом оставить Bun основным рантаймом.В экосистеме уже есть решения для подобных приложений. Например, некоторые интеграции WebView для Bun используют Rust и napi-rs. В варианте Electrobun, который я рассматривал, для WebView используется Wry, а связка между Rust и JavaScript стро…

  • вторник, 29 сентября 2026 г. в 00:00:06
github
byoungd / up

An advanced guide which might benefit you a lot 🎉 . 韩先凯的人生进阶指南 人生进阶指南 离谱的人生 人生进阶 AI学习 AI指南 韩先凯的AI学习指南 英语学习指南/英语学习教程/英语学习/学英语 title 人生进阶指南|AI 时代终身学习 description 《人生进阶指南》帮助普通人在 AI 时代持续学习、完成真实项目、穿越人生低谷并留下成长证据。 updated 2026-09-02 人生进阶指南 中文 | English 韩先凯 著(笔名:离谱) 副标题:AI 时代终身学习指南。这是一份持续更新的书稿,从英语这扇具体的门出发,写到 AI 学习、真实项目、创业失败、身体恢复,以及一个普通人怎样把生活一点点交还给自己。 持续更新书稿 下载中文 EPUB Download English EPUB 下载中文 PDF Download English PDF 源码与勘误 读者实践回执 正文 CC…

  • вторник, 29 сентября 2026 г. в 00:00:05
github
cs341-illinois / coursebook

Open Source Introductory Systems Programming Textbook for the University of IllinoisCoursebook Welcome to the systems programming coursebook! This repository houses a high-quality, open-source introductory systems programming textbook used by the CS 341: System Programming course at the University of Illinois Urbana-Champaign The book assumes that you have taken a programming language course and are familiar with assembly instructions. All of the code and instruction will be in C, a…

  • вторник, 29 сентября 2026 г. в 00:00:02
golang
Доверить сервер ИИ-агенту и не пожалеть: как спать спокойно без SSH

При разборе инцидентов я всё чаще использую ИИ-агента: он быстро собирает информацию о сервере — нагрузку, память, диски, процессы, журналы — и сводит её с данными мониторинга, чтобы понять, почему тормозит сайт, чем забит диск или что упало ночью. По его выводам я могу попросить агента и решить проблему, а для этого ему может понадобиться перезапустить сервис, изменить конфиг или даже настройки ядра. Дать ему для этого SSH с sudo — не самый безопасный путь. Мне хотелось попробовать другой подх…

  • понедельник, 28 сентября 2026 г. в 00:00:15