О Mercurial

2020-01-26 • hg, mercurial, vcs, git, bitbucket

Bitbucket убивает Mercurial. С февраля 2020 нельзя будет создавать Mercurial репозитории. А 1 июня 2020 все существующие Mercurial репозитории будут удалены. Git победил.

removing Mercurial

Если кто не в курсе, Git, Mercurial, а также менее известные Bazaar, Darcs и другие — это распределённые системы контроля версий (DVCS). В них можно коммитить локально, а …


    Читать...    

О REST

2019-12-28 • web, rest, api

Я очень не люблю REST. Тот самый, который Representational State Transfer. Я предпочитаю JSON-RPC.

JSON-RPC — это какой-никакой, но хоть какой-то стандарт. Основанный на давным-давно существующей концепции RPC. И JSON-RPC никак не привязан к транспортному протоколу. Он может работать и через HTTP, и через WebSocket, и через любую систему отправки сообщений …


    Читать...    

О Катори

2019-12-27 • катори

Как известно, в Японии есть самураи. Такие замечательные воины, которые ездят на лошадях, стреляют из лука и здорово орудуют мечами. Катаной, например.

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


    Читать...    

О сроках

2019-12-01 • Agile, management, оценка, сроки

Случилась тут с заказчиком небольшая неконструктивная дискуссия по поводу оценки историй в Jira. Одна сторона утверждала, что совершенно необходимо оценивать истории в сторипоинтах, иначе совершенно непонятно, что мы успеваем сделать за спринт, и успеваем ли. Мы же утверждали, что сторипоинты — фигня, что нужно оценивать не истории, а конкретные подзадачи, и …


    Читать...    

Об авторизации

2019-11-23 • auth, oauth, authorization, authentication, jwt, microservice

Немного психанул, и выдал на проекте документацию того, как я хочу видеть нормальную авторизацию пользователей в случае микросервисов и «богатого» фронтенда на React или Angular. Излагаю и здесь.

Для начала нужно разделить понятия аутентификации и авторизации.

Аутентификация — это доказательство того, что пользователь является именно тем, за кого себя выдаёт. В …


    Читать...    

О ClickHouse

2019-11-16 • database, analytics, metrics, ClickHouse, NoSQL

Два с половиной года назад я уже писал про ClickHouse. С тех пор он у нас просто работал. На продакшине. Но тут я делал доклад про него на митапе Райфайзена. И оказалось, что за два с половиной года кое-что всё же изменилось.

Данных стало больше. Сейчас мы храним все запросы …


    Читать...    

О языках

2019-11-04 • язык программирования

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

Инженерные языки возникли для решения конкретных инженерных задач. Их придумывали практики для решения практических проблем. Возможно, они не настолько целостны и …


    Читать...    

О самокате

2019-10-14 • город, самокат, транспорт, электросамокат, Xiaomi, опыт

Летом 2017 я купил самокат. Сяомикат Xiaomi Mi Electric Scooter M365. Беленький.

беленький самокат

И вот, получается, уже три неполных сезона отъездил. Что-то более трёх с половиной тысяч километров намотал.

На работу и обратно. В магазины по пути на работу, делая крюк в пару лишних километров. До сервисного центра моего авто и …


    Читать...    

О каналах

2019-09-07 • Go, golang, chan, язык программирования

Как-то программировал я на Go. И понадобилось мне одну длинную операцию, которая включает в себя обращение к внешнему API и периодическую проверку готовности результатов, провести дважды. И подумал я, что эти две длинные операции нужно проводить параллельно, а потом собрать результаты. Параллельно в Go, это значит, нужно расчехлять горутины. Собирать …


    Читать...    

О Redis

2019-09-01 • БД, база данных, Redis, NoSQL

Я давно и успешно пользуюсь Redis, и другим рекомендую. Но всё никак про неё не писал. Исправляюсь.

Redis — это почти буквально «редиска» (которая на самом деле "radish"). И СУБД. Поэтому «она».

редиска

Redis — это in-memory СУБД типа ключ-значение. То есть она хранит все данные в оперативной памяти, и данные представлены в …


    Читать...