|
|
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Поведайте о новых технологиях, приемах и так далее. Поделитесь дзеном, только не на 50 страниц, а кратенько, если не сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 11:21:02 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Моя узнать как парсить XML и что есть такое XSD(XML Schema). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 11:47:07 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
NixicМоя узнать как парсить XML и что есть такое XSD(XML Schema). Хотя бы инструменты добавить ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 11:50:55 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
1. Придумали схему автотестирования, для проверки, что в видеоконференции нормально ходит звук. 2. Проверили качество работы библиотеки zxing по распознованию QR кодов. Неожиданные результаты местами :) 3. В очередной раз пытаемся придумать наколеночный алгоритм для нормальной работы fault-tolerant DHT, чтобы эту самую DHT потом выбрать :) 4. Огребли проблем с samba mount и познакомились с различными вариантами automount. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 12:43:35 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Начал изучать Perl. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 12:52:59 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 12:54:23 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
perl -pe отличная вещь, намного мощнее sed. Например, поддерживает non-greedy quantifiers. В общем, без перла даже логи нельзя проанализировать. Еще на перле удобно всякие деплой скрипты писать (намного лучше дебильного баша). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 12:59:04 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
посмотрел концепцию Андроид в сравнении с Десктоп.exe: "Нельзя делать модальные окна". Прикольная и спорная технология работы пользователей. (кнопка Назад-Домой \ СменаОкна сдвигом пальца \ ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:05:05 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Отличная тема кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:06:36 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪperl -pe отличная вещь, намного мощнее sed. Например, поддерживает non-greedy quantifiers. В общем, без перла даже логи нельзя проанализировать. Еще на перле удобно всякие деплой скрипты писать (намного лучше дебильного баша). Если серьезно - посмотри питон. Он очень удобен для текстового процессинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:08:42 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz посмотри питон. Он очень удобен для текстового процессинга. +2 его сами админы часто используют (продвинутые )) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:14:43 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
О себе: * начал внимательно читать clojure(для меня это первый язык ФП в моей жизни) * ознакомился с теорией ограничений, познакомился с методами визуального анализа: дерево существующей рельности, деревой будущей реальности, дерево перехода(если что, мне они очень понравились) Blazkowicz , спс, забыл про этот блог.о чем тут же пожалел ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:23:32 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
rrrrrrrr2. Проверили качество работы библиотеки zxing по распознованию QR кодов. Неожиданные результаты местами :) to all: А для генерации что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:27:22 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Если серьезно - посмотри питон. Он очень удобен для текстового процессинга. Наверное, не сталкивались вы с этим пистоном. Там параллельно развиваются три несовместимые версии. Библиотеки все дико сырые, вот пример http://stackoverflow.com/questions/115316/how-can-i-consume-a-wsdl-soap-web-service-in-python/ В общем, руби намного интереснее выглядит, но до перла далеко пока. Кстати, вот например как в перле ставится модуль: perl -MCPAN -e 'install HTML::Template' Сравните это с явой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:30:21 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪЕсли серьезно - посмотри питон. Он очень удобен для текстового процессинга. Наверное, не сталкивались вы с этим пистоном. Там параллельно развиваются три несовместимые версии. Библиотеки все дико сырые, вот пример 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) - не на пустом месте появился ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:31:57 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ Там параллельно развиваются три несовместимые версии. Библиотеки все дико сырые, вот пример http://stackoverflow.com/questions/115316/how-can-i-consume-a-wsdl-soap-web-service-in-python/ SOAP и текстовый процессинг разделяет пропасть. Йуный джавистЪ В общем, руби намного интереснее выглядит, но до перла далеко пока. :) Йуный джавистЪ Кстати, вот например как в перле ставится модуль: perl -MCPAN -e 'install HTML::Template' Сравните это с явой. Скопировал jar-ник и готово. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:43:54 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
С руби примерно теже грабли - вид сбоку. Обратную совместимость никто не гарантирует. Обновление - всегда с опаской на то.что все рухнет и не поднимется. Ну да. Был перл, который отлично работал, с кучей библиотек, прекрасным mod_perl. Но люди хотят прогресса, поэтому пришлось выдумать PHP, Python и Ruby которые тормозят, глючат и ломают обратную совместимость при минорном апдейте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:45:27 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Скопировал jar-ник и готово. Перл рекурсивно скачает зависимости этого джарника. К тому же CPAN - действительно централизованный репозиторий. В яве некоторые либы вообще отсутствуют в мавен формате, а некоторые выложены не на maven.org а куда-то еще. К тому же мавен - то еще удовольствие. Поставь отдельно мавен, напиши xml, жди полчас пока он закачает миллион каких-то файлов с загадочными названиями. SOAP и текстовый процессинг разделяет пропасть. Я хотел проиллюстрировать, что там просто все криво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:52:08 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Почему не COBOL? А с явой кстати скоро будет то же что и с коболом. Слово Java у хипстеров уже стало ругательным и используется как синоним чего-то древнего и примитивного (как вы используете слово COBOL). Жаль конечно, потому что неплохая технология была (в любом случае, то что на замену придет будет хуже). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 13:56:05 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА с явой кстати скоро будет то же что и с коболом. Пока нет к этому никаких предпосылок. У Java есть ряд незаменимых достоинств, которые другие решения пока не предлагают. Йуный джавистЪСлово Java у хипстеров уже стало ругательным и используется как синоним чего-то древнего и примитивного (как вы используете слово COBOL). Кого волнуют хипстеры? Рынок показывает что востребованость Java никуда не делась. Йуный джавистЪЖаль конечно, потому что неплохая технология была (в любом случае, то что на замену придет будет хуже). Дык ничего не торопиться идти на замену. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 14:05:09 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
О себе: 1. Научился обманывать jasper чтобы в crosstab выводить "неуникальные" строки. Без извращений, он их жрет. Что в принципе и неудивительно. 2. Выловил пару багов в iReport: исчезание инкрементера (полечен в более позних версиях) и jasper:глюки с conditional style (в новых не проверял, но есть подозрения что остался) 3. Набрал 300 рейта на jasperforge 4. Обыграл сына в FIFA на плейстейшн. (Че смеетесь, в первый раз за год!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 14:05:48 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ Но люди хотят прогресса, поэтому пришлось выдумать да, хотят))) Разные поколения). И пенять на это бесполезно. Тем более сабж с каким названием) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 14:28:57 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Кого волнуют хипстеры? Рынок показывает что востребованость Java никуда не делась. Да вообще-то хипстеры моду задают. Например, сейчас уже начали внедрять монгодб для какой-нибудь внутренней автоматизации. Если СУБД не устояли, то у явы шансов вообще нет. Завтра на хабрахабре напишут, что ява не масштабируется, и все, конец. У Java есть ряд незаменимых достоинств, которые другие решения пока не предлагают. О каких достоинствах речь идет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 15:03:10 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 15:40:24 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪДа вообще-то хипстеры моду задают. Моду на мобилки. На enterprise и highload решения это особо не влияет. Йуный джавистЪНапример, сейчас уже начали внедрять монгодб для какой-нибудь внутренней автоматизации. Если СУБД не устояли, то у явы шансов вообще нет. Мода на NoSQL прошла. Сейчас критерии выбора между NoSQL и RDBMS вполне очевидны. Никакой "монгодб" не даёт возможности строить сложные отчеты, агрегированые с десятков сущностей и представленные в форме слабо связаной с Domain Model. Тут альтернатив RDBMS пока нет. Йуный джавистЪЗавтра на хабрахабре напишут, что ява не масштабируется, и все, конец. Хабр хорош туториалами для нубов. Ничего более серьезного там нет. Погоды в IT, а тем более в программировании хабр не делает. Йуный джавистЪО каких достоинствах речь идет? Простота языка - да, есть геморой с деплойментом, но это излечимо. А вот код не сильно сложнее васика или паскаля, что существенно выделяет язык на фоне модной функционащины. Java просто читать и поддерживать. Ruby, Scala и подобные - проще писать. А вот поддержка становится удивительным приключением, не под силу каждому. Не говоря о том что некоторые даже кодитнг на scala осилить сходу не могут. Производительность - не особо уступает C++ или C# для серверных решений. А при некоторых условиях даже выигрыват. Скриптовые языки, Ruby и PHP могут только тихо стоять в сторонке. Обилие готового, качественного и переиспользуемого кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 15:40:55 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
АлексейСРуслан, это вы? Нет, Руслан это не я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 15:41:29 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Понятно, я уж подумал, что мир как-то совсем тесен :) Озверин, - познаю дао event-driven programming, пишу на нём кравлер (java). Это интересно. - плююсь от перла, так как приходится на нём сейчас иногда кодить. Хоть я и не понимаю как на нём можно кодить, вокруг достаточно народу, которые перл любят. В этом плане я поддержу Blazkowicz, питон - сильно прикольнее, имхо. А версию можно выбрать одну и не париться с несовместимостью. Всё-равно смена версии языка - это не так просто, даже в случае обратной совместимости. Но перловые регулярки в однострочниках на баше - уважаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 15:53:03 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
АлексейСBlazkowicz, Понятно, я уж подумал, что мир как-то совсем тесен :) Озверин, - познаю дао event-driven programming, пишу на нём кравлер (java). Это интересно. Вы написали и я сразв вспомнил недавно подсмотренную во всеми мире методологию разработки: Asshole driven development ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 17:48:53 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Озверин, Не, такое я не практикую Хотя доводилось работать в таких компаниях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 17:55:07 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Озверин, Если вы конкретно о том, что я делаю, то буду рад услышать конструктивную критику и предложения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 18:46:23 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Благодаря недавним обсуждениям здесь на тему zk,smartgwt,vaadin, gxt - выбрал gxt для нового проекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 19:36:40 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
bob1970выбрал gxt для нового проекта Оно денег стоит. Большой проект, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 19:43:58 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowiczbob1970выбрал gxt для нового проекта Оно денег стоит. Большой проект, наверное. Размер очень и очень в тумане :) Там есть GPL версия. Исходники по любому отдавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 21:12:17 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Простота языка - да, есть геморой с деплойментом, но это излечимо. А вот код не сильно сложнее васика или паскаля, что существенно выделяет язык на фоне модной функционащины. Java просто читать и поддерживать. Ruby, Scala и подобные - проще писать. А вот поддержка становится удивительным приключением, не под силу каждому. С одной стороны да, ява отличный, очень понятный язык. С другой стороны, я думаю, это идет ей во вред. Есть некоторые товарищи с тягой писать загадочный говнокод. Если такой товарищ скалой увлекается, то его потребность в творчестве канализируется в сравнительно безобидные синтаксические кунштюки самой скалы. Если же он на яве программирует, то пиши пропало. Например, если попросить такого человека сделать мелкую доработку - скажем показывать логин пользователя красным, если его задолженность больше 100$, то он родит мощную структуру классов, например такую: AbstractUserPresentation ContextBasedUserPresentation FinancialContextBasedUserPresentation AbstractUserPresenter ColorUserPresenter AbstractUserContext FinancialUserContext Коментов конечно не будет, так что понять, что такая сильная структура классов затевалась для такой простой задачи будет невозможно. Так что скала может и получше быть в этом плане. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 22:45:57 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Забыл добавить - все эти классы будут создаваться через xml с использованием spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 22:46:59 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪAbstractUserPresentation ContextBasedUserPresentation FinancialContextBasedUserPresentation AbstractUserPresenter ColorUserPresenter AbstractUserContext FinancialUserContext Знаешь, сейчас у меня как раз такой проект, что обилие такие слоёв для решения простейших задач спасает невероятно. Потому что сначала заказчик просит красный при задолженности 100, а потом исключения, а потом зеленый, и в результате тривильной реализации там один метод с пол сотней if#else. А вот резделение на кучу мелких, но узкоспециализированых классов даёт простой и готовый к любым модификациям код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 23:14:48 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
А вот резделение на кучу мелких, но узкоспециализированых классов даёт простой и готовый к любым модификациям код. Позвольте не поверить. То что я видел, было всегда устроено одинаково - в тех местах, где это не надо по уму, была гибкость, фабрики, паттерны и пр. А там где расширяемость не помешала бы, там все было приколочено гвоздями тупейшим образом. Объяснить это легко - время на всякое ООП есть когда делаешь неважную для бизнеса задачу. А раз она неважная, там никто ничего и расширять не захочет. Если же направление для бизнеса важное, то там скорее всего будут всякие доработки и переделки, но времени подумать и как-то заложить это в архитектуру не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 23:55:30 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Потому что сначала заказчик просит красный при задолженности 100, а потом исключения, а потом зеленый, и в результате тривильной реализации там один метод с пол сотней if#else. Если вам за такие доработки отдельно платят, то не вижу ничего плохого. А если нет, то можно и движок правил присобачить - пусть они там заводят правила хоть до посинения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 00:06:59 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Хабр хорош туториалами для нубов. Ничего более серьезного там нет. Погоды в IT, а тем более в программировании хабр не делает. Там, по-моему, переводы из англоязычных блогов в основном. Если перевели и выложили на хабр - значит все, пошло в широкие массы. Критерий такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 00:22:51 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Попатчил org.eclipse.jdt.core_3.8.2.v20120814-155456.jar c помощью байткод-редактора, чтобы отключить ошибку "unhandled exception" А из-под javac для того же есть костылек: disableCheckedExceptions-alpha.jar Таким образом, теперь я могу тупа положить на обработку исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 00:37:02 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЙуный джавистЪAbstractUserPresentation ContextBasedUserPresentation FinancialContextBasedUserPresentation AbstractUserPresenter ColorUserPresenter AbstractUserContext FinancialUserContext Знаешь, сейчас у меня как раз такой проект, что обилие такие слоёв для решения простейших задач спасает невероятно. Потому что сначала заказчик просит красный при задолженности 100, а потом исключения, а потом зеленый, и в результате тривильной реализации там один метод с пол сотней if#else. А вот резделение на кучу мелких, но узкоспециализированых классов даёт простой и готовый к любым модификациям код. эта проблема действительно есть в Java. В самом коде с кучей case и if, на самом деле нет ничего страшного. Это "всегда" - логика. Которая проста как 5 рублей и задаётся Бизнес-аналитиком. Он такую простынь из if и сам может смотреть. А вот, из паттернов - не может. Просто, в Java нет деления на системный код-ядро. и прикладной - БЛ. Глаз намыливается на такое обилие классов и потом, так и пишется. imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 08:16:28 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПростота языка - да, есть геморой с деплойментом, но это излечимо. А вот код не сильно сложнее васика или паскаля, что существенно выделяет язык на фоне модной функционащины. Кстати по поводу функционащины, что думаете о языке Erlang? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 20:18:58 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123В самом коде с кучей case и if, на самом деле нет ничего страшного. Это "всегда" - логика. Не согласен. Вот у нас сейчас есть такой метод - порядка 300 строк. Как раз куча if'ов, методов инициализации полей и тому подобного. Так вот аналитику нафиг не нужны все эти if'ы. Ему важно знать, как обрабатывается тот или иной тип перевода. Все. Планируем рефакторинг - вынесение что-то типа создания стратегий по обработке каждого типа переводов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 21:35:00 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Leonidv, автораналитику нафиг не нужны прежде всего надо заставить аналитика сделать рефакторинг тз, чтобы не пришлось поддерживать в голове маппинг между тз и абстрактной фабрикой метапаттернов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 21:51:20 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманLeonidv, автораналитику нафиг не нужны прежде всего надо заставить аналитика сделать рефакторинг тз, чтобы не пришлось поддерживать в голове маппинг между тз и абстрактной фабрикой метапаттернов На самом деле и аналитик и ТЗ здесь немного не в тему. Вот мне говорят добавить такую-то проверку в такой тип перевода. Сейчас мне надо продраться сквозь несколько десятков if'ов, чтобы найти нужное. А хочется просто взять и сразу найти нужное место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2013, 22:14:17 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинПоведайте о новых технологиях, приемах и так далее. Поделитесь дзеном, только не на 50 страниц, а кратенько, если не сложно. Внедрил движок правил Drools Expert, правда руки успели добраться только до небольшой его части Decision Tables , в целом описание правил в EXCEL понравилось, можно легко находить общий язык с базинесюзерами. Предметная область была продажа медиа контента, цель внедрения движка правил избавиться от 15 реляционных таблиц(и сопутсвующей тучи java кода и JPA аннотаций) которые использовались для описания запутанной структуры договоров с правообладателями контента. Жалко уже не увижу как будет подниматься репозитарий правил , Drools был мой дембельский аккорд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 12:38:22 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
LeonidvЛагманLeonidv, пропущено... прежде всего надо заставить аналитика сделать рефакторинг тз, чтобы не пришлось поддерживать в голове маппинг между тз и абстрактной фабрикой метапаттернов На самом деле и аналитик и ТЗ здесь немного не в тему. Вот мне говорят добавить такую-то проверку в такой тип перевода. Сейчас мне надо продраться сквозь несколько десятков if'ов, чтобы найти нужное. А хочется просто взять и сразу найти нужное место. приведи пример "инициализации полей", т.к. дело в неправильно if \ case а не в самом наличии "такой простыни". Та не должно быть "инициализации полей", а только 1-2 уровня ветвления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 14:27:15 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, Сколько себя помню, cтолько и слышу о скорой кончине Java. Наиболее серьезно и прямо слышал об этом на конференции, проводимой Microsoft в Киеве еще в 2003. Там даже pop группа была, исполняющая нечто вроде панихиды. Так все было серьезно, что чуть было не поверил. Java хороша, хотя бы потому, что название "Java" уже давно ассоциируется с платформой и множеством, а не с одним языком. Сам язык Java прост, программы легко читаемы ( писать, правда, нудновато, но не трудно. Но тут для любителей есть Scala, Groovy, Clojure, JRuby, JPython etc. А вскоре ожидается JavaScript под JVM, а там и Google Dart ), отлаживаемый и хорошо приспособлен для IDE. А многие болезни Java, думаю к концу этого года будут вылечены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 15:13:53 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin, я стал было даже упоротым джавистом последние 5 лет, но вчера снова открыл freepascal - это как голоток свежего воздуха. function of object и вложенные функции, например - киллер фичи, устраняющие необходимость каких-либо паттернов и т.п.. Так что это ещё бабушка надвое сказала. Из хорошего в джаве за последнее время это javafx, и из неофициального - lombock, надеюсь наработки lombock поскорее войдут в официальный дистрибутив. Алсо таки checked exceptions надо убрать из языка, и сделать очень короткий синтаксис для замыканий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 20:27:44 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ну т.е. lombok :3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 20:28:44 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагманустраняющие необходимость каких-либо паттернов и т.п.. rofl, да и вообще best practice хорошим языкам тоже ни к чему. ЛагманАлсо таки checked exceptions надо убрать из языка Во-первых спорный вопрос. Во-вторых обратная совместимость и всё такое. И в-третих кому надо, наследуются от RuntimeException и не парятся. Так зачем менять платформу ради того что и без изменений решается? Лагман, и сделать очень короткий синтаксис для замыканий. Пофиг на синтаксис. Если оно решит проблему ссылок на методы и свойства, будет круто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 22:46:58 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Blazkowiczbest practice Не улавливаю прямой связи с паттернами например, я о том что тупо код короче и закорючек поменьше. Ну впрочем надежда на реализацию ссылки на метод ). BlazkowiczТак зачем менять платформу Кто может наследуется, а кто использует стандартные классы пишет кучи catch (..) { throw new RuntimeException }. Я вот изнасиловал эклипс (для домашнего проекта) и жизнь стала гораздо легче и приятнее ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 23:47:44 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманНе улавливаю прямой связи с паттернами например Паттерны это типовые подходы. Синтаксис их вообще никак не устраняет. Лагман, я о том что тупо код короче и закорючек поменьше. Это можно сказать про любой современный функциональный или скриптовой язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2013, 23:54:42 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, так я и не говорил о синтаксисе, в свете "procedure of object" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 00:00:36 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
vimbaОзверинПоведайте о новых технологиях, приемах и так далее. Поделитесь дзеном, только не на 50 страниц, а кратенько, если не сложно. Внедрил движок правил Drools Expert, правда руки успели добраться только до небольшой его части Decision Tables , в целом описание правил в EXCEL понравилось, можно легко находить общий язык с базинесюзерами. Предметная область была продажа медиа контента, цель внедрения движка правил избавиться от 15 реляционных таблиц(и сопутсвующей тучи java кода и JPA аннотаций) которые использовались для описания запутанной структуры договоров с правообладателями контента. Жалко уже не увижу как будет подниматься репозитарий правил , Drools был мой дембельский аккорд. Взлетело хоть?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 09:19:15 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагманну т.е. lombok :3 Код: java 1. 2. 3. 4. 5. Это правда? Без внедрений логгера и статических полей? lombok - на уровней байт кода меняет что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 09:25:55 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагман"procedure of object" +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 10:38:39 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинЛагманну т.е. lombok :3 Код: java 1. 2. 3. 4. 5. Это правда? Без внедрений логгера и статических полей? lombok - на уровней байт кода меняет что ли? Чего-то не прочел, кодогенератор же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 11:18:00 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123Лагман"procedure of object" +1 Несмотря на то, что рефлексия в java носит слегка иной характер(вызовы через jni), тем не менее, можно ускорить method.invoke() значительно, что по времени приблизиться к прямому вызову(в первом приближении на "подготовительном" setAccessible(true) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 11:41:22 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Озверин, если я правильно уловил мысль, то... Я бы в первую очередь заботился об удобстве программирования (.... я о том что тупо код короче и закорючек поменьше.....). Т.к. Java претендует!? не только на серверную платформу, но и на быструю разработку ГУИ. В ГУИ скорость не важна. Важна способность компилятора помогать не писать рутинный код. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 11:47:25 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123Озверин, если я правильно уловил мысль, то... Я бы в первую очередь заботился об удобстве программирования (.... я о том что тупо код короче и закорючек поменьше.....). Т.к. Java претендует!? не только на серверную платформу, но и на быструю разработку ГУИ. В ГУИ скорость не важна. Важна способность компилятора помогать не писать рутинный код. IMHO Java не заботится в первую очередь об удобстве, скорее это надежность. Именно по этой причине в java избавили от опасных указателей, исключив достаточно сложно "арифметику" этих самых указателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 11:56:16 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинЧего-то не прочел, кодогенератор же. Посмотрел демо. Не взлетит. hashCode далеко не всегда такой тривиальный, в случае mutable свойств. Вот в первом примере как узнать использованы ли в hashCode mutable свойства или нет? Спрятал свойства - молодец. А дебажить потом как? А свойства с firePropertyChanged оно тоже генерит? Ну, и так далее. Полагаю, по остальным фичам тоже не всё идеально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 12:00:43 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Озверин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. 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 } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 12:02:18 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
я могу ошибаться, но Лагман вроде говорил об этом: Delphi: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. итого - 5 строк кода для программиста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 12:41:49 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123я могу ошибаться, но Лагман вроде говорил об этом: По сути тот же observer. Только синтаксис другой, как делегаты в C#. Petro123итого - 5 строк кода для программиста Не всё в этой жизни меряется строками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 12:54:10 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да....да... Но всегда были люди, предпочитающие коробку автомат в автомобиле)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 12:56:56 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123Но всегда были люди, предпочитающие коробку автомат в автомобиле)) Совершенно не равноценная аналогия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 13:03:23 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123Blazkowicz, да....да... Но всегда были люди, предпочитающие коробку автомат в автомобиле)) И все мы знаем, что профессионалы то используют механику ;) (пусть даже и электронную, как в формула 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 13:04:19 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
нет деления на прикладников. Если я еду отдыхать в Московские пробки))). То мне механика не нужна. Т.е. если я пишу ГУИ (прикладной код без всякого DSL), то мне нужно коротко писать. Чтобы мысль не растеклась по дереву)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 13:08:18 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Petro123нет деления на прикладников. Если я еду отдыхать в Московские пробки))). То мне механика не нужна. Т.е. если я пишу ГУИ (прикладной код без всякого DSL), то мне нужно коротко писать. Чтобы мысль не растеклась по дереву)) Так это вы начали обобщать. но вовремя двинулись к крамоле , вроде: каждый язык реализует цель и под задачи - нужные инструменты ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 13:14:40 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Озверин, Круто было бы писать как в js, что-то типа setter = object.setX; setter.invoke(arg1, arg2, ..) Понятно что метод можно завернуть, но, если даже мы сделаем класс для оборачивания сеттера, внутри будет поиск метода по имени с валидацией его сигнатуры только в рантайме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 14:37:18 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманКруто было бы писать как в js, что-то типа setter = object.setX; setter.invoke(arg1, arg2, ..) Понятно что метод можно завернуть, но, если даже мы сделаем класс для оборачивания сеттера, внутри будет поиск метода по имени с валидацией его сигнатуры только в рантайме http://earthly-powers.blogspot.com/2012/07/java-8-lambda-and-method-references.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 14:39:59 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманОзверин, Круто было бы писать как в js, что-то типа setter = object.setX; setter.invoke(arg1, arg2, ..) Понятно что метод можно завернуть, но, если даже мы сделаем класс для оборачивания сеттера, внутри будет поиск метода по имени с валидацией его сигнатуры только в рантайме Да само собой круто, но нафига?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:07:26 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинЛагманОзверин, Круто было бы писать как в js, что-то типа setter = object.setX; setter.invoke(arg1, arg2, ..) Понятно что метод можно завернуть, но, если даже мы сделаем класс для оборачивания сеттера, внутри будет поиск метода по имени с валидацией его сигнатуры только в рантайме Да само собой круто, но нафига?:) Я не в том плане, что это не нужно, а в том, что можно использовать groovy, google guava, jruby и так далее. Все это можно в одном проекте с одним комплиятором(насчет gg - не уверен). Если уж и ускорять, сам процесс разработки, то как то более глобально: может за счет более плотной интеграции с другими языками, может за счет "встроенных" шаблонов . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:18:04 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинДа само собой круто, но нафига?:) Например, Query Language и binding с compile time проверками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:21:30 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинДа само собой круто, но нафига?:) Например, Query Language и binding с compile time проверками. Может возникнуть ситуация с generic - когда вначале радовались, и описывали все подряд...а потом появились классы типа Код: java 1. и стали плеваться и искать некий компромисс. Скажем твердое и решительное нет замыканиям, ссылкам на методы и прочие лямба выражения;) Я в том плане, что в java по моему хватает проблем, начиная от многопоточности и безопасной инициализации объекта, заканчивая условной кроссплатформенностью (про win и linux можно поспорить, но как только вспоминаем j2me - начинаются танцы с бубном) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:37:01 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинМожет возникнуть ситуация с generic - когда вначале радовались, и описывали все подряд...а потом появились классы типа Код: java 1. А меня генерики радуют до сих пор. Клинических случаев у себя на проектах ещё не наблюдал. Единственное что не всегда с наскока легко понять стоит ли тут сделать generic или лучше обычный overload. Потому как всё зависит от ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:41:37 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ОзверинBlazkowiczпропущено... Например, Query Language и binding с compile time проверками. Может возникнуть ситуация с generic - когда вначале радовались, и описывали все подряд...а потом появились классы типа Код: java 1. и стали плеваться и искать некий компромисс. Скажем твердое и решительное нет замыканиям, ссылкам на методы и прочие лямба выражения;) Я в том плане, что в java по моему хватает проблем, начиная от многопоточности и безопасной инициализации объекта, заканчивая условной кроссплатформенностью (про win и linux можно поспорить, но как только вспоминаем j2me - начинаются танцы с бубном) Проблем с многопоточностью нет там, где этой многопоточности нет вообще. Но там ее эмулируют через спагетти из колбаков и костыля "процесс на обработчик". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:54:53 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагманно вчера снова открыл freepascal - это как голоток свежего воздуха. function of object и вложенные функции, например - киллер фичи, устраняющие необходимость каких-либо паттернов и т.п..У ява-рантайма есть одно, но очень важное преимущество: можно взять классы созданные в одной версии и использовать их в другой. Можно изменить реализацию класса и, опять-таки, использовать его без каких-либо изменений других частей проекта. CORBA/(D)SOM, теоретически, обеспечивают и такую возможность, но (D)SOM вообще умер, а желающих использовать CORBA - как-то не очень много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 16:44:54 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
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); } " border="0" align="center" alt="Картинка с другого сайта."/> , где N и M удовлетворяют средней запущенности вашего проекта. Создаём публичные поля (ну можно и геттеры, не суть) Код: java 1. 2. 3. 4. 5. 6. И - профит, можно даже скукоживать как полноценные замыкания: Код: java 1. 2. 3. 4. 5. 6. разве не няшно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2013, 01:54:48 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ну там только Код: java 1. 2. соответственно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2013, 01:58:09 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
и Код: java 1. надеюсь это не испортит общие впечатления от примера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2013, 01:58:59 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагман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); } " 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. И - профит, можно даже скукоживать как полноценные замыкания: Код: java 1. 2. 3. 4. 5. 6. разве не няшно? Ты тоже считаешь баланс по мобилкам в жабе, а не в DB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2013, 06:36:07 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагман, сидел минут 15 фтыкал, что вообще происходит ;) Запущенность проекта многократно увеличицо..как по мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2013, 11:43:02 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Поднимаю же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 16:13:58 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
отрефакторил велосипедный орм, например https://github.com/aelio/odb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2013, 02:56:47 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Узнал что foreach - непозволительно затратная операция. Доступ к public полю в разы быстрее геттера, а массив - в разы быстрее public поля. Гори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 05:33:16 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманГори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы. это всегда так было. Или ООП или быстро Или ооп маленький размер программы Или ООП или маленький вес проги в оперативке. Всё в мире с жертвами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 13:18:40 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
> Доступ к public полю в разы быстрее геттера, А где вы это узнали? Где-то в жж elizarov писал и приводил док-ва, что геттеры в итоге компилятся в одну ассемблерную команду. И верить я склонен ему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:18:52 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Ну я как-то больше верю системному таймеру, который после замены геттера на паблик, показывает вдвое меньшее время. Не знаю, связано ли это со спецификой задачи, и того, в каком порядке написаны мат.операции с результатом этого паблика/геттера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 16:42:41 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманНу я как-то больше верю системному таймеру, который после замены геттера на паблик, показывает вдвое меньшее время. Не знаю, связано ли это со спецификой задачи, и того, в каком порядке написаны мат.операции с результатом этого паблика/геттера. Что тестировали? Java интепретатор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 16:44:32 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманУзнал что foreach - непозволительно затратная операция. Для массива или коллекции? Для какой-то конкретной коллекции? Не пробовали разобраться почему? ЛагманДоступ к public полю в разы быстрее геттера, а массив - в разы быстрее public поля. Пишут что если таки сделать final акцессор или дождаться JIT компиляции, то с большой вероятностью getter заинлайнится. ЛагманГори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы. Ну, realtime на любом языке высокого уровня требует ухищрений с оглядкой и на ОС и на CPU. Тот же Disruptor - набор хаков. Где-то был забавный пример про бины на базе Unsafe. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:17:28 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, наличие пустого foreach(Object obj: arrayList) {} занимало 95% времени метода, это при том что в нем было решение 1024*1024 квадратных уровнений :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:28:59 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ну, т.е. и arrayList там пустой был ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:29:41 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
хотя может уравнений поменьше было.. но не менее 2-3к точно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:31:46 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагманну, т.е. и arrayList там пустой был Возможно это очень часто происходило, поэтому создалось огромное количетство ненужных интераторов. А почему не массив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:59:07 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
2Лагман - вы делаете какие-то неправильные тесты или тесты правиьлные, но вывод вы делаете неверно, или используете неправильную jvm. С тестами в яве надо быть очень осторожным. foreach - в жаве нету, есть for(T a:b), которое вы, по всей вероятности, имели в виду. Отличается от итерации по int она тем, что при каждом входе создает дополнительный обьект Iterator, только и всего. Соответственно "Узнал что foreach - непозволительно затратная операция." совершенно неверная формулировка. Таковой она будет в редких случаях, а именно - когда говнокодеры много раз в цикле делают цикл foreach. А еще, в седьмой яве оно создается в стеке, если этот итератор удовлетворяет определенным уловиям для эскейп-анализа (а это так, скорей всего - нет финализатора и ссылка не покидает области видимости). Поэтому все равно foreach должен быть быстр. геттеры вообще часто инлайнятся (в серверной jvm), то есть на уровне кода (после jit) не делается call ради чтения одной ячейки. Вместо ArrayList<Integer> можно можно юзать классы либы trove. На больших данных это сэкономит и память и процессорное время. Хотя и с trove можно умудриться сделать тест, который покажет не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 19:46:54 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
chabapok, мне важнее чтобы код выполнялся, а не ваши домыслы про версии jvm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2013, 14:07:17 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
ЛагманУзнал что foreach - непозволительно затратная операция. Доступ к public полю в разы быстрее геттера, а массив - в разы быстрее public поля. Гори оно огнем - выходит, надо выбирать, или реалтайм или ООП, какбы. А тесты можете выложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2013, 23:22:16 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2013, 23:24:30 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Лагман, Выложите ваши тесты. В них явно что-то не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 14:03:07 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
Еще не пятница, но тот факт, что я погрузился в alfresco меня угнетает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 17:22:47 |
|
||
|
Пятничный "что нового узнали за неделю" треп.
|
|||
|---|---|---|---|
|
#18+
chabapok, если будет время, выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2013, 14:02:51 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2129473]: |
0ms |
get settings: |
18ms |
get forum list: |
27ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
48ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
138ms |
get tp. blocked users: |
3ms |
| others: | 321ms |
| total: | 586ms |

| 0 / 0 |
