Рубрика «Go» - 2

Python берут за скорость реализации. C++ - за производительность и контроль над памятью.

А Go? Go выбирают те, кто любит Go. Я один из них. Долгое время я использовал связку bufio.Scanner + ScanWords + strconv.Atoi. Но стоит в задаче смешать числа, строки или посимвольный ввод - начинаются “танцы с бубном”. В какой-то момент мне надоело, и я написал contestio. Решения оказались простыми. То чувство, когда: “Чёрт возьми! Почему мне это не пришло в голову раньше!?”

Мотивация: хочется удобно и быстро, а не выбирать

Эволюция языков программирования

Эволюция языков программирования

Читать полностью »

АмнезияМэн - ты не вспомнишь о блокировках

АмнезияМэн - ты не вспомнишь о блокировках

Читать полностью »

Нет повести печальнее на свете, чем повесть о лежачем алерте.

Колобок-стек: я от бабушки ушёл, или как мы написали свой сервер алертов на 16 МБ - 1

PuskЧитать полностью »

Для тех кому лень читать и хочется сразу потрогать вот Github.

Откуда задача

Перед командой встала типичная для высоконагруженных сервисов постановка по обработке сообщений:

  • Порядок обработки в рамках одной логической партиции — события по одному пользователю/сущности должны идти строго последовательно.

  • Очень много ключей партиций — сотни тысяч и выше; заводить под каждую ключ отдельную «очередь» в классическом смысле неразумно.

  • Ограниченный пул воркеров, который шарится между партициями, при этом Читать полностью »

Представьте: у вас есть база из миллиона транзакций. Клиент спрашивает: «Моя транзакция точно в блоке?» Вы можете отдать ему все миллион записей для проверки. Или отдать 20 хешей по 32 байта - и он сам математически докажет, что его транзакция на месте. Без доверия. Без скачивания всего блока. За O(log N)

Merkle tree - структура данных на которая являеться Bitcoin, Git, IPFS и Certificate Transparency. Посмотим как она работает и напием свою реализацию на Golang c ДЖЕНЕРИКАМИ йоу

Итак рассмотрим ситуацию:
У нас есть транзакции

A: "Alice → Bob: 10 BTC"
B: "Bob → Charlie: 3 BTC"
C: "Charlie → Dave: 7 BTC"
D: "Dave → Alice: 1 BTC"

Читать полностью »

Хотелось бы оставить небольшой очерк по пройденному опыту и сделанным выводам — скорее с целью запустить какой-нибудь дискус и подцепить для себя мнение со стороны (длинное тире нравится мне, а не ии).

Middle-взгляд на самый тесный участок IT-кандидатов - 1

3,5 года реального Читать полностью »

Что ж... Недавно я увлекся C++, поэтому давайте разберемся в какой-нибудь технологии и напишем по ней статью. Мой выбор пал на WebRTC и клиент на Qt.

Результаты

Результаты

Начнем с теории и обозначим фронт работ.

Введение

Читать полностью »

Долгое время я пытался научиться слепому десятипальцевому методу печати, но всегда это заканчивалось поражением. Учился на Keybr — на нём освоил английский. Частотный метод, когда ты печатаешь настоящие слова из самых частых букв, мне подошёл. Но столкнулся с тем, что заглавные буквы, пунктуация и цифры спрятаны за кучей настроек. Подумал — зачем это прятать, если можно сделать структурированные этапы и дать чёткий путь прохождения? Так я начал разработку TypeStep — тренажёра слепой печати с частотным методом и этапами прохождения. А теперь — про то, на чём это всё построено и с чем пришлось столкнуться.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js