Как стать автором
Обновить
0
0

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

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

Кратко про библиотеку Axum в Rust

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

Привет, Хабр!

Axum была создана командой Tokio, которая уже получила свой +rep за создание асинхронной платформы Tokio для Rust.

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

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

Читать далее
Всего голосов 11: ↑12 и ↓-1+13
Комментарии6

Jetpack Compose для ленивых

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

Статья о том, как можно использовать Jetpack Compose для решения нестандартных ситуаций.

Рассказывает и показывает наш Android-разработчик Илья Кубышкин.

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

Моделирование курса валют методом Монте-Карло

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

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

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

Ключевой аспект использования Монте-Карло в финансах — это его способность учитывать и анализировать волатильность и дрейф курсов валют. Для повышения точности моделирования и реалистичности получаемых данных часто применяется ГАРЧ модель (Generalized Autoregressive Conditional Heteroskedasticity). ГАРЧ помогает адекватно оценить и моделировать изменчивость волатильности, что является критичным при анализе финансовых временных рядов.

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

Проект использует следующие библиотеки и инструменты:

Читать далее
Всего голосов 11: ↑12 и ↓-1+13
Комментарии6

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 3: Специализированное машинное обучение

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

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

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

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

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

Алгоритм генерации столбцов (Column Generation)

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

Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.

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

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

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

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



Hello world!


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



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


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

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

Базовый набор для решения задач на LeetCode/Codeforces, ч.1

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

«Время — это единственная вещь, которую все хотят иметь, но которую нельзя купить или продлить» — Харви Маккей

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

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

PyCon Russia 2023. Зона Python. Краткий обзор докладов

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

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

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

Алгоритмы балансировки нагрузок

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

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

В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Читать дальше →
Всего голосов 107: ↑106 и ↓1+105
Комментарии16

Релизный поезд. Доклад Яндекса

Время на прочтение11 мин
Количество просмотров11K
Релизные процессы в разных командах Яндекса (да и в любых больших IT-компаниях) устроены похожим образом, но отличаются во многих деталях. У мобильных разработчиков своя специфика: на их релизы влияет порядок выкладки в App Store и Google Play. Android-разработчик Дмитрий Поляков DmPolyakov рассказал о процессах вокруг себя — как его команда отправляет по расписанию релизный поезд, как запускать внеплановые релизы, добавлять вагончики в уже уехавший релиз и что делать, чтобы не сойти с рельс.


— Всем привет, я Дмитрий Поляков, Android-разработчик мобильного приложения Беру.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии8

Как оценить ёмкость сервиса и не упасть под нагрузкой

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


Рано или поздно любому растущему сервису приходится оценивать свои технические возможности. Сколько посетителей мы в силах обслужить? Какова ёмкость (она же capacity) системы? Не добрались ли мы до предела и не упадём ли, если привлечём ещё несколько тысяч пользователей? Сколько дополнительных вычислительных ресурсов заложить в бюджет на следующий год, чтобы соответствовать планам роста?

Ответы можно получить аналитическим путём, адресовав вопросы опытному разработчику/DevOps/SRE/админу. Достоверность оценки зависит от огромного числа факторов: начиная с темпов наполнения системы функциональностью и графа взаимосвязей между компонентами и заканчивая временем, которое эксперт с утра провёл в пробке. Чем сложнее система — тем больше сомнений в адекватности аналитической оценки.

Меня зовут Максим Куприянов, вот уже пять лет я работаю в Яндекс.Маркете. Сегодня я расскажу читателям Хабра, как мы учились оценивать ёмкость наших сервисов и что из этого вышло.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии9

Свифт умирает или как получать валютные платежи в 2023 году

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

Привет! Меня зовут Саша и я обычный программист, который пишет код, документацию иногда пишет статьи или посты, но уж точно и не любит и не касается всех этих банковских дел. В этом я придерживаюсь принципа “Настроил один раз — работает и не трогай”, но в 2022 все пошло не по плану.

Читать далее
Всего голосов 25: ↑16 и ↓9+7
Комментарии41

Bigtech собесы дней минувших

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

В эпоху докризисной жизни, мне, как инженеру ориентировавшемуся на европейский и американский рынок, приходилось часто бывать на различных собеседованиях. Этот длиннотекст - краткое обобщение опыта общения с различными зарубежными компаниями в период 2021-2023 года в основном по профилю Software Engineer c редким вкраплением DevOps/SRE.

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

Чат в терминале на Rust

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

Всем привет! Эта статья — туториал по написанию небольшого чат сервиса (серверное и клиентское приложения) на Rust, используя функционал TCP сокетов из стандартной библиотеки Rust. Сам чат для пользователя будет выглядеть, как приложение в терминале. Полный код приложений есть в гитхабе.

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

Хотите проектировать устройство, которое использует миллиард человек — решайте микроархитектурные задачки

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

Длинный извилистый путь Школы Синтеза Цифровых Схем приближается к годовой кульминации. 21-23 пройдет хакатон по процессорам в зеленоградском МИЭТ, после чего 150 слушателей из дюжины российских городов оправятся готовится к майским праздникам, приближающимся сессиям и лету.

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

Для экзамена мы выбрали три темы в четырех упражнениях:

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии16

5 паттернов параллельного программирования в GO, которые сделают ваш следующий проект лучше

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

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

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

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

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

Язык программирования Rust был разработан компанией Mozilla и впервые представлен в 2010 году. Он считается одним из самых безопасных и производительных языков программирования на сегодняшний день. В данной статье мы рассмотрим основные преимущества Rust, и почему он становится все более популярным в системном программировании.

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

Простейший полнотекстовый поиск на Python с поддержкой морфологии

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

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

В первой версии MVP я частично решила эту проблему обычным поиском по подстроке (\b{term}, где \b – граница слова), что позволило найти вхождения отдельных слов без учета морфологии или с некоторыми внешними флексиями (например, -s, -ed, -ing). Фактически это поиск подстроки с джокером на конце. Но для многословных выражений и неправильных глаголов, составляющих весомую долю моего словаря, этот способ не работал.

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

Изобретение велосипеда на Python и pandas
Всего голосов 9: ↑8 и ↓1+7
Комментарии3

Как Discord хранит триллионы сообщений

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

В 2017 году мы написали пост о том, как храним миллиарды сообщений [перевод на Хабре]. В нём мы рассказали о том, как начали с использования MongoDB, но потом выполнили миграцию данных в Cassandra, потому что искали надёжную, устойчивую к сбоям базу данных, имеющую относительно низкую стоимость обслуживания. Мы знали, что будем расти, так и произошло!

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

Спустя почти шесть лет мы многое изменили; изменился и способ хранения сообщений.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии12

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала

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

В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а затем — систем VR, софта для Oculus Rift и других устройств. Сейчас началась четвёртая фаза в его карьере.

В интервью изданию Dallas Innovates 52-летний Кармак рассказал о новом проекте — системе сильного ИИ (AGI), над которым он работает самостоятельно, без участия больших корпораций, как отшельник в своём особняке в Далласе.

Сильный ИИ общего назначения не будет уступать среднему человеку в понимании происходящего и решении проблем. По оценке Кармака, с вероятностью 60% такая система (альфа-версия) будет создана до 2030 года, с вероятностью 95% — до 2050 года. Это самая важная и интересная задача, которая сейчас стоит перед человечеством.
Читать дальше →
Всего голосов 99: ↑96 и ↓3+93
Комментарии94

Информация

В рейтинге
Не участвует
Откуда
Berlin, Германия
Зарегистрирован
Активность