Запретите мне
Apr. 24th, 2012 05:50 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Мне нельзя писать на C, по причине психологических проблем. Я начинаю от входа изобретать велосипеды, писать какие-то свои строки, массивы строк и прочую хрень.
Впрочем, в целях самообучения оно, конечно, полезно, но потом надо заставить себя взять готовые библиотеки и переписать на них.
Тогда возникает следующая проблема: какую из 100500 библиотек взять?
А вообще это я пытаюсь сделать общение с девайсом в continuation-passing style с трамплином, но начав его делать, я углубился в строки и списки строк )
PS: Наверно возьму glib. Код строк у них там внезапно почти идентичен тому, что я тут наколхозил.
PPS: Хотя уже есть и альтернативное мнение в комментариях. Ну и спрашивается, как жить в языке, где на каждую тему есть половина мнений за и половина мнений против?:)
Впрочем, в целях самообучения оно, конечно, полезно, но потом надо заставить себя взять готовые библиотеки и переписать на них.
Тогда возникает следующая проблема: какую из 100500 библиотек взять?
А вообще это я пытаюсь сделать общение с девайсом в continuation-passing style с трамплином, но начав его делать, я углубился в строки и списки строк )
PS: Наверно возьму glib. Код строк у них там внезапно почти идентичен тому, что я тут наколхозил.
PPS: Хотя уже есть и альтернативное мнение в комментариях. Ну и спрашивается, как жить в языке, где на каждую тему есть половина мнений за и половина мнений против?:)
no subject
Date: 2012-04-24 02:52 pm (UTC)no subject
Date: 2012-04-24 03:04 pm (UTC)no subject
Date: 2012-04-24 03:07 pm (UTC)no subject
Date: 2012-04-24 03:09 pm (UTC)no subject
Date: 2012-04-24 03:27 pm (UTC)no subject
Date: 2012-04-24 03:44 pm (UTC)no subject
Date: 2012-04-24 03:51 pm (UTC)Итого, альтернатив UTF8 в общем нет.
no subject
Date: 2012-04-24 04:08 pm (UTC)настраиваемой пользователем.
>1)байт-ориентированная (чтобы не
> было идиотизма с LE/BE)
Транспортная -- да. Со внутренней в принцыпе могут быть варианты, это в общем скорее дело библиотеки.
>с нормальным расходом памяти, сниженным для
> частых символов
preliminary optimisation. Если нужэн снижэнный расход памяти -- используйте хаффмана. А вообще написать столько настоящего текста, который займёт существенную память -- нетривиально.
>желательно, являться надмножеством ascii.
Вообще хорошо бы. Хотя лучшэ, чтобы поддержка не-ascii тожэ была.
>хотя бы миллионом кодпойнтов
Вы столько не выучите.
То есть транспортная и системная инфраструктура должна поддержывать расшыряемый набор кодировок, по очевидной причине. В расшыряемом наборе будет неограниченное количество кодпоинтов. С другой стороны, мне часто хватает windows-1251 с парой эскейпов.
Вообще, мне бы подошла rfc2047, если чо.
no subject
Date: 2012-04-24 06:03 pm (UTC)Это ярлык.
>Если нужэн снижэнный расход памяти -- используйте хаффмана.
Не всегда вариант. Зачастую совсем не вариант.
>А вообще написать столько настоящего текста, который займёт существенную память -- нетривиально.
Банально. Сериализованная база имя-телефон-адрес.
>Вы столько не выучите.
Мне и не надо. Юникод просто один должен быть.
no subject
Date: 2012-04-24 07:03 pm (UTC)Это зависит. По мне так лучше 4 байта на символ и высокая производительность.
no subject
Date: 2012-04-25 11:16 am (UTC)no subject
Date: 2012-04-25 07:32 pm (UTC)no subject
Date: 2012-04-24 06:13 pm (UTC)no subject
Date: 2012-04-24 03:31 pm (UTC)no subject
Date: 2012-04-24 03:59 pm (UTC)если конечно не нужно потом утилитку ужимать в остродиетическую прошивку, где лишние 500KB на .so уже больно.
no subject
Date: 2012-04-24 05:18 pm (UTC)no subject
Date: 2012-04-24 05:27 pm (UTC)no subject
Date: 2012-04-24 05:40 pm (UTC)no subject
Date: 2012-04-24 05:49 pm (UTC)Пока ты показываешь поля так, как по дефолту хочет эта шняга - всё ок. Как только хочешь сделать показ и редактирование 16-ричных значений, или поле Description с длинными строками, выходящими за экран - наступает умца-умца.
В драйвере Sqlite3 для Qt были утрачены по дороге foreign keys - они не отрабатывают при удалении, которое должно быть каскадным. Пришлось хардкодить удаление записей из всех связанных таблиц (помимо главной).
Короче - в Qt всё изумительно, пока ты остаёшься в пределах функиционала демок. Как только реальные задачи - начинается фейерия, когда кастомизируешь дефолтное поведение.
Подгрузка значений из базы тоже странновато сделана. Хорошо что не всё грузит во model сразу, но странно дёргается и сбрасывает почём зря текущие значения положения активной ячейки при сохранении изменений.
no subject
Date: 2012-04-24 05:56 pm (UTC)no subject
Date: 2012-04-24 05:58 pm (UTC)Консольный клиент (без qt) отрабатывал ок.
no subject
Date: 2012-04-24 06:03 pm (UTC)no subject
Date: 2012-04-24 06:08 pm (UTC)Package: libqt4-sql-sqlite
Depends: libsqlite3-0 (>= 3.5.9)
Package: sqlite3
Depends: libsqlite3-0 (= 3.7.9-2)
Package: libsqlite3-0
Description: SQLite 3 shared library
no subject
Date: 2012-04-24 06:32 pm (UTC)no subject
Date: 2012-04-24 06:33 pm (UTC)no subject
Date: 2012-04-24 06:35 pm (UTC)no subject
Date: 2012-04-24 06:48 pm (UTC)no subject
Date: 2012-04-24 06:50 pm (UTC)no subject
Date: 2012-04-24 07:05 pm (UTC)no subject
Date: 2012-04-24 06:37 pm (UTC)Коллега, это реальная уличная магия :). Спасибо, попробуем.
no subject
Date: 2012-04-24 06:44 pm (UTC)no subject
Date: 2012-04-24 10:46 pm (UTC)тут все очень переживают!
no subject
Date: 2012-04-26 07:42 am (UTC)no subject
Date: 2012-04-26 09:01 am (UTC)no subject
Date: 2012-04-26 04:06 pm (UTC)no subject
Date: 2012-04-26 05:01 pm (UTC)no subject
Date: 2012-04-24 03:50 pm (UTC)no subject
Date: 2012-04-24 05:30 pm (UTC)"Создатели Хабла не ошибались"
no subject
Date: 2012-04-24 04:22 pm (UTC)no subject
Date: 2012-04-24 04:34 pm (UTC)no subject
Date: 2012-04-24 06:02 pm (UTC)no subject
Date: 2012-04-25 05:44 am (UTC)no subject
Date: 2012-04-24 06:41 pm (UTC)no subject
Date: 2012-04-24 07:08 pm (UTC)no subject
Date: 2012-04-24 07:15 pm (UTC)no subject
Date: 2012-04-25 12:00 am (UTC)no subject
Date: 2012-04-24 07:14 pm (UTC)Дзэн совет: жить нужно в парадигме языка.
Парадигма си - пишем всё самостоятельно, экономим память, ошибок не бывает, а строки только в ASCII.
Парадигма с++ - пишем всё на шаблонах, всё в динамической памяти, утечки памяти ловим с сачком, имплементация классов и шаблонов перетекает в интерфейсы.
no subject
Date: 2012-04-24 07:28 pm (UTC)