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

Данная статья обобщает мои личные заметки по выбору ноутбука — надеюсь, что кому‑то они окажутся полезными. Через мои руки за последние 15 лет прошло 5 личных ноутбуков от 4 производителей (два из них объездили вместе со мной в командировках всю страну). До этого были две «пекарни» на примерно десять лет. Плюс работа сисадмином пару лет (ещё несколько ноутбуков), плюс несколько рабочих ноутбуков, выданных мне как программисту, плюс эникейство для родственников (больше устройств для бога устройств!).
Правильная постановка проблемных задач

Добрый день! Все, наверное, видели замечательную короткометражку "Эксперт" (для любителей неповторимых оригиналов - "The Expert") про то, как специалиста просят нарисовать красные линии зелёным цветом. Как бы ни было смешно наблюдать когнитивный диссонанс специалиста, получившего противоречивую задачу, каждый, я думаю, сталкивался с подобным (в той или иной мере) в своей карьере.
Немного о велосипедах
Ещё один способ локализации приложений
- Получая значение локализованной строки в коде, очень хочется полагаться на всю мощь ООП и подсказки компилятора. Очень неприятно собрать проект в вечером в пятницу, а утром в субботу получить звонок от впахивающих overtime QA на тему того, что кто-то невнимательный написал GetResource(«asdf») вместо GetResource(«assf»), и теперь что-то падает или отображается неверно, а проект в понедельник уже сдавать в печать…
- (В продолжение предыдущего пункта...) Писать string foo = language.Ui.PromtDialog.AdditionalQuestion просто приятнее, чем string foo = Resources.GetResource(«Ui_PromtDialog_AdditionalQuestion»). Да, в том числе и за счёт подсказок компилятора.
- Иногда локализовать нужно не строки, а целые объекты. Например, существительное (строка + род М/Ж/С/Мн) и прилагательное (строка М + строка Ж + строка С + строка Мн). Пихать в ресурсы сериализованную строку, а потом доставать и десериализовать каждый раз? Мсье знает толк в извращениях…
- Ресурсный файл — это плоский список строк, а хотелось бы, чтобы данные всё-таки имели более сложную иерархическую структуру, по которой не нужно ползать с помощью Ctrl+F.
- Создание нового языка должно быть настолько простым, насколько это возможно. Локализовать приложение должен быть способен человек, умеющий обращаться с компьютером и владеющий нужными языками. И ему для этого не нужны ни Visual Studio, ни возня с созданием ресурсных сборок.
Ещё одно обязательное требование — возможность простой привязки к локализации элементов UI. Желательно — одновременно и WPF, и WinForms.
Простые шаги по сокращению кода после применения паттерна «стратегия» с помощью generic-классов
Это вторая версия статьи. Первая (под названием Набор мелких улучшений работы с паттерном «стратегия» с помощью generic-классов) получилась не очень удачной, так как в ней в духе Ландау и Лифшица было опущено несколько промежуточных шагов, критически важных для понимания хода мысли. Объявляю отдельную благодарность INC_R, сумевшему-таки в комментариях донести до меня этот простой факт.
Реализация ООП-наследования в классах, работающих с SQL и MS Entity Framework
Information
- Rating
- Does not participate
- Location
- Warszawa, Warszawa, Польша
- Registered
- Activity