Хочу создать серию топиков, посвященных душе, в смысле anima mundi, в области информационных технологий. Но для начала надо представиться.Читать полностью »
Архив за 23 июля 2012 - 8
Разрешите представиться
2012-07-23 в 3:23, admin, рубрики: human resources, знакомство, психология, метки: знакомство, психологияПсихология рядового программиста (инженера)
2012-07-23 в 3:23, admin, рубрики: human resources, знакомство, психология, метки: знакомство, психологияХочу создать серию топиков, посвященных душе, в смысле anima mundi, в области информационных технологий. Но для начала надо представиться.Читать полностью »
GC в C++: преодоление соблазна
2012-07-23 в 3:08, admin, рубрики: c++, инкапсуляция, ооп, сборка мусора, указатели, управление памятью, метки: инкапсуляция, сборка мусора, указатели, управление памятьюНедавно появилась заметка о простой и эффективной «ручной» сборке мусора в С++. Вполне допускаю, что локальная сборка мусора внутри какого-то сложного класса (где идёт активная низкоуровневая работа с указателями) может быть оправдана. Но в масштабах большой программы, существует более надёжный и простой метод избавления от утечек памяти. Не претендуя на «метод на все случаи жизни», очень надеюсь, что он сделает проще жизнь хотя бы некоторым из читателей.
Суть метода предельно проста: если каждый объект является переменной какой-либо области видимости или простым («стековым») членом другого объекта, то даже при аварийном закрытии программы от необработанного исключения, всегда будет происходить корректная очистка. Задача заключается в том, чтобы свести всё многообразие динамических сценариев к этой схеме.
Читать полностью »
Автоматическая сборка javascript/coffeescript проекта
2012-07-23 в 2:40, admin, рубрики: ruby, Веб-разработка, ПрограммированиеПри разработке разработке хоть сколько-нибудь большого javascript проекта сразу понимаешь, что писать весь код в одном-единственном файле нельзя. После этого код разносится по нескольким файлам и директориям и пишется простой скрипт для того, чтобы все эти файлы можно было легко объединить в один большой production файл. Спустя какое-то время начинаешь замечать, что чем дальше, тем труднее становится следить за зависимостями между файлами, да и весь разработанный механизм больше похож на костыль. И тут приходить озарение, что неплохо было бы посмотреть какие существуют решения этой проблемы.
К системе управления сборкой проекта выдвигаются следующие требования:
- Компиляция из coffescript в javascript. Если в файле coffeescript содержится ошибка, то в консоле должны отобразиться название файла и сообщение об ошибке.
- Сборка проекта в один javascript файл должна производится с учетом зависимостей.
- Возможность собрать все приложение целиком в один файл в нескольких видах (с комментариями, минимизированный). При этом само приложение может состоять из нескольких модулей.
- Сборка тестовых файлов и их выполнение в консоли (да, разрабатываем для веба, при этом не притрагиваемся к мышке и вообще не вылазим из любимого vim'a).
- Конечно же все это должно быть удобно в использовании.
В данной статье я не буду затрагивать вопрос тестирования, а рассмотрю вариант системы управления сборкой javascript/coffescript проекта (и саму структуру проекта) с использованием rake и Rake::Pipeline (git).
Читать полностью »