Friday, December 23, 2011

Итоги 2011 года

1. Сделать Секретный Мегапроект.
В начале года пилил на Django. Получился более-менее интересный прототип. Даже познакомился с JQuery. Но не срослось. Не понравилась работа с client-side. Всё-таки в этом плане Django слишком низкоуровневый, а т.к. я ненавижу HTML, CSS и JavaScript, пришлось отказаться. Весной-летом обнаружил что бывает GWT. И ещё вспомнил, что я немного знаю Java. Всё очень понравилось, но за 2 месяца устал и решил отдохнуть. Сейчас думаю продолжить. Итог - не сделано, но в процессе. Сегодня ухожу в отпуск до конца новогодних каникул, думаю сильно продвинусь.

2. Изучить Python до уровня "более-менее знаю".
Как выяснилось из общения с некоторыми коллегами, я всё-таки скорее его знаю, чем не знаю. Итог - сделано.

3. Изучать Django до уровня "более-менее знаю" (понимание основных концепций, понимание архитектуры, понимание куда что своё прикрутить, чтобы получить то, что хочется)
С этим тоже были эксперименты, особых затруднений не возникло. Хотя как итог - сейчас уже придётся изучать заново, если понадобится.

4. Доделать компилятор.
Этим тоже занимался. Очень кстати подвернулся новый стандарт со своими плюшками. Но по сути ничего не сделано, только пара новых идей появилась.

5. Изучать новый C++ до уровня "более-менее знаю".
6. Изучать Boost до уровня "более-менее знаю и понимаю как работает".
7. Изучать STL до уровня "более-менее знаю".
Некоторые вещи удалось пощупать, но т.к. работа совершенно не способствует занятиями по C++, где-то на уровне "прикольно" оно всё так и осталось. Вообще, по состоянию на сейчас думаю перестать C++, потому что это реально костыль на костыле по сравнению с Java, .NET и Python. Есть сильное желание довести компилятор до более-менее вменяемого состояния, но скорее всего на этом мой C++ закончится.

8. Изучать паттерны проектирования до уровня "более-менее знаю".
Те, которые GoF, как выяснилось, я всё-таки неплохо понял. Но недавно тут подвернулись P of EAA, сейчас плавно знакомлюсь с ними. Как выяснилось, это ответы на те вопросы, которые мучали меня последние пару лет. Хотя книга Фаулера, безусловно, нечитаема. Ещё открыл для себя "читать чужой код". Занимает много времени, выглядит бессмысленно, но можно узнать новое и интересное. Это например про github и google code.

9. Изучать Android/Java до уровня "более-менее знаю".
А вот с этим забавно получилось. Целый год был единственным разработчиком в унылом .NET-проекте и внезапно, в конце года, подвернулась возможность во-первых уйти из него, а во-вторых сразу попасть в другой проект в качестве единственного Android разработчика. За 2 недели вспомнил всё, что делал раньше, а кроме этого, т.к. весь год с переменным успехом занимаюсь Java, сразу же посадил сборку на Maven и прикрутил кучу библиотек, чтобы не писать многое руками. Очень нравится. По поводу Java ещё можно добавить, что прошёл по ней некий тренинг - сокеты, потоки, синхронизация, клиент-серверность, и т.д. Были минорные эксперименты с Hibernate и AspectJ. Было много экспериментов с GWT: request factory и editors. Ну и ещё, прямо сейчас вот, изучаю ormlite, modelmapper, guice/roboguice, crest, simple-xml и всякое прочее. Больше всего радует, что это по работе, а не себе.

10. Изучить свежий .NET.
Наверное можно сказать, что сделано. В этом году я стал-таки Senior .NET developer, много щупал .NET 4.0 (несмотря на то, что в проекте использовался .NET 2.0). Познакомился с такими интересными вещами как Entity Framework, Ninject, AutoMapper. Пытался щупать WPF - не потянул. Ощущение монструозности, неповортливость и как-то слишком overcomplicated. Немного пощупал ASP.NET MVC 4 - очень понравилось кроме того, что HTML нужно писать руками. Были ещё всякие минорные эксперименты с Quartz.NET и NHibernate, но уже всё забылось. А ещё я прошёл некий тренинг по многопоточности в .NET 4. Интересный, кстати.

11. Получить MCSD по .NET (Desktop).
Даже и не думал в эту сторону.

12. Проштудировать Кормена. Полностью. Всё запрограммировать.
Хрен там. Даже не открыл :-) В начале года пару недель занимался тем, что реализовывал всякие алгоритмы сортировки руками, сравнивал как работают, но как-то не пошло. Потом ещё пару недель изучал графы. Дальше BFS и DFS не пошло. Это всё очень интересно, но отдачи нет. В работе это не нужно, а писать какие-то абстракции "для дома, для семьи" уже надоело.

13. Кататься на велосипеде.
Покатался пару раз. Даже прыгал банник. На этом всё и кончилось.

14. Сбросить вес до стабильных < 70 кг.
Скорее до 80 теперь :-)

15. Сделать, чтобы жена не говорила, что у меня дряблая обвисшая задница.
Сорри, жена.

16. Сделать ремонт в квартире и заселиться.
Уже 2 месяца живём. За это время собственноручно нафигачил кучу мебели, а пару дней назад подключал электроплиту и духовку.

17. Разобраться со времена в английском (да, стыдно).
18. Разобраться со всеми непонятностями в английском.
Были унылые попытки - не попёрло.

19. Научиться играть на гитаре.
Не брал в руки - наверное так будет честно. Зато в этом году мне подарили пианино, весь год играю. Почти каждый день.

20. Доделать задачку по iPhone (хотя и тошнит).
Решил забить. Совершенно не хочется развиваться в эту сторону. Вот даже в целях познакомиться.