Pull to refresh
19
0
Денис Глотов @Dechjo

Инженер программист, энтузиаст криптовалют

Send message

Книги, о которых редко говорят

Reading time 4 min
Views 45K

Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
— Я с друзьями не могу разговаривать.
— Ну да есть такой, недостаточек.
интервью Жака Фреско

Читать далее
Total votes 91: ↑89 and ↓2 +87
Comments 26

Пара слов о Solana и ed25519

Reading time 11 min
Views 15K

Децентрализованные технологии развиваются всё быстрее, капитализации проектов растут, рынок наполняется новыми вакансиями. Нет сомнений, что эта сфера уже оказывает сильное влияние на мир. Об этом, конечно, можно долго и интересно рассуждать, но моя статья о другом. В фокусе статьи две вполне себе конкретные вещи: on-chain программы Solana и алгоритм цифровой подписи ed25519. К чьему-то сожалению здесь не будет ничего об уязвимостях, потому что мне не хватает компетенций в таких вопросах. Зато я расскажу о программной модели Solana, которая позволяет строить децентрализованные приложения, а также о том, какое место в ней занимает алгоритм цифровой подписи ed25519 и как он математически работает.

Читать далее
Total votes 31: ↑28 and ↓3 +25
Comments 23

Коллеги, вы меня огорчаете

Reading time 12 min
Views 168K
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


Читать дальше →
Total votes 181: ↑137 and ↓44 +93
Comments 1152

Вопросы и ответы для собеседования Go-разработчика

Level of difficulty Medium
Reading time 53 min
Views 101K

Структурирование информации — очень полезный навык. И дабы привнести некоторый порядок в этап подготовки к интервью на должность Golang разработчика (и немножко техлида) решил записывать в этой заметке в формате FAQ те вопросы, которые я задавал, задавали мне или просто были мной найдены на просторах сети вместе с ответами на них. Стоит относиться к ним как к шпаргалке (если затупишь на реальном интервью — будет где подсмотреть) и просто набору тем, которым тебе стоит уделить внимание.


Я постарался копнуть в каждый вопрос чуть глубже чем, возможно, надо бы — что бы у читателя был не только короткий ответ на вопрос, но и некоторое понимание "а почему именно так устроена та или иная штука". Более того, крайне рекомендую ознакомиться и с ссылками на источники, что будут под ответами — там вы найдете более развернутые ответы.


Да, это очень объемный пост, и вряд ли его можно вдумчиво осилить за один подход, но поместив его в закладки он, возможно, когда-то сослужит вам добрую службу (читать его можно по частям, находясь в метро или между вечными совещаниями; да и Ctrl + F никто не отменял). Ещё ему очень не хватает оглавления для удобной навигации между вопросами, но у хабраредактора нет возможности генерировать TOC (если будут запросы об этом в комментариях — сделаю его руками). Об очепятках, пожалуйста, пишите в личку.

Читать дальше →
Total votes 43: ↑40 and ↓3 +37
Comments 16

Как написать FizzBuzz на собеседовании

Reading time 31 min
Views 57K

Здравствуй, Хабр.


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

Читать дальше →
Total votes 177: ↑159 and ↓18 +141
Comments 224

Задача коммивояжера (TSP) точное решение — метод динамического программирования

Reading time 9 min
Views 22K

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

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

Типичный маршрут доставки товара предприятия состоял из пары десятков точек, изредка доходящий до 25-26. Матрица расстояний рассчитывалась с помощью алгоритма Дейкстры. Дальше нужно было выбрать оптимальный маршрут из возможных.

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 17

Храним SSH-ключи безопасно

Reading time 2 min
Views 32K


Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь того, что какое-то приложение может украсть или расшифровать их.


Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh.


Для решения данной проблемы предлагаю использовать KeePassXC, который является одним из лучших менеджеров паролей, он использует сильные алгоритмы шифрования, а также имеет встроенный SSH-агент.


Это дает возможность безопасно хранить все ключи прямо в базе паролей и автоматически добавлять их в систему при её открытии. Как только база будет закрыта, использование SSH-ключей также станет невозможным.

Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Comments 28

Еще один гайд по переходу с Linux на Mac

Reading time 15 min
Views 18K

Вот вот начнется продажа ноутбуков Apple с чипами M2. Для кого-то этот факт будет сигналом к обновлению рабочей машинки. Наверняка, найдутся и те, кто впервые пересядит за мак. И среди пересевших на мак обязательно будет какая-то небольшая доля линуксоидов. Решил написать небольшой обзор актуальных инструментов, поделиться опытом перехода. Знаю, по теме на Хабре есть десятки статей. Где-то повторюсь, где-то раскрою тему хуже коллег, но я уверен, каждый читатель найдет для себя что-то новое.

Читать далее
Total votes 62: ↑43 and ↓19 +24
Comments 68

Подпись на эллиптических кривых: всё, что нужно знать, чтобы подписать транзакцию в Bitcoin с полного нуля

Reading time 18 min
Views 25K

Это - полный разбор алгоритма подписи на эллиптических кривых (ECDSA), который является ключевым элементом большинства блокчейнов (типа Bitcoin, Ethereum, ...). С примерами кода и реализацией с полного нуля. Всё сведено к уровню школьной математики, а читать код не обязательно!)

Читать
Total votes 83: ↑83 and ↓0 +83
Comments 35

Стандартная схема пороговой подписи

Reading time 4 min
Views 2.1K

Ранее были рассмотрены методы, с помощью которых каждый отдельный пользователь мог создавать свои личные цифровые подписи. Теперь речь пойдет о том, как группе участников создавать одну совместную цифровую подпись. Данная задача  особенно актуальна в распределённых системах, где нет возможности проверить участников и где никто никому не доверяет. 

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 2

Cлучайный оракул на основе цифровой подписи в блокчейне

Reading time 6 min
Views 3K

От идеи до реализации: модифицируем существующую схему цифровой подписи на эллиптической кривой, чтобы она была детерминированной, и предоставляем на её основе функции получения проверяемых в рамках блокчейна псевдослучайных чисел.


Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 12

Сравнение гетерогенных блокчейнов (Cosmos, Polkadot, Avalanche)

Reading time 28 min
Views 16K

Данная статья поможет всем интересующимся лучше узнать про технические особенности платформ: Cosmos, Polkadot, Avalanche.

Эти платформы нацелены на горизонтальное масштабирование с асинхронной гетерогенной сетевой моделью, где предметноспецифичные блокчейны сосуществуют в рамках общей сетевой модели и при необходимости взаимодействуют друг с другом. У каждой платформы есть свои собственные подходы и компромиссы по достижению межцепочной экономической безопасности. Они нацелены на создание блокчейнового междусетья, которое способно вместить не сотни тысяч (как сегодня), а миллионы активных пользователей в день и полноценно реализовать концептуальное видение Web3, принадлежащего и контролируемого пользователями. 

Цель этой статьи - помочь разработчикам, исследователям, предпринимателям и всем, кто изучает блокчейн и децентрализованные системы, понять эту смену парадигмы в блокчейн сетях.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 6

Зубной камень айтишника

Reading time 12 min
Views 34K
С тех пор как врачи наших клиник начали публиковаться на Хабре, мы узнали много новых слов и успели разгадать главную загадку «злобных» пациентов-айтишников, невероятно расстраивающую врачей. Ну и узнать чуть больше про характерные «зубы айтишника», про которые так красочно рассказывал мой коллега больше года назад.

Про зубы, очень коротко: множество проблем можно убрать тем, что вы разберётесь, что такое зубной камень, как он образуется и на что влияет. Ниже я расскажу подробнее, в чём дело, это потребует некоторых объяснений принципов образования налёта и камня.



Зубной налёт по консистенции похож на крем. Одна из его составляющих — погибшие бактериальные клетки. В ротовой полости живёт достаточно флоры. Можно сказать, это наши симбионты, в частности, защищающие нас от чего-то гораздо более опасного. Когда экзогенная бактерия попадает к нам в рот, ещё до того, как она соприкоснётся с первыми компонентами иммунитета слизистой и познакомится поближе с лимфоцитами пониже, её встретят бактерии, которые считают нас своим домом. И в жёсткой конкурентной борьбе попытаются её победить.

До слизистой по факту доходит очень мало кто из захватчиков, но не потому, что бактерии нормофлоры хотят нас защитить, а потому что они ведут себя как криминальная «крыша», не пускающая чужаков. «Это наша корова, и мы её доим» — аналог последнего, что слышат случайные колонизаторы.

Погибает и сама нормофлора. Если соседи не успевают растащить остатки на ресурсы, то это всё начинает болтаться у нас во рту, пока не соединится ещё с чем-нибудь. И пока к этому не добавятся укрепляющие минералы, которыми так богата наша слюна, с помощью которой организм старается восстановить эмаль зубов.

Давайте разбираться, что происходит дальше. Почему основное количество камня на нижних шести зубах?
Читать дальше →
Total votes 103: ↑90 and ↓13 +77
Comments 77

PROOF OF STAKE – это скам

Reading time 16 min
Views 103K

Proof of Stake (PoS) – это мошенничество. Когда я говорю это, я имею в виду, что PoS 1) заявлен как система консенсуса, и 2) фактически неспособен на самом деле обеспечить консенсус.

Читать далее
Total votes 118: ↑99 and ↓19 +80
Comments 485

7 причин почему вы не худеете. Ожирение, инсулинорезистентность и диабет простыми словами

Reading time 16 min
Views 56K

С лишним весом я на ты. Со 115 кг я «сбросился» до 72, затем в течение 3-х лет вернулся обратно к 94-м, а сейчас опять худею (уже грамотно) и в данный момент вешу 88.7 кг (ещё 7 скину и остановлюсь). Таких историй много, поэтому об этом я не буду, а вот причины (биологические и поведенческие), по которым вы можете не худеть, не видел, чтобы кто-то описывал в полном объёме и понятным языком. Сегодня я постараюсь сделать это для вас, обобщив все свои знания о лишнем весе. 

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

Читать далее
Total votes 103: ↑93 and ↓10 +83
Comments 103

Крипто карточки и депозиты в Европе. Краткий обзор

Reading time 6 min
Views 25K

В этой статье я сделаю краткий обзор самых популярных крипто карточек и депозитов доступных резидентам Европы. В основном я пишу о тем финансовых сервисах, которыми я пользуюсь или пользовался лично, если вы не найдёте здесь какой-то сервис, о котором вам известно, то скорее всего это связано с тем, что я им никогда не пользовался. Стараюсь писать о том, с чем сталкивался на практике.

Читать далее
Total votes 32: ↑26 and ↓6 +20
Comments 39

Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google

Reading time 12 min
Views 103K

Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google.

Читать далее
Total votes 168: ↑158 and ↓10 +148
Comments 297

Разбираемся в VPN протоколах

Reading time 8 min
Views 161K

В последние месяцы армия пользователей VPN значительно увеличилась. И речь не о любителях обходить блокировки и посещать запрещенные сайты, а о тех, кто использует VPN для безопасной работы (да-да, удаленной работы). Это повод еще раз посмотреть на арсенал доступных протоколов и сравнить их с точки зрения безопасности.


о дивный новый мир

Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 16

Случайные числа и децентрализованные сети: имплементации

Reading time 17 min
Views 2.9K

Введение


function getAbsolutelyRandomNumer() {
        return 4; // returns absolutely random number!
}

Как и в случае с концепцией абсолютно стойкого шифра из криптографии, реальные протоколы “Publicly Verifiable Random Beacon” (далее PVRB) лишь пытаются максимально приблизиться к идеальной схеме, т.к. в реальных сетях в чистом виде она неприменима: договариваться надо строго об одном бите, раундов должно быть много, а все сообщения должны быть идеально быстрыми и всегда доставляться. Разумеется, в реальных сетях это не так. Поэтому, при проектировании PVRB под конкретные задачи в современных блокчейнах, помимо невозможности контроля получаемого рандома и криптографической стойкости, возникает еще много чисто архитектурных и технических проблем.

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 4

«Cynic Solutions Ltd» или как удержать разработчика в компании

Reading time 3 min
Views 15K

Хотите, чтобы ваши разработчики не валили с работы? Хотите научиться их суперски удерживать?

Вот вам циничное мнение разработчика.

Читать далее
Total votes 105: ↑94 and ↓11 +83
Comments 78

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Date of birth
Registered
Activity