В современном мире вряд ли кому-то придет в голову выполнять традиционные CGI-приложения, если мы не вспоминаем про разные странные штуки типа веб-морды роутера. Сделать и обработать CGI-запрос? Но зачем? Вы выше упоминали FCGI, он ведь не требует выполнения CGI-запроса, правда? Вот и PSGI этого не требует. Так же как и HTTP-протокол в обоих случаях несколько «сбоку» находится. Оверхед по сравнению с чистым FCGI (или чем-то другим), безусловно, у Plack есть, это правда. Но и FastCGI станет оверхедом по сравнению с веб-сервером, который будет выполнять Ваш perl внутри себя и сразу отдавать ответ юзеру, а не разговаривать с аппликейшном по сокету. Все относительно
PSGI это всего лишь интерфейс, по которому вы строите свое приложение. Вы не знаете и не думаете о том, каким образом результаты работы этого приложения доходят до пользователя — может быть, эти результаты сразу же каким-нибудь starman'ом переводятся в форму HTTP-протокола, а может быть они отдаются по FastCGI или uWSGI в нжинкс, а в HTTP их переводит уже он. Вы просто не думаете об этом, вы пишите функцию, которая имеет аргументы и возвращаемое значение. Это очень просто, и это очень важно. Все плюсы PSGI и Plack основываются именно на этом факте. Итак, плюс номер один — вы не думаете о том, какой вебсервер будет крутить ваши приложения.
Plack — это модули, реализующие PSGI на perl. Кроме собственно поддержки вышепомянутой функции-приложения Plack включает в себя ряд достаточно интересных интерфейсов, которые позволяют упростить написание этих самых приложений. Вообще то, что вы имеете дело с функцией, позволяет вам делать разные забавные штуки, такие как заворачивание вашeй функции-приложения в декораторы, которые в Plack называются Middleware. Сделать, чтобы раздел сайта открывался только зарегистрированным пользователям? Легко, пишем класс Middleware из десятка строчек, и заворачиваем в него ваш раздел сайта. Каждое из ваших приложений в результате своей работы выплевывает шаблон? Окей, давайте возвращать из приложения имя шаблона и набор шаблонных переменных, и пусть его приводит к стандарту PSGI еще один простенький декоратор. Вот вы уже отошли от интерфейса PSGI и сделали свой собственный интерфейс для своих собственных приложений — с другим возвращаемым значением. Далее. Plack вводит интерфейс Plack::Component, который легким движением руки приводится к форме PSGI-приложения, но дает вам возможность использовать наследование при написании приложений. Все это вместе (назовем это «удобным инструментарием разработки») — плюс номер два, имхо на практике он гораздо интереснее первого.
Я сейчас не говорю, что вы можете здесь сделать что-то, что не умеет Mojo или CGI. Вы можете сделать все что угодно и там, и там, была бы голова. По старым вашим комментариям к околоперловым темам я помню, что она у Вас есть, а значит все это не проблема :) Я точно знаю, как сделать раздел сайта на CGI-скриптах открытым только для залогиненных юзеров, но реализация эта тошненькая по нынешним временам. А под Plack это чуть ли не лучшая иллюстрация возможностей. И Plack в отличие от Mojo — узконаправленный инструмент, не берущий на себя слишком много. Лично мне под Mojo неуютно жить, а под Plack — в самый раз. Вам, возможно, наоборот, это нормально, нет смысла ломать тут копья.
И по поводу размера. В составе Plack значительное количество модулей — реализации всяких Middleware & Applications, типа отдачи статики с диска, поддержки «старообрядческих» каталогов с CGI, автоподгрузка измененных на диске перломодулей, поддержка Basic Auth и прочей чепухи, как правило, совершенно бесполезной на продакшне (но весьма помогающий разобраться в авторском подходе к работе с Plack). Плюс поддержка различных нужных и ненужных бэкенд-серверов (CGI/FastCGI/mod_perl итд). Плюс поддержка функциональных тестов. Если весь этот треш выбросить (а можно не выбрасывать, лишнее не загрузится), Plack очень и очень сильно похудеет. Признаться, я не понимаю, почему автор сложил сразу все в одну кучу, но автор — он, пусть делает как считает нужным.
Пакеты, пакеты и только пакеты. К сожалению, rpm. Время обновления тачки и ее пуска больше чем хотелось бы, поэтому во время обновления машина не видна пользователям.
Хочется шаринга папок между аккаунтами, как в гуглодрайве. Идеальный способ пошарить фотки с друзьями после совместного времяпровождения, или переслать их родне.
Ну я ж говорю, 3 года назад дело было, потому много серверов еще было под 5кой. А что до федоры, то это конечно никак не руководство к действию, вы совершенно правы. Нам повезло — никаких отрицательных эффектов во время апгрейда мы не ловили, а сам апгрейд проходил очень легко и быстро благодаря шаблонам виртуозы. Но и проект был несложным. Сейчас бы я запарился только зависимости пересобирать…
Везет людям.
Я года 3 назад в сердцах сказал нашему сисадмину, мол, на прежней работе мы не выпендривались и ставили федору — хоть и не так стабильно, но со свежестью софта вопрос никогда не стоял, а этот ваш центос 5… На что он гоготнул и ответил, что у нас тоже есть кой-где федора. Вторая.
Сколько задач обычно попадает в релиз? Не будет ли проще пересоздать релиз и заново вмержить только нужные задачи в автоматическом режиме? Вероятность конфликтов при этом уменьшится.
Принцип работы прост. Пока домофон не используется, питания в линии нет. Когда трубка лежит, динамик напрямую соединён с линией, сопротивление трубки при этом менее 50 Ом
Источник уже не помню точно — может интернет, а может и книжица, которую стрельнул у родственника, работающего тогда монтером на узле связи. В общем отложилось, что у советских телефонов было примерно такое же свойство. Соответственно, все звуки, долетевшие до телефонного капсюля, попадали в линию. При желании можно было подключиться к ней снаружи и послушать. Что-то я огорчен Вашим открытием :(
Что ж, очень хорошо, спасибо Вам за то, что Вы делаете. В свое время очень порадовало в генте именно то, что русскоязычная документация среди линукс-проектов была самая-самая. По крайней мере, именно ее находил гугл на первых позициях. К сожалению, со временем расклад изменился, и это печально. Идея такого дистрибутива очень и очень правильная, и нельзя допустить, чтобы он загнулся.
Кстати, раз уж Вы коснулись тут калькулейт-линукса, объясните плз, в чем у них идейные и практические отличия от генты? Я когда-то пытался понять это по их сайту, но нихрена кроме воды не увидел.
Десяток лет сижу на перле, и в среднем раз в несколько дней заглядываю в доку по поводу какой-нибудь банальной substr :) Неожиданностью для себя самого стало то, что со временем подобные функции из ходовых ушли куда-то на задний план и стали использоваться редко. И вроде бы я даже помню порядок ее аргументов, но проверить через доку и не ждать сюрпризов от отладки — имхо совсем не стыдно и в случае фейла выйдет гораздо дешевле, чем найти то же самое глазками.
Больше всего бесит то, что очень трудно купить просто нормально изданную книгу. Качественно сделанную. Почему-то издатели думают, что если сделать обложку из картона и раскрасить ее поцветастее и побестолковее — это будет круто. Я в целом не собираюсь никого переучивать, мне только не нравится, что так думают все издатели.
Относительно недавно на озоне взял импортный пятитомничек (кажется) Конан Дойля. Просто так, с мыслью что если понравится, то может наконец что-то прочитаю на англицком, а если нет — и подарить не жалко. Я чуть не прослезился когда взял его в руки. Тканевый переплет! Вашу мать, да я его последний раз видел на книжках, изданных у нас в 80х годах! Ничего выдающегося, просто хороший добротный тканевый переплет. Незатейливая, но хорошая белая бумага нормальной толщины. Какого черта я не могу купить ничего подобного, но изданного у нас? Не кожанный переплет с золотым тиснением на мелованной бумаге за 5-10 тыр, не макулатуру за 200 рублей, а просто хорошо сделанную книгу за… ну хоть за сколько нибудь. Чтобы стояла на особой полке рядом с книгами, купленными еще родителями, не выделялась на их фоне, как бельмо на глазу. За последнее время из того, что мне доводилось купить, под это условие подошло только собрание сочинений Стругацких, которое черное в 12 томах. И то — оформление хоть и строгое, но бумажное, и номера томов, сделанные золотой краской, оказались не слишком стойкими. А остальное — вообще никуда не годится.
После того как в первый раз прочитал «Лунную радугу» Сергея Павлова, у меня нет никаких предубеждений против кодовых фраз :) Кстати, книга написана в 1978м году.
— Тринадцать-девять, — произнес Андрей формулу обращения для автомата-бытопроизводителя. — Завтрак.
Метровый участок ковра вспучился, неприятно зашевелился (словно там задергалось что-то живое), мох сошел пухлыми складками к пропустив наружу матово-белую полусферу, снова сомкнулся вокруг ножки подъемника.
— Кресло, — добавил Андрей.
Ковер повторил неприятное шевеление. Усевшись, Андрей ощутил последнюю судорогу кресла, подумал: «Гармония между вещами и человеками».
Ударом пальца о край полусферы заставил ее распахнуться: раскрылась подобно бутону нимфеи. Приятный сюрприз: в хрустальном вазоне живая ветка расконсервированного багульника. Не успел он наполнить бокал кумысом — тишину под сводами грота разогнали прозрачные, как весенняя капель, звуки клавира Гайдна. Завтрак был сервирован хрусталем алмазной огранки. Давно бы так. Металл надоел… О, салат из омаров!
— Тринадцать-девять, будь любезен… окно.
(Хрусталь, омары и Гайдн располагали к некоторому изяществу манер.)
Ну, в остальном он до таких тонкостей не опускался. Если честно, мне уже немного поднадоел такой топорный стиль «вредных советов», как в этих «десяти заповедях». Хотя, возможно в оригинале все это несколько более изящно реализованно, как знать.
Plack — это модули, реализующие PSGI на perl. Кроме собственно поддержки вышепомянутой функции-приложения Plack включает в себя ряд достаточно интересных интерфейсов, которые позволяют упростить написание этих самых приложений. Вообще то, что вы имеете дело с функцией, позволяет вам делать разные забавные штуки, такие как заворачивание вашeй функции-приложения в декораторы, которые в Plack называются Middleware. Сделать, чтобы раздел сайта открывался только зарегистрированным пользователям? Легко, пишем класс Middleware из десятка строчек, и заворачиваем в него ваш раздел сайта. Каждое из ваших приложений в результате своей работы выплевывает шаблон? Окей, давайте возвращать из приложения имя шаблона и набор шаблонных переменных, и пусть его приводит к стандарту PSGI еще один простенький декоратор. Вот вы уже отошли от интерфейса PSGI и сделали свой собственный интерфейс для своих собственных приложений — с другим возвращаемым значением. Далее. Plack вводит интерфейс Plack::Component, который легким движением руки приводится к форме PSGI-приложения, но дает вам возможность использовать наследование при написании приложений. Все это вместе (назовем это «удобным инструментарием разработки») — плюс номер два, имхо на практике он гораздо интереснее первого.
Я сейчас не говорю, что вы можете здесь сделать что-то, что не умеет Mojo или CGI. Вы можете сделать все что угодно и там, и там, была бы голова. По старым вашим комментариям к околоперловым темам я помню, что она у Вас есть, а значит все это не проблема :) Я точно знаю, как сделать раздел сайта на CGI-скриптах открытым только для залогиненных юзеров, но реализация эта тошненькая по нынешним временам. А под Plack это чуть ли не лучшая иллюстрация возможностей. И Plack в отличие от Mojo — узконаправленный инструмент, не берущий на себя слишком много. Лично мне под Mojo неуютно жить, а под Plack — в самый раз. Вам, возможно, наоборот, это нормально, нет смысла ломать тут копья.
И по поводу размера. В составе Plack значительное количество модулей — реализации всяких Middleware & Applications, типа отдачи статики с диска, поддержки «старообрядческих» каталогов с CGI, автоподгрузка измененных на диске перломодулей, поддержка Basic Auth и прочей чепухи, как правило, совершенно бесполезной на продакшне (но весьма помогающий разобраться в авторском подходе к работе с Plack). Плюс поддержка различных нужных и ненужных бэкенд-серверов (CGI/FastCGI/mod_perl итд). Плюс поддержка функциональных тестов. Если весь этот треш выбросить (а можно не выбрасывать, лишнее не загрузится), Plack очень и очень сильно похудеет. Признаться, я не понимаю, почему автор сложил сразу все в одну кучу, но автор — он, пусть делает как считает нужным.
Я года 3 назад в сердцах сказал нашему сисадмину, мол, на прежней работе мы не выпендривались и ставили федору — хоть и не так стабильно, но со свежестью софта вопрос никогда не стоял, а этот ваш центос 5… На что он гоготнул и ответил, что у нас тоже есть кой-где федора. Вторая.
Источник уже не помню точно — может интернет, а может и книжица, которую стрельнул у родственника, работающего тогда монтером на узле связи. В общем отложилось, что у советских телефонов было примерно такое же свойство. Соответственно, все звуки, долетевшие до телефонного капсюля, попадали в линию. При желании можно было подключиться к ней снаружи и послушать. Что-то я огорчен Вашим открытием :(
Кстати, раз уж Вы коснулись тут калькулейт-линукса, объясните плз, в чем у них идейные и практические отличия от генты? Я когда-то пытался понять это по их сайту, но нихрена кроме воды не увидел.
Относительно недавно на озоне взял импортный пятитомничек (кажется) Конан Дойля. Просто так, с мыслью что если понравится, то может наконец что-то прочитаю на англицком, а если нет — и подарить не жалко. Я чуть не прослезился когда взял его в руки. Тканевый переплет! Вашу мать, да я его последний раз видел на книжках, изданных у нас в 80х годах! Ничего выдающегося, просто хороший добротный тканевый переплет. Незатейливая, но хорошая белая бумага нормальной толщины. Какого черта я не могу купить ничего подобного, но изданного у нас? Не кожанный переплет с золотым тиснением на мелованной бумаге за 5-10 тыр, не макулатуру за 200 рублей, а просто хорошо сделанную книгу за… ну хоть за сколько нибудь. Чтобы стояла на особой полке рядом с книгами, купленными еще родителями, не выделялась на их фоне, как бельмо на глазу. За последнее время из того, что мне доводилось купить, под это условие подошло только собрание сочинений Стругацких, которое черное в 12 томах. И то — оформление хоть и строгое, но бумажное, и номера томов, сделанные золотой краской, оказались не слишком стойкими. А остальное — вообще никуда не годится.
habrahabr.ru/post/167727/