Как стать автором
Обновить

Архитектурный шаблон «Итератор» («Iterator») во вселенной «Swift»

Время на прочтение5 мин
Количество просмотров8.6K
«Итератор» – один из шаблонов проектирования, которые программисты чаще всего не замечают, потому что его реализация, как правило, встроена непосредственно в стандартные средства языка программирования. Тем не менее, это тоже один из поведенческих шаблонов, описанных в книге «Банды четырех» (“Gang of Four”, “GoF”) “Шаблоны проектирования” (“Design Patterns: Elements of Reusable Object-Oriented Software”), и понимать его устройство никогда не помешает, а иногда даже может в чем-то помочь.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии2

Протоколы, а не Платформы: технологический подход к свободе слова — Часть 2

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

Протоколы спешат на помощь

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

MQTTv5.0: Обзор новых функций. Часть 1

Время на прочтение8 мин
Количество просмотров12K
Привет всем любителям IoT и железок!

В этой статье я расскажу про, пожалуй, самый популярный протокол передачи данных, используемый в сфере Интернета вещей, — MQTT. А если конкретнее, то про MQTT Version 5.0 (версия, опубликованная 7 марта 2019 года). А если еще конкретнее, — про приятные нововведения версии 5.0 по сравнению с версией 3.1.1.

Кстати, а почему v5.0? Куда делась версия v4.0?

Коренная причина лежит в заголовке пакета CONNECT. Версия протокола или, если быть более точным, уровень версии протокола устанавливается в байте 7.



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

Окончательно разбираемся со скоростью передачи по Modbus

Время на прочтение3 мин
Количество просмотров23K
Скорость обновления данных по Modbus зависит от нескольких неочевидных параметров. На стадии проектирования возникает проблема, как оценить скорость будущей интерфейсной линии. В этой статье рассмотрим факторы, влияющие на скорость обновления данных по Modbus RTU, сделаем несколько типовых расчётов, а в конце статьи будет ссылка на web калькулятор скорости работы Modbus RTU линии.

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

Поговорим о PAKE

Время на прочтение10 мин
Количество просмотров4.8K
А сейчас поговорим о информационной безопасности. Данная публикация приурочена к запуску курса «Криптографическая защита информации», который стартует уже 30 мая. Поехали.

Первое правило PAKE: никогда не говорить о PAKE. Второе правило PAKE гласит, что первое правило это нонсенс, поскольку PAKE или же Password Authenticated Key Exchange (рус. Обмен ключами с проверкой подлинности пароля) – это одна из самых полезных технологий, которая практически нигде не используется. Она должна быть внедрена везде, где только возможно, но все не так просто.



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

MQTTv5.0: Обзор новых функций. Часть 2

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

Приведенный ниже материал является продолжением статьи о функционале, добавленном в новой версии MQTTv5.0. Если вы уже успели ее изучить, то для вас не составит труда заметить, что большинство новых функций базируется на понятии свойств, которые можно добавлять в пакет. В этой статье мы подробно их разберем.

Прим. — Статья направлена на тех, кто имеет интерес или необходимость глубоко погружаться в тонкости MQTT. Здесь не будет картинок и лирических отступлений, только хардкор!!!

Далее приведена таблица всех свойств (см. п. 2.2.2.2 в спецификации).
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Протоколы, а не Платформы: технологический подход к свободе слова — Часть 1

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

Продвижение свободы слова за счет изменения экономической и цифровой инфраструктуры интернета 

БУДУЩЕЕ СВОБОДЫ СЛОВА

Серия статей, для переосмысления Первой поправки в эпоху цифровых технологий

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

Ситуация создала нечто вроде кризиса, как внутри, так и за пределами этих компаний. Платформы постоянно пытаются выполнять новые обязанности в качестве «арбитров правды и доброты» в интернете, несмотря на то, что исторически позиционируют себя защитниками свободы слова. Между тем, в США, политики из двух основных партий критикуют их, пусть даже и по совершенно разным причинам. Одни жалуются на то, что платформы потенциально допускают иностранное вмешательство в их выборы.3 Другие жалуются на то, что их использовали для распространения дезинформации и пропаганды.4 Третьи обвиняют платформы в том, что они просто слишком влиятельны.5 Следующие обращают внимание на неуместные аккаунты и удаление контента,6 в то время как другие рассуждают о попытках смягчения дискриминации по отношению к определенным политическим точкам зрения.7

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

jsonex – упрощаем сложные клиент-серверные диалоги

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


Взаимодействие между клиентом и сервером как правило устроено очень просто и опирается на довольно примитивный инструментарий. Это не создает проблем само по себе, но зачастую даже небольшое усложнение поставленной задачи плохо укладываться в привычные подходы, порождая не слишком изящные решения-заплатки. Многие задачи решаются в каждом новом проекте заново, бессистемно и независимо друг от друга. К подобным задачам относятся, например:

  • Batch-запросы
  • Передача даты в составе сложной структуры данных
  • Обозначение кастомных типов данных
  • Проброс round-trip данных, которые сервер должен вернуть в ответе
  • Дополнение запроса и ответа метаданными
  • Обработка ошибок, пришедших в ответе

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

jsonex представляет собой попытку объединить решение упомянутых выше и многих других задач в рамках простого единого подхода, основанного на концепции вычислимых данных (callable data).
Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии47

Swift! Protocol Oriented

Время на прочтение6 мин
Количество просмотров24K
Всем привет!
Нет, это не очередной пост в стиле «встречайте Swift и его возможности», а скорее краткий экскурс по практическому применению и тонкостях, где протоколо-ориентированность нового языка от Apple позволяет делать симпатичные и удобные вещи.
image
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии5

Юбилейный выпуск Intercepter-NG 1.0

Время на прочтение4 мин
Количество просмотров49K
После 10 лет разработки (именно столько стукнуло проекту) наконец-то индекс версии Intercepter-NG дошел до 1.0. По сложившейся традиции выход обновлений под Windows происходит раз в году, и юбилейный релиз действительно удался. Хочется поблагодарить всех людей, которые за все эти годы оказывали помощь в тестировании, давали обстоятельный фидбек и идейно вдохновляли. Начнем обзор с мелочей и в конце рассмотрим наиболее вкусную фичу Intercepter-NG 1.0.

image

Всего голосов 36: ↑30 и ↓6+24
Комментарии27

Bitcoin in a nutshell — Protocol

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

Транзакции — это чуть ли не самый "главный" объект в сети Bitcoin, да и в других блокчейнах тоже. Поэтому я решил, что если и писать про них целую главу, то тогда нужно рассказать и показать вообще все, что можно. В частности то, как они строятся и работают на уровне протокола.


Ниже я объясню, каким образом формируется транзакция, покажу как она подписывается и продемонстрирую механизм общения между нодами.


meme

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