Jan-Itor
Только читая SICP стал понимать, что программирование это полная интерпретация мыслительных процессов человека средствами машины. Не абстрактно (на уровне формулировки тезиса Чёрча-Тьюринга) а именно практически, проводя ассоциации между вычислительными процессами в машине и своей голове. Горите в аду все, кто учил программировать от машинных команд противопоставляя команды машины человеческой логике. Теперь для меня программирование больше похоже на изучение своих мыслительных процессов а не попытка убедить компилятор, что этот набор машинных инструкций можно выполнить.
Jan-Itor
Apple решил перезагрузить macbook air. 6 секунд на загрузку mac os x, приложения в том же состоянии, что до перезагрузки, без лагов при попытке начать работать с приложением сразу при появлении рабочего стола, впечатляет.
Jan-Itor
xp парное программирование — очень хорошая штука. Особенно когда вы сидите не за одним монитором, а шарите экран через team viewer или похожий инструмент, позволяющий работать с экраном собеседника. В таком случае можно разлечься на кресле, положить ноги на стол и созерцать код, который пишется с твоих слов :) Особенно радует, когда встаёшь попить чай, оборачиваешься, а код пишется, работа работается! :) Настойчиво рекомендую хотя бы час в день заниматься парным программированием.
Jan-Itor
А вы замечали, что на проектах где PM девушка, чаще делаются косметические улучшения, а не пилится функционал? Переход от частного случая к общему обоснован?
Jan-Itor
Git Узнал что git репозиторий может легко получать update с svn репозитория и отправлять в svn репозиторий свои коммиты также легко. Из коробки (man git-svn). Можно перестать есть кактусы.
Jan-Itor
tdd UnitTest Личный опыт разработки библиотеки с покрытием unit тестами. На момент начала работы, я располагал подробной UML диаграммой, которая долго обсуждалась и корректировалась, в итоге unit тесты ни разу не вынудили изменить класс для того, чтобы он стал проще тестируем. Перед началом работы обнаружили, что в команде 3 разных взгляда на то, как писать тесты, в итоге пришли к соглашению по написанию тестов к классу. Красные полоски до implementation и зелёные после поднимают боевой дух. А вот когда вносишь исправление ошибки (в одну строчку), не пойманной тестами, и ради этого нужно написать ещё тесты в гораздо большее количество строк — боевой дух падает. Ближе к релизу поведение класса претерпевало изменения, а его интерфейс почти не изменялся, в итоге куча unit тестов, тестирующих специфичные ситуации, отправлялась в корзину (может я плохо их писал, а может тесты действительно выступают в таких случаях тяжелым грузом, пока не решил). Любые изменения класса при слабой связанности и взаимодействии через события могут привести к устареванию большого числа unit тестов, а это без внимания не должно оставаться. Порой тесты в полтора раза или больше превышают размеры тестируемого класса, а уверенности в том, что они покрыли все ситуации и баги, у меня никогда нет. Успешный тест не говорит о стабильности работы метода в приложении. Ни разу не встретил в статьях про unit тесты напоминание о том, что с затратами на их написание и поддержку прийдётся считаться а ведь вопрос о преимуществах использования unit тестирования стаёт более остро. Были случаи, когда я исправлял неработающий тест по работающему методу :) и мне за них стыдно. Конкретно в этом случае выгоды от моей реализации tdd не очевидны, в отличии от проблем этой реализации. Списывая на плохую реализацию буду практиковать дальше.
Jan-Itor
Maven Flexmojos Если кому либо удалось запустить unit тесты на hudson и главное указать flexmojos на то, где лежит плеер (в пути есть, но всё равно не находит), буду очень признателен за помощь.
Jan-Itor
начать день с купания на море, значит очень сильно повысить свою производительность настроение и самочувствие. Раньше плохо понимал @Constantiner, теперь завидую что у меня море тёплое только 3 месяца в году.
Jan-Itor
Mac в 10.6 в U.S. раскладке вместо ′ и ~ на клавише расположены § и ±, что создаёт дискомфорт. Отредактировал раскладку и даже отменил верхний регистр по клавише Caps Lock (раньше просто отключал клавишу). Осталась проблема удалить старую U.S. раскладку из доступных для переключения, которая упорно не желает удаляться. Буду рад иным решениям проблемы.
Jan-Itor
pomodoro Довёл свою программу управления временем (техника pomodoro) до состояния годного к использованию. Лежит здесь github.com [] Умеет оповещать о успешно выполненных "помидорчиках" и записывать эти данные в календарь iCal. Также может по выполнении заданного количества помидорчиков выполнить TODO в iCal. Скоро будет поддержка AppleScript.
Jan-Itor
Flash в 10.3 Global settings перенесли с сайта macromedia.com [macromedia.com] в панель настроек компьютера. Давно надо было. Теперь можно задавать trusted locations используя понятный интерфейс, а не просить об этом flexmojos или flash builder.
Jan-Itor
AppKit Interface Builder великолепен, он даже проверяет title выбранного menu item когда я хочу указать цель для action и открывает меню со списком методов цели так, чтобы метод с похожим названием был ровно под курсором.
Jan-Itor
Apple AppKit У apple следующий подход к построению интерфейса. Каждый объект (и все на кого он ссылается) может быть сохранён в последовательность байтов или xml документ одним вызовом и также лекго восстановлен. Когда вы создаёте в Interface Builder вид приложения, вы оперируете уже созданными view и controls, которые сохраняются в файл .xib или .nib. Приложение перед тем как показать это view восстанавливает его из файла, вы получаете уже инициализированные объекты. Преимущество в производительности и большая сложность в создании view из редактора (как mxml компоненты).
Jan-Itor
Не могу спать, когда есть баги. Вчера они были очень изощерённы. Проявлялись только в релиз билде, дебаг не спасает. Баг не даёт приложению нормально запуститься и алерт с интересующими переменными не спасает. Один баг вёл себя так, словно дело в XCode (я добросовестно думал что виноваты мои кривые руки а не XCode). Тем не менее после ручного сравнения файлов, в которых хранятся настройки XCode моего проекта и туториала, в котором всё работает оказалось что виноват XCode и ручная правка файла проекта помогла. Такие победы над багами здорово увеличивают настрой на продуктивную разработку ))