Pull to refresh
-11
0
Роман @ORVi

Разработчик

Send message

10 полезных расширений для дата-сайентистов

Reading time 5 min
Views 14K

Каждый специалист по Data Science тратит большую часть своего времени на визуализацию данных, их предварительную обработку и настройку модели на основе полученных результатов. Для каждого исследователя данных именно эти моменты – самая сложная часть процесса, поскольку хорошую модель можно получить при условии, что вы точно выполните все эти три шага. И вот 10 очень полезных расширений Jupyter Notebook, которые помогут вам выполнить эти шаги.

Приятного чтения!
Total votes 19: ↑19 and ↓0 +19
Comments 0

Google захватывает Python

Reading time 3 min
Views 45K

Google объявили себя идейным спонсором Питона. Visionary Sponsor как они это называют. Начали они с того, что вчера перечислили в фонд Питона 350 тысяч долларов. На картинке как они видят себя и экосистему Питона. Гугл уже 10 лет спонсируют Питон, ничего нового вроде бы, но кроме нового термина они поставили новые цели:

План зохвата:
Total votes 90: ↑70 and ↓20 +50
Comments 81

Миллион домашних фотографий: наводим порядок

Reading time 5 min
Views 33K

После покупки цифрового фотоаппарата и рождения детей стало появляться большое количество фотографий, а учитывая, что жена с фотоаппаратом почти не расставалась и старалась запечатлеть все «важные» детские моменты, фотографий стало появляться ОЧЕНЬ много.

Пришло время навести порядок.
Total votes 34: ↑34 and ↓0 +34
Comments 118

О природе мироздания и причине происхождения жизни — и что делать

Reading time 43 min
Views 17K

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

Как высказалась в 10 летнем возрасте аутист Соня Шаталова: «Наука – познание, основанное на сомнении». Высказать свои сомнения в части научных представлений о жизни и разуме решаются не многие учёные. А относительно основ мироздания и сомнений-то практически не осталось – и мы можем восхищаться всё новыми платьями, которые математики по столетним лекалам шьют своей «королеве Науке». Однако совершенно новые представления о сути явлений, изложенные в гл.7, побудили меня высказать некоторые научно-фантастические гипотезы, впрочем не более фантастические чем у учёных, что и предлагаю на суд читателей.
Читать дальше →
Total votes 31: ↑6 and ↓25 -19
Comments 36

Создание искусственного интеллекта для игр — от проектирования до оптимизации

Reading time 32 min
Views 139K

Сегодня – первое сентября. А значит, многие читатели хабры начинают прохождение нового уровня одной древней известной игры – той самой, в которой требуется прокачать интеллект, и, в итоге, получить магический артефакт – аттестат или диплом, подтверждающий ваше образование. К этому дню мы сделали реферативный перевод статьи про реализацию искусственного интеллекта (ИИ) для игр – от его проектирования до оптимизации производительности. Надеемся, что она будет полезна как начинающим, так и продвинутым разработчикам игр.
Читать дальше →
Total votes 44: ↑42 and ↓2 +40
Comments 3

Реалистичный боевой ИИ для 2D-игры

Reading time 6 min
Views 13K
image

Хотя Close Quarters преимущественно является многопользовательской игрой, в ней всё равно должны присутствовать сложные ИИ-боты, чтобы игроки продолжали играть при плохом Интернет-соединении или отсутствии других онлайн-игроков. Кроме того, боты играют важную вспомогательную роль в некоторых режимах игры. Поэтому они должны вести себя правдоподобно и демонстрировать набор сложных поведений, в том числе использование укрытий, применение предметов в подходящее время, обход с флангов, бросание гранат и убегание от них.

Окружение и ограничения


Игровое окружение состоит из полигонов. Большинство полигонов блокирует движение, область видимости и стрельбу, однако есть и «низкие» полигоны, только блокирующие движение. Окружение плотно заставлено препятствиями и укрытиями.

ИИ тоже ограничен несколькими техническими факторами. Самый важный из них: сервер, на котором выполняются боты, когда онлайн находится мало игроков, должен быстро работать на недорогом VPS как минимум при десяти ботах. Кроме того, нагрузка на ЦП должна оставаться достаточно низкой, чтобы можно было выполнять несколько инстансов сервера на одном VPS без превышения лимита ЦП, и не при этом вызвать санкций со стороны поставщика услуг VPS.
Total votes 40: ↑40 and ↓0 +40
Comments 2

Эволюция теории струн до М-теории

Reading time 7 min
Views 55K
Доброго времени суток, уважаемое хабрасообщество. После моего долгого отсутствия я решил вновь взяться за перо клавиатуру. Сегодня мы попробуем проследить эволюцию теории струн до М-теории, и найти ответы на вопросы: что подтолкнуло ученых к развитию данной теории, с какими проблемами им пришлось столкнуться, и над чем сейчас ломают головы лучшие умы человечества.

Теория струн


На Хабре уже была статья по теории струн. Если вкратце в 1968 году ученые обратили внимание, что математическая функция, которая называется бета-функция Эйлера, идеально описывает свойства частиц, которые участвуют в так называемом сильном взаимодействии — одном из четырёх фундаментальных взаимодействий во Вселенной.

При дальнейших проверках этот факт получил подтверждение, интересно было и то, что ранее данная функция в основном применялась при описании колебаний натянутых струн.
Читать дальше →
Total votes 130: ↑128 and ↓2 +126
Comments 119

Тёмная Вселенная. Часть 1

Reading time 8 min
Views 33K
Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобраться, к чему же они в конце концов пришли в попытке описать происхождение, жизнь и будущее нашей Вселенной. В процессе написания статья немало разрослась, поэтому я все-таки решил разделить её на две части.
Читать дальше →
Total votes 64: ↑63 and ↓1 +62
Comments 52

Чешские программисты бесплатно написали сайт стоимостью 16 миллионов евро? Правда?

Reading time 11 min
Views 132K
В конце января 2020 г. чешские программисты на безвозмездной основе за два дня разработали портал продажи билетов на право пользования скоростными дорожными магистралями Чехии. На разработку этого портала изначально был выделен 401 миллион чешских крон (около 16 миллионов евро) министерством транспорта Чехии, но энтузиазм сообщества позволил сохранить колоссальные бюджетные средства.

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

Такое изложение событий было приведено в пересказе издания CNews или, по крайней мере, таким образом было интерпретировано читателями.

Эта потрясающая история захватила умы всего бывшего СССР, многократно разойдясь по соцсетям. Однако, к сожалению, в оригинальной подаче CNews — вероятно, неумышленно — был опущен и искажён ряд ключевых деталей, вследствие чего исходная ситуация была весьма своеобразно искажена.

Целью данного поста является устранение этого пробела.
Читать дальше →
Total votes 348: ↑342 and ↓6 +336
Comments 266

Лазерный станок своими руками

Reading time 4 min
Views 101K


Привет, Хабр! Сегодня расскажу о своем лазерном станке для резки фанеры и гравировки кожи. Цель была как всегда – максимум функционала за минимум денег).
Читать дальше →
Total votes 126: ↑125 and ↓1 +124
Comments 194

Функциональное программирование — это не то, что нам рассказывают

Reading time 17 min
Views 124K

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



Хотя люди обычно признают удобства ФП фич, ведь намного приятнее писать:


int Factorial(int n)
{
    Log.Info($"Computing factorial of {n}");
    return Enumerable.Range(1, n).Aggregate((x, y) => x * y);
}

чем ужасные императивные программы вроде


int Factorial(int n)
{
    int result = 1;
    for (int i = 2; i <= n; i++)
    {
        result *= i;
    }
    return result;
}

Так ведь? С одной стороны да. А с другой именно вторая программа в отличие от первой является функциональной.


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

Читать дальше →
Total votes 267: ↑259 and ↓8 +251
Comments 795

ФП vs ООП

Reading time 6 min
Views 60K

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


Читать дальше →
Total votes 42: ↑31 and ↓11 +20
Comments 128

SignalR в помощь, или как оживить web

Reading time 7 min
Views 103K

Введение


Во многих web проектах присутствуют элементы, значение которых необходимо часто менять. Это могут быть счётчики, индикаторы, уведомления и подобные элементы. Показывать ли актуальные значения после обновления страницы или же можно реализовать автообновление всех этих данных? Для нас ответ очевиден: если есть возможность динамически менять элементы, то для обновления страниц не остается места.
Читать дальше →
Total votes 44: ↑33 and ↓11 +22
Comments 26

Подвалы Вавилонской башни, или Об интернационализации баз данных с доступом через ORM

Reading time 14 min
Views 4.6K

Гравюра М. Эшера &quot;Относительность&quot;
Гравюра М. Эшера «Относительность», 1953


Введение


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


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


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


Приведенные в статье фрагменты кода — на языке C#. На GitHub можно найти примеры реализации механизмов интернационализации с использованием двух различных связок ORM и СУБД: NHibernate + Oracle Database и Entity Framework Core + SQL Server. Разработчикам, использующим упомянутые ORM, будет интересно узнать конкретные приемы и трудности работы с многоязычными данными, а также блокирующие дефекты фреймворков и перспективы их устранения. Изложенные ниже принципы и примеры работы с многоязычными данными легко перенести и на другие языки и технологии.


Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 9

CI/CD используя Jenkins на Kubernetes

Reading time 7 min
Views 54K

Добрый день.


На Хабре уже есть несколько статей о jenkins, ci/cd и kubernetes, но в данной я хочу сконцентрироваться не на разборе возможностей этих технологий, а на максимально простой их конфигурации для постройки ci/cd pipeline.


Я подразумеваю, что читатель имеет базовое понимание docker, и не буду останавливаться на темах установки и конфигурирования kubernetes. Все примеры будут показаны на minikube, но так же могут быть применены на EKS, GKE, либо подобных без значительных изменений.


Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 10

Как обеспечить доступность веб-сервиса в облаке при отказе дата-центра

Reading time 7 min
Views 2.4K
В статье описывается вариант обеспечения доступности развернутого в облаке веб-сервиса при возникновении сбоев в работе дата-центра. Предлагаемое решение основано на компромиссе, состоящем в частичном дублировании: в другом дата-центре разворачивается резервная система, которая может работать в режиме ограниченной функциональности при недоступности основного ЦОДа. Данная схема в первую очередь нацелена на применение при кратковременных сбоях, но также предусматривает возможность быстрого превращения дублирующей системы в основную в случае масштабных проблем.


Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 2

Новый взгляд на изучение и документирование исходного кода

Reading time 3 min
Views 27K
TL;DR Привет. Меня зовут Богдан и я изучаю проблемы чтения кода. Я только что закочнил первую рабочую версию «codecrumbs» — визуального инструмента для изучения исходного кода с помощью «хлебных крошек». Гитхаб репозиторий можно посмотреть тут.

image

Проблема


Недавно я проводил опрос о главных проблемах с которыми мы сталкиваемся когда начинаем изучать исходный код большого проекта (если вы ещё не участвовали, то пройти опрос всё ещё можно тут).
Читать дальше →
Total votes 74: ↑70 and ↓4 +66
Comments 35

Julia, Градиентный спуск и симплекс метод

Reading time 10 min
Views 14K


Продолжаем знакомство с методами многомерной оптимизации.


Далее предложена реализация метода наискорейшего спуска с анализом скорости выполнения, а также имплементация метода Нелдера-Мида средствами языка Julia и C++.

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 8

Знакомство с простейшей нейронной сетью и ее пошаговая реализация

Reading time 5 min
Views 40K
Однажды я наткнулся на книгу под названием «Создай свою нейросеть», под авторством Тарика Рашида. В отличие от многих других книг по нейронным сетям, в этой все подавалось простым языком, c достаточным количеством примеров и советов

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

image
Читать дальше →
Total votes 37: ↑24 and ↓13 +11
Comments 21

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity