Tuesday, May 29, 2007

30 Дней - 30 Приложений

Уже почти пол года назад один зарубежный товарищ начал (и через месяц закончил) каждый день писать по одной малелькой и простой программке на C# 2.0.
Среди совсем простых, есть и достаточно интересные:
взять окно и вставить его в внутрь своего приложения. Честно признаю, я решения сходу не знаю. А есть простое шедулеры (scheduler)

Особо стоит отметить работу с воспроизведением текста (String) в виде аудопотока - судя по иерахии классов (интерфейс к стандартным возможностьм ОС), половина Windows нужна чтобы читать вслух.

Все исходники открыты, лицензия GPL + если еще полезные обертки над Windows

Sunday, May 27, 2007

Blogspot лежит... опять...

Стоило с утра зайти на свой блог, как blogspot показал ошибку:




Google

Error


Server Error


The server encountered a temporary error and could not complete your request.

Please try again in 30 seconds.






А через 20 минут уже следующую:

Blogger и Blog*Spot не доступны

В данный момент Blogger и Blog*Spot недоступны. Приносим извинения за перебои в работе.

Сведения

Blogger is undergoing brief maintenance and will return in a few minutes.


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

Thursday, May 24, 2007

Экспорт данных ввиде SQL Dump с сайта на Ruby

Наконец-то совершилось! Это юбилейный, сотый пост в моем блоге. не прошло и пол года с момента создания, как наступил этот юбилей. Т.е. в среднем я пишу 0.75 поста в день.. не очень много, но если вычесть выходные, то получиться ровно 1 (выходных у нас много), так что почти приближаюсь к общеинтернетовскому стандарту: 1 день - 1 пост (или больше). Ладно не буду писать оффтоп. перейду к теме поста.

Иногда, в целях быстрого бекапа и переноса данных требуется сгенерить полный дамп базы, при этом дамп должен быть в формате SQL - запустил и работает. Обычно для таких целей используют phpMyAdmin (для MySql, разумеется. Все сказанное ниже применимо только к нему). Но вот если требуется сделать это в адинистративной части? и на Ruby? тут уже copy-paste не прокатит.

Решение

В поставку стандартного MySql входит утилита mysqldump - умеет генетить то что нам надо, но вот только ей еще и параметры нужно дать правильные, да и еще и вызвать , и пот ом результ работы с диска снести...
итого имеем (работает везьде, под любой проект и ос - с этим больше всего гемморился):

require 'yaml' #Для чтения database.yaml
require 'pathname' #Для определения абсолютных путей (требуется для Unixов)

class DumpManagerController <>
def index
response.headers['Content-type'] = 'text/sql' #правильный MIME тип
response.headers['Content-Disposition'] = "attachment; filename=dump.sql" #Чтобы сразу можно было качать
rebuild_dump_file()
dump_sql_file = File.open(output_file)
dump_content = ""
dump_sql_file.each { |line|
dump_content +=line
}
dump_sql_file.close #Чистим мусор
File.delete(output_file)
render :text=>dump_content #Пишем в поток
end

protected
def rebuild_dump_file
command = build_mysqldump_command()
system command #Вызываем комманду
end

def output_file
rails_directory+"/dump.sql"
end

def rails_directory
Pathname.new(__FILE__).realpath.dirname.dirname.dirname.to_s #Главная директория рельсов
end

def build_mysqldump_command
env = ENV['RAILS_ENV'] || 'development'
database = YAML::load_file( rails_directory+'/config/database.yml')
password = ""
password = "--password=#{database[env]['password']}" if (database[env]['password'])
"mysqldump -u #{database[env]['username']} #{password} #{database[env]['database']} > #{output_file()}"
end
end


В последнем методе генерим комманду, для этого нам нужен логин, пароль и имя базы (можно еще и хост, ну ладно его пропустим, но можно было бы и настроить)
Данные читаем из конфига (благо ЯМЛ поддерживается)

Вот вообщем и все. Надеюсь будет полезно.
П.С.
Сделать в Sql Server подбную штуку штатными средствами нельзя.. потому что Microsoft думает что это никому не нужно. Приходиться мучаться и делать генераторы SQL на основе мапперов.

MySql - респект

Wednesday, May 23, 2007

Модный коврик в машину

Модная Audi TT-2002 года с тюнингом. Внимение на коврик для водилетя:
Фотография взята с ebay.com
"удолетворенность клиента наша первая цель".

Bluetooth Ганитура Jabra: личный опыт

Наконец-то умер мой доблестный телефон SkyLink - работал почти 2 года как часы. Я и решился повторить покупку Nokia 6021 - уже был - украли. Поддерживает все что нужно "не совсем обычному" человеку:
Bluetooth/IrDA/Data cable (хотя последний не сильно и нужен)
GPRS/EDGE - скорость 10-12 Kb в секунду - нравиться.
Достаточно хороший аккумулятор - 3 дня держит стабильно
Цветной дисплей :-)
Стоил - 3390 (в августе 2006 назад покупал меньше чем за 3000... оказывается телефоны дорожают...). Можно было бы и дешевле, но искать было экономически не целесобразно.

Вообщем прекрасный экземпляр:
Модем для ноутбука (через Bluetooth адаптер), КПК (у меня он старый и Bluetooth'а нет так что использую IrDA - прощай EDGE). Решил еще завести и гранитуру: разумеется, голубозубую. Производство Jabra (никогда не слышал о такой). Стоила - 1400 - не самая дешевая (была Nokia за 900), не самая дорогая - была от того же производителя за 3200.
Найденые "+"-сы:
- Слышно прекрасно
- Голосовые метки Nokia распознает даже на шумной улице, почти в 100%
- телефон начинает работать дольше. Сама гарнитурка живет часов 6-7.
- Разговаривать можно в 10-15 метрах от телефона.
- Телефон можно смело прятать в труднодоступных для воров местах (все: ноут, кпк, телефон, мышка, фотоаппарат + пара ненужных книг прекрастно прячутся в самый обычный гаджет-рюкзак)
- Руки можно держать хоть за спиной.
"-"-сы:
- Давит на ухо
- Люди смотрят как на сумашедшего.. боюсь подумать что пару лет назад было
- Жаловались что меня плохо слышно (самый большой недостаток, однако в тихом месте эта проблема пропадает)

Итоги:
Новая игружка за 4790. При этом местами полезная. Ничего лишнего (кроме Push-to-Talk которого в России пока нет)

П.С.
Если сюда добавить почти безлимитный тариф при звонках на билайн (а звоню я именно на него... обычно) за 20 руб в сутки, то душа просто радуется.

Friday, May 18, 2007

Google Search Engine и Blogspot

Ура! После месяца ожидания гугловский паучок добрался до моего блога. А ведь это все из-за проклятого blogspot с его no-index и no-follow на главной странице по-умолчанию. Убивал бы за такое.

Новый подход к системе оценки кандидатов при приеме на работу

Новая концепция по оценки кандитатов, ищущих работу был применен на сайте talentspring.com - основная идея состоит в том что кандидату предлагается несколько пар резюме и он должен выбрать по лучшему в каждой паре. Если он выбирает резюме которое признано лучшим, его рейтинг ростет, иначе падает. При достаточно большом количестве резюме и кандидатов, такой метод должнен сработать.

Доступна бесплатная бета

Подробнее тут

Wednesday, May 16, 2007

Немного о машинах

Сегодня узнал нечто для себя неожиданное: машины в России стоят в 2 раза дороже чем в США!

Пример: Maserati, Spyder (Спорт-кар)
Росиия - 89688$
Америка - 499970$

Разница для бюджетных вариантов еще больше

Единственное за растамошку придеться отдать: 4.2 литра * 1000 см. куб * 2 евро пошлина с куб. см* 1.35 курс к доллару = 11340$ - за это я бы тоже кое-кому по голове с удовольствием дал бы....

П.С.

Про домики (таун-хаусы) после обвала цен на недвижимость по цене не самой дорогой подержанной машиныя молчу.... Эх, вот она правильная экономика...

Monday, May 7, 2007

Мессенжер Все-В-Одном

Наткнулся на новую утилиту: мессенжер для нескольких клиентов. Похож на Miranda но на вид по-приятнее, работает шустрее, выглядит симпатичнее. Поддерживает ICQ, MSN, Yahoo, AIM, Jabber и пр. Называется - Pidgin. Если есть несколько мессенжеров, то использовать их совместно становиться намного удобнее. Памяти кушает ~ 40 мб - тоже вполне терпимо. Mozilla Firefox 2.0.3 меньше 80-100 редко занимает.
Что касается web-аналогов, могу порекомендовать meebo - в хозяйстве вещь полезная. К тому же ставит с собой последнюю версию GTK... Работает по Windows/Mac/Linux
Интерфейс понятный и удобный - ничего лишнего. на виду основные вещи, а дополнения не сложно настроить. Есть проверка орфографии в том числе под русский.

Весит вместе с GTK 10Mb.

Sunday, May 6, 2007

Кросс-платформенные приложения с GUI на Ruby

Ради и интереса решил разобраться с тем как можно создать обычное приложение с формочками с Ruby. Сделать это можно с с помощью 2-х библиотек:
Tk и Gtk. Первая - шутка изначально сделана под язык Tcl (с ним я не сильно знаком, и использовать его мне не доводилось). Вторая - кросс-платформенная библиотека. Обе позволяют абстрагироваться от ОС. Не то чтобы я решил писать оконные приложения под Linux и пр, откозавшишь от .NET. Просто интересно.

И так, для начала я решил посмотреть на Tk. Ставиться вместе с Ruby. Сначала немного о внутреннем устройстве. В сердце библиотеки лежит иерахия классов лежат TkEntry и TkFrame. Остальное наследуется от них. Есть Layout Manager'ы, как в Swing под Java.
Так же есть около 30 элементов управление, но нет combobox (извесный как drop down list), я не нашел, зато есть уже готовый контрол, но не являющиейся частью библиотеки и входит в примеры. Есть Grid(TkGrid, в .NET аналог DataGrid и GridView), это очень удивило. В плане готовых компонентов, проблем нет. К тому же есть библиотека красивых расширений - iwidget - там много всего интресного есть.

Теперь немного практики:
сначала делаем
require 'tk'
TkFrame.new(){|f|
label = TkLabel.new(f, :text=>'Hello, World').pack(:fill=>:x)
}
Tk.mainloop

Все! есть формочка c надписью, растянутой на весь экран по ширине.
Как это работает:
сначала делаем главной элемент - саму формочку (f)
дальше на нее (первый аргумент конструктора TkLabel) кладем созданый объект у которого свойство текста установленно в "Hello, World". После этого располагаем созданную надпись на окне с соотвестующим Layout

Вот в общем и все. В заключение могу порекомендовать посмотреть на это собственными глазами.
Примеры можно найти в папке, куда установлен Ruby: samples/tk

П.С.
Если Вы заметили неточность или ошибку - пишите в комменты плз


Tuesday, May 1, 2007

Здание по цене комнаты

Как извесно, цены на недвижимость в центре Москвы(не на окраине, а именно в самом центре)
Пример не самые доступные. Приблизительно 18000 евро за метр. 1 Комната - приблизительно 30 метров. Итого 540000. Что на эти деньги можно купить? Всего ничего: 10 квартир в Германии + 4 мерседеса... и это на одну комнату... Всю квартиру в Москве можно разменять на 100 Немецких... Ну а к примеру, в Греции за 30000 евро можно купить квартиру на берегу моря...

Friday, April 27, 2007

Яндеск пульс

Наконец-то нашел штуку- Яндекс Пульс в которую просто интересно тыкать, хотя и с пользой...
Основная идея:
Посмотреть статистику по поиску по запросу и сравнить его с другими.

Например:
Ruby:
за день: 8 запрос в день
максиум: 140 за день.

и т.д.

Есть предчувствие что в среднем 5-7 человек по этому запросу доходят до моего блога...

Просто Юмор

Встретился старый анекдот:
"Он был полным идиотом... Даже кнопка "Свеpнуть все окна" на его компьютеpе находилась на "Рабочем столе"..."

У меня тоже когда-то так было:
места в quick launch у меня всегда мало, и есть приложения которые хотелось бы иметь под рукой, и которые используются много чаще.

очень удобно сделал:
- в таскбаре всегда есть линка на тотал коммандер (1 клик или пара alt-tab)
- на Ctrl+D открывается список быстрых папок (разумеется десктоп там есть, 2 нажатия)
- и зажав alt печатаем "Show Desktop" (первые пара символов)

Набирается это за 2-3 секунды (подтащить мышку и нажать - приблизительно столько же...)

Так что видимо я - Блондинка

Wednesday, April 25, 2007

Ruby Development with IntelliJ IDEA

Не так давно была выпушена новая версия IntelliJ Idea (7.0, но пока только бета). Оценить ее нововведения в плане Java я пока не успел (уже почти год ничего под Джаву не писал и не планирую). На днях узнал что под нее был сделан плагин для разработки под Ruby (в том числе и реилсы). О том как это дело ставить см здесь.
Что касается советов: на забудьте установить в пассы путь к инстант реилсу (%Instant Rails%\ruby - это должно быть в путях). В остальном ставиться и запускается без проблем.

Что касается моих замечаний:
(-)
1. Рефакторингами и не пахло, а жаль.
2. Код-комплит работает не слижком хорошо
3. Парсер не идеален:
class Parser
def parse(query)
result = ""
result<<"select * from '" # с этим не справился
result<
4. Нет дебага
5. если после "<%" нажать пробел появиться "%>" в не зависимости от того что впереди
6. Кушает это дело 200 Мб памяти, так что не сильно разгуляешься.
7. Открытие проекта занимает 2-3 минуты на не самом старой машине
8. Не знает по загруженные модули (на ctrl+пробел не беруться)

(+)
1. Есть интеграция с generate. Можно сказать генери котроллер, мигрейт и пр.
2. По рану запускается webrick
3. Кое-где есть нормальный код-компит
4. Автозакрывание "end"-ом
5. Древовидная структура проекта (это не табы из Total Commander!)
6. После загрузки быстро работает
7. Есть поиск места определения (класса, метода).

Вердикт: буду использовать. надеюсь что польза от этого дела будет.

Быдло и программирование

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

Да и смысла в новых подобных сайта лично я не вижу:
для .NET есть gotdotnet.ru, aspnetmania.com (был когда-то хороший dotsite.ru, но уже скатился достаточно сильно)
для остального: rsdn.ru, interface.ru и sql.ru

На всех указанных форумах быстро ответят и объяснят (благо народ там толковый сидит), если тема не совсем уж специфичная (например работа с capistrano в Ruby on Rails).

Так то если и открывать форум то узкоспециализированный, а не очередной винегред.

Tuesday, April 24, 2007

Google Sitemaps

Оказывается, Google может использовать как sitemap и обычный ATOM feed! Так что для блогов это очень удобно. Источник

П.С.
проверил: работает

Скорость обработки сайтов в Google

Вот такую информацию сказал гугл о моем блоге:

Googlebot last successfully accessed your home page on Feb 10, 2007. (Сейчас уже Апрель 24)

Что-то он как-то не очень сильно торопиться переидексить все.

Кстати к сайту компании он приставал все 3 дня назад...

Цитатник Рунета

достаточно забавную штуку нарыл в запроса яндекса: bash.org.ru - цитаты людей. Самое то посмотреть подобную штуку в конце рабочего дня.

Веб Сервисы в Ruby on Rails

Как известно, web-службы (веб-сервисы) являются частью концепции Web 2.0. Ruby on Rails специально создавался для разработки приложений в этом стиле. Разумеется, его создатели не обошли вниманием и эту полезную функциональность: поддержка есть. Сделаны они очень добротно и просто. Постараюсь в крации описать процесс создания простой службы.


1. Выполняем: rails MyApp
2. Выполняем: ruby script/generate web_service MyService
3. в app/apis/my_service_api.rb прописываем в теле класса следующее api_method :get_config
4. в app/controllers/my_service_controller.rb прописываем тело нашего метода:
def get_config
#do something
end


Вот и все! теперь у нас есть WSDL веб-служба, которую можно использовать, например, из .NET (работает, однако).


что касается быстроты написания - не сложно заметить, что пишется это моментально...

Ну а вот безопасности этого дела, этим я еще не занимался.

Wednesday, April 18, 2007

Office 2007 en и Office 2007 ru: разница в массе 3 раз

Наконец- то скачал нормальный офис. Как показывает практика, пользоваться русской версией оказалось непревычно больно (думать как создатели перевели на русский "Account Settings" и прочее, не самое продуктивное занятие). Так что установка англоязычной версии стало для меня прямо как бальзам на душу – почувствовал себя в родной стихии. Кстати проверка русского языка у меня пропала, ну не особо и жалко. Что касается переустановок, на мое счастье офис сохраняет все свои настройки при удалении, так что все перенастраивать мне не пришлось.

Еще очень сильно удивил размер дистрибутивов:

Русская версия: 1.6 Гб

Английская: 500 Мб

Да, действительно, в русский дистрибутив входит английская версия. Но неужели настолько много занимают всякие там руссификаторы и пр. Странно. Как показала практика некоторых народных умельце, из русской сделать анлийскую можно, только времени и нервов много потребуется, так что Русская Версия = Английская + локализованные ресурсы. Для Office 2003 руссификатор весил 15 Мб, теперь весит 1 Гб. Странно. Похоже что-то лишнее в дистрибутив засунули...


Что касается недостатков Outlook:

Проблемы с изменением учетной записи: если сказал что POP3, то в HTTP её не переделаешь. Странная бага. И с comail.parking.ru он тоже не всегда дружит (хотя, я не видел ни одного почтового клиента под Pocket PC который с ним умел бы работать, так что тут ничего удивительного нет).

Sunday, April 15, 2007

Outlook 2007 как RSS Агрегатор

Как показала практика, из Outlook 2007 очень плохой агрегатор RSS/Atom. Что касается скорости - Jet Brains Omea Reader он проигрывает весьма основательно (при условии что там у меня накопилась база за пару последних лет, весьма объемных ньюсов).

Основная проблема: нельзя (по крайней мере я не нашел) посмотреть и изменить адрес ньюса! О чем думали создатели лично мне сложно осознать.

Если бы ThunderBird была бы более функциональной, а SunBird лучше с ней бы интегрировалась, я бы уже давно перешел на "птиц" от Mozilla, только еще бы туда прописать и нормальный RSSBird.

Кстати, что касается удобства продуктов от Microsoft (просто к слову):
Недавно, одна очень хорошая и умная девушка (имена не разглашаю), после первой работы с Linux, сказала что он ей понравился больше нежли Windows. Не то чтобы я так считал, но все же, если бы Windows была бы так хороша, то никому, нормальному человеку, в голову бы не пришло бы такое говорить.

Всегда следите за свой репутацией и покупайте только лицензионное ПО

Я решил отойти от этого лозунга Microsoft(возможно не дословно) и... нет, Windows Vista на Юноне (Питерская "Горбушка") я не купил. Кроме лицензионного ПО, купил лиз. DVD. Почему? Нет, не потому что я такой правильный: понравившийся фильм был только на дорогих дисках, вот и всего.

Итого: купил фильм "Фонтан". Почему-то смысл я его так и не понял (видимо, мой мозг перегруженный информацией не справился со столь глубокой философией автора "Реквием по мечте")

Хью Джекман, из помеси Россомахи с хакером, превратился в Конкистодора-Врача-Будду(не подумайте, что это мое неуважение к Буддистам!), при этом его все время плющело (особенно в самом конце, когда тот впал в полнейшую.... Нирвану).

Одним словом: фильм надежды не оправдал. -300 руб

Очердной "провайдер" музыки

Начал искать музыку, и на 10 песен из 11 в Google первая ссылка была на http://www.zaycev.net - молодцы, те кто раскручивал сайт.
Кстати в отличии от musicfond, там нет 10 сек. задержки перед скачкой, но рекламы гораздо больше, правда, Mozilla умеет с ней неплохо справляться, так что это тоже не проблема.

Популярность Vkontakte (Вконтакте)

Вчера перед тренировкой решили зайти в кафе с бесплатным Wi-Fi. Проверили - работает, даже шустро. Но это не главное. За соседнем столиком сидела одинокая девушка с ноутом (тоже понятно зачем сидела имено там), по-пивая не самый изысканный коктель. На вид - просто типичная блондинка. При этом сидела спиной к большому окну, выходящему на улицу. Когда выходил, мой взгляд случайно упал в ее монитор (не хорошо, понимаю, но особо ухитряться не пришлось). Оказалась, эта особа ТОЖЕ сидит вконтакте! Обалдеть... я выпал в осадок. Похоже в России, первое что надо скупать- акции социальных сетей.

Thursday, April 12, 2007

Просто пост и ничего личного

Никогда бы не подумал, что МикроПО (все совпадения с реальними названими и именами случайны) готово сэкономить на партнерах-студентах (уже бывших, после того как я опубликовал некий пост). Основным элементом развития, которого всегда была связь с лучшими ВУЗами страны. На мой взгляд, Гос. Университет СПб всегда считался таковым. А тут на те, говорят сначала:
[Цитаты заменены на мои комментарии, по вежливой рекомендации представителя данной коммерческой организации]
Приезжайте. Мы все устроим: привезем, накормим, развлечем, спать уложим, домой отправим.
Затем говорят:
[Цитаты заменены на мои комментарии, по вежливой рекомендации представителя данной коммерческой организации]
Приезжайте если уж очень хотите, но мы очень не хотим вас спать укладывать, мы, конечно, готовы это сделать, если сможете объяснить: «почему Вы не хотите сразу домой»
Поехать в Москву я согласился не из-за этого мероприятия, а скорее с целью устроить себе N дневный отпуск. А так, я себе могу позволить и самому съездить в «доблестную» столицу, за свой счет, но в более приятной кампании.
В тот же вечер, я решил опубликовать этот пост (тот что был до того самого разговора). Телефон забыл дома. Пришел на работу: смотрю пара пропущенных звонков из города отличного от Петербурга. Перезванивать не стал – кому надо, пусть и ищет (по сколько к списку приоритетных номеров тот не относился).
Представитель оказался на редкость вежливым: дал понять, что я разглашаю приватные данные компании и пр. Вспомнил о NDA (документ о не разглашении, который я в глаза не видел, да и не подписывал в том числе, это я точно помню). Напомнил про репутацию и вспомнил, про мою человеческую мораль (не буду показывать на продукты этого производителя, но я бы на их месте просто бы тут промолчал).
Что касается моей морали, это отдельный разговор:
Я, разумеется, человек аморальный, в последний день зачетной недели, сидел с заказчиком 16 часов, при этом ничего с него не взял за это по причине того что я сидел через свой мобильник, и не мог быстро деплоить на сервер (денег на трафик я много потратил).
Или когда отпускаю коллегу без объяснений пораньше, взяв его заботы на себя.
Мой девиз уж точно отличается от «человек, человеку волк»
Ну а предыдущий пост я сделал, чтобы унизить такую доблестную корпорацию и разгласить сверхсекретную информацию.

П.С.
Автор не настаивает на правдивости информации (возможно, все это лишь моя фантазия, но посты у меня из блога так просто не исчезают) и не незет отвественность, если она будет исталкованна не правильно. Так же все сказанное выше, является моим мнением (или фантазией) и не имеет отношения к инетересам, отличным от написания статей.

Linux в развлекательном журнале


В журнале с названием "Альманах отдыха" (название очень важно), ровно по середине, в соседстве со статьей "Вся правда о жвачках", целый разворот с названием "Linus vs Windows: дискуссия двух миров". Как говориться "Афтор жжот". Слова типа SGML, LaTeX, GNU info, LyX и пр, куча фактов "212% по стравнению с..."

Я думал что в подобных шурналах обычно пишут "А этот ноутбук подойдет к сумочке от D&G, но его никак нельзя носить с туфлями на шпильке"

Интересно кто станет читать такую статью в таком месте.... я и то не стал, начал искать что-то более простое...

Вот что называется: не в тему.

П.С. именно эту картинку использовали в статье.

Применение Экстримального Программирования на практике

3 Недели назад начал применять практики из экстримального программирования (ныне плавно эволюционировавшего в Шуструю разработку - Agile Development. Просто название у первого более красивое... как раз для заголовка) в проекте, над которым я работаю уже почти год (9.5 месяцев). Проект представляет из себе нечто похожее на небольшую ERP систему, которая должна сменить в производстве старую версию системы, для решения проблем автоматизации некого заграничного предприятия.

Причины которые, подтолкнувшие меня к этому шагу:
- Необходимость в автоматическом тестировании (С ручным, я просто не мог справиться)
- Большое количество новых фунциональностей, необходимостить в которых возникла в последнее время
- Переработка существующего кода, что более 3м клиентского и серверного кода - Рефакторинг (Refactoring). Часть которого использует достаточно не стабильный компонент, от которого со временим придеться избавиться (в следующей версии... через год)
- Короткие релизы - раз в неделю, чтобы конечный пользователь мог оценивать результаты и выдыигать свои пожелания.
- Постоянное общение с заказчиком.


От работы не более 40 часов в неделю пришлось отказаться - сроки...

Как показала практика, идея себя оправдала:
В последнем релизе не было обнаруженно ни одного изъяна (тестировали его под нагрузкой в реальных условиях, с самыми произвольными данными).
До этого, в 3-х недельных релизах находили по 20-25 проблем.

В результате, основной упор был сделан на Test-Driven Development (по-русски: пишешь тест - потом уже код логики) и рефакторинг (приписал тест ко компоненту и рефакторишь его). При этом в паре эти практики оказались гораздо более эффективными, нежли поодиночке.

При этом, это далеко не первый мой опыт работы в стиле Agile, но подобных результатов он мне еще не приносил.

Осталось пересилить в себе свинью, и начать писать тесты всегда и с самого начала.

В дальнейшми постараюсь поделиться своим опытом более развёрнуто, с конкретными примерами.

П.С.
Сегодня будет первая ночь за последнюю неделю, когда я могу спать спокойно.

"IPO" Социальных студенческих сетей

В последнее время широко распростанены так называемые социальные сети (В России... развитый глобальный интернет этим уже переболел пару лет назад). Сначала появился moikrug - для деловых людей, который недавно купил яндекс. Потом был старт-ап vkontakte - специально для студентов и выпускников вузов, который за пару месяцев сделал 200к пользователей, что составляет ~ 1% от общего числа интернет-пользователей в России. В тоже время появился и другой проект - факультет. При этом последний меня поразрил особенно: он стал во-первых ОАО, а во вторых устроил IPO (Initial Public Offer - начальное публичное предложение акций) для своих пользователей, но не больше 100 акций на человека (есть дополнительные правила "в стиле МММ", но детели уже в источнике). Так что и Российские интернет-проекты начинают превращяться в бизнес.

Удачи

Tuesday, April 10, 2007

Пределка поста про Microsoft, зарезанного цензурой

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

П.С.

Сейчас у меня дэд лайн в 2 проектах, а как известно, интересы заказчиков превыше всего, так что приходиться все как следует оттестить и понаписать кучу автоматических тестов (эх, не прижился у меня test-driven development).

Спасибо за понимание.

Пост про Microsoft

Предыдущий пост времено не доступен (причина: цензура).
Постараюсь выпустить его с некоторыми коррективами сегодня вечером.