Посмотрев конференцию GoingNative 2012 решил попытаться описать «best practice» для написания программ в стиле C++11. Планируется цикл статей, кому интересно, auto articlesIterator = articles.begin();
Читать полностью »
Рубрика «Программирование» - 1087
Type-rich Programming
2012-05-22 в 17:51, admin, рубрики: best practice, c++, c++11, style guide, Программирование, Совершенный код, метки: best practice, c++11, style guideПогружаемся в глубины C# dynamic
2012-05-22 в 16:37, admin, рубрики: .net, clr, DLR, dynamic, Программирование, метки: .net, c++, clr, DLR, dynamic Одним из наиболее заметных дополнений в C# 4 является dynamic. Об этом рассказано много и не раз. Но всегда выпускается из виду DLR (Dynamic language Runtime). В данной статье мы рассмотрим внутреннее устройство DLR, работу самого компилятора, а также дадим определение понятиям статически-, динамически- типизированный язык со слабой и сильной типизациями. И, конечно же, не останется без внимания техника PIC (Polymorphic Inline Cache), используемая, например, в Google V8 engine.
Читать полностью »
Entropy — Неточный язык программирования
2012-05-22 в 11:08, admin, рубрики: ненормальное программирование, Программирование
В комментариях к недавнему посту про неточный процессор, читатель lol2Fast4U привел ссылку на интересный язык программирования — Entropy.
Суть этого языка в том, что в нем отсутствует детерминированность.
Каждый раз, когда мы обращаемся к каким-либо данным, они искажаются все больше и больше.
Казалось бы, смысл создания этого языка — весьма сомнителен. Но на деле, этот подход может быть полезным для эмуляции как раз тех самых неточных процессоров, о которых идет речь в вышеуказанном посте.
Сами понимаете, что подход к программированию в такой среде должен быть принципиально иным.
Читать полностью »
Несколько шагов кэширования справочников
2012-05-22 в 5:58, admin, рубрики: Алгоритмы, кэширование, Программирование, справочники, метки: кэширование, Программирование, справочники В ходе работы над системой документооборота возникла задача — кэшировать справочники, использующиеся на клиентской стороне. Cистема была спроектирована в виде трехзвенки (БД — сервер приложения — клиентская часть), поэтому простора для фантазии было много.
Исходные условия: несколько десятков справочников, отличающихся по объему от нескольких записей до нескольких десятков тысяч записей в каждом. Каждая запись для большинства справочников хранит в себе полезные данные (обычно строку) и идентификатор записи (целое число).
Читать полностью »
F# Хвостовая рекурсия. Подводные грабли. Часть 1
2012-05-21 в 9:25, admin, рубрики: .net, fsharp, memory leaks, tail recursion, Программирование, разработка, утечки памяти, хвостовая рекурсия, метки: fsharp, memory leaks, tail recursion, утечки памяти, хвостовая рекурсия 
Винни Пух: Ой, что это случилось с твоим хвостом?
Иа: А что с ним могло случится?
Винни Пух: Его нет.
Иа: Ты не ошибся?
Винни Пух: Хвост или есть или нет совсем! Тут нельзя ошибиться.
Иа: А что же тогда там есть?
Винни Пух: Ничего!
У нас в проекте, в одном из серверных компонентов, после очередного рефакторинга начала течь память. Казалось бы .NET, F#, менеджед код, сборка мусора, все дела, но память, куда-то утекала. Ценой бессонных ночей и попорченных нервов, источник утечки был найден. Оказалось что проблема вызвана куском кода, который был, чуть ли не один к одному скопирован из учебника по F#.
Все дело было в хвостовой рекурсии, вернее, как оказалось в ее отсутствии в неожиданных местах.
Читать полностью »
Будни разработки Open Source проекта
2012-05-21 в 0:44, admin, рубрики: open source, Parallels, Программирование, управление проектами, метки: Parallels 
На недавно прошедшей конференции Application Developer Days 2012 мне довелось прочитать коротенький доклад о том, как создаются Open Source проекты на примере OpenVZ Web Panel. К сожалению, у меня было 10 минут, вместо положенных 30-40 и в результате 80% подготовленного материала оказалось “за бортом”. Организаторы, почему-то в последний момент передумали и убрали даже 5-минутную секцию с вопросами, так что остался без фидбэка. Но не буду сильно наезжать на организаторов — они старались как могли и конференция явно удалась, за что им огромное спасибо. Также очень порадовало и качество большинства докладов.

Теперь к сути топика — хочу выложить полную версию рассказа о том, как создаются Open Source проекты на примере собственного начинания, поделится мыслями и взглядами на разработку подобных проектов, рассказать о внутренней кухне, попробовать предостеречь от типичных ошибок.
Читать полностью »
Усложнение жизни в LaTeX
2012-05-20 в 14:29, admin, рубрики: latex, велосипедостроение, мы не ищем легких путей, мышление, Программирование, метки: latex, велосипедостроение, мы не ищем легких путей, мышлениеПри вёрстке дипломной работы в LaTeX настал этап приведения её вида в соответствие хотя бы некоторым принятым стандартам. Соответственно, начались и поиски решения возникавших вопросов, в том числе стандартными средствами, то бишь путём гугления.
Первая мысль, возникшая после просмотра решений, найденных на разношёрстных форумах — «Я же не усну». Немного размышлений и оперативное пролистывание небезызвестных руководств Балдина, Сюткина и Львовского, подтвердивших результаты размышлений, позволили разобраться с вопросами гораздо более компактными, удобными и воспринимаемыми способами.
Донбасс Арена на рабочем столе
2012-05-19 в 17:53, admin, рубрики: .net, Программирование, рабочий стол, метки: c++, рабочий стол 
В преддверии Евро 2012 решил написать программу, устанавливающую на рабочий стол изображение из веб-камер Донбасс Арены.
Читать полностью »


