Структуры данных и алгоритмы в Java (2-е издание)

Опубликовано 15 August 2017 в Обзоры • Помечено java, лафоре, алгоритмы

Для меня основное достоинство книги "Структуры данных и алгоритмы в Java" - язык которым автор описывает алгоритмы. Он не использует сложный академический язык, приправленный тонной высшей математики. Роберт Лафоре использует простой язык и пытается дать максимально простое объяснение, какое только возможно, каждому алгоритму.


Продолжить чтение

Горячие клавиши Emacs в русской раскладке

Опубликовано 10 June 2017 в Редакторы и IDE • Помечено emacs, layout

Думаю вы как и я не можете позволить себе пользоваться только английской раскладкой клавиатуры. Так или иначе для работы приходится использовать обе: и русскую, и английскую. В целом, это не доставляет никаких проблем, пока дело не касается Emacs. Не знаю почему, но в нем горячие клавиши в русской раскладке просто перестают работать. Видимо, сказывается страшное наследие "ASCII - единственно возможный набор символов для всех языков мира". Возможно, есть какие-то другие причины. Тем не менее, в Emacs есть свой довольно странный способ переключение раскладок (Input Method в терминах Emacs): C-\. Я никогда не находил этот вариант приемлемым и переключался на английскую раскладку каждый раз. Но я все-таки нашел способ как избежать этого и заставить горячие клавиши работать вне зависимости от раскладки клавиатуры.


Продолжить чтение

Property в классе наследнике

Опубликовано 30 May 2017 в Python • Помечено python, property

Кажется очевидным, что property можно переопределить в классе наследнике и вызвать super внутри этого переопределенного свойства. Вроде бы звучит нормально? Да, так и есть. Тем не менее, когда мой коллега задал мне такой вопрос, я "завис" на некоторое время. Возможно я излишне подозрителен, но каждый раз когда в коде есть какая-то магия, я ожидаю подвоха. Поэтому, я решил немного поэкспериментировать и доказать себе, что проперти работают так как ожидается.


Продолжить чтение

Pyenv на маке

Опубликовано 19 May 2017 в Python • Помечено python, pyenv

Довольно сложно управляться с несколькими версиями питона на одном ноутбуке. Хотя, это довольно распространенная ситуация. Обычно, у разработчиков несколько проектов требующих разных версия питона. В целом, есть несколько вариантов для решения этой задачи, но моим любимым остается pyenv в компании с плагином virtualenv. Раньше я использовал "голый" Homebrew, но это далеко не так гибко и удобно.


Продолжить чтение

Обзор Soft Skills

Опубликовано 15 April 2017 в Обзоры • Помечено book, soft skills

Когда я начал читать "Soft Skills" Джона Сонмеза я не знал чего от нее ожидать. С одной стороны, как программисты мы считаем, что нет ничего важнее написания кода. И это правда. Тем не менее, чрезвычайно сложно найти интересный проект без продвижения самого себя. Я сомневался, что кто-нибудь способен объяснить это разработчикам. Не могу сказать, что Джон делает это идеально, но его попытка достаточно хороша, что бы потратить время и прочитать его книгу.


Продолжить чтение