Погружаюсь в Javascript

2014-06-03 22:21

Тема: программы

Программистская ломка – это такое состояние, когда тебе ну очень, очень хочется написать что-нибудь эпическое и работающее. Может быть, не особо полезное нормальным людям, но обязательно крутое. И позволяющее чему-то научиться.

Поскольку у меня приступ, то я решил написать программу-генератор для листов персонажей для форумной настолки, в которую я играю. Там нужно разделение модели и представления, связывание, валидация и много других прикольных и полезных вещей. Использую Node, NPM и Browserify. Функции выделяю в различные модули и компоную. Пока что разобрался, как вся эта контора работает в принципе, и написал первые кусочки работающего кода.

Ждите цикла небольших постов, которые будут интересны только тем, кому интересен Javascript.

Комментарии (0)

Читать дальше

Флегматично о лучших практиках

2014-05-27 19:41

Тема: программы

Я люблю порой почитать Хабр. Сам я в программировании понимаю мало: близко к "лучшим практикам" я пишу только на VBA для Excel. Тут я могу много чего интересного порассказать и про оптимизацию, и про логику программы, и про разделение баз данных, переменных и прорисовки результатов. В общем, в этой области у меня есть некоторый опыт, и я могу защищать свой код.

Это и еще SQL. Обычный, а не процедурный PL/SQL (с Transact'ом не работал). Во всем остальном (PHP, Javascript, PL/SQL, MATLAB) я живу в мире костылей, и могу сказать про свой код только то, что он читаем и работает достаточно быстро для моих задач. От стандартов индустрии он далек.

Тем более прикольно читать программистские холивары. Недавно немного глубже погрузился в тему Javascript, а именно в AngularJS. Прикольный фреймворк: почитал туториалы, посмотрел примеры, сделал для себя вывод, что это такая штука, которой удобно пользоваться, если ты хочешь базирующийся на SQL бэкенд частично или полностью заменить обновляющимися текстовиками, из которых уже машина клиента будет собирать страницу. Для этой задачи Angular может дать хорошо организованный и читаемый код, предоставить HTML-объектам дополнительный функционал, и взять на себя многое, что иначе пришлось бы писать самому.

Комментарии (0)

Читать дальше

Оптимизация быстродействия на VBA

2013-08-10 14:21

Тема: программы

Отличная статья на Хабре про то, на что надо обращать внимание, чтобы писать быстрые программы на скриптовых языках, таких как VBScript и VBA.

Поскольку я сам много пишу на VBA, было очень интересно почитать. Тут основная фишка в чем: написание программы для оптимальной с точки зрения использования памяти и количества тактов процессора реализации некоего математического алгоритма и написание проги для какой-нибудь чисто практической задачи - вещи принципиально разные. Неразличение этих понятий приводит к тому, что программист погружается в какой-то бесконечный цикл микро-оптимизаций, толку с которых - нуль.

Почему нуль? Потому что основные потери в быстродействии при написании программ на VBA возникают по причине незнания объектной модели Excel, а не из-за неоптимального кода. Типичные ошибки, например считывание большого количества данных из книги напрямую, без создания отдельной копии в оперативной памяти, либо оставление включенным обновления экрана, сжирают неизмеримо больше времени, чем объявление ненужных переменных и тому подобная ерунда.

Комментарии (0)

Читать дальше

Лабиринт своими руками

2012-12-05 18:00

Тема: программы

В комментах к этой записи Жека дал ссылку на презентацию западного программиста по имени Jamis Buck, посвященную алгоритмизации. Подача материала неплоха (симпатичные картинки, мало текста, работающие алгоритмы), но по сути я не согласен по ряду пунктов.

1) Тяжкий труд и игра - фундаментально разные вещи. Bullshit. Если тематика интересна, то поиск оптимальных решений в работе - это та же игра, только интересней, потому что задачи сложнее, да еще и деньги платят.

2) Постоянные упражнения в реализации алгоритмов решения некоей одной задачи помогут стать хорошим программистом. Ну уж нет. Чтобы писать хорошие программы под реальные задачи, надо писать программы под реальные задачи. Если задача - максимально равномерно сгенерировать лабиринт, то надо перебирать алгоритмы и выбирать оптимальный под твои требования. Либо разбираться в графах и придумывать свой алгоритм, с блэкджеком и шлюхами. Если же задача - написать программу, которая тащит из базы SQL данные и формирует на их основе готовую отчетность, то умение писать алгоритмы построения лабиринтов поможет мало.

Комментарии (0)

Читать дальше


(c) Александр Кирко, 2016