Ne v kontakte Antisocial programmer's blog

Что такое веб фреймворки?

Что такое веб фреймворки?

    thoughts     dev     web

Я уже довольно давно являюсь слушателем Радио-Т и, хотя частенько не разделяю мнения ведущих, нахожу шоу довольно интересным. Однако, в выпуске Radio-T от 8 марта было два эпизода, которые меня слегка покоробили. Первый — фирменный троллинг от Umputun’a на тему ненужности сисадминов. Впрочем, я склонен считать, что у него с логикой все в порядке, и этот пассаж является всего лишь любимой, хоть и надоевшей, шуткой.

Второй раз я расстроился в тот момент, когда ни гости, ни ведущие подкаста не смогли дать внятного ответа на поставленный Umputun’ом вопрос о том, что такое веб-фреймворки. Между тем, этот вопрос одновременно и близок мне, и достаточно прост. На него я и попытаюсь ответить.

Что такое фреймфорк?

В программистском миру бытует путаница между понятиями «библиотека» и «фреймворк», поэтому я начну именно с них.

Read more →

Let's cloud!

Let's cloud!

    web     cloud     thoughts

Признаюсь, я давно хотел написать этот пост. Уже недели три точно. Однако, учеба и работа успешно съедали все мое время и пост постоянно откладывался. И все же я наконец выкроил свободный вечер и хочу поделиться с вами своими мыслями по поводу облачных сервисов.

Несмотря на то, что термин “облачные вычисления” был затаскан маркетологами совершенно не милосердно, тенденция переносить данные в “облака” видна очень ясно. Почему это происходит? Я полагаю, все дело в том, что сейчас у каждого из нас есть пачка гаджетов различной степени умности и потребность синхронизировать данные между ними. Во всяком случае, это стало решающей причиной для меня: в разные моменты я использую нетбук, настольный компьютер, рабочий компьютер и телефон и, понятно, хочу иметь доступ к своей почте, файлам и контактам отовсюду.

Отправной точкой для меня стала почта. Исторически у меня было 7 разных почтовых ящиков, которые нужно было читать. Они все были забиты в настройки почтовика на моем настольном компе и на нем же был примерно четырехлетний архив переписки. В итоге, доступ к большей части почты у меня был только из дома, что создавало массу неудобств. В какой-то момент я принял волевое решение настроить сборку почты на моем основном ящике GMail’a и импортировать туда весь архив, заодно сменить kmail на более продвинутый Thundebird и архаичный POP3 на IMAP.

Потратив один выходной, я все это сделал и принялся наслаждаться результатами труда: дома я по-прежнему пользовался почтовиком, с остальных девайсов — веб-интерфейсом GMail. И через пару недель я начал осознавать, что IMAP не вполне корректно работает с ярлыками GMail’a, а основная польза от почтовика — счетчик писем в трее. В итоге, Thunderbird в одночасье оказался заменен на аддон для Firefox WebMail Notifier и веб-интерфейс почты. Так я полностью перенес поту в облако.

Read more →

Полнотекстовый RSS - это удобно!

Полнотекстовый RSS - это удобно!

    web     thoughts     rss

Сегодня, заглянув очередной раз в RSS-ридер и бегло проглядев список новых постов, понял, что больше половины блогов, на которые я подписан, отдают в RSS лишь жалкие огрызки постов и меня это жутко удручает. В частности, читать такие посты мне уже не хочется и я зачастую их пропускаю практически машинально - разве что заголовок зацепит, но это бывает не часто. И в то же время я отдаю себе отчет в том, что будь пост целиком в моем ридере - я бы его прочитал, хотя бы по диагонали.

Почему же такая практика стала популярной? Я сходу могу назвать такие причины:

  1. Защита от автоматического воровства контента (по-видимому, самая главная).
  2. Стимуляция пользователя лишний раз зайти на блог.
  3. Желание защитить пользователя от “попадания на трафик” на случай, если вдруг получится большой пост с кучей картинок.
  4. Все так делают.

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

Read more →

Обход AdBlock

    web     thoughts     ad     adblock

На досуге добавляя в фильтры AdBlock очередную баннерную сеть, подумал такую очевидную мысль: все популярные и как бы доходные рекламные сети, включая столь любимые публикой тизеры, уже давно добавлены во все возможные баннерорезки, коих уже немало. Одно только расширение AdBlock для Firefox, которым я успешно пользуюсь, имеет 813599 загрузок в неделю и является самым популярным расширением. Кроме того, во многих популярных виндоовых фаерволах, включая Outpost,  уже давно есть встроенные баннерорезки.

Оценили насколько сужается аудитория и потенциальная прибыль?

У алчных манимейкеров должен возникнуть вопрос: как бабки вернуть и к себе в карман перенаправить. Вывод напрашивается из самого принципа фильтрации: В первую очередь баннерорезки пытаются срезать скрипты и картинки по URL. При этом в первую очередь под нож идут домены известных сетей, а потом характерные маски URL типа /banner/ или banner.* Соответственно решать проблему нужно подменой адресов скриптов баннерных систем. Сделать это легко при помощи проксирущих скриптов на своем хостинге. Если при этом имя скрипту дать не /ad/banner.js.php, то баннерорезка скорее всего его пропустит => PROFIT!

Но тут сразу возникает одно “но”: большинство рекламных сетей категорически запрещают модифицировать свой код. Пресловутый AdSense за это лихо отправляет в баню аккаунты с денежками на нем. Соответственно, попытайся вебмастер повысить прибыль, он автоматически встает на грань бана и потери оной прибыли.

Read more →

Simple AJAX Long Request

    dev     web     projects     ajax

Для одного из моих проектов, над которым я сейчас активно работаю понадобилось сделать возможность выполнения длинных запросов с “обратной связью”, т. е. с возможностью отсылки информации о ходе выполнения скрипта. Поскольку подключать к проекту какого-нибудь монстра типа JQuery ради одной этой возможности я посчитал нецелесообразным, решено было написать свою простую библиотеку, выполняющую эту функцию. результат я представляю вам в этом посте.

Simple AJAX Long Request (SALR) 1.0

Возможности:

  1. Отправка GET запросов с произвольными данными, переданными в виде хеша.
  2. Отправка форм POST и GET запросами.
  3. Автоматическая конвертация PHP-типов в соответствующие типы объектов JS.
  4. Глобальный доступ к PHP API благодаря реализации в виде статического класса.
  5. Перехват многих фатальных ошибок (см. http://dklab.ru/chicken/nablas/45.html)

Read more →

Молниеносная верстка с помощью Zen Coding

    web     dev     frontend     articles

Всем нам приходится писать html-код, кому-то больше, кому-то меньше.

В частности, у меня написание шаблонов для моих движков зачастую занимает до трети времени от разработки. Главная причина тому - сравнительная многословность html, да и css. Так бы я и мучился, если бы очередной раз не наткнулся на статью по Zen Coding.

Как постичь Дзен?

Если кратко, то Zen Coding - это целое семейство плагинов к разным редакторам, позволяющее писать сокращенный код, который потом будет автоматически развернут с полную конструкцию. Вот вам сразу пример:

Read more →

О том, почему интернет-банк работает только в IE6.

    thoughts     web     banks

Много слов (в том числе нелицеприятных) было сказано о различных интернет-банках и подобных системах, отличающихся крайне кривым интерфейсом, который зачастую еще и работает только в ИЕ6. Безумное количество лучей различного содержания было послано их разработчикам и Биллу Гейтсу заодно, огромное количество нервов вымотано и, по некоторым данным, с несколькими известными дизайнерами и юзабилити-экспертами случился инфаркт.

Почему все это происходит? Недавно мне представился случай увидеть это со стороны программиста. Один из моих друзей работает в компании, разрабатывающей какую-то крупную систему, помимо прочего работающую с финансами и документами. В детали я не вникал, но система здоровенная, работает над ней куча людей. Мой друг работает в этой компании Java-кодером. Сразу скажу, что программист он толковый, гораздо опытнее меня, но с вебдевом дела не имел чуть менее, чем вообще. Недавно он стукнулся ко мне в аську с вопросами по html-верстке, ибо его отрядили писать веб-интерфейс к той системе. Сами вопросы воспроизводить не вижу особого смысла, но куски кода, которые он приводил, просто выносили мозг запутанностью и “семантичностью” верстки. Часть объяснялась применением достаточно запутанного, с моей точки зрения, шаблонизатора wicket (по ощущениям - что-то вроде Smarty, только для Java). Однако были там и такие вещи, как таблица внутри и аналогичные прелести. Неудивительно, что браузер от таких финтов бесился и отрисовывал все как попало.

К чему я это говорю? Да к тому, что мой друг Java-кодер, а не верстальщик. И в его обязанности изначально не входила верстка. Однако кто-то решил сэкономить (опять кризис виноват?) и свалить на него и верстку тоже. Результат: все выглядит совсем не так, как хотелось бы, html-код до жути избыточен и трудночитаем. Думаю, что не погрешу против истины, если скажу, что зачастую та же ситуация возникала и при разработке других систем, интернет-банков и пр. А потом мы сидим на каком-нибудь хабре и поливаем говном разработчиков интернет-банка.

PS. Кстати, когда я подключал себе интернет-банк в альфа-банке, мне в офисе сказали, что он работает только в IE. Однако я уже почти полгода спокойно пользуюсь им из-под Linux’a в Firefox. Так что еще не все потеряно :-)

Read more →

Заметки на манжетах #2

    notes     web     links

  • Как обычно на сессии, в голове есть масса хороших идей, но из-за необходимости готовиться к экзаменам совсем нет времени на реализацию. Пора составлять список дел, которые надо будет переделать за неделю каникул после нее.
  • Меня ужасает монструозность Wordpress. Если версии 2.9 в стандартной конфигурации не всегда хватает 32 мб памяти, то подумать только, сколько оно жрет с приличным набором плагинов. И, честно говоря, я абсолютно не понимаю, какие такие фитчи в нем есть, что они требуют столько памяти. Далеко не всякий PHP хостинг позволяет такое безобразие у себя запускать и я с ними согласен. Вы все еще хотите скачать wordpress?
    Если вспомнить историю, то увидим,  что пару лет назад нормой было 8 мб памяти на поток. Потом вышел WP 2.4 (если не вру) и phpBB3. Нормой стало 16 мб. Потом вышел WP 2.8 и народ стал кидаться дерьмом в тех хостеров, у кого был лимит ниже 32 мб. С WP 2.9 придется, видимо, всем поднимать лимит еще до 48. Более того, очевидно, что чем дальше, тем быстрее растет потребление памяти в WP, но значимых фитч не добавляется.
    Ей, разработчики, вы совсем офигели? Ну не пишите же говно, побойтесь бога! Для БЛОГА не нужно 48 мб памяти!
    Боюсь себе представить WP 3.0…
  • Бездомный Бродяга предлагает устроить флешмоб по накрутке фидбернера френдфидом, чтобы дискредитировать последний. Будет весело. Присоединяйтесь!
  • Челябинские Липетские автобусе настолько суровы, что посылают пассажиров на хуй.
  • UPD. Обнаружил, что на антикапче случился апдейт системы и автоматическая выдача инвайтов сломалась. Починил.

Удачной пятницы!

RegSibmitter.ru и zebrum.net.ru лежат.

    projects     regsubmitter     zebrum     bloglike     web     down

VDS-провайдер всвязи с миграцией на другую систему управления перестал предоставлять свои NS-сервера, а я вовремя не озаботился организацией собственных.

В результате почти все сайты, которые лежали на той VPS, включая regsubmitter.ru и zebrum.net.ru, вчера стали окончательно недоступны. Сейчас я уже все настроил и у многих из вас наверняка даже все заработает, если нет - приется ждать обновления кеша DNS.

В общем, я в курсе проблем и уже сделал все, что необходимо для их решения, остается только ждать.