Pull to refresh
Chipp Zanuff @andoriyuread⁠-⁠only

User

Send message
Затем, что в нормальных языках (си например) switch разворачивается в низкоуровневое сравнение которое быстрее if'a. Алсо, этого примера у меня кровоточат глаза, как я понимаю тут используется словарь и аноанимные функции, это как бы совсем не оптимально. Я конечно понимаю, что сейчас можно не экономить на памяти и процессоре, но не до такой же степени!

p.s.
Так и представляю подобный код вашим методом:
gist.github.com/759642
Чтобы написать библиотеку для ruby надо как миниум понять суть gem'ов и то как на реализовать это на ruby. Банально сразу и с места говнокод писать не получится. :D да и то, что код будут видеть другие дает о себе знать.

>часто встречаются жалобы на то, что «асиляторы» не знают языка,

Правильно, они не осилил язык, а начали сразу с фрэимворка. недоосилили фрэимворк и начали клепать говно-код.

Про switch это печально. Хотя если бы его реализовали тупо так же как if — в нем нет смысла.
В том, что студент еще не разобрался в языке нормально (пишет говнокод), не осилил готовую cms/framework(ниасилятор) и пишет свое унылое поделие.

Алсо, а что в писоне нет switch?
Конечно в похапе. Судя по всему каждый студент считает обязательным написать свою библиотеку вместо того, чтобы взять готовую. Правда большинство этих библиотек не доступно публики, но от этого только лучше.
Мы все же хотим написать приложение, а не helloworld. В любой книжке по рельсами пишут, что ruby это вам не для hello world'ов.

>Кстати, вы не поверите, но по запросу fastcgi ruby находятся какие-то сторонние проекты, а не как настроить fastcgi штатными средствами языка. В книжке, кстати, тоже какой-то сторонний проект был приведён.

Да. Это ruby way. Вероятно если вы посетити ruby-toolbox.com/ у вас просто разорвется мозг от того, сколько всего было написано до вас.
Вообщем как в статье и написано — анализировать вы не умеете. Покажите мне книжку по ruby, чтобы там не было написано о рельсах. Вы не разобравший доконца в инструменте начали городить свой велосипед. Кстати, fastcgi для руби находится, вы не поверите, по запросу fastcgi ruby.

>PHP работает над HTTP/fast-cgi, ruby его реализует.

Каким это образом? все тот же уровень. Или у вас разрыв мозга от того, что сервер и приложение написаны на однои и том же языке? Ruby может работать как в cgi, как и в fastcgi режиме (в отличии от похапе — нормальный fast cgi). Вы уже ушли далеко от темы и показали свои глубокие знания.
А знаете почему оказались? Потому, что совсем не знаете инструменты с которыми собирались работать. В комментариях не раз проскакивало то, что для стандартный функций тут писали свои обвертки и костыли. Ну и как далеко вы уйдете на голом php? Не дальше «сайта-визитки», ну максимум недо-блог. (незабываем, что ваша религия не позволяет вам использовать библиотеки которых нет из коробки)

Причем тут модель OSI мне не понятно, что ruby, что php там на одном уровне. Единственное я не знаю как у php с 4 уровнем OSI.
>Использование устаревших (?) медленных (!) интерфейсов :)

Так не используйте CGI, используйется passenger/thin/mongrel/что-то еще + rack based framework.

Дело в том, что в отличии от php, ruby is not only for homepages. На ruby можно писать и демоны, и десктопные приложения, и клиенты разных сервисов, и вэб-приложения. Следовательно в книже по Ruby пойдет речь не о web приложении, а о языке в целом, а не о том как сделать «сайт визитка за 5 минут», там расскажут как работать с блоками, лямбдами, хэшами, циклами, гемами и прочими вещами.

Никому (кроме безмозглый свичеров с php) не стукнет в голову писать на голом ruby web приложение. Так, что да, надо 2 книжки — по Ruby и по рельсам. Можно обойтись одной книжкой и чтением документации к фрэимворку, но включить мозг придется.
Такие дела.
Проблема — «После прочтения первой я могу написать «хелло юзер» для веба в одну строчку, а после второй не могу, строк 100 (условно) нужно»
Я написал при помощи rack helloworld короче, вам не понравилось наличие rack (ну ок, религия такая, надо уважать чужую религию), я вам написал helloworld для web'a без помощи внешних библиотек — теперь вам, что не нравится?

FYI: mod_php не входит в стандартную библиотеку php и уж точно не стандартный модуль apache. Любая книжка по rails скажет в качестве сервера использовать passenger + ree в продакшене и mogrel в девелопинге. WEBrick (web server) входит в стандартную библиотеку. WYGN?
В руби, на сколько я знаю, отсутствует какая либо прослойка между вэбсевером и приложением кроме как rack. Если так охота php-way напишите свой mod_ruby, вы же мастер все с нуля писать. Не вижу в зависимости от rack ничего плохого — развитие от этого только быстрее. Однако, таки можно использовать ruby без каких либо гемов с апачем(AddHandler cgi-script .rb
Options +ExecCGI):

#!/usr/bin/ruby

puts «Content-Type: text/html»
puts
puts «Hello Douche!»

А можно еще так (cgi входить в стандартную библиотеку):

#!/usr/bin/ruby

require 'cgi'

# Create a cgi object, with HTML 4 generation methods.
cgi = CGI.new('html4')

# Ask the cgi object to send some text out to the browser.
cgi.out {
cgi.html {
cgi.body {
cgi.h1 { 'Hello douche!' }
}
}
}

Where is your god now?

>хотя бы при изучении — сначала пишем с нуля, потом по мере роста кодовой базы выделяем, следуя принципу DRY, фактически свой фреймворк

Иначе говоря, тратим в разы больше времени, на разработку, пишем свой код (а бывает и говнокод) вместо того, чтобы взять готовое? И часто ли свой адаптер для mysql пишете? У вас вероятно есть своя коллекция php расширений, вы же все с нуля пишете всегда.

>Таки появился, можно даже на хабре найти как-то типа «true fastcgi в php» была статья.

Читал, где в продакшене используется? И много ли людей пишут под true fastcgi?

Правильно, что не нашли. Rack это фрэимворк для фрэимворков. И с одним только rack можно сделать много больше чем на голом php с одно и тоже время. Если вам конечно охото сделать нечно — index.rb post.rb ololo.rb — это ваше право, но это не ruby way. Вам конечно придется написать свой mod_ruby_via_ass, но это же не язык виноват, что там нет работы через жопу.

>Что плохого в смешивании в одном файле, если принцип DRY выполняется, код представления отделён от кода бизнес-логики и логики приложения? Зачем плодить сущности без необходимости? Или вы представляете себе любой скрипт на php начинающимся с … и кодом подключения к бд где-то в внутри?

Конечно нет! бд подключается инклюдом db.php в config.php который инлюдится в каждый фаил!

Кстати, в php такие появился настоящий fast-cgi?
#!/usr/bin/env ruby
require 'rack'

class HelloWorld
def call(env)
return [200, {}, [«Hello world!»]]
end
end

Где тут 100 строк? Только вот ты после прочтения этой нижки по похапе так и будешь смешивать логику с шаблоном в одном файле, а я использую haml,erb. Просто у ruby разработчиков в отличии от похапешников есть культура кода (навязана тем, что нельзя просто сделать echo «Hello World» >> index.php, и они умеет тратить время с умом — они не будет делать велосипед если он уже изобретен и устраивает.
RoR, Sinatra/Padrino, Grape, Rack, EventMachine (мы же не ограничиваемся вэбом?), MacRuby, впрочем много их, но они все ненужны ибо есть RoR и Sinatra. Это в похапе каждый студент считает необходимым создать свой говно-фрэимворк и на нем создать свою CMS, в руби такой херни нет.
нет. Что-то мне подсказывает, что у нас нет такого понятия как «недопиленый бюджет».
ну конечно. покажи мне linux на десктопе в США с ffmpeg/mencoder и без x264. Или mediatomb без youtube модуля.
Забавно как прыщестуденты не зная понятий GPL требуют исходных кодов. Но сами забывают, что очень часто GPL продукты нарушают патенты некоторых компаний если собирать их с определенными опциями (а именно с ними они их и собирают).
К корпаративному у меня нет претензий, правда я не знаю в каком он сейчас состоянии.
Хорошо, последний продукт Symantec который меня устраивал — это корпоративный антивирус. Такой без всяких свистелок перделок, со своим центром обвновления, управления всеми клиентами из одной консольки, невозможностью редактирования настроек с клиента без ввода пароля администратора. Ну такой серьезный антивирус, и работал он хорошо. А потом еще я помню Symantec что-то там который беслатно 60/90 дней при покупки ноута, так вот этот антивирус вешал систему при загрузке. Все это подводит нас к вопросу — А за последние 8 лет, что-то изменились? потому, что тот антивирус который все еще предустанавливают на буки все так же тормозит и вешает систему.
дело в том, что одной регистрации не хватает. Что даст одна регистрация? Точные координаты места и уровень сигнала — иметь при себе несколько этих точек можно определить координаты. Эта функция есть в известном пакете Kismet. Во времена когда делать было нечего занимался такой темой, так что тема эта известна очень давно, тут основная фича в том, что:
1)База публично доступна
2)База пополняется доставщиками пиццы^W^W владельцами телефонов с андроид ос (забавно, у всех доставщиков пиццы которых я видел действительно были андроид фоны и они их использовали для поиска дома)
3)XSS для определенного роутера позволяет вытянуть MAC.

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

Information

Rating
Does not participate
Location
Santa Barbara, California, США
Registered
Activity