Bitcoin in a nutshell — Protocol

Автор: admin от Вчера, 22:40, посмотрело: 9

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


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


Bitcoin in a nutshell — Protocol

Категория: Программирование, Криптография

 

Нескучный Powershell

Автор: admin от Вчера, 18:45, посмотрело: 29

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

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

Нескучный Powershell

Категория: Программирование » Веб-разработка

 

Bitcoin in a nutshell — Transaction

Автор: admin от Вчера, 18:05, посмотрело: 13

Если говорить об уже существующей банковской системе, то транзакция внутри какого-нибудь Альфа-банка — это просто редактирование таблицы балансов, где уменьшается число напротив одного имени и увеличивается напротив другого. В случае с межбанковскими переводами подключаются некоторые сторонние организации, например SWIFT, но, по сути, все работает примерно так же.


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


[img]http://image.slidesharecdn.com/blockchainen-160202215848/95/the-bitcoin-blockchain-en-11-638.jpg?cb=1459267563[/img]

Категория: Программирование, Криптография

 

Bitcoin in a nutshell — Cryptography

Автор: admin от Вчера, 17:55, посмотрело: 12

Одна из причин, почему Bitcoin продолжает привлекать столько внимания — это его исключительная «математичность». Сатоши Накамото удалось создать систему, которая способна функционировать при полном отсутствии доверия между ее участниками. Все взаимодействия основаны на строгой математике, никакого человеческого фактора — вот в чем была революционность идеи, а не в одноранговой сети, как многие думают. Поэтому первую главу я решил посвятить именно математическим основам Bitcoin.

Ниже я постараюсь объяснить вам самые базовые вещи — эллиптические кривые, ECC, приватные / публичные ключи и так далее. По возможности я буду иллюстрировать свои слова примерами кода, преимущественно на Python 2.7, если что-то непонятно — спрашивайте в комментариях.

Bitcoin in a nutshell — Cryptography

Категория: Программирование, Криптография

 

Про хаскелль для самых маленьких на примере задачи с codefights

Автор: admin от Вчера, 17:35, посмотрело: 15

Про хаскелль для самых маленьких на примере задачи с codefights
Если вы интересуетесь функциональным программированием или даже пытаетесь его потихоньку освоить то вам, наверняка, не раз приходилось слышать, что главным отличием от прививочного вам императивного подхода является тот факт, что программы строятся от общего к частностям, а не наоборот. Т.е. сначала вы определяетесь с тем, что вы хотите получить, а потом уже — как этого достичь. Такая простая, казалось бы, мысль обычно не дает мозгу покоя и вызывает множественные фрустрации в попытках написать что-нибудь полезное. Если эта история про вас, или вам просто интересно немного научится хаскеллю и ФП продолжайте чтение и я покажу вам как все просто. Статья в стиле «некогда объяснять, пиши».

Категория: Программирование

 

jl-sql: работаем с JSON-логами в командной строке с помощью SQL

Автор: admin от Вчера, 16:20, посмотрело: 12

Вступление никому не интересно, поэтому начну сразу с примеров использования


jl-sql: работаем с JSON-логами в командной строке с помощью SQL
% cat log.json

{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "hit", "client": {"ip": "127.2.3.4"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.2.3.4"}}

Выполняем запрос:


% cat log.json | jl-sql 'SELECT client.ip, COUNT(*) AS count WHERE type = "hit" GROUP BY client.ip'

{"client":{"ip":"127.1.2.3"},"count":2}
{"client":{"ip":"127.2.3.4"},"count":1}
{"client":{"ip":"127.3.4.5"},"count":2}

Категория: Программирование

 

«Ультимативный DNS-дайджест»: 45 материалов с Хабра и других ресурсов

Автор: admin от Вчера, 15:30, посмотрело: 15

«Ультимативный DNS-дайджест»: 45 материалов с Хабра и других ресурсов
Совсем недавно мы рассказали о том, как команда нашего IaaS-провайдера автоматизировала работу с DNS-записями в хостинг-панели.

Опыт создания новой услуги по предоставлению бесплатного сервиса DNS-хостинга сподвиг нас к беглому анализу публикаций на Хабре, которые затрагивали те или иные аспекты работы DNS. Мы собрали эти материалы вместе с англоязычными дополнениями в очередной «ультимативный» дайджест от 1cloud.

В прошлых выпусках мы собрали практические материалы в SSL-и VPN-дайджест.

Категория: Админитстрирование » Сетевые технологии

 

Группировка оповещений в Android 7

Автор: admin от Вчера, 12:15, посмотрело: 16

Группировка оповещений в Android 7После обновления на Android 7 мы заметили, что уведомления стали группироваться по приложению автоматически. Так как на момент выхода новой версии Android в нашем приложении еще не было истории уведомлений это изменение было достаточно критично — в одной группе отображается только 7 уведомлений. Это значит, что если приходит более 20 уведомлений в сутки через приложение — необходимо смахивать новые чтобы увидеть более старые.

Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.

Мы сделали группировку по каналам, это позволяет сразу видеть канал и при возможности свернуть его. Даже если канал пришлет вам 100 уведомлений — они все равно легко сворачиваются и удаляются одним движением.

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

Категория: Веб-разработка, Android

 

WebAssembly – путь к новым горизонтам производительности

Автор: admin от Вчера, 12:15, посмотрело: 15

Если вы – из тех программистов, которые в новогоднюю ночь пообещали себе писать более быстрый код, сегодня у вас есть шанс это обещание выполнить. Мы поговорим о том, как ускорить работу веб-решений с использованием технологии WebAssembly (сокращённо её называют wasm). Технология это очень молодая, сейчас – пора её становления, однако, она вполне может оказать серьёзное влияние на будущее разработки для интернета.

WebAssembly – путь к новым горизонтам производительности

Здесь я расскажу о том, как создавать модули WebAssembly, как с ними работать, как вызывать их из клиентского кода в браузере так, будто это модули, написанные на JS. Мы рассмотрим два набора реализаций алгоритма поиска чисел Фибоначчи. Один из них представлен обычными javascript-функциями, второй – написан на C и преобразован в модуль WebAssembly. Это позволит сравнить производительность wasm и JS при решении схожих задач.

Категория: Программирование » Веб-разработка

 

Рекурсия. Беглый взгляд

Автор: admin от Вчера, 12:15, посмотрело: 14

Рекурсия. Беглый взгляд


Ниже речь пойдёт о старушке рекурсии, которую неплохо бы представлять, понимать и применять.

Категория: Программирование

 
Назад Вперед