Size: a a a

2020 March 06

AM

Andrew Mikhaylov in Kotlin JVM
Вы ж после правки грэдл.пропертиз не перезапускали демона?
источник

AM

Andrew Mikhaylov in Kotlin JVM
Если нет, то он новый конфиг и не прочитал. А после ребута прочитает. То есть после ребута уже будет работать та пропертя в хоум :)
источник

МГ

Макс Гордый in Kotlin JVM
Andrew Mikhaylov
А, стоп
А, ну логично, да, не перезапускал
источник

AM

Andrew Mikhaylov in Kotlin JVM
Но если вдруг что -- пишите, будем разбираться. Желательно, кстати, в @gradle :)
источник

VP

Vladimir Petrakovich in Kotlin JVM
Andrew Mikhaylov
Странно, мне вроде помогало, в т.ч. идея плевалась, что демон остановлен. Но скорее всего, присутствует какая-нибудь гонка, и действительно есть шанс, что не поможет.
Там ещё могут быть демоны других версий запущены
источник

AM

Andrew Mikhaylov in Kotlin JVM
Vladimir Petrakovich
Там ещё могут быть демоны других версий запущены
Это хорошее замечание.
источник

BP

Bogdan Panchenko in Kotlin JVM
Vladimir Petrakovich
Там ещё могут быть демоны других версий запущены
Вот это как раз)
источник
2020 March 07

МГ

Макс Гордый in Kotlin JVM
Друзья, всем привет, подскажите, у кого есть опыт установки ssl на vps-нике, без использования каких-либо контейнеров (tomcat, jetty и пр.)? У меня голый jar-ник, запускающийся напрямую, сгенерировал сертификат через letsencrypt, выдал несколько файлов с расширением .pem. Я уже просто банально запутался в обилии информации(
источник

MK

Mark Kos in Kotlin JVM
Макс Гордый
Друзья, всем привет, подскажите, у кого есть опыт установки ssl на vps-нике, без использования каких-либо контейнеров (tomcat, jetty и пр.)? У меня голый jar-ник, запускающийся напрямую, сгенерировал сертификат через letsencrypt, выдал несколько файлов с расширением .pem. Я уже просто банально запутался в обилии информации(
Сделай реверс прокси через апач и энжиникс
источник

MK

Mark Kos in Kotlin JVM
А на них уже lets
источник

AN

Alexander Nozik in Kotlin JVM
Mark Kos
Сделай реверс прокси через апач и энжиникс
Да, я собственно так же делал
источник

МГ

Макс Гордый in Kotlin JVM
Все друзья, на свежую голову разобрался)) в общем, сделал следующее, и по моему это проще даже: конвертнул с помощью openssl pem-файлы в p12, потом с помощью keytool запихнул p12 в jks, и уже из jks тащу сертификат
источник

МГ

Макс Гордый in Kotlin JVM
Тут больше проблема была в том, что я не до конца разобрался)
источник

e

expert in Kotlin JVM
Ребята, как мне добиться того, что бы при вызове use не создавался временный Function объект?

interface ObjectPool<T> {
   fun acquire(): T
   fun release(obj: T)

   fun <R> use(body: (T) -> R): R {
       var obj: T? = null
       try {
           obj = this.acquire()
           return body(obj)
       } finally {
           if (obj != null)
               this.release(obj)
       }
   }
}


Я могу конечно сделать extension метод, но может есть другой путь?
источник

VP

Vladimir Petrakovich in Kotlin JVM
expert
Ребята, как мне добиться того, что бы при вызове use не создавался временный Function объект?

interface ObjectPool<T> {
   fun acquire(): T
   fun release(obj: T)

   fun <R> use(body: (T) -> R): R {
       var obj: T? = null
       try {
           obj = this.acquire()
           return body(obj)
       } finally {
           if (obj != null)
               this.release(obj)
       }
   }
}


Я могу конечно сделать extension метод, но может есть другой путь?
inline же
источник

BV

Boris Vanin in Kotlin JVM
expert
Ребята, как мне добиться того, что бы при вызове use не создавался временный Function объект?

interface ObjectPool<T> {
   fun acquire(): T
   fun release(obj: T)

   fun <R> use(body: (T) -> R): R {
       var obj: T? = null
       try {
           obj = this.acquire()
           return body(obj)
       } finally {
           if (obj != null)
               this.release(obj)
       }
   }
}


Я могу конечно сделать extension метод, но может есть другой путь?
Он и не создаётся 🤷‍♂
источник

AN

Alexander Nozik in Kotlin JVM
expert
Ребята, как мне добиться того, что бы при вызове use не создавался временный Function объект?

interface ObjectPool<T> {
   fun acquire(): T
   fun release(obj: T)

   fun <R> use(body: (T) -> R): R {
       var obj: T? = null
       try {
           obj = this.acquire()
           return body(obj)
       } finally {
           if (obj != null)
               this.release(obj)
       }
   }
}


Я могу конечно сделать extension метод, но может есть другой путь?
extension никак не связан с созданием функции. Если вы не собираетесь переопределять этот метод, но extension в данном случае очень даже. И его можно сделать инлайном. Но я бы не парился особо, в смысле производительности вы тут ничего не сэкономите.
источник

e

expert in Kotlin JVM
'inline' modifier is not allowed on virtual members. Only private or final members can be inlined
источник

e

expert in Kotlin JVM
Boris Vanin
Он и не создаётся 🤷‍♂
К сожалению создаётся :( Я посмотрел в байткоде.
источник

AN

Alexander Nozik in Kotlin JVM
expert
К сожалению создаётся :( Я посмотрел в байткоде.
Вы померяйте. JVM инлайнит такие штуки в рантайме
источник