Size: a a a

Programming Offtop

2020 June 17

КР

Кирилл Романенко... in Programming Offtop
Andrew Mikhaylov
Не, дядь, это немного другое.
Я иду по улице и печатаю, сорян если пишу невнятно или отвечаю странно.
источник

AM

Andrew Mikhaylov in Programming Offtop
То, о чём Игорь говорит, было до того, как начали дрочить на MVC и остальное. До этого ты не то, что в разных кусках проекта мог найти ошмётки разных привычных паттернов, ты вообще дуплей склеить не мог, не проварившись в проекте несколько месяцев. Только после этого начинало складываться ощущение, что ты вроде прикоснулся к древнем таинствам и эта дремучая лапша начала у тебя в голове складываться в картинку.
источник

KD

Konstantin Dovnar in Programming Offtop
Igor
Это уже какие-то проекции пошли.

Раньше 16 мб всем хватало, а теперь и 200 мало под их графы объектов.
Ну и компиляция по 20 минут никого не удивляется.
Когда-то в пещерах людям хорошо было
источник

Kd

Konstantin dmz9 in Programming Offtop
Andrew Mikhaylov
То, о чём Игорь говорит, было до того, как начали дрочить на MVC и остальное. До этого ты не то, что в разных кусках проекта мог найти ошмётки разных привычных паттернов, ты вообще дуплей склеить не мог, не проварившись в проекте несколько месяцев. Только после этого начинало складываться ощущение, что ты вроде прикоснулся к древнем таинствам и эта дремучая лапша начала у тебя в голове складываться в картинку.
удивительно как вообще какие то приложения можно было написать таким образом )))
источник

AM

Andrew Mikhaylov in Programming Offtop
Konstantin dmz9
удивительно как вообще какие то приложения можно было написать таким образом )))
Написать неудивительно, а вот как это потом в процессе поддержки и доработки не заедало до полной остановки — ума не приложу.
источник

AM

Andrew Mikhaylov in Programming Offtop
Я тогда, конечно, был зелёным джуном, у меня была уйма энергии раздуплять это беспросветное дерьмо, да и дерьмом оно за отсутствием опыта не казалось. Наверное, выезжал только на этом.
источник

AM

Andrew Mikhaylov in Programming Offtop
В общем попытки навернуть вменяемую архитектуру на приложение — в отрыве от конкретных вариантов, которые тут выше пытались обсуждать, но оставим это для @android_architecture — это совершенно точно хорошая идея.
источник

D

Dmitry in Programming Offtop
Почем нынче домены? Мой в зоне ком уже 9 баксов стоит. Это дорого?
источник

I

Igor in Programming Offtop
По моему это дешево (хотя от имени зависет офкоз), у меня в зоне work примерно столько же
источник

AM

Andrew Mikhaylov in Programming Offtop
Я в апреле возобновлял свой .me за $21
источник

IO

Iaroslav Orlov in Programming Offtop
@ilmirus можно вопрос? вот стоит ли мне делать инлайнер для кодгена, если у меня большинство методов, которые будут инлайниться меньше 35 инструкций, и jit скорее всего их сам будет инлайнить?
источник

IO

Iaroslav Orlov in Programming Offtop
(я про jvm)
источник

IK

Iliya Kuznetsov in Programming Offtop
привет оффтопу, подскажите идею. Есть некое чужое недокументированное АПИ которое представлено HTTP-запросами: XML на вход и на выход. В коде это плагин эклипс, но не всё АПИ из эклипса вызывается, часть кода просто в JAR лежит и включается вендором по его хотению. Конечно, хочется это всё в гредл перетащить в идеале но есть некоторые трудности:

1) сперва я декодировал всё через FF/CFR и руками аннотации @XmlElement перетащил для отдельных запросов, превратил в аннотации kotlinx.serializer, но там ещё много и я подумываю может пока javax.xml.bind.annotation оставить. Дело даже не в сериализаторе а как найти все 200+ классов которые сериализуются -- через всякие implements, например:

public class ListCredentialsCommand implements Command, Serializable, TenantIdentifiable, AuditInformationHolder { 
  // тут идут интересные поля

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

IK

Iliya Kuznetsov in Programming Offtop
текущий вариант (декомпилировать, подложить в идею декомпилённое, копипастить и тд) утомляет
источник

IK

Iliya Kuznetsov in Programming Offtop
никакой обфускации и защиты там нет, вендору особо без разницы откуда клиент будет ходить в облако - из стандартного плагина эклипса или нет, лишь бы роли и полномочия не нарушались
источник

AM

Andrew Mikhaylov in Programming Offtop
Iliya Kuznetsov
привет оффтопу, подскажите идею. Есть некое чужое недокументированное АПИ которое представлено HTTP-запросами: XML на вход и на выход. В коде это плагин эклипс, но не всё АПИ из эклипса вызывается, часть кода просто в JAR лежит и включается вендором по его хотению. Конечно, хочется это всё в гредл перетащить в идеале но есть некоторые трудности:

1) сперва я декодировал всё через FF/CFR и руками аннотации @XmlElement перетащил для отдельных запросов, превратил в аннотации kotlinx.serializer, но там ещё много и я подумываю может пока javax.xml.bind.annotation оставить. Дело даже не в сериализаторе а как найти все 200+ классов которые сериализуются -- через всякие implements, например:

public class ListCredentialsCommand implements Command, Serializable, TenantIdentifiable, AuditInformationHolder { 
  // тут идут интересные поля

собственно вопрос -- как имея .jar без сорцов выбрать из них все публичные классы по интерфейсам для начала и перечень их полей?
Простой вариант — берёте джарник, заводите класслоадер с ним, и бегаете по его классам обычной рефлексией. Более сложный. но дающий больше возможностей — ASM (который https://www.baeldung.com/java-asm)
источник

IK

Iliya Kuznetsov in Programming Offtop
АПИ соответственно тоже никак не обфусцировано, просто не выложено публично и потихоньку заменяется другим ОДата-АПИ публичным
источник

IK

Iliya Kuznetsov in Programming Offtop
Andrew Mikhaylov
Простой вариант — берёте джарник, заводите класслоадер с ним, и бегаете по его классам обычной рефлексией. Более сложный. но дающий больше возможностей — ASM (который https://www.baeldung.com/java-asm)
для простого варианта проблема что много зависимостей, это не один джарник а как обычно сотня мегабайт и сотни артефактов. Наверное с класслоадером не получится?
источник

IK

Iliya Kuznetsov in Programming Offtop
с тз ASM, мне ничего менять не надо
источник

AM

Andrew Mikhaylov in Programming Offtop
Не могу сказать, так как перформанс не мерял. У меня пока задача была только по Android SDK побегать. Не берусь утверждать, что код хорошо написанный, но глянуть можно тут: https://github.com/inkremental/inkremental/blob/master/meta/introspect-android/src/main/kotlin/AndroidIntrospector.kt#L49
источник