Search
Write a publication
Pull to refresh
5
0
Михаил @Alhart

Инженер-конструктор, руководитель проектов.

Send message

Разбираемся в проектировании микросервисов. Основные паттерны (Часть 1)

Reading time6 min
Views30K

Привет, Хабр!

Меня зовут Сергей Громов, я работаю в IT уже 30 лет. Прошел путь от программиста на Assembler и преподавателя до ведущего системного аналитика.

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

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views6.9K

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

Читать далее

UML для всех: почему бы не описать проект на языке диаграмм?

Level of difficultyEasy
Reading time6 min
Views8.4K

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

Читать далее

Внедрение методики решения проблем 8D на производственном предприятии в виде SRM/ERP-систем/Часть 1

Level of difficultyEasy
Reading time12 min
Views2.8K

На подготовку данной заметки меня натолкнула картина, которую я наблюдал совсем недавно в скоростном, двухэтажном поезде АО «ФПК» по направлению Новороссийск-Москва. Состав из 15 новых вагонов, произведенных на Тверском вагоностроительном заводе (ТВЗ, входит в состав АО «Трансмашхолдинг»). Серийно их делают с 2011 года, на рельсы они встали в 2013.

Читать далее

Что вообще такое — АСУТП на заводе

Reading time9 min
Views37K
Все же знают, что такое АСУТП? Обычно бывает так: все что-то слышали, но никто точно не знает, как вся эта история работает. Мы в целом тоже не до конца знаем, но можем рассказать о практике.

image
Платы старого и нового контроллера

Начнём с того, что во всём виноват пар. Первые заводы были незамысловатыми: вода или ветер вращали колёса, они передавали движение на кузнечные меха, пилу, молот, жернова или пресс для масла. Если ветра или воды не было, то часто можно было запустить тот же процесс с ослика. А вот с появлением паровых машин появились изобретатели, которые стали пытаться прикручивать какую-то базовую автоматизацию. Жидкостные компьютеры мы сейчас пропустим и сразу перейдём к электричеству. Электричество в районе 60-х дало возможность делать логические схемы: сначала — на лампах, а потом куда более массово в районе 70-х — на транзисторах.

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

Всё, конечно, чуть сложнее, но теперь вы уже разбираетесь в АСУТП.

Сейчас поговорим про такие детали, как операционные системы реального времени, которые нужны, чтобы всё это работало правильно.
Читать дальше →

Писать код для компьютеров сложно, ещё сложнее — писать код для людей

Level of difficultyMedium
Reading time7 min
Views15K

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

А теперь немного усложним задачу. Будем писать код для людей!

Объясню, что я имею в виду: я говорю о коде, с которым смогут взаимодействовать другие люди. В частности, я имею в виду искусство создания удобных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или даже языков программирования.

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

Ричард Фейнман как-то сказал: «Представьте, насколько сложнее была бы физика, если бы электроны имели чувства». Он говорил это в другом контексте, но мне кажется, это частично описывает и программирование для людей. У человека, интерпретирующего твой код, есть чувства!

Давайте поговорим о том, как упростить ему задачу.
Читать дальше →

BPMN 2.0 универсальный подход при построении диаграмм

Level of difficultyEasy
Reading time6 min
Views33K

Я написал этот гайд для использования аналитиками в компании (мы интегратор решений 1С в медицине), как настольная шпаргалка и некий базовый «стандарт унификации» формируемых диаграмм данного типа.

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

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

Читать далее

Как простой Python-скрипт с использованием ИИ может оптимизировать ваш рабочий процесс

Level of difficultyEasy
Reading time6 min
Views24K

Программисты не понаслышке знают, как важно периодически давать отдых уставшим запястьям. И в этом случае возможность диктовки текста – будь то во время длительных сессий программирования или в стремлении к более эргономичной организации работы – может стать настоящим спасением. В данном туториале я вместе с вами подробно рассмотрю процесс создания современного инструмента для транскрибации речи в текст на языке Python, отличающегося высокой скоростью и точностью благодаря использованию ИИ, а именно API Whisper от Groq.

Наша цель – разработать скрипт, работающий в фоновом режиме и позволяющий активировать голосовой ввод в любом приложении простым нажатием кнопки. После отпускания кнопки скрипт мгновенно преобразует речь в текст и автоматически вставит его в активное поле ввода. Таким образом, мы получаем возможность голосового ввода практически в любом вашем приложении.

Приятного прочтения!

Читать далее

Чиним замедление YouTube на уровне роутера

Level of difficultyMedium
Reading time6 min
Views668K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее

5 шагов к оформлению интеллектуальной собственности в IT-стартапе для привлечения инвестиций

Reading time16 min
Views8.3K

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

Проблема российских стартапов в том, что в головах их участников укоренили мысль: "Защита интеллектуалки и ее последующая монетизация возможна только с помощью патента", – это вызывает new big aim получение патента, чтобы опираться на него при получении инвестиций и выходить на рынок под защитой.
На деле способ охраны (авторское право, патент, товарный знак, ноу-хау) – это всего лишь способы для защиты технологии, а не цель.

В статье даны пошаговые инструкции, как стартапу правильно проработать свой продукт и защитить права на него в сжатые сроки (до недели) и без глобальных трат, чтобы повысить стоимость проекта на 30%, выходить на питчинги с доказательствами правообладания на продукт и без боязни стать донором идей на рынке!

Читать далее

Графы в рекомендательных системах [часть 1]

Level of difficultyEasy
Reading time8 min
Views5.7K

Привет, ХАБР! Недавно я писал научную статью с AIRI по графовым рекомендательным системам. Это был мой первый практический опыт работы с этой технологией, поэтому пришлось углубиться в исследования и изучение доступных материалов. Я решил, что пока я разбираюсь в этой теме, было бы полезно поделиться своими находками с вами.

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

📖 Идем разбираться!

Как сделать дашборд в FineBI за 15 минут? Инструкция по созданию визуализаций

Reading time4 min
Views4.6K

FineBI – флагманская self-service платформа для бизнес-аналитики от китайского разработчика FanRuan, которая предлагает функциональность, удобство использования, широкие возможности масштабирования и легкую интеграцию с различными источниками данных.

Рассказываем, как создать простой дашборд в BI-платформе FineBI.

Читать далее

Как подружить Python и САПР «SolidWorks». Часть 1 – Знакомство

Level of difficultyMedium
Reading time4 min
Views7.1K

Всем привет!

Решил немного отойти от своей любимой темы нейронных сетей и написать небольшой скрипт на Python для работы с конструкторской документацией в САПР «SolidWorks». Так как изначально у меня инженерное образование, то мне периодически приходится заниматься конструкторской деятельностью и, по своему опыту, я знаю, как много иногда приходится тратить времени для оформления чертежей и сохранения их в формате pdf или dwg (особенно, если мы говорим о большом количестве деталей сборок). И тут я подумал, почему не упростить жизнь себе и своим коллегам-конструкторам и не подружить Python и SolidWorks.

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

Работа будет состоять из двух основных частей (соответственно и статей будет две):

Часть 1 – Создание общей базы для работы с SolidWorks, написание простого графического интерфейса на tkinter, реализация возможности сохранения чертежей в форматах pdf и dwg.

Часть 2 – Реализация возможности автоматизированного заполнения полей таблицы чертежей из единого excel файла, и самая интересная фича этого проекта: автоматическое создание чертежей деталей из 3D-моделей (для начала реализация простых деталей из листового металла).

По итогу «завернём» программу в один .exe файл для возможности использовать на любых машинах.

Читать далее

200 таблиц в одном дашборде: как мы создаём проект визуализации данных медицинской статистики

Level of difficultyEasy
Reading time9 min
Views11K

Хабровчане, приветствую! Меня зовут Андрей Иванов, я системный аналитик в сфере медицины и здравоохранения. До 2005 года работал врачом, потом руководил медицинским информационно-аналитическим центром. Спустя время возникла настоятельная потребность научиться делать самостоятельно то, чем прежде приходилось руководить, — так я поступил на курс «Системный аналитик» в Практикуме.

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

Читать далее

Как правильно визуализировать данные, чтобы принимать эффективные решения?

Reading time10 min
Views16K

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

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

Читать далее

Если процесс нельзя роботизировать, то он кривой

Reading time7 min
Views8.5K
image

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

Почему так? Ну например, уйдёт на больничный единственный человек, который знает, как что-то делать. И всё. Если знания хранятся не только в его голове, это не проблема. То есть должна быть инструкция или что-то похожее — а это значит, что можно роботизировать по такому артефакту.

Если вам тревожно уходить в отпуск — это тоже оно. Это ваши знания куда-то не переложены.

Если вашу работу можно было бы роботизировать (хотя бы в теории), то пускай с качеством ниже, но она выполнялась бы.

Ещё два признака: мелкое изменение приводит к резкому увеличению трудоёмкости — и никто точно не знает, кто и в какой конкретно момент принимает решение.

Попробуйте проверить процесс на роботизируемость:

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

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

Это примерно одно и то же. И подход один и тот же — надо вовремя что-то с этим делать. Лучше раньше.

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

Как оплатить VPN из России рублями

Reading time2 min
Views49K

С прошлого года пользователи VPN в России оказались перед дилеммой: западные VPN-сервисы больше не принимают российские карты, а российские VPN-сервисы бесполезны для тех, кто хочет без ограничений пользоваться запрещёнными социальными сетями и читать запрещённые сайты. Впрочем, слава людской предприимчивости — спрос родил предложение. В случае Xeovo VPN, являющегося финской компанией, сейчас есть два способа оплатить его из России без особого труда: криптовалютой на сайте xeovo.com или рублями через VPNay.io.

Гид по оплате криптой мы сделали в посте «Как оплатить VPN криптовалютой», но если же нужен просто VPN, то проще воспользоваться партнёрским сервисом VPNPay, который принимает СБП, карты МИР, старые Визы и Мастеркарды, Qiwi и Юмани.

Читать далее

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views324K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее

Как мы создавали и внедряли свою матрицу компетенций

Reading time7 min
Views27K

Привет, Хабр!

Сегодня поговорим про матрицы компетенций и, как мы их внедряли в «Рексофт». Мы уже рассказывали про матрицу Android-программиста, и как мы вводили кросс-интервью при повышении грейда, а сегодня я расскажу, о том, как все начиналось и куда мы пришли. Итак, поехали!

Читать далее

Приходите к нам на завод, у нас тяжело

Reading time10 min
Views141K
Короче, ИТ на заводе — это вам не романтика, особенно в нашем цифровом направлении.

Между «давайте этим займёмся» и «о, смотрите, какая гламурная ML-модель» лежит очень много того, про что не рассказывают. Сейчас расскажу.

Вначале у нас была банда энтузиастов из разных подразделений: несколько человек из ИТ, АСУТП, технологи со знанием статистики — чтобы смотреть с разных углов и видеть всё в целом, насколько это возможно. Начали с оценки перспектив. Они были необъятные — наше производство размером с небольшой город. Стали формироваться подразделения и направления: кто-то пошёл собирать роботов, кто-то в видеоаналитику, кто-то в лайтовый анализ данных, кто-то в самый хардкор — в дата-сатанизм. Работы у нас всегда больше, чем рук.

И на каждой из этих дорожек нас поджидали свои чудеса и сюрпризы.

Вот, к примеру, видеоаналитика:

  • Мы поняли, что ML в 50% задач не нужны. Нужна, например, камера, которая по цвету определяет, где есть железка, и смотрит её геометрию в реальности. Всё. Или другая камера, которая следит, чтобы в нужной зоне ничего не шевелилось.
  • Всё это прекрасно до первого солнечного зайчика. ML отлично показывают себя там, где вам лень строить крышу или ставить прожектор над конвейером.
  • У нас была идея, что мы можем сами в нейросети. Чуть не написали свой сервис для распознавания номеров вагонов. Казалось, делов-то на 20 минут, а у подрядчика это стоит 25 копеек за фото. Сделали свой, сферические вагоны в вакууме он определял хорошо. Потом приехало вот это:

image

А потом внезапно пошёл дождь. Знаете что? Вагоны под дождём становятся мокрыми. Это было неожиданно. Ещё они бывают после снега, битые, немытые, обновлённые криворукими малярами и ПРОЧИЕ. И в солнечных зайчиках тоже.

Мы накалывались на получении данных (кто сказал, что прошивка станка без костылей?), на роботизации, инфраструктуре, связи, на всём. Мы облазили весь завод, испачкались в солидоле, мазуте и масле. Но стали делать то, что должны, — оптимизировать мир.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Specialist
Lead
Python
SQL
SolidWorks
Kompas 3D
English
Design
CAD
Research work