Pull to refresh
0
0
Юрий @jury

User

Send message

Электронная книга своими руками на STM32H750 от А до Э

Reading time 22 min
Views 36K


В этой статье я хочу поделиться опытом разработки электронной книги с использованием недорогого контроллера STM32H750VB, распространенных дискретных компонентов и относительно недорогого дисплея E-Ink. Статья будет большой, так как приведены будут все процессы от постановки задачи до получения первой версии устройства, способного выполнять поставленную задачу. Все будет снабжено схемами, трассировками, кодом и комментариями. Почему в названии от «от А до Э»? Потому что нельзя просто так взять и сделать конечный продукт без ошибок и недоделок.

Читать дальше →
Total votes 127: ↑127 and ↓0 +127
Comments 77

Continuous integration в Яндексе

Reading time 10 min
Views 36K

Поддержка огромной кодовой базы с одновременным обеспечением высокой производительности большого числа разработчиков — это серьезный вызов. В течение последних 5 лет в Яндексе идет разработка особой системы непрерывной интеграции. В данной статье мы расскажем про масштаб кодовой базы Яндекса, про перенос разработки в единый репозиторий с trunk-based подходом к разработке, про то, какие задачи должна решать система непрерывной интеграции для эффективной работы в таких условиях.



Много лет назад в Яндексе никаких особенных правил в разработке сервисов не было: каждый отдел мог использовать любые языки, любые технологии, любые системы деплоя. И как показала практика, такая свобода не всегда помогала двигаться вперед быстрее. В то время для решения одних и тех же задач часто существовало несколько собственных или open-source разработок. С ростом компании такая экосистема работала всё хуже. При этом мы хотели остаться одним большим Яндексом, а не разделиться на множество независимых компаний, потому что это дает массу преимуществ: много людей делают одни похожие задачи, результаты их труда можно использовать повторно. Начиная от разнообразных структур данных, типа распределённых хеш-таблиц и lock-free очередей, и заканчивая множеством разного специализированного кода, который мы написали за 20 лет.

Читать дальше →
Total votes 52: ↑47 and ↓5 +42
Comments 100

Топливо для ИИ: подборка открытых датасетов для машинного обучения

Reading time 6 min
Views 80K


Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


Если вы прямо сейчас не делаете свой ИИ, то другие будут делать его вместо вас для себя. Ничто более не мешает вам создать систему на основе машинного обучения. Есть открытая библиотека глубинного обучения TensorFlow, большое количество алгоритмов для обучения в библиотеке Torch, фреймворк для реализации распределенной обработки неструктурированных и слабоструктурированных данных Spark и множество других инструментов, облегчающих работу.


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


Мы разобрались в этом вопросе и собрали данные по датасетам, удовлетворяющим критериям открытости, востребованности, скорости работы и близости к реальным задачам.

Читать дальше →
Total votes 65: ↑65 and ↓0 +65
Comments 10

Квантовый компьютер: большая игра на повышение. Лекция в Яндексе

Reading time 15 min
Views 34K
Мы то и дело слышим, что не за горами эпоха активного использования квантовых вычислений, что такие системы уже скоро станут доступны специалистам, включая аналитиков данных. Но сколько осталось ждать на самом деле? Научный сотрудник Российского квантового центра Алексей Фёдоров вводит в курс дела и рассказывает, как идут дела с разработкой квантовых компьютеров.


Под катом — расшифровка и часть слайдов Алексея.

Total votes 57: ↑55 and ↓2 +53
Comments 11

Метод оптимизации Нелдера — Мида. Пример реализации на Python

Reading time 5 min
Views 62K


Метод Нелдера — Мида — метод оптимизации (поиска минимума) функции от нескольких переменных. Простой и в тоже время эффективный метод, позволяющий оптимизировать функции без использования градиентов. Метод надежен и, как правило, показывает хорошие результаты, хотя и отсутствует теория сходимости. Может использоваться в функции optimize из модуля scipy.optimize популярной библиотеки для языка python, которая используется для математических расчетов.
Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 17

10 основных ошибок, совершаемых Django-разработчиками

Reading time 12 min
Views 101K


В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.

Читать дальше →
Total votes 52: ↑50 and ↓2 +48
Comments 62

Рост автономных платформ обработки данных или еще раз про Big Data

Reading time 10 min
Views 8.5K


Большие данные сегодня, ну, БОЛЬШИЕ. В исследовании IDC за 2016 год под названием «Полугодовое руководство по расходам на большие данные и аналитику» прогнозируется, что общемировой оборот на больших данных вырастет со $130 млрд в 2016-м до более чем $203 млрд в 2020-м, то есть совокупный годовой рост будет на уровне 11,7%. По мнению IDC, росту способствуют три фактора: увеличение доступности гигантских объёмов данных, богатый ассортимент развивающихся open source-технологий для работы с большими данными, культурный сдвиг в бизнес-среде в направлении принятия решений на основе анализа массива данных. Звучит правильно, да? А если допустить, что это не совсем так. Повсюду публикуется множество отчётов о неудачах, постигающих инициативы, связанные с большими данными. В этой статье мы обсудим причины этих неудач, почему решения, принимаемые для исправления ситуации, являются лишь временными мерами, и почему автономные платформы обработки данных являются жизнеспособным долгосрочным решением.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 2

Алгоритмические задачи в биоинформатике. Лекция в Яндексе

Reading time 19 min
Views 15K
Мы уже несколько раз упоминали серию мероприятий Data & Science, где специалисты по анализу данных и учёные рассказывают друг другу о своих задачах и ищут способы для взаимодействия. Одна из встреч была посвящена биоинформатике. Это отличный пример отрасли, где есть масса ещё не решённых задач для разработчиков.



Под катом вы найдёте расшифровку лекции Игната Колесниченко — выпускника мехмата МГУ и Школы анализа данных. Сейчас Игнат работает ведущим разработчиком службы технологий распределённых вычислений Яндекса.

Читать дальше →
Total votes 53: ↑48 and ↓5 +43
Comments 0

Спортивный анализ данных, или как стать специалистом по data science

Reading time 17 min
Views 60K
Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец площадки — Google. Яндекс тоже несколько раз отметился. Как правило, Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.



Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

Для успешного решения нужно, с одной стороны, изучить теорию, а с другой — начать практиковать использование различных подходов и моделей. Другими словами, участие в «кэглах» вполне способно сделать из вас аналитика данных. Вопрос — как научиться в них участвовать?
Хардкор
Total votes 71: ↑66 and ↓5 +61
Comments 13

Gixy — open source от Яндекса, который сделает конфигурирование Nginx безопасным

Reading time 10 min
Views 35K
Nginx, однозначно, один из крутейших веб-серверов. Однако, будучи в меру простым, довольно расширяемым и производительным, он требует уважительного отношения к себе. Впрочем, это относится к почти любому ПО, от которого зависит безопасность и работоспособность сервиса. Признаюсь, нам нравится Nginx. В Яндексе он представлен огромным количеством инсталляций с разнообразной конфигурацией: от простых reverse proxy до полноценных приложений. Благодаря такому разнообразию у нас накопился некий опыт его [не]безопасного конфигурирования, которым мы хотим поделиться.



Но обо всем по порядку. Нас давно терзал вопрос безопасного конфигурирования Nginx, ведь он — полноправный кубик веб-приложения, а значит, и его конфигурация требует не меньшего контроля с нашей стороны, чем код самого приложения. В прошлом году нам стало очевидно, что этот процесс требует серьезной автоматизации. Так начался in-house проект Gixy, требования к которому мы обозначили следующим образом:

— быть простым;
— но расширяемым;
— с возможностью удобного встраивания в процессы тестирования;
— неплохо бы уметь резолвить инклюды;
— и работать с переменными;
— и про регулярные выражения не забыть.
Читать дальше →
Total votes 112: ↑112 and ↓0 +112
Comments 18

Введение в криптографию и шифрование, часть первая. Лекция в Яндексе

Reading time 20 min
Views 238K
Чтобы сходу понимать материалы об инфраструктуре открытых ключей, сетевой безопасности и HTTPS, нужно знать основы криптографической теории. Один из самых быстрых способов изучить их — посмотреть или прочитать лекцию Владимира ivlad Иванова. Владимир — известный специалист по сетям и системам их защиты. Он долгое время работал в Яндексе, был одним из руководителей нашего департамента эксплуатации.


Мы впервые публикуем эту лекцию вместе с расшифровкой. Начнём с первой части. Под катом вы найдёте текст и часть слайдов.

Total votes 96: ↑92 and ↓4 +88
Comments 29

Алгоритм Джонкера-Волгенанта + t-SNE = супер-сила

Reading time 9 min
Views 31K
До:



После:



Заинтригованы? Но обо всем по порядку.

t-SNE


t-SNE — это очень популярный алгоритм, который позволяет снижать размерность ваших данных, чтобы их было проще визуализировать. Этот алгоритм может свернуть сотни измерений к всего двум, сохраняя при этом важные отношения между данными: чем ближе объекты располагаются в исходном пространстве, тем меньше расстояние между этими объектами в пространстве сокращенной размерности. t-SNE неплохо работает на маленьких и средних реальных наборах данных и не требует большого количества настроек гиперпараметров. Другими словами, если взять 100 000 точек и пропустить их через эту волшебный черный ящик, на выходе мы получим красивый график рассеяния.
Читать дальше →
Total votes 65: ↑64 and ↓1 +63
Comments 2

Сможет ли Питон прожевать миллион запросов в секунду?

Reading time 6 min
Views 37K


Возможно ли с помощью Python обработать миллион запросов в секунду? До недавнего времени это было немыслимо.


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


Python-сообщество в последнее время уделяет много внимания производительности. С помощью CPython 3.6 за счет новой реализации словарей удалось повысить скорость работы интерпретатора. А благодаря новому соглашению о вызове (calling convention) и словарному кэшу CPython 3.7 должен стать еще быстрее.


Для определенного класса задач хорошо подходит PyPy с его JIT-компиляцией. Также можно использовать NumPy, в котором улучшена поддержка расширений на Си. Ожидается, что в этом году PyPy достигнет совместимости с Python 3.5.


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

Читать дальше →
Total votes 74: ↑69 and ↓5 +64
Comments 30

Let's Encrypt и nginx: настройка в Debian и Ubuntu

Reading time 13 min
Views 302K

image


Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.


Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!


Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.


Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.

Читать дальше →
Total votes 48: ↑46 and ↓2 +44
Comments 96

React + mobx путь с нуля. Mobx + react, взгляд со стороны

Reading time 10 min
Views 68K


В «настоящих» проектах мы получаем данные от сервера или пользовательского ввода, форматируем, валидируем, нормализуем и производим другие операции над ними. Всё это принято считать бизнес логикой и должно быть помещено в Model. Так как react — это только треть MVC пирога, для создания пользовательских интерфейсов, то нам потребуется еще что-то для бизнес логики. Некоторые используют паттерны redux или flux, некоторые — backbone.js или даже angular, мы же будем использовать mobx.js в качестве Model.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 53

Анабиоз для длительных космических путешествий скоро станет реальностью

Reading time 4 min
Views 33K
image
Представление художника о камерах для анабиоза от Spaceworks

7 октября 2006 года Мицутака Утикоси [Mitsutaka Uchikoshi], поев шашлычков на горе Рокко в западной Японии, решил пойти вниз с горы пешком, а не ехать на канатной дороге. Он потерялся, поскользнулся, сломал таз и, поскольку рядом не оказалось никого, кто бы мог ему помочь, потерял сознание. Через 24 дня проходивший мимо альпинист нашёл Утикоси. Температура его тела упала до 22 °C, его пульс едва прощупывался, а метаболизм почти остановился. Несмотря на отказ многих органов и серьёзную потерю крови, без еды и воды он выжил, и затем полностью восстановился.

Случай с Утикоси назвали первым документированным случаем впадения человека в спячку. Его история сразу же привлекла внимание медицинской общественности, понадеявшейся разработать новые методы терапии.

Среди медиков был и Джон Брэдфорд, президент американской компании Spaceworks из Атланты, шт. Джорджия, разрабатывающей технологии исследования космоса. Брэдфорд, однако, не собирался разрабатывать новые методы лечения; он хотел найти способ вводить людей в анабиоз на длительных межзвёздных перелётах.
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 71

Цифровой нотариус на блокчейне: Emercoin DPO Antifake

Reading time 4 min
Views 6.7K
EMC DPO — это система, основанная на блокчейне EmerCoin и неопровержимо доказывающая право обладания чем-либо, цифровое свидетельство, подтверждающее подлинность того или иного предмета, товара или услуги. Документ, заявляющий о правах на любые виды собственности, за которыми закреплены уникальные номера: VIN автомобилей, кадастровые — земельных участков, лицензионные — программного обеспечения и многое другое.

image
Есть вещи понадёжнее обычной подписи

Определений много, суть одна. Сегодня ЕМС DPO — это, пожалуй, технически наиболее надёжный инструмент защиты от мошенничества и подделок.
Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Comments 42

Как понять, что перед вами «полусырой» блокчейн

Reading time 11 min
Views 8.4K
image

Когда «чейны» и «блоки» еще не гарантируют, что перед вами полноценный блокчейн


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

И, конечно же, взрывной рост блокчейн-проектов выступил в роли движущей силы для разработки частных блокчейн-платформ, на базе которых эти проекты работают. К примеру, решение MultiChain за прошедший год стало популярнее в три раза как по количеству веб-трафика, так и по количеству ежемесячных скачиваний или коммерческих запросов. И конечно же, существует множество других платформ, таких как BigChainDB, Chain, Corda, Credits, Elements, Eris, Fabric, Ethereum (его закрытый вариант), HydraChain и Openchain. И это не говоря о других стартапах, разработавших собственные блокчейн-платформы, и пока не сделавших их доступными для широкой публики.
Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Comments 0

Практическое применение DNSSEC

Reading time 10 min
Views 65K


В статье описываются недостатки существующей структуры DNS, полный процесс внедрения DNSSEC на примере доменов .com и .org, процедура создания валидного самоподписанного SSL-сертификата подписанного с помощью DNSSEC.

Читать дальше →
Total votes 76: ↑75 and ↓1 +74
Comments 31

История участия (и почти победы) в ежегодном соревновании Russian AI Cup 2016

Reading time 25 min
Views 25K
Привет, Хабр! Меня зовут Дичковский Алексей, и я хочу вам рассказать о том, как я потратил полтора месяца своей жизни на написание бота для упрощённой версии DotA.

Ежегодно компания Mail.ru проводит онлайн-чемпионат по программированию игровых стратегий (Russian AI Cup 2016). Я принимал участие в данном соревновании в 2012 году (СodeTanks) и, совсем немного, в 2013 (СodeTroopers). В этом году, изрядно наевшись веб разработкой, я решил попробовать принять участие ещё раз. Я изначально не надеялся (но, конечно же, очень хотел) занять какое-либо призовое место и в целом для меня это был скорее тест, насколько я ещё могу реализовать нечто интересное. О том, что из этого получилось, можно прочитать под катом.


Читать дальше →
Total votes 63: ↑61 and ↓2 +59
Comments 32

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity