Как стать автором
Обновить
0
@veyslread⁠-⁠only

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

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

Самопаркующийся авто за 500 строк кода

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



TLDR


В этой статье мы научим авто самостоятельно парковаться с помощью генетического алгоритма.


Мы создадим первое поколение авто с произвольными геномами, которое будет вести себя примерно так:





Примерно на сороковом поколении авто начнут понимать, что такое авто-парковка, и начнут приближаться к парковочному месту:




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

Как юзеры отказываются от мобильных приложений и причем тут Т-банк

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

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

Читать далее
Всего голосов 30: ↑13 и ↓17+2
Комментарии217

Наука против возраста: как перепрограммировать организм

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

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

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

Читать далее
Всего голосов 13: ↑10 и ↓3+12
Комментарии9

Топ-5 инструментов c AI для начинающих (или не очень) разработчиков

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

Однозначного ответа на вопрос «заменит ли ИИ человека» нет до сих пор. Ясно лишь одно — человек, умеющий правильно использовать искусственный интеллект, рано или поздно сместит того, кто ИИ пользоваться не умеет.

Мы собрали подборку из 5 AI-инструментов, которые могут быть полезны при разработке. Приятного чтения!

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

Что нужно знать, чтобы успешно пройти System Design Interview

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

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее
Всего голосов 49: ↑47 и ↓2+56
Комментарии26

На практике пробуем KAN – принципиально новую архитектуру нейросетей

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

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

Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.

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

Принципы и приёмы обработки очередей

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


Принципы и приёмы обработки очередей


Константин Осипов (Mail.ru)


Как вы считаете, какова стоимость очередей с приоритетами? То есть если кто-то лезет вне очереди, то как посчитать стоимость для всей системы в этой ситуации, чему она пропорциональна? Времени обслуживания клиента — например, 5 минут стоит его обслужить? Она пропорциональна количеству ожидающих, потому что время ожидания для каждого из них увеличится.


Для начала о себе — я занимаюсь разработкой СУБД Tarantool в Mail.ru. Этот доклад будет об обработке очередей. У нас много очередей внутри системы, фактически вся база данных построена как система массового обслуживания.


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




Всего голосов 48: ↑45 и ↓3+42
Комментарии2

Python на максималках: расширения на языках Rust и Cython

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

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

В этой статье мы попробуем решить несколько простых задач, используя чистый Python и два языка расширения: Rust и Cython. Чтобы сравнить два этих подхода, мы оценим трудоемкость каждого из них, а также рассмотрим случаи, в которых следует попробовать что-то другое. Начнем с установки и с простых приложений, а затем перейдем к более сложным экспериментам.

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

Тестируемая архитектура. Часть 2: абстрактность и наблюдаемое поведение

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

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

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

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

Clean Architecture глазами Python-разработчика

Время на прочтение10 мин
Количество просмотров31K
Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов из других ЯП не всегда является хорошим решением.


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

Пишем FastAPI с нуля на python

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

FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API-интерфейсов с Python 3.7+ на основе стандартных подсказок типов Python.

В этой статье мы рассмотрим как написать его с нуля.

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

Xv6: учебная Unix-подобная ОС. Глава 1. Интерфейсы операционной системы

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

Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механизмов Unix дают удивительную свободу действий. Современные операционные системы признали успех Unix и реализуют похожие интерфейсы - BSD, Linux, macOS, Solaris, и даже Microsoft Windows. Изучение xv6 поможет понять работу и других операционных систем.

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

Автоматизируем сборку и деплой приложения в GitLab CI/CD: подробное руководство с примерами

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

При разработке приложений рано или поздно наступает момент, когда заниматься развёртыванием вручную становится затратно и неудобно. Как следствие на помощь приходит автоматизация этого процесса с помощью специально настроенных пайплайнов непрерывной интеграции и непрерывной доставки (Continuous Integration & Continuous Delivery — CI/CD). Для разных систем управления репозиториями исходного кода существуют свои способы настройки CI/CD.

В этой статье мы рассмотрим, как использовать GitLab для организации автоматической сборки и деплоя приложения в кластер Kubernetes. Сам кластер работает под управлением Deckhouse Kubernetes Platform, а автоматизировать процесс будем с помощью werf — Open Source CLI-утилиты, организующей полный цикл доставки приложения в Kubernetes и использующей Git как единый источник истины для состояния приложения, развёрнутого в кластере.

Читать далее
Всего голосов 30: ↑29 и ↓1+34
Комментарии17

Почему ваши витамины и лекарства не работают на 100%? Машинное обучение нашло ответ

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

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

Почему, например, не рекомендуется одновременно принимать железо и цинк? Они же оба положительно влияют на формирование иммунитета. А ведь это распространяется и на многие лекарственные препараты!

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

К сожалению, для многих препаратов эти белки неизвестны.

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

Приятного чтения! :)

Читать далее
Всего голосов 31: ↑30 и ↓1+35
Комментарии12

Большой тест GPT4, GPT3.5, YandexGPT, GigaChat, Saiga в RAG-задаче. Часть 2/2

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

В первой части статьи я рассказывал о создании цифрового юриста, способного отвечать на вопросы на основе 200-страничного регламента. Цель — работа такого юриста в закрытом контуре организации, без использования облачных технологий.

Особенностью эксперимента является в том, что оценку ответов делают обычные люди. Юристы.

Во второй части мы рассмотрим как и зачем делать локальные токензайзеры и попробуем запустить всё полностью на локальной машине с видеокартой 4090.

В конце будет приведена полная сравнительная таблица разных моделей и токензайзеров.

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

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг)

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

Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).
В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет индустрию. Какие задачи стало проще решать. Какие продукты появились в последнее время и появятся в будущем.
И можно ли уже выгнать на мороз лишних "ресерчеров"?!

Читать далее
Всего голосов 51: ↑50 и ↓1+65
Комментарии9

Мои советы после 20 лет в программировании

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

Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:

Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.
Стал Google Developer Expert.
Стал IEEE Senior Member.
Был операционным директором в компании со 100 сотрудниками.
Написал код, который скачали 135 миллионов раз.
Выступал перед аудиторией в 2000 человек, дважды.
Стал самым честным человеком в России по версии НТВ.

Но упустил я гораздо больше и делал всё это слишком долго. Думаю, этот путь можно было бы пройти «на скорость» лет за 5 с теми подходами, принципами и приоритетами, которым я научился. Если вы только начинаете свой путь, этот текст может сэкономить вам 15 лет жизни.

Читать далее
Всего голосов 253: ↑143 и ↓110+70
Комментарии277

Вопросы по SQL, которые часто задают на собеседовании. Часть 1

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

SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков.

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

Практическое руководство по Rust. 1/4

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



Hello world!


Представляю вашему вниманию первую часть практического руководства по Rust.



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


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

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

10 фактов, которые разработчики ПО должны знать про обучение

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

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

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

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность