Как стать автором
Обновить
33
0
Stan Fateev @svfat

Software Engineer

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

Инструмент для автоматической оценки конкурса при поступлении в ВУЗы РФ

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

Каждый выпускник школы сталкивается с проблемой выбора профессии и, следовательно, ВУЗа. Этот этап жизни является наиболее сложным для школьника психологически: нужно подготовиться и сдать экзамены, от которых зависит, наберут ли они проходной балл в выбранное учебное заведение. Сам процесс поступления тоже является источником стресса: новая система подачи документов не гарантирует 100% зачисление даже с необходимыми баллами. До самого последнего момента абитуриент не знает, пройдёт он или нет на бюджет в выбранных ВУЗах и решение о подаче оригиналов документов приходится принимать на основании ограниченной информации и своих собственных предположениях о дальнейшем развитии ситуации. Получается, все выпускники последние 2 месяца лета не наслаждаются заслуженным отдыхом, а всей страной играют в покер со ставками на свое дальнейшее образование!

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии18

Self-Supervised Learning. Кластеризация как лосс

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

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

Напомню, что это пятая статья из цикла про SSL в Computer Vision.

Узнать про SSL
Всего голосов 4: ↑3 и ↓1+3
Комментарии0

Self-Supervised Learning. Contrastive learning

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

В предыдущих статьях мы разобрали много аспектов, связанных с SSL. Теперь пришло время посмотреть на методы, которые используют достаточно очевидное, на первый взгляд, знание - одна и та же картинка похожа, а разные картинки - разные. Это основная идея методов с contrastive подходом. Ниже мы разберём более подробно как эту идею можно использовать при конфигурации фреймворка обучения.

Напомню, что это четвертая статья из цикла про SSL в Computer Vision.

Узеать про SSL
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Self-Supervised Learning. Обучение на изображении и его аугментациях

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

Ранее мы разобрали, что за зверь такой SSL и какой линейкой его можно померять. Также окунулись в историческое прошлое SSL методов глубокой древности (4 года назад ?) и выяснили их проблемы. В дальнейшем мы уже не будем придерживаться хронологического таймлайна, но попробуем проследить за направлениями мысли научного сообщества. В этой статье мы подробнее рассмотрим методы, строящие задачу исключительно на сравнении изображения и его аугментированной версии.
Напомню, что это третья статья из цикла про SSL в Computer Vision.

Узнать про SSL
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Self-Supervised Learning. Метрики и первые pretext tasks

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

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

Напомню, что это вторая статья из цикла про SSL в Computer Vision.

Узнать про SSL
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Self-Supervised Learning. Проблематика и постановка задачи

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

В последнее 2-3 года в обучении нейросеток всё больше набирает обороты self-supervised подход. Это мощный инструмент, который позволяет использовать огромные массивы данных, при этом не требуя трудозатратной разметки. Так можно учиться на миллионах или даже миллиардах картинок. Благодаря такому подходу были получены большинство state-of-the-art результатов в последнее время на классических датасетах типа ImageNet.

Это первая статья в цикле, которая рассматривает основные преимущества Self-Supervised Learning (SSL) и общую постановку задачи. Цикл будет посвящён SSL для Computer Vision.

Узнать про SSL
Всего голосов 15: ↑13 и ↓2+14
Комментарии2

Self-Supervised Learning. Результаты и основные фреймворки

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

На протяжении последних 3-х статей мы рассматривали исключительно сами подходы к обучению SSL и не смотрели на качество. Давайте это исправим и сравним методы между собой и с supervised решением. Также глянем на то, какие есть фреймворки, чтобы поднять SSL на своих данных.

Напомню, что это шестая и последняя статья из цикла про SSL в Computer Vision.

Узнать, наконец, чем хорош SSL
Всего голосов 10: ↑9 и ↓1+13
Комментарии2

Laravel Jetstream — новый скаффолдинг для фреймворка

Время на прочтение2 мин
Количество просмотров16K
Релиз Laravel 8 принес с собой новый каркас, позволяющий быстро развернуть систему аутентификации пользователей, которая включает в себя логин, регистрацию, подтверждение по электронной почте, двухфакторную аутентификацию, управление сессиями и командами. Также Jetstream имеет встроенную интеграцию с Laravel Sanctum для аутентификации через API на основе токенов.
Читать дальше →
Всего голосов 3: ↑2 и ↓1+4
Комментарии4

Декораторы, о которых вам не расскажут

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

От переводчика: мне понравился подход к объяснению декораторов, описанный в этой статье, а так как других вариантов перевода я не нашёл, я решил поделиться этим с аудиторией Хабра. Надеюсь что этот текст будет полезен как новичкам, так и опытным программистам.

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

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

Читать далее
Всего голосов 42: ↑41 и ↓1+49
Комментарии12

В поиске вопросов, или как создать новый отладчик

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

Мы уделяем много внимания инструментам разработки: участвуем в горячих спорах о редакторах (Vim или Emacs?), долго настраиваем IDE под свой вкус, и тщательно выбираем языки программирования и библиотеки, которые с каждым днем становятся все лучше и удобнее. Однако, здесь можно выделить одну категорию, которая по какой-то причине остается незаслуженно забытой: отладчики не сильно изменились за последний десяток лет, хотя по-прежнему являются одним из базовых инструментов для отлова ошибок и навигации в коде.



Изображение: Timothy Dykes @timothycdykes, unsplash.com


Гораздо чаще мы предпочитаем быстро добавить пару printов вместо того, чтобы поставить в нужном месте точку останова и пройтись к ней отладчиком — и вопрос "почему?" не перестает меня занимать — ведь логи и printы дают ограниченную информацию и не позволяют интерактивно взаимодействовать с запущенным процессом (а отладчики могут работать даже и с "умершими" процессами!).


Одной из главных причин я вижу как раз отсутствие значительного прогресса в разработке отладчиков.

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

Отлаживаем правила RewriteRule, или немного об интимной жизни mod_rewrite

Время на прочтение13 мин
Количество просмотров93K
У меня RewriteEngine всегда был довольно стрессовой темой. Только вот недавно я вдруг обнаружил, что все как-то улеглось и стало более или менее понятно. Поскольку я совершенно обычный человек, я уверен, что ситуация ошибки конфигурации веб-сервера «доставала» не одного лишь меня, и я спешу поделиться своим опытом.

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

Предполагается, что читатель использует урл-рерайтинг в своей работе, знает, в общих чертах, что такое RewriteEngine и уже провел несколько часов за его настройкой. Эта статья не совсем для начинающих, но и не для супер-профи, конечно.

Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии14

Поиск работы в IT-сфере России XXI века

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

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

Я тоже, с моим высшим образованием в области микроэлектроники и разговорным английским, профессионально написанным резюме, несколько раз был в таких ситуациях, когда в течение многих месяцев не мог найти работу. У нас рынок трудоустройства устроен таким образом, что не все зависит от опыта и квалификации соискателя.
Первый, и самый важный этап устройства на работу – это прохождение собеседований на различные вакансии.
Читать дальше →
Всего голосов 104: ↑65 и ↓39+26
Комментарии128

Минималистичный issue tracker на Django

Время на прочтение11 мин
Количество просмотров19K
В этой статье рассказывается, как за короткое время решить с помощью фреймворка Django, простую, но интересную задачу: создание системы баг-трекинга (система тикетов) для своего проекта. Наша система будет интегрирована с системой аутентификации пользователей Django и административным интерфейсом. Несмотря на свою примитивность, такое приложение, при некотором усовершенствовании, вполне может быть полезно для разработчика-одиночки или небольшой группы.


Читать дальше →
Всего голосов 31: ↑23 и ↓8+15
Комментарии15

BDD-разработка на django

Время на прочтение6 мин
Количество просмотров17K
Программисты очень по разному относятся к тестированию, и многие не любят писать тесты. Процесс TDD же для новичков не особенно понятен — ведь приходится вместо функционала программы писать вначале тест, который его проверяет, то есть количество работы увеличивается. Однако со временем приходит осознание того, что автоматическое тестирование необходимо. К примеру, возьмем процесс разработки даже несложного проекта на django, пока в проекте пара вьюх и моделек все просто. Когда приложение обрастает функциями, внезапно обнаруживается, что совершать такое тестирование все сложнее — кликов больше, надо вносить какие-то данные и т.д., вот тут-то и на помощь приходит behavior-driven development (BDD).

image

Я хочу рассказать о BDD на примере создания примитивного приложения — рейтинга сайтов. Идея тривиальна — на странице отображается список сайтов, пользователь голосует за сайт, сайт поднимается в рейтинге и соответственно изменяет положение на странице.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии41

Несколько полезных шорткатов для Sublime Text ниндзи

Время на прочтение2 мин
Количество просмотров217K
Доброго времени суток, уважаемые хабравчане. Многие пользуются замечательным редактором Sublime Text, который стал популярен благодаря своей простоте, гибкости/кастомизации и огромному количеству плагинов. Хочу поделиться с вами, на мой взгляд, самыми полезными шорткатами при работе с Sublime.

image

Переход по фрагментам

Win/Linux: CTRL+R
Mac: CMD+R
Вероятно, самое полезное сочетание клавиш для экономии вашего времени. Содержимое документа разбивается на определенные фрагменты (функции, HTML теги или CSS стили). Переход происходит при выборе соответствующего фрагмента во всплывающем окне.

Читать дальше →
Всего голосов 85: ↑60 и ↓25+35
Комментарии52

Мега-Учебник Flask, Часть 1: «Привет, Мир!»

Время на прочтение6 мин
Количество просмотров579K
Это первая статья в серии, где я буду документировать мой опыт написания веб-приложения на Python, используя микрофреймворк Flask.

Здесь список всех статей в серии:
Часть 1: Привет, Мир!
Часть 2: Шаблоны
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
Часть 10: Полнотекстовый поиск
Часть 11: Поддержка e-mail
Часть 12: Реконструкция
Часть 13: Дата и время
Часть 14: I18n and L10n
Часть 15: Ajax
Часть 16: Отладка, тестирование и профилирование
Часть 17: Развертывание на Linux (даже на Raspberry Pi!)
Часть 18: Развертывание на Heroku Cloud

Моя предыстория


Я разработчик ПО с двузначным числом лет опыта разработки комплексных приложений на нескольких языках. Впервые я познакомился с Python для создания привязок к C++ библиотеке на работе. Вдобавок к Python, я писал веб-приложения на PHP, Ruby, Smalltalk и, верите вы или нет, еще на С++. Из всего этого, я нахожу комбинацию Python/Flask самой гибкой.
Я хочу начать это долгое и удивительное путешествие
Всего голосов 63: ↑60 и ↓3+57
Комментарии31

Мега-Учебник Flask, Часть 2: Шаблоны

Время на прочтение6 мин
Количество просмотров190K
Это вторая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.



Краткое повторение


Если вы следовали инструкциям в первой части, то у вас должно быть полностью работающее, но еще очень простое приложение с такой файловой структурой:

microblog\
  flask\
    <файлы виртуального окружения>
  app\
    static\
    templates\
    __init__.py
    views.py
  tmp\
  run.py


Для запуска приложения вы запускаете скрипт run.py, затем открываете url http://localhost:5000 в вашем браузере.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии6

Boid'ы, птички и Unity3D

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


Вторая часть: Оптимизируем Boid'ов на Unity

Задумывались ли вы когда-нибудь о то, почему птицы летая большими стаями никогда не сталкиваются и не коллапсируют в огромный галдящий перьевой ком? Хм, если подумать, это было бы круто. В любом случае, однажды в 1986 нашёлся человек по имени Крейг Рейнольдс, который решил создать простую модель поведения птиц в стаях и назвал её Boids. В модели у каждого боида есть три базовых правила: Separation, Alignment и Cohesion. Первое заключается в избегании столкновения с соседями, второе заставляет лететь примерно в ту же сторону что и соседи, а третье говорит не летать в одиночку и держаться группы. Эти простые правила позволяют создать правдоподобные стаи птиц, рыб и другой живности, чем и пользуются в кино и игровой индустрии.

В статье я расскажу как можно реализовать эту модель на практике. Для разработки я использую Unity и C#, но большинство вещей верны для других движков и языков. В этом туториале я не разжёвываю основы работы с Unity, подразумевается, что вы знаете эффект комбинации Ctrl+Shift+N на сцене, умеете работать с инспектором, дублировать и двигать объекты. Если нет, то советую начать с этой статьи. Или можете просто посмотреть на картинки.
Прошу-с проследовать под кат, только после вас!
Всего голосов 63: ↑59 и ↓4+55
Комментарии19

Простой блог с комментариями на Django: разработка и развертывание для самых маленьких

Время на прочтение7 мин
Количество просмотров163K
Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.


Читать дальше →
Всего голосов 40: ↑31 и ↓9+22
Комментарии24

Информация

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