Pull to refresh
52
0
Send message

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

Reading time4 min
Views8.8K

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

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

Подробнее про три подхода к снаряду
Total votes 58: ↑56 and ↓2+54
Comments23

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

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



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

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

Reading time6 min
Views44K

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

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

Reading time3 min
Views27K

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

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

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

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

Reading time6 min
Views48K
6 августа Mail.ru озвучила свою позицию «по правоприменительной практике в отношении пользователей социальных сетей». У нас это вызвало неоднозначную реакцию. Здесь рассказываем почему.



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

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

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

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

Reading time16 min
Views39K

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


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


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


Читать дальше →
Total votes 88: ↑87 and ↓1+86
Comments17

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

Reading time4 min
Views26K


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

Но обо всем по порядку.
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments128

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

Reading time16 min
Views37K
Как вы думаете, чего в апельсине больше — кожуры, или, хм, апельсина?



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

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

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

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

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

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

Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments26

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

Reading time3 min
Views24K
Привет! На Хабре периодически появляются статьи, где авторы хотят вставить математические формулы: inline_formula, inline_formula или даже


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

Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments20

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

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

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

Reading time1 min
Views32K
Eric Ligman, Директор по партнерским программам компании Microsoft, опубликовал в блоге ссылки на большую бесплатную коллекцию книг Microsoft по самым разным направлениям: SharePoint, Visual Studio, Windows Phone, Windows 8, Office 365, Office 2010, SQL Server 2012, Azure, Cloud, Lync, Dynamics CRM и т.д.
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments21

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

Reading time7 min
Views11K
Доброго времени суток!
В последнее время на хабре довольно часто появляются статьи, в которых авторы описывают современные теории и подходы к построению искусственного интеллекта и нейронных сетей. Однако примеров конкретной реализации приводится довольно скудное количество. Попробуем восполнить этот пробел. В данной статье я опишу только основные теоретические и практические моменты, использованные при написании рабочего макета алгоритмов, предоставленных Numenta Inc.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments29

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

Reading time1 min
Views7.2K
Для того, чтобы научиться воспринимать иностранную речь на слух, нужно много слушать. Правда, толку от этого будет немного, если вы не будете понимать, что люди говорят. Важно, чтобы мозг устанавливал связи между словами и их звуковыми образами. Для этого нужно слушать с субтитрами и текстовками, и слушать то, что соответствует вашему уровню и то, что вы способны понять на родном языке.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments26

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

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

image
Читать дальше →
Total votes 161: ↑142 and ↓19+123
Comments54

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

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

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

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

The Known Universe

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


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

Под хабракатом еще кое-что интересное
Total votes 108: ↑89 and ↓19+70
Comments112

Активация Windows

Reading time8 min
Views49K
Винда релизится только раз в году, а убунта два раза. 2:1 — пингвин выйграл.

image

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

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

Reading time1 min
Views2.6K


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

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

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

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

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

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

Reading time5 min
Views147K

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

μTorrent


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

Information

Rating
Does not participate
Date of birth
Registered
Activity