Pull to refresh
76
0
Rumkin @rumkin

Developer and tech writer

Send message

Анализ применения цифровой подписи: 10 из 15 топовых криптовалют не подписывают ПО

Reading time5 min
Views4.8K

Читая очередную новость об успешной подмене злоумышленниками кода крупного проекта, сам собой возникает вопрос: как вообще такое возможно, если код был подписан!? Пренебрежение правилами безопасности в криптосфере – оксюморон и, одновременно, факт, поэтому, чтобы данная статья не превратилась в избиение лежачего, я отобрал для анализа не новичков, а криптовалюты с вершины рейтинга CoinMarketCap. И, как вы уже догадались, не зря.


Давайте посмотрим как обстоят дела с применением цифровой подписи в оплоте финтех революции.

Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments6

Релиз Node.js 10.5: мультипоточность из коробки

Reading time3 min
Views32K


На прошлой неделе состоялся релиз Node.js версии 10.5.0, содержащий нововведение, чью значимость трудно переоценить, – поддержку многопоточности в виде модуля worker_threads. Сразу оговорюсь API находится в экспериментальной стадии и поэтому может измениться, но уже сейчас можно составить первое впечатление и получить представление о заложенных в его основу принципах и технологиях. А если у вас есть желание, то и поучаствовать в финализации интерфейса, написании кода или исправлении багов (список issues).

Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments45

Релиз Node.js 10 и NPM 6

Reading time3 min
Views33K


Сегодня состоялся одновременный релиз Node.js v10 (LTS) и NPM v6. Данное событие особенно важно, оно знаменует собой новую веху для всей платформы и превносит много значимых изменений и улучшений во всей кодовой базе Node.js. Появилась поддержка новых алгоритмов шифрования.

Подробнее об изменениях
Total votes 59: ↑58 and ↓1+57
Comments38

Асинхронные циклы и Stream API в Node.js 10

Reading time4 min
Views22K


В этом месяце выходит десятая версия Node.js, в которой нас ждет изменение поведения потоков (readable-stream), вызванное появлением асинхронных циклов for-await-of. Давайте разберемся что это такое и к чему нам готовиться.

Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments37

Реестр пакетов на Ethereum

Reading time7 min
Views4.8K


Сегодня только ленивый не запускает очередной бесполезный проект на блокчейне, в этом уроке я расскажу как сделать что-то имеющее практическое применение. В качестве примера возьмем реестр пакетов наподобие npm только использующий цифровую подпись, децентрализованное хранилище Swarm и смарт-контракты на основе Ethereum.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments6

Пятничное: Безопасность и парадокс выжившего

Reading time3 min
Views14K

С начала 2018 я собрираю отчеты о взломах в криптопроектах. За это время поступила информация о кражах почти на миллиард долларов. Одна лишь биржа coincheck проспонсировала кого-то на ~500 миллионов. При этом на некоторых биржах до сих пор нет двухфакторной авторизации. Сайты финансовых компаний используют сторонние скрипты без проверки подлинности. Браузерный кошелек MetaMask светит адрес вашего кошелька всем сайтам без разбора. А самым популярным приемом остается security through obscurity. Но, возможно, все еще хуже и сегодня повсеместно распространена имитация безопасности и летний доклад NIST частично это подтверждает.

Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments40

V for Validator

Reading time4 min
Views5.6K

Когда перед нами стоит выбор инструмента для валидации пользовательских данных, то речь чаще идет о интерфейсе задания правил. Сегодня таких инструментов превеликое множество от декларативных до объектных. Каждый валидатор пытается быть выразительным и простым в использовании. Но я хочу обратить ваше внимание на результат работы валидатора – отчеты. Каждый разработчик норовит сделать свое решение и если для интерфейсов от разнообразия лишь польза, то для получаемого результата наоборот. В общем, давайте взглянем на проблему.


Осторожно! После прочтения статьи вы, возможно, захотите выкинуть ваш любимый валидатор.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments6

Интегрируем смартконтракт в веб-приложение на Nodejs

Reading time7 min
Views17K

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


UI приложения

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments6

Веб пора спасать?

Reading time3 min
Views32K

Последние пару лет у меня не проходит ощущение, что веб стремительно уступает место чему-то, что мне не нравится. Чему-то чем он быть не должен. Ощущение вполне субъективное, но на прошлой неделе я натолкнулся на статью Андре Стальца (André Staltz) под заголовком "Веб начал умирать в 2014. И вот как", которая подтверждает мои ощущения фактами. И вот что я думаю о причинах.

Читать дальше →
Total votes 60: ↑31 and ↓29+2
Comments181

Пятничное: к сообществу

Reading time1 min
Views5.2K

%username%, призываю тебя на совет сообщества. У меня накопилась небольшая сумма по программе поощрения авторов, я не собираюсь ее выводить и тратить и готов передать в чью-то пользу. Предполагаю, что я здесь не один такой. Есть мысль объединиться и сделать что-то полезное для популяризации науки, приурочив ко дню знаний, например благотворительность или просто что-нибудь общественно полезное. Нужны идеи и участники. Если готовы поучаствовать, отметьтесь в комментариях.


Спасибо за внимание.

Total votes 30: ↑26 and ↓4+22
Comments56

Bake – запускаем таски на bash

Reading time2 min
Views6.4K

Думаю многим известна ситуация, когда собственный изобретенный велосипед нигде потом не используется. Поэтому я долго не решался опубликовать эту разработку, пока не обратил внимание, что таскаю его из проекта в проект. И так, одним из неотъемлемых элементов современной разработки являются так называемые таск раннеры – это Grunt/Gulp для nodejs, Rake для Ruby, Make для C/C++ и т.п. А для главного инструмента разработчика – консоли – ничего подобного нет. Точнее есть, но, как это обычно бывает, не совсем то. В результате изысканий, на свет появился инструмент Bake – таскраннер написанный на bash с поддержкой модульной структуры.


Основные особенности:


  • Таски в виде функции.
  • Поддержка аргументов.
  • Модули.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments30

Принимаем электронную почту на Node.js

Reading time5 min
Views33K

Электронная почта как и www появилась на заре Интернета, и несмотря на свою архаичность продолжает удерживать позиции одной из главных технологий сети. Тем временем разработчики не слишком-то ее ценят и используют в одностороннем порядке, указывая отправителем noreply. И в первую очередь это связано с трудоемкостью процесса обработки входящей корреспонденции.


Тем временем, хвала комьюнити Node.js, появились пакеты, которые позволяют принимать почту без боли и страданий – это smtp-server и mailparser. Давайте я покажу, как в пару десятков строк кода создать свой почтовый сервер с поддержкой SSL шифрования, фильтрацией спама с помощь spamassassin и прочими радостями.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments15

Блокчейн ≠ Криптовалюта. Блокчейн > Криптовалюта

Reading time3 min
Views21K

Криптовалюты постепенно совершают переворот в мире финансов, заставив многих посмотреть на веб более серьезно, и считается, что во многом это заслуга технологии блокчейн, которую напрямую ассоциируют с Биткойном. И, таким образом, сам блокчейн померк в свете славы собственного "наследника". В этой статье я постараюсь на пальцах объяснить одну из самых значимых компьютерных технологий и положить конец заблуждению, что блокчейн – это криптовалюта или финансовая база данных. Забегая вперед скажу, что вы вероятнее всего уже работаете с блокчейном, даже, если никогда не сталкивались с криптовалютами.


Для того чтобы понять почему блокчейн не равняется криптовалюте достаточно хотя бы того что блокчейн был изобретен и использовался раньше криптовалют. Но цель статьи в том чтобы дать понимание самой технологии, а для этого нужно выделить общие признаки для всех имеющихся валют: каждая неизменно включает в себя три элемента – это цепочка блоков (собственно блокчейн), цифровая подпись и CRDT. Рассмотрим их подробнее.

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments12

Stackoverflow запустил раздел «Документация»

Reading time1 min
Views28K

Вчера произошло достаточно значимое событие на рынке разработки. Точнее в сфере поддержки и сопровождении программных продуктов. StackOverflow запустил раздел документация. Почему это важно?

Читать дальше →
Total votes 55: ↑44 and ↓11+33
Comments52

Полноценный lazyload на node.js

Reading time3 min
Views17K

С выходом Node.js 6.0 мы из коробки получили готовый набор компонентов для организации честного ленивого загрузчика. В данном случае я имею в виду lazyload, который пытается найти и загрузить нужный модуль только в момент запроса его по имени и находится в глобальной области видимости для текущего модуля, при этом не вмешиваясь в работу сторонних модулей. Написано по мотивам статей Node.JS Избавься от require() навсегда и Загрузчик модулей для node js с поддержкой локальных модулей и загрузки модулей по требованию.


Данная статья носит больше исследовательский характер, а ее целью является показать особенности работы Node.js, показать реальную пользу от нововведений ES 2015 и по новому взглянуть на уже имеющиеся возможности JS. Замечу, что этот подход опробован в продакшене, но все же имеет несколько ловушек и требует вдумчивого применения, в конце статьи я опишу это подробнее. Данный DI может легко использоваться в прикладных программах.

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments22

Вышел в свет Node.JS v6.0

Reading time2 min
Views23K

Сегодня увидела свет версия 6.0. Изменений много, в том числе за счет обновления версии v8 (до v5.0), при этом некоторые из них могут поломать ваш код. В октябре этого года ветка v6.x станет новой активной LTS версией и её поддержка продлится до апреля 2018 года.


Изменена логика работы Buffer для повышения безопасности приложений. Из коробки будут доступны Proxy, Reflect, расширеная поддержка ES 2015. Основные изменения c примерами под катом.

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments21

Chakra официально принят Node.js

Reading time3 min
Views26K
Как уже сообщалось ранее, Microsoft сделал пулл реквест с добавлением поддержки открытого JS-движка Chakra собственной разработки в Node.js. Разработчики Microsoft предложили сделать весьма спорное изменение, что вызвало ожесточенную дискуссию среди участников проекта: звучали обвинения в адрес MS, с последующими блокировками ветки обсуждения, а трезвая критика местами тонула среди чрезмерно восторженных комментариев. И несмотря на то, что сам пулл реквест до сих пор не был принят, Microsoft получил официальную поддержку сообщества Node.js.
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments27

Раскол nodejs

Reading time1 min
Views58K

Приключения JS продолжаются! На прошлой неделе произошло знаковое событие, приведшее к появлению форка nodejs. Неразрешенные проблемы проекта набрали критическую массу и привели к расколу: часть основных разработчиков недовольных политикой Joyent в отношении развития проекта создали форк и вышли из проекта. В частности они недовольны тем, что с 2013 года (версия 0.10) проект практически не развивается, использует старую версию v8, а система версионирования стала запутанной и не соответствует общепринятой модели semver и вообще. И так, встречайте io.js.

Читать дальше →
Total votes 98: ↑87 and ↓11+76
Comments47

Тонкости nodejs. Часть II: Работа c ошибками

Reading time5 min
Views19K
Обработка ошибок в JS – та еще головная боль. Не ошибусь, если скажу, что ошибки – самое слабое место всего языка. При чем проблема состоит из двух других: сложности отлова ошибки в асинхронном коде и плохо спроектированного объекта Error. И если первой проблеме посвящено множество статей, то о второй многие незаслуженно забывают. В этом материале я постараюсь восполнить недостаток и рассмотреть объект Error более пристально.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments15

Тонкости nodejs. Часть I: пресловутый app.js

Reading time5 min
Views42K
Я работаю с node.js более трех лет и за это время успел хорошо познакомиться с платформой, ее сильными и слабыми сторонами. За это время платформа сильно изменилась, как, собственно, и сам javascript. Идея использовать одну среду и на сервере и на клиенте пришлась многим по душе. Еще бы! Это удобно и просто! Но, к сожалению, на практике все оказалось не так радужно, вместе с плюсами платформа впитала в себя и минусы используемого языка, а разный подход к реализации практически свел на нет плюсы от использования единой среды. Так все попытки реализовать серверный js до ноды не взлетели, взять тот же Rhino. И, скорее всего, node ждала та же участь, если бы не легендарный V8, неблокирующий код и потрясающая производительность. Именно за это его так любят разработчики. В этой серии статей, я постараюсь рассказать о неочевидных на первый взгляд проблемах и тонкостях работы, с которыми вы столкнетесь в разработке на nodejs.

Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments20

Information

Rating
Does not participate
Registered
Activity