powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Пятничный "что нового узнали за неделю" треп.
104 сообщений из 104, показаны все 5 страниц
Пятничный "что нового узнали за неделю" треп.
    #38133347
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поведайте о новых технологиях, приемах и так далее.
Поделитесь дзеном, только не на 50 страниц, а кратенько, если не сложно.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133391
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя узнать как парсить XML и что есть такое XSD(XML Schema).
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133396
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicМоя узнать как парсить XML и что есть такое XSD(XML Schema).

Хотя бы инструменты добавить ;)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133503
rrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Придумали схему автотестирования, для проверки, что в видеоконференции нормально ходит звук.
2. Проверили качество работы библиотеки zxing по распознованию QR кодов. Неожиданные результаты местами :)
3. В очередной раз пытаемся придумать наколеночный алгоритм для нормальной работы fault-tolerant DHT, чтобы эту самую DHT потом выбрать :)
4. Огребли проблем с samba mount и познакомились с различными вариантами automount.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133525
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал изучать Perl.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133531
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Новые посты на http://cheremin.blogspot.com/

Йуный джавистЪ,

Почему не COBOL?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133545
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
perl -pe отличная вещь, намного мощнее sed. Например, поддерживает non-greedy quantifiers. В общем, без перла даже логи нельзя проанализировать.
Еще на перле удобно всякие деплой скрипты писать (намного лучше дебильного баша).
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133557
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел концепцию Андроид в сравнении с Десктоп.exe: "Нельзя делать модальные окна".
Прикольная и спорная технология работы пользователей.
(кнопка Назад-Домой \ СменаОкна сдвигом пальца \ ...)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133560
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отличная тема кстати.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133570
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪperl -pe отличная вещь, намного мощнее sed. Например, поддерживает non-greedy quantifiers. В общем, без перла даже логи нельзя проанализировать.
Еще на перле удобно всякие деплой скрипты писать (намного лучше дебильного баша).
Если серьезно - посмотри питон. Он очень удобен для текстового процессинга.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133584
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz посмотри питон. Он очень удобен для текстового процессинга.
+2
его сами админы часто используют (продвинутые )) )
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133608
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О себе:
* начал внимательно читать clojure(для меня это первый язык ФП в моей жизни)
* ознакомился с теорией ограничений, познакомился с методами визуального анализа: дерево существующей рельности, деревой будущей реальности, дерево перехода(если что, мне они очень понравились)

Blazkowicz , спс, забыл про этот блог.о чем тут же пожалел ;)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133614
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rrrrrrrr2. Проверили качество работы библиотеки zxing по распознованию QR кодов. Неожиданные результаты местами :)

to all: А для генерации что посоветуете?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133622
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если серьезно - посмотри питон. Он очень удобен для текстового процессинга.
Наверное, не сталкивались вы с этим пистоном. Там параллельно развиваются три несовместимые версии. Библиотеки все дико сырые, вот пример http://stackoverflow.com/questions/115316/how-can-i-consume-a-wsdl-soap-web-service-in-python/
В общем, руби намного интереснее выглядит, но до перла далеко пока.
Кстати, вот например как в перле ставится модуль:
perl -MCPAN -e 'install HTML::Template'

Сравните это с явой.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133629
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪЕсли серьезно - посмотри питон. Он очень удобен для текстового процессинга.
Наверное, не сталкивались вы с этим пистоном. Там параллельно развиваются три несовместимые версии. Библиотеки все дико сырые, вот пример http://stackoverflow.com/questions/115316/how-can-i-consume-a-wsdl-soap-web-service-in-python/
В общем, руби намного интереснее выглядит, но до перла далеко пока.
Кстати, вот например как в перле ставится модуль:
perl -MCPAN -e 'install HTML::Template'

Сравните это с явой.

С руби примерно теже грабли - вид сбоку. Обратную совместимость никто не гарантирует. Обновление - всегда с опаской на то.что все рухнет и не поднимется. RVM (runy version manager) - не на пустом месте появился ;)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133653
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪ Там параллельно развиваются три несовместимые версии. Библиотеки все дико сырые, вот пример http://stackoverflow.com/questions/115316/how-can-i-consume-a-wsdl-soap-web-service-in-python/

SOAP и текстовый процессинг разделяет пропасть.

Йуный джавистЪ В общем, руби намного интереснее выглядит, но до перла далеко пока.
:)

Йуный джавистЪ
Кстати, вот например как в перле ставится модуль:
perl -MCPAN -e 'install HTML::Template'
Сравните это с явой.
Скопировал jar-ник и готово.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133657
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С руби примерно теже грабли - вид сбоку. Обратную совместимость никто не гарантирует. Обновление - всегда с опаской на то.что все рухнет и не поднимется.

Ну да. Был перл, который отлично работал, с кучей библиотек, прекрасным mod_perl. Но люди хотят прогресса, поэтому пришлось выдумать PHP, Python и Ruby которые тормозят, глючат и ломают обратную совместимость при минорном апдейте.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133685
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скопировал jar-ник и готово.
Перл рекурсивно скачает зависимости этого джарника. К тому же CPAN - действительно централизованный репозиторий. В яве некоторые либы вообще отсутствуют в мавен формате, а некоторые выложены не на maven.org а куда-то еще. К тому же мавен - то еще удовольствие. Поставь отдельно мавен, напиши xml, жди полчас пока он закачает миллион каких-то файлов с загадочными названиями.
SOAP и текстовый процессинг разделяет пропасть.
Я хотел проиллюстрировать, что там просто все криво.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133694
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему не COBOL?

А с явой кстати скоро будет то же что и с коболом. Слово Java у хипстеров уже стало ругательным и используется как синоним чего-то древнего и примитивного (как вы используете слово COBOL). Жаль конечно, потому что неплохая технология была (в любом случае, то что на замену придет будет хуже).
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133708
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪА с явой кстати скоро будет то же что и с коболом.

Пока нет к этому никаких предпосылок. У Java есть ряд незаменимых достоинств, которые другие решения пока не предлагают.

Йуный джавистЪСлово Java у хипстеров уже стало ругательным и используется как синоним чего-то древнего и примитивного (как вы используете слово COBOL).

Кого волнуют хипстеры? Рынок показывает что востребованость Java никуда не делась.

Йуный джавистЪЖаль конечно, потому что неплохая технология была (в любом случае, то что на замену придет будет хуже).
Дык ничего не торопиться идти на замену.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133709
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О себе:
1. Научился обманывать jasper чтобы в crosstab выводить "неуникальные" строки. Без извращений, он их жрет. Что в принципе и неудивительно.
2. Выловил пару багов в iReport: исчезание инкрементера (полечен в более позних версиях) и jasper:глюки с conditional style (в новых не проверял, но есть подозрения что остался)
3. Набрал 300 рейта на jasperforge
4. Обыграл сына в FIFA на плейстейшн. (Че смеетесь, в первый раз за год!)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133758
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪ Но люди хотят прогресса, поэтому пришлось выдумать
да, хотят))) Разные поколения). И пенять на это бесполезно. Тем более сабж с каким названием) LOL
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133818
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кого волнуют хипстеры? Рынок показывает что востребованость Java никуда не делась.

Да вообще-то хипстеры моду задают. Например, сейчас уже начали внедрять монгодб для какой-нибудь внутренней автоматизации. Если СУБД не устояли, то у явы шансов вообще нет. Завтра на хабрахабре напишут, что ява не масштабируется, и все, конец.
У Java есть ряд незаменимых достоинств, которые другие решения пока не предлагают.
О каких достоинствах речь идет?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133894
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОзверин,

Новые посты на http://cheremin.blogspot.com/

....

Руслан, это вы?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133895
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪДа вообще-то хипстеры моду задают.

Моду на мобилки. На enterprise и highload решения это особо не влияет.

Йуный джавистЪНапример, сейчас уже начали внедрять монгодб для какой-нибудь внутренней автоматизации. Если СУБД не устояли, то у явы шансов вообще нет.

Мода на NoSQL прошла. Сейчас критерии выбора между NoSQL и RDBMS вполне очевидны. Никакой "монгодб" не даёт возможности строить сложные отчеты, агрегированые с десятков сущностей и представленные в форме слабо связаной с Domain Model. Тут альтернатив RDBMS пока нет.

Йуный джавистЪЗавтра на хабрахабре напишут, что ява не масштабируется, и все, конец.

Хабр хорош туториалами для нубов. Ничего более серьезного там нет. Погоды в IT, а тем более в программировании хабр не делает.

Йуный джавистЪО каких достоинствах речь идет?
Простота языка - да, есть геморой с деплойментом, но это излечимо. А вот код не сильно сложнее васика или паскаля, что существенно выделяет язык на фоне модной функционащины. Java просто читать и поддерживать. Ruby, Scala и подобные - проще писать. А вот поддержка становится удивительным приключением, не под силу каждому. Не говоря о том что некоторые даже кодитнг на scala осилить сходу не могут.

Производительность - не особо уступает C++ или C# для серверных решений. А при некоторых условиях даже выигрыват. Скриптовые языки, Ruby и PHP могут только тихо стоять в сторонке.

Обилие готового, качественного и переиспользуемого кода.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133896
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейСРуслан, это вы?
Нет, Руслан это не я.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38133923
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Понятно, я уж подумал, что мир как-то совсем тесен :)

Озверин,

- познаю дао event-driven programming, пишу на нём кравлер (java). Это интересно.

- плююсь от перла, так как приходится на нём сейчас иногда кодить. Хоть я и не понимаю как на нём можно кодить, вокруг достаточно народу, которые перл любят. В этом плане я поддержу Blazkowicz, питон - сильно прикольнее, имхо. А версию можно выбрать одну и не париться с несовместимостью. Всё-равно смена версии языка - это не так просто, даже в случае обратной совместимости. Но перловые регулярки в однострочниках на баше - уважаю.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134164
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейСBlazkowicz,

Понятно, я уж подумал, что мир как-то совсем тесен :)

Озверин,

- познаю дао event-driven programming, пишу на нём кравлер (java). Это интересно.


Вы написали и я сразв вспомнил недавно подсмотренную во всеми мире методологию разработки: Asshole driven development
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134181
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Не, такое я не практикую Хотя доводилось работать в таких компаниях.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134238
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Если вы конкретно о том, что я делаю, то буду рад услышать конструктивную критику и предложения :)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134297
bob1970
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодаря недавним обсуждениям здесь на тему zk,smartgwt,vaadin, gxt - выбрал gxt для нового проекта
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134302
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob1970выбрал gxt для нового проекта
Оно денег стоит. Большой проект, наверное.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134372
bob1970
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczbob1970выбрал gxt для нового проекта
Оно денег стоит. Большой проект, наверное.
Размер очень и очень в тумане :) Там есть GPL версия. Исходники по любому отдавать.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134461
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простота языка - да, есть геморой с деплойментом, но это излечимо. А вот код не сильно сложнее васика или паскаля, что существенно выделяет язык на фоне модной функционащины. Java просто читать и поддерживать. Ruby, Scala и подобные - проще писать. А вот поддержка становится удивительным приключением, не под силу каждому.

С одной стороны да, ява отличный, очень понятный язык. С другой стороны, я думаю, это идет ей во вред. Есть некоторые товарищи с тягой писать загадочный говнокод. Если такой товарищ скалой увлекается, то его потребность в творчестве канализируется в сравнительно безобидные синтаксические кунштюки самой скалы. Если же он на яве программирует, то пиши пропало. Например, если попросить такого человека сделать мелкую доработку - скажем показывать логин пользователя красным, если его задолженность больше 100$, то он родит мощную структуру классов, например такую:

AbstractUserPresentation
ContextBasedUserPresentation
FinancialContextBasedUserPresentation
AbstractUserPresenter
ColorUserPresenter
AbstractUserContext
FinancialUserContext

Коментов конечно не будет, так что понять, что такая сильная структура классов затевалась для такой простой задачи будет невозможно.
Так что скала может и получше быть в этом плане.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134462
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить - все эти классы будут создаваться через xml с использованием spring.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134490
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪAbstractUserPresentation
ContextBasedUserPresentation
FinancialContextBasedUserPresentation
AbstractUserPresenter
ColorUserPresenter
AbstractUserContext
FinancialUserContext

Знаешь, сейчас у меня как раз такой проект, что обилие такие слоёв для решения простейших задач спасает невероятно. Потому что сначала заказчик просит красный при задолженности 100, а потом исключения, а потом зеленый, и в результате тривильной реализации там один метод с пол сотней if#else. А вот резделение на кучу мелких, но узкоспециализированых классов даёт простой и готовый к любым модификациям код.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134513
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот резделение на кучу мелких, но узкоспециализированых классов даёт простой и готовый к любым модификациям код.

Позвольте не поверить. То что я видел, было всегда устроено одинаково - в тех местах, где это не надо по уму, была гибкость, фабрики, паттерны и пр. А там где расширяемость не помешала бы, там все было приколочено гвоздями тупейшим образом. Объяснить это легко - время на всякое ООП есть когда делаешь неважную для бизнеса задачу. А раз она неважная, там никто ничего и расширять не захочет. Если же направление для бизнеса важное, то там скорее всего будут всякие доработки и переделки, но времени подумать и как-то заложить это в архитектуру не будет.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134519
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что сначала заказчик просит красный при задолженности 100, а потом исключения, а потом зеленый, и в результате тривильной реализации там один метод с пол сотней if#else.

Если вам за такие доработки отдельно платят, то не вижу ничего плохого. А если нет, то можно и движок правил присобачить - пусть они там заводят правила хоть до посинения.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134529
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хабр хорош туториалами для нубов. Ничего более серьезного там нет. Погоды в IT, а тем более в программировании хабр не делает.
Там, по-моему, переводы из англоязычных блогов в основном. Если перевели и выложили на хабр - значит все, пошло в широкие массы. Критерий такой.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134532
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попатчил org.eclipse.jdt.core_3.8.2.v20120814-155456.jar c помощью байткод-редактора, чтобы отключить ошибку "unhandled exception"
А из-под javac для того же есть костылек: disableCheckedExceptions-alpha.jar
Таким образом, теперь я могу тупа положить на обработку исключений.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134599
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЙуный джавистЪAbstractUserPresentation
ContextBasedUserPresentation
FinancialContextBasedUserPresentation
AbstractUserPresenter
ColorUserPresenter
AbstractUserContext
FinancialUserContext

Знаешь, сейчас у меня как раз такой проект, что обилие такие слоёв для решения простейших задач спасает невероятно. Потому что сначала заказчик просит красный при задолженности 100, а потом исключения, а потом зеленый, и в результате тривильной реализации там один метод с пол сотней if#else. А вот резделение на кучу мелких, но узкоспециализированых классов даёт простой и готовый к любым модификациям код.
эта проблема действительно есть в Java.
В самом коде с кучей case и if, на самом деле нет ничего страшного. Это "всегда" - логика. Которая проста как 5 рублей и задаётся Бизнес-аналитиком. Он такую простынь из if и сам может смотреть. А вот, из паттернов - не может.
Просто, в Java нет деления на системный код-ядро. и прикладной - БЛ. Глаз намыливается на такое обилие классов и потом, так и пишется. imho
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134925
J2ee Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПростота языка - да, есть геморой с деплойментом, но это излечимо. А вот код не сильно сложнее васика или паскаля, что существенно выделяет язык на фоне модной функционащины.


Кстати по поводу функционащины, что думаете о языке Erlang?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134950
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В самом коде с кучей case и if, на самом деле нет ничего страшного. Это "всегда" - логика.
Не согласен. Вот у нас сейчас есть такой метод - порядка 300 строк. Как раз куча if'ов, методов инициализации полей и тому подобного. Так вот аналитику нафиг не нужны все эти if'ы. Ему важно знать, как обрабатывается тот или иной тип перевода. Все.

Планируем рефакторинг - вынесение что-то типа создания стратегий по обработке каждого типа переводов.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134957
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,

автораналитику нафиг не нужны

прежде всего надо заставить аналитика сделать рефакторинг тз, чтобы не пришлось поддерживать в голове маппинг между тз и абстрактной фабрикой метапаттернов
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38134966
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманLeonidv,

автораналитику нафиг не нужны

прежде всего надо заставить аналитика сделать рефакторинг тз, чтобы не пришлось поддерживать в голове маппинг между тз и абстрактной фабрикой метапаттернов

На самом деле и аналитик и ТЗ здесь немного не в тему. Вот мне говорят добавить такую-то проверку в такой тип перевода. Сейчас мне надо продраться сквозь несколько десятков if'ов, чтобы найти нужное. А хочется просто взять и сразу найти нужное место.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135192
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинПоведайте о новых технологиях, приемах и так далее.
Поделитесь дзеном, только не на 50 страниц, а кратенько, если не сложно.
Внедрил движок правил Drools Expert, правда руки успели добраться только до небольшой его части Decision Tables , в целом описание правил в EXCEL понравилось, можно легко находить общий язык с базинесюзерами. Предметная область была продажа медиа контента, цель внедрения движка правил избавиться от 15 реляционных таблиц(и сопутсвующей тучи java кода и JPA аннотаций) которые использовались для описания запутанной структуры договоров с правообладателями контента. Жалко уже не увижу как будет подниматься репозитарий правил , Drools был мой дембельский аккорд.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135263
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvЛагманLeonidv,
пропущено...
прежде всего надо заставить аналитика сделать рефакторинг тз, чтобы не пришлось поддерживать в голове маппинг между тз и абстрактной фабрикой метапаттернов
На самом деле и аналитик и ТЗ здесь немного не в тему. Вот мне говорят добавить такую-то проверку в такой тип перевода. Сейчас мне надо продраться сквозь несколько десятков if'ов, чтобы найти нужное. А хочется просто взять и сразу найти нужное место.
приведи пример "инициализации полей", т.к. дело в неправильно if \ case а не в самом наличии "такой простыни".
Та не должно быть "инициализации полей", а только 1-2 уровня ветвления.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135276
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪ,

Сколько себя помню, cтолько и слышу о скорой кончине Java. Наиболее серьезно и прямо слышал об этом на конференции, проводимой Microsoft в Киеве еще в 2003. Там даже pop группа была, исполняющая нечто вроде панихиды. Так все было серьезно, что чуть было не поверил. Java хороша, хотя бы потому, что название "Java" уже давно ассоциируется с платформой и множеством, а не с одним языком. Сам язык Java прост, программы легко читаемы ( писать, правда, нудновато, но не трудно. Но тут для любителей есть Scala, Groovy, Clojure, JRuby, JPython etc. А вскоре ожидается JavaScript под JVM, а там и Google Dart ), отлаживаемый и хорошо приспособлен для IDE. А многие болезни Java, думаю к концу этого года будут вылечены.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135418
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery Shiskin,

я стал было даже упоротым джавистом последние 5 лет, но вчера снова открыл freepascal - это как голоток свежего воздуха.
function of object и вложенные функции, например - киллер фичи, устраняющие необходимость каких-либо паттернов и т.п..
Так что это ещё бабушка надвое сказала. Из хорошего в джаве за последнее время это javafx, и из неофициального - lombock, надеюсь наработки lombock поскорее войдут в официальный дистрибутив.
Алсо таки checked exceptions надо убрать из языка, и сделать очень короткий синтаксис для замыканий.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135420
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну т.е. lombok :3
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135498
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманустраняющие необходимость каких-либо паттернов и т.п..
rofl, да и вообще best practice хорошим языкам тоже ни к чему.

ЛагманАлсо таки checked exceptions надо убрать из языка
Во-первых спорный вопрос. Во-вторых обратная совместимость и всё такое. И в-третих кому надо, наследуются от RuntimeException и не парятся. Так зачем менять платформу ради того что и без изменений решается?


Лагман, и сделать очень короткий синтаксис для замыканий.
Пофиг на синтаксис. Если оно решит проблему ссылок на методы и свойства, будет круто.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135553
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Blazkowiczbest practice
Не улавливаю прямой связи с паттернами например, я о том что тупо код короче и закорючек поменьше.
Ну впрочем надежда на реализацию ссылки на метод ).

BlazkowiczТак зачем менять платформу
Кто может наследуется, а кто использует стандартные классы пишет кучи catch (..) { throw new RuntimeException }. Я вот изнасиловал эклипс (для домашнего проекта) и жизнь стала гораздо легче и приятнее )
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135564
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманНе улавливаю прямой связи с паттернами например

Паттерны это типовые подходы. Синтаксис их вообще никак не устраняет.


Лагман, я о том что тупо код короче и закорючек поменьше.

Это можно сказать про любой современный функциональный или скриптовой язык.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135566
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

так я и не говорил о синтаксисе, в свете "procedure of object"
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135695
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaОзверинПоведайте о новых технологиях, приемах и так далее.
Поделитесь дзеном, только не на 50 страниц, а кратенько, если не сложно.
Внедрил движок правил Drools Expert, правда руки успели добраться только до небольшой его части Decision Tables , в целом описание правил в EXCEL понравилось, можно легко находить общий язык с базинесюзерами. Предметная область была продажа медиа контента, цель внедрения движка правил избавиться от 15 реляционных таблиц(и сопутсвующей тучи java кода и JPA аннотаций) которые использовались для описания запутанной структуры договоров с правообладателями контента. Жалко уже не увижу как будет подниматься репозитарий правил , Drools был мой дембельский аккорд.

Взлетело хоть?)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135701
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманну т.е. lombok :3

Код: java
1.
2.
3.
4.
5.
@Slf4j
public class Controller {

    public void someMethod() {
        log.debug("someMethod started");



Это правда? Без внедрений логгера и статических полей? lombok - на уровней байт кода меняет что ли?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135774
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагман"procedure of object"
+1
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135842
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинЛагманну т.е. lombok :3

Код: java
1.
2.
3.
4.
5.
@Slf4j
public class Controller {

    public void someMethod() {
        log.debug("someMethod started");



Это правда? Без внедрений логгера и статических полей? lombok - на уровней байт кода меняет что ли?

Чего-то не прочел, кодогенератор же.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135886
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Лагман"procedure of object"
+1

Несмотря на то, что рефлексия в java носит слегка иной характер(вызовы через jni), тем не менее, можно ускорить method.invoke() значительно, что по времени приблизиться к прямому вызову(в первом приближении на "подготовительном" setAccessible(true) )
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135904
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
если я правильно уловил мысль, то...
Я бы в первую очередь заботился об удобстве программирования (.... я о том что тупо код короче и закорючек поменьше.....).
Т.к. Java претендует!? не только на серверную платформу, но и на быструю разработку ГУИ.
В ГУИ скорость не важна. Важна способность компилятора помогать не писать рутинный код.
IMHO
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135921
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
если я правильно уловил мысль, то...
Я бы в первую очередь заботился об удобстве программирования (.... я о том что тупо код короче и закорючек поменьше.....).
Т.к. Java претендует!? не только на серверную платформу, но и на быструю разработку ГУИ.
В ГУИ скорость не важна. Важна способность компилятора помогать не писать рутинный код.
IMHO

Java не заботится в первую очередь об удобстве, скорее это надежность. Именно по этой причине в java избавили от опасных указателей, исключив достаточно сложно "арифметику" этих самых указателей.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135940
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинЧего-то не прочел, кодогенератор же.
Посмотрел демо. Не взлетит.
hashCode далеко не всегда такой тривиальный, в случае mutable свойств. Вот в первом примере как узнать использованы ли в hashCode mutable свойства или нет?
Спрятал свойства - молодец. А дебажить потом как? А свойства с firePropertyChanged оно тоже генерит?
Ну, и так далее. Полагаю, по остальным фичам тоже не всё идеально.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38135950
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинPetro123пропущено...

+1

Несмотря на то, что рефлексия в java носит слегка иной характер(вызовы через jni), тем не менее, можно ускорить method.invoke() значительно, что по времени приблизиться к прямому вызову(в первом приближении на "подготовительном" setAccessible(true) )
О чем спор вообще? Это уже все работает с прошлого лета...
java -versionopenjdk version "1.8.0-ea"
OpenJDK Runtime Environment (build 1.8.0-ea-lambda-nightly-h193-20120624-b45-b00)
OpenJDK Client VM (build 24.0-b07, mixed mode)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class Lambda {
  public static interface Predicate<T> {
    boolean test(T arg);
  }

  public static void main(String[] args) {
    String s1 = "";
    String s2= "asdasasds";
    Predicate<String> p = String::isEmpty;
    System.out.printf("%s - %s\n", s1, p.test(s1));
    System.out.printf("%s - %s\n", s2, p.test(s2));
  }
}



javapjavap -c Lambda$1.class
Compiled from "Lambda.java"
class Lambda$1 implements Lambda$Predicate {
Lambda$1();
Code:
0: aload_0
1: invokespecial #3 // Method java/lang/Object."<init>":()V
4: return

public boolean test(java.lang.String);
Code:
0: aload_1
1: invokevirtual #4 // Method java/lang/String.isEmpty:()Z
4: ireturn

public boolean test(java.lang.Object);
Code:
0: aload_0
1: aload_1
2: checkcast #1 // class java/lang/String
5: invokevirtual #2 // Method test:(Ljava/lang/String;)Z
8: ireturn
}
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136073
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я могу ошибаться, но Лагман вроде говорил об этом:
Delphi:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
объявляем
type
1.  TNotifyEvent = procedure(Sender: TObject) of object;

объявляем в классе:

  private
2.   TNotifyEventMyClick               : TNotifyEvent;
  public
3.   property OnClickMy: TNotifyEvent read TNotifyEventMyClick
  

подписываем класс на данное событие

3. ClassA.NotifyEventMyClick :=  ClassB.ПроцедураС_синтаксисом_of object

Вызываем событие у подписчика:
4        If Assigned(FonEvDblClick_GarCardMain) then
5            OnClickMy(Self);


итого - 5 строк кода для программиста
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136100
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123я могу ошибаться, но Лагман вроде говорил об этом:
По сути тот же observer. Только синтаксис другой, как делегаты в C#.
Petro123итого - 5 строк кода для программиста
Не всё в этой жизни меряется строками.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136103
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
да....да...
Но всегда были люди, предпочитающие коробку автомат в автомобиле))
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136115
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Но всегда были люди, предпочитающие коробку автомат в автомобиле))
Совершенно не равноценная аналогия.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136120
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Blazkowicz,
да....да...
Но всегда были люди, предпочитающие коробку автомат в автомобиле))

И все мы знаем, что профессионалы то используют механику ;) (пусть даже и электронную, как в формула 1)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136129
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет деления на прикладников. Если я еду отдыхать в Московские пробки))). То мне механика не нужна.
Т.е. если я пишу ГУИ (прикладной код без всякого DSL), то мне нужно коротко писать.
Чтобы мысль не растеклась по дереву))
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136148
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123нет деления на прикладников. Если я еду отдыхать в Московские пробки))). То мне механика не нужна.
Т.е. если я пишу ГУИ (прикладной код без всякого DSL), то мне нужно коротко писать.
Чтобы мысль не растеклась по дереву))

Так это вы начали обобщать. но вовремя двинулись к крамоле , вроде: каждый язык реализует цель и под задачи - нужные инструменты ;)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136335
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Круто было бы писать как в js, что-то типа

setter = object.setX; setter.invoke(arg1, arg2, ..)

Понятно что метод можно завернуть, но, если даже мы сделаем класс для оборачивания сеттера, внутри будет поиск метода по имени с валидацией его сигнатуры только в рантайме
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136337
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманКруто было бы писать как в js, что-то типа
setter = object.setX; setter.invoke(arg1, arg2, ..)
Понятно что метод можно завернуть, но, если даже мы сделаем класс для оборачивания сеттера, внутри будет поиск метода по имени с валидацией его сигнатуры только в рантайме
http://earthly-powers.blogspot.com/2012/07/java-8-lambda-and-method-references.html
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136387
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманОзверин,

Круто было бы писать как в js, что-то типа

setter = object.setX; setter.invoke(arg1, arg2, ..)

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

Да само собой круто, но нафига?:)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136409
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинЛагманОзверин,

Круто было бы писать как в js, что-то типа

setter = object.setX; setter.invoke(arg1, arg2, ..)

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

Да само собой круто, но нафига?:)

Я не в том плане, что это не нужно, а в том, что можно использовать groovy, google guava, jruby и так далее. Все это можно в одном проекте с одним комплиятором(насчет gg - не уверен).
Если уж и ускорять, сам процесс разработки, то как то более глобально: может за счет более плотной интеграции с другими языками, может за счет "встроенных" шаблонов .
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136416
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинДа само собой круто, но нафига?:)
Например, Query Language и binding с compile time проверками.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136454
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОзверинДа само собой круто, но нафига?:)
Например, Query Language и binding с compile time проверками.

Может возникнуть ситуация с generic - когда вначале радовались, и описывали все подряд...а потом появились классы типа
Код: java
1.
ClassA<K,V,C,N,P,D> extends ClassB<K,V,C,N,P,D>

и стали плеваться и искать некий компромисс. Скажем твердое и решительное нет замыканиям, ссылкам на методы и прочие лямба выражения;) Я в том плане, что в java по моему хватает проблем, начиная от многопоточности и безопасной инициализации объекта, заканчивая условной кроссплатформенностью (про win и linux можно поспорить, но как только вспоминаем j2me - начинаются танцы с бубном)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136467
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинМожет возникнуть ситуация с generic - когда вначале радовались, и описывали все подряд...а потом появились классы типа
Код: java
1.
ClassA<K,V,C,N,P,D> extends ClassB<K,V,C,N,P,D>



А меня генерики радуют до сих пор. Клинических случаев у себя на проектах ещё не наблюдал. Единственное что не всегда с наскока легко понять стоит ли тут сделать generic или лучше обычный overload. Потому как всё зависит от ситуации.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136492
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинBlazkowiczпропущено...

Например, Query Language и binding с compile time проверками.

Может возникнуть ситуация с generic - когда вначале радовались, и описывали все подряд...а потом появились классы типа
Код: java
1.
ClassA<K,V,C,N,P,D> extends ClassB<K,V,C,N,P,D>

и стали плеваться и искать некий компромисс. Скажем твердое и решительное нет замыканиям, ссылкам на методы и прочие лямба выражения;) Я в том плане, что в java по моему хватает проблем, начиная от многопоточности и безопасной инициализации объекта, заканчивая условной кроссплатформенностью (про win и linux можно поспорить, но как только вспоминаем j2me - начинаются танцы с бубном)
Проблем с многопоточностью нет там, где этой многопоточности нет вообще. Но там ее эмулируют через спагетти из колбаков и костыля "процесс на обработчик".
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38136646
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманно вчера снова открыл freepascal - это как голоток свежего воздуха.
function of object и вложенные функции, например - киллер фичи, устраняющие необходимость каких-либо паттернов и т.п..У ява-рантайма есть одно, но очень важное преимущество: можно взять классы созданные в одной версии и использовать их в другой. Можно изменить реализацию класса и, опять-таки, использовать его без каких-либо изменений других частей проекта.
CORBA/(D)SOM, теоретически, обеспечивают и такую возможность, но (D)SOM вообще умер, а желающих использовать CORBA - как-то не очень много.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38144220
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cейчас, пока ещё не вышла Java8 с няшными замыканиями, я обучу вас некоторым анальным упражнениям:

1) Создаем интерфейсы
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public interface Function<A> {
	A call();
}
public interface Function1<A, A1> {
	A call(A1 a1);
}

...

public interface Function1<A, A1..AN> {
	A call(A1 a1,.. AN);
}

public interface Procedure  {

	void call();
}
...
public interface Procedure2<A1, A2,.. AM> {

	void call(A1 a1, A2 a2, ... A3 aM);
}

]|>

public interface Function<A> {
A call();
}
public interface Function1<A, A1> {
A call(A1 a1);
}

...

public interface Function1<A, A1..AN> {
A call(A1 a1,.. AN);
}

public interface Procedure {

void call();
}
...
public interface Procedure2<A1, A2,.. AM> {

void call(A1 a1, A2 a2, ... A3 aM);
}

" border="0" align="center" alt="Картинка с другого сайта."/>
, где N и M удовлетворяют средней запущенности вашего проекта.

Создаём публичные поля (ну можно и геттеры, не суть)
Код: java
1.
2.
3.
4.
5.
6.
public final Function<Integer,Integer,Integer> makeIntSum = new Function<>(){
@Override   
public Integer call(Integer a, Integer b){
  return a + b;
}
}



И - профит, можно даже скукоживать как полноценные замыкания:

Код: java
1.
2.
3.
4.
5.
6.
Function<Integer> add2 = new Function<>(){
@Override
public Integer call(Integer c){
  return makeIntSum( 2, c );
}
}



разве не няшно?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38144221
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну там только
Код: java
1.
2.
Function2<Integer,Integer,Integer>
Function1<Integer,Integer>


соответственно
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38144222
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и
Код: java
1.
makeIntSum.call( 2, c )



надеюсь это не испортит общие впечатления от примера
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38144247
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманCейчас, пока ещё не вышла Java8 с няшными замыканиями, я обучу вас некоторым анальным упражнениям:

1) Создаем интерфейсы
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public interface Function<A> {
	A call();
}
public interface Function1<A, A1> {
	A call(A1 a1);
}

...

public interface Function1<A, A1..AN> {
	A call(A1 a1,.. AN);
}

public interface Procedure  {

	void call();
}
...
public interface Procedure2<A1, A2,.. AM> {

	void call(A1 a1, A2 a2, ... A3 aM);
}

]|>

public interface Function<A> {
A call();
}
public interface Function1<A, A1> {
A call(A1 a1);
}

...

public interface Function1<A, A1..AN> {
A call(A1 a1,.. AN);
}

public interface Procedure {

void call();
}
...
public interface Procedure2<A1, A2,.. AM> {

void call(A1 a1, A2 a2, ... A3 aM);
}

" border="0" align="center" alt="Картинка с другого сайта."/>
public interface Function<A> {
A call();
}
public interface Function1<A, A1> {
A call(A1 a1);
}

...

public interface Function1<A, A1..AN> {
A call(A1 a1,.. AN);
}

public interface Procedure {

void call();
}
...
public interface Procedure2<A1, A2,.. AM> {

void call(A1 a1, A2 a2, ... A3 aM);
}

[/src]" border="0" align="center" alt="Картинка с другого сайта."/>
, где N и M удовлетворяют средней запущенности вашего проекта.

Создаём публичные поля (ну можно и геттеры, не суть)
Код: java
1.
2.
3.
4.
5.
6.
public final Function<Integer,Integer,Integer> makeIntSum = new Function<>(){
@Override   
public Integer call(Integer a, Integer b){
  return a + b;
}
}



И - профит, можно даже скукоживать как полноценные замыкания:

Код: java
1.
2.
3.
4.
5.
6.
Function<Integer> add2 = new Function<>(){
@Override
public Integer call(Integer c){
  return makeIntSum( 2, c );
}
}



разве не няшно?
Ты тоже считаешь баланс по мобилкам в жабе, а не в DB?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38145701
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагман,

сидел минут 15 фтыкал, что вообще происходит ;)
Запущенность проекта многократно увеличицо..как по мне.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38185891
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поднимаю же.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38186488
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отрефакторил велосипедный орм, например https://github.com/aelio/odb
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38224756
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Узнал что foreach - непозволительно затратная операция.

Доступ к public полю в разы быстрее геттера, а массив - в разы быстрее public поля.

Гори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38224867
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманГори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы.
это всегда так было.
Или ООП или быстро
Или ооп маленький размер программы
Или ООП или маленький вес проги в оперативке.
Всё в мире с жертвами.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226019
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Доступ к public полю в разы быстрее геттера,

А где вы это узнали? Где-то в жж elizarov писал и приводил док-ва, что геттеры в итоге компилятся в одну ассемблерную команду.
И верить я склонен ему.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226268
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я как-то больше верю системному таймеру, который после замены геттера на паблик, показывает вдвое меньшее время. Не знаю, связано ли это со спецификой задачи, и того, в каком порядке написаны мат.операции с результатом этого паблика/геттера.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226273
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманНу я как-то больше верю системному таймеру, который после замены геттера на паблик, показывает вдвое меньшее время. Не знаю, связано ли это со спецификой задачи, и того, в каком порядке написаны мат.операции с результатом этого паблика/геттера.
Что тестировали? Java интепретатор?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226352
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманУзнал что foreach - непозволительно затратная операция.
Для массива или коллекции? Для какой-то конкретной коллекции? Не пробовали разобраться почему?

ЛагманДоступ к public полю в разы быстрее геттера, а массив - в разы быстрее public поля.
Пишут что если таки сделать final акцессор или дождаться JIT компиляции, то с большой вероятностью getter заинлайнится.

ЛагманГори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы.
Ну, realtime на любом языке высокого уровня требует ухищрений с оглядкой и на ОС и на CPU. Тот же Disruptor - набор хаков.
Где-то был забавный пример про бины на базе Unsafe.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226386
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

наличие пустого foreach(Object obj: arrayList) {} занимало 95% времени метода, это при том что в нем было решение 1024*1024 квадратных уровнений :)
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226388
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, т.е. и arrayList там пустой был
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226395
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя может уравнений поменьше было.. но не менее 2-3к точно
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226453
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманну, т.е. и arrayList там пустой был
Возможно это очень часто происходило, поэтому создалось огромное количетство ненужных интераторов. А почему не массив?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38226593
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лагман - вы делаете какие-то неправильные тесты или тесты правиьлные, но вывод вы делаете неверно, или используете неправильную jvm. С тестами в яве надо быть очень осторожным.

foreach - в жаве нету, есть for(T a:b), которое вы, по всей вероятности, имели в виду. Отличается от итерации по int она тем, что при каждом входе создает дополнительный обьект Iterator, только и всего. Соответственно "Узнал что foreach - непозволительно затратная операция." совершенно неверная формулировка. Таковой она будет в редких случаях, а именно - когда говнокодеры много раз в цикле делают цикл foreach. А еще, в седьмой яве оно создается в стеке, если этот итератор удовлетворяет определенным уловиям для эскейп-анализа (а это так, скорей всего - нет финализатора и ссылка не покидает области видимости). Поэтому все равно foreach должен быть быстр.

геттеры вообще часто инлайнятся (в серверной jvm), то есть на уровне кода (после jit) не делается call ради чтения одной ячейки.

Вместо ArrayList<Integer> можно можно юзать классы либы trove. На больших данных это сэкономит и память и процессорное время. Хотя и с trove можно умудриться сделать тест, который покажет не то.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38227586
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok,

мне важнее чтобы код выполнялся, а не ваши домыслы про версии jvm
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38228333
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманУзнал что foreach - непозволительно затратная операция.

Доступ к public полю в разы быстрее геттера, а массив - в разы быстрее public поля.

Гори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы.

А тесты можете выложить?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38228335
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманотрефакторил велосипедный орм, например https://github.com/aelio/odb

а чей орм то?
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38229171
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагман,

Выложите ваши тесты. В них явно что-то не то.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38238698
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще не пятница, но тот факт, что я погрузился в alfresco меня угнетает.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38239947
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok,

если будет время, выложу.
...
Рейтинг: 0 / 0
Пятничный "что нового узнали за неделю" треп.
    #38240266
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удивительное рядом. -Dfile.encoding влияет на layout в Swing. Возможно, в JavaFX тоже. Причина в композитных шрифтах.
...
Рейтинг: 0 / 0
104 сообщений из 104, показаны все 5 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Пятничный "что нового узнали за неделю" треп.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]