<? Петров ?>

Выдача Яндекс.Блогов и странное

Декабрь 5, 2010

Волею случая заинтересовался вопросом, что возвращает в мир поиск Яндекс.Блогов и нашел интересное. Интересное было связано с ограничениями выдачи по времени.

Экспериментировал я со словом «Пекин». Будет много ссылок.

Читать далее

Onclick и отключение submit-кнопок

Ноябрь 27, 2010

Наткнулся на пример, когда firefox обнаруживает поведение, отличное от других браузеров.

Допустим, вы хотите, чтобы форму можно было отправить только раз и пишете что-то навроде такого:

<input type="submit" value="Sendme" onclick="this.disabled = true;" />

Во всех браузерах кроме ff это срабатывает как метод preventDefault(), т.е. сначала кнопка отключается в событии onclick, а потом браузер, видя что кнопка отключена, прекращает отправку формы. Файрфокс же в этом случае форму отправляет, что мне кажется более предсказуемым поведением, т.к. на момент нажатия кнопка была активна.

Mozilla Game On

Ноябрь 18, 2010

Парни из мозиллы открыли соревнования по созданию игрушек средствами html, css и js. Предлагаю забацать какой-нибудь казуальный шедевр, выкрутиться и обойтись вообще без собственных серверных мощностей.

Sbank coolness

Ноябрь 10, 2010

Как известно, у многих банков интернет-клиенты привязаны к платформоспецифиным технологиям, даже если это написано на java, и, чтобы работать под linux, нужно прикладывать порой значительные условия. Зная это все, я поначалу даже и не надеялся на успех. Зашел в интернет-банк, не смог подписать платеж, забил.

Но так чудесно, что людям при рождении дают мозг, т.к. по прошествии времени я им подумал, и без особых усилий все сделал. Для подписи платежей нужно иметь возможность запускать java-апплет. По умолчанию в поставку ubuntu идет плагин от iced-tea, который конечно же недоделан и не работает, как положено. Чинить этот плагин не надо, надо поставить плагин от sun. Самое коварство здесь состоит в том, что установка пакета с плагином еще не означает, что он начнет использоваться системой, его нужно подключить.

$ sudo aptitude install sun-java6-plugin sun-java6-jdk sun-java6-jre
$ sudo update-alternatives --config java #здесь выбираем sun java
$ sudo update-alternatives --config mozilla-javaplugin.so #здесь выбираем sun java plugin

И все просто работает! На радостях чуть не побежал стирать виртуальную машину с winXP.

Стефан Стоянов. Javascript patterns

Октябрь 22, 2010

Закончил читать книгу, хочу поделиться небольшим отзывом.

Javascript ( далее js ) выделяется среди других тем, что чрезвычайно выразителен, но при этом ядро языка можно описать в цикле статей в отличие от классических языков, для описания которых выпускают целые многотомники. Подумать только, килограммы документации, чтобы только понять, что ты можешь использовать в языке. В случае js мы имеем несколько сжатых концепций, которые при известном умении позволяют писать большие и сложные системы, а также имитировать понятия, для которых в других языках выделяют отдельные сущности – классы, пространства имен, модули, видимость переменных и т.д.

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

Стефан Стоянов попробовал собрать все типовые задачи в одном месте, результатом чего и является эта книга. JS Patterns надо понимать буквально – не просто шаблоны проектирования (см. GoF), а именно типовые приемы решения технических вопросов, возникающих при программировании.

Читать далее

Bhost.ru -> firstVDS.ru

Октябрь 15, 2010

Как и планировал, совершил переезд с хостинга BHost. Выбор пал на firstVDS.ru, т.к. кроме хороших отзывов контора обладает еще и дешевыми тарифами, по цене близкими к shared-хостингу. У моих сайтов посещаемость не блещет, поэтому и больших мощностей мне не нужно, большее значение имеет адекватность тех поддержки, и тут пока как firstVDS вопросов нет – повесил тикет в админке еще до того, как потратил какие-то деньги, в течение часа получил ответ. После создания сервера сходил спросил на их форум – все также достаточно оперативно. На следующий день еще дамочка позвонила, задала пару общих вопросов, пожелала крепкого здоровья и долгих лет пользования сервисами firstVDS, ну дай то бог.

Бхосту хочу от всего сердца пожелать никогда не подставлять так своих клиентов, и не делать это так регулярно. Минимум два-три раза за этот год хостинг уходил в даун не менее чем на полдня вместе с сайтом компании. А если даже каким-то образом удавалось выцепить телефон техподдержки из кеша гугла, то в эти моменты он просто не работал. Предполагаю, что ребята используют ip-телефонию, которая уходит в даун синхронно со всем ихним оборудованием. Так делать нельзя, пусть вам будет стыдно. Все время, пока пользовался, всем был доволен и рекомендовал друзьям – потому что действительно почти все хорошо и удобно, но подобные приколы выводят из себя.

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

Ubuntu 10.10, впечатления

Октябрь 14, 2010

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

С официальным списком изменений можно ознакомиться здесь: https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes. Также имеет смысл посмотреть Release notes для Gnome 2.32

Как видно, визуально изменилось на самом деле не очень много, но это все потому что серьезная часть изменений произошла под капотом.

Читать далее

Посчитать md5-сумму каждой строки в файле

Октябрь 12, 2010

$ for i in `cat yourfilename`; do echo $i | md5sum ; done

как-то так

V8 Benchmark Suite – version 6

Октябрь 8, 2010

Вышла новая версия набора для тестирования производительности от браузеров. Ссылка

Сразу решил прогнать на имеющемся зоопарке браузеров:
Opera 10.62 ( Ubuntu 10.04) – 1694
Chromium 8.0.549.0 ( Ubuntu 10.04) – 2503
Google Chrome 6.0.472.63 ( Ubuntu 10.04) – 2382
Firefox 3.6.10 ( Ubuntu 10.04) – 215
Firefox 4b8pre ( Ubuntu 10.04) – 1251

Даже если предположить, что данный набор тестов жутко однобокий, то все равно считаю результаты firefox позорными. Пора бы уже ребятам начать тырить полезные наработки из хрома, потому что текущая производительность js-движка никуда не годится. Также уже понятно стало, что модель обновления хрома оправдала себя и работает очень круто – новые версии выходят постоянно, и программа обновляется сразу. Таким образом мы не разрабатываем под 10 версий хрома, а просто под Google Chrome.

Chromium в ночных сборках сегодня сменил версию на 8, что просто реактивно, если учесть, что седьмая версия отпочковалась только 18 августа.

Еще пора бы перестать почивать на лаврах первого нормального браузера в истории и хорошо сделать дизайн программы во всех системах. Вот как выглядит ff4b8pre в убунте:

Страх и ненависть, посмотрите на google chrome и берите с них пример.

Авторизация при помощи ssh-ключей

Сентябрь 30, 2010

Пост в качестве напоминания, о том, что это было.

Для начала нужно сгенерировать сами ключи, пароль рекомендую ввести:

$ ssh-keygen -t rsa

В папке .ssh образуются два файла – id_rsa и id_rsa.pub, наружу нужно отдавать последний, у себя хранить оба ( вернее можно только один id_rsa, но тогда не получится настроить корректную работу ssh-agent и вводить пароль для ключа при каджой операции ).

Следующим шагом нужно закинуть публичный ключ на сервер, с которым хотим работать, пусть это будет host.com, висеть будет на порту 50123. Забрасываем файл на сервер:

$ scp -P 50123 ~/.ssh/id_rsa.pub user@host.com:id_rsa

Далее добавляем ключ к доверенным на сервере и выставляем права на файлы (отсюда):

$ scp -P 50123 ~/.ssh/id_rsa.pub user@host.com:id_rsa
$ ssh user@host.com -p 50123
$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh)
$ cat ~/id_rsa >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm ~/id_rsa

Теперь все хорошо, но при каждом соединении нужно вводить пароль для ключа, что надоедает. Можно избавиться от этого, запукая ssh-agent каждую сессию. Чтобы и это автоматизировать, можно добавить следующий скрипт в ~/.bashrc ( отсюда )

SSH_ENV="$HOME/.ssh/environment"
 
function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}
 
# Source SSH settings, if applicable
 
if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

После этого можно работать.

← Предыдущая страницаСледующая страница →