понедельник, января 26, 2009

Невероятные совпадения

Читай между строк табов:



четверг, января 22, 2009

Эксперементы с Маком 2

В Википедии я прочитал что tcl/tk (его почему то по русски его назвают тактиль) как то особо хорошо интегрируется с SQLite и решил его использовать (думал задача стоит быстро написать прогу, а не Питон выучить). Это оказалось ошибкой: в чем его особая интеграция с SQLite я так и не узнал, а повозится мне с ним пришлось.
SQLite - встраеваемая реляционная база данных. Простая и симпатичная. Единственное что в ней напрягает, то что она позволяет в поля любых типов записывать данные любых типов, а сами типы полей - просто подсказки, чтобы не забыть какие данные ты собирался там хранить изначально. Но тем не менее данные хранятся в таблицах выбираются селектом, а вставляются инсертом, а для настольных приложений больше обычно и не надо.
Вообщем тактиль оказался достаточно простым скриптовым языком, инфы по нему я нашел очень мало, а на превращение скриптов в бинарник ушло больше времени, чем на написание программы. Превращение скриптов в бинарник достаточно нетривиальное. оно основано на загонянии скриптов и интерпретатора в один файл, который представляет из себя виртуальную файловую систему VFS. Для того, чтобы создать бинарник нужно скачать или собрать tclkit (интерпретатор в одном файле), из скриптов программы собрать starkit, а потом все это собрать в starpack.

Кстати, неоценимую помощь в собирании программы в бинарник оказла програмка Starpacker, которая очень облегчила этот процесс.

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

Ну и собственно что у меня получилось. Программа отображает статус билета (билет валиден, билет невлиден, билет валиден но уже погашен) в виде дорожных знаков и ведет статистику. Программа прошла боевое крещение на новый год, в МВЦ


Эксперимент с Маком закончен, дальше будет эксперимент с Кокой (тоже на Маке)

вторник, января 20, 2009

Эксперименты с Маком :)

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

Первая задача была написать приложение, для контроля билетов, которое проверяло бы штрих код билета на валидность. На входе стоит чувак с ноутом и сканером штрих кодов и сканирует штрих коды билетов, а задача программы определить валидный ли штрих код и не проходили ли уже по этому билету.
Кстати, оказывается считыватель штрих кодов определяется как юсб клавиатура. При считывании штрих кода он делает вид, что нажимает на кнопки. За счет этого обеспечивается кроссплатформеность и отпадает нужда возится со считыванием битов, через юсб. По моему очень остроумное решнеие.
После этого начались муки выбора технологии на которой писать, несмотря на то что задача стояла простая - сроки поджимали. Требования были простые: чтобы, во первых, работало на Леопарде, во вторых на ХР. Из-за сроков я сразу отбросил такие емкие технологии как Java. Решил взять что-то простое. Выбор был между Python и Tcl/Tk. Python мне всем нрависля и я уже почти выбрал его, как ...

(продолжение следует)