Pull to refresh
21
0

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

Send message

Супербыстрая оптимизация крыла с помощью градиентных методов

Reading time14 min
Views3.1K

Даже небольшое преимущество продукта может принести существенную выгоду. Инженеры постоянно ищут новые способы оптимизации конструкций в существующих ограничениях, чтобы добиться лучших результатов. Так, Airbus в 2006 году анонсировал программу, которая позволила добиться прироста на ~4 процента в показателях эффективности для самолета A320. Отчасти благодаря этому с 2009 по 2016 года (до появления A320neo с новыми двигателями) компания нарастила продажи A320 на ~40% по сравнению с основным конкурентом. В мире будут доминировать те, кто смогут проводить оптимизацию быстрее и эффективнее. Так можно ли ускорить сам процесс оптимизации? В этой статье в блоге ЛАНИТ я бы хотел поделиться одним подходом к оптимизации конструкции, который позволит это сделать.

Читать далее
Total votes 48: ↑48 and ↓0+66
Comments12

Популярности языков программирования в алгоритмической торговле

Level of difficultyEasy
Reading time6 min
Views4.7K

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

Читать далее
Total votes 10: ↑3 and ↓7-4
Comments18

Go: жарим общие данные. Атомно, быстро и без мьютексов

Level of difficultyMedium
Reading time8 min
Views9.4K


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

Но в этой статье мы поговорим о другом. Современные процессоры имеют поддержку атомарных операций, что позволяет на основе них организовывать работу с общими данными до нескольких раз быстрее, чем с помощью общепринятых вариантов. Так как мьютексы реализованы на основе ОС, каналы сделаны на основе внутреннего кода Go с использованием тех же мьютексов из ОС под капотом, а атомарные операции делает сам процессор аппаратно за существенно меньшее количество тактов.
Пожарим омлет по атомному?
Total votes 41: ↑40 and ↓1+52
Comments29

Фильтр Блума

Level of difficultyMedium
Reading time9 min
Views11K



У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).

Читать дальше →
Total votes 44: ↑41 and ↓3+53
Comments16

Реализуем чистую архитектуру на Flutter с cubit

Reading time8 min
Views20K

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

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

Конфликтология в it

Level of difficultyMedium
Reading time66 min
Views3.6K

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

Читать далее
Total votes 10: ↑6 and ↓4+4
Comments4

Merlion Framework или как упростить работу с временными рядами

Reading time11 min
Views3.4K

Единственная причина для существования времени — чтобы все не  случилось одновременно.

Альберт Эйнштейн

Привет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и отличия от аналогов, разберём пару практических примеров, а также посмотрим, как всё считать и на какие метрики стоит обращать внимание.

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

Временной ряд – это набор данных, описывающих изменения какой-либо переменной во времени. 

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

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

Domain Driven Design в Go – это почти не больно

Reading time13 min
Views24K

Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.

Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go.

Читать далее
Total votes 21: ↑20 and ↓1+20
Comments10

Ищем аномалии: доход, отношения и 10х-программисты

Reading time21 min
Views11K

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

Результаты публикации этих 150 статей оказались очень и очень разными:

— Два поста оказались крайне успешными, добрались до главной страницы Hacker News (первый — о том, что произошло со всеми непрограммистами, второй — о читабельности, хакабельности и абстрагировании кода).

Дэн Луу, после того, как увидел второй из вышеупомянутых постов, подписался на мой блог и начал слать на Hacker News многие мои материалы. В результате ещё штук 5 статей стали довольно-таки популярными. Это привело к приходу в мой блог первой волны подписчиков, с которыми я не знаком лично. Плюс — это дало мне серьёзную мотивацию писать дальше. Я и Дэн, в итоге, стали хорошими друзьями.

— Примерно 95% оставшихся постов получились совершенно непримечательными.

Это — очень типичный разброс результатов публикаций, на который могут рассчитывать блогеры: несколько «хитов» и куча «хлама». Через восемь лет я развил достаточно хорошее чутьё на то, какой пост найдёт отклик у читателей. В результате я смог почти полностью уйти от написания совершенного «хлама». Но, даже учитывая это, несколько моих лучших недавних постов (этот и этот) оказались гораздо успешнее других. Речь идёт о том, что многие делились с другими ссылками на них, и о комментариях к ним, вроде «то, что я узнал, сильно на меня повлияло».

Читать далее
Total votes 16: ↑14 and ↓2+23
Comments2

Solidity: Путешествие в сердце оптимизации

Level of difficultyMedium
Reading time9 min
Views8.9K

Приветствую, кодеры Solidity!

Если вы здесь, то или у вас есть смарт-контракт, который готов к «похудению», или вы просто пытаетесь нарастить свои мышцы в области оптимизации Solidity. Как бы то ни было, сегодня я предлагаю вам навес золота в виде 27 проверенных методов оптимизации. Это ваш новый тренажерный зал для мозга! Всегда приятно иметь на руках свежий чек-лист перед запуском нового проекта. Итак, погнали!

Читать далее
Total votes 15: ↑14 and ↓1+21
Comments12

Blockchain-разработка глазами Backend-разработчика

Level of difficultyMedium
Reading time17 min
Views11K

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

У этого поста также есть видеоверсия.

Читать далее
Total votes 17: ↑14 and ↓3+13
Comments20

Попрощайтесь с проверками на null и исключениями: использование монады Maybe в Symfony

Reading time3 min
Views7.9K

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

В этой статье мы рассмотрим монаду Maybe и то, как ее можно использовать в Symfony.

Читать далее
Total votes 12: ↑8 and ↓4+5
Comments19

Инструменты аудита команды

Level of difficultyEasy
Reading time8 min
Views6.3K

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

Почитать
Total votes 6: ↑4 and ↓2+2
Comments8

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views27K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Total votes 139: ↑139 and ↓0+139
Comments24

Многомерные графики в Python — от трёхмерных и до шестимерных

Reading time3 min
Views36K

Примеры многомерных графиков

Введение


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


Plotly — это питоновская библиотека с открытым исходным кодом для разнообразной визуализации, которая предлагает гораздо больше настроек, чем известные matplotlib и seaborn. Модуль устанавливается как обычно — pip install plotly. Его мы и будем использовать для рисования графиков.


Давайте подготовим данные


Для визуализации мы используем простые данные об автомобилях от UCI (Калифорнийский университет в Ирвине — прим. перев.), которые представляют собой 26 характеристик для 205 машин (26 столбцов на 205 строк). Для визуализации шести измерений мы возьмём такие шесть параметров.


Здесь показаны только 4 строки из 205

Загрузим данные из CSV с помощью pandas.


import pandas as pd
data = pd.read_csv("cars.csv")

Теперь, подготовившись, начнем с двух измерений.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments2

Ловушки мышления, которые мешают пробить стеклянный потолок, но не всегда осознаются

Level of difficultyEasy
Reading time7 min
Views35K

Многим известен эффект стеклянного потолка, когда действия есть, а результата нет. Кажется, еще чуть‑чуть и все изменится: бизнес попрет, мастерство выйдет на новый уровень, доходы увеличатся, но несмотря на все усилия — ничего не меняется. Почему?

Читать далее
Total votes 49: ↑46 and ↓3+57
Comments48

10 лет назад я продал свой стартап за $2.2M и погряз в депрессии

Reading time5 min
Views20K

Меня зовут Виктор Кох и это моя история одного из громких скандалов в технологическом секторе.

Прежде всего, я рад опубликовать свою первую статью на HabrHabr.

Одна из причин, по которой я не мог свою историю написать ранее, а именно 5 лет назад или даже 8 лет назад — договор о неразглашении, который ограничивал мои действия 10 лет.

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

Итак, возвращаясь к теме, сегодня мне 35 лет и за моей спиной почти 18 лет опыта создания стартапов. Я начал программировать в 7 лет, благодаря моему другу детства, чей отец работал в МГТУ им. Н. Э. Баумана. Первые 25 тысяч долларов я заработал в 16 лет на продаже сайта, который специализировался по перепродаже телефонов и компьютерной техники — для меня это были огромные деньги в тот период.

Читать далее
Total votes 110: ↑41 and ↓69-7
Comments124

Как алгоритм 1972 года спас наш проект и при чем тут Тарьян?

Reading time5 min
Views14K

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

Читать далее
Total votes 30: ↑27 and ↓3+32
Comments54

Как я помогаю себе справляться с незавершенными делами

Reading time5 min
Views12K

У вас была ситуация, когда не получалось завершить какое-нибудь дело? Это мог быть рабочий проект, ремонт в спальне или желание сбросить ненавистные лишние килограммы? Если да, то замечали ли вы, что если мы начинаем (или хотим начать) дело, но не доводим его до финала, последствия сказываются не только на нас, но иногда и на окружающих?

Привет! Меня зовут Хусен Гапурхаев, я скрам-мастер в Beeline Казахстан, и в работе часто сталкиваюсь с необходимостью делать одновременно большое количество задач (причем как своих, так и в работе наших продуктовых команд).

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

Читать далее
Total votes 21: ↑18 and ↓3+18
Comments5
1

Information

Rating
Does not participate
Registered
Activity