Pull to refresh
25
0
Роман @TheAlien

Пользователь

Send message

Изучаем Kafka — Уровень 1

Level of difficultyEasy
Reading time15 min
Views33K

Данная статья открывает серию из трёх материалов, каждый из которых представляет отдельный уровень изучения Kafka.

Если у тебя уже есть практический опыт работы с Kafka — первый уровень, скорее всего, не для тебя. Он предназначен для новичков, которые хотят понять, зачем вообще нужен Kafka и где он используется. На втором уровне ты углубишься в технологию — и этого уже будет достаточно, чтобы уверенно использовать Kafka в профессиональной работе. Третий уровень — это джедайский уровень. Не обязателен, но если ты его освоишь — будет круто. Серьёзно.

Читать далее

Как работает Node.js

Level of difficultyMedium
Reading time22 min
Views14K



После прочтения этой статьи вы хорошо поймете следующее:


  • как работает цикл событий (event loop) в Node.js, включая все его фазы
  • как Node.js выполняет JavaScript в одном потоке (single thread)
  • как Node.js использует библиотеку libuv и внутренние API для обработки асинхронных операций
  • почему знание работы цикла событий так важно для написания эффективного серверного кода

Понять, как JS работает "под капотом" в браузере (см. эту короткую 15-минутную статью), проще, чем понять устройство Node.js. В браузере нет сложных фаз и многослойных механизмов, как в Node.js.


Но почему в Node.js все устроено сложнее? Зачем столько фаз, которые так непросто понять?

Читать дальше →

Введение в RawTherapee

Level of difficultyEasy
Reading time7 min
Views4.6K
В эту программу влюбился с первого запуска, так она мне понравилась продуманным и проработанным интерфейсом и огромным количеством настроек. К тому моменту у меня был опыт работы с Adobe Camera RAW, встроенным в Фотошоп, и Capture NX — фирменным проявщиком от Nikon. Но Rawtherapee вытеснила их, и я так к ней привык, что ни к одной программе для обработки RAW не притрагивался. Даже популярный Lightroom прошел мимо.

Я много лет увлекаюсь съёмкой и обработкой цифровых фотографий и подготовил для вас курс в формате быстрого старта. Расскажу только самое важное и постараюсь это сделать не скучно.


Rawtherapee ведёт свой жизненный путь с 2004 года, когда её автор Gábor Horváth экспериментировал с самописным софтом для обработки RAW с его цифровой камеры. Вначале код программы был закрытым, но с третьей версии (с 2011) автор публикует исходный код под лицензией GPL, и в проект приходят сторонние разработчики. Текущая версия 5.10 доступна для скачивания с официального сайта и работает под Windows, LINUX и macOS.
Читать дальше

Продвинутые методы использования TypeScript в реальных проектах

Level of difficultyMedium
Reading time12 min
Views6.6K



Ранее на Piccalilli Сэм Роуз поделился реальными примерами использования вспомогательных типов (utility types) TypeScript. Сегодня я хочу продолжить эту тему и поделиться несколькими продвинутыми возможностями TypeScript для работы с типами, которые, на мой взгляд, особенно полезны и применимы в реальных проектах.


Цель этой статьи — дать общее представление о каждой из возможностей, а также привести пример ее использования, чтобы вы могли лучше ориентироваться в том, какие инструменты можно использовать при создании типов.

Читать дальше →

15 команд Git, которые покрывают 90% повседневной работы разработчика

Level of difficultyMedium
Reading time9 min
Views78K

Git стал стандартом де-факто в мире разработки программного обеспечения. Это мощная система контроля версий, которая позволяет командам эффективно сотрудничать, отслеживать изменения и управлять кодовой базой. Новичку Git может показаться сложным из-за обилия команд и концепций. Однако правда в том, что для выполнения 90% повседневных задач достаточно уверенно владеть небольшим набором ключевых команд.

Читать далее

Альтернатива Zod размером 1 КБ

Level of difficultyEasy
Reading time10 min
Views3.2K

19 марта 2025 года вышла стабильная версия Valibot — библиотеки для валидации данных в JavaScript/TypeScript. Разработанная как альтернатива популярному Zod, она сочетает минималистичный дизайн с мощными возможностями.

В этой статье мы сравним Valibot и Zod по трём ключевым параметрам: синтаксису API, размеру библиотеки и скорости работы. Вы узнаете, чем эти решения отличаются друг от друга и почему стоит использовать специализированные инструменты валидации входящих данных.

Читать далее

Почему COUNT(*) быстрее, чем COUNT(col) — и когда это не так

Level of difficultyEasy
Reading time4 min
Views23K

Привет, Хабр!

Сегодня поговорим про одну из тех тем, что вроде бы тривиальна, но до последней капли грязи тащит за собой внушительный пласт вопросов. Речь пойдёт про COUNT(*) и COUNT(col) в PostgreSQL.

Читать далее

Optional vs Nullable на стыке технологий

Level of difficultyMedium
Reading time10 min
Views3.8K

При разработке современных приложений важнейшую роль играет качество клиент‑серверного взаимодействия. Для достижения стабильной связи между мобильными и веб приложениями и серверной частью необходимо стремиться к созданию надежного и эффективного механизма обмена данными. Это подразумевает создание устойчивого API, которое трудно сломать даже при изменениях в архитектуре сервера, а также легкость интеграции новых клиентов.

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

Читать далее

Параллельный цикл на worker. Многопоточность JS

Level of difficultyMedium
Reading time7 min
Views3.8K

Как применить worker для ускорения параллельных вычислений на JS. Постарался подробно и понятно разобрать как работают worker, как общаться с ними. Показал пример многопоточного вычисления значений массива и сравнил производительность различных методов обработки массивов.

Читать далее

ТайпСкрип: Ох уж эта весёлая система типов

Reading time3 min
Views15K

Здравствуйте, меня зовут Дмитрий Карловский и недавно я, вместе с Артуром Мукминовым, проводил воркшоп, где показывал как разрабатывать сложные типофункции через тестирование. Это 2 часа сурового программирования на типах. Так что в качестве тизера, ловите разбор курьёзов тайпскриптовой системы типов.


Читать дальше →

Клонируем правильно: structuredClone() в JS

Level of difficultyEasy
Reading time4 min
Views2.7K

Привет, Хабр!

Глубокое копирование в JavaScript всегда было немного проблемой. До тех пор, пока в языке не появился structuredClone() — метод, который решил многие наши проблемы.

Читать далее

Insomnia — Инструкция по применению

Level of difficultyEasy
Reading time8 min
Views81K

Автор: Надежда Дудник

Заранее хочу сказать, что мне нравится Postman, просто Insomnia часто используемый инструмент у меня на работе, и важно поделиться информацией о его возможностях.

Содержание:

Читать далее

Поднимаем на OpenWrt клиент прокси VLESS, Shadowsocks, Shadowsocks2022. Настройка sing-box и tun2socks

Level of difficultyMedium
Reading time10 min
Views174K

Практическое руководство описывающее, как поднять на роутере Shadowsocks, VMess, VLESS, Trojan и даже SOCKS5 proxy.

Трафиком на роутере удобно управлять, когда у туннеля есть свой интерфейс. С одной стороны, есть Wireguard и OpenVPN, которые предоставляют сетевые интерфейсы. C другой стороны есть, например, SOCKS5 прокси и вытекший из него Shadowsocks, которые работают на другом уровне. Настраивая их мы получаем порт, а не интерфейс.

Здесь разобраны два инструмента, которые могут предоставить сетевой интерфейс на роутере и пересылать трафик с него во всевозможные прокси и туннели, устойчивые к DPI.

Читать далее

Понимание (всех) «модульных» форматов и инструментов JavaScript

Reading time19 min
Views49K


Доброго времени суток, друзья!

Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin.

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

Читать дальше →

Переезжаем с OneDrive на NextCloud: можно ли сделать полноценную замену облачному диску на базе открытого ПО

Reading time6 min
Views14K

Привет, Хабр! Меня зовут Александр Фикс, и я менеджер продукта в K2 Cloud. В этой статье я хотел бы рассказать о том, как мы решали задачу замены корпоративных облачных ресурсов собственным сервисом. Под катом — подробный рассказ про архитектуру NextCloud в K2 Cloud, а также разбор нашего опыта разработки плагинов, чтобы довести файловое хранилище до корпоративного уровня.

Читать далее

Точечная маршрутизация по доменам на роутере с OpenWrt

Level of difficultyMedium
Reading time13 min
Views219K

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

Я предоставляю уже готовый конфиг с самыми востребованными доменами, который можно дополнять.

Настроить роутер можно с помощью скрипта. Если вдруг не заведётся сразу, то другим скриптом можно найти, что не работает. Настройка с помощью Ansible никуда не делась, только модифицировалась и стала лучше.

Помимо инструкций по настройке туннелей Wireguard и OpenVPN, написал инструкцию по использованию технологий, которые помогут в обходе блокировок по протоколу: Shadowsocks, VLESS и прочими.

Читать далее

3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Level of difficultyEasy
Reading time13 min
Views552K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как OpenVPN и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера двух видов для всего этого.

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

Поэтому сегодня мы поговорим об установке и использовании графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.

Читать далее

«Ростовское IT-сообщество» или 5 шагов для создания тусовки в вашем городе

Reading time2 min
Views24K
image

Вечер пятницы — отличное время, чтобы отправиться на какое-нибудь интересное мероприятие. Но что делать, если вы живёте не в Москве или Питере, где частенько проходят тусовочки для гиков, разработчиков и вообще ИТ-шников?
В вашем городе нет активного сообщества, нет мест, где собираются программисты, нет культуры деловых знакомств на мероприятиях среди ИТ-специалистов, а люди не понимают разницу между словом “митап” и “стартап”. Заводим трактор и
Вам очень хочется как-то изменить ситуацию? У нас получилось это сделать, под катом опыт и исходники.
Читать дальше →

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior