Хочу в офис на Highload

fixxxer

К.О.
Партнер клуба
~WR~ Все что я видел современного по линуксам, это либо слишком поверхностно, либо наоборот слишком in-depth, для kernel hacker-ов.

Хотя я тут подумал, что нафиг это все читать? Есть способ интереснее - вот тебе такая задачка.
Написать на php демон вебсервера, работающего по протоколу HTTP/0.9 и поддерживающий единственный метод GET (простоты ради) на статику.
Архитектурно - аналогично apache prefork mpm - мастер + N воркеров (пусть задается константой).
Пишет аксес лог (пусть тупо timestamp url), умеет переоткрывать его по сигналу HUP (для использования с ротатором например). Умеет нормально завершаться по сигналу TERM (обслуживает уже соединения до конца).
 

~WR~

Новичок
Если я правильно понял задачу, то

1). Входящие соединения слушаем при помощи функций socket_*.
2). Разбираем заголовки запросов, отдаем запрошенную html страницу, если такая есть.
3). Воркеры создаем через pcntl_fork.
4). Слушаем сигналы в мастере через pcntl_signal. В зависимости от сигнала, мастер крутит-вертит своими детьми и переоткрывает логи.

Это первое, что в голову приходит. Ничего важного не упустил? Или я совсем не в ту степь?
Реально пока еще не приходилось писать демоны на php.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
гы. А задачка и мне понравилась. Надо будет тоже написать. :)
 

fixxxer

К.О.
Партнер клуба
~WR~
В ту:) Ну еще полезно от консоли отдетачиться (тут, правда, dup2 в pcntl не хватает, но можно обойтись proc_open) и дропнуть рутовые права если были.
 

fisher

накатила суть
фиксер, а это шетухинсткая задачка или он тоже её у кого-то видел? я просто видел её у шетухина, и она мне тоже понравилась.
 

fixxxer

К.О.
Партнер клуба
fisher
Ага. :) Ну я ее немножко упростил, Шетухину аж целый HTTP/1.0 подавай
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
да 1.0 не один месяц писать надо :) Content-Encoding, Last-Modified, Authentication
 

флоппик

promotor fidei
Команда форума
Партнер клуба
А, теперь мы знаем по чьему заданию он это делал ;)
 

fixxxer

К.О.
Партнер клуба
Угу. С http/0.9 просто формулировка короче и конкретнее - не надо описывать, что требуется реализовать
 

Absinthe

жожо
не ради флейма или холивара, но все же (всегда интересовал этот вопрос), когда ты успел столько проработать за 2 года после учебы(т.к. либо то, либо другое часто бывает), или во время, забив на учебу?
Ну, начиная с третьего курса, я тратил около 40-80 часов на учебу за полгода. Была стипендия. Как правило "можно лишь одно из двух" - это отмазка тех, кто сидел на плечах родителей и не работал.
 

Krishna

Продался Java
Ну, начиная с третьего курса, я тратил около 40-80 часов на учебу за полгода. Была стипендия. Как правило "можно лишь одно из двух" - это отмазка тех, кто сидел на плечах родителей и не работал.
Это лишь говорит об уровне твоего ВУЗа и не более, не стоит этим хвастать.
 

baev

‹°°¬•
Команда форума
Это лишь говорит об уровне твоего ВУЗа и не более, не стоит этим хвастать.
— либо говорит об уровне Absinthe, не?

Я, к примеру, после первой сессии был лишён стипендии «за прогулы», при том, что все экзамены сдал «на отлично».
(ВУЗ — Государственная финансовая академия.)
 
  • Like
Реакции: AmdY

Ragazzo

TDD interested
Absinthe
Не факт. Не сижу на плечах родителей, но преподаватели требуют 146% да, есть те, кто полегче, но все зависит от ВУЗа, так что твои доводы катят только иногда :) Работаю тоже с 3го курса если че :)
Ну, начиная с третьего курса, я тратил около 40-80 часов на учебу за полгода.
очень странно, т.к начиная с 3го курса даются профильные предметы, и спрашивают с них больше. Krishna прав.
 
Сверху