All streams
Search
Write a publication
Pull to refresh
299
0
Валентин Бартенев @VBart

Руководитель разработки «Angie Software»

Send message

Два года Angie

Level of difficultyEasy
Reading time8 min
Views12K

Всего пару дней назад, 26 октября 2024 года, мы отметили 2 года с момента первого релиза опенсорс версии веб-сервера Angie. Кажется, что именно сейчас наиболее уместно поговорить с вами о том, почему идея заработать на опенсорсе в России оказалась «так себе идеей». И почему мы, тем не менее, от развития опенсорс версии Angie не отказались. И не откажемся.

Читать далее

Расширение возможностей веб-сервера при помощи WASM на примере Angie

Level of difficultyHard
Reading time19 min
Views3.1K

Наверное, не секрет, что одна из причин популярности nginx — это развитая экосистема сторонних модулей. Модули позволяют не просто настраивать какие-то детали обработки запроса, но и глубоко изменять поведение сервера.

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

Теперь в этот набор добавляется ещё и модуль WASM, который мы разработали для нашего веб-сервера Angie (здесь и далее ссылки на нашу документацию). Зачем понадобился WASM на сервере, чем нас не устраивают существующие методы расширения и что в итоге получилось?

Данная статья — транскрипт выступления Владимира Хомутова на конференции HighLoad++. Владимир с 2012 года разработчик nginx, а с 2022 разработчик Angie.

Читать далее

Стильный современный «autoindex» в Angie/nginx без sms и сторонних модулей

Level of difficultyEasy
Reading time24 min
Views4.1K

Авто‑индекс — это функциональность HTTP‑сервера, позволяющая при обращении к каталогу на файловой системе автоматически выводить список содержащихся в нем файлов.

Поводом для этой статьи стал вопрос из нашего Telegram‑чата поддержки (присоединяйтесь — он открыт для всех!): «Почему в репозиториях Angie среди множества сторонних модулей отсутствует Nginx Fancy Index?».

Меня удивило, что кто‑то пользуется устаревшим модулем, поскольку ещё в 2014 году я добавил во встроенный в nginx модуль «autoindex» поддержку форматов JSON и XML, что делает сторонние решения избыточными.

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

Читать далее

Балансировка в Angie

Level of difficultyMedium
Reading time20 min
Views4.2K

Статья посвящена обзору возможностей балансировки в трёх продуктах: Angie, Angie PRO, Angie Load Balancer в составе Angie ADC. Angie - бесплатный продукт с открытым исходным кодом, остальные два - коммерческие продукты. Некогда Angie был создан как форк NGINX.

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

Читать далее

Angie ADC в Реестре ПО или «А чем это отличается от веб-сервера?»

Level of difficultyEasy
Reading time10 min
Views2.2K

— Знакомьтесь! Пудинг, это Алиса. Алиса, это Пудинг.
— Знакомьтесь! Angie ADC, это Алиса. Алиса, это Angie ADC.

По случаю добавления в Реестр ПО нашего нового продукта Angie ADC расскажем подробнее “а про что это”. ADC расшифровывается как Application Delivery Controller, можно перевести как “контроллер доставки приложений“ или просто система балансировки. Так как у этого названия много общего с названием балансировщик нагрузки (load balancer), возникает вопрос “а в чем же отличие?”. Попробуем разобраться.

Читать далее

Копирайты – это рак, или инфраструктура разработки веб-сервера Angie

Level of difficultyMedium
Reading time17 min
Views3.2K

Open source проект – это не только код.

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

На примере веб-сервера Angie расскажу вам про  инфраструктуру проекта с открытым исходным кодом в формате интервью, которое я взял у команды в режиме чайка менеджера в пятницу вечером. С учетом того, что команда делает опен-сорс проекты последние 15 лет, получилось, как нам кажется, интересно.

Читать далее

«Open source в России» — интервью с сооснователем и CTO компании-разработчика веб-сервера Angie

Reading time9 min
Views2K

Продолжаю рассказывать о российских разработчиках open source решений и технологий. На этот раз удалось пообщаться с Валентином Бартеневым, сооснователем и руководителем отдела разработки компании-разработчика российского веб-сервера Angie. Мы обсудили развитие компании, работу в формате open source, взаимодействие с партнерами и не только.

Читать далее

Интервью с Валентином Бартеневым: как бывшие сотрудники Nginx разрабатывают отечественный веб-сервер Angie

Level of difficultyEasy
Reading time8 min
Views14K

Уже больше года в информационном пространстве появляется компания «Веб-Сервер», разрабатывающая отечественный открытый веб-сервер Angie и его коммерческую версию Angie PRO. Информационная служба Хабра пообщалась с руководителем отдела разработки «Веб-Сервера» Валентином Бартеневым. Узнали историю компании, детали разработки, планы по развитию и готовы поделиться этим.

Читать далее

Многогранный мониторинг Angie, форка веб-сервера nginx

Level of difficultyMedium
Reading time11 min
Views14K

Здравствуй, дорогой читатель. Меня зовут Дмитрий. Я — системный инженер компании «Веб-сервер». На протяжении моего опыта оказания услуг технической поддержки сначала в компании Nginx, а теперь и в компании разработчика российского веб-сервера Angie, мы отвечаем на очень популярный вопрос: «Как организовать мониторинг состояния веб-сервера?». А вот так.

Читать далее

Задержать COVID-19. Все про фильтрацию воздуха на случай пандемии

Reading time44 min
Views373K
По материалам из телеграм-канала LAB66 и присоединенного к нему чата.

Это время для фактов, а не для страха. Это время для науки, а не слухов. Это время солидарности, а не охоты на ведьм…
директор ВОЗ Tedros Adhanom Ghebreyesus про эпидемию COVID-19
Прошло немного времени с момента публикации моей статьи про респираторную защиту во время эпидемии. За это время, отчасти благодаря активному обсуждению в «приканальном» чате выработалась некоторая система, которой бы я хотел поделится и с читателями хабра. Вынудило меня написать эту статью то, что из-за коронавируса поднялся нездоровый хайп, на волне которого на поверхность начала всплывать совсем не та информация, которая всплывать должна была бы (равно как и внезапно подскочили до х40 раз цены на респираторы, притом все без разбора). Так что нужно расставить точки над i. Под катом читаем про подбор правильного респиратора, про сборку кастомных фильтров и стерилизацию зараженных средств защиты. Ответы на вопросы.

Грантовая поддержка исследования
Фактически, в роли «научного грантодателя» для этой статьи выступают мои «меценаты» с Patreon. Благодаря им все и пишется. Поэтому и ответ они могут получить раньше всех других, и черновики увидеть, и даже предложить свою тему статьи. Так что, если интересно то, о чем я пишу и/или есть что сказать — поспешите стать моим «патроном» (картинка кликабельна):



Статью же настоятельно рекомендую «в закладки». Буду рад любому посильному распространению статьи. Краткий итоговый FAQ — в конце статьи.


Собираем полумаску под себя!

Иди-ка ты на !@# со своей «токсичностью»

Reading time5 min
Views215K
IT — не детский садик. Это место для взрослых, руководствующихся логикой и здравым смыслом. Их не надо опекать, не надо следить за словами, не надо переживать, что у них сформируются комплексы. Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.

Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
Читать дальше →

«Ошибки в ДНК» или как неправильный дизайн может приводить к миллионным убыткам

Reading time4 min
Views5.1K
Написать эту заметку меня побудили очередная статья с «криком души»: ну почему Windows в очередной раз требует перезагрузки при изменении чего-либо (обычно это установка/удаление программ, но бывают и другие случаи)? Почему разработчики Windows-приложений — такие лохи, а разработчики Linux-программ (где таких сообщений при установке «обычных программ» не бывает) — такие молодцы?

Этот феномен всем давно известен — но задумывались ли вы о том откуда у него «ноги растут» и почему в других операционных системах (Linux, MacOS X и т.п.) подобные окна являются чем-то исключительным, а в Windows — постоянным?
Читать дальше →

Как устроен парсер Python, и как втрое уменьшить потребление им памяти

Reading time12 min
Views50K
Любой, кто изучал устройство языков программирования, примерно представляет, как они работают: парсер в соответствии с формальной грамматикой ЯП превращает входной текст в некоторое древовидное представление, с которой работают последующие этапы (семантический анализ, различные трансформации, и генерация кода).

КДПВ

В Python всё немного сложнее: парсеров два. Первый парсер руководствуется грамматикой, заданной в файле Grammar/Grammar в виде регулярных выражений (с не совсем обычным синтаксисом). По этой грамматике при помощи Parser/pgen во время компиляции python генерируется целый набор конечных автоматов, распознающих заданные регулярные выражения — по одному КА для каждого нетерминала. Формат получающегося набора КА описан в Include/grammar.h, а сами КА задаются в Python/graminit.c, в виде глобальной структуры _PyParser_Grammar. Терминальные символы определены в Include/token.h, и им соответствуют номера 0..56; номера нетерминалов начинаются с 256.

Проиллюстрировать работу первого парсера проще всего на примере. Пусть у нас есть программа if 42: print("Hello world").
Читать дальше →

Как улучшить свой стиль программирования?

Reading time6 min
Views139K

Исповедь 1


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

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать дальше →

Как я сделал российский вычислительный комплекс с двумя экранами

Reading time3 min
Views781
В свете дискуссии, развернувшейся в комментариях к посту про "российский смартфон на андроиде", расскажу о том, как я сделал российский вычислительный комплекс с двумя экранами (РВК-ДЭ).
Читать дальше →

Как потерять время и деньги

Reading time3 min
Views2.7K
Этот пост — перевод эссе Пола Грэма "How to lose time and money".


Когда мы продали наш стартап в 1998 году, я внезапно разбогател. Мне пришлось задуматься о том, как не потерять это богатство. Я знал, что возможно превратиться из богатого человека в бедного, точно также, как из бедного в богатого. Но в то время как я потратил несколько лет на то, чтобы узнать путь от бедности к богатству, я не знал практически ничего о пути от богатства к бедности. Теперь я должен был узнать это, чтобы избежать этого.
Читать дальше →

Никто ни хрена не знает, что он делает или Три типа знания

Reading time6 min
Views2.4K
Наткнулся недавно за любопытную статью под названием «No One Knows What the F*** They're Doing (or The 3 Types of Knowledge)». Если точнее, то эту статью разослала нам наша менеджер проекта. Представляю вашему вниманию свой перевод этой статьи.
(Я попытался передать экспрессивный заголовок максимально близко — но всё равно не получилось, буду рад предложениям, как можно более точно его передать).

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

Инфляция и образование

Reading time2 min
Views1.5K
EduflationЯ понимаю, что этот топик не совсем по тематике Хабрахабра, но тем не менее он касается каждого из нас. И я просто хочу обратить Ваше внимание на вопрос, который меня очень беспокоит.

Не нервничайте. Вы услышали слово инфляция, но это не значит, что я буду рассказывать про $самизнаетечто. Тогда при чем здесь образование? — спросите Вы. При всем! Дело в том, что прямо на наших глазах происходит одна ужасная вещь, мимо которой нельзя пройти равнодушным и которую мы просто обязаны заметить.

В прошлом столетии, да, в том самом, где осталась твоя молодость, если у тебя был диплом специалиста — то получить работу не представляло особого труда. По крайней мере в западном мире. В нашем тебя просто направляли в конкретное место, хочешь ты того или нет. Но суть от этого не меняется.

А все из-за того, что иметь высшее образование раньше — было круто. Но сейчас получение диплома превратилось в обычный мудатский ритуал, который должен пройти каждый. Ведь иначе, по мнению общества, человек не полноценный?

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

Как стать «ранней пташкой»

Reading time9 min
Views4.7K

Это одна из моих любимых статей Стива Павлины о саморазвитии. Несмотря на широкую популярность статьи, найти ее на Хабре мне не удалось, решил поделиться с Вами.

Хорошо вставать до рассвета,
такая привычка способствует здоровью,
богатству и мудрости.
Аристотель


«Жаворонками» рождаются или становятся? В моём случае совершенно точно имело место становление. Когда мне было чуть больше двадцати, я редко ложился спать раньше полуночи и почти всегда вставал поздно. Обычно я не начинал свои дела до конца обеда.

Но через некоторое время я уже не мог не замечать явную зависимость между успехами и ранним подъёмом, даже в моей личной жизни. В те редкие случаи, когда я вставал рано, моя производительность почти всегда была выше, и не только утром, но и в течение всего дня. Кроме того, я был в прекрасном расположении духа. Будучи человеком, который активно добивается своих целей, я решил выработать привычку рано вставать. Я просто поставил будильник на 5 утра…
Читать дальше →

Первые шаги на пути к покупкам на ebay, dealextreme, focalprice, kaidomain…

Reading time2 min
Views8.4K
Не секрет, что на ebay, DX, KD и прочих онлайн-магазинах существует много гаджетов и товаров, которых в РФ не найти. Чтобы удовлетворить свои гиковские потребности, а также просто тратить с умом, рано или поздно приходится обращаться к интернет магазинам. Однако новички теряются во всех этих «палках, клеймах, лотах, диспутах, EMS, USPS и прочее», а также некоторые не владеют английским для того, чтобы элементарно зарегиться в paypal.
Для этой цели админом форума ebay-forum.ru был создан подробнейший pdf-мануал, с которым я и предлагаю всем желающим ознакомиться.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity