Pull to refresh
  • by relevance
  • by date
  • by rating

Вариант организации контроля версий ПО для аппаратов с множеством сетевых устройств на борту

Designing and refactoring *
Sandbox
Хочу поделиться некоторыми идеями по поводу организации хранилищ в системе контроля версий. Для определенности: мы используем Меркуриал, но это не столь важно.

В двух словах о задаче. Одновременно ведется несколько проектов. Под проектами понимаются аппараты с цифровыми устройствами на борту (десятки устройств), объединенными в сеть. Речь идет о программном обеспечении бортовых устройств, которое нужно отслеживать с помощью системы контроля версий.

Есть бортовые устройства, одинаковые для разных аппаратов, а есть и специфические. Устройства могут программироваться разными разработчиками, а некоторые из устройств программируют контрагенты. Марки процессоров (контроллеров) бортовых устройств различаются. В разных устройствах могут использоваться одинаковые библиотеки: драйверов, математики и пр.

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

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

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

Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 2.3K
Comments 0

Проектирование простых приложений в Flask

Website development *Python *Flask *
Sandbox
Данная статья, размещенная в репозитории Flask на GitHub, является плодом коллективного творчества небезразличных программистов, а изначальный её автор — Brice Leroy. Она представляет собой достаточно полезный для начинающих материал по Flask. Лично для меня он стал ответом на многие простые вопросы, основным из которых был «как структурировать проект».

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

Описанный пример протестирован на Python 3.5, Flask 0.10, Flask-SQLAlchemy 2.1, Flask-WTF 0.9.

Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Views 42K
Comments 11

Структура проектной папки дизайнера

Web design *Interfaces *

image
Заказчику понадобилось изображение, созданное 3 года назад или закончился тираж визиток двухгодичной давности? Внести коррективы в макет сайта которому уже 5 лет или откатиться на версию, которая была отклонена на прошлой неделе? Для всех вышеперечисленных вопросов полезно хранить и быстро находить файлы. Делюсь наработками и структурой папок, которые облегчают задачу.

Читать дальше →
Total votes 33: ↑28 and ↓5 +23
Views 29K
Comments 48

Проектная папка дизайнера. Создаём бекапы

Web design *Interfaces *Prototyping *

image


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

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 10K
Comments 20

Построение гибких PHP приложений

Website development *PHP *Programming *Designing and refactoring *ООP *
Translation
Эра фулстэк фрэймворков в прошлом. Современные разработчики фрэймворков разделяют свои монолитные репозитории на компоненты с помощью ответвлений в Git, позволяя разработчику выбрать то, что действительно необходимо его проекту. Это означает, что вы можете построить свое приложение на топовых Zend Service Manager, Aura Router, Doctrine ORM, Laravel (Illuminate) Eloquent, Plates, Monolog, Symfony Cache или любых других компонентах, которые можно установить через Composer.

image
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Views 28K
Comments 23

Структура каталогов для проекта (в частности на Flask)

Python *Programming *DevOps *Flask *
Sandbox
Статья ответит на вопрос, который стал причиной потери времени многих программистов: какую структуру каталогов необходимо использовать для будущего или существующего проекта? Какая структура будет наиболее оптимальной не только для текущего зачатка проекта, но и в будущем будет не такой болезненной в плане расширения проекта или его разделения на части?
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Views 13K
Comments 5

Из хаоса в порядок, или «создаем структуру проекта в Unity и не только...»

Game development *Unity3D *Development Management *
Tutorial
При создании нового проекта он такой чистый, понятный, нет лишнего хлама… он пуст. Чем дольше идет разработка, тем больше в нем появляется лишнего мусора, непонятных папок, файлов, иногда туда могут попасть префабы для других проектов и вся организация летит в Тартар.

Выясняется что организации никогда не было, проекту три года, порядок наводить уже поздно, работать не удобно и вообще…

Добро пожаловать в хаос, вы оказались именно тут потому что:

  • никогда не задумывались зачем нужна структура проекта в Unity
  • в ваших проектах вечный бардак и вы хотите от этого избавиться
  • в поисках новых способов организации
  • потеряли надежду навести порядок в своем проекте

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



Добро пожаловать под кат.
Читать дальше →
Total votes 6: ↑3 and ↓3 0
Views 11K
Comments 14

Как улучшить ваш API сервис на node.js. Часть 1

JavaScript *Designing and refactoring *
Сейчас доступно приличное количество материалов по написанию API на node.js. Большинство из них в виде туториалов и демо-примеров в документациях. Этого достаточно, чтобы быстро разобраться и написать что-то свое. Но в них редко найдутся детали, почему это делается именно так. А некоторые моменты и вовсе опускаются для простоты и краткости.

Это статья нацелена, чтобы заполнить некоторые пробелы, которые могли возникнуть, и в конечном счете улучшить вам сервис на node.js.

P.S. Ни в коем случае не считаю себя экспертом: есть куда расти. Но вместе с тем есть чем поделиться.

Файловая структура проекта


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

При наименовании каталогов необходимо придерживаться устоявшихся стандартов. Это поможет коллегам и самому через пару месяцев быстро сориентироваться где и что находится.
Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Views 3.7K
Comments 12

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

Website development *Project management *Technical Writing *
Tutorial

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

Читать далее
Total votes 2: ↑1 and ↓1 0
Views 3.8K
Comments 4