Русские вычислители

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Система сборки

Сообщений 1 страница 13 из 13

1

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

в данном случае как некую подзадачу я бы хотел так же обсудить синтаксис некоего языка разметки,  навроде - xml, xhtml (html).
пусть бы это даже был - ОЯР - "Общий язык разметки"

и формат обмена данными (ФОД), что-то вроде json.

уточню  - к json собственно у меня вопросов почти нет - ну кроме некоторых правил и спецсимволов.
а вот с языками разметки дела обстоят куда хуже.

0

2

Яр
Я бы формат обмена данными обсудил бы. Хотя непонятно какие там могут быть вопросы к json? Причём интересует не столько формат обмена данными, сколько программные стыки языков. Так как у одного это Define у другого const. У третьего объекты, а у первого указателя. У кого var у кого что ссылка.

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

0

3

Павиа написал(а):

Может расскажите, что это такое и зачем оно нужно?

Это автоматизация ITIL - continuous delivery, continuous deployment, continuous integration и т.д.
Нужно начальнику крупной организации, чтобы обеспечить преемственность при текучести персонала.

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

0

4

какой должна быть общая система сборки (ОССПО).

Полностью покрытой графическим интерфейсом. Хотя в NetBeans она указана в скобках при создании проекта - я не могу вспомнить сходу какая именно.

Может расскажите, что это такое и зачем оно нужно?

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

0

5

хм, странно . ок короткий ликбез

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

пробегается по всем файлам конфигурации проекта
вытягивает все зависимости (библиотеки) необходимые для сборки кода (определенных версии)
далее идут фазы сборки :
1 - compile  Компилирование проекта
2 - test Тестирование с помощью JUnit тестов
3 - package Создание .jar файла или war ( назовем просто - исполняемого файла)
4 - integration-test Запуск интеграционных тестов
5 - install Копирование .jar (war , ear) в локальный репозиторий (ну тоесть артефакт который мы собирали полностью удовлетворяет требованиям и готов к использованию)
6 - deploy публикация файла в удалённый репозиторий

все это выполняется из командной строки (ну или если среда разработки умеет интегрироваться то она самостоятельно вызывает необходимые команды, это на тот случай если вы ею пользуетесь)
лучший пример использования это сервер -
     подключился по ssh
     вытянул код из git хранилища
     перешел в папку проекта и запустил команду сборки - например что бы выполнились все фазы и если у нас установлен "томкат сервер" то наше приложение запустилось на нем mvn tomcat:deploy

все , заходим на ip адресс сервера и любуемся тем что мы там понаписали - сервер , форум, сайт

0

6

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

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

UI - не имеет никакого отношения не программированию не к программистам.

0

7

Ув. Лис

Это автоматизация ITIL - continuous delivery, continuous deployment, continuous integration и т.д.
Нужно начальнику крупной организации, чтобы обеспечить преемственность при текучести персонала.

склонен все же с Вами не согласится. вы правы но только от части, меньшей части.

Это автоматизация ITIL - continuous delivery, continuous deployment, continuous integration и т.д. - это яркий пример https://jenkins.io/
CI (continuous integration)  - это комплекс систем который позволяет работать с различными системами сборки и системами хранения исходного кода.
начальнику не нужно не первое не второе. начальнику нужны деньги )
CI  должен кто-то обслуживать, чаще всего это увереный linux - администратор, умеющий хорошо писать на bash и понимающий внутреннее устройство системы не по наслышке
CI нужен в основном программистам в большой команде разбросанной по комнатам городам странам. ибо я написал свою задачу , залил все в общий репозиторий и CI начинает работать он все вытягивает пытается собрать используя систему сборки , запустить все тесты, собрать логи если что то пошло не так и все это предоставить в письменном виде разработчику в оповещении по почте , мол парень там после твоего комита все упало и не собирается и не работает а если и собирается то тесты такие то не выполнились и в логах написано то и то и то.
и ты со спокойной душой (пока не оторвали голову) ,быстро правишь все что там понаписал.
CI без участия программистов после каждого комита в репозиторий или по времени собирает и запускает серверные приложения автоматически - что очень удобно.

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

0

8

Я на java не программирую, он мне как язык с самого начала не понравился. Поэтому понятие системы сборки для меня пустой звук. Хотел как-то изучить, но потом оценил что это только трата времени, и не стал изучать.

да , знакомо, очень знакомо. когда-то были у меня такие мысли)

в действительности (пусть это будет ИМХО, но со мной будут солидарны жависты например с интерпрайза) java это язык гурманов и эстетов.
человеку приходя из фриланса (не знаю как тут можно подобрать по-русски) или из системных языков что то кажется излишним что то кажется кощунственным, но это только из-за отсутствия опыта промышленной разработки.

говорить о том как надо писать на java и как нужно оформлять код  человеку который пришел с php или js это как собаке объяснять как есть улитки и почему "Перепела в соево-медовом маринаде с тимьяном" это вкусно, но на любителя - занятно и весело но толку мало. (сразу хотел бы уточнить что я не в коем разе не сравнивал кого-либо с собакой, лишь ярко изобразил сизифов труд)

java одна из наиболее востребованных и высокооплачиваемых технологий.

0

9

- Хе... У меня соседка - левша. Глядя на то, как я режу хлеб правой рукой - содрогается от мысли "вдруг порежусь". Аналогично и я, глядя на её "леворукие" действия... )))
На самом деле все люди настолько разные, что  в полной мере это даже трудно представить. Хотя талантливых людей более, чем предостаточно.
В большинстве случаев им просто не хватает надлежащего инструмента, приспособленного к их "левой руке". Ставлю себя на место каждого из них и делаю попытку порассуждать:

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

И вот на каком-либо из промежуточных этапов своего творчества мне вдруг понадобилась программа, заточенная под мои представления о "мире вещей". А именно - мои преимущественно-образные представления. Я так устроен.
Но я не хочу делать этот "струмент" только для себя хотя бы потому, что достаточно альтруистичен, что знаю тучу меня окружающих людей, коим тоже не хватает аналогичного "струмента". Это как "коммунистический ад" из совдеповского анекдота. Инструменты вроде как и есть, но ими невозможно работать. ("дрова завезли - котлы сгнили", да и по иным на то указывающим причинам) Потому самостоятельно сажусь и начинаю "корпеть" над несвойственной мне задачей...

Яр написал(а):

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

Талантливую "кухарку" надо уважать. Она тоже "танцевать" умеет, хоть и не "балерина".
Берём CSS. Пробуем в песочнице для <div class="кадрбокс">Лябушки</div> писать стиль на кириллице:

.кадрбокс {
  margin: 0 auto;
  width: 50%;
  border: 1px solid #c69;
}

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

Отредактировано sandro (22.11.2016 23:50:52)

0

10

если кухарки начнут танцевать а балерины готовить ничего хорошего из этого не выйдет.

0

11

Яр написал(а):

если кухарки начнут танцевать а балерины готовить ничего хорошего из этого не выйдет.

Помню-помню... При СССР человека оценивали только за его "профпригодность" - и то по бумажке (диплому), а не по наличию пригодности в реале. (хех...))) Да и тогда зачастую "сапоги тачал пирожник". Учителя работали сантехниками, пчеловоды заправляли логистикой, лесники становились прокурорами... )))

Отредактировано sandro (23.11.2016 16:04:18)

0

12

Яр

Яр написал(а):

склонен все же с Вами не согласится. вы правы но только от части, меньшей части.

Как корабел назовёшь так он и поплывёт. "общая система сборки". Явно не индивидуальная. А вы приводите пример индивидуальной автоматизации, поэтому и разнотолки у нас пошли.

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

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

Яр написал(а):

в данном случае как некую подзадачу я бы хотел так же обсудить синтаксис некоего языка разметки,  навроде - xml, xhtml (html).пусть бы это даже был - ОЯР - "Общий язык разметки"
            и формат обмена данными (ФОД), что-то вроде json.

json переводим как Ясон и вперёд. Всё равно там одни знаки препинания.

Синтаксис языка разметки взять XML вернее его упрощённое описание и все дела. Древовидная структура, обязательно закрывающийся штамп.
<штамп побрякушка="значение">
Текст
</штамп>

В тексте могут быть произвольное число штампов. Текст делится на абзаци знаком новой строки(перевод строки за ним возврат каретки).
Первые две строчки заимствуем у XML что-бы быть совместимыми  с существующими тексторезами и обозревателями интернета. Метатег для распознавания кодировки. MIME тег для распознавания формата файла.
Усё, конец описания стандарта.

Вернёмся к сути

1 - compile  Компилирование проекта
2 - test Тестирование с помощью JUnit тестов
3 - package Создание .jar файла или war ( назовем просто - исполняемого файла)
4 - integration-test Запуск интеграционных тестов
5 - install Копирование .jar (war , ear) в локальный репозиторий (ну тоесть артефакт который мы собирали полностью удовлетворяет требованиям и готов к использованию)
6 - deploy публикация файла в удалённый репозиторий

В целом всё как и везде. Не знаю как вам, а мне тут интеграционное-тестирование мозолит глаз. А это не интегральное тестирование?  А так перевести на русские словечки и все пучком.

Сборка:
1 Воплощение - создание объектного кода
2 испытания
3 стыковка
4 стыковочные испытания
5 установка (сейчас обще принято монтаж)
6 отправка

Отредактировано Павиа (23.11.2016 16:13:03)

0

13

sandro написал(а):

Сидим такие с кухаркой и "радуемся"

Яр ближе всех к реализации кириллицы в инете. - Почему?
- Обратите внимание на скрипт Babel в "песочнице" или на упрощенный пример...
- Да, © с языками разметки дела обстоят куда хуже. /©)))

Отредактировано sandro (25.11.2016 22:46:34)

0

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»