Как стать автором
Обновить
0
0
Дмитрий Борисов @reformer

Пользователь

Отправить сообщение

Главное преимущество Go

Время на прочтение5 мин
Количество просмотров39K
Если спросить среднестатического Go-девелопера, какие есть преимущества у Go — скорее всего вы услышите уже знакомый перечень плюшек. О них уже написано немало, но очень часто обходится стороной другая вещь, гораздо более интересная — долгосрочный эффект тех или иных решений дизайна языка. Я хочу раскрыть эту тему чуть шире, которая на самом деле актуальна не только для Go. Но в данной статье я возьму для примера два аспекта — способ обработки ошибок в Go и систему тестирования и постараюсь показать, как дизайн языка вынуждает людей писать более качественный код.


Читать дальше →
Всего голосов 94: ↑70 и ↓24+46
Комментарии207

Кросс-компиляция в Go

Время на прочтение9 мин
Количество просмотров106K
Несмотря на то, что кроссплатформенность стала фактически стандартным атрибутом практически всех современных языков и библиотек, создавать по-настоящему кроссплатформенный продукт, всё равно было непросто. Компилируемые языки и сопутствующие библиотеки требовали сложной установки и настройки среды сборки и библиотек, а интерпретируемые — обязывали иметь или деплоить в составе необходимую версию интерпретатора. Есть немало проектов, пытающихся сделать этот процесс чуть более простым, но зачастую единственным решением оставалось устанавливать отдельный сервер и компилировать нативно.

В Go кросс-платформенность вышла на тот уровень, когда впервые можно смело отказаться от compile farms, специально настроенных dev-сред, виртуальных машин для сборки или chroot/docker-dev решений. И это ещё один серьезный game-changer, подробнее о котором я и хочу рассказать и показать на примерах
Поехали.


Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии13

Деплой Go-серверов с помощью Docker

Время на прочтение5 мин
Количество просмотров36K

Введение


На этой неделе команда Docker анонсировала официальные базовые образы для Go и других основных языков, предоставляя разработчикам простой и надежный способ создания контейнеров для программ на Go.

В этой статье мы шаг за шагом пройдём создание Docker-контейнера для простого веб-приложения на Go а также деплой этого контейнера в Google Compute Engine. Если вы ещё не знакомы с Docker, вам следует прочесть статью Understanding Docker, прежде чем читать дальше.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии3

Книжные сети Рунета: взгляд пользователя

Время на прочтение6 мин
Количество просмотров15K
Поводом к написанию этой статьи было появление еще одного сервиса среди книжных социальных сетей, и желание привести в порядок мысли на эту тему. Вообще, социалок в Рунете уже довольно много, но они не перестают появляться и находить своих пользователей. Я пробовал многие, но не во всех проявлял активность, и лишь в некоторых остался до сих пор.

Мои пристрастия к книгам и всему-что-вокруг-них, заставляют меня пробовать и пользоваться сервисами, связанными непосредственно с книгами. Поэтому, я зарегистрирован во всех (известных мне на сегодняшний момент) российских книжных социальных сетях.

Так уж получилось, что я общаюсь со всеми создателями подобных сервисов (почти со всеми дружу онлайн). Не скажу, что как-то сильно участвовал в работе и развитии того или иного проекта, но со мной пару раз советовались. А я пытаюсь найти для себя самый лучший сервис. Но, пожалуй, расскажу все по порядку…
Читать очень много букв...
Всего голосов 43: ↑42 и ↓1+41
Комментарии27

ПО для взаимодействия ПК и смартфона

Время на прочтение7 мин
Количество просмотров436K
С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

Статья ориентирована в основном на формирующихся и будущих пользователей Android-смартфонов; надеюсь, что продвинутые пользователи также найдут в ней что-то новое и/или внесут свою лепту. Под катом по пунктам, в вопрос-ответном стиле.
Читать дальше →
Всего голосов 136: ↑127 и ↓9+118
Комментарии60

Пристальный взгляд на шаблоны мобильных интерфейсов

Время на прочтение5 мин
Количество просмотров6.1K


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

Эти 70 шаблонов проиллюстрированы сотнями примеров приложений для операционных систем Apple, BlackBerry, Android, Symbian, Windows и WebOS будут изданы O’Reilly Media как «Mobile Design Pattern Gallery». Ниже приведена одна из моих любимых глав — Приглашение.

* Не смотря на то, что эти шаблоны ориентированы на разработку мобильных приложений, они так же могут быть использованы при работе над мобильным веб-сайтом.
Читать дальше →
Всего голосов 76: ↑68 и ↓8+60
Комментарии16

Как Google тестирует ПО

Время на прочтение9 мин
Количество просмотров40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →
Всего голосов 224: ↑217 и ↓7+210
Комментарии52

Выпуск RadStudio XE2, Delphi XE2 и других продуктов Embarcadero

Время на прочтение1 мин
Количество просмотров4.2K
image

Выпущены новые версии RadStudio, Delphi и других продуктов Embarcadero.

Заметные изменения:
  • 64-битный компилятор для Windows (8 лет спустя первого упоминания);
  • Кросс-платформерная библиотека визуальных компонентов «FireMonkey». Как я понял, она основывается на купленной в этом году библиотеке компонентов KsDev нашего соотечественника Евгения Крюкова (http://www.ksdev.com/). Заявлена поддержка iOS-устройств и Mac OS X;
  • API для работы с облачными сервисами Windows Azure, Amazon;
  • FastReport в качестве основного генератора отчётов (новость на сайте FastReport).


Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии101

17 простых советов для повышения продуктивности

Время на прочтение3 мин
Количество просмотров33K
Эти советы — не очередная компиляция из книг и блогов, посвященных продуктивности. Каждый совет основан на моём личном опыте. На каждый совет я мог бы дать гарантию, если бы гарантия на советы была возможна в принципе.

Вступление окончено, переходим к советам!
Читать дальше →
Всего голосов 180: ↑152 и ↓28+124
Комментарии116

Микроэлектроника – мотивации псто

Время на прочтение8 мин
Количество просмотров50K
image

Дисклаймер


Мне нравится заниматься микроэлектроникой. Причем я даже не уверен, что я правильно использую слово «микроэлектроника» — может быть, я занимаюсь совсем не ей. Может быть я занимаюсь схемотехникой. Или программированием. Или программированием микроконтроллеров. Или сборкой электронных устройств. Или еще бог знает чем. Но для себя то, что я делаю, я называю микроэлектроникой – мне лень пойти почитать определение и сопоставить с тем, что я делаю — да простят меня сведущие и, возможно, обидевшиеся.
Несмотря на то, что я занимаюсь микроэлектроникой и уделяю этому занятию достаточно много времени на протяжении почти трех лет – я все еще начинающий с массой больших пробелов в знаниях. Но кое-что у меня получается и я стараюсь разобраться в вопросах, в которых все еще не разбираюсь.
Решил я написать этот пост потому, что вижу с одной стороны большой интерес к «ардуино-постам», трепет при виде мигающего светодиода, а с другой стороны какой-то непонятный мне страх самостоятельно взять и сделать что-то. Ребята, от страхов нам надо избавляться.
Читать дальше →
Всего голосов 208: ↑192 и ↓16+176
Комментарии92

NHibernate vs. Entity Framework 4.0

Время на прочтение3 мин
Количество просмотров14K
Это вопрос мне задают очень часто, и я всегда старался уклониться от прямого ответа, но все же меня так часто об этом спрашивают, что я чувствую, что я просто обязан ответить. В общем-то я больше склоняюсь к NHibernate, поэтому, когда вы читаете эту статью, пожалуйста, имейте это в виду.

В EF 4.0 исправлено очень много проблем, существующих в предыдущей версии EF. Такие вещи как прозрачная «lazy loading», POCO классы, code only и т.д. EF 4.0 явно гораздо приятнее чем EF 1.0.
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии16

Code-first в Entity Framework

Время на прочтение4 мин
Количество просмотров56K
Into

Под .NET существует две родных ORM, разрабатываемых и поддерживаемых Microsoft, — Entity Framework и Linq2Sql. Однако Entity Framework продолжает развиваться внушительными темпами, а про будущее Linq2Sql ничего толком неизвестно.

Entity Framework предлагает удобный дизайнер, огромное количество вариантов маппинга, автогенерацию классов-моделей, но на все это есть жирный минус – гигантские и раздутые сгенерированные классы, которые к тому же нельзя изменять вручную – ибо при каждом изменении модели в дизайнере, все будет пересоздано заново. Сравните это с чистыми классами, и добавленными к ним атрибутами, как в Linq2Sql, и вы поймете, почему такое количество людей заявляет о легковесности Linq2Sql и монструозности EF.

Конечно, каждая проблема имеет решение, и эта не исключение. Частичные классы позволят добавить нужный функционал, а специально созданные классы с правилами валидации, помеченные атрибутом [MetadataType], дадут возможность использовать атрибуты валидации для классов-моделей. Но вместе это получается не очень красиво – размазанные по проекту классы, увеличение их количества, и все та же сложность в поддержке.

Не стоит также забывать об условиях работы классов-моделей: они должны либо наследоваться от EntityObject или реализовывать интерфейсы EntityWithKey, IEntityWithChangeTracker и IEntityWithRelationships

Так что же делать тем, кто хочет получить максимально простые классы для работы внутри ORM?
Читать дальше →
Всего голосов 55: ↑46 и ↓9+37
Комментарии12

10 способов улучшить свои навыки программирования

Время на прочтение4 мин
Количество просмотров88K

1. Выучить новый язык программирования


Изучение нового языка программирования разовьет новые способы мышления, особенно если новый язык программирования использует парадигмы, с которыми Вы еще не знакомы. Многие из приобретенных способов мышления могут быть применены к языкам, которые уже знаете. Возможно, вы даже полюбите новый для Вас язык программирования настолько, что начнёте использовать его для серьёзных проектов.

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Всего голосов 239: ↑227 и ↓12+215
Комментарии96

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность