janPona

Программировал сегодня на руби и на джаве. Практически, и то, и другое делал впервые.

Ruby — то понятно. Такая же хуета, как и JS, только с меньшим количеством скобочек и без фронтэнда.

Java — не так уж сильно отличается от привычного мне TypeScript, во всяком случае, те простейшие вещи, которые на ней довелось делать. Но удручает другое. Казалось бы, язык строжайше типизированный, все дела. Но даже здесь наши доблестные шестиконечные девелоперы умудрились налажать. Набор обязательных параметров передается в метод, выполняющий платёжную транзакцию, не через объект какого-то класса, а через Map<String, Object>, а потом уже нужные параметры вытягиваются в самом методе из этого мапа через get() и кастуются к строке или к целому. Ебать, пиздец, да? Платёжная транзакция, если чо. Причём, мне даже понятно, как они к этому пришли. Сначала было два платёжных шлюза. Создали базовый класс и по наследнику на каждый... скажем так, драйвер конкретного шлюза. Окей. Но потом, когда проект вырос, добавилось ещё пять платёжных шлюзов, а сигнатуры абстрактного метода confirmPayment() стало явно не хватать. Ну они и не стали заморачиваться, добавили параметр metadata — эдакую помойку параметров, в которую можно невозбранно пихать всё, что угодно. Я варюся, капец. Текучая абстракция, как есть, бля буду.

janPona

Мне кажется порою, что солдаты,
С далёких не пришедшие полей,
Не в землю нашу полегли когда-то,
А превратились в белых червырей.

Ползёт себе по жопе глист весёлый.
Ползёт в тумане на исходе дня.
Но, может быть, на этой жопе голой
Отыщется местечко для меня?

ndtimofeev

Поставил MarvinSketch (это такое собственническое ПО для рисования молекул на Яве) и запустил его в oracle jvm (один хрен он был нужен чтобы в клиент-банк от Авангарда). Обнаружил что эта штука 1) тормозит 2) тормозит всеми восемью ядрами сразу. Удивился, поскольку раньше такого за marvin'ом замечено не было. Поставил icedtea — всё заработало. Мистика.

lex2d

В общем, jcenter показал, что там про секурити думали не очень и ныне рекомендуется в гредле прописывать jcenter() последним и юзать mavenCentral(). Основная неудобство, что jcenter() идет по умолчанию в в шаблоне новосозданного андроид проекта.
blog.autsoft.hu

SannySanoff

У меня IDEA с двумя проектами (один там даже с петоном) стартует 1м30сек пока цпу не утихнет, и это я к ней не прикасаюсь покуда не утихнет. Когда начинаю прикасаться, понятно, снова бурлит покуда не утихнет, потом уже потихоньку.

Время ли обновлять ноут? А сколько грузяццо ваши проекты?

(основной проект у меня нонче в Jupyter на удаленном компе, и мне вообще идея почти по сараю).

AlexVK

Жаба мне снесла root корневой раздел. Точнее попыталась. Т.к. прав нет никаких то удалила /home
Со всем. Конфиги, настройки, ключи — всё улетело нахрен. Какие то доки, проекты, сорцы....
Жалко только ключи и настройки. Документация вся в иторнетах, почта там же. проекты — там же. Книги — их тьма в телеге и на трекерах... А вот ключи и настройки, вот этого вот нет, так что всё настраивтаь таки заново.

Особый привет глючным либам в недрах которых могут быть shutDownHook с удалением рабочего каталога!!

ma1uta

попытался сделать небольшую библиотеку, чтобы можно было бы импортировать ФИАС (fias.nalog.ru). В итоге всё работает (просмотр и импорт), но упирается в субд, что ожидаемо, всё это надо куда-нибудь скидывать в какой-нибудь hadoop и уже оттуда с ним работать.

OCTAGRAM

Допилил CheerpJ и JGNAT друг под друга

Посмотреть можно здесь

Пока что вижу: насчёт многозадачности — правда. Я думал, это фишка простого Cheerp, а раз в простом Cheerp нету асинхронизатора, то это всё может работать только на SharedArrayBuffer и не везде. Но нет. Планировщик находится в loader.js от CheerpJ и, насколько я могу судить, работает. В том числе можно динамически подгружать классы, и они грузятся (с поддержкой AOT) по сети, и исполнение зелёного потока продолжается с момента остановки. EmScripten так не умеет, там только синхронным XHR можно с файловой системой работать, и только в Web Workers, в общем, без асинхронизатора это ни о чём.

Вместе со Swing там, похоже, даже движок текста свой подгружается. Антиалиасинг явно получше, чем в браузере. Но время запуска будь здоров. Хотя большая часть сейчас зависит от производителя. Если они там у себя что-нибудь подкрутят, васм внедрят, например, ведь Cheerp умеет, то есть, куда ужаться. Просто начинать с тем, что есть, а оно само будет улучшаться.

OCTAGRAM

А в javax.xml.datatype.XMLGregorianCalendar есть и getTimezone, и getTimeZone. Это не где-то в частной поделке такой бардак, это основной программный интерфейс.

Нет, нельзя давать программистам регистрозависимость. Если неприятность может случиться, она случится.

OCTAGRAM

Bad class file: version 52.0 not supported
Да что ж вам неймётся-то по версиям скакать. Ну что не сидится на одной. Вот чем хорош COM и чем плоха Java, в COM совместимость десятилетиями держится, а тут каких-то несчастных четыре года отделяет, и уже инструментарий начинает отваливаться. В книге «Putting Metaclasses to Work» симуляция была специально реализована на Java, чтобы, как пишет автор, как можно надольше сохранить. В итоге компилятор DirectToSOM C++, библиотека SOM и прочее PE/COFF'ное запускается на современной Windows 10, а симуляция PMtW на современной JVM — нет. И на не очень современной 1.5 — тоже. Вообще надо какую-то древнюю находить, чтоб подошло тютелька в тютельку. Знал бы автор, как жестоко будут насмехаться над его потугами производители. Начиналось за здравие, столько надежд было.

И в Delphi CORBA IDL парсится утилитой не на Delphi, транслируемой в, как показывает практика, долгоживущий PE/COFF, а на Java, и тоже там совместимую версию надо постараться подобрать, собственно, почему эту фичу кроме особенно заинтересованных никто не смог увидеть в действии.

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

RA

Тут чел очень хочет на java програмить. Но он в алгоритмы ещё не очень умеет.
Что бы ему насоветовать? Так чтобы от основ: поиск, сортировка пузырьком, ...
Но так чтобы было понятно — берём эту ide, сюда пишем, так запускаем.

Я как-то бегло нагуглил какие-то книжонки по java. Ни одна мне не понравилась.
Думал ему линк на Кнута дать, чтоб по алгоритмам подтянуть, но там такая скука.

В общем рекоменд, если есть чо.

OCTAGRAM

CheerpJ как я заметил, уже вышел из закрытых альфа-тестов и находится в бете.

Те же разработчики, что делают Cheerp, транслятор C++ в JavaScript/Asm.js/WASM, делают CheerpJ для Java. Позиционируется он как нормально портированная Java. Никаких ограничений, как в GWT. Поддерживается байт-код. Поддерживаются Swing и Java-апплеты как с оффлайн конвертацией, так и в виде шима. Есть плагин для Хрома.

OCTAGRAM

Думал, в Swift будут утилиты на Swift, а оказалось, что нет (см. #2891656). Ладно, посмотрим, какие есть ещё варианты. У нас же мостов для Java есть целых три штуки. А как там парсинг сделан?

Первым в голову приходит Rococoa. И там парсинг не сделан никак. Согласно документации, надо писать привязки вручную.

Про Apple Cocoa-Java известно мало, потому что он с закрытым кодом, но оттуда можно взять ручные коррекции, написанные прямо в Apple. Похоже, полновесного парсера типа GCC там нет. clang в те времена не было.

Порадовал GNUStep JIGS. Там есть и парсер, и ручные коррекции.

ugnich

Есть здесь гуру Tomcat? Deploy занимает секунд 20, в это время хотелось бы отдавать страницу "подождите, обновляем" с кодом 503. В настоящее время отдается 404 и не могу найти где это исправить. Сервлет ROOT, mapping в корень.

RA

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000007b3b80000, 64487424, 0) failed; error='Невозможно выделить память' (errno=12)
Ubuntu 16.04
Java 1.8. На 1.7 та же фигня
Памяти 16гиг. Свопа нет.

Реально памяти не хватает?

SannySanoff

Сколько я времени потратил на неправильно написанные JNI названия функций на C стороне! Мама! Просто дофига. Программа на андроеде крешится в рантайме оттого что не находит ф-ю.

А петонисты и пхп-шники, а еще жабоскриптеры живут в этом и для них норм. Кошмар.



AlexVK

По результатам #2884193 выкидываю Thymeleaf.
Может необъяснимо падать на ровном месте, не говоря про тормоза.
Так что идёт это поделие в пень!
Благо что пока только пробовали по сути.
Меняю на freemarker

AlexVK

github.com
Comparing Template engines for Spring MVC

Ну и чтобы 2 раза не вставать
jTwig 4.709 seconds
Thymeleaf 4.147 seconds
Scalate — Scaml 3.479 seconds
Handlebars 2.936 seconds
Jade4j 2.735 seconds
Freemarker 2.637 seconds
HTTL 2.531 seconds
Pebble 2.512 seconds
Velocity 2.491 seconds
Mustache (JMustache) 2.326 seconds
JSP 2.227 seconds
Проверил результаты взяв версии чуть новее — картина примерно такая же +-