Удобные команды и алиасы для GIT

Несколько удобных алиасов для git, чтобы не потерять, положу это здесь. Я использую оболочку fish, поэтому возможно какие-то команды потребуется адаптировать для вашей. Шикарный набор советов здесь.

Лог в виде дерева:

function gl
    git log --oneline --decorate --graph --all
end

Интерактивный rebase с указанного в аргументах коммита:

[Далее]
git  fish 

Плагин для Sublime Text своими руками

Не секрет, что одним из самых популярных редакторов кода у разработчиков на сегодняшний день является Sublime Text. Кроме своих индивидуальных киллер-фич, которые вскоре стали копировать разработчики других продуктов той-же ниши (например, мультиредактирование), он хорош своей расширяемостью плагинами, коих великое множество на любой вкус. Думаю, не последней причиной такого их количества является простота создания. Для примера возьмем и напишем полезный инструмент, который будет брать как попало отформатированный Python-словарь и выдавать JSON стройными рядами.

[Далее]

Как остановить зависшую транзакцию в PostgreSQL

Сегодня PostgreSQL является одной из самых популярных СУБД, и, судя по новостям, многие крупные конторы переходят на ее использование с коммерческих продуктов признанных лидеров софтверного фронта. Поэтому думаю, что пошаговое решение ситуации с остановкой зависшей транзакции будет полезно многим. Я столкнулся с таковой, применяя транзакцию, создающую внешний ключ к заблокированной таблице.

[Далее]

Полное удаление Intellij IDEA или Вечный Триал

Одна из самых шикарных IDE для full-stack разработки - Intellij IDEA. Community версия бесплатна, и для разработки на Java/Android ее хватит за глаза. А если приходится писать на Python, PL/SQL, Groovy, JavaScript, и еще горсточке языков? Тут только Professional вариант, вот только он стоит денег, хоть он того и стоит. Конечно, для начала вам предлагается пробный период на месяц, в течении которого можно успеть по достоинству оценить эту IDE. Но что, если пробный период закончился, а денег на приобретение все еще нет?

[Далее]

Python и пляски с процессами

Про использование нескольких процессов в Python уже написано невообразимое множество статей, хороших и не очень; сломано немало копий в обсуждении проблемы GIL и псевдопотоков. Я же просто хочу рассказать о том, как решалась задача с управлением небольшого дерева дочерних процессов.

Итак, исходная ситуация. Основной процесс запускает два дочерних, используя multiprocessing.Process, передает туда очередь multiprocessing.Queue. Первый дочерний процесс просто собирает какие-то данные и пишет в очередь, второй же запускает еще несколько процессов, куда передает ту-же очередь, с которой они и работают.

[Далее]

Python NLTK + Stanford NLP

Как известно, в Python стандартом работы с натуральным языком де-факто является NLTK. Несмотря на это, я довольно долго использовал Pattern от CLiPS из-за его простоты и скорости (многие отмечают тормознутость NLTK).

Но наступил момент, когда почти вся кодовая база была успешно портирована на Python 3.5, а разработчики Pattern так и не сделали версию с поддержкой третьей версии. И, судя по всему, не собираются.

[Далее]

Postgres: generate the most large followers intersections

Задача: получить список пользователей твиттера, с которыми у одного из них есть общие фоловеры, и отсортировать по их количеству. Лучше всего продемонстрировать на примере. Создадим таблицу с идентификаторами пользователей и фоловеров:

CREATE TEMP TABLE f(uid INT, fid INT);
INSERT INTO f(uid, fid) VALUES
    (1, 10), (1, 11), (1, 12), (1, 13), (1, 14),
    (2, 10), (2, 11), (2, 12),
    (3, 13), (3, 14),
    (4, 13), (4, 14), (4, 10), (4, 11)
;

А вот собственно и запрос, интересуют пересечения с пользователем 2, самые большие сверху.

[Далее]