Pull to refresh
10
0.6

JavaScript-разработчик

Send message

Производные дробного порядка и экспоненциальная производная

Level of difficultyEasy
Reading time4 min
Views13K

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

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

Если продифференцировать функцию - то получится её производная. Если сделать это дважды - получится вторая производная. Но если ли что “между”? Конечно же есть, и именно про такие объекты написана эта статья.

Читать далее

Еще один язык разметки для аналитиков

Level of difficultyEasy
Reading time12 min
Views8.3K

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

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

Читать далее

Минцифры дало ответ, что действия ТБанк по получению согласия на обработку биометрии противоречат положениям закона

Reading time11 min
Views41K

Минцифры дало ответ, что действия ТБанк по получению согласия на обработку биометрии НЕ соответствую (противоречат) положениям закона⁠⁠.

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

Читать далее

Иголка в стоге сессий, или Байт-код регулярных выражений

Reading time11 min
Views16K


17 млрд событий, 60 млн пользовательских сессий и огромное количество виртуальных свиданий происходят в Badoo ежедневно. Каждое событие аккуратно сохраняется в реляционные базы данных для последующего анализа на SQL и не только.


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


В последней статье из серии, посвящённой виртуальным машинам, я расскажу про альтернативный подход к поиску интересных сессий — движок регулярных выражений («Поросячий Матчер»), определённых для последовательностей событий.


Виртуальная машина, байт-код и компилятор прилагаются бесплатно!

Читать дальше →

Упрощение сложного: получение объемных сплавов напрямую из оксидов

Reading time13 min
Views2.9K


Подавляющее большинство производства, независимо то результирующего продукта, состоит из нескольких весьма сложных этапов, каждый из которых играет важную роль в получении желаемого результата в рамках физических и химических свойств продукта. Однако не стоит забыть, что влияние некоторых этапов на экологическую сферу может быть весьма разрушительным. Ученые из Общества Макса Планка (Мюнхен, Германия) решили рассмотреть сложный процесс преобразования руды в готовый сплав, состоящий из нескольких этапов, сделав его в последствии одноэтапным и, как следствие, экологичным. Какой именно процесс было решено изучить, как ученые его изменили, и как это повлияет на металлургию? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →

big Big FLOAT! Произвольная точность: сравниваем opensource-программы для научных и математических вычислений

Level of difficultyMedium
Reading time42 min
Views7.8K


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

Аппаратной точности чисел с плавающей запятой (поддерживаемых современными CPU) в 32, 64 и 80 бит может не хватить. И даже чисел четверной точности может не хватить при многочисленных итерациях, в каждой из которой может происходить потеря точности. Если операции неэлементарны, то мы не сможем применить алгоритмы коррекции ошибок по типу алгоритма Кэхэна.

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

Мессинский кризис солёности

Reading time7 min
Views7.2K

Море высохло, покрыв бывшее дно слоем соли. Температура достигла 80-ти градусов, а давление в 1,5 раза превзошло давление на уровне моря. Это не описание постапокалиптического будущего, и это вовсе не планета Плюк (два раза «ку»!). Это произошло примерно 6 миллионов назад там, где сейчас туристы нежатся у теплого Средиземного моря.

Читать далее

Апериодический монотайл

Level of difficultyEasy
Reading time3 min
Views2.3K

Если вы хотите замостить на даче дорожку мозаикой из одного типа плиток, и вам надоели не только квадраты, но и любые периодические узоры, то вам подойдёт математическое открытие прошлого года: плитка, которая называется «spectre», в переводе — «призрак». Её форма позволяет замостить любую площадь, не создавая периодов, при этом достаточно только одного типа фигур, в отличии от мозаики Пенрозуа, где нужно минимум два. Конечно, если вы согласны класть плитки не только лицевой, но и изнаночной стороной, то вам подойдёт и мозаика из «шляп Эйнштейна», о ней я рассказывал в предыдущей статье. Но кто же кладёт плитки изнанкой? Тогда уж берите сразу два типа плиток, зеркально отражённые.

Вам нужно только одну форму? Тогда только призрак. Романтичный вариант названия – «привидение».

Читать далее

Программируем полётный контроллер на основе DIY проекта Flix

Level of difficultyMedium
Reading time19 min
Views27K

У нас в МАИ, в 8-м институте, учатся будущие разработчики IT‑продуктов и софта для авиационных систем, аэропортов, логистики и много чего ещё интересного. Один из курсов с 2023 года мы решили посвятить разработке программного обеспечения для автопилота. В курсе всё как положено, с красивыми диаграммами регуляторов, кватернионами и кодами таких проектов как Ardupilot, PX4, Betaflight, iNav и другими.

Однако, довольно сложно сразу вкатиться в тему полетных прошивок — они переполнены всякими фичами и функционалом, так что неподготовленному разработчику сложно понять как же это всё работает. Поэтому долгое время я искал такой проект, который позволяет «на пальцах» объяснить как работает прошивка полётника. Таким проектом для меня стал Flix от Олега Калачева. Про опыт сборки проекта и изучения на его основе полетной прошивки со студентами и пойдет разговор в этой статье.

Полетели !

Чистая Windows и разработка «без всего»

Level of difficultyHard
Reading time11 min
Views23K

Есть компьютер с чистой копией Windows, без доступа в интернет и без каких‑либо установленных средств разработки. Только одна чистая пользовательская «венда». Не поверите, но даже в таких спартанских условиях возможно написать и запустить полноценную программу. И сейчас я расскажу как.

Читать далее

Передайте менеджерам: почему брендированные иллюстрации в блоге вашей компании — пустая трата денег

Level of difficultyEasy
Reading time5 min
Views3.7K

Рассказываю, почему обложки к постам, заботливо отрисованные иллюстратором, вызывают даже больше отторжения, чем «непонятное нечто с фотостока» — и обходятся компаниям не в пример дороже.

Читать далее

Красное смещение: доплер-эффект или гравитация?

Level of difficultyEasy
Reading time7 min
Views6.6K

Тема обсуждения

В недавно опубликованном здесь материале о космологической модели Неустойчивой решётки (НР), то есть модели Вселенной без Большого взрыва (БВ), не обсуждались такие доводы в пользу БВ, как космологическое красное смещение, наличие космологического горизонта и реликтового микроволнового излучения, которых в квазистационарной Вселенной быть, казалось бы, не должно. «Старение фотонов», объясняющее красное смещение света и наблюдаемое в некоторых случаях аномальное торможение тел передачей кинетической энергии от тел и фотонов флуктуациям вакуума, подвергается сомнениям после моделирования обстоятельств торможения аппаратов «Пионер», доказывающего тепловую природу торможения [1]. Наконец, и старение фотонов, и гравитационная гипотеза «покраснения» выглядят не совместимыми с динамикой эволюции сверхновых, которая коррелирует с их красным смещением, а в рамках этих двух гипотез, вроде, не должна бы.

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

Рассмотрим гравитационную гипотезу более внимательно.

Читать далее

Kenbak-1: самая первая серийная персоналка

Level of difficultyEasy
Reading time8 min
Views4.8K


Считается, что эпоха персоналок наступила в 1974 году, когда компания MITS наладила массовое производство знаменитого Altair 8800, положившего начало буму «домашних» компьютеров. До этого ЭВМ были слишком громоздкими и чересчур дорогими для простого обывателя. Однако ещё в 1971 году серийно выпускался компьютер, который мог приобрести обычный человек, чтобы изучить азы программирования. Правда, эта машина не имела ни монитора, ни клавиатуры, ни привычного современным пользователям интерфейса — даже командной строки…
Читать дальше →

Пробуем Typst, альтернативу LaTeX

Level of difficultyEasy
Reading time20 min
Views13K

Вы могли слышать об Typst, современной альтернативе LaTeX, написанный на Rust, или не могли, ведь на Хабре я нашёл лишь несколько статей о нём. Некоторые до меня подчёркивали, что есть некоторые недостатки у первого по сравнению с последним.

Те статьи, что уже имеются на Хабре во время написания данной статьи, были, скорее, новостными, чем полноценными обзорами. Мы же попробуем рассмотреть Typst, начиная с установки и заканчивая возможностями и компиляцией, а также разберёмся, какие проблемы могут возникнуть.

Читать далее

Процессор на костях: как изобретатели XIX века пытались превратить счеты в компьютер

Reading time13 min
Views3K

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

Читать далее

Отсутствие в .NET важных тригонометрических функций: заполняем пробелы

Level of difficultyEasy
Reading time4 min
Views5K

.NET включает базовые тригонометрические функции (sin, cos, tan, asin, acos, atan) и их гиперболические аналоги (sinh, cosh, tanh, asinh, acosh, atanh) в классе Math. Однако в .NET отсутствуют важные тригонометрические функции, я решил заполнить этот пробел, при реализации этих функций необходимо учитывать особенности вычислений с плавающей запятой, диапазон входных и выходных значений и их свойства симметрии.

Читать далее

Древняя и новая история цистерцианских цифр

Reading time5 min
Views12K

Арабские цифры являются одной из наиболее долгоживущих и универсальных знаковых систем, распространённых во всём современном мире. Они до сих пор сосуществуют с римскими, конкуренцию у которых окончательно выиграли в Европе к XIV веку, поскольку римские цифры исключительно неудобны для арифметики и алгебры. Принципиально арифметика на римских цифрах возможна, она даже была однажды рассмотрена в статье из журнала «Наука и жизнь» за 1970 год. Именно в XIII-XIV веках римские цифры перестали удовлетворять потребностям бурно растущей европейской цивилизации (в римских цифрах даже отсутствовал феномен «0»). Им на смену пришли заимствованные индо-арабские цифры. Также как раз в период XIII-XIV века в Европе пытались изобрести систему цифр, которая либо устраняла бы недостатки римской, либо сочетала достоинства арабской и римской. Один из наиболее причудливых опытов такого рода — это цистерцианские цифры, о которых будет рассказано под катом   

Читать далее

Как я искал (и нашел) разницу в двух побайтово идентичных файлах

Reading time4 min
Views72K
Есть у нас одно .NET-приложение, которое умеет загружать и использовать плагины. Плагины — дело хорошее. Можно функционал расширять, можно оперативненько обновлять их со своего сайта, можно даже юзерам дать SDK и позволить писать свои плагины. Мы всё это и делали. Наши плагины представляли собой обычные .NET-сборки, которые нужно было подкинуть в определённую папку, откуда основное приложения их загружало и использовало. Ну, вы, наверное представляете как — Assembly.Load(), дальше ищем класс, реализующий необходимый интерфейс, создаём объект этого класса и т.д. Всё это работало давно, стабильно и ничто не предвещало беды. Но вдруг в какой-то момент появилась необходимость создать плагин, состоящий из нескольких файлов. В связи с этим было решено считать плагином не просто .NET-сборку (1 файл), а zip-архив, в котором может быть как одна сборка, так и несколько файлов. В связи с этим пришлось научить билд-сервер паковать плагины в архивы, а основное приложение — разархивировать их в нужное место. В общем-то задача на 10 строк кода. Ничто не предвещало беды. И вот скачиваю я с билд-сервера собранный архив с плагином, разархивирую его в нужную папку, запускаю приложение, и… не работает! Стоп, как не работает? Это ведь тот же плагин!

Дальше — больше. Прошу проделать ту же самую процедуру моего коллегу, на его компьютере. Он пробует — и у него всё работает! Но как же так? Одна версия приложения, один и тот же файл с билд-сервера. Какая-то разница в окружении? Сажусь за компьютер коллеги, пробую ещё раз — не работает! Он в этом время пробует на моём — работает! То есть получается, что файл «помнит», кто его разархивировал! Зовём третьего коллегу понаблюдать этот цирк. Последовательно, на одном и том же компьютере, по очереди делаем одни и те же действия: скачиваем архив с плагином, разархивируем в нужную папку, запускаем приложение. Когда это делаю я — программа не видит плагин, когда это делает коллега — всё работает. На третьем круге этих интересных экспериментов вдруг замечаем разницу в действиях: я разархивировал плагин стандартными средствами Windows, а мой коллега — с помощью 7-Zip. И то и другое вызывалось нами из контекстного меню архива, так что разницу в клик по не тому пункту вначале никто не замечал. Ну ок. Получается, файл, извлечённый из zip-архива с помощью 7-zip, отличается от того же файла из того же архива, извлечённого с помощью стандартного архиватора Windows?

Кстати, пока вы не открыли статью под катом, ответьте-ка сами для себя на вопрос, может ли такое быть, что содержимое файлов валидного zip-архива при разархивации 7-zip и через проводник Windows будет разным?
Читать дальше →

Управление напряжением PWM сигналом (PWM+RC=DAC)

Level of difficultyEasy
Reading time8 min
Views13K

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

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

В этом тексте я написал как мне это удалось.

Читать далее

Information

Rating
2,051-st
Location
Москва, Москва и Московская обл., Россия
Registered
Activity