• Эмоциональный обзор Ruby 1.9
    0
    Если сравнивать с C, то очень даже (:
    Я бы даже сказал что D для C, тоже что Ruby для PHP
  • Эмоциональный обзор Ruby 1.9
    +5
    Я пишу на РНР со второй версии, в этом году начал изучать руби и рельсы.
    Если брать голый язык, то руби "красивее". Если вы пишете на РНР давно у вас должны были возникать к этому языку вопросы, например "как сделать этот код понятнее и короче?" или "почему разный стиль именования функций" или "почему у сходных функций такой разный порядок операторов". В руби такие вопросы у меня (пока) не возникают. Более того, он позволяет писать более понятный код, причем для этого не обязательно долго читать маны.
    Отдельный разговор про блоки. Вы пользовали в JS c прототайпом не именованые функции? В общем они похожи на блоки в руби. В PHP ближайший аналог это использование create_function, но после него код становится ну совсем не читаемым.
    Из минусов - говорят руби работает медленней, готов в это поверить.

    Но в наше время на голом PHP пишут очень редко, в основном используют CMS или фреймворки. Для руби есть фреймворк Rails и с ним тяжело тягаться. Опишу основные плюсы, которые я заметил:
    - Scaffolding, в часности Active Scaffold. Посмотрите демку на их сайте. Фактически, админку для БД можно сделать за считаные часы. Для фронт-энда пока не использовал, хотя, тоже можно.
    - Active Record - работа с базой данных. Для РНР есть аналоги, но совсем не такие "феншуйные". Вы описываете в моделях свои таблицы (название, как устроена связка) и работаете с записями из б.д. как с методами объекта! Фактически, за весь проект я ни написал ни одного запроса! Опять же, никаких sql-injections
    - MVC модель доведенная до совершенства. у вас действительно три разных файла, причем файлы находятся в отдельных папках. Намного удобнее поддерживать чужой код - ясно что где лежит.
    - Хелперы, облегчают однообразные операции. В часности, элементы формы, ссылки и т.д. и т.п. не надо строить руками - вызывается хелпер с параметрами. Отдельный плюс - хелперы для джаваскрипта. Можно писать JS код прямо из руби, он сам подключится в проект. В основе лежит прототайп, так что проблем с функциональностью нет.

    Из минусов: Скорость работы, хилая документация (к слову лучше мана чем у РНР я не видел), практически полное отсутствие русских книг, статей.
    И самый главный минус: после ROR очень-очень тяжело возвращаться в PHP.

    Вот самые интересные статьи, которые удалось найти Простой и понятный учебник по Ruby, обзорная статья про Rails
  • Есть ли смысл нанимать php-программистов-индусов?
    0
    Про схалтурено в точку.
    Американский заказчик как-то говорил что любит работать с русскими именно потому что они если в ТЗ есть неточности русские найдут их и сделают правильно, даже если придется убить на это кучу времени.
    Индусы же плюнут и сделают "как полегче".
  • Rails for PHP Developers
    0
    Вы же на самом деле не хотите развернуть дискуссию на тему "чей Active Record удобнее" или "Влияние Active Record на скорость работы проекта"? Тогда зачем оффтопить?
  • Цифровой контент. За что же мы платим? И о разнице между продуктом и информацией о нём.
    +1
    И если я напишу аналог торента, который будет после скачивания файла удалять его с моего диска - то я не пират?
    Эдакая социальная сеть по _обмену_ файлами.
    Ты мне диск, я тебе диск.
  • Цифровой контент. За что же мы платим? И о разнице между продуктом и информацией о нём.
    0
    Сам задавался тем же вопросом про границы.
    Если я дал послушать диск другу, я злой пират? А служба "проката дисков", она тоже аморальна и незаконна?
    Что-то не слышал я про судебные процесы над обществом любителей книги, которые собираются и обмениваются книжками.
  • Rails for PHP Developers
    +1
    Посмотрел ссылку, тема расскрыта не полностью.
    Сам начал актично читать/писать на ROR после многих лет PHP. Вопросы, в основном, возникают другие. То, что описано на сайте понятно из беглого чтения 5 страниц мана.
    А вот нюансы, аналогов которых в РНР нет, не упоминаются вовсе: Active Record, Migration, Scaffolding (в часности Active Scaffolding), работа с ООП и детальнее плюсы блоков.

    P.S. Люди, почему вы так категоричны? Выносить критические мнения должен человек, который _действительно_ разбирается в теме. В данном случае - написать несколько крупных проектов на каждом из языков.
  • Тематические Медиа: задача для собеседования
    –1
    Спасибо всем кто добавил кармы!
  • Тематические Медиа: задача для собеседования
    0
    При том, что это не задача PHP работать с логами. Есть более предназначеные для них языки, в часности - одна строка шелом, которую я не поленился и привел.
    За это у меня теперь отрицательная карма, хороший у вас способ убеждать.
  • Тематические Медиа: задача для собеседования
    0
    В одном случае вы пишите про острую необходимость, в другом - про использование данной задачи в качестве тестовой на собеседовании.
    Если бы мне предложили такую задачу на собеседовании, я подумал бы о компании плохо.
  • Тематические Медиа: задача для собеседования
    0
    К счастью не доводилось сталкиваться с ддосом, но мне кажется вы не там ужимаете время.
    Я бы потратил пол часа на анализ самого лога. Мне кажется, что ддос программы не особо умны, они либо будут открывать одну и ту же страницу много раз, либо открывать только определенные файлы, например вызывать html/php файлы, но не спрашивать картинки. Спрашивать картинки, но не брать их из кеша (не будет ответов 301/302 на эти IP адреса). В любом случае, можно при помощи нескольких грепов получить в разы меньший входящий список, обработка которого займет намного меньше времени.

    Кстати, было бы интересно сравнить скорость и результативность работы варианта на PHP, варианта на руби и варианта на шеле.
  • Тематические Медиа: задача для собеседования
    0
    Думаю язык надо выбирать под задачу.
    Из PHP вызывать ipfw как-то не хорошо: должен быть разрешен system, выключен safe mode и у запускающего юзера должны быть права рута.
  • Тематические Медиа: задача для собеседования
    +5
    Хех, а я бы на шеле реализовывал. Что-то типа:
    $ tail -n N access_log | awk {'print $1'} | sort | uniq -c | grep -v 'google_ip' | sort -nr | head -n M
    Получаем список самых частых ИП адресов. Играяссь числами N и M можно брать N последних запросов к серверу и получить M самых ярых пользователей. Почти гарантировано наяривать будут в основном ддосеры, причем их количество запросом будет отличаться на порядок от количества запросов нормальных людей (количество будет выведено первым).
  • Книгопиратство поднимает продажи книг
    0
    Если будем говорить не только о художественной литературе, а еще и о специализированой литературе, то электронки удобнее бумажных книг прежде всего возможностью поиска.
    Сам читаю с КПК, очень удобно. С начала года прочитал 6 книг, две из которых купил (в подарок)
  • Задачи на собеседовании — от простого к сложному.
    0
    Посмотрел на комментарии. Похоже народ про ООП задачку не решил или решил не верно:
    >Для какой версии PHP будет работать этот скрипт?
    Правильный ответ: Ни для какой, в любой версии работать не будет
    >Что выведет этот скрипт?
    Правильный ответ: Ошибку.

    Вы такой ответ ожидаете, что ли?
  • Задачи на собеседовании — от простого к сложному.
    0
    Сразу возникает вопрос, а что вы понимаете под "идеальными условиями сервера?"
    И еще, на сколько я знаю не корректно менять register_globals во время работы скрипта, переменные уже будут объявлены (или не объявлены) и директива ничего не даст.

    То же про третий вопрос - по PHP4

    Зачем кандидату знать как писать неправильно? На старых ЯП (пхп4 с января, вроде, не поддерживается официально).
    Первая и последняя задачи - вполне подходят.
    Вы ищете гуру с большим стажем? Или обучаемых сотрудников?
  • Сайт краденого железа
    +1
    Для телефонов Украины такой сайт был http://www.imei.org.ua/
    Правда не знаю что там к чему.
  • IBM не хочет открывать OS/2
    +3
    OS/2, на сколько я знаю, используется во многих банкоматах. Если откроют сырцы появится много уязвимостей.
  • А закрыл ли ты тег?
    0
    Вы будете смеяться, но последний раз когда у меня была проблема с незакрытым тегом меня спас... FAR Manager с плугином colorer. Он автоматически валидирует _синтаксис_, т.е. проверяет что бы количество открытых тегов совпадало с количеством закрытых, если нет - подсвечивает как ошибку не закрытый тег.
    Обычно работаю в ZDE, но иногда удобно посматривать и фаром.
  • Ноутбук vs большой компьютер на рабочем месте
    0
    про память я писАл чуть ниже.
    Винт менять можно, но в большинстве случаев вы теряете гарантию. Да и высокая цена на винты и невозможность поставить два винт сразу идею убивают на корню.
    Про внешние девайсы: со времене ноутбук обрастет кучей железок и, фактически, перестанет быть ноутбуком. Или придется каждый раз разбирать конструктор лего.

    Я провел ни один час пытаясь для себя выяснить, что безопаснее - хранить все документы на своем сервере или слить в гугл.док. Пока победили оба варианта - личные данные на личной домашней машине, рабочие моменты - в гугл.доке.
    Кстати через тот же док удобно документы делать доступными нескольким людям.
  • Ноутбук vs большой компьютер на рабочем месте
    0
    Вставлю и я свои 5 копеек.
    Пользовался ноутбуков в качестве рабочего компа почти два года.
    Особо сильно он меня спасал, когда приходилось работать ночью дома, в съемной однокомнатной квартире. Что бы не мешать жене уходил на кухню и вполне комфортно там располагался. Опять же, квартира была маленькая, ставить стационарный компьютер было негде.
    Второй плюс: если надо было показать сайт заказчику, я приезжал прямо с ноутбуком, не надо было ничего выкладывать в веб.
    Тем не менее пару месяцев назад созрел на покупку нормального компьютера, попытаюсь объяснить почему:
    - невозможность апгрейда. Винт на 80 Gb это, для работы, довольно много. Но хранить на винте фильмы, музыку, фотографии не получится. Только записывать на болванки, что долго.
    - высокая цена на память. Я так и не решился купить еще512 метров памяти. Пол гига для веб-разработчика очень мало, т.к. приходится держать на ноуте IDE, веб-сервер, три браузера и т.п.
    - опасность потерять ноутбук и, скорее, все данные на нем. Представьте что вы несколько месяцев писаи проект, а в один совсем не прекрасный момент остались без ноута. Регулярные бекапы спасли бы, но надо что бы был второй компьютер, т.к. бекапы на болванки занимают кучу времени, откровенно лень этим заниматься.
    - редкость и дороговизна компонентов
    У меня сломался шнур питания ноутбука. Оказывается новый стоит $50, в городе его нет, везут только под заказ, заказал два месяца назад, еще не доставили. Представьте что бы я делал, если б небыло копии данных? Как достать данные?

    В итоге от ноутбука я отказался. Вместо этого взял реальный IP адрес домой и широкий канал. Подключаюсь с работы через VPN и remote desktop. Наиболее часто используемые документы храню в google docs (к ним легко доступиться из любого места), букмарки синхронизирую через del.ico.us, почта хранится на google mail for domains и доступна из любого места. В качестве IM использую Jabber, при помощи приоритетов настроил что б сообщения приходили туда, где я нахожусь в онлайне. Исходный код всегда на сервере, к нему доступиться можно, опять же, из любого места. Зато а) данные не потеряются б) не надо таскать тяжести в) легко апгрейдить машину.
  • Ноутбук vs большой компьютер на рабочем месте
    0
    У меня фирмы Dicota, вот такой:
    http://www.dicota.com.ua/image_smol/BacPacJump2.jpg

    цена не изменилась ~ $110
    Посмотреть каталог можно на их сайте:
    http://www.dicota.com.ua/html_group_cases/c_actives.html
  • Ноутбук vs большой компьютер на рабочем месте
    +1
    Я себе для 15" HP покупал рюкзак. Стоил он что-то около $100.
    Во-первых удобней носить, во-вторых смотрится не по-ноутбучному, в-третьих он обильно обшит паралоном, не так страшно случайно его где-то ударить. Есть специальный карман, где крепится ноутбук (липучкой), есть место для документов, зарядки, компактов, мышки и т.п.

    В целом удобно, хотя особо холодной зимой поясной ремень треснул и развалился.
    Минус только один - кожаная куртка/пиджак и ноутбук в рюкзаке за спиной не сочетаются.
  • Необычные мониторы от NEC и Alienware
    0
    А еще очень позитивно на третем мониторе открыть маленькое окошко с мануалом, шел-консоль, пим. (;
    Либо даже второй браузер - видно как сползает верстка.
  • Необычные мониторы от NEC и Alienware
    +1
    Ага, а вот два широкоформатных 19" с разрешением 1440 на 900 - очень даже вероятно.

    Сам сижу за несколькими мониторами, переборочки между ними откровенно раздражают. Да и выравнивать их между собой то еще занятие (:

    А так у вас получается единая панель. Заодно удобно с одной стороны на весь экран код развернуть, а с другой - браузер. Или множество других вариантов.
  • Необычные мониторы от NEC и Alienware
    0
    Не удивлюсь, если он имеет два входа и система видит его как два монитора.
  • Россия в Интернете начинает вторую «холодную войну»
    +3
    Ага, как в Китае. Еще заставят гугл фильтровать трафик и показывать только социально корретные сайты.
    А то этот веб2.0 слишком много себе позволяет. Отчеты о событиях в ЖЖ появляются раньше чем _правильно_ поданый материал в СМИ. Не порядок!

    P.S. Надеюсь как-нибудь да обойдется :(
  • Почему WiFi нужно держать открытым
    0
    В совершенном мире о котором написал автор все равно могут встречаться всякие нехорошие люди.
    Лучше всего тут подошёл бы стандартный пароль qweqwe для полуоткрытых точек.
    Для тех, кто знает, так сказать. Ну и принципы веб2.0 прослеживались бы. Я отдаю свою точку для пользования, а за это пользуюсь всеми остальными.
    Было бы в городе больше точек, можно было бы сайт наваять (:
  • Как можно было бы ускорить навигацию по файловой системе?
    0
    У вас в пуске регулярно прячутся неиспользуемые программы. Удобно?
    А когда вдруг надо найти что-то, что там было, но чем вы не пользовались и оно свернулось?
    И получается, что вы сначла пробегаете глазами список последних программ, потом сначала весь список, с уже включеными. Никакого удобства.

    В случае с файлами спасает удобная организация своего файлового архива.
    Если у вас в одном месте больше одного экрана файлов (хотя лично для меня предел около 15, потом уже не находится с первого взгляда) значит надо переорганизовывать структуру, делить на субпапки по смыслу.
    Если пользуетесь эксплорером, делайте ярлыки на папки, например, из "Моих документов". Намного упрощает жизнь во время поиска файла из программ не умеющих драг'н'дроп.

    У фара и тотала есть меню быстрого доступа к папкам. Убыстряет жизнь.

    P.S. В случае линукса есть симлинки, и, например cd ~/work/project перенесет вас туда куда нужно (:
  • 9 монет
    0
    Если гномики очень рискованые (либо терпеливые), они могут попробовать обойтись без счетчика.
    Если рубильников было бы семь было бы совсем просто число 99 можно записать как 1100011 (1 - рубильник включен). Каждый входящий гномик, который не рассказывал сказку двоично добавлял бы единичку и любой мог бы узнать сколько человек прошло.
    Но, так как бит всего шесть, придется умалчивать последний бит.
    То есть, если любой из гномиков видел на счетчике число 35 (100011) больше двух раз, значит все были в комнате как минимум один раз.
  • Come get some!
    0
    Сталкер, Дум3?

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