Pull to refresh

Technotext

Как я стал тестировщиком SAP: мой опыт тестирования SAP в РСХБ-Интех

Level of difficultyMedium
Reading time9 min
Views4.1K

Привет, Хабр. Меня зовут Василь Хамидуллин, я работаю в ЦК тестирования решений на платформе SAP в компании РСХБ-Интех. Сегодня я поделюсь опытом тестирования бизнес процессов, внедряемых модулей SAP, в банке.

Читать далее

Физика вращения 3д тел

Reading time11 min
Views12K

Когда я раньше задумывался о вращении в 3д, мне было неуютно. Оно казалось сложным. Вспомнить, например, эффект Джанибекова с прецессией свободно вращающейся гайки. Настало время разобраться!

В статье Вас ждут математика, физика, а заодно численное моделирование и визуализация в libgdx.

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

Читать далее

Что вы знаете о символьном программировании?

Level of difficultyMedium
Reading time15 min
Views18K

Кликбейтный заголовок, риторический вопрос и обещание раскрыть тайну! Не самый лучший набор, но нормального названия для статьи мне в голову не пришло. Что же здесь все таки будет? Речь пойдет о реализации символьного программирования в Wolfram Language (WL). Я не буду рассказывать про отличия от других парадигм. А также здесь точно не будет общих определений. Вместо этого я попытаюсь ответить на несколько вопросов исходя из своего личного опыта и наблюдений.

Внимание! Я не математик и не знаю haskell и lisp! И буду рад если меня поправят настоящие математики, которые с ними знакомы.

Читать далее

Недостатки и предложения по улучшению метода анализа иерархий

Level of difficultyMedium
Reading time8 min
Views2.5K

В данной статье выполнен обзор метода анализа иерархий (МАИ) Т.Саати в части формирования экспертами матриц парных сравнений, выявлены недостатки и разработаны рекомендации по совершенствованию МАИ.

Один из недостатков МАИ - возможное существенное отклонение элементов матрицы парных сравнений, установленных экспертами, от своих рангов, что не предусматривается МАИ и привело Т. Саати к ошибке в демонстрационном примере выбора варианта покупки дома, которую он исправил в 2015 году. Метод парных сравнений основан на так называемой шкале относительной важности, имеющей серьезные противоречия в практической реализации конкретных проектов, закономерно приводящиеся к ошибкам, что продемонстрировано на конкретном примере. Элементы матриц парных сравнений (МПС), заполненные экспертами и вычисленные через промежуточные парные отношения соседних элементов МПС всегда будут отличаться, что является противоречием.

Эксперт, как и любой человек, понимает простые меры отличия при выполнении парной процедуры сравнивания: больше, меньше и равно с учётом погрешности измерений или субъективного индивидуального (коллективного) восприятия и объяснения различия. Также он может учитывать свойство транзитивности парных отношений.

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

This article analyses T. Saaty's Analytic hierarchy process (AHP) in the part of formation of pairwise comparison matrices by experts, identifies shortcomings and develops recommendations to improve AHP.

Читать далее

Как найти себя в том, чем ты занимаешься

Level of difficultyEasy
Reading time9 min
Views8.5K

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

Читать далее

Как мы силами команды РСХБ построили свое облако

Level of difficultyEasy
Reading time6 min
Views6.8K

Привет, %Username%! Меня зовут Михаил Слотин, я главный архитектор в РСХБ-Интех (технологическая дочка Россельхозбанка) и один из создателей Частного Облака (ЧО) РСХБ. Сегодня расскажу вам, как мы работали над ЧО, почему потребовалось создавать новое решение вместо покупки готового и как мы сделали больше, чем планировали. Особо полезна, на мой взгляд, статья будет архитекторам и ИТ-менеджерам. Надеюсь, она поможет определиться, начать свою разработку или нет.

Читать далее

Как создать внутреннюю базу знаний для большой IT-компании. Из хаоса в гиперспейсы

Level of difficultyMedium
Reading time7 min
Views31K

Когда на вопрос «Что за фича?»‎ сказали: «Посмотри в Confluence!»‎

Привет! Меня зовут Таня Дудо, я менеджер продуктовых знаний в Selectel. В тексте расскажу, как решили создать внутреннюю базу знаний о продуктах и процессах для более 800 человек. Опишу, как к этому пришли, кропотливо выуживали важную доку из массива данных и придумали решение — гиперспейсы.

Мы развиваем базу знаний на Confluence, но подходы и решения, описанные в тексте, могут быть полезны в работе с другими площадками. Мемы и уроки из опыта — под катом.
Читать дальше →

Фоторамка-лабиринт. DIY-подарок — головоломка с секретом

Reading time9 min
Views4.5K


В 2015 году я прочитал статью @AlexeyStn про открытку-лабиринт — подарок, который невозможно открыть, не разгадав головоломку. Восемь лет спустя я повторил этот DIY-проект на новом технологическом уровне. Получилась 3D-печатная фоторамка с секретным отделением для подарка и длинной историей создания.


В процессе я сломал 3D-принтер, столкнулся с загадочными багами Cura, чуть не поругался с косплеерами и, кажется, наступил на все возможные грабли, но успел до Нового года. А теперь вот написал эту статью.

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

LAN-party для пентестеров: прорываемся к домен контроллеру через розетку

Level of difficultyMedium
Reading time7 min
Views21K


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


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

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

Зеркалирование GitHub-проектов в 2023 году

Reading time5 min
Views11K

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

Читать далее

Как рисовать мозаики типа «эйнштейн»

Level of difficultyMedium
Reading time39 min
Views3.4K

На немецком «эйнштейн» звучит как «один камень». Один - «ein», камень - «Stain». Всем известно, что под этой фамилией жил один замечательный человек, и звали его ... Но в статье речь не о нём. Речь о математической задаче по поиску одной плитки, такой чтобы составленная из неё мозаика была непериодической. «Один камень» - это про плитку. В мозаике Пенроуза таких плиток две, а хотелось бы возможности использовать только одну. Не вдаваясь в детали можно сказать, что задача одной плитки в этом году (2023) решена. Получены интересные красивые мозаики.

Сначала была найдена «шляпа эйнштейна» - плитка, похожая на шляпу. Или, по моему скромному мнению, на рубашку. Из неё можно сделать отличную непериодическую мозаику. Только, для построения используются как сами шляпы, так и их зеркальные отражения. Считать ли это одной плиткой? Можно и не считать.

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

Оказалось, такая мозаика, в которой есть одновременно и шляпы и черепахи, при обмене формой в момент, в котором длина граней становится одинаковой, составлена из плиток полностью одинаковой формы. То есть, существует ещё одна непериодическая мозаика, в которой плитка используется уже без своего зеркального отражения. Плитка, у которой грани модифицированы так, что она позволяет только непереодическое сложение названа «Spectre» (призрак). Задача решена, теперь уже точно.

Читать далее

Цифровая трансформация цементного завода (ч.8): автоматическая MES-система

Reading time13 min
Views2.9K

Год назад я рассказывал о создании цифрового помощника оператора, а сегодня речь пойдет о разработке собственной MES‑системы, которая его заменила и автоматически управляет качеством на производстве.

Читать статью >>

По локоть в легаси: пошагово перезапускаем устаревший портал на PHP

Level of difficultyMedium
Reading time10 min
Views14K

PHP — один из самых популярных языков веб-разработки уже около 20 лет, а самому языку скоро стукнет 30. За это время на нем написали огромное количество больших и маленьких проектов. Некоторые сайты, созданные в 90-х, 00-х и 10-х, хранят код еще с тех давних времен. И чем больше времени проходит с начала разработки, тем меньше на рынке специалистов, готовых разбираться в легаси и не самых современных технологиях.

В похожей ситуации оказался портал fishingsib.ru — один из крупнейших в рунете сайтов о рыбалке, который посещают больше 10 000 человек ежедневно. Он создавался в начале 2000-х как форум для рыбаков-любителей и пережил несколько довольно серьезных обновлений кодовой базы. Последнее из них — переезд на CakePHP 2 в 2012 году. На этом фреймворке и PHP 5 сайт жил до 2017 года.

Владелец fishingsib.ru планировал поддерживать и развивать сайт, внедрять новую функциональность, однако столкнулся с техническими проблемами. Любые доработки были очень долгими из-за неудачных архитектурных решений и сильной зависимости от устаревающего и не особенно популярного CakePHP 2. После каждого обновления появлялось множество багов. В то же время не удавалось найти новых разработчиков, потому что большинство специалистов не хотели работать в проекте с неактуальным стеком. Развитие проекта сильно замедлилось и стало понятно, что с технической частью нужно что-то делать.

Читать далее

Сам себе DevOps: как разобраться с доступами в Yandex Cloud

Reading time16 min
Views17K

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

Но что делать, если тот самый человек, которому нужно всё настроить — это вы сами? Для этого разберёмся с базовыми особенностями ресурсной модели в Yandex Cloud.

Читать далее

Как превратить DevOps-пайплайн в DevSecOps-пайплайн. Обзор концепции Shift Left

Level of difficultyMedium
Reading time12 min
Views12K

Привет, Хабр! Меня зовут Алексей Колосков, я DevOps/Cloud-инженер в Hilbert Team. Вместе с моим коллегой Михаилом Кажемским в этой статье мы расскажем об особенностях DevSecOps-пайплайна и концепции Shift Left. Вы узнаете об основных этапах DevSecOps-пайплайна, автоматизированных проверках безопасности при разработке ПО, бесплатных и опенсорс-инструментах. Также найдёте советы, которые помогут раньше обнаруживать уязвимости и улучшать безопасность приложения. 

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

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

Опыт работы с данными или с чем может столкнуться аналитик

Level of difficultyEasy
Reading time8 min
Views4.6K

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

Но вначале придется разобрать извечные вопросы: кто же такие аналитики, что такое данные и понять – должны ли они быть вместе?

Читать далее

Обзор книги «С++ 20 в деталях»: доступно, но не для джунов

Reading time8 min
Views23K

Привет, Хабр! Меня зовут Дмитрий Луцив, я работаю в СПбГУ на кафедре системного программирования, веду ряд IT-дисциплин на математико-механическом факультете в лабаратории компании YADRO и помогаю вузам актуализировать образовательные программы под задачи индустрии.

Я давно не программировал на С++, но стараюсь не отставать от изменений, происходящих в языке. Книга «C++ 20 в деталях» заинтересовала меня личностью автора (на секунду, это Райнер Гримм) и возможностью познакомиться с новым источником знаний о «плюсах». Решил ее прочитать, чтобы понять, кому материал будет полезен и могу ли я его рекомендовать. Под катом расскажу, что в книге хорошего, а что можно было бы сделать лучше, а также дам список дополнительных источников для специалистов разного уровня.

Читать далее

Решаем задачу асинхронного ввода-вывода с библиотекой Asio

Level of difficultyMedium
Reading time10 min
Views9.8K

Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. 

На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и низкоуровневого программирования ввода-вывода. Она предлагает свою асинхронную модель. Технология отлично справилась с нашей задачей, и я хочу поделиться с вами опытом ее использования. Под катом расскажу, какие решения я рассматривал для асинхронного ввода-вывода и почему остановился на Asio.

Узнать больше →

TMS на замену TestRail: писали для себя, а выложили в open source

Level of difficultyEasy
Reading time9 min
Views17K

В прошлом году TestRail прекратил предоставлять и продлевать лицензии компаниям из России, поэтому мы в YADRO решили разработать собственную тест-менеджмент систему TestY. Опирались на опыт работы с другими сервисами, чтобы добавить тот функционал, которого не хватало нашим командам тестирования. За несколько месяцев написали core-часть системы и выложили ее в open source, чтобы другие компании и разработчики, для которых актуален вопрос лицензионной чистоты используемого софтай, пользовались решением и развивали его.

В этой статье рассказываем об отличиях TestY от других TMS и преимуществах нашей системы для команд любого размера. Спойлер: в TestY могут одновременно работать 300 тестировщиков — система справляется. Для тех, кто хочет опробовать TestY в своей команде, в конце статьи есть короткая инструкция, как ее развернуть.

Читать далее

Какого цвета интернет: история смены окраски веб-страницами

Level of difficultyEasy
Reading time11 min
Views19K

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

Читать далее