Home
Boroda place
Заметки программиста

Boroda aka Hamster
Date: 2036-04-28 22:23
Subject: Добро пожаловать или посторонним В.
Security: Public

Здравствуйте! Рад Вас видеть.

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

Я разрабатываю программу BullDoc, которая позволяет делать документацию в виде текстовых файлов в формате html, держать их в одном SVN-репозитории с кодом. Возможна правка тектса через вебинтерфейс, где сразу виден результат без сборки проекта. Во время релиза собирается статичная книжка-документация. Имеется экспорт в CHM с индексом
Статья на хабре про программу
Можно посмотреть тюториал

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

Дейкстра, Смиренный программист
Про изобретение велосипеда и Not-Invented-Here Syndrome
Метрики производительности
Слишком простые уязвимости, чтобы их не замечать
Apache php4+php5 на девелоперской машине
Книга Э. Голдратта "Цель"

Подробности: Статьи, Ссылки, Браузер Опера, Рубрикатор )

Тексты публикуются под Creative Commons License: разрешается свободное копирование, распространение и демонстрация объектов авторского права (в том числе и в коммерческих целях), а также создание на их основе производных объектов авторского права. Чтобы воспользоваться этой лицензией, третьему лицу достаточно лишь указать автора работы, а также указать, что работа распространяется на условиях CC.

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.

22 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-26 21:30
Subject: XML бывает удобен. Детское.
Security: Public
Tags:development, php

Были времена, когда я пытался регулярками из XML значения доставать. Однако XPath несравнимо удобнее.

Если брать курсы валют от ЦБ:
http://www.cbr.ru/scripts/XML_daily.asp

То с использованием simple xml нужный курс берется совсем просто:

$xml=simplexml_load_string(file_get_contents('http://www.cbr.ru/scripts/XML_daily.asp'));
$euroNode=$this->xml->xpath('Valute[CharCode="EUR"]/Value');
$euroRate= (float) str_replace(',','.',$euroNode[0]);

И, чтобы не потерять — замечательные образцы XSLT-шаблонов от [info]ibnteo.
Это может быть громоздко, но очень красиво :)
Данные и представление формы
Вывод списка колонками

12 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-26 12:02
Subject: Почти идеальный EBook формат
Security: Public
Tags:publishing

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

Это EPUB (electronic publication) (also sometimes ePub, EPub, or epub) — открытый стандарт для электронных книг.

Read more... )

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-25 17:32
Subject: html-based ebooks
Security: Public
Tags:publishing

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

Самый мой любимый и простой способ сделать электронную книжку, это сверстать ее в html. Можно ее руками совсем верстать, можно, например bulldoc использовать, или дримвиввер или что угодно. Казалось бы следующий шаг — уметь читать браузером запакованную в zip такую книжку. Ну ведь совсем просто же. Однако нет.

Был популярен микрософтовский chm, да микрософт же его и закопала, как независимый формат, он устарел и не понимает utf.

У линуксового Konqueror из KDE есть свой формат — WAR — как раз то, что нужно — упакованные в архив файлы. Однако под виндой ничего такого нету. У мозиллы есть MAFF, но он не дает файлы иерархично раскладывать.

Был еще плагин foxdoc, но он к современному фф не подходит.

Прям хоть лабай такую читалку на Qt самостоятельно — распаковать во временную папку и прочитать встроенным WebKit.

13 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-25 16:33
Subject: Сопроводительная документация к Prince of Persia
Security: Public
Tags:computer history, games

Если кто вдруг не читает [info]avva, то посмотрите:
1. документация к исходникам самого первого "Принца"
2. Дневник разработчика

Кроме того в комментах есть ссылка на свободный проект Prince:
Princed Project

Дизайн-документ Пакмана:
The Pac-Man Dossier

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

В качестве бонуса забавная игра в пиксель-арте:
Small Worlds (via habr)

1 Comment | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-25 15:27
Subject: Осваивая jQuery
Security: Public
Music:Queen - [Innuendo #01] Innuendo
Tags:development, javascript

Продолжаю переползать с
самописного кода + jshttprequest + prototype + lightbox2+какой-то адаптированный календарик
на
jQuery+плагины

Read more... )

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-18 16:21
Subject: Эволюция программиста на php
Security: Public
Tags:development, php

Кажется, можно выделить эволюционные ступени развития программиста веб-приложений на LAMP, т.е. простейшем скриптовом языке и БД

0. Движки гостевых и форумов.

Проблемы:
а) Оптимизация двойных кавычек
б) Magic quotes, sql-инъекции, экранирование переменных при выводе
в) спор нрмально ли использование HTML кода в теле скрипта.
(contra: шаблонизаторы отстой, медленно, все хорошо когда в одном скрипте)

Императив:
[за ночь/выходные/месяц] напишем мега шаблонизатор и программирование сведется к верстке с параметрами


1. CMS — контент страниц сайта можно править пользователю, который не знает HTML

Проблемы
а) Где и как экранировать при выводе введенные пользователем поля.
б) загрузка и вставка картинок
в) SQL дерево
г) Поиск по сайту

Императив:
а) [за ночь/выходные/месяц] напишем мега модульную cms, разработка сведется к выставлению параметров и изредка разработку модулей
б) Купите коробучную CMS, зачем вам наколеночная самописка, у нас уже потрачено куча человекочасов, зачем их тратить еще раз.
в) "Купите нашу CMS и программист вам больше не понадобится", перетекающее в "программисты! вы нам нужны, продвигайте нашу CMS своим клиентам

2. CMF

Проблемы
а) А что это на самом деле за буквы MVC? То, что у меня в классе myForm это M? или С? Ой нет, да там вообще все намешано.... омг....
б) ORM — ересь или рулез? Не увязнуть в разработке ОРМ
в) web 2.0 и AJAX

Императив:
а) [за ночь/выходные/месяц] напишем мега cmf, мы же умные, да и чего там писать!
б) требование заказчика использовать что-то известное бесплатное вместо своего
в) переделанное известное все равно либо не гибкое, либо очень сильно переделанное....

——
Что будет в следующем витке эволюции?

9 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-18 13:09
Subject: Реклама старых вычислительных машин из брошюр
Security: Public
Tags:computer history

Картинки времен моего младенчества.
Вот жеж были машинки :)

http://kro1975.livejournal.com/1897600.html
(сам блог, впрочем, с большим упором на эротику, ретро порн, древний порн, с небольшими порциями старого фото и старой техники)

via [info]ru_oldpc, где в комментариях нашлась ссылка на архив печатных материалов, связанных с выч. техникой и ПО.
http://www.computerhistory.org/brochures/index.php (поиск по датам, по брендам, по области деятельности (для софта))

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-18 12:59
Subject: Русониксы молодцы
Security: Public
Tags:hosting, tech

Благодаря моему пинанию или нет, они таки теперь предоставляют php 5.2.11 (вместо 5.1.6) на всех хостингах.

В одном из опросников в комментарии я задал вопрос и получил желанное :)

Пожалуйста, сделайте поддержку php 5.2x на виртуальных хостингах!

Спасибо за предложение! Поддержка PHP 5.2.11 добавлена на новом сервере виртуального хостинга с панелью Plesk 9. На старых серверах эта версия, к сожалению, устанавливаться не будет, чтобы избежать проблем с совместимостью у клиентов, использующих устаревшие скрипты.
http://www.rusonyx.ru/company/poll-results.php

Осталось еще в одном месте, где php 4.4.4 стоит мозги проесть и уже будет хорошо.

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-18 12:28
Subject: In Memoriam and for the record
Security: Public

Тяжелая осень выдалась, — в сентябре умерла бабушка,
а сейчас вот умерла тетя, от чего чувство шока все никак не отступит.

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-10 21:54
Subject: Настроенческое
Security: Public

боянище, но мотивирует :)


KILL DASH NINE,
No more CPU time.
I run KILL DASH NINE,
And your process is mine.
I run KILL DASH NINE,
'Cause it's MY time to shine
So don't step outta line or else it's
KILL DASH NINE!


Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-10 21:26
Subject: Сага об уводе денег из яндекс-кошелька
Security: Public
Tags:security

Вдруг кто не читал и не следит.

Серия статей о том, как увели деньги из яндекс-кошелька, работе милиции и самого яндекса.

Это уже часть 3
http://habrahabr.ru/blogs/yandex/74811/

где показался след :) злоумышленник предлагал работу на фриланс.ру, постановка задачи по ссылке вела на сайт, который использовал XSS уязвимость в яндекс-словарях. Таким образом сессия могла быть перехвачена.

этого не достаточно, чтобы увести деньги, — можно только зайти в личный кабинет и посмотреть остаток на счете.

продолжение наверное будет....

8 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-10 15:02
Subject: Платный vs Бесплатный ЖЖ
Security: Public
Tags:lj

Вот упустил оплату и мой эккаунт перешел в бесплатный режим.

Сразу ощутил это, хотя когда-то Антон Носик, давая кому-то апгрейженный до платного эккаунт, чуть ли не на спор предлагал "у Вас есть две недели, чтобы объяснить, почему на бесплатном сильно хуже жить".

Хуже. Реклама везде. Оформление чужих журналов, которое все время было в теме моего жж, теперь пестрит разнообразием. Треды не разворачиваются. Комментарии не редактируются.

С другой стороны видно, что СУП не зря хлеб ест. Просто удобство, когда оно есть не ощущается. Замечаешь, когда оно исчезает.

10 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-10 14:42
Subject: MVC и работа с картинками в веб-приложении
Security: Public
Tags:development

Написал приглашение к обсуждению и размышления в [info]ru_php.

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

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-03 12:34
Subject: Ribbon-интерфейс и OpenOffice
Security: Public

А оказывается OpenOffice тоже экспериментирует с Ribbon-интерфейсом (который, как в office2007).

Я к нему так и не привык, но говорят, что тем, кто привык очень удобно.

Прототип, т.е. просто набросок без дизайна....
http://blogs.sun.com/GullFOSS/entry/prototyping_a_new_ui_july

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-10-29 18:04
Subject: Занимательная психология или Flow
Security: Public

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

Люди называют такое состояние flow (рус. поток), когда все получается, когда сознание работает, как мотор, когда время немного искажается. К сожалению это состояние не наступает по заказу, — вчера ты тупишь, как тормоз, а сегодня ничто не может тебя остановить. А как бы хотелось заранее планировать :) хехе, ведь заказчик хочет от программиста предсказуемости... а он, как парусник зависит от потока. Нет потока и все толчется на одном месте.

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-10-23 15:13
Subject: Бывают люди очень похожи....
Security: Public
Mood:мизантропия

Я было решил, что это один человек [info]retiredwizard и [info]gans_spb, но все же кажется разные.

но креативы просто идентичны по стилю:

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

PS интересно, это тезка визарда или он сам?
http://www.weblancer.net/users/RetiredWizard/projects/

9 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-10-22 15:41
Subject: Про шаблоны, которые View
Security: Public
Tags:development, php

Вот ведь интересно как постановка задачи меняет одни предпочтения на прямо противоположные.

Если вы создаете веб-приложение небольшой командой, то простота поддержки имеет наивысший приоритет. И шаблоны для View слоя из MVC крайне удобны на чистом php с хелперами (небольшими функциями или методами, чтобы выпадающий список у формы не рисовать, ссылки удобно ставить и т.д.).

Когда-то я был очарован XML, и сделал все на XML. Была идея пользоваться xslt, как стандартом и то, что в шаблоне никакого кода. Было все ужасно громоздко. И XML Был часто неудобен своим желанием валидности, и хелпер в xslt подиж ты запихни. Как только я с него слез, я понял, что это хорошо. Настолько стало легче. Да конечно надо себя ограничивать — не превращать шаблон в котроллер или, того хуже, в модель. Да этого желания и не возникает вообще-то, если ты понимаешь, что ты правишь шаблон.

Сегодня читаю как [info]slonik_v_domene в [info]ru_php жжет глаголом:

Лучший шаблонизатор - сам php?
Вон из профессии!!!


И ведь у него своя правда — если верстальщик шаблонов не сидит на растоянии вытянутой руки от тебя, то дать возможность в шаблоне писать код, должно быть плохо и опасно. Мало ли чего нанятый на сезонную работу верстальщик тебе в шаблон напихает. Хотя наверное должно быть видно, что в шаблон напихали, не так ли?

65 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-10-22 15:27
Subject: Издательская модель в сети. Интересный комментарий.
Security: Public
Tags:business, games

К моему размышлению про издательскую модель в сети был интересный комментарий:

Объявляется предзаказ. В течение недели принимаются микро-платежи со скидкой например 30%. В этот момент приходят средства, но никто не может еще украсть книгу :)

Это значит перед тем, как отдать книгу хотя бы одному читателю, следует выбить деньги из максимального количества (будущих) читателей? Ага, я тоже когда-то изобрёл эту схему. Потом узнал, что изобрёл велосипед. ;) Wikipedia: The Street Performer Protocol. Там в списке литературы есть и ссылка на научную статью 1999 года (Брюс Шнайер и ещё один). Дальше я могу много написать, поэтому тиснул отдельным постом.
http://seetolearnru.blogspot.com/2009/10/street-performer-protocol.html


Кстати вот еще один факт. Есть такая игрушка world of goo. Ее написали два человека, что нехарактерно для нынешнего игродева. Они ее от копирования не защищают, просят купленную версию не распространять. Игра вышла год назад, и чтобы отметить этот год в течение 3 дней игру раздают за пожертвование — любое, но больше одного цента (30 копеек). Ребята с этих пожертвований срубили $100000 за три дня.

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-10-21 21:49
Subject: Код должен быть живой и здоровый.
Security: Public
Tags:development

В вечный спор об изобретении велосипеда.

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

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

6 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



browse
my journal
links
November 2009