Как стать автором
Обновить
1
0
Владимир @thethee

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

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

Как выигрывать Kaggle соревнования: LLM-анализ выигрышных решений

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

Примерно год назад энтузиаст с Kaggle по имени Дарек Клечек провел интересный эксперимент: он собрал все доступные описания (writeups) побеждавших на Kaggle за последние годы решений, пропустил их через LLM и свел по ним общую статистику о том, какие механики и алгоритмы оказываются "наиболее победными". Отчет у парня получился достаточно объемный, интересный, а местами и непредсказуемый. Эта статья – свободный авторский пересказ его эссе. И пусть прологом к ней послужит цитата Дарека:

Читать далее
Всего голосов 7: ↑6 и ↓1+7
Комментарии3

Некоторые малоизвестные фичи, фокусы и причуды языка C

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

В этом посте разобраны некоторые фокусы, причуды и фичи языка C (некоторые из них – весьма фундаментальные!), которые, казалось бы, могут сбить с толку даже опытного разработчика. Поэтому я потрудился сделать за вас грязную работу и (в произвольном порядке) собрал некоторые из них в этом посте. Примеры сопровождаются ещё более вольными краткими пояснениями и/или листингами (некоторые из них цитируются).

Конечно же, здесь я не берусь перечислять абсолютно всё, так как факты из разряда «функция nan() не может устанавливать errno, поскольку в определённых ситуациях поведёт себя как strtod()» не слишком интересны.

ВНИМАНИЕ: сам факт попадания тех или иных вещей в эту подборку  не означает автоматически, что я рекомендую или, наоборот, не рекомендую ими пользоваться! Некоторые из приведённых примеров никогда не должны просачиваться за пределы списков наподобие этого, тогда как другие примеры невероятно полезны! Уверен, что могу положиться на ваш здравый смысл, дорогие читатели.

Читать далее
Всего голосов 76: ↑75 и ↓1+94
Комментарии45

Как построить поезд в Minecraft с помощью Python – урок для детей

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.5K

Предлагаем разобраться, как строить объекты во вселенной «Майнкрафт» на примере создания поезда и его программирования на «Питоне». Туториал предназначен для детей от 9–10 лет.

Minecraft — игра, популярная среди детей и подростков. Они проводят время в виртуальной вселенной, общаются, а при определенных условиях получают возможность создавать постройки. И хотя изначально игра была написана на языке Java, а после переписана с применением C++, именно «Питон» отлично подходит для начинающих и опытных мододелов. Его синтаксис только кажется сложным: с программированием на Python успешно справляются даже младшие школьники и подростки от 9 до 13 лет и старше.

Читать далее
Всего голосов 19: ↑12 и ↓7+11
Комментарии18

Строим ETL-конвейер для машинного обучения с помощью Kafka, Clickhouse и Go

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

В этой статье я поделюсь с вами своим опытом использования Golang, Kafka и Clickhouse на примере простого ETL-конвейера для параллельной передачи JSON-данных в базу данных с последующим прогнозированием температуры на основе машинного обучения.

Читать далее
Всего голосов 8: ↑7 и ↓1+9
Комментарии3

VLM в Нейро: как мы создавали мультимодальную нейросеть для поиска по картинкам

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

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

Меня зовут Роман Исаченко, я работаю в команде компьютерного зрения Яндекса. В этой статье я расскажу, что такое визуально‑текстовые мультимодальные модели (Visual Language Models или VLM), как у нас в Яндексе организован процесс их обучения и какая у них архитектура. Вы узнаете, как Нейро работал с картинками и текстами раньше, и что изменилось с появлением VLM.

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

Сколько получают тестировщики в 2024 году на самом деле

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров42K

Нет, это не очередной обзор зарплат по вакансиям.

Наоборот, по результатам прямого опроса QA-специалистов поговорим про шесть причин того, почему аналитика по вакансиям не очень релевантна настоящей ситуации с зарплатами на рынке (которые на самом деле выше).

Читать далее
Всего голосов 12: ↑7 и ↓5+5
Комментарии29

Чистый код: инверсия зависимостей (DIP)

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.9K

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

Вот такое сложное определение. Где, «Проще говоря», только больше запутывает чем поясняет, хотя все передает верно. Этот принцип пожалуй самый сложный для объяснений, хотя его суть очевидна.

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

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

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

Читать далее
Всего голосов 13: ↑6 и ↓7+3
Комментарии5

Калибровка Life Work Balance: практические инструменты ежедневного планирования

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров20K

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

Расскажу, как работать с планированием на ежедневной основе — по сути, на какие кнопки я нажимаю (поговорим про софт), как провожу утро (та самая практика — книга «Магия утра», но в моей собственной интерпретации) и как я лично использую известные фреймворки:

Getting Things Done, как основа процесса;

Матрица Эйзенхауэра, как способ приоритизации;

Метод «Съесть лягушку», как вспомогательный инструмент к Матрице Эйзенхауэра, потому что я всё‑таки ленивый и не всегда сам себе честно отвечаю, что действительно надо сделать в первую очередь.

Читать далее
Всего голосов 29: ↑27 и ↓2+31
Комментарии17

std::array в С++ не медленнее массива в С

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров11K

Или почему не нужно бояться того, что удобно работает. Узнаем, что по этому поводу пишет стандарт, потом заглянем в реализации std::array в libc++ и libstdc++, затем посмотрим на ассемблер некоторых операций с этими объектами. Завершим всё это дело, как и полагается, бенчмаркингом.

Проверить, так ли это
Всего голосов 39: ↑38 и ↓1+52
Комментарии46

Как понять свой уровень квалификации: junior, middle или senior

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

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

Читать далее
Всего голосов 24: ↑19 и ↓5+25
Комментарии48

Как я управляю временем, чтобы все успевать: адская смесь Time Blocking, Pomodoro и дофаминовых циклов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров46K

Привет! Я Женя, CPO в корпоративном мессенджере Compass. Было бы круто управлять временем, как в старенькой TimeShift, в которой я зависал в 2008 году, но нет. Зато можно поностальгировать, глядя на скриншоты.

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

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

Поэтому мне пришлось подтянуть теорию и найти свое удобное решение.

Читать далее
Всего голосов 46: ↑41 и ↓5+44
Комментарии46

Стриминговые фреймворки: Apache Flink

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.3K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+6
Комментарии1

Простейшая нейросеть: еще раз и подробнее

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

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее
Всего голосов 84: ↑83 и ↓1+95
Комментарии27

Простая нейронная сеть на C++

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K

Всем привет!

При помощи нейронной сети решил проблему классификации фигур на изображениях размера 7 на 7 пикселей. Задача решалась в рамках студенческой лабораторной работы. Статья приводится в качестве руководства для решения подобных академических задач.

Читать далее
Всего голосов 27: ↑23 и ↓4+27
Комментарии34

Системный аналитик с ЗП 400+. Найти за 30 дней. Часть 2 «Проверка на прочность»

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров25K

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

Кому предложат ЗП 200-, а кому 400+? Собеседование расставит всё на свои места.

Знакомство и остальные компоненты собеседования описаны в первой части. Сегодня говорим про харды. Итак, сразу к делу.

Читать далее
Всего голосов 25: ↑22 и ↓3+24
Комментарии20

Moshi: GPT4-O voice mode дома (обзор)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.5K

Прежде чем приступать к самому обзору, хотелось бы обозначить отличительные черты подхода, относительно большинства диалоговых систем:

Текущие системы работают в каскадной манере: сначала «активационное» слово, затем аудио переводится в текст (ASR), текст обрабатывается и анализируется, и, наконец, ответ генерируется через TTS. Однако это медленно, теряет эмоции и «живость» разговора, и, что самое важное, все взаимодействие происходит через жесткое чередование говорящих — сначала ты, потом я, и так далее.

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

Почему Scrum так изматывает

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров34K

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

Поэтому, естественно, в целях сохранения здоровья и повышения продуктивности мне хочется с этим давлением как-то разобраться. В итоге я немного поразмышлял, почему в последние пару десятилетий всё стало настолько печально (по крайней мере, для меня).
Читать дальше →
Всего голосов 110: ↑103 и ↓7+134
Комментарии75

Как не сжечь команду дотла, или Почему Work-life balance — задача руководителя

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров19K

Всем привет! Я Саша Ворожищев, руководитель мобильной разработки в AGIMA. В интернете сотни статей о том, как важно не выматывать себя на работе, но всё без толку. Согласно недавнему исследованию Хабр Карьеры, более 90% российских IT-специалистов сталкивались с выгоранием. При этом более 40% доводят себя до поздних стадий, когда эмоциональное истощение уже перерастает в депрессию.

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

Читать далее
Всего голосов 35: ↑31 и ↓4+32
Комментарии2

C++ с точки зрения Rust-разработчика: достоинства и недостатки

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

Я профессионально программирую на Rust и, признаться, немного этот язык продвигаю. Поэтому можете себе представить глубину моего расстройства, когда моя младшая сестрёнка, почти не умеющая программировать, обратилась ко мне и попросила научить её C++. Я попытался её отговорить, сказав, что однажды она будет сидеть за отладкой ошибок сегментирования, вооружившись Valgrind и вспоминать этот наш разговор, размышляя, а где же она свернула не туда. Но она оказалась ещё упрямее меня и настаивала: хочу выучить язык программирования, которым действительно пользуются люди.

Я не притрагивался к C++ с тех пор, как ещё в старших классах разрабатывал игры на Cocos2D-X, но решил, что сохранившихся у меня туманных воспоминаний о «правиле трёх» (или сколько там было? Пять? Ноль?) и прочих подобных материях будет более чем достаточно, чтобы решить такую задачу. Оказалось, что и мне требуется кое-что подучить, но я с удовольствием узнал, что существует большая аудитория, с которой можно поделиться этими знаниями. Почти любую концепцию из C++ легко понять, если объяснить её в ключе «о, эта как та штука из Rust».

Притом, что C++ местами несимпатичен, этот язык по-своему красив. Я и так это знал, но, когда взялся заново учиться C++, мне стало только яснее: если Rust в какой-то степени и превосходит C++ (допустим, вы верите, что это так), то лишь потому, что сам Rust стоял на плечах такого гиганта как C++.

Так что мы потратили пару недель, проштудировав серию руководств по OpenGL от ютубера под ником TheCherno (кстати, сама серия отличная). Две недели спустя нам удалось на экране единственный статичный голубой квадратик. Я уже стал опасаться, а не начнёт ли моя сестра сомневаться, стоило ли таким образом изучать разработку игр и пытаться изобразить что-нибудь на C++. Так что тогда я решил, что следует отбросить руководства господина Черно и взяться за разработку игры всерьёз.

Читать далее
Всего голосов 30: ↑24 и ↓6+30
Комментарии69

One more ПК для Machine Learning по цене RTX4090

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.9K

Сборка ПК для машинного обучения: выбор между производительностью и бюджетом

Как собрать мощный компьютер для машинного обучения и не разориться? В этой статье я рассказываю о своем опыте выбора комплектующих, включая сравнение RTX 3090 Ti и RTX 4090, баланс между производительностью и стоимостью.

Читать далее
Всего голосов 12: ↑8 и ↓4+9
Комментарии13
1
23 ...

Информация

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