Обновить
1380.7

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

Работа со смарт-контрактами через Ethereum RPC API

Время на прочтение20 мин
Охват и читатели30K


Всем привет. В этой статье мы рассмотрим основные приемы по публикации смарт-контрактов и взаимодействию с ними с использованием Ethereum RPC API. Обсуждаемые методы API позволяют решать такие задачи:

  1. Создание счёта.
  2. Создание корректного смарт-контракта.
  3. Получение информации со смарт-контракта.
  4. Изменение состояния смарт-контракта.

Читать дальше →

Go для больших данных

Время на прочтение11 мин
Охват и читатели15K

В этом посте мы расскажем об использовании библиотеки ускорения аналитики данных Intel Data Analytics Acceleration Library (Intel DAAL) с языком программирования Go для пакетной, интерактивной и распределенной обработки.
Читать дальше →

Внедрение code style в существующий проект

Время на прочтение6 мин
Охват и читатели12K

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


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


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

Читать дальше →

Safari 11 и WebRTC: подводные камни видеозвонков

Время на прочтение2 мин
Охват и читатели9.9K
Итак, это свершилось. Кроме iPhone 8, который устарел ровно через полчаса после анонса iPhone 10, Apple обновила свой десктопный и мобильный браузер Safari. Среди прочих улучшений — реализация WebRTC (ходят слухи, что частично позаимствованная у Chromium. «Plan B» на это тоже намекает). Что это значит для разработчиков? Можно звонить через браузер как на десктопе, так и на айфонах. Голосом и видео. Я уже писал про обновленные инструменты разработчика в браузере, а сейчас хочу поделиться, как это все работает в релизе. Мы уже обновили SDK Voximplant, проверили, как Safari звонит в Microsoft Edge, и вот что я хочу рассказать…

Go быстрее Rust, Mail.Ru Group сделала замеры

Время на прочтение7 мин
Охват и читатели69K
С такой фразой мне кинули ссылку на статью компании Mail.Ru Group от 2015 «Как выбрать язык программирования?». Если кратко, они сравнили производительность Go, Rust, Scala и Node.js. За первое место боролись Go и Rust, но Go победил.

Как написал автор статьи gobwas (здесь и далее орфография сохранена):
Эти тесты показывают, как ведут себя голые серверы, без «прочих нюансов» которые зависят от рук программистов.
К моему большому сожалению, тесты не были эквивалентными, ошибка всего лишь в 1 строчке кода поставила под сомнение объективность и вывод статьи.
Восстановим справедливость?

DevOps с Kubernetes и VSTS. Часть 2: Облачная история

Время на прочтение16 мин
Охват и читатели6.1K
Продолжение истории про Kubernetes, контейнеры и организацию CI/CD пайплайна. Наконец-то появляется облако Azure и Visual Studio Team Services. Интересно, что CI/CD пайплайн VSTS использует для работы с k8s кластером kubectl, поэтому развёртывать приложение можно не только в Azure Container Services, но и в любой другой инстраляции Kubernetes.



Читайте перевод второй части статьи DevOps с Kubernetes и VSTS.
Читать дальше →

Создаём GTK-видеоплеер с использованием Haskell

Время на прочтение23 мин
Охват и читатели11K


Когда мы в последний раз остановились на Movie Monad, мы создали десктопный видео-плеер, использующий все веб-технологии (HTML, CSS, JavaScript и Electron). Фокус был в том, что весь исходный код проекта был написан на Haskell.


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


Мы могли бы продолжить развивать наш подход с вебом, настроив бэкенд на стриминг видеофайла в HTML5-сервер, запустив параллельно сервер и Electron-приложение. Вместо этого мы откажемся от веб-технологий и обратимся к GTK+, Gstreamer и системе управления окнами X11.

Читать дальше →

Как перевести криптовалюту в другой блокчейн: немного о сайдчейнах

Время на прочтение5 мин
Охват и читатели20K
Биткоин продолжает укрепляться после недавнего спада. На положительную динамику влияет развитие блокчейн-технологий и череда событий в криптовалютной экосистеме.

Приложила к этому руку и компания Bitfury Group. Например, в начале июля мы провели первую транзакцию в Lightning Network c использованием биткойн-протокола. Задача этой сети — ускорить транзакции и снизить издержки на их проведение.

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

Читать дальше →

Компьютерное зрение. Задайте вопрос эксперту Intel

Время на прочтение2 мин
Охват и читатели7.1K
Далеко не все ответы можно найти в Интернет. Особенно если вопрос ваш относится к достаточно узкой или новой области — тут необходима консультация гуру, Владельца Тайного Знания. В традициях блога Intel — проведение блого-семинаров, построенных на вопросах читателей. На эти вопросы отвечают эксперты Intel, принимавшие непосредственное участие в создании технологий и продуктов — кому, как не им знать все детали?

В этом месяце место на трибуне предоставлено создателям библиотеки компьютерного зрения OpenCV (Open Source Computer Vision Library), бывшим сотрудникам компании Itseez, вошедшей в состав Intel — Вадиму Писаревскому и Анатолию Бакшееву. Итак, если у вас назрел вопрос об OpenCV, машинном зрении, распознавании образов и других смежных темах, но вы не знали, кому его задать — приглашаем вас в комментарии и личку. Вопросы принимаются до 24 сентября. Автор лучшего вопроса получит приз от Intel* — набор фирменных принадлежностей для уютного отдыха.
* — Приз доставляется из Москвы в пределах РФ

Под катом — краткая информация о наших экспертах.
Читать дальше →

Nuklear+ — миниатюрный кроссплатформенный GUI

Время на прочтение6 мин
Охват и читатели20K

Nuklear+ (читается как "Nuklear cross", значит "кроссплатформенный Nuklear") — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы.


Я уже писал на хабре статью "Nuklear — идеальный GUI для микро-проектов?". Тогда задача была простой — сделать маленькую кроссплатформенную утилиту с GUI, которая будет примерно одинаково выглядеть в Windows и Linux. Но с тех самых пор меня не отпускал вопрос, а можно ли на Nuklear сделать что-то более-менее сложное? Можно ли целиком на нём сделать какой-нибудь реальный проект, которым будут пользоваться?

Читать дальше →

OO VS FP

Время на прочтение4 мин
Охват и читатели27K
Мой перевод, как и оригинальный доклад вызвали неоднозначную реакцию в комментариях. Поэтому я решил перевести статью-ответ дяди Боба на оригинальный материал.
Множество программистов на протяжении последних лет утверждают, что ООП и ФП — являются взаимоисключающими. С высоты башни из слоновой кости в облаках, ФП-небожители иногда поглядывают вниз на бедных наивных ООП-программистов и снисходят до надменных комментариев. Приверженцы ООП в свою очередь косо смотрят на «функционыльщиков», не понимая, зачем чесать левое ухо правой пяткой.

Эти точки зрения игнорируют саму суть ООП и ФП парадигм. Вставлю свои пять копеек.
Читать дальше →

Тянем ролик с YouTube и раздаем по WebRTC в реалтайме

Время на прочтение7 мин
Охват и читатели27K


Задача следующая. Провести совместный просмотр ролика с YouTube в реальном времени несколькими пользователями. Зрители должны получать видео одновременно, с минимальной задержкой.
Читать дальше →

Подход к разделению схем (пользователей) при проектировании OLTP баз данных

Время на прочтение2 мин
Охват и читатели6.9K

Проблематика и назначение:


Разделение схем в основе своей реализуется для масштабируемости и безопасности:

  • Масштабируемость с точки зрения баз данных должна быть такой, чтобы схему можно было вынести в другую базу без ущерба функционалу.
  • Безопасность с точки зрения баз данных должна быть такой, чтобы внешние пользователи оперировали только бизнес логикой, к которой раздаются гранты, и не имели доступа к первичным данным.
Читать дальше →

Ближайшие события

Доклады с Frontend Mix: оптимизация загрузки сайтов и дизайн-система на БЭМ и React

Время на прочтение2 мин
Охват и читатели11K


Предлагаю всем близким к фронтенду посмотреть доклады с прошедшего в августе митапа Frontend MIX. Приглашенные спикеры из Альфа-Лаборатории, Яндекс.Денег и Epam делятся нюансами мобильной оптимизации и выбора между Npm v5, Yarn или pnpm, а также секретами построения дизайн-системы на БЭМ и React.


Под катом вы найдете три видео.

Межсерверное WebRTC

Время на прочтение5 мин
Охват и читатели7.5K


WebRTC умеет работать Peer-to-Peer и Peer-to-Server, где в роли пира, как правило выступает браузер или мобильное приложение. В данной статье мы расскажем о работе WebRTC в режиме Server-to-Server, для чего это нужно и как это работает.
Читать дальше →

О-о-очень долгожданный релиз Sublime Text 3.0

Время на прочтение1 мин
Охват и читатели86K

Спустя долгие годы ожидания в beta и alpha релизах (а это около 3.5 лет) наконец-то вышел Sublime Text 3.0!


linux

Читать дальше →

Приглашаем на Хакатон «М.Видео»: ищем решения на тему ИИ и машинного обучения

Время на прочтение4 мин
Охват и читатели7.2K
Всем привет! Если вы, как и мы, читая Хабр, не забываете пролистывать и Гиктаймс, то наверняка в курсе, что уже два года как «М.Видео» ведёт там свой блог о гаджетах. Но кролики — это не только ценный мех, а «М.Видео» — не только товары на полках, но и большая IT-команда, которая занимается как внешними системами (например, интернет-магазином), так и внутренней автоматизацией работы всех подразделений. И это, поверьте, не скучно: мы используем современные подходы и инструменты, следим за тенденциями рынка и постоянно пробуем новое. Самое новое: мы даже готовимся внедрять элементы искусственного интеллекта в работу нашей сети. Поэтому у нас всегда что-то происходит в первый раз: вот сейчас, например, мы в первый раз проводим хакатон. И в первый раз официально появляемся на Хабре.



Хакатон будет на тему использования искусственного интеллекта и машинного обучения в работе наших сервисов и продажах. Он состоится уже на следующих выходных в московском офисе «М.Видео», а подать заявку на него можно до пятницы. Поскольку это наш первый опыт такого рода, то мы заручились поддержкой надёжных партнёров, организовав его совместно с ФРИИ и Microsoft. А призами станут не только деньги (150 000₽), но и возможности: если точнее — возможность заключения контракта на разработку с командой, предложившей лучшее решение.
Читать дальше →

Positive Technologies на GitHub

Время на прочтение9 мин
Охват и читатели12K

Поздравляю программистов с их профессиональным днем! В связи с этим праздником наша компания Positive Technologies решила рассказать о своей деятельности, напрямую связанной с разработкой, а именно с открытым исходным кодом и GitHub.


Positive Technologies  GitHub


В последнее время все больше и больше компаний, таких как Google, Microsoft, JetBrains, выкладывают в открытый доступ исходный код как небольших, так и крупных проектов. Positive Technologies славится не только высококлассными специалистами по информационной безопасности, но и большим количеством профессиональных разработчиков. Это позволяет ей также вносить свой посильный вклад в развитие движения Open Source.


У PT есть следующие GitHub-организации, поддерживающие открытые проекты компании:


В статье описываются эти организации и их проекты

Программирование с использованием PCAP

Время на прочтение16 мин
Охват и читатели45K

Данный текст является переводом статьи Тима Карстенса Programming with pcap 2002 года. В русскоязычном интернете не так много информации по PCAP. Перевод сделан в первую очередь для людей, которым интересна тема захвата трафика, но при этом они плохо владеют английским языком. Под катом, собственно, сам перевод.

Читать дальше →

Миграция схемы данных без головной боли: идемпотентность и конвергентность для DDL-скриптов

Время на прочтение10 мин
Охват и читатели35K
Язык SQL и реляционные базы с нами уже более сорока лет. За это время стандарт SQL прошёл через множество ревизий, и, судя по всему, процесс развития на этом не останавливается. Реляционные базы в качестве хранилищ данных десятилетиями царствовали безраздельно, царствуют и поныне, и лишь только в последнее время их немного теснят альтернативные подходы.

SQL практически всемогущ, если вопрос касается извлечения данных. (Не все знают, но одним SQL-запросом можно графически построить множество Мандельброта). Но одна проблема продолжает быть в нём концептуально не решена: проблема миграции схем данных.

image
Читать дальше →

Вклад авторов