В этой статье подробно разбирается создание пользовательской файловой системы с помощью FUSE и языка Go. На реальном примере мы пройдём путь от установки окружения до реализации чтения, записи, метаданных и параллельного доступа. В процессе встретятся живые комментарии, личные наблюдения и советы, которые помогут избежать распространённых подводных камней.Введение Давно хотел понять, как сделать “файловую систему в файле” или на блочном устройстве, чтобы потом подключить её к любому Linux-серве…
Node.js претерпел впечатляющее преобразование с момента своего появления. Если вы пишете на Node.js уже несколько лет, то, вероятно, сами наблюдали эту эволюцию - от эпохи колбэков и повсеместного использования CommonJS до современного, чистого и стандартизированного подхода к разработке.Изменения затронули не только внешний вид - это фундаментальный сдвиг в самом подходе к серверной разработке на JavaScript. Современный Node.js опирается на веб-стандарты, снижает зависимость от внешних библиот…
Уже 10 лет в JS-экосистеме воюют два формата модулей: CommonJS и ES Modules. Чтобы и получить плюшки ESM, и не распугать пользователей, npm-пакеты часто используют dual packaging: собирают код в оба формата. Это решает одну проблему, но создает несколько новых:Мы собираем наш код 2 раза (а хотелось бы вообще не собирать).Настроить двойную сборку не супер сложно, но все таки сложнее, чем вообще не настраивать.Мы публикуем в 2 раза больше кода (и потом жалуемся на жирые node_modules)dual package …
Если вы когда-либо запускали SSR в Angular, вы наверняка сталкивались с этим парадоксом: страница вроде бы загружается молниеносно, но ощущается медленной. Контент есть, кнопки на месте — а кликаешь по ним, и в ответ тишина. Почему? Потому что браузер всё ещё оживляет интерфейс — запускает JavaScript, подключает обработчики, восстанавливает состояние. Это и есть гидратация, и в классическом исполнении она не так уж и быстра.Angular давно умеет рендерить страницы на сервере, но только с недавних…
Потянул live-данные с mygameodds co, собрал real-time графики на D3.js, столкнулся с диким хаосом в структуре данных, решил через нормализацию, но провалился с адаптивом.ЦельПостроить интерактивный дашборд, визуализирующий изменение спортивных коэффициентов в реальном времени. Аналог систем мониторинга, только вместо метрик — лайв-кэфы с букмекерского API.АрхитектураИсточник данных: mygameodds.coСтек:D3.js (визуализация)WebSocket (стриминг)TypeScript (вся логика)Vite + React (обвязка, рендер)Р…
👋 Привет! Меня зовут Александр, я работаю фронтенд-разработчиком в компании «МегаФон». Сегодня я хочу поговорить на тему Tagged Unions (размеченных объединений) и объяснить, почему они — ваш секретный инструмент для написания надежного TypeScript-кода.Улучшение типизации в TypeScriptВ динамично развивающемся мире веб-разработки создание надежного, масштабируемого и легко поддерживаемого программного обеспечения является ключевой задачей. TypeScript, будучи статически типизированным суперсетом J…
Всех постоянно интересует, как сделать Postgres быстрее, эффективнее и всё такое, но никто не задумывался, как её замедлить. Да, большинству этих людей платят за то, чтобы они повышали скорость, но ко мне это не относится. Недавно я писал более полезное руководство, и мне вдруг пришла мысль, что кто-то должен попробовать создать такую конфигурацию Postgres, которая будет настроена на максимально медленную обработку запросов. Зачем? Сложно сказать, но вот такая возникла мысль.ПараметрыСделать эт…
Дисклеймер: я сознательно упростил описание, чтобы статья была интересна широкой аудитории. Написал я ее для блога ТЕХНОНИКОЛЬТелефон зазвонил в тот момент, когда я разбирал техническое задание на крупный объект. — Максим, у нас беда, — голос в трубке звучал обеспокоенно. — Крыша течет. Мы ее чинили год назад, а она все равно протекает. Можете приехать посмотреть?Я взглянул на календарь. Завал с проектами, команда занята подготовкой к сезону. Но в голосе клиента слышалось отчаяние — проблема яв…
Наша родная планета просто переполнена жизнью. За более чем 4 миллиарда лет непрерывной биологической активности на нашей планете жизнь укоренилась практически в каждой нише — от глубочайших океанских впадин до внутренностей вулканических кратеров, от почти кипящих кислотных геотермальных источников до самых высоких заснеженных горных вершин. Живые организмы есть буквально повсюду, они хорошо приспособлены к своим экологическим нишам и способны извлекать энергию и/или питательные вещества из ок…