Pull to refresh
5
0
Михаил @Alhart

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

Send message

Related Works в научной статье и диссертации. Зачем и как искать материалы

Level of difficultyEasy
Reading time9 min
Views3.4K

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

Читать далее

Конспект по архитектуре ПО и System Design

Level of difficultyMedium
Reading time1 min
Views36K

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

Можно сказать, что это взгляд на System Design с точки зрения фронтенд-разработчика, который пытается разобраться в теме.

Читать статью целиком

Связи между таблицами базы данных

Reading time9 min
Views730K

1. Введение


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

1.1. Для кого эта статья?


Эта статья будет полезна тем, кто хочет разобраться со связями между таблицами базы данных. В ней я постарался рассказать на понятном языке, что это такое. Для лучшего понимания темы, я чередую теоретический материал с практическими примерами, представленными в виде диаграммы и запроса, создающего нужные нам таблицы. Я использую СУБД Microsoft SQL Server и запросы пишу на T-SQL. Написанный мною код должен работать и на других СУБД, поскольку запросы являются универсальными и не используют специфических конструкций языка T-SQL.

1.2. Как вы можете применить эти знания?


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

2. Благодарности


Учтены были советы и критика авторов jobgemws, unfilled, firnind, Hamaruba.
Спасибо!

3.1. Как организовываются связи?


Связи создаются с помощью внешних ключей (foreign key).
Внешний ключ — это атрибут или набор атрибутов, которые ссылаются на primary key или unique другой таблицы. Другими словами, это что-то вроде указателя на строку другой таблицы.

3.2. Виды связей


Связи делятся на:

  1. Многие ко многим.
  2. Один ко многим.
    • с обязательной связью;
    • с необязательной связью;
  3. Один к одному.
    • с обязательной связью;
    • с необязательной связью;

Рассмотрим подробно каждый из них.
Читать дальше →

Требования не меняются, это мы их недовыявили. 10 техник проверки полноты требований

Reading time26 min
Views26K

Требования, конечно, меняются. Иногда. Но гораздо чаще случается, что мы не до конца выяснили у заказчика и стейкхолдеров все требования, оставив множество умолчаний.

В этой статье я опишу примеры подобных ситуаций и расскажу о техниках, позволяющих задать нужные вопросы, выявить максимальное количество требований на ранних этапах анализа, обсудить со стейкхолдерами нужность этих требований и их приоритеты. Как правило, после применения всех техник в 1,5−2 раза возрастает объём требований и юзкейсов для обсуждения — и это одна из основных задач аналитика: задать все вопросы и выяснить все детали до начала проектирования и разработки системы.

Возможно, многие подходы вы уже применяете, а о некоторых даже не слышали; я попробую свести их в единую систему.

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

Читать далее

REST, что же ты такое? Понятное введение в технологию для ИТ-аналитиков

Reading time17 min
Views398K

Проектирование и работа с REST-сервисами стали повседневными задачами для многих аналитиков. Однако мы часто встречаемся на работе с различными или даже противоречащими друг другу трактовками таких понятий, как REST, RESTful-сервис, RESTAPI.

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

Выясним, почему существует терминологическая путаница вокруг REST и как нам научиться лучше понимать коллег.

Поговорим о том, как связаны HTTP и REST. А также почему REST противопоставляют SOAP.

Читать далее

Как продакту эффективно построить RoadMap. Пошаговая инструкция

Level of difficultyEasy
Reading time4 min
Views5.4K

Roadmap или дорожная карта продукта — это не только расписанный план деплоя фичей, это по сути стратегия и тактика на поле боя. Это огромная система фреймворков, методологий и артефактов, в конченом счете визуализированная в виде диаграммы Ганта, таблицы в конфлюенсе с эпик+релиз или ином виде.

Читать далее

Меня собирались уволить, но я их переиграл. Как я победил дедлайны, переработки и хаос с помощью этих 6 правил

Level of difficultyEasy
Reading time11 min
Views133K

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

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

На этом моя карьера могла закончиться — но я нашёл выход. 

Читать далее

Цифровизация без сокращений: MES и новая эра управления персоналом

Reading time9 min
Views4.8K

Кадровый дефицит — хроническая болезнь российской промышленности. Токарь не вышел на смену, смена не вышла целиком, план сорвался, клиенты ждут, а конкурент дышит в спину. Вдобавок к этому проблемы с нехваткой ресурсов, недостаточная квалификация у вышедших, нет сырья/материалов на складе (но не в учете) и много чего ещё. Но что, если решение может лежать не в плоскости найма людей, а в использовании умных систем? Например, MES может взять на себя часть работы и дать предприятиям возможность не просто продержаться в экономически сложной ситуации , но и стать сильнее. Но, разумеется, есть нюансы… Про них сегодня и расскажу.

Читать далее

Исследование 2000 вакансий и резюме технических директоров

Level of difficultyMedium
Reading time7 min
Views14K

Для этого исследования мы спарсили около 2000 вакансий и резюме технических директоров (CTO) в РФ. Мы выделили основные отличия вакансий от резюме и определили, какие наиболее популярные слова используются в описании навыков, должностей и обязанностей. Мы построили карту навыков этой профессии. А главное – посмотрели, как работодатели и соискатели оценивают всё это в деньгах.

Читать далее

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

Reading time6 min
Views30K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views6.8K

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views8.3K

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

Читать далее

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

Level of difficultyEasy
Reading time12 min
Views2.7K

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

Читать далее

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

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

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

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

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

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

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

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

Level of difficultyMedium
Reading time7 min
Views14K

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

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

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

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

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

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

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

Level of difficultyEasy
Reading time6 min
Views32K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views24K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time6 min
Views667K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать 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 и поделятся своим опытом использования этой модели. Все остальные части можно будет найти в моем телеграм канале, поэтому приглашаю подписаться что бы не пропустить, а вам приятного чтения.

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

Information

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

Specialization

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