Как стать автором
Обновить
76
0
Rumkin @rumkin

Developer and tech writer

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

Время на прочтение 5 мин
Количество просмотров 4.8K

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


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

Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 6

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

Время на прочтение 3 мин
Количество просмотров 32K


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

Читать дальше →
Всего голосов 45: ↑41 и ↓4 +37
Комментарии 45

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

Время на прочтение 3 мин
Количество просмотров 33K


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

Подробнее об изменениях
Всего голосов 59: ↑58 и ↓1 +57
Комментарии 38

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

Время на прочтение 4 мин
Количество просмотров 22K


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

Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 37

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

Время на прочтение 7 мин
Количество просмотров 4.7K


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

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 6

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

Время на прочтение 3 мин
Количество просмотров 14K

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

Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 40

V for Validator

Время на прочтение 4 мин
Количество просмотров 5.6K

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


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

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

Время на прочтение 7 мин
Количество просмотров 17K

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


UI приложения

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 6

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

Время на прочтение 3 мин
Количество просмотров 32K

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

Читать дальше →
Всего голосов 60: ↑31 и ↓29 +2
Комментарии 181

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

Время на прочтение 1 мин
Количество просмотров 5.2K

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


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

Всего голосов 30: ↑26 и ↓4 +22
Комментарии 56

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

Время на прочтение 2 мин
Количество просмотров 6.3K

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


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


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

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

Время на прочтение 5 мин
Количество просмотров 33K

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


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

Читать дальше →
Всего голосов 37: ↑33 и ↓4 +29
Комментарии 15

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

Время на прочтение 3 мин
Количество просмотров 21K

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


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

Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 12

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

Время на прочтение 1 мин
Количество просмотров 27K

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

Читать дальше →
Всего голосов 55: ↑44 и ↓11 +33
Комментарии 53

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

Время на прочтение 3 мин
Количество просмотров 17K

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


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

Читать дальше →
Всего голосов 20: ↑16 и ↓4 +12
Комментарии 22

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

Время на прочтение 2 мин
Количество просмотров 23K

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


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

Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 21

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

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

Раскол nodejs

Время на прочтение 1 мин
Количество просмотров 58K

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

Читать дальше →
Всего голосов 98: ↑87 и ↓11 +76
Комментарии 50

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

Время на прочтение 5 мин
Количество просмотров 19K
Обработка ошибок в JS – та еще головная боль. Не ошибусь, если скажу, что ошибки – самое слабое место всего языка. При чем проблема состоит из двух других: сложности отлова ошибки в асинхронном коде и плохо спроектированного объекта Error. И если первой проблеме посвящено множество статей, то о второй многие незаслуженно забывают. В этом материале я постараюсь восполнить недостаток и рассмотреть объект Error более пристально.
Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 16

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

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

Читать дальше →
Всего голосов 55: ↑48 и ↓7 +41
Комментарии 22

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность