Search
Write a publication
Pull to refresh
3
0
Евгений Даниленко @JekaMas

Golang и распределенные системы

Send message

Стартапы в области Automotive и Blockchain

Reading time4 min
Views2.2K
image

Победители первого этапа конкурса MOBI Grand Challenge применяют блокчейн к автоиндустрии и рынку транспорта новыми способами, начиная от колонн беспилотных автомобилей и заканчивая автоматизированной V2X-связью.

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

Mobility Open Blockchain Initiative (MOBI), некоммерческая инициатива, направленная на ускоренное внедрение стандартов, связанных с блокчейном, в автомобильной и транспортной промышленности, провела первую фазу своего проекта MOBI Grand Challenge (MGC), рассчитанного на три года и направленного на выявление инновационных способов применения блокчейна в формирующейся экосистеме подключенных к сети и автономных автомобилей.

Согласно заявлению MOBI: «Целью MGC является создание жизнеспособной, децентрализованной, специальной сети связанных между собой автомобилей на распределенной бухгалтерии (distributed ledger technology) и инфраструктуры, которая может надежно обмениваться данными, координировать поведение и, в конечном счете, улучшать городскую мобильность».

Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill)

Reading time7 min
Views33K
Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal).


В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки под микропроцессоры Cortex-M3. После этого напишем простой пример — моргание встроенным светодиодом.
Читать дальше →

Подготовка к ШАД не выходя из дома

Reading time3 min
Views6.2K

Коронавирус и онлайн-образование


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


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

Рубрика «Читаем статьи за вас». Январь — Февраль 2020

Reading time22 min
Views8K


Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!


Представлены обзоры 11 статей по Computer Vision, Natural Language Processing, Reinforcement learning и другим темам.

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

Книга «Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений»

Reading time5 min
Views10K
image Привет, Хаброжители!

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

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

Межпланетная файловая система — Простой блог в IPFS при помощи XSLT

Reading time13 min
Views5.7K

Существует проблема: У сайта в IPFS нет возможности использовать серверные скрипты для формирования страницы. Если использовать генерацию страниц перед загрузкой то добавив новый пункт меню в каждую страницу мы изменим хеш этих страниц. Так что всю сборку страниц нужно производить силами браузера.


Обычно формируют содержание страниц при помощи JavaScript. Это знакомая технология но у неё есть свои недостатки.


Я буду использовать XSLT. Это древняя технология шаблонов которая давно встроена в браузеры но мало кто ей пользуется. Возможно потому что шаблоны заставляют писать много текста и из за путаницы с пространствами имён и множества ошибок без внятного объяснения. Также не смотря на то что есть уже XSLT 3.0 в браузерах по прежнему доступен только XSLT 1.0.


XSLT работает так:


  1. Пользователь открывает в браузере XML документ.
  2. В заголовке XML документ содержит ссылку на XSLT шаблон.
    <?xml-stylesheet href="xslt/запись.xslt" type="text/xsl" ?>
  3. Шаблон в браузере на основе XML документа и других данных формирует xHTML документ.
  4. Браузер отображает полученный xHTML документ.

Привязав множество страниц к одному шаблону можно менять отображаемый xHTML документ не меняя XML документы. Таким образом при смене дизайна не будет меняться хеш XML документов а значит старые их копии будут источниками для новых в IPFS.


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


image

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

etcd 3.4.3: исследование надёжности и безопасности хранилища

Reading time15 min
Views15K
Прим. перев.: Содержимое этой статьи не совсем типично для нашего блога. Однако, как многим известно, etcd находится в самом сердце Kubernetes, из-за чего данное исследование, проведённое независимым консультантом в области надёжности, оказалось интересным и в среде инженеров, эксплуатирующих данную систему. Кроме того, оно интересно в разрезе того, как Open Source-проекты, уже зарекомендовавшие себя в production, совершенствуются даже на таком, весьма «низком», уровне.



Хранилище пар «ключ-значение» (KV) etcd представляет собой распределённую базу данных, основанную на алгоритме консенсуса Raft. В ходе анализа, проведенного в 2014 году, мы обнаружили, что etcd 0.4.1 по умолчанию была подвержена так называемым stale reads (операциям чтения, возвращающим старое, неактуальное значение из-за запаздывания синхронизации — прим. перев.). Мы решили вернуться к etcd (в этот раз — к версии 3.4.3), чтобы снова детально оценить ее потенциал в области надежности и безопасности.
Читать дальше →

Материалы NLP курса от DeepPavlov

Reading time4 min
Views27K

В этой статье вы найдете материалы очных курсов «Deep Learning in NLP», которые запускались командой DeepPavlov в 2018-2019 годах и которые являлись частичной адаптацией Stanford NLP course — cs224n. Статья будет полезна любым специалистам, погружающимися в обработку текста с помощью машинного обучения. Благодарю физтехов, разрабатывающих открытую библиотеку для разговорного искусственного интеллекта в МФТИ, и Moryshka за разрешение осветить эту тему на Хабре в нашем ods-блоге.


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

Методики уменьшения размеров образов Docker

Reading time10 min
Views39K
Задавались ли вы когда-нибудь вопросом о том, почему размер Docker-контейнера, содержащего всего одно приложение, может находиться в районе 400 Мб? Или, может быть, вас беспокоили немаленькие размеры образа Docker, содержащего единственный бинарник размером в несколько десятков Мб?



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

Свёрточные текстуры

Reading time8 min
Views8.7K

Самостоятельно обновляемые текстуры


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


Рисунок 1: двойная буферизация свёрточной текстуры

Прежде чем двигаться дальше, нам нужно решить одну проблему: текстуру нельзя считывать и записывать одновременно, такие графические API, как OpenGL и DirectX, не позволяют этого делать. Так как следующее состояние текстуры зависит от предыдущего, нам нужно как-то обойти это ограничение. Мне нужно выполнять чтение из другой текстуры, а не из той, в которой выполняется запись.

Решением является двойная буферизация. На рисунке 1 показано, как она работает: на самом деле вместо одной текстуры есть две, но в одну из них выполняется запись, а из другой производится чтение. Текстура, в которую выполняется запись, называется back buffer (вторичный буфер), а рендерящаяся текстура — front buffer (первичный буфер). Поскольку свёрточная тестура «записывается в саму себя», вторичный буфер в каждом кадре выполняет запись в первичный буфер, а затем первичный рендерится или используется для рендеринга. В следующем кадре роли меняются и предыдущий первичный буфер используется как источник для следующего первичного буфера.

Виза таланта в цифровых технологиях в Великобританию: личный опыт

Reading time7 min
Views29K
Моя предыдущая статья на хабре про жизнь в Шотландии нашла очень большой отклик у хабрасообщества, поэтому я решил опубликовать тут еще одну статью которую об эмиграции, которую ранее публиковал на другой площадке.

Я живу Великобритании больше двух лет. Изначально, я сюда переехал по рабочей визе, которая накладывает на держателя определенные ограничения: можно работать только на ту компанию, которая вас пригласила, а для того чтобы получить постоянный вид на жительство, нужно прожить по рабочей визе пять лет. Так как страна в целом мне нравится, я решил попробовать повысить свой иммиграционный статус быстрее и получить “визу таланта” (Tier 1 Exceptional Talent). На мой взгляд эта виза — самая лучшая британская виза, про которую как ни странно далеко не все люди, рассматривающие возможность переезда сюда, знают.


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

Как масштабировать дата-центры. Доклад Яндекса

Reading time22 min
Views20K
Мы разработали дизайн сети дата-центров, который позволяет разворачивать вычислительные кластеры размером больше 100 тысяч серверов с полосой бисекции (bisection bandwidth) свыше одного петабита в секунду.

Из доклада Дмитрия Афанасьева вы узнаете об основных принципах нового дизайна, масштабировании топологий, возникающих при этом проблемах, вариантах их решения, об особенностях маршрутизации и масштабирования функций forwarding plane современных сетевых устройств в «плотных» (densely connected) топологиях с большим числом ECMP-маршрутов. Кроме того, Дима коротко рассказал об организации внешней связности, физическом уровне, кабельной системе и способах дальнейшего увеличения емкости.



— Всем добрый день! Меня зовут Дмитрий Афанасьев, я сетевой архитектор Яндекса и занимаюсь преимущественно дизайном сетей дата-центров.
Читать дальше →

Разница между асинхронной функцией и функцией, возвращающей промис

Reading time4 min
Views24K
Существует небольшая, но довольно важная разница между функцией, которая просто возвращает промис, и функцией, которая была объявлена с помощью ключевого слова async.

Взгляните на следующий фрагмент кода:
Читать дальше →

Миграция на инфраструктуру async-await в Rust

Reading time7 min
Views9.5K

birds migration
img source


На прошлой неделе для Rust комьюнити случилось огромное событие — вышла версия компилятора 1.39, а в месте с ней и стабилизация async-await фичи. В этом посте я постараюсь резюмировать все релевантные изменения в компиляторе и экосистеме, а также предоставить инструкции по миграции на async-await парадигму. Детального разбора асинхронности в Rust я делать не буду, есть всё ещё актуальные статьи на хабре, которые помогут войти в тему:


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

Конспект по «Машинному обучению». Теория вероятностей. Формула Байеса

Reading time2 min
Views9.1K


Теория вероятностей. Формула Байеса


Пусть проводится некоторый эксперимент.

$w_1, ..., w_N$элементарные события (элементарные исходы эксперимента).
$\Omega = \{w_i\}_{i =1}^N$пространство элементарных событий (совокупность всевозможных элементарных исходов эксперимента).
Читать дальше →

Работа над PEG на Core Developer Sprint

Reading time7 min
Views1.3K

В этой статье я не буду рассказывать о новых фичах генератора парсера — я достаточно описал его в предыдущих частях. Вместо этого хочу рассказать что я делал на Core Developer Sprint на прошлой неделе, прежде чем всё сотрётся из моей памяти. Хотя большая часть материала так или иначе всё равно касается PEG. Так что мне придётся показать некоторый код, который задаёт направление в реализации PEG-парсера для Python 3.9.



Каждый год в течение последних четырёх лет группа разработчиков ядра Python собирается на недельный спринт в экзотическом месте. Эти спринты спонсируются принимающей стороной и PSF. Первые два года мы были у Facebook в Mountain View, в прошлом году была очередь Microsoft в Bellevue, а на этот спринт выбрали офис Bloomberg в Лондоне. (Должен сказать, что он выглядит довольно круто.) Слава core-разработчику Pablo Galindo Salgado за организацию!

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

Персонализация товарных рекомендаций на больших данных с помощью Vowpal Wabbit

Reading time10 min
Views3.9K

Привет! Меня зовут Никита Учителев. Я представляю отдел Research & Development компании Lamoda. Нас 20+ человек, и мы работаем над различными рекомендациями на сайте и в приложениях, разрабатываем поиск, определяем сортировку товаров в каталогах, обеспечиваем возможность АБ-тестирования разнообразного функционала, а также поддерживаем несколько внутренних разработок вроде системы прогнозирования эластичности спроса и оптимизации логистики доставки.


image


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

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

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации

Reading time4 min
Views11K
Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458

В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, а затем с помощью библиотеки PyTorch.
Читать дальше →

Новый проект братьев Дуровых: Telegram Open Network

Reading time12 min
Views89K
Приближается момент полномасштабного запуска самого ожидаемого криптопроекта, который действительно может изменить мир. К началу ноября сеть TON будет запущена и все смогут в полной мере оценить её достоинства и начать использовать по назначению: разработчики — создавать полезные и прибыльные приложения, пользователи — использовать функционал полезных приложений, с лёгкостью оплачивая его, при необходимости.

Уже запущена тестовая сеть и на официальном сайте есть два интересных документа, проливающих свет на то, как будет функционировать этот проект. Это описание TON, 132 страницы (ссылки на страницы в тексте указаны в круглых скобках, (45)) и описание блокчейна, 120 страниц (ссылки на страницы указаны в квадратных скобках, [55]). Виртуальная машина и язык программирования смарт-контрактов в этой статье рассматриваться не будут, кому нужно — разберёт сам, а кто не разберёт — тому не нужно.

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

Итак, что такое Telegram Open Network (TON)?


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

Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи

Reading time10 min
Views4.6K


Все документы курса можно скачать здесь.

Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language.

Однако, конечно, время не стоит на месте и за последнее время появилось очень много нового: от продвинутых возможностей работы с нейросетями до всевозможных веб-операций; теперь есть Wolfram Engine, который можно поставить на свой сервер и обращаться к нему, как к Python; можно строить всяческие географические визуализации или химические; есть огромные хранилища всевозможных данных, в том числе по машинному обучению; можно подключаться ко всевозможным базам данных; решать сложнейшие математические задачи и пр.

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

Information

Rating
10,340-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Distributed systems
Lead
From 150,000 $
BlockChain
Ethereum
Bitcoin
Solidity
Golang
Rust