Pull to refresh
0
@veyslread⁠-⁠only

User

Send message

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

Level of difficultyMedium
Reading time21 min
Views18K



TLDR


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


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





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




Читать дальше →
Total votes 63: ↑63 and ↓0+84
Comments27

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

Level of difficultyEasy
Reading time2 min
Views61K

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

Читать далее
Total votes 30: ↑13 and ↓17+2
Comments217

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

Level of difficultyEasy
Reading time8 min
Views4.6K

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

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

Читать далее
Total votes 13: ↑10 and ↓3+12
Comments9

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

Level of difficultyEasy
Reading time5 min
Views8.3K

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

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

Читать далее
Total votes 15: ↑9 and ↓6+3
Comments8

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

Reading time16 min
Views40K

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

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

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

Читать далее
Total votes 49: ↑47 and ↓2+56
Comments26

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

Level of difficultyMedium
Reading time5 min
Views33K

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

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

Читать далее
Total votes 56: ↑56 and ↓0+76
Comments15

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

Reading time16 min
Views38K


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


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


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


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


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




Total votes 48: ↑45 and ↓3+42
Comments2

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

Reading time12 min
Views8.6K

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

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

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments11

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

Reading time9 min
Views2K

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

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

Читать далее
Total votes 4: ↑3 and ↓1+3
Comments2

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

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


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

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

Reading time19 min
Views87K

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

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

Читать далее
Total votes 14: ↑12 and ↓2+11
Comments8

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

Level of difficultyMedium
Reading time14 min
Views13K

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

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

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

Level of difficultyEasy
Reading time22 min
Views27K

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

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

Читать далее
Total votes 30: ↑29 and ↓1+34
Comments17

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

Level of difficultyMedium
Reading time19 min
Views7.7K

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

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

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

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

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

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

Читать далее
Total votes 31: ↑30 and ↓1+35
Comments12

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

Level of difficultyMedium
Reading time5 min
Views26K

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

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

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

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

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

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

Level of difficultyMedium
Reading time8 min
Views17K

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

Читать далее
Total votes 51: ↑50 and ↓1+65
Comments9

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

Level of difficultyEasy
Reading time44 min
Views127K

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

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

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

Читать далее
Total votes 253: ↑143 and ↓110+70
Comments277

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

Reading time14 min
Views65K

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

Читать далее
Total votes 29: ↑25 and ↓4+22
Comments24

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

Level of difficultyMedium
Reading time21 min
Views22K



Hello world!


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



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


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

Читать дальше →
Total votes 24: ↑19 and ↓5+22
Comments12

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

Reading time26 min
Views8K

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

Читать далее
Total votes 25: ↑23 and ↓2+24
Comments3
1
23 ...

Information

Rating
Does not participate
Works in
Registered
Activity