Pull to refresh

Technotext

Git. Скачем между ветками как древесные лягушки

Level of difficultyEasy
Reading time6 min
Views32K

Статей на тему много, но, видимо, недостаточно. Последние 10 лет в 4-х разных компаниях время от времени слышу от коллег:

— Не могу пошарить экран с кодом, у меня другая ветка сейчас.

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

— Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать.

Читать далее

Сущностный анализ манускрипта Войнича с инженерной точки зрения

Level of difficultyEasy
Reading time18 min
Views19K

На сегодняшний день содержание манускрипта Войнича [1] до сих пор не разгадано, и вашему вниманию предлагается непротиворечивая реконструкция содержания путем анализа изображений с инженерной точки зрения. Книга, помимо всем известной справочной части, содержит явно сценарные вставки с действующими лицами. Поэтому для расшифровки имен собственных помимо графического материала был частично проанализирован язык книги, для расшифровки имен и придания эффекта присутствия в событиях. Обобщим известные результаты анализа книги, сделанные ранее, чтобы далее не повторяться.

 Возраст книги

По результатам радиоуглеродного анализа фрагментов манускрипта, химик и археометрист Аризонского университета Грег Ходжинс установил, что пергамент для манускрипта был выделан между 1404 и 1438 годами в эпоху раннего Возрождения [2]. Очевидно, что сама книга могла быть написана и позже.

Читать далее

Требования безопасности: пособие для аналитика

Level of difficultyEasy
Reading time24 min
Views5K

Привет, Хабр! Меня зовут Александра, я ведущий системный аналитик отдела криптографии ИнфоТеКС. При разработке системы, важной с точки зрения безопасности, сталкиваешься с тем, как много усилий нужно потратить на учет всех требований безопасности, которые должны в ней быть. Соблазн бросить эту задачу и переключиться на более приятные пользовательские фичи очень высок :) Требования безопасности – не самая интуитивно понятная вещь, работать с ними первое время может быть непривычно и сложно. 

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

Читать далее

Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям

Reading time16 min
Views20K

В Yandex Cloud с сегодняшнего дня открыт доступ к тестированию API YandexART — нейросети для генерации изображений и анимаций, которая лежит в основе приложения Шедеврум. Протестировать API можно в сервисе Foundation Models, в котором доступно несколько моделей машинного обучения, включая YandexGPT для генерации текстов и эмбеддинги для задач семантического поиска. 

Читать далее

Азотный лазер большой мощности: так ли он прост?

Level of difficultyHard
Reading time17 min
Views9.4K
Несколько лет назад я отвлекся на другие проекты, которые не связаны с основным моим увлечением — старыми газовыми лазерами. Я бы и дальше откладывал возвращение к ним, если бы не предложение, от которого грех было отказываться — выполнить ремонт азотного лазера ЛГИ505.

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

image

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

Как нарисовать завод на мнемосхеме

Level of difficultyMedium
Reading time10 min
Views11K

Для фронта MES у нас на заводе используются мнемосхемы производственных цехов. Мы очень любим их проектировать.

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

Ещё лет пять назад было бы трудно поверить, что такое возможно. У нас был Oracle, для отображения состояния оборудования и процессов применялись таблицы, графики, диаграммы, были даже текстовые описания. Это было низкоэффективно, требовало изрядно времени и усилий для обработки. Потом пришёл MES и понемногу всё закрутилось. Для MES-интерфейсов потребовался новый подход, т.к. в мире нет унифицированных решений для их разработки.

Чтобы внедрить мнемосхемы на производстве, пришлось изрядно поработать. Но задача была вдохновляющая, и оно того стоило.

Читать далее

Давайте писать качественный код: важность статического анализа кода

Level of difficultyEasy
Reading time5 min
Views6.1K

Привет, Хабр! Меня зовут Данил. Я frontend-разработчик департамента корпоративных систем ЛАНИТ, который очень любит порядок в коде. На мой взгляд, именно выразительность и чистота кода позволяют ему лучше работать и дольше жить.

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

Читать далее

Пара шаблонов кастомизированных элементов Handlebars для Apache Superset

Level of difficultyMedium
Reading time9 min
Views6.9K

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

С его помощью можно внедрить web-верстку прямо в ваши дашборды, обходя множество подводных камней. Готовых шаблонов для handlebars (superset) мало, так как это довольно трудоемкая задача, часто выходящая за рамки работы с готовыми BI-системами.

Читать далее

Безымянная логика

Level of difficultyHard
Reading time17 min
Views2.2K

Почти две с половиной тысячи лет назад Аристотель положил начало науке логике, сформулировав три закона: тождества, противоречия и исключенного третьего. Закон тождества (кратко А=А) гласит, что всякая мысль (назовем ее А) в процессе рассуждения должна быть тождественна самой себе и не должна меняться в процессе рассуждения. Закон противоречия (А и не А — ложь) запрещает двум противоречивым суждениям быть одновременно истинными. Закон исключенного третьего (А или не А — истина) говорит, что всегда верно суждение или его отрицание.

Продемонстрируем суть трех законов логики на примере кода на языке программирования С. Символ А — это имя, присвоенное переменной типа bool (логическая единица), которая принимает значения 0 (ложь) или 1 (истина). Закон тождества (А=А) гласит, что, если логической переменной А присвоено определенное значение (0 или 1), то это значение должно сохраняться постоянным на протяжении всего использования его в математическом выражении. Например, в коде...

Читать далее

Датчик объёма на основе резонанса Гельмгольца (микрофон = датчик объёма)

Level of difficultyEasy
Reading time6 min
Views7K

Что общего между скрипкой и крылатой ракетой ФАУ-1?

Ответ прост - резонатор Гельмгольца.

На основе физических эффектов можно создавать различного рода датчики.

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

Читать далее

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

Level of difficultyEasy
Reading time11 min
Views3.2K

Когда проводится один статистический тест на значимость различий, всегда есть шанс (ошибка первого рода = 5%, на уровне значимости p=0.05) получить ложный положительный результат случайно. Эта ошибка означает, что мы можем ложно утверждать, что значимое различие существует, притом, что в реальности этой значимости нет.

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

Предположим, что делается 20 однотипных тестов. Вероятность того, что получится ложный положительный результат равна 1 - (1 - 0.05)^2064%.

Как контролировать ошибки читать далее

Металл и алгоритм отжига

Level of difficultyMedium
Reading time3 min
Views2.6K

Вступление

Тема искусственного интеллекта стремительно набирала популярность, но реализация алгоритмов используемых в ИИ часто бывает сложной и запутанной. В этой статье я продемонстрирую реализацию алгоритма Брайна Люка "Отжиг"применив современные практики и технологии для сокращения исходного кода.

Понимание Алгоритма Отжига

В области алгоритмов оптимизации выделяется Алгоритм Отжига (Симулированный Анализ) - мощная техника, вдохновленная физическим процессом в металлургии, позволяющая улучшить кристаллическую структуру материалов.Идея заключается в том, чтобы начать с высокотемпературной системы с постепенным охлаждением и переходом к минимальной энергии.Разработанный Брайаном Луком в конце 1980-х алгоритм нашел широкое применение в различных областяхот инженерии и информатики до финансов и биологии, благодаря способности эффективно искать оптимальные решения в сложных пространствах.

Реализация

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

Рассмотрим фазы алгоритма:

Читать далее

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Level of difficultyMedium
Reading time11 min
Views69K

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

Когда спрашиваю у людей на собесах, или когда в команде решаем, как клепать очередной проект, такое порой слышу, что становится страшновато. Мне кажется, лет через 5 все компании будут обитать в мультивселенной безумия из “микросервисов”, которую они себе радостно построили, уходя от этих ваших страшных “монолитов”.

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

погрузиться в микросервисы

Нефть глазами аналитика данных

Level of difficultyMedium
Reading time6 min
Views3.9K


Любите ли вы работать с данными, как люблю это делать я? Страдаете ли вы также от несовершенства инструментов для анализа данных? И вот, буквально в первых строках, я понимаю, что мне надо быть очень аккуратным, дабы не задеть чувства, к примеру, фанатов Excel или Notepad++. Попытаюсь исправить ситуацию: Эксель великолепен! Лучшая low-code система! Notepad++ бесподобен… но попробуйте поработать этими инструментами с данными размером с один миллион строк… эх, не удержался. Ну и раз статья обещает быть провокационной, добавлю еще огоньку: я хочу продемонстрировать, как обрабатывать и анализировать данные по всем обезличенным сделкам по нефти. Взглядом аналитика покажу, как крупный капитал управляет рынком. И да, я хочу, чтобы такая возможность была доступна не только корпорациям с их ресурсами, а обычному пользователю с ноутбуком. Текст статьи не является инвестиционной рекомендацией, все совпадения случайны.
Читать дальше →

От кода до сертификата: Создание веб-приложения на Python Flask для автоматизации выдачи сертификатов

Reading time9 min
Views5.6K

Привет всем! Меня зовут Дмитрий. Я надеюсь, что статья будет полезной и интересной для вас(не пинайте сильно, первый опыт, мысли путаются). Тема моей статьи — создание веб-приложения на Python Flask для автоматизации выдачи сертификатов и вдохновился написанием ее после прочтения Почта без хлопот: автоматизация отправки писем с помощью Python

Читать далее

Отстаивание прав после дискриминации по национальному признаку в ЕС

Level of difficultyEasy
Reading time8 min
Views17K

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

Читать далее

Панорама матричных расширений: от x86 до RISC-V

Reading time15 min
Views9.9K

Матричное расширение ISA CPU… Что это и что оно делает? Уже из названия понятно, что это расширение позволяет ускорять операции над матрицами на CPU. Но задумывались ли вы когда-нибудь, какие они бывают, когда появились, кто и как их создает?

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

Матричные расширения появились не так давно — чуть более трех лет назад. Несмотря на это, они есть у каждой уважающей себя процессорной архитектуры, в том числе и у относительно молодой открытой RISC-V. Почему их так много и чем они отличаются? Поддерживаются ли разреженные матрицы? Об этом и многом другом вы узнаете из статьи. Приготовьтесь, будет интересно и (спойлер!) без многоэтажных формул. 

Читать далее

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 1: Live Coding

Level of difficultyMedium
Reading time14 min
Views32K

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

В данной статье разберемся что такое live coding интервью и как к нему готовиться.

Материал в первую очередь будет полезен Data Scientist'ам и ML инженерам, при этом некоторые разделы, например, Алгоритмы и структуры данных подойдут всем IT специалистам, которым предстоит пройти секцию live coding.

Читать далее

Как я с помощью AI за месяц разработала и внедрила систему учета для школьной столовой

Reading time8 min
Views11K

История о том, как я с помощью AI превратила идею из родительского чата в работающее full-stack приложение для школьной столовой. Делюсь всем процессом: от первых шагов до реальных результатов внедрения приложения. Спойлер: очереди в столовой сократились на 30%, а родители наконец-то узнали, что едят их дети 😊

Читать далее

Вызов функций в Ollama

Level of difficultyMedium
Reading time7 min
Views5.7K

Для Ollama доступно множество интеграций. Одна из популярных — Open WebUI. Это веб-интерфейс для управления Ollama, предлагающий широкие возможности и гибкие настройки. Недавно в Open WebUI появилась поддержка плагинов Pipelines, которая позволяет вызывать функции.

Читать далее