@jvmchat

Страница 2512 из 2890
Google
Митко Соловец?
02.06.2018
11:03:07
https://github.com/google/guice

Vladimir
02.06.2018
11:10:32
гуся еще можешь попробовать
Там поддерживается внедрение через сеттеры/конструкторы, напрямую в поля или обоими способами? И как обычно поступают? Насколько я понимаю, сеттеры нужны для описания какой-то дополнительной логики при установке поля

Спринг кор попробуй
Посмотрю, спасибо

Mr.
02.06.2018
15:23:26
Как получить права администратора в коде программы?

Alex
02.06.2018
15:24:38
Программу запускаешь c sudo

Если Windows - гугли, не знаю

Mr.
02.06.2018
15:28:31
Windows 7

Я не могу прочитать/записать файлы

Вылетает эксепшн

Igor
02.06.2018
15:29:29
Как получить права администратора в коде программы?
если из идеи запускаешь - запусти саму идею с правами администратора

если из консоли - то консоль :)

Mr.
02.06.2018
15:30:21
Ситтуация: я отправляю свой код на сервер, а там он запускается.

Google
Mr.
02.06.2018
15:30:33
Но имеет ограничение в правах

Vladimir
02.06.2018
15:30:50
Ситтуация: я отправляю свой код на сервер, а там он запускается.
На сервере код лучше не запускать с привилегиями

Igor
02.06.2018
15:31:13
Mr.
02.06.2018
15:31:48
Сервер ней мой

Vladimir
02.06.2018
15:32:12
это если сервер твой))
Ну я надеюсь, задача не в запуске кода на чужом сервере без ведома его владельца)

Igor
02.06.2018
15:32:34
Сервер ней мой
ну тогда и обращайся к владельцу :)

Andrey
02.06.2018
15:33:53
Есть SE проект - плагин для одного приложения. В нем есть много классов-менеджеров: CommandManager, EntityManager, RestoreManager и так далее. Все эти менеджеры отвечают за разные вещи и могут использоваться в различных частях программы - как в других менеджерах, так и в остальных классах, которые от них зависимы. Вообще, в системе должно существовать по одному инстансу такого менеджера. Большинство менеджеров зависят друг от друга, также многие из них зависят от инстанса плагина - PluginInstance. От остальных классов системы они не зависят. Вопрос в том, как грамотно организовать доступ к объектам-менеджерам . Мои варианты: 1. Самое первое, что приходит в голову - синглтоны. Для каждого менеждера делаем статический геттер и обращаемся к нему откуда угодно. Правда, ленивая инициализация подойдет не для всех менеджеров - некоторые нужно явно загрузить при старте и запустить выполнение некоторых задач, но это уже не так страшно. В общем, если полностью перевести систему на синглтоны: сделать ими и менеджер, и сам плагин, то проблема в итоге разрешается. Вопрос в том, насколько это грамотное решение, когда весь проект будет пестрить getInstance-ми. 2. Dependency Injection. Передавать классам через конструкторы менеджеров, которые им нужны. Здесь проблема в том, что некоторые классы порождаются не там, где создаются инстансы менеджеров, поэтому в отдельных случаях объекты менеджеров придется "тащить" через 2-3 класса, и такая структура будет очень громоздкой. Как вариант - инжектить поля рефлексивно, но в интернете пишут о том, что это ужасная практика (хотя, насколько я понимаю, в том же спринге она вполне себе применяется). 3. Создать класс, который просто будет держать ссылки на все существующие в системе менеджеры. Назвать как-нибудь вроде Core, System. В нем будут методы getCommandManager(), getEntityManager(), getRestoreManager() и т.д. Теперь вместо N объектов менеджеров нам достаточно протащить во все классы ссылку на System или вовсе сделать System синглтоном. Впрочем, здесь уже неважно, поскольку у нас в итоге получается одна ссылка вместо 10, и организовать к ней доступ уже явно не проблема. Итак, как будет правильней организовать такую систему зависимостей? Возможно, есть еще варианты?
Начать с третьего варианта, назвать этот класс СпрингКонтекст. Все инициализировать через конструкторы беря инстансы из контекста, тогда ты увидишь циклические зависимости если они есть. В качестве хака для циклических зависимостей будешь передавать их через set метод.

Ну или уберешь циклы.

Вся логика по инициализации будет собрана в одном месте.

И сингл тонами наверное циклические зависимости не разрешить.

Nikolay
02.06.2018
18:33:57


Konstantin
02.06.2018
18:43:27
припоздал с 1апрельскими шутками

Nikolay
02.06.2018
18:43:58
Alexander
02.06.2018
19:28:00
static { System.exit(0); }

Жабра
02.06.2018
19:46:18
Ахах, с котлином такое не пройдет

Nikolay
02.06.2018
20:21:03
Ахах, с котлином такое не пройдет
Писать на котлине - это уже достаточное наказание

Andre
02.06.2018
20:22:41
на нем же кроме ведрусей никто не пишет серьезно

чисто язык на «потягаться со свифтом»

Google
1337
02.06.2018
20:40:39
котлин это язык богов, краткий, выразительный

следующая ступень эволюции джава-господ

Митко Соловец?
02.06.2018
20:42:05
Выше Цейлона не прыгнуть

Nikolay
02.06.2018
20:45:47
следующая ступень эволюции джава-господ
следующая - да, выше только скала

Vik
02.06.2018
20:55:11
@oli_kitty свежий разбор http://razbor-poletov.com/2018/06/episode-159.html

@oli_kitty и еще один - http://razbor-poletov.com/2018/06/episode-160.html инжойте

Alpha
02.06.2018
21:04:45
следующая - да, выше только скала
Это на каком же дне находится жава, если она под скалой? Обожаю хейтить вещи, про которые знаю чуть менее чем ничего

Nikolay
02.06.2018
21:26:44
Это на каком же дне находится жава, если она под скалой? Обожаю хейтить вещи, про которые знаю чуть менее чем ничего
скала чудесна, джава только-только начала до нее дорастать, но получается пока плохо

Alpha
02.06.2018
21:27:17
скала чудесна, джава только-только начала до нее дорастать, но получается пока плохо
Я всё хочу попробовать скалу, но пока не могу придумать пет-проект для неё

Nikolay
02.06.2018
21:27:18
а котлин - это упрощенная скала для школьников, которым лень в ФП магию и хочется в ведроид

Alpha
02.06.2018
21:27:50
Спарк — это какая-то архитектура процессора?

Alpha
02.06.2018
21:28:40
Ага, спасибо за инфу, почитаю референс

Я просто думал про это: https://ru.wikipedia.org/wiki/SPARC

Dmitrii
02.06.2018
22:36:15
https://github.com/oracle/graal/tree/master/compiler/src

Graal compiler написан на java .. Это как вообще??

Google
Georgy
02.06.2018
22:39:17
А что тебя удивляет?

Alpha
02.06.2018
22:40:24
Компилятор в компиляторе в компиляторе

1337
02.06.2018
22:44:59
компилятор котлина пишется на котлине

Alpha
02.06.2018
22:58:19
компилятор котлина пишется на котлине
Эта практика пошла ещё с Delphi, где каждая новая версия Delphi была написана... На Delphi

Georgy
02.06.2018
22:59:07
Какой ещё Делфи

Alpha
02.06.2018
22:59:13
Кстати, а есть чятик для ленивых, где можно позадалбывать людей тупыми вопросами по Scala?

KrivdaAllStars
02.06.2018
22:59:36
@scala_ponv

@scala_ru

Alpha
02.06.2018
23:00:17
Ага, спасибо.

KrivdaAllStars
02.06.2018
23:00:33
в первом могут послать

Alpha
02.06.2018
23:01:12
в первом могут послать
Да меня и тут могут, лол.

Vladimir
03.06.2018
02:52:55
Graal compiler написан на java .. Это как вообще??
javac тоже написан на Java. Self-hosting - свойство любого взрослого ЯП. С Graal всё вообще просто: чтобы его запустить, нужен только javac и интерпретатор.

Anton
03.06.2018
07:21:34
Graal compiler написан на java .. Это как вообще??
Совершенно обычное дело писать компилятор языка на том же языке

Quantum Harmonizer
03.06.2018
07:34:50
Kotlin на Kotlin, Scala на Scala.

Del
03.06.2018
07:52:56
Сложура на сложуре

Friedrich
03.06.2018
08:18:23
Совершенно обычное дело писать компилятор языка на том же языке
Это естественное желание разрабов компилятора, прям почти можно формально его вывести.

Жабра
03.06.2018
08:26:27
Нубский вопрос, но всё же: если у меня имя пакета состоит из двух слов, то как записывать? first_second или firstsecond? Думал FirstSecond или firstSecond но ide ругается

Google
Dmitrii
03.06.2018
08:27:11
fsecond

Жабра
03.06.2018
08:27:36
fsecond
А если 3 слова? Всё равно?

Dmitrii
03.06.2018
08:28:29
Тогда наверное проще точками эти три слова разделить

Vladimir
03.06.2018
08:29:18
не обязательно, свифт не целиком на свифте
Так там ещё ничего не устоялось, совместимость ломают постоянно

Anton
03.06.2018
08:36:09
Выше Цейлона не прыгнуть
негоже через покойников прыгать

Ivan
03.06.2018
08:48:24
Не, не вариант
это почему?

Жабра
03.06.2018
08:49:24
это почему?
Ide не принимает

Georgy
03.06.2018
08:50:22
Нубский вопрос, но всё же: если у меня имя пакета состоит из двух слов, то как записывать? first_second или firstsecond? Думал FirstSecond или firstSecond но ide ругается
ФС винды нечувствительна к регистру, поэтому camelcase потенциально опасен в таких местах. Лучше слитно в ловеркейзе или снейк

Ильдар
03.06.2018
08:53:28
Всем привет! Как тут по правилам, вакансии можно скидывать?

Evgeny
03.06.2018
08:54:46
Всем привет! Как тут по правилам, вакансии можно скидывать?
в описание забеги. там группа для вакансий, а в её описании есть народ, к какому можно обратиться

Ильдар
03.06.2018
08:56:34
Понял. Спасибо!

Vadim
03.06.2018
08:58:03
бывают топовые вакансии

Страница 2512 из 2890