Как стать автором
Обновить
4
0
Дмитрий Сураев @DiSur

Разработчик C#

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

Библиотека компьютерного зрения CCV 0.6 с новым классификатором изображений

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


Для свободной кроссплатформенной библиотеки компьютерного зрения CCV разработан новый классификатор изображений, обученный в свёрточной нейроной сети. Впервые классификатор такого уровня и модели (детектор лиц, детектор автомобилей, детектор пешеходов) выпущены под свободной лицензией.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии13

Как NLP-технологии ABBYY научились мониторить новости и управлять рисками

Время на прочтение8 мин
Количество просмотров4.7K
Круг задач, которые можно решить с помощью технологий ABBYY, пополнился еще одной интересной возможностью. Мы обучили свой движок работе банковского андеррайтера – человека, который из гигантского потока новостей вылавливает события о контрагентах и оценивает риски.

Сейчас такие системы на базе технологий ABBYY используют уже несколько крупных российских банков. Мы хотим рассказать о нюансах внедрения этого решения – довольно нетривиальных и неожиданных вызовах, с которыми столкнулись наши онтоинженеры.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Ад инди-разработчика или как довести свой проект до релиза и не застрелиться в процессе

Время на прочтение9 мин
Количество просмотров13K
Когда мои друзья\знакомые\собутыльники узнают о том, что я разработчик игр, они приходят в дикий восторг, смешанный с белой завистью. “О, да ты шо, когда новый Ассасин выпустишь? ” — “Ого, вот это кайф. Такая крутая работа! ” и все в таком духе. Сразу их быстро опускаю на землю, ибо разработчик игр хоть и звучит круто, но за этим стоит огромная работа. Зачастую, не самая веселая. Рутинная, монотонная и, откровенно, утомительная. Однако, очень-очень нужная.

Опытные разработчики поймут о чем я, а те наивные мечтатели, которые еще только думают о том, чтобы перейти в геймдев — поверьте мне на слово. Ну или прочитайте всю статью от начала до конца. Немного об авторе — 4 года в геймдеве. Удалось поработать с такими проектами как Iratus: Lord of the Dead, Utopia Syndrome, парочкой VR проектов. В данный момент работаю в студии CrispApp, основное направление которой — игры жанра Hidden Object.

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

Мнемотехника: исследуем методы увеличения памяти мозга

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


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

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

Однако не все так плохо. Научные исследования показывают[1], что некоторые мнемотехники буквально физически могут поменять структуру мозга и повысить скилл управления памятью. Многие из самых успешных в мире мнемонистов, участвующих в профессиональных соревнованиях по запоминанию, начинали учиться уже в зрелом возрасте, и им удалось значительно усилить возможности мозга.
Всего голосов 22: ↑18 и ↓4+23
Комментарии10

История плохого старта — вариант «Все сам»

Время на прочтение5 мин
Количество просмотров57K
Заглавная картинка Некоторое время назад промелькнула на Хабре вот эта статья о запуске игры. В ней автор делится своим опытом создания первой игры и публикации ее через издателя. На тот момент моя игра уже была выпущена и находилась в GooglePlay около месяца. Правда, я выбрал самостоятельный вариант публикации без какой-либо помощи издателей. А поскольку опыта в этой области у меня не было совсем никакого, то я сделал целый ряд ошибок, которые, по-моему, снизили и так небольшие результаты. Вот об этих ошибках, а также о детальной статистике на текущий момент, я и хотел бы рассказать…
Поучиться на чужих ошибках
Всего голосов 71: ↑62 и ↓9+53
Комментарии30

Зарплаты в ИТ во втором полугодии 2019 года: по данным калькулятора Хабр Карьеры

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

Наш отчёт по зарплатам в ИТ за второе полугодие 2019 года построен на данных из калькулятора зарплат Хабр Карьеры, в котором за этот период было собрано более 7000 зарплат.

В отчёте мы посмотрим на текущие зарплаты по основным ИТ-специализациям, а также на их динамику за прошедшее полугодие как в целом по стране, так и отдельно по Москве, Санкт-Петербургу и остальным городам. Как обычно, детальнее изучим специализации разработчиков ПО: посмотрим на их зарплаты в разрезе языков программирования, городов и компаний.
Данные, представленные в этом отчёте, а также любые другие, каждый желающий может получить самостоятельно с помощью калькулятора зарплат Хабр Карьеры. Если вам нравится информация, которую мы получаем с помощью калькулятора, и если вы хотите внести свой вклад в формирование более прозрачного рынка труда в ИТ, приглашаем поделиться своей текущей зарплатой, данные о которой мы используем в нашем следующем годовом отчёте.

Сервис зарплат запущен на Хабр Карьере в конце 2017 с целью регулярного мониторинга зарплат в ИТ-индустрии. Зарплаты оставляют сами специалисты, мы их собираем и предоставляем всем в открытый доступ в агрегированной и анонимной форме.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+96
Комментарии234

Аугментация (augmentation, “раздутие”) данных для обучения нейронной сети на примере печатных символов

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

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

Если вам интересно узнать про все это — добро пожаловать под кат.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии11

Batch Normalization для ускорения обучения нейронных сетей

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

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


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


В какой-то момент, знакомясь с представленным в 2015 году методом Batch Normalization от компании Google мне, для решения задачи связанной с распознаванием лиц, удалось существенно улучшить скорость работы нейросети.



За подробностями прошу под кат.

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

Keras Functional API в TensorFlow

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


В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ациклического графа, что дает намного больше возможностей для построения сложных моделей. В материале перевод руководства, посвященного особенностям Functional API, с сайта TensorFlow.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+21
Комментарии0

Вентиляция с рекуперацией в квартире. Без воздуховодов и СМС

Время на прочтение7 мин
Количество просмотров114K
Написать этот пост меня подтолкнула недавняя статья о приточной вентиляции в квартире. Я было хотел оставить развёрнутый комментарий, но понял что правильнее будет написать статью, т.к. мой опыт использования комнатных рекуператоров в качестве основной системы вентиляции может быть интересен многим.


Это КДПВ блок рекуперации/регенерации. Надеюсь, ни у кого нет трипофобии?

Итак, всё началось с духоты. Точнее, с утепления квартиры слоем экструзионного пенополистирола по всему периметру (панельная 9-этажка родом из 80-х, с кучей сквозящих углов). В результате чего, квартира стала условно герметичной и вопрос свежего воздуха встал в полный рост.
Читать дальше →
Всего голосов 114: ↑113 и ↓1+155
Комментарии250

5 ошибок в реализации push-уведомлений для мобильных приложений

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



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


* * *

При грамотном исполнении push-уведомления для мобильных устройств могут обеспечить пользователя полезной информацией и побудить далее взаимодействовать с приложением. А вот плохая реализация уведомлений может оттолкнуть и даже заставить удалить приложение.

В 2016 году, согласно исследованию Telefonica Research в Испании, пользователи мобильных телефонов получали в среднем 56 уведомлений в день. Сегодня это число, скорее всего, выросло. Поэтому к их разработке следует подходить с большим вниманием, иначе такой поток уведомлений может несомненно навредить пользовательскому опыту.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии14

Индексируем миллиарды текстовых векторов

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

При извлечении информации часто возникает задача поиска подобных фрагментов текста. В контексте поиска запрос может быть сгенерирован пользователем (например, текст, который пользователь вводит в поисковом движке) или самой системой. Часто нам нужно сопоставлять входящий запрос с уже проиндексированными запросами. В этой статье мы рассмотрим, как можно построить систему, решающую эту задачу применительно к миллиардам запросов без траты целого состояния на серверную инфраструктуру.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии2

Unity, ECS, Actors: как поднять FPS в своей игре в десять раз, когда оптимизировать уже нечего [с правками]

Время на прочтение7 мин
Количество просмотров9.5K
Что такое ECS
Что такое Actors

Не раз слышал, как хорош шаблон ECS, и что Jobs и Burst из библиотеки Unity — решение всех проблем с быстродействием. Чтобы не добавлять каждый раз слово «наверное» и «может», рассуждая о быстродействии кода, решил проверить всё лично.

Моей целью было непредвзято разобраться, насколько это быстрый инструмент разработки, и стоит ли использовать распараллеливание для вычислений. И если стоит, то лучше использовать Unity.Jobs или System.Threading? Заодно выяснил, какова польза от ECS в реальных задачах.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+11
Комментарии12

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

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

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Всего голосов 88: ↑82 и ↓6+76
Комментарии79

Нарастающий итог в SQL

Время на прочтение10 мин
Количество просмотров143K
Нарастающий (накопительный) итог долго считался одним из вызовов SQL. Что удивительно, даже после появления оконных функций он продолжает быть пугалом (во всяком случае, для новичков). Сегодня мы рассмотрим механику 10 самых интересных решений этой задачи – от оконных функций до весьма специфических хаков.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии49

Деревья квадрантов и распознавание коллизий

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

Эта неделя была короткой, в понедельник и вторник я продолжал работать над системой 2D-освещения. Остальное время я потратил на реализацию деревьев квадрантов (quadtree).

В этой статье я поделюсь своей реализацией и мыслями, возникшими в процессе её проектирования.

Во-первых, мне нужно сказать, почему я решил реализовать дерево квадрантов.

Quadtree — это структура данных разбиения пространства. Её основное преимущество по сравнению с другими структурами данных заключается в адаптивности. Оно обеспечивает хорошую производительность при вставке, удалении и поиске. То есть мы можем использовать это дерево в динамическом контексте, где данные часто меняются. Более того, эту структуру довольно легко понять и реализовать.

Если разбиение пространства для вас новая тема, то рекомендую прочитать эту статью Роберта Нистрома. Если вы хотите более подробно узнать о деревьях квадрантов, то прочитайте эту или эту статьи.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии7

Резюме глазами интервьюера

Время на прочтение9 мин
Количество просмотров53K
Когда я составляла свое первое резюме, процесс отбора на очное интервью мне казался магией. Люди, принимающие решения, представлялись «черными ящиками», которые определяют: кандидат «интересен» или «неинтересен» — по непонятным критериям.

Статьи «Как составить резюме» отчасти были полезны, а отчасти путали и нагоняли страх: их авторы утверждали, что мое письмо может попасть в корзину, если не выдержана структура или ответственный сотрудник не увидел в нем ключевых слов за первые 5 секунд чтения.

Прошли годы, сейчас я сама участвую в найме фронтенд-разработчиков и просматриваю резюме вместе с другими тимлидами.

В этой статье я хочу рассказать:

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

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

Не воспринимайте написанное как универсальный рецепт или требования. Скорее это дружеские советы и взгляд со стороны. У вас вообще может не быть резюме, если вы топовый разработчик, звезда конференций, у вас крутой профиль на GitHub, вас рекомендует друг и так далее. Эта статья — для начинающих специалистов и тех, кто впервые сталкивается с поиском работы.

image
Читать дальше →
Всего голосов 91: ↑85 и ↓6+79
Комментарии106

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность