пятница, 26 апреля 2013 г.

На почитать

1. Очень хорошая статья про построение архитектуры приложения вообще, и применительно к Go  в частности: http://manuel.kiessling.net/2012/09/28/applying-the-clean-architecture-to-go-applications/
После прочтения статьи у меня появилось стойкое желание зарефакторить свой проект
2. Список различных библиотек и приложений, написанных на Go:

Стачка 2013

  В этом году впервые посетил  конференцию Стачка в своем родном городе Ульяновске, и был приятно удивлен размахом мероприятия. Отличная атмосфера, встретил кучу старых знакомых. Из докладов понравилось несколько:
    1. Руслана Фазлыева - про Ecwid. Мотивирующий, интересный, стартаперский такой доклад.
    2. Льва Валкина - про подходы Echo к решению некоторых задач. Самый академичный из всех  докладов. Я бы даже сказал он по своему уровню был несколько выше уровня аудитории.
    3. Антон Кортунов со товарищем - рассказывали про Эклиптикс, Кокаин и файловую систему похмелФС :-)
    4. Юрий Бушмилев рассказывал про тонкости работы PostgreSQL. Я хоть и очень давно не работал с ним - но послушать все равно было интересно.

    Несколько разочаровали выступления Андрея Аксенова - первый доклад получился скомканным и сводилсяк тому что надо правильно бенчмаркать, а не так как товарищи из мамбы бенчмаркали сфинкс. Второй доклад был аж 3-х летней давности, из него я тоде ничего нового для себя не узнал. Третий стало лень смотреть - предчувствую что там ничего хорошего не будет.
   Некоторые из субботних докладов  еще не просмотрел - если что-то еще интересное найду - дополню список.
   Для тех кто не был - все доклады можно просмотреть в записи -http://nastachku.ru/pages/broadcast

среда, 24 апреля 2013 г.

Новое в Go 1.1

    В Go версии 1.1 обещают такую клевую штуку как thread-sanitizer. Эта штуковина в автоматическом режиме определяет race conditions в вашей программе. Так как в Go потоки создаются "с легкостью необыкновенной"  то и проблема обнаружения таких ошибок стоит весьма остро. Хотя если следовать паттернам проектирования реализованным в самом языке то вероятность наступить на эти грабли минимальна.  
 Как эта штуковина работает ? 
 Она патчит компилятор и при любом доступе к памяти, который является потенциально опасным  проверяет этот участок памяти - на предмет а не пишет ли кто туда в этот момент ?
Если такие вещи обнаруживается то вам выдается лог с указанием какие именно потоки у вас не поделили данный участок памяти.  Более подробно об алгоритме можно прочитать тут - https://code.google.com/p/thread-sanitizer/wiki/Algorithm 
     Этот инструмент в принципе доступен уже сейчас - для C/C++ и для Go. Но придется самим прикручивать его к компилятору. Самая же хорошая новость - что в Go 1.1 этот инструмент будет доступен сразу в коробке.

вторник, 23 апреля 2013 г.

Go 1.1 meeting

    В эту субботу, а точнее 27 апреля состоится вторая  встреча любителей Go, посвященная грядущему релизу Go 1.1. Встреча пройдет в офисе Гугла, все подробности можно узнать вот тут: http://www.meetup.com/Golang-Moscow/events/112830412/

Хозяйке на заметку

   Раскопал тут довольно интересную тулзу от гугла Episodes:
http://code.google.com/p/episodes/
Это небольшой JS скрипт который позволяет замерять время загрузки страницы и время выполнения каких либо действий уже после загрузки страницы.Довольно известный в узких кругах сервис - NewRelic использует этот скрипт для сбора информации о времени загрузки страницы для конечного пользователя


понедельник, 1 апреля 2013 г.

Go developers meet up

    В минувшие выходные в Москве состоялась первая встреча Go- сообщества России. Что сказать - первый блин вовсе не комом. Познакомились с отличными ребятами, было рассказано много интересного.  Сам я пиарил свою библиотечку для работы с сессиями:
php_session_decoder
Вот и сами слайды:

На последок хочется сказать большое спасибо организаторам - Alexey Palazhchenko и Samat Galimov за организацию этой встречи