Пятница, 18 Апрель 2008
Nginx и потенциальные проблемы, мимо которых пока пролетают все, файлы: ответ
В рассылке nginx’а подняли тему о моем наезде на него.
В рассылке nginx’а подняли тему о моем наезде на него.
Что бы закончить про «память» в nginx надо затронуть тему выделения памяти из pool’а.
Nginx это достаточно сложная программа, в которой есть свои методы работы с памятью, о которых хочется рассказать. Но начинать стоит с малого. С pool’ов.
В продолжение рассказа о списках стоит рассказать и о массивах в nginx.
Начиная цикл заметок о программировании для Nginx, хочется рассказать о списках.
Nginx — это web-сервер который используется многими для отдачи «статики» или как «прокся». Я не исключение. Но я не хочу его хвалить, и так все делают это. Я хочу вам рассказать о проблемах в нем,, которые есть, которые никто не исправляет и мимо которых вы все удачно проходите.
Подумалось сейчас. В IDE(Microsoft Visual Studio, например) человек обложен инструментами настолько, что ему чрезвычайно просто работать с плохим кодом. Вместо проработки интерфейса он будет пользоваться автодополнением, которое подскажет, например.
Положить работу с задачами на распределенной репозиторий и оперировать событиями.
В качестве предметной области берется разработка софта. В качестве базовой терминологии — git.
Делается репозиторий. Он может быть центральный, он может быть локальный. Предполагаем что репозиторий локальный. И его создал PM (менеджер проекта). Он создает событие «создал таск» с заданием для программиста, далее именуем его task1. Так же PM создает task2 и task3.
D (программист) клонирует (clone) к себе репозиторий PM. Он создает событие «начал делать» в task1 (если проводить аналогии с git то это запись в файл, а создание task’а это создание файла). После конца работы над task1 он создает событие «закончил работать» и событие «таск сделан».
И D и PM имеют доступ к репозиториям друг‑друга и иногда забирают новые события или таски друг от друга (pull’ят). Так же D может, если ему позволено, посылать события в репозиторий PM (push делать).
Данная схема легко маштабируется до тестировщиков и еще каких-то людей. Так же она легко превращается в централизованную.
Естественно каждое событие можно подписывать pgp-ключом или pki-сертификатом. И как‑то учитывать их при постройке отчета.
Для более понятного замысла был сделан пример реализации на bash вокруг git. Взять можно тут: http://catap.ru/repos/draft/tt.git.
Всплыла идея сделать «быстрый просмоторщик изображений». Причина появления задачи сообщение dottedmag.
Написать быстрый просмоторщик изображений.
Отныне я член ALU за номером 196 ☺, принимаю поздвравления.
p.s. — да, у меня дошли руки заплатить челенский взнос