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

2006-06-22

платформа для веб сервера

Есть разные варианты, под виндой, к примеру, есть IIS. И может, для кого то это оправданно. Но я выбрал связку Apache, PHP, ADO. Хотя если уйти с винды, придется искать замену ADO.
Кому нужно строить масштабируемые решения, надо выбирать Java. Хотя, некоторые выбирают .NET

Почитайте, любопытно:
http://www.apachelounge.com/
http://www.apachefriends.org/en/xampp.html
Википедия:Как сделать копию Википедии
http://ru.wikipedia.org/wiki/MediaWiki

Разьясню свою точку зрения по поводу микрософт:
Решения от микрософт чем хороши - легкостью вхождения, раз, мышкой потыркал, все вроде заработало... Потом правда, окажется. что все не проще чем при альтернативных решениях, но это потом...
А чем плохи решения от микрософт - стратегия затягивания. Это когда во первых, очень трудно отказаться от микрософт и перейти (перенести код) на немикрософт, и во вторых, гораздо проще подружить продукт1 (от микрософт) с продукт2 (от микрософт), нежели подружить продукт1 (от микрософт) с продукт2 (от НЕ микрософт).
В итоге у Вас все больше продуктов от микрософт и все меньше от не микрософт. Стратегия затягивания (в болото). Поэтому если можно что то сделать на не микрософт, я делаю именно так.

странно, PHP как CGI и как модуль Apache

А странного вот чего, у меня пхп как CGI программа работает быстрее чем когда я подключаю эту пхп как модуль. Прям на глаз заметно, как быстрее страницы выдаются от сервера.
Кто бы мне обьяснил, почему так происходит? Ведь модуль Апача по определению должен работать быстрее, чем ЦГИ программа.

медиавики (MediaWiki)

http://en.wikipedia.org/wiki/MediaWiki
По разным причинам, поставил на работе сразу две штуки, для разных проектов. Хочу поделиться впечатлениями.
Сильная вещь. Позволяет работать над документами (статьи, в терминологии вики) как программисты работают над кодом сообща при помощи систем поддержки версий.
Вики - это такая база данных статей (документов), которые Вы создаете. При этом каждое изменение статьи сохраняется, любую версию статьи можно посмотреть отдельно. А над этой базой статей накручен вебинтерфейс, то что мы видим в браузере. Здорово.
Думаю, лучший способ применения - совместная работа над документами и быстрое создание вебсайтов или персональных страниц. Ну или замена Системе Управления Контентом на сайте, хотя тут будут трудности.
Вики разрабатывалась как демократичная система, с ограничениями доступа и привилегий негусто. Если кому можно редактировать статьи, то любые. А если нельзя, то никакие.

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

резюме: отличная игрушка!

питон (Python) против пхп (PHP5). Скорость

Последнее время часто стали попадаться известия с упоминанием Ruby on Rails. Причем после описания, как клево делать вебприложения на рубирельсах, идет упоминание о том, что питон мол побыстрее будет...
Ну и решил я посмотреть, кто быстрей. Правда до руби пока ручки не добрались, поэтому сравнивал питон и пхп. Хочу еще и яваскрипт (JavaScript) проверить, в его микрософтовой реализации. Тем более, что мне самому питон нравится, не в последнюю очередь реализацией интерфейса к технологии COM/DCOM.
Сразу скажу итог: питон от 2 (двух) до 3 (трех) раз медленнее чем пхп. А если руби медленнее чем питон... Кто вообще придумал писать вебприложения на руби? Наверное продавцы суперкомпьютеров и прочих кластеров, не иначе.
А теперь приведу код, чтобы вы и сами могли проверить.

Вариант 1. просто прогон вложенного цикла.

пхп, результат:
Thu, 22 Jun 2006 01:55:07 +0400 start count
x = [8997000]
Thu, 22 Jun 2006 01:55:10 +0400 end count
итого - 3 секунды.

питон, результат:
2006-06-22 01:58:52 start count
x: [8997000]
2006-06-22 01:58:57 end count
итого - 5 секунд.

нормально, да?

Вариант 2. Перебор ячеек выборки из таблицы.

пхп, результат:
Thu, 22 Jun 2006 02:02:13 +0400start sql qry
Thu, 22 Jun 2006 02:02:13 +0400end sql qry, start count
Thu, 22 Jun 2006 02:02:19 +0400end count
not null vals: [24480]
итого - 6 секунд.

питон, результат:
2006-06-22 02:05:19 start sql qry
2006-06-22 02:05:20 end sql qry, start count
2006-06-22 02:05:44 end count
not null vals: 24480
итого - 25 секунд.

вот так. ПХП рулит.

Приложение.

Код на пхп:


Код на питон:

Архив блога

Ярлыки

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) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) 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) 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) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)