Привет, Хабр! Язык запросов DAX популярен и эффективен для построения дашбордов в Business Intelligence, и за счет свой функциональной природы DAX в чем-то ближе к реляционной алгебре, по сравнению с SQL. Особенности DAX удобно рассмотреть на основе примеров DAX-запросов, переведенных на реляционную алгебру. В частности, использование ALL в итераторе SUMX в рамках наиболее популярной DAX функции SUMMARIZECOLUMNS позволяет рассмотреть некоторые нюансы DAX. Если интересно описание ALL в DAX с точки зрения реляционной алгебры — добро пожаловать под кат! :)
Читать далееКогда закончил писать механизм своего торгового робота обнаружил, что самое главное всё таки не сам механизм, а стратегия, по которой этот механизм будет работать.
Первый тесты на истории показали что с доходностью и тем более с тем как доходность портфеля компенсирует принимаемый риск (коэффициент Шарпа) проблемы, но неудачный опыт тоже опыт, поэтому решил описать его в статье.
Первый и самый важный вопрос - при помощи чего проводить тесты торговой стратегии на исторических данных? В какой программе или при помощи какой библиотеки создавать стратегию и потом прогонять её на истории?
Раз мой торговый робот создан в среде исполнения JavaScript Node.js, то и тесты в идеале должны проводится на чём-то схожем. Но забегая немного вперёд скажу что получилось по другому - Python пришёл на помощь.
Разбираюсь и ищуНовый цикл статей, посвящённый процессору и памяти хронологически второй и, вероятно, самой неудачной машины Единой системы — ЕС-1030.
Читать далее Итак, спонсор сегодняшнего выпуска — чёртова ангина. Поскольку ничего умного голова делать не может, а руки делать что‑то точное отказываются — на арене нашего цирка очередная велосипедная чушь. А поскольку я сейчас тормоз — речь тоже сейчас буду вести о себе подобных.
Хорошо, когда у тормозных колодок большой ход! Даже после не самых удачных приземлений ничего не начинает затирать и не требует срочно ловить миллиметры в условиях нанотехнологической мастерской, которые так часто встречаются в лесах. Но большой ход означает большое плечо рычага. А большое плечо рычага означает, что для их сжатия потребуется сверхчеловеческое усилие на ручке. Нет, хорошо, когда у тормозных колодок маленький ход! Вот, например, дисковые тормоза... гидравлика... погнутые ди... ой, стоп, это уже лишнее. Что ж делать‑то?
Попробуем сделать большой ход, чтобы нам было всё равно, что уж там у нас потеряло заводскую форму после «уборки» в какой‑нибудь пень — ну, а усилие прижима колодок возьмём, собственно, от момента вращения колеса, а не чисто от ручки тормоза.
Здравствуй, Хабр!
С момента написания первой части о приключении студентов-ракетчиков прошло 2 года. Проект «простой ракеты на ЖРД» завершился, автор выпустился и пошел работать на одно из предприятий ракетно-космической отрасли. Пришло время рассказать о всем, что произошло, всех ошибках, радостях и достижениях, на которые наткнулся данный проект аж за 4 года работы! (обещаем, что не надо будет ждать очередные 2 года до следующей статьи)
Сегодня - о расчетах!
Читаем!Изучение истории помогает понять, как формировались текущие концепции, как появлялись какие‑то решения, в чем была разница в культурных подходах различных стран.
Рассуждения Э. Дейкстры о роли программирования, научного подхода и этики дают пищу для размышлений, которые актуальны даже в наши дни.
Истории первых программистов демонстрируют, что компьютерные науки развивались в условиях большой неопределённости. Что может мотивировать современных инженеров в широком смысле слова, быть изобретательными и открытыми к новому.
Поэтому я решила проанализировать интервью 2021 года Ф. Франы с Э. Дейкстрой (ссылки на источники в конце). Это позволяет не только раскрыть мысли героя интервью, но и напомнить о начале истории программирования, почему оно получилось таким, а не другим.
Читать далееО радиации я уже писал. Про то, как не подорваться на конденсаторе или аккумуляторе — тоже. Осталось написать о том, как не отравиться.
В составе электронных устройств присутствуют элементы буквально всей таблицы Менделеева и самые разнообразные химические соединения. Неудивительно, что некоторые из них опасны для здоровья, а часть из них — опасны серьезно. В этой статье я хочу рассмотреть основные токсичные вещества, содержащиеся в электронных устройствах и технику безопасности обращения с ними.
Читать далееЕсли вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры — всё, что нужно для практического сравнения.
P.S: эта статья не про то, какой PSQL хороший в отличии от Oracle, а про то, в чем PSQL по мнению автора лучше.
Читать далееВсем привет!
Поговорим про геолокацию и геокодирование, я даже немного удивлен, что на хабре про это ни слова.
Но сначала немного предыстории.
Лет 10 назад мне нужно было найти одну организацию в Праге и у меня был адрес. Прибыв туда я увидел огромное(по площади) старое здание с кучей входов, никак не обозначенных. Я два раза обходил его, пока не нашел нужно место. И тогда я задумался о чем то более точном чем адрес, но более удобном к запоминанию и использованию, чем пара координат(широта и долгота).
Я перелопатил кучу возможных решений вроде "what three words", но все это не достаточно подходило.
Хотелось бы(в том числе) и чтобы глядя на закодированное место и текущее местоположение можно было понять в какую сторону идти. В общем я начал думать над собственным решением по кодированию координат. Крутил кучу мыслей, но спустя какое-то время наткнулся на проект, который делал работник швейцарского Гугла(у дураков мысли схожи), который делал именно то, что мне было нужно(с некоторыми допущениями). Называлась она Plus Codes.
Теперь, спустя года, заходя на Гугл карты, вы можете видеть в том числе и подобные метки(HFVQ+M3 Бенальмадена, Испания).
Они просты к записи, использованию и легко узнаваемы(когда я думал над собственным решением, мне хотелось какой-то символ, который бы обозначал координаты) благодаря плюсу внутри.
Штука эта хорошая, но плохо ложиться на российские реалии из-за латиницы, подумал я спустя несколько лет и форкнул репозиторий с намерением поменять алфавит на общеприменимый. Символы, используемые в Rus Codes были выбраны так, чтобы их можно было использовать как людям, использующим латинский алфавит, так и использующим кириллицу, а так же уменьшить вероятность ошибки при написании(ноль и О исключить например).
Читать далееПривет, Хабр! Сегодня быстро разберём, как разные СУБД справляются с геоданными. Вопрос простой: если нужно работать с координатами, полигонами, считать расстояния — какая база справится лучше? В сравнение пойдут PostgreSQL (с его крутым PostGIS), MySQL, Oracle, SQL Server и MongoDB.
Читать далееБудучи постоянным автором издания "Элементы", недавно получил заказ на статью о Нобелевской премии за открытие микроРНК, вручённой этой осенью. Писал статью с особенным чувством — ведь в истории микроРНК есть параллели с моим биоинформатическим проектом по совсем другой тематике — но тоже связанным с происхождением многоклеточности.
Дело в том, что значимость открытия микроРНК определяется не их медицинским применением (его так пока толком и не придумали). МикроРНК — это история про то, что делало и делает наш мир многоклеточным. Потому что у одноклеточных эукариот этих микроРНК — кот наплакал. Экспансия микроРНК в геноме, резкий рост их числа обычно совпадали с появлением многоклеточности — а таких случаев, как мои подписчики наверняка уже знают, было более 20 во всём живом мире.
МикроРНК довольно мало меняются в ходе эволюции. И, хоть они короткие, методы биоинформатики вполне позволяют отследить их эволюцию. МикроРНК возникали не только на заре развития зелёных растений и животных. Ими обзаводились бурые водоросли. Их обретали разные группы слизевиков — с их-то простой агрегативной многоклеточностью, обречённой на эволюционный тупик в плане сложности! И каждый раз к идее микроРНК они приходили независимо. Конвергентно. Все многоклеточные эукариоты.
Сам по себе этот факт удивляет и, видимо, он ещё ждёт своего детального объяснения. Да и вдумайтесь только — фактически, Нобелевка за микроРНК — это Нобелевка за механизмы многоклеточности.
Но есть и другой удивительный факт. Похожий паттерн наблюдается в случае со многими сигнальными веществами, с помощью которых клетки общаются между собой. Например, у простагландинов и лейкотриенов — веществ, запускающих боль и воспаление в нашем организме — также есть аналоги почти у всех многоклеточных эукариот... и даже многоклеточных прокариот типа цианобактерий и миксобактерий. Если до микроРНК — по крайней мере, в их классическом воплощении — додумались только эукариоты, то до оксилипинов (так называется эта группа химических веществ) первыми, по-видимому, додумались ещё цианобактерии, когда опробовали первую в истории Земли многоклеточность. Это было примерно во время Кислородной катастрофы. Ну то есть парочку миллиардов лет назад.
Читать далееПрошел месяц, даже чуть больше, а в целом близиться конец года, в моих фантазиях было желание к этому времени сделать целую альфу. Но за весь год поменял три концепции игры.
Читать далееВ последнее время можно видеть тенденцию в разрыве научного и философского мировоззрения. Даже значительные ученые высказывают мнение о бесполезности философии для современной науки, забывая о том, что сам научный подход бы предложен философией. Стивен Хокинг в своей книге «Краткая история времени» пишет о том, что в современном мире физики так продвинулись в понимании природы пространства и времени, что философия, которая традиционно рассматривала эти вопросы стала не актуальной. Стереотипным мнением так же является то, что математика является исключительно строго логической дисциплиной и развивается строго последовательно. Наша задача показать, что это не так и показать, что математика и философия всегда двигались вместе.
Философию зачастую определяют как историю идей. Математика всегда была частью философии. Считается, что Пифагор ввел понятие «философия», а основой философии самого Пифагора была мысль, что числа — мера всего. Платон считал математику единственной подлинной наукой в силу ее четкой определенности, которая оперирует с незыблемым и неподвижным миром идей. Важной частью метафизики Аристотеля так же являются абстракции, которые всегда относили к математическими. Такое как целое и части, множества, целые и непрерывные величины.
Крупные математические прорывы в основе своей несли прежде всего философский смысл. Уже в арифметике мы сталкиваемся с таким философским понятием, как бесконечность. Еще Аристотель в «Физике» отмечал то, что хотя натуральный счет в математике корректно отображает физический счет предметов, в физическом мире понятие бесконечности теряет смысл. Так же сложной философской проблемой является понятие точки, которая ни имеет размера. Не имея физического аналога базовое математическое понятие, тем не менее корректно описывает физический мир на языке геометрии.
Читать далееВ Godot 4.3 было добавлено три класса наследующих AudioStream: AudioStreamInteractive, AudioStreamPlaylist и AudioStreamSynchronized. Сейчас нам интересен класс AudioStreamInteractive, который позволит нам сделать нашу музыку динамической.
Динамическая (адаптивная) музыка — это музыка, ритм или тон которой меняется в зависимости от текущих действий в игре.
Проще говоря, если, например, в игре вокруг спокойствие, рядом никого нет, игрок в безопасности, то на фоне играет спокойная мелодия, но стоит появиться какому-нибудь монстру в поле зрения игрока, как тут же спокойная мелодия дополняется новыми элементами, тем самым превращаясь в боевую.
Читать далееОтвет на статью Рынок труда сломался? Почему поиск работы превращается в квест
Зачем-то НЛО сегодня вытащило из песочницы очередную «Founder Кадрового агентства IT and Digital» - неужели опять всех авторов перебанили, и писать некому, даже для копроблогов ?
Впрочем, риторические вопросы про MHGA оставим в чулане.
Читать далееКак и многие, я храню свой код на GitHub. Пару лет назад я сделал простой пайплайн для сборки, анализа и тестирования моих веб‑приложений и сервисов. Он выполнял свою задачу, и так как это был мой первый опыт по настройке пайплайна CI/CD на GitHub, он сводился к одному шагу.
build (and deploy)
Со временем я стал замечать, что я стараюсь избегать вносить изменения в код. Будучи счастливым обладателем ADHD, я часто замечаю за собой сложность в решении задач с большим количеством препятствий и одним из них стало то, что выполнение пайплайна занимало больше 5 минут. Я коммитил изменения и шел делать кофе, пока пайплайн тестировал и деплоил код. И не всегда возвращался, отвлекаясь на другие вещи.
Я решил для себя, что максимальное количество времени, которое я готов ждать - 1 минута.
Читать далееДообучаем языковую модель GPT2 с помощью Torch
Доброго времени суток, в этой статье я хочу поговорить о дообучения языковых моделей. В интернете уже много информации на эту тему, но большинство подобных статей затрагивают ее поверхностно. Сегодня я попробую разобраться в этом подробнее.
Читать далееПривет, Хабр!
Эта статья написана для новичков, которые только начинают осваивать структуры данных на Python. Сегодня мы рассмотрим замечательную и очень полезную структуру — двусвязный список.
Двусвязный список — это структура данных, в которой каждый элемент содержит ссылки как на предыдущий, так и на следующий элементы, что позволяет легко перемещаться в обоих направлениях. В отличие от того же односвязного списка, двусвязный дает более гибкое управление данными.
Начнем с основ, разберемся, как они работают, где их реально стоит применять и как реализовать двусвязный список с нуля (да, на время забудем про библиотеку collections и её deque).
Читать далееЯ написал ряд статей по истории техники, с которой сталкивался. Раз, Два, Три, Четыре. Но эти статьи были посвящены технике. А как было с наймом на работу?
Итак, на дворе 1991 год. Вы не знаете, кто вы — джуниор, миддл и сеньер, потому что никто не знает этих слов. Вы не поймете слова «стек», но после дополнительных пояснений можете объяснить, железячник вы или по программам. Скорее всего «писишки». Есть узкие специалисты, Novell Netware, например.
Ну и поиск работы. Нет сайтов linkedin и hh.ru... Да собственно, никаких сайтов нет.
Читать далее