Pull to refresh
12
0
Котейка Рыбкин @kreexus

Пользователь

Send message

Цикл статей по проектированию веб-сервиса

Reading time 2 min
Views 28K
Всем привет!

Мы, Денис Бесков (beskov) и Илья Поляк (ilyap1) начинаем публикацию цикла статей, посвящённых процессу проектирования веб-сервисов. Цикл построен вокруг 3-хуровневого процесса, в котором явным образом выделяются уровни анализа и проектирования:
  1. Бизнеса
  2. Продукта
  3. Технологий
Здесь, на хабре, достаточно хорошо освещается тема проектирования на уровне технологий. Мы хотим показать взаимосвязь этого уровня, видов работ и проектных решений с вышестоящими уровнями на примере сквозного демо-кейса — проектирования веб-сервиса бронирования билетов в кино, в разработке которого участвовал пару лет назад один из авторов.

Цикл статей построен вокруг избыточной документации по проекту (требования), которую разрабатывают внутренние сотрудники компании, содержит краткое описание теоретических аспектов и помогает ответить на следующие вопросы, которые могут у вас возникнуть в работе:
  1. Какими способами можно описывать требования к ПО?
  2. Какие из требований к системе обязательно необходимо включать в ТЗ, а без каких можно обойтись?
  3. Какие могут быть варианты при выборе форматов описания требований?
  4. Как зависит выбор вида описания требований от параметров (продолжительности, рисков и др.) проекта?
  5. Какого рода решения помогают принять соответствующие виды требований?
В цикле не рассматриваются аспекты заказной разработки ПО. Статья рассчитана на пользователей, которые работают в некорпортивной среде, т.е. не привязаны к каким-либо регламентам.
Читать дальше →
Total votes 24: ↑15 and ↓9 +6
Comments 8

Кейс «Проектирование веб-сервиса бронирования билетов». Бизнес-анализ. Описание существующих бизнес-процессов (AS-IS)

Reading time 2 min
Views 29K
После того как стало понятно, в какой ситуации мы находимся и кто является основными агентами, необходимо описать бизнес-процессы, которые требуют автоматизации или изменения. Это поможет понять, что и в какой последовательности происходит, в применении к данному кейсу — как в общем происходит покупка билета и бронирование?

III. Описание процесса в графической форме


В виде диаграмм бизнес-процесс можно описывать с помощью различных нотаций: ARISVAD и EPC, IDEF0, BPMN и др. Нотаций много, у каждой есть свои достоинства и недостатки, в рамках этой статьи эта тема не затрагивается.

Основной плюс использования диаграмм — наглядность. Основные минусы — сложно изображать все возможные варианты ветвлений и долго вносить изменения.


Посещение кинотеатра без предварительного бронирования билетов (в нотации VAD)


Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Comments 32

Простой автодеплой средствами Bitbucket Webhooks и PHP

Level of difficulty Easy
Reading time 3 min
Views 3.5K

В этой статье я покажу, как организовать простейший автодеплой на сервере. Для автодеплоя через Bitbucket Webhooks и PHP не нужно использовать какие-то сложные решения.

Для начала можно подумать, что git pull выполняется через PHP с помощью этого куска кода:

Читать далее
Total votes 7: ↑4 and ↓3 +1
Comments 20

LaraКурс для начинающих расхитителей гробниц

Level of difficulty Easy
Reading time 5 min
Views 7.2K

Laravel – один из наиболее популярных фреймворков для разработки на языке PHP. Если вы только начинаете свой путь в Laravel и хотите освоить этот мощный инструмент, то курс LaraКурс на YouTube может стать отличным помощником для вас. Курс разработан специально для разработчиков, которые не знакомы с Laravel и включает в себя все необходимые знания и навыки, чтобы начать создавать современные продукты на этом фреймворке. Его записал бэкенд-разработчик нашей Студии Флаг – Алексей Смирнов, который имеет богатый опыт в разработке на Laravel. В данной статье мы рассмотрим основные характеристики курса и то, что вы можете ожидать от него.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 2

Как создать приватные репозитории composer

Level of difficulty Medium
Reading time 4 min
Views 2.9K

Composer - это популярный менеджер пакетов для PHP, который используется для управления зависимостями в проектах. Он позволяет быстро и легко устанавливать и обновлять пакеты из публичных репозиториев Packagist. Однако, иногда бывает необходимо создать приватные репозитории Composer для хранения и управления собственными пакетами или зависимостями.

В этой статье мы рассмотрим, как создать приватные репозитории Composer, используя несколько примеров.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 9

Анализ и приоритизация задач в тикетной системе: реализуем красиво на PHP

Level of difficulty Medium
Reading time 8 min
Views 3.4K

Привет! Меня зовут Олег Мифле. Одной из команд, где удалось поработать за 7 лет с PHP, стала Customer Support. Мы автоматизировали анализ тысяч задач в день и оператору больше не нужно думать и включать голову для того, чтобы понять, какая задача прямо сейчас важна. О том, как работает приоритизация и что такое дерево игры, расскажу в статье.

На старте погружу в предметную область. Она непростая, но постараюсь быстро. Эта статья по моему докладу с PHP Russia 2022. Вот запись.

Читать далее
Total votes 20: ↑20 and ↓0 +20
Comments 0

Totum — open source, self hosted база данных для непрограммистов

Reading time 8 min
Views 13K

Инструмент для цифровизации бизнеса в момент, когда он вырос из XLS-таблиц

Универсальный UI, логика на основе простых кодов, автоматические действия, права доступа, логирование, API и куча всего остального 👍

На вашем сервере, легко изучаемая и масштабируемая вместе с ростом бизнеса 🎉

Вместо целой команды проект могут вести 1-2 специалиста ✌️

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

Лицензия: MIT (бесплатно)

Читать далее
Total votes 27: ↑21 and ↓6 +15
Comments 17

Как правильно использовать mysqli

Reading time 10 min
Views 21K

image


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


Кроме того, переводчик, также как и вы, считает, что PDO является более продвинутым API для работы с БД, чем mysqli. Но поскольку новички в подавляющем большинстве всё равно начинают с mysqli, то нужен хотя бы один нормальный материал по этому расширению. Не можешь противостоять — возглавь!


Не говоря уже о том, что в последнее время mysqli была сильно улучшена, и из совершенно неюзабельной превратилась в довольно сносную библиотеку, в которой из принципиальных отличий от PDO осталось разве что отсутствие именованных плейсхолдеров. Так что даже (особенно) если вы учили РНР 20 лет назад и всё знаете вдоль и поперёк, то всё равно сможете найти для себя что-то новое.

Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 28

Стеклянный коврик для мыши своими руками

Reading time 5 min
Views 45K


Стеклянный коврик для мыши обладает следующими достоинствами:

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

Есть и недостатки:

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

Чтобы стекло стало ковриком для мыши, т.е. чтобы сенсор мог считывать изображение поверхности, необходимо эту поверхность сделать матовой. Матирование стекла можно сделать тремя основными способами — химическим, пескоструйным и механическим с помощью абразивов.
Читать дальше →
Total votes 46: ↑44 and ↓2 +42
Comments 208

«Умный дом» на Arduino для бытовки

Reading time 23 min
Views 91K


Ничего необычного, просто очередной контроллер на Arduino. С датчиками, релюшками и веб-страничкой. Но и со своими особенностями и вполне конкретным практическим применением, хоть и довольно банальным — удалённое включение электроотопления на даче. Кавычки в заголовке не случайны, контроллер не является умным домом в текущем исполнении, но служит хорошей базовой заготовкой для него. (прим. — эта фраза добавлена 12.04.18 по результатам комментариев).

Ключевые особенности:

  • Датчик параметров электросети — счётчик электроэнергии «Нева» по RS-485;
  • Удалённая модификация web-страницы управления, лежащей на SD-карте;
  • Надёжное включение группы датчиков температуры Dallas на длинных линиях;
  • Графики изменения параметров без привлечения облачных сервисов;
  • Отказоустойчивые решения (внешний вотчдог, ИБП, авторестарт роутера);
  • Защита изернет-шилда от зависаний при помехах от силовых реле;
  • Законченная конструкция в корпусе на DIN-рейку.
Далее о принципах построения системы и о её реализации
Total votes 41: ↑41 and ↓0 +41
Comments 80

Шуруповёрт с ДВС. Just for fun

Reading time 1 min
Views 53K


Видеоблоггер Agent Diego как-то в шутку показал на своём канале «дизельный шуруповёрт», который на самом деле дымился из-за неисправности электродвигателя. Но в каждой шутке есть доля правды — и вот другой видеоблоггер, под ником Johnnyq90, изготавливает шуруповёрт, действительно работающий от ДВС.
Читать дальше →
Total votes 39: ↑35 and ↓4 +31
Comments 65

Тарельчатый шлифовальный станок

Reading time 8 min
Views 24K


До начала работ я подробно изучал конструкции подобных станков, просматривал статьи и видео на эту тему. Одно время размышлял о покупке, но решил все таки изготовить устройство самостоятельно. Цели ставил следующие: с одной стороны — получить станок для шлифовки небольших деталей из мягких материалов (дерево, текстолит, фанера); с другой – поучиться разрабатывать и проектировать подобные изделия (практический опыт в конструировании).
Читать дальше →
Total votes 35: ↑35 and ↓0 +35
Comments 52

История создания домашнего облака. Часть 4. Актуализация 2018 – Debian 9 и Nextcloud 13

Reading time 15 min
Views 28K
С момента публикации трёх прошлых частей я получил несколько отзывов от людей, которые, никогда не пользовавшись linux, по предложенным инструкциям смогли успешно «поднять» свои домашние сервера. Я не собирался делать дополнение по обновлению софта, предполагая, что есть хорошая база, отталкиваясь от которой каждый сможет вполне самостоятельно, при наличии времени и желания, актуализировать свой веб-сервер и облачный движок. Однако, после того как я занялся этим сам, как всегда появились некоторые моменты, освещение которых может помочь новичку сэкономить время. И я решил написать эту «дифференциальную» часть, отступив от принципа «всё в одной статье». Поэтому, в первую очередь, этот материал будет интересен тем, кто достаточно подробно ознакомился с тремя предыдущими статьями и/или положил их в закладки. Использование нового программного обеспечения делает неверными некоторые ранее изложенные инструкции и четвёртая часть будет содержать только обновление подобной информации.

Если изложить кратко, то новый сервер мы строим на Debian 9 вместо 8, SQL меняем на открытую MariaDB, а PHP 5 на более быстрый PHP 7. Движок Nextcloud обновится с версии 11 до 13. Так же я упомяну как немного походим по граблям — сначала вдоль, а потом и поперёк.


Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 41

DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter

Reading time 3 min
Views 45K
Привет, друзья!

Меня зовут Николай, читателем Хабра являюсь давно, а вот с написанием статей как-то не сложилось. Пора исправлять эту ситуацию, тем более что как раз имеется повод — только что я запустил компанию на Kickstarter для реализации устройства с открытым исходным кодом.



Кому интересно — прошу под кат.
Читать дальше →
Total votes 148: ↑143 and ↓5 +138
Comments 101

Разработка hexapod с нуля (часть 2) — сборка

Reading time 4 min
Views 32K

WARNING: Данная статья устарела и носит исключительно исторический характер!

Всем привет! Подошло время для второй части разработки гексапода SKYNET. В данной статье я расскажу как я собрал корпус и об ошибках при его проектировании. Так же будет демонстрация работы конечности и первый самостоятельный подъем с брюха.

Этапы разработки:
Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Comments 44

Как сделать самому Луноход

Reading time 6 min
Views 19K
Если в детстве у тебя не было велосипеда, а теперь у тебя Бентли,
то всё равно в детстве у тебя велосипеда не было.


Так уж получилось, что в моём детстве не было Лунохода. А тут ещё и ребёнок родился. В общем, я подумал, и решил сделать игрушку нам обоим.

Total votes 91: ↑88 and ↓3 +85
Comments 34

Метеостанция на Arduino от А до Я. Часть 5

Reading time 10 min
Views 21K

Окончание. Предыдущая часть.


Оглавление:



Заоконный датчик. Программное обеспечение


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


Напомню, что сервер — это центральный, домашний блок, который может общаться с интернет через WiFi, а клиент — это удалённый, заоконный датчик, который передаёт данные на сервер по радиоканалу.


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


На клиенте почти ничего настраивать не надо.

Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Comments 5

Регулярные выражения для самых маленьких

Reading time 11 min
Views 223K
Привет, Хабр.

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

Некоторые из них для наглядности будут показаны на примере языков программирования PHP или JavaScript, но в целом они работают независимо от ЯП.

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

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

Поехали!


Читать дальше →
Total votes 67: ↑64 and ↓3 +61
Comments 55

Как мы написали helpdesk

Reading time 6 min
Views 122K
Есть продукты, которые можно взять и использовать, но с небольшой модификацией «под себя». Так вот система заявок или helpdesk как раз к таким вещам не относится. Точнее, мы для себя не нашли подходящий продукт и решили сделать сами.


Читать дальше →
Total votes 61: ↑53 and ↓8 +45
Comments 86

Синтаксический анализ текстов с помощью SyntaxNet

Reading time 4 min
Views 38K
Для одной из задач мне понадобился синтаксический анализатор русскоязычных текстов. Что это такое. Например, у нас есть предложение «Мама мыла раму». Нам нужно получить связи слов в этом предложении в виде дерева:

image

Из этого дерева понятно, что связаны слова «мама» и «мыла», а также «мыла» и «раму», а слова «мама» и «раму» напрямую не связаны.

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

Я занимался этой темой несколько месяцев назад, и на тот момент нашел не много информации по поводу того, где бы взять готовый и желательно свободный анализатор.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Comments 22

Information

Rating
Does not participate
Registered
Activity