Обновить
0
0

Пользователь

Отправить сообщение

Сентимент анализ текста

Время на прочтение6 мин
Количество просмотров24K
Сентимент-анализ информационных потоков имеет большой потенциал применения для мониторинговых, аналитических и сигнальных систем, для систем документооборота и рекламных платформ, таргетированных по тематике веб-страниц.

Данный материал знакомит с понятием сентимент-анализа, основными методами определения тональности и новыми подходами в этой области.


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

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 5 из 6

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

Содержание основного курса




Улучшение кода






Official translation (with a bit of polishing) is available here.




Пришла пора веселья, давайте для начала смотреть размер текущего кода:
  • geometry.cpp+.h — 218 строк
  • model.cpp+.h — 139 строк
  • our_gl.cpp+.h — 102 строки
  • main.cpp — 66 строк


Итого 525 строк. Ровно то, что я обещал в самом начале курса. И заметьте, что отрисовкой мы занимаемся только в our_gl и main, а это всего 168 строк, и нигде мы не вызывали сторонних библиотек, вся отрисовка сделана нами с нуля!
Я напоминаю, что мой код нужен только для финального сравнения с вашим работающим кодом! По-хорошему, вы всё должны написать с нуля, если следуете этому циклу статей. Очень прошу, делайте самые безумные шейдеры и выкладывайте в комментарии картинки!!!


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

Boost.DI: внедрение зависимости в С++

Время на прочтение15 мин
Количество просмотров28K
«Не звони нам. Мы позвоним тебе сами.» — принцип Голливуда

Внедрение зависимости (Dependency Injection — DI) означает передачу (внедрение) одной или более зависимости какому-либо объекту (клиенту, компоненту) таким образом, что после внедрения эта зависимость становится частью состояния объекта. Это немного напоминает паттерн проектирования Стратегия, с той лишь разницей, что стратегия задаётся лишь однажды — в конструкторе. DI позволяет создавать более слабо-связанную архитектуру приложения, которая лучше поддаётся поддержке и тестированию.

Итак, ещё раз плюсы:
  • Уменьшает связность компонент (отделяет бизнес-логику от создания объекта)
  • Позволяет писать более поддерживаемый код (в одни и те же объекты мы легко можем внедрять разные зависимости)
  • Позволяет писать более тестируемый код (мы можем легче использовать стабы и моки)


Без внедрения зависимости С внедрением зависимости
class example {                         
public:  
    example()                           
        : logic_(new logic{})           
        , logger_(                      
            logger_factory::create()    
          )                             
    { }  
         
    int run() const;                    
         
private: 
    shared_ptr<ilogic> logic_;          
    shared_ptr<ilogger> logger_;        
};                             

 class example {
 public:
     example(shared_ptr<ilogic> logic
           , shared_ptr<ilogger> logger)
       : logic_(logic), logger_(logger)
     { }

     int run() const;

 private:
     shared_ptr<ilogic> logic_;
     shared_ptr<ilogger> logger_;
 };


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

Machine Learning. Курс от Яндекса для тех, кто хочет провести новогодние каникулы с пользой

Время на прочтение8 мин
Количество просмотров267K
Новогодние каникулы – хорошее время не только для отдыха, но и для самообразования. Можно отвлечься от повседневных задач и посвятить несколько дней тому, чтобы научиться чему-нибудь новому, что будет помогать вам весь год (а может и не один). Поэтому мы решили в эти выходные опубликовать серию постов с лекциями курсов первого семестра Школы анализа данных.

Сегодня — о самом важном. Современный анализ данных без него представить невозможно. В рамках курса рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.



Читает курс лекций Константин Вячеславович Воронцов, старший научный сотрудник Вычислительного центра РАН. Заместитель директора по науке ЗАО «Форексис». Заместитель заведующего кафедрой «Интеллектуальные системы» ФУПМ МФТИ. Доцент кафедры «Математические методы прогнозирования» ВМиК МГУ. Эксперт компании «Яндекс». Доктор физико-математических наук.
Содержание и видео всех лекций курса

20 самых популярных лекций TED Talks всех времён

Время на прочтение2 мин
Количество просмотров224K
Фонд TED с 1984 года проводит конференции, выбирая для них самые интересные темы и самые инновационные идеи. Например, на первой конференции 1984 года были представлены только что выпущенный Macintosh, инновационный компакт-диск от Sony, математик Бенуа Мандельброт продемонстрировал практическое применение своей теории фракталов, а специалист по искусственному интеллекту Марвин Минский разъяснил новую модель разума.

Каждое выступление (лекция) на конференции TED называется TED Talk и публикуется в онлайне, сейчас на сайте скопилось уже более 400 видеозаписей. Поскольку все они посвящены невообразимо интересным темам, даже сложно предположить, какие пользуются наибольшим интересом у зрителей. Официальный блог TED Blog опубликовал список Топ-20 лекций за все времена по количеству просмотров, собрав статистику с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.
Читать дальше →

Сверхбыстрое распознавание речи без серверов на реальном примере

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

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду

Что нужно знать каждому разработчику о кодировках и наборах символов для работы с текстом

Время на прочтение8 мин
Количество просмотров121K
Это первая часть перевода статьи What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text

Если вы работаете с текстом в компьютере, вам обязательно нужно знать про кодировки. Даже если вы посылаете электронные письма. Даже если вы их только получаете. Необязательно понимать каждую деталь, но надо хотя бы знать, что из себя представляют кодировки. И вот первая хорошая новость: статья может быть немного запутанной, но основная идея очень и очень простая.

Эта статья о кодировках и наборах символов.
Читать дальше →

Для чего нужны шаблоны проектирования

Время на прочтение5 мин
Количество просмотров101K
Все чаще и чаще я слышу от разработчиков и читаю в статьях, что шаблоны проектирования (они же дизайн-паттерны) никому не нужны. Мол, они появились во времена «цветения» UML, RUP, CASE систем и прочих чересчур «сложных» инструментов, подходов и практик. А сейчас самое важное — это код рабочий написать, да побыстрее. На умные толстые книжки ни у кого нет времени, разве что для прохождения собеседования. Тех, кто хочет обсудить данную тему, прошу под кат.

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

Учим язык, смотря сериалы: vlc + lua + stardict + wordnet + anki = l'amour

Время на прочтение3 мин
Количество просмотров129K
Очень уж мне нравится смотреть сериалы, а еще я учу с их помощью языки. И если раньше я прилежно останавливал видео на непонятном месте, перематывал назад, включал субтитры и забивал незнакомые слова в Анки, то сейчас я делаю то же самое. Разве что лень заставила этот процесс автоматизировать, что привело к созданию расширения Say It Again для проигрывателя VLC со следующими особенностями:

  • Навигация по субтитрам (переход к предыдущей, следующей фразе) — клавиши y, u;
  • Сохранение слова, его транскрипции и перевода вместе с контекстом (см. скриншот) — клавиша i;
  • Функция «Еще раз»: переход к предыдущей фразе, показ субтитра и пауза — клавиша backspace;
  • Подключение любых словарей в формате Stardict (в сети лежат словари из Lingvo x3);
  • Экспорт в Anki или другую программу, понимающую файлы в формате csv;


Say It Again screenshot


Зачем все это нужно и как это работает?

Популярные вопросы на собеседовании по C++ и ответы на них

Время на прочтение9 мин
Количество просмотров356K
Здравствуйте!

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

О том, что спрашивают на собеседовании у C++ программистов, а также об ответах на эти вопросы и пойдет речь в данном посте.
Читать дальше →

ТОП-10 подводных камней, на которые вы можете наткнуться при переходе на Vim

Время на прочтение5 мин
Количество просмотров15K
Согласитесь, каждый раз, когда вы видите человека, который использует Vim, вам кажется, что он знает то, чего не знаете вы. Иначе, как вы можете объяснить тот факт, что он использует редактор, который, по вашему мнению, является open-source мусором? Думайте, что хотите, но есть целый ряд причин, по которым програмисты поклоняются Vim.
Пока вы не потратите по крайней мере месяц на ознакомление с ним, вы, несомненно, будете его ненавидеть. Именно по этой причине большинство новичков работают с Vim около дня, после чего больше никогда к нему не притрагиваются. Они даже представить себе не могут, какой невероятной скоростью и гибкостью он обладает. Нужно всего-лишь найти в себе силы и преодолеть те трудности, которые встретятся вам на протяжении всего того времени, что вы знакомитесь с Vim.
Читать дальше →

Vim на рабочий стол

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

Здравствуйте, коллеги!
После прочтения данной статьи, я понял, что использую этот редактор не на полную мощность. Для того чтобы изучить и запомнить основные используемые команды Vim, нарисовал Wallpaper шпаргалку. Список команд не претендует на полноту, но большинство из них будут вам полезны при работе с Vim. Ее можно будет поставить на рабочий стол или просто открывать по мере необходимости.
Под катом сама картинка:
Читать дальше →

Пишем плагин для поддержки cmake проектов под vim

Время на прочтение5 мин
Количество просмотров6.4K
Сегодня поговорим о создании дополнений для VIM.

Недавно у меня возникла идея вкрутить в него поддержку cmake проектов для удобной навигации по файлам. С этой задачей, конечно, вполне справится NERD Tree, но в последнем нельзя оперировать исключительно файлами проекта.

Ахтунг: Автор статьи впервые познакомился с Vim Script. Он не гарантирует, что вы не упадете в обморок после прочтения статьи. Любые пожелания касательно кода оставляйте в комментариях.

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

Подборка цветовых схем подсветки синтаксиса для Sublime, TextMate и Vim

Время на прочтение1 мин
Количество просмотров64K
Дейл Риз — один из разработчиков PHP-фреймворка Laravel — выложил на Гитхаб весьма приятную подборку цветовых схем, совместимую с Sublime Text 2, Vim и TextMate. В неё входят преимущественно тёмные темы (21 из 25), и, что бывает не так уж часто, практически все они выглядят очень прилично — есть из чего выбрать. Инструкции по установке и скриншоты каждой темы — в репозитории.
Под катом — скриншоты всех 25 схем.
Читать дальше →

Продвинутая настройка VIM

Время на прочтение13 мин
Количество просмотров46K
Одно из правил эффективного использования редактора гласит следующее — определите, на что у Вас тратится больше всего времени при наборе текста, и улучшите это.
Как показывает практика, часто пользователи этого редактора ограничиваются установкой опций, коих конечно не мало. Затем ставят какой-нибудь плагин-мега-пак по советам знатоков, и вроде бы все устраивает, кроме… первого, второго, третьего…
Но ведь если пойти дальше, можно обнаружить бесконечный потенциал для увеличения производительности в использовании своего редактора.



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

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

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирована
Активность