
Anton
12.12.2016
13:29:34
Не напрягает ошибка 500 и неопределённое поведение когда заливаешь горсть скриптов по FTP?
Я, как недавний перебежчик из мира энтерпрайзного пхп, могу сказать, что практика использования современного пхп не сильно от джавы отличается. Есть и атомарный деплой, и менеджеры зависимостей, юнит-тесты, Dependency Injection, аннотации как в спринге, и прочее.
С деплоем, в частности, в джаве у меня больше проблем было: чтобы сделать для wildfly атомарный мультисерверный деплой, с возможностью откатиться на предыдущую версию, пришлось целый огород из костылей в виде nginx-а и скриптюнь вокруг него нагородить

Anton
12.12.2016
13:29:36

Semyon
12.12.2016
13:29:47

Anton
12.12.2016
13:30:25
По поводу модулей меня часто забавит что люди их хотят, но потом не могут привести примера, для чего это надо

Google

Руслан
12.12.2016
13:30:27

Aliaksei
12.12.2016
13:31:06

Anton
12.12.2016
13:31:10

Vik
12.12.2016
13:31:14
я не такой, я добрый

Anton
12.12.2016
13:31:41

Quantum Harmonizer
12.12.2016
13:32:49
Я, как недавний перебежчик из мира энтерпрайзного пхп, могу сказать, что практика использования современного пхп не сильно от джавы отличается. Есть и атомарный деплой, и менеджеры зависимостей, юнит-тесты, Dependency Injection, аннотации как в спринге, и прочее.
С деплоем, в частности, в джаве у меня больше проблем было: чтобы сделать для wildfly атомарный мультисерверный деплой, с возможностью откатиться на предыдущую версию, пришлось целый огород из костылей в виде nginx-а и скриптюнь вокруг него нагородить
Как там аннотации сделаны?)
Меня коробит, что нельзя ничего в памяти держать, между сессиями, или можно, но костылём.
Необходимый finally появился не сразу, необходимые приватные константы –– только в семёрке.
Никакого fail-fast, ничего не получилось –– получи null.
Как-то вот очень много всего неприятного.


Руслан
12.12.2016
13:33:19
какими конкретно?
Например две версии Джексона в проекте держать, одна зависимость хочет 2.4, а мой код 2.8. вот с модулями в каждом месте реквайрилась своя версия

Anton
12.12.2016
13:34:00

Руслан
12.12.2016
13:34:39

Anton
12.12.2016
13:34:41
@HeapyHop но ты же понимаешь, что для решения проблемы разных версий, модульность, как бы не является прям супер решением

Aliaksei
12.12.2016
13:34:45
Ну самя главная штука - это изоляция ведь и иморт-экспорт API. OSGI это даёт на уровне рантайма.

Sergey
12.12.2016
13:35:01

Google

Руслан
12.12.2016
13:35:30

Quantum Harmonizer
12.12.2016
13:35:33

Anton
12.12.2016
13:35:38
при достаточно прямых руках, можно решать конфликты версий и без модулей, было бы желание

Anton
12.12.2016
13:35:49
Как там аннотации сделаны?)
Меня коробит, что нельзя ничего в памяти держать, между сессиями, или можно, но костылём.
Необходимый finally появился не сразу, необходимые приватные константы –– только в семёрке.
Никакого fail-fast, ничего не получилось –– получи null.
Как-то вот очень много всего неприятного.
Аннотации - через reflection. Это медленно, но фреймворки всё дело кэшируют, и на практике работает отлично.
Язык сам по себе массу проблем имеет, вот эта фигня с нуллами - да, одна из наиболее неприятных. Но за годы уже костыльками обвесили, ехать можно.

Aliaksei
12.12.2016
13:35:52

Руслан
12.12.2016
13:36:04

Sergey
12.12.2016
13:36:13

Aleksey
12.12.2016
13:36:17

Quantum Harmonizer
12.12.2016
13:36:42
(ответ сразу двоим)
Пхпдок читается рефлексией или файл парсится? :)

Руслан
12.12.2016
13:36:45

guga
12.12.2016
13:36:56

Anton
12.12.2016
13:37:03

Quantum Harmonizer
12.12.2016
13:37:37

Anton
12.12.2016
13:37:38

Aliaksei
12.12.2016
13:37:46
Вот можно решать через микросервисы с разными версиями ))

Anton
12.12.2016
13:38:43
Нууу, скорее нет чем да.
ну как нет то, лет де 10 назад получалось и с ivy, сейчас получается попроваить с Maven. почему вдруг модули стали нужны прям аж хочунемогу? просто потому что легче?

Aliaksei
12.12.2016
13:39:57
Мне они нужным были когда я работасл с OSGI где было около 500+ модулей и много независимых команд
Решить задачи без модулей и версий и изоляции нельзя было в нашем случае

Anton
12.12.2016
13:40:45
не, я не отрицаю что если бы модули были с самого начала, то может мы не увидили бы убожества J2EE, и сегодня быть может не было бы всяких страшных аппсерверов

Google

Anton
12.12.2016
13:41:25

Aleksey
12.12.2016
13:41:28

Руслан
12.12.2016
13:41:44

Anton
12.12.2016
13:41:47

Aleksey
12.12.2016
13:41:53
Сейчас каждый в свою поделку зависимости пихает и они конфликтуют между собой.

Anton
12.12.2016
13:42:06

Aliaksei
12.12.2016
13:42:09
Так там говорят не очень модули то в java 9

Руслан
12.12.2016
13:42:21
Так да

Anton
12.12.2016
13:42:21
в Jigsaw нет версий

Руслан
12.12.2016
13:42:38
Потому что и без версий там жесть

Aliaksei
12.12.2016
13:42:39
и опциональных

Aleksey
12.12.2016
13:43:34

Aliaksandr
12.12.2016
13:43:41
Ну, тут уже встаёт вопрос используется модуль, или модуль определённой версии. Если бы мир был сферическим, а интерфейс модуля не изменялся, то что изменила бы версия?

Aliaksei
12.12.2016
13:43:48
на самом деле обычных "модулей" которые можно сделать с maven/gradle хватит всем. А кому не хватит есть OSGI

Anton
12.12.2016
13:44:15
10 лет назад - это 2006 год. ну камон, я тогда ещё код таки писал активно и зависимостей на либы были горы, ну что вы мне рассказываете :)

Руслан
12.12.2016
13:45:13

Aleksey
12.12.2016
13:45:51

Aliaksandr
12.12.2016
13:45:55
Это уже вопрос реализации модуля. (: Потому да, костыль нужен или с одной стороны, или с другой.

Anton
12.12.2016
13:46:29

Google

Руслан
12.12.2016
13:47:39

Semyon
12.12.2016
13:48:16
О, про ад с версиями Рич офигенный доклад сделал недавно

Aleksey
12.12.2016
13:48:18

Semyon
12.12.2016
13:48:24
видели уже? Который spec-ulation

Aliaksandr
12.12.2016
13:49:21

Semyon
12.12.2016
13:49:30
ща линк дам
https://www.youtube.com/watch?v=oyLBGkS5ICk

Руслан
12.12.2016
13:54:26
Лол, я думал что он начал за фронтенд говорить и не открывал)
А это оказывается про версии

Admin
ERROR: S client not available

Semyon
12.12.2016
13:55:28
на самом деле это он про clojure.spec и как она избавит мир от проблем с зависимостями, голода и грибка ноги
но он про clojure.spec там достаточно мало говорит
в основном просто про зависимости

Aliaksandr
12.12.2016
13:55:44
Про версии фронтенда.)

Anton
12.12.2016
13:56:40

Semyon
12.12.2016
13:57:10
ну окей, окей, про голод это я загнул, конечно

Митко Соловец?
12.12.2016
13:58:49
так ты делай сразу и смотри 1 раз
кстати, адекватное решение, если ты нормальный программист, ты должен с 1 раза идеальный богоподобный код выдавать, да такой, что тесты не нужны)

Anton
12.12.2016
14:03:58

Мытко
12.12.2016
14:04:43

guga
12.12.2016
14:05:21

Google

Митко Соловец?
12.12.2016
14:05:54
да ладно, я утрирую, у меня всего 1 раз так получилось сделать

Мытко
12.12.2016
14:06:42
Багов в проде не было?

Митко Соловец?
12.12.2016
14:07:16
багов не было, тесты были и так написаны

Sergey
12.12.2016
14:07:24
то он не писал тесты на геттеры просто вот никто и не умер)

Митко Соловец?
12.12.2016
14:08:21
мне кажется что-то работающее с первой попытки надо на олимпиадах выдавать, там это важнее)
хотя иногда напрягает перекомпиляция и жеребель не спасает

Aliaksei
12.12.2016
14:08:54
Все идеальный программисты, но баги в jira почему то инкрементятся

Митко Соловец?
12.12.2016
14:09:07

Руслан
12.12.2016
14:09:26

Aliaksei
12.12.2016
14:09:57
"Дебилы, бля" (с)

Руслан
12.12.2016
14:10:27

Митко Соловец?
12.12.2016
14:10:27
просто зануды
дали продукт - пользуйся
нет, не хочу, хочу баги искать?

Aliaksei
12.12.2016
14:11:02
Бесит когда ещё и одну звезду в маркете ставят

Митко Соловец?
12.12.2016
14:11:29
я таким в одноклассниках единицу ставлю

Aliaksei
12.12.2016
14:11:34
ты не спал начами писал божественный код, а потом тебе в душу плюют за мелочь, мол крашнулась прилага

Anton
12.12.2016
14:12:08
хаааа :) welcome to the club :D

Митко Соловец?
12.12.2016
14:12:13
жизнь такая