Pull to refresh
33
0
Stan Fateev @svfat

Software Engineer

Send message

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

Reading time 7 min
Views 9.7K

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

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

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 18

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

Reading time 6 min
Views 3.1K

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

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

Узнать про SSL
Total votes 5: ↑4 and ↓1 +3
Comments 0

Self-Supervised Learning. Contrastive learning

Reading time 5 min
Views 6.1K

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

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

Узеать про SSL
Total votes 6: ↑6 and ↓0 +6
Comments 0

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

Reading time 8 min
Views 3.6K

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

Узнать про SSL
Total votes 6: ↑6 and ↓0 +6
Comments 0

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

Reading time 5 min
Views 2.7K

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

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

Узнать про SSL
Total votes 7: ↑7 and ↓0 +7
Comments 0

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

Reading time 5 min
Views 7.4K

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

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

Узнать про SSL
Total votes 18: ↑16 and ↓2 +14
Comments 2

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

Reading time 4 min
Views 3.5K

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

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

Узнать, наконец, чем хорош SSL
Total votes 15: ↑14 and ↓1 +13
Comments 2

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

Reading time 2 min
Views 15K
Релиз Laravel 8 принес с собой новый каркас, позволяющий быстро развернуть систему аутентификации пользователей, которая включает в себя логин, регистрацию, подтверждение по электронной почте, двухфакторную аутентификацию, управление сессиями и командами. Также Jetstream имеет встроенную интеграцию с Laravel Sanctum для аутентификации через API на основе токенов.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 4

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

Reading time 11 min
Views 30K

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

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

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

Читать далее
Total votes 51: ↑50 and ↓1 +49
Comments 12

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

Reading time 3 min
Views 3.5K

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



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


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


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

Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 14

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

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

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

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

Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Comments 14

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

Reading time 18 min
Views 62K
image

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

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

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

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


Читать дальше →
Total votes 31: ↑23 and ↓8 +15
Comments 15

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

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

image

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

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

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

image

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

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

Читать дальше →
Total votes 85: ↑60 and ↓25 +35
Comments 52

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

Reading time 6 min
Views 570K
Это первая статья в серии, где я буду документировать мой опыт написания веб-приложения на 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 самой гибкой.
Я хочу начать это долгое и удивительное путешествие
Total votes 63: ↑60 and ↓3 +57
Comments 31

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

Reading time 6 min
Views 185K
Это вторая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

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



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


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

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


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

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

Reading time 10 min
Views 48K


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

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

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

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

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


Читать дальше →
Total votes 40: ↑31 and ↓9 +22
Comments 24

Information

Rating
Does not participate
Date of birth
Registered
Activity