> Во время бенчмарка каждую миллисекунду запускается новый клиент.
Вот здесь основной затык. Реально пользователи не будут коннектиться каждую миллисекунду. Если создавать коннекшны с бОльшим интервалом, например втечении пяти-десяти минут, то количество коннекшнов будет гораздо больше.
С другой стороны, JBoss 7.1 прекрасно пускается на OpenShift со всеми j2ee 6 примочками.
А есть какие-нибудь у Openshift ограничения по треффику и CPU?
И да, и нет. Просто есть инструменты, более подходящие для решения цели, а есть менее подходящие. У первых как правило возможность стукнуть себе по пальцу минимизирована уже «из коробки». Чтобы эффективно использовать вторые нужно быть экспертом в обхождении подводных камней и знать все нюансы имплементации.
Выборка очень слаба. Особенно если учесть, что в соционике до сих пор нет теста, дающего более-менее достоверные результаты. Попытки привязать соционику к астрологии и прочей эзотерике не увенчались успехом.
Кстати, вроде как генетическую природу психотипов уже доказали на примере однояйцевых близнецов — они всегда имели один психотип. Филатова со своим сыном впоследствии пытались определить группы генов, исследуя зависимость психотипов детей от психотипов родителей. Но, как всегда, проблема стояла за достаточно большим объемом достоверной выборки.
Как говорит мой юрист, в любом конфликте вопрос всегда упирается в деньги. Сколько реально можно запросить с угрозчика за «честь и достоинство» и «моральный ущерб»? Я слышал, что российские суды очень неохотно признают подобные компенсации (правда еще до меня доходили слухи, что в России правосудие отсутствует как таковое). В итоге Тиньков и Компания посчитали, что расходы на тех, кто подаст в суд и сможет получить компенсацию покрываются подобного рода кампаниями.
Я понимаю, что Вы знаете Scala. Разговор не про это.
>… А «a! b» не может быть отрицанием, так как отрицание — унарная операция.
Зачем использовать ambigious символ, если можно a.send(b)?
> +: — это прибавление элемента ко множеству.
Да, это то, что во всех христианских языках называется add().
> ++ — объединение множеств. «Множественное добавление»
addAll() в Java. В математике никто никогда не использовал символ ++ для объединения множеств. Раньше использовали +, а для пересечения * или &.
> "/:" — foldLeft. Рекомендуется его не использовать, так как foldLeft нагляднее.
А чем слово foldLeft не угодило? Ну или, lfold? Посмотрите чтоли коллекции в Groovy. В разы проще и изящнее.
> Например в scalaz есть огромное количество экспериментальных операторов от которых голова кругом, но они реализуют определенные концепции ФП, суть которых в имени функции не выразить, так что более развернутое имя понятнее не сделает.
Следует добавть: абсолютно бесполезных концепций, которые никем и никогда и нигде не будут использованы.
> Подождите-ка минуту! Но мне говорили, что перегрузка операторов — это зло!
И по-моему любая библиотека Scala живой тому пример.
> Допустим, Вы писали класс для комплексных чисел, и Вы хотите, чтобы комплексные числа можно было складывать.
На практике же символы арифметических операций в Scala используются для чего угодно, кроме арифметических операций. Например если написано !a — это не логическое отрицание, не инверсия, не обратное преобразование наконец, а оказывается, посылка сообщения. Таким же сакральным смыслом обладают операции +:, ++, /:, \:, +++, ~+, ::=, %, %% (взято из разных библиотек). Не говоря уж о том, что это непроизносимо.
Так что одной перегрузкой операторов просто испортили язык.
Че, и сессионную куку тоже нельзя сохранять??? Тогда придется перелопатить 100% сайтов в Европе. Задача впринципе не решаемая за какой-то разумный срок.
Google выбрал простоту в ущерб функциональности, с рассчетом на очень средний уровень разработчиков. Язык не соответствует современным тенденциям и концептуально не продуман. Многие вещи реализованы откровенно плохо. Другие же были копипейстнуты с Java, даже не меняя букв. Что плохо:
— функциональный тип без сигнатуры функции (только опционально через typedef)
— generics без ковариантности/контравариантности
— отсутствует защита видимости public/private
— отсутвтвует nullable/non-nullable types (+50% ошибок)
— спорная концепция constructor initializers и абсолютно лишние factory constructors
— интерфейсы вместо трейтов
— наследование без проверки на override (фу!)
Такой язык был бы популярным лет 12 назад. Ремейк «Java for Web developer».
Да не воспримут сие как попытку холивара, ибо это исключительно мое мнение. Как мне кажется, чисто эстетически Scala наверное один из самых уродливых языков. У создателей Scala какая-то параноидальная страсть к символам и закорючкам вместо понятных английских слов. Это превращает любой код в китайскую грамоту. Причем, этим же почему-то грешат исключительно все библиотеки на Scala. Что это: борьба за компактность кода или персональная неприязнь Мартина к английскому? Для меня символы +-!& не несут никакой смысловой нагрузки, кроме как арифметические операции. Поэтому когда я вижу символы +=, ++=, +++ в SBT-скриптах, мой мозг в состоянии найти в них интуитивно хоть какую-то логику. Поэтому приходится искать их сакральный смысл в документации. Сравните чтоли с gradle, где все вербализированно донельзя. Даже DSL в скала — это зло. Чтобы понять что представляет собой кусок кода нужно лезть в документацию, ибо непонятно что есть метод, что переменная, а что описание. Простые для пользователя и IDE groovy-style билдеры в библиотеках скалы вообще не используются. Вместо этого каждый раз пытаются сотворить совершенно новый описательный синтаксис, и непременно при помощи все тех же значков и закорючек.
Так что Java и Groovy от Scala очень неприятное ощущение. Поэтому жду с нетерпением релиза Kotlin…
P.S. тем не менее как сам язык Scala очень даже неплох, но его сильно подпортило окружение.
Xtend — это код-генератор. То есть на выходе он генерит обычные .java файлы. Кроме того в рантайме не требует никаких лишних библиотек. Интегрирован в Eclipse (syntax highlighting, подсказки, code-completion, debug), но не зависит от него.
Спасибо. Я работал с JBoss 4.x и JBoss SOA 5.x. И у меня складывалось впечатление, что с каждым новым релизом JBoss по тормознутости напоминал все больше Websphere AS. Если ситуация поменялась, то просто отлично!
А как ведет себя AS 7 в development environment? Наиболее критичные вещи:
1. время запуска сервера в debug режиме
2. время деплоя
3. возможность деплоя из eclipse workspace
4. время редеплоя изменений (особенно web-pages)
5. отъедаемая память
Сейчас использую Apache TomEE/OpenEJB для разработки J2EE. Наиболее любимая вещь — моментальный запуск апликации в stand-alone режиме.
Не совсем так. Java — это не только язык программирования, а технология, базирующаяся на утвержденных стандартах. MS в прошлый раз лицензировала у сан именно технологию, которую по лицензии запрещено было менять или расширять. А все потому, что уж коли назвался груздем (java runtime) — полезай в кузов (изволь следовать стандарту). В итоге после суда пришлось отказаться от java runtime мигрировать на CLI, где Java как язык существует до сих пор и называется J#.
Поэтому с языками не так все ясно — не понятно что именно подлежит патентованию: имя языка (ладно, заменили JavaScript на ECMAScript или Java на J#), словарь ключевых слов или правила парсинга…
Суд кстати, важен также и для сообщества Mono, поскольку ситуация с лицензированием C# также не однозначна.
Профайл LCD более-менее соответствует gdipp. Там можно кастомизировать профайл в MacType Tuner. Я чуть потемнее сделал (Render level/Gamma), и болд потоньше (FreeType satndard bold/Font size).
Самое главное — в MacType исправили баги с рендерингом в Chrome.
Есть несколько проблем. В приложенияъ MS Office падает метрика шрифта: курсор рисуется не там, где стоит символ. В Chrome если на сайте используется CSS text shadow, вылезают неприятные артефакты.
Недавно обнаружил форк gdipp — MacType у которого есть интерфейс, настройки и куча предустановленных профайлов. code.google.com/p/mactype/
Вот здесь основной затык. Реально пользователи не будут коннектиться каждую миллисекунду. Если создавать коннекшны с бОльшим интервалом, например втечении пяти-десяти минут, то количество коннекшнов будет гораздо больше.
А есть какие-нибудь у Openshift ограничения по треффику и CPU?
Кстати, вроде как генетическую природу психотипов уже доказали на примере однояйцевых близнецов — они всегда имели один психотип. Филатова со своим сыном впоследствии пытались определить группы генов, исследуя зависимость психотипов детей от психотипов родителей. Но, как всегда, проблема стояла за достаточно большим объемом достоверной выборки.
>… А «a! b» не может быть отрицанием, так как отрицание — унарная операция.
Зачем использовать ambigious символ, если можно a.send(b)?
> +: — это прибавление элемента ко множеству.
Да, это то, что во всех христианских языках называется add().
> ++ — объединение множеств. «Множественное добавление»
addAll() в Java. В математике никто никогда не использовал символ ++ для объединения множеств. Раньше использовали +, а для пересечения * или &.
> "/:" — foldLeft. Рекомендуется его не использовать, так как foldLeft нагляднее.
А чем слово foldLeft не угодило? Ну или, lfold? Посмотрите чтоли коллекции в Groovy. В разы проще и изящнее.
> Например в scalaz есть огромное количество экспериментальных операторов от которых голова кругом, но они реализуют определенные концепции ФП, суть которых в имени функции не выразить, так что более развернутое имя понятнее не сделает.
Следует добавть: абсолютно бесполезных концепций, которые никем и никогда и нигде не будут использованы.
И по-моему любая библиотека Scala живой тому пример.
> Допустим, Вы писали класс для комплексных чисел, и Вы хотите, чтобы комплексные числа можно было складывать.
На практике же символы арифметических операций в Scala используются для чего угодно, кроме арифметических операций. Например если написано !a — это не логическое отрицание, не инверсия, не обратное преобразование наконец, а оказывается, посылка сообщения. Таким же сакральным смыслом обладают операции +:, ++, /:, \:, +++, ~+, ::=, %, %% (взято из разных библиотек). Не говоря уж о том, что это непроизносимо.
Так что одной перегрузкой операторов просто испортили язык.
— функциональный тип без сигнатуры функции (только опционально через typedef)
— generics без ковариантности/контравариантности
— отсутствует защита видимости public/private
— отсутвтвует nullable/non-nullable types (+50% ошибок)
— спорная концепция constructor initializers и абсолютно лишние factory constructors
— интерфейсы вместо трейтов
— наследование без проверки на override (фу!)
Такой язык был бы популярным лет 12 назад. Ремейк «Java for Web developer».
Так что Java и Groovy от Scala очень неприятное ощущение. Поэтому жду с нетерпением релиза Kotlin…
P.S. тем не менее как сам язык Scala очень даже неплох, но его сильно подпортило окружение.
1. время запуска сервера в debug режиме
2. время деплоя
3. возможность деплоя из eclipse workspace
4. время редеплоя изменений (особенно web-pages)
5. отъедаемая память
Сейчас использую Apache TomEE/OpenEJB для разработки J2EE. Наиболее любимая вещь — моментальный запуск апликации в stand-alone режиме.
Поэтому с языками не так все ясно — не понятно что именно подлежит патентованию: имя языка (ладно, заменили JavaScript на ECMAScript или Java на J#), словарь ключевых слов или правила парсинга…
Суд кстати, важен также и для сообщества Mono, поскольку ситуация с лицензированием C# также не однозначна.
Самое главное — в MacType исправили баги с рендерингом в Chrome.
Недавно обнаружил форк gdipp — MacType у которого есть интерфейс, настройки и куча предустановленных профайлов.
code.google.com/p/mactype/