?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

Про то, какая жопа с UML
metaclass
http://vit-r.livejournal.com/621261.html

Полторы недели назад мне подсунули систему, где за три месяца была сделана UML модель (из 42 таблиц) в мегасофте и из нее сгенерирована база данных. Картинки выглядят красиво, инструмент даже умеет более-менее общеизвестные практики, но результат - полное говно. Таблицы, нарушающие нормальные формы, абсурдные типы данных и прочее.
GUI клиент к этому делу - сборище всех анти-паттернов которые только известны, от молчаливого перехвата ошибок, до прямой работы с БД во всех гуи окнах. Зато автору было не лень мышкой картинки накликивать.

"Лучше перебдеть чем недобдеть"
metaclass
О мышлении борцунов с разного рода опасной для детей литературой: "Родительский комитет решил скупить все комиксы "Тетрадь смерти" на Урале" (http://www.e1.ru/news/spool/news_id-384074.html)

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

Java-экосистема
metaclass
Разбираюсь потиху с Intellij IDEA и скалой. И, как обычно, утыкаюсь в "расхождения по земельному вопросу" с жабными инструментами. Сколько раз это все дело открывал - столько утыкался.

Вот у нас есть на данный момент что: jdk (много разных), мавен(две версии), sbt(аналог мавена для скалы), IDEA и тыщи плагинов под мавен, sbt и идею.
Я прочел документацию по мавену и sbt, но от входа все равно не понимаю, как принято создавать проекты с нуля и как принято их деплоить. Открываешь какой-нибудь пример, а там все заканчивается строкой вида sbt container:start, которая работает исключительно внутри запущенного sbt и с помощью плагина типа "com.github.siasia" %% "xsbt-web-plugin. Или мавен с jetty-плагином.

Предположительно, можно поставить jetty сервисом и деплоить туда приложение в виде war. Но сборка этого war и особенно копирование зависимостей для него для меня темный лес.
Я обычно начинаю с того, что запускаю jetty внутри своего приложения, передавая ему хендлер явно, т.к. таким образом для меня проще понять, что в каком порядке работает и откуда берется конфигурация. Но даже в этом случае количество вариаций на тему "запустить жабу с указанием classpath и main class" просто поражает.
Т.е. запуск из мавена, запуск из sbt, запуск из idea, деплоймент в контейнер и запуск из консоли руками и запуск в виде jar - это все совершенно между собой различающиеся варианты, с разными classpath, разными репозиториями и прочим таким.

Плюс еще несколько десятков версий на каждую зависимость, которые нужно внятно выбрать при добавлении. Слава богу, они хоть не конфликтовали у меня пока.
Tags: , ,

Чудеса
metaclass
Плагин для sbt, показывает граф зависимостей. При выводе в консоль работает, при перенаправлении в файл падает с ошибкой: https://gist.github.com/metametaclass/5099574
Как, интересно, такого эффекта можно добится. Пока приходит в голову только различное поведение каких-нибудь потоков вывода в двух случаях.