Пожалуйста, без паники! Да, РСУБД с открытым исходным кодом — наше все. Но если вы тру программист, то ваше приложение должно поддерживать много разных СУБД, в том числе такую эзотерику, как Microsoft SQL Server :) В этой заметке мы научимся основам работы с Microsoft SQL Server и убедимся, что в действительности он мало чем отличается от тех же PostgreSQL или MySQL.

В этом выпуске: находим достойную альтернативу Sublime Text, пересматриваем видео со всех конференций 2015-го года, поднимаем свой StackOverflow, узнаем, как стать настоящим гуру UI, и не только. Предыдущие выпуски: ноябрь 2015, октябрь 2015, сентябрь 2015, август 2015.

Допустим, разрабатывается некоторый проект. К проекту требуется написать интеграционные и системные тесты, а также, возможно, нагрузочные и еще какие-то. Для решения этой задачи Python подходит просто идеально. В чем мы с вами скоро и убедимся, познакомившись с фреймворком PyTest и некоторыми плагинами к нему.

Полагаю, всем, кто работает в сфере информационных технологий (кодерам, админам, безопасникам, тестировщикам, …), знакомо состояние серости и безысходности, когда работа начинает казаться нудной, решаемые задачи — неинтересными, когда хочется бросить все и начать новую карьеру — скажем, альпиниста или пастуха овец. Одни называют это состояние «творческим кризисом», другие — «выгоранием», третьи — «хандрой». У кого-то оно длится неделю, а у кого-то растягивается на месяцы. Но, думается, все согласятся, что состояние это очень неприятное и рано или поздно с ним сталкивается каждый. Вот о том, почему возникает выгорание, как его предотвратить, и как правильно выходить из такого состояния, мы и поговорим в этой заметке.

Часто от умных, казалось бы, людей можно услышать очень смешные вещи в отношении GC. Например, «Java/Scala/Go тормозит и вообще со stop the world, поэтому все всегда нужно писать только на Erlang». При этом все остальные преимущества Java (Scala) и множественные недостатки Erlang отбрасываются. Или вот еще — «все игры должны писаться на C/C++, потому что из-за GC автоматически все будет лагать». Люди, как всегда, все переупрощают и ругают то, с чем они даже не пытались научиться работать. Та же проблема stop the world действительно является проблемой, но вовсе не относящейся к разряду нерешаемых. И в этой заметке я собрал аж десять известных мне способов борьбы с ней.

Поговорим об отладчиках для Microsoft Windows. Их существует довольно много, вспомнить хотя бы всеми любимый OllyDbg, некогда популярный, но в настоящее время практически умерший SoftIce, а также Sycer, Immunity Debugger, x64dbg и бесчисленное количество отладчиков, встроенных в IDE. По моим наблюдениям, WinDbg нравится далеко не всем. Думаю, в основном это связано с командным интерфейсом отладчика. Любителям Linux и FreeBSD, бесспорно, он пришелся бы по душе. Но закоренелым пользователям Windows он кажется странным и неудобным. А тем временем, по функционалу WinDbg ничем не уступает другим отладчикам. Как минимум, он точно нечем не хуже классического GDB или там LLDB. В чем мы сегодня с вами и убедимся.

Ранее в заметке Делаем метрики и мониторинг для Akka при помощи Kamon мы уже познакомились с некоторыми возможностями Kamon. Правда, нельзя сказать, что возможности эти были особо впечатляющими, так как метрики можно вполне успешно писать и безо всякого Kamon. Сегодня же мы познакомимся с некоторыми другими средствами, предоставляемыми этой несколько спорной, но определенно очень мощной библиотекой.

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

Про DI и пользу от него сказано уже немало. Если простыми словами, то идея сводится к следующему. В ряде случаев вместо конкретной реализации того или иного компонента в коде используется только интерфейс. Конкретная же реализация передается явно через конструкторы классов, паттерн service locator, cake pattern, и так далее. Таким образом можно с легкостью мокать классы (вряд ли вы хотите слать настоящие e-mail при прогоне интеграционных тестов), или, например, при помощи файла конфигурации определять, в какой из трех поддерживаемых РСУБД хранить данные. В этой заметке мы рассмотрим, как добиться всего названного в Scala, воспользовавшись библиотекой SubCut. Также мы выясним, почему то же самое, по всей видимости, очень трудно проделать в некоторых других языках.

Задачи в программировании бывают разными. Например, часто бывает нужно написать простой скрипт на 10 строк кода. Долгое время я использовал для таких задач Perl. Но, как показывает опыт, многие команды находят Perl сложным в изучении и использовании. Поэтому возникает вопрос поиска более лучшего скриптового языка. После долгих раздумий я пришел к выводу, что такой язык — это, скорее всего, Python, и в этой заметке будет рассказано, почему.