Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2007-06-23

веб разработка, фреймворки


Мыслей у меня по этой теме на статью, да где время взять...
Но кратко можно так: есть такое видео-презенто, с названием Better Web Application Framework, от Sean Kelly, говорят, работал на NASA.
В своем выступлении он попытался продемонстрировать насколько подходят для веб-разработки доступные среды, Ruby on Rails, Zope(Plone), Django, Turbo Gears, J2EE средства.
Кому интересно, посмотрите, он начинает с "хелло, мир" и заканчивает тайм-тракером на двух таблицах БД.
Выводы интересные, но ожидаемые - J2EE - отстой, слишком много кода надо писать, слишком много ненужной головной боли, слишком много времени уходить на простые вещи. Правда забывает сказать, что эта технология лучше всех масштабируется по людям.

Далее остальные перечисленные среды, худо-бедно сопоставимы, но самым приятным и полезным оказывается ... Zope(Plone). Кто бы мог подумать?
Не очень понятно, как там с взаимодействием с унаследованными системами, но вроде неплохо. А по количеству работающих полезняшек "из коробки" вне конкуренции.

Так усердно рекламируемые нынче "рельсы" обладают средней полезностью, и очень плохой поддержкой унаследованных систем. Рельсы хорошо подходят, если все данные крутятся внутри проекта и взаимодействие с внешним миром идет через веб-сервисы. Но безопасность и авторизацию "из коробки" вы не получите.

Остальные - не рыба ни мясо.

Я же думаю, фреймворк хорош, когда задача шаблонна и дозволено решить ее шаблонным же способом. Ну типа как программировать БД приложения в среде MS Access.
Многих это устраивает, а что? Быстро, просто, и даже работает некоторое время.

Только один вопрос остается нераскрытым, ну почему в результате реализации любого большого проекта, как побочный эффект, появляется новый фреймворк? Неужто существующие такие негибкие? Хотя ... чем гибче фреймворк, тем он менее полезен для быстрой разработки а нафига тогда он нужен?

2007-06-04

Москали зажрались

Натурально, зажрались. За 600 (450 + 150) рублей в месяц у меня дома интернет через Корбину - безлимитка в один мегабит и, плюс, резервный канал через местечкового пионера. Пионер вдобавок держит многотерабайтный дисковый массив, с которого я смотрю фильмы разные. Много. Да. Москва - это отдельное государство.
Мечта идиота. Не так давно (лет 7 назад) я буквально мечтал о безлимитке 64 кбит. Не могу сказать, что я стал счастливее. Но и интернет в этом не виню.

2007-06-02

Адреса в эРэФии

Делаю сейчас работу, в части которой надо оперировать адресами (искать, выбирать. добавлять в реестр). С точностью хотя бы до населенного пункта (улицы и дома - необязательно).
Забавно, но фактически нет полного и актуального реестра адресов, не то что на РФ, на Московскую область! Есть всякие КЛАДРы (наиболее полезная штука), ОКАТО и прочие. Но ОКАТО в машиночитаемом виде не найти, да и актуальность аховая, КЛАДР - заточена под нужды налоговой и там есть только то, что "должно" в казну. Электронная Россия, АУ!... нет ответа.
ОКАТО - это вообще песня! Делали его калькой с советской системы, разработанной пес знает когда. Когда компьютеры были большими, а мы маленькими (а может и вовсе не родились). Посему, после оптимистичного введения (где декларируется цель - машиночитаемый реестр) в устройство кодов этой ... мягко говоря - хрени, идет описание способов экономии битов и байтов, путем манипулирования длиной кода. Это понять почти невозможно, не то чтобы запрограммировать! Да и КЛАДР по похожей схеме сделан.

О! Эта схема составления и интерпретации частей адреса! Расскажу на пальцах: формально, адрес состоит из частей - регион, район, город, населенный пункт, улица, дом, квартира. Где-то между нас.пунктом и улицей должен быть почтовый индекс. Приготовьтесь.... барабанная дробь... если отбросить улицы и после, обязательным можно обьявить только регион! О как. Пример: г. Москва. Это регион, код 77. Далее, улица и т.д.
А есть полные адреса, где Московская область (это регион!, код 50), Хреновый район, г. Бздянск, д. Козюлино и далее.
Но это еще не всё. Сочетания тоже могут быть прикольные, например - регион и нас. пункт; регион и город; регион, район и нас.пункт (без города). Того кто придумал такую схему надо найти и расстрелять. Если умер - найти его потомков, как детей вредителя и выслать из страны с запретом возвращаться до 7 потомка. Потому, что это конкретное вредительство. Машинной обработке почти не поддается.

А как эта схема кодируется... плин, ,kz , это отдельная песня. Покажу на примере: посмотрите выше, деревня Козюлино. ОК, представьте, эта д. Козюлино имеет код 333, г. Бздянск, имеет код 777, Хреновый район - 111 (МО - 50). Тогда в КЛАДР будет 4 записи в таблице элементов: 50 000 000 000 - это МО, 50 111 000 000 - это Хреновый район, 50 111 777 000 - г. Бздянск, ну и наша деревня - 50 111 777 333.

Удобно правда? Изящно, лаконично. А теперь попробуйте нарисовать запрос, которым надо найти все нас.пункты напрямую подчиненные району. Нарисовали? А теперь вспомните количество вариантов комбинаций частей адреса.

Короче, имея КЛАДР и собственный реестр для занесения адресов которых нет в КЛАДР, простая программа подсказывающая пользователю возможные варианты написания части адреса (автокомплит) состоит из 1.5 тысяч строк кода на языке высого уровня. Именно простая, адрес заполняется сверху вниз, от региона до дома. Написана за 5 дней.

Лечим гланды автогеном через Ж.

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

Где это всё? Государственные мужи и бабы, где это?
И имея эти мысли в голове я наблюдаю как эти... рассуждают куда потратить "лишние" деньги! ,kz
Как долго мы еще будем позволять всяким так поступать с нами и нашей страной?

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)