Как стать автором
Обновить
52
0
Отправить сообщение

TeX в SVG: опенсорс-решение в помощь веб-разработчикам образовательных проектов

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

Привет! Меня зовут Костя Мамаев, я занимаюсь фронтенд-разработкой в поиске Яндекса. Некоторое время назад мы вместе с другими ребятами из команды помогали образовательным проектам компании. Среди прочего пришлось решить, казалось бы, простую задачку: отображать на экране и распечатывать на бумаге формулы, закодированные в популярном формате TeX. Звучит, как дело пяти минут, но в результате трёх подходов к снаряду появился полноценный микросервис для серверного рендеринга формул в svg и png. В статье расскажу, зачем мы пошли этим путём и почему ни один из существующих проектов не подошёл «из коробки».

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

Подробнее про три подхода к снаряду
Всего голосов 58: ↑56 и ↓2+54
Комментарии23

Практическое руководство по разработке бэкенд-сервиса на Python

Время на прочтение57 мин
Количество просмотров173K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →
Всего голосов 70: ↑68 и ↓2+66
Комментарии48

Как подружить Tensorflow и C++

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

Google TensorFlow — набирающая популярность библиотека машинного обучения с акцентом на нейросетях. У нее есть одна замечательная особенность, она умеет работать не только в программах на Python, а также и в программах на C++. Однако, как оказалось, в случае С++ нужно немного повозиться, чтобы правильно приготовить это блюдо. Конечно, основная часть разработчиков и исследователей, которые используют TensorFlow работают в Python. Однако, иногда бывает необходимо отказаться от этой схемы. Например вы натренировали вашу модель и хотите ее использовать в мобильном приложении или роботе. А может вы хотите интегрировать TensorFlow в существующий проект на С++. Если вам интересно как это сделать, добро пожаловать под кат.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии17

Злоумышленники используют копирайт-страйки YouTube для вымогания денег у авторов

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

Кошмар любого видеоблогера наяву

На систему защиты контента, защищенного авторским правом, которая работает на Youtube, не жаловался только ленивый. С ее помощью авторов различных роликов заставляют удалять собственные произведения, поскольку кто-то пожаловался на воровство. YouTube особо не вникает, кто у кого украл, поэтому используется принцип «кто первый, тот и прав».

На днях в сети появилось описание нового метода работы злоумышленников, которые вымогают деньги у авторов роликов. Если не платить, вымогатель отправляет жалобы на контент, с тем, чтобы заблокировать ролики или весь канал.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии73

Позиция — это здорово, но за репосты продолжают сажать

Время на прочтение6 мин
Количество просмотров48K
6 августа Mail.ru озвучила свою позицию «по правоприменительной практике в отношении пользователей социальных сетей». У нас это вызвало неоднозначную реакцию. Здесь рассказываем почему.



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

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

У меня и самого на страницах лежат вещи, которые теоретически могут кого-то оскорбить. И когда читаешь новости, гложет неприятное противоречие — бояться ли, что и ты станешь героем следующей истории, или смириться со своей трусостью и тихо удалить «опасную» запись.
Читать дальше →
Всего голосов 102: ↑96 и ↓6+90
Комментарии780

Как обучть мдль пнмть упртые скрщня

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

Недавно я натолкнулся на вопрос на Stackoverflow, как восстанавливать исходные слова из сокращений: например, из wtrbtl получать water bottle, а из bsktballbasketball. В вопросе было дополнительное усложнение: полного словаря всех возможных исходных слов нет, т.е. алгоритм должен быть в состоянии придумывать новые слова.


Вопрос меня заинтриговал, и я полез разбираться, какие алгоритмы и математика лежат в основе современных опечаточников (spell-checkers). Оказалось, что хороший опечаточник можно собрать из n-граммной языковой модели, модели вероятности искажений слов, и жадного алгоритма поиска по лучу (beam search). Вся конструкция вместе называется модель зашумлённого канала (noisy channel).


Вооружившись этими знаниями и Питоном, я за вечер создал с нуля модельку, способную, обучившись на тексте "Властелина колец" (!), распознавать сокращения вполне современных спортивных терминов.


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

Сотрудники Яндекса будут представлять Россию в комитете по стандартизации C++

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


Хочу поделиться с вами радостной новостью: теперь мы можем влиять на развитие C++! Под «мы» я имею в виду всех российских программистов, работающих с C++.

Но обо всем по порядку.
Читать дальше →
Всего голосов 73: ↑68 и ↓5+63
Комментарии128

Байесовская нейронная сеть — теперь апельсиновая (часть 2)

Время на прочтение16 мин
Количество просмотров37K
Как вы думаете, чего в апельсине больше — кожуры, или, хм, апельсина?



Предлагаю, если есть возможность, пойти на кухню, взять апельсин, очистить и проверить. Если лень или нет под рукой — воспользуемся скучной математикой: объем шара мы помним из школы. Пусть, скажем, толщина кожуры равна от радиуса, тогда , ; вычтем одно из другого, поделим объем кожуры на объем апельсина… получается, что кожуры что-то около 16%. Не так уж мало, кстати.

Как насчет апельсина в тысячемерном пространстве?

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

  • во-первых, в тысячемерном гиперапельсине кожуры больше, чем мякоти
  • а во-вторых, ее больше примерно в 246993291800602563115535632700000000000000 раз

То есть, каким бы странным и противоречивым это ни казалось, но почти весь объем гиперапельсина содержится в ничтожно тонком слое прямо под его поверхностью.

Начнем с этого, пожалуй.

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

Как написать пост с формулами: markdown + LaTeX

Время на прочтение3 мин
Количество просмотров24K
Привет! На Хабре периодически появляются статьи, где авторы хотят вставить математические формулы: inline_formula, inline_formula или даже


У некоторых это получается, у некоторых — с трудом. parpalak сделал web-сервис для вставки svg формул, и это очень круто. Я хочу дополнить его небольшим скриптом, с которым вставка многих формул сведется к одной команде.

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

Простое суффиксное дерево

Время на прочтение12 мин
Количество просмотров74K
ДеревоСуффиксное дерево – мощная структура, позволяющая неожиданно эффективно решать мириады сложных поисковых задач на неструктурированных массивах данных. К сожалению, известные алгоритмы построения суффиксного дерева (главным образом алгоритм, предложенный Эско Укконеном (Esko Ukkonen)) достаточно сложны для понимания и трудоёмки в реализации. Лишь относительно недавно, в 2011 году, стараниями Дэни Бреслауэра (Dany Breslauer) и Джузеппе Италиано (Giuseppe Italiano) был придуман сравнительно несложный метод построения, который фактически является упрощённым вариантом алгоритма Питера Вейнера (Peter Weiner) – человека, придумавшего суффиксные деревья в 1973 году. Если вы не знаете, что такое суффиксное дерево или всегда его боялись, то это ваш шанс изучить его и заодно овладеть относительно простым способом построения.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии20

Бесплатные электронные книги от Microsoft

Время на прочтение1 мин
Количество просмотров32K
Eric Ligman, Директор по партнерским программам компании Microsoft, опубликовал в блоге ссылки на большую бесплатную коллекцию книг Microsoft по самым разным направлениям: SharePoint, Visual Studio, Windows Phone, Windows 8, Office 365, Office 2010, SQL Server 2012, Azure, Cloud, Lync, Dynamics CRM и т.д.
Читать дальше →
Всего голосов 58: ↑50 и ↓8+42
Комментарии21

Базовые принципы алгоритмов обучения Hierarchical Temporal Memory

Время на прочтение7 мин
Количество просмотров11K
Доброго времени суток!
В последнее время на хабре довольно часто появляются статьи, в которых авторы описывают современные теории и подходы к построению искусственного интеллекта и нейронных сетей. Однако примеров конкретной реализации приводится довольно скудное количество. Попробуем восполнить этот пробел. В данной статье я опишу только основные теоретические и практические моменты, использованные при написании рабочего макета алгоритмов, предоставленных Numenta Inc.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии29

Для тех, кто хочет научиться воспринимать английский на слух

Время на прочтение1 мин
Количество просмотров7.2K
Для того, чтобы научиться воспринимать иностранную речь на слух, нужно много слушать. Правда, толку от этого будет немного, если вы не будете понимать, что люди говорят. Важно, чтобы мозг устанавливал связи между словами и их звуковыми образами. Для этого нужно слушать с субтитрами и текстовками, и слушать то, что соответствует вашему уровню и то, что вы способны понять на родном языке.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии26

Делаем загрузочно-установочную флешку

Время на прочтение2 мин
Количество просмотров773K
После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

image
Читать дальше →
Всего голосов 161: ↑142 и ↓19+123
Комментарии54

Сравнение чтения PDF/DJVU файлов на электронных книгах PocketBook 301 Plus и Азбука n516

Время на прочтение7 мин
Количество просмотров25K
Чуть ли не каждый второй вопрос, который я получаю от клиентов в нашем небольшом магазине, звучит приблизительно так: "А как у этих читалок с поддержкой PDF?". Долго и много разъясняя, я наконец решил систематизировать свой опыт в этом посте и поделиться им с пользователями Хабра. Поскольку две самые популярные модели у нас: Азбука n516 и PocketBook 301,- сегодня о них и пойдет разговор.

Итак, под катом вы найдете сравнительный обзор чтения этими устройствами следующих форматов:
  • обычных PDF файлов;
  • отсканированных PDF файлов по 1 странице на одном листе А4;
  • отсканированных PDF файлов по 2 страницы на одном листе А4;
  • отсканированных DJVU файлов с изображениями схем.

Каждый вариант будет представлен в двух ориентациях страницы: альбомной и книжной, и снабжен большими(!) фотографиями.
Читать дальше →
Всего голосов 70: ↑57 и ↓13+44
Комментарии62

The Known Universe

Время на прочтение1 мин
Количество просмотров1.4K
The Known Universe — это видеоролик, сделанный учеными американского музея естествознания, чтобы помочь людям представить, как выглядит наша необъятная Вселенная. Видео начинается с Гималайских гор, затем камера постепенно отдаляется, набирая скорость, показывая спутники Земли, солнце, солнечную систему, галактику Млечный путь, близкие и самые далекие от нас галактики, которые были изучены на данный момент.
Каждый объект в видео был отрендерен, согласно новейшим научным исследованиям 2009 года, потому здесь полностью учтены все масштабы и орбиты. По-моему видео отлично отражает то, насколько все таки мала наша огромная планета, по сравнению со Вселенной. В общем, смотрите и наслаждайтесь =)


По материалам NASA APOD и AMNH

Под хабракатом еще кое-что интересное
Всего голосов 108: ↑89 и ↓19+70
Комментарии112

Активация Windows

Время на прочтение8 мин
Количество просмотров49K
Винда релизится только раз в году, а убунта два раза. 2:1 — пингвин выйграл.

image

Близится час Х, в связи с чем решил посмотреть, что предлагают нам пираты для решения проблем с операционной системой.
Читать дальше →
Всего голосов 170: ↑114 и ↓56+58
Комментарии77

Победитель Mario AI Competition

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


О самом Mario AI Competition на Хабре уже писали. Предлагаю посмотреть видео победителя обоих этапов соревнований Робина Баумгартена. Видео записано в замедленном действии, чтобы можно было лучше увидеть как алгоритм работает.

Более подробную информацию и исходники можно найти на сайте автора.
Всего голосов 50: ↑45 и ↓5+40
Комментарии29

Windows 8: поддержка USB 3.0 и «умное» копирование файлов

Время на прочтение2 мин
Количество просмотров16K
В блоге разработчиков Windows 8 публикуются всё новые подробности о будущей операционной системе. Вчера вышла большая статья о нативной поддержке USB 3.0, а сегодня — текст со скриншотами, как будет работать интерфейс копирования файлов.

Данные телеметрии Microsoft показывают, что продвинутые менеджеры для массового копирования файлов (TeraCopy, FastCopy и Copy Handler) установлены менее чем на 0,45% всех компьютеров с Windows 7, у остальных пользователей такой функции нет, они просто не знают о подобных программах, поэтому доработка встроенного интерфейса Windows будет весьма кстати.
Читать дальше →
Всего голосов 110: ↑100 и ↓10+90
Комментарии177

Here be dragons: Управление памятью в Windows как оно есть [3/3]

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

Каталог:
Один
Два
Три

μTorrent


Это, пожалуй, самая забавная часть. При очевидно высоких навыках программирования, авторы либо не читали, либо не поняли вот этот документ. Вот что происходит с дефолтными настройками:
Читать дальше →
Всего голосов 323: ↑300 и ↓23+277
Комментарии171

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность