Pull to refresh
32
0.1
Авдосев Никита @avdosev

ML-разработчик

Send message

Умный дом на Wiren Board и Node-RED: ещё три полезных сценария без программирования

Reading time6 min
Views8.8K

Привет, хабровчане! С вами снова Дмитрий, и не будучи программистом я пробую настроить автоматизацию дома через визуальную среду Node-RED. В первой статье я настроил сценарии мастер-выключателя, включения вытяжки при превышении концентрации CO₂, и собрал приборную панель (dashboard) на основе Wiren Board 7 и Node-RED.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments10

Как создать переводчик, который переводит лучше, чем Google Translate

Reading time8 min
Views30K

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

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

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments48

Financial News Sentiment Dataset: определяем точку входа в акции по настроению новостей

Reading time5 min
Views6.6K

Набор данных Financial News Sentiment Dataset (FiNeS) содержит в себе заголовки финансовых новостей о компаниях, торгующихся на Московской и СПб биржах. Целевой переменной датасета является оценка тональности новостных заголовков в виде вещественного числа. Идеи для использования датасета: Создание трейдинговых стратегий на основе анализа тональности новостей "на лету"; Анализ новостного фона в разрезе времени (день/неделя) или в разрезе компании.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments14

Что такое MISRA и как её готовить

Reading time12 min
Views24K

Рисунок 1


Пожалуй, каждый разработчик программ для микроконтроллеров наверняка хотя бы раз слышал про специальные стандарты кодирования, призванные помочь повысить безопасность и переносимость вашего кода. Одним из таких стандартов является MISRA. В этой статье мы рассмотрим подробнее, что же представляет собой этот стандарт, какова его философия и как использовать его в ваших проектах.
Читать дальше →
Total votes 16: ↑14 and ↓2+19
Comments55

4,2 гигабайта, или как нарисовать что угодно

Reading time9 min
Views43K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

Однажды, когда я наблюдал за ярким закатом в Сиэтле, внезапно включилось моё воображение. Потусторонний оттенок неба пробудил воспоминания о чём-то из научной фантастики. Дымчатый оранжево-сиреневый завораживал.

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

Поскольку очевидно, что я талантливый художник, имеющий за плечами буквально десятки минут опыта, мне захотелось поделиться тем, как я создал данный шедевр.
Читать дальше →
Total votes 160: ↑160 and ↓0+160
Comments92

Когда хуже отсутствия коммьюнити — только его наличие

Reading time4 min
Views20K

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

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

Классическое коммьюнити как правило не интересно карьеристам, менеджерам, пиарщикам, фрилансерам с горящими сроками, школьникам с горящими сраками, лицам неопределенного пола ищущих себе проты^Wмужа-программиста. За счет этого оно интересно обычным программистам, чем и ценно для других программистов.

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

Читать далее
Total votes 119: ↑78 and ↓41+59
Comments46

Нормальные алгоритмы Маркова как основание языка программирования

Reading time12 min
Views25K

В этой статье хотелось бы поделиться мыслями о применении Нормальных Алгоритмов Маркова (далее по тексту: НАМ) в качестве основания для языка программирования.

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments28

Руководство по CMake для разработчиков C++ библиотек

Reading time18 min
Views94K

Данное руководство позволит читателю составить полную картину того, как организовать сборку C++ библиотек с использованием современных возможностей CMake. Предполагается, что читатель имеет представление о базовых понятиях из мира CMake и динамических/статических C++ библиотек, так как в руководстве они могут не объясняться.

Читать далее
Total votes 71: ↑71 and ↓0+71
Comments49

Почему некоторым так сложно учиться программированию?

Reading time15 min
Views110K

На эту тему на Хабре была не так давно статья, и там высказывалась мысль, что программирование-де сложная область знаний в принципе и требует некой особой склонности и серьезного бэкграунда.

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

Читать далее
Total votes 251: ↑225 and ↓26+238
Comments720

It is Wednesday, my java dudes, или насколько сложно сделать свою JVM

Reading time11 min
Views11K

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

Конечно же вырабатывать дофамин через решение упоротых инженерных задач!

Мне стало интересно - насколько тяжко было бы сделать свой интерпретатор байт-кода Java? И насколько сложно было бы научить его “новым трюкам”?

Писать я буду на Rust, поэтому и проект, не мудрствуя лукаво, назвал Rjava.

Читать далее
Total votes 55: ↑54 and ↓1+65
Comments26

Работа над рукописью и взаимодействие с книжными издательствами: немного советов и мыслей после релиза

Reading time10 min
Views9.3K

Завершился мой 14-месячный проект – от начала переговоров с издательством и до выхода бумажной версии книги. Во всей этой истории есть несколько моментов, которыми хотел поделиться и про которые еще не говорили другие авторы, кому посчастливилось дойти до релиза. В основном они касаются общения с издательством и общего подхода к написанию больших объемов текста.

Начну с финансового вопроса – сколько сможет заработать автор.

Читать далее
Total votes 47: ↑42 and ↓5+59
Comments80

Анимация интерактивной карусели во Flutter

Reading time4 min
Views3.1K

Я — Тим, разработчик в Гудитворкс. Когда мы делали приложение-гид по ресторанам, мне нужно было анимировать карусель карточек. На упрощенном примере я покажу, как во Flutter сделать такую интерактивную карусель. В конце рассказа — ссылка на репозиторий с полным кодом примера.

За иллюстрацию к статье спасибо DALL·E

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments6

Flutter jank shaders — история проблемы и пути решения

Reading time6 min
Views3.5K

Меня зовут Андрей, я Flutter-разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня поговорим о «jank shaders» — дёргающейся анимации при первых запусках приложений на Flutter — и о том, как можно постараться её исправить.

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

На скриншоте ниже приведен пример задержки анимации перехода между экранами при первом запуске.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments2

Humane API REST Protocol

Reading time22 min
Views6.4K

Здравствуйте, меня зовут Дмитрий Карловский и я… как скульптор, отрезаю всё лишнее, чтобы оставить лишь самую мякотку, которая в наиболее лаконичной и практичной форме решает широкий круг задач. Вот лишь несколько спроектированных мною вещей:


  • MarkedText — стройный легковесный язык разметки текста (убийца MarkDown).
  • Tree — структурированный формат представления данных (убийца JSON и XML).

На этот же раз мы спроектируем удобный клиент-серверный API, призванный убрать кровавую пелену с глаз фронтендеров и стальные мозоли с пальцев бэкендеров..


HARP OData GraphQL
Architecture ✅REST ✅REST ❌RPC
Common uri query string compatible ⭕Back ✅Full
Single line query
Pseudo-static compatible ⭕Back ⭕Partial
Same model of request and response
File name compatible
Web Tools Friendly
Data filtering ⭕Unspec
Data sorting ⭕Unspec
Data slicing ⭕Unspec
Data aggregation ⭕Unspec
Deep fetch
Limited logic
Metadata query
Idempotent requests ✅Full ⭕Partial ❌Undef
Normalized response
Читать дальше →
Total votes 20: ↑9 and ↓11-1
Comments25

Доктор Майкл Бьюрри — человек предсказавший финансовый крах 2008 года. Как он это сделал и где он сейчас?

Reading time5 min
Views37K

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

Читать далее
Total votes 25: ↑20 and ↓5+22
Comments70

Ужасы японского языка. Лексика

Reading time14 min
Views24K

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

Но что по поводу других аспектов языка? Сравнимы ли по сложности с письменностью лексика и грамматика? Другими словами: насколько сложно запоминать новые слова (лексика) и как сложно затем строить из этих слов предложения (грамматика)?

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

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

Читать далее
Total votes 55: ↑54 and ↓1+71
Comments53

Возможен ли быстрый Garbage collector на С++?

Reading time20 min
Views10K

Не буду долго рассусоливать о том, что такое сборщик мусора и для чего он нужен (на эту тему уже есть достаточно статей). Но хочу отметить несколько важных деталей.

Читать далее
Total votes 15: ↑12 and ↓3+14
Comments74

Как написать свою кроссплатформенную библиотеку для хуков и не отстрелить себе ноги

Reading time15 min
Views5.3K

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

Конечно же написать свою!

В этой статье я расскажу что лежит внутри библиотек для перехвата x86 кода и почему оно так работает. А также - как искал баги неделями, и что из этого вообще получилось.

Читать далее
Total votes 16: ↑15 and ↓1+18
Comments10

Не трогайте разработчиков. Отстаньте. Просто не беспокойте

Reading time13 min
Views76K


Всем привет! Меня зовут Ян, я руководитель разработки Департамента ИТ инвестиционного бизнеса Газпромбанка. Совершенно неожиданно я занял первое место на конференции Highload++ с докладом про то, как организована работа в наших командах разработки.

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

В результате из простой задачи «не трогайте разработчиков» получилось сделать и очень правильное обучение (если вы дежурите, то у вас нет шансов не разбираться во всех процессах команды), и снижение техдолга (дежурный не берёт таски по фичам на спринты, но может заниматься документацией и всякими вещами в наведении порядка, до чего обычно не доходят руки), и много чего ещё. Сначала казалось, что за это мы платим снижением эффективности команды на 8–10 % (ведь мы выключаем дежурного из разработки), но на деле оказалось, что эффективность даже растёт. Есть ряд вещей, которые очень поменялись и в управлении такими командами в лучшую сторону.

Естественно, такой подход имеет кучу подводных камней и подходит далеко не всем и не каждому типу команд.

Сейчас расскажу про практический опыт.
Читать дальше →
Total votes 157: ↑139 and ↓18+154
Comments79

Не так страшен Rust, как его излагают

Reading time5 min
Views27K

Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф? 

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

Так ли это?
Total votes 41: ↑32 and ↓9+33
Comments123

Information

Rating
4,228-th
Location
Волгоград, Волгоградская обл., Россия
Registered
Activity