|
|
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Для сравнения рору нужно сделать всего лишь svn up. В СУБД тоже удобно, можно написать хранимку в блокноте, скопировать ее в sql клиент, тут же отладить, написать следующую и т. д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 20:34:23 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА что если настроить инкрементальный билд на сервере? Тогда на сервере можно делать svn up + там же инкрементальный билд. Не столько инкрементальный билд, сколько continuous integration. Когда TeamCity или Jenkins всё то же самое делает в фоновом режиме, совершенно не важно, хоть час проект собирается, хоть два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 20:35:29 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
забыл ник, Боже мой. Как же это ты несешь все в себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 20:37:15 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЙуный джавистЪА что если настроить инкрементальный билд на сервере? Тогда на сервере можно делать svn up + там же инкрементальный билд. Не столько инкрементальный билд, сколько continuous integration. Когда TeamCity или Jenkins всё то же самое делает в фоновом режиме, совершенно не важно, хоть час проект собирается, хоть два. естественно Jenkins, вы не до конца поняли всю пичаль:( Инкрементальный, неинкрементальный - пофиг - это время. Когда в команде 30+ человек и 20 проектов, то каждый коммит - это пересборка, если с тестами - это ппц, а если изменения в domain - ...... билдятся все. А кастомер хочет как - поправь мне две опечатки, добавь страничку. Ну делов то - метод в контроллере, новая jsp и две правки в существующих страницах. и сидишь ждешь 1.5 часа - пока все соберется и задеплоится, попутно отвечая на тупые вопросы кастомера - почему так долго. Просить второй сервер для второго дженкинса - 500 тыщ бумажонок, с обоснованием, графиками, обсуждениями, настройкой сервера, открыванием портов для фарволла - привет энтерпрайз, короче бесит оч сильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 20:42:26 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я не знаю, симметричный ли это ответ (Servet 3.1) . Поэтому и спросил. Нет, на сам деле, внятного ответа от Oracle, Но интересно. Я думал, что на форуме не ловят на вопросах, а пытаются отвечать. Sorry. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 20:45:32 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Valery Shiskinзабыл ник, Боже мой. Как же это ты несешь все в себе. я постиг дзен, веришь нет - я уже ничему не удивляюсь, самое интересное - я уже начал различать ситуации когда надо реально срочно, а когда можно забить - и никто не заметит. У меня рабочий имейл - вообще прикольная тема - стоят фильтры urgent, very urgent, extremely urgent. ASAP - тупо идет в корзину:) Как оно все существует до сих пор и не накрылось медным тазом - для меня загадка из загадок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 20:48:50 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
А кастомер хочет как - поправь мне две опечатки, добавь страничку. Ну делов то - метод в контроллере, новая jsp и две правки в существующих страницах. и сидишь ждешь 1.5 часа - пока все соберется и задеплоится, попутно отвечая на тупые вопросы кастомера - почему так долго. Обычно сборка ява проекта - скомпилировать сорцы и запаковать их в зип. Компилировать можно инкрементально, запаковки в зип можно тоже избежать, если сервер позволяет деплоить прямо из папки. Мне кажется, можно при желании добиться быстрой пересборки. Вообще вся эта ява-инфраструктура является тяжелым кошмаром. Если бы специально старались сделать все неудобно и через жопу, то все равно не достигли бы такого эффекта как в яве. Например, взять хотя бы мавен. За каким-то хером он вставляет в собранный джар файлик с датой. В результате, даже если сорцы не поменялись, джары получаются бинарно разными, что несовместимо с инкрементальной сборкой. Получается, что люди, которые разработали билд-тул, ВООБЩЕ НИЧЕГО не понимают в сборке. Я для себя давно сделал вывод, что если в проекте используется мавен, спринг, хибернейт или jsf, то проект скорее всего какая-то гниль бессмысленная, и надо его всячески избегать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 22:05:03 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА кастомер хочет как - поправь мне две опечатки, добавь страничку. Ну делов то - метод в контроллере, новая jsp и две правки в существующих страницах. и сидишь ждешь 1.5 часа - пока все соберется и задеплоится, попутно отвечая на тупые вопросы кастомера - почему так долго. Обычно сборка ява проекта - скомпилировать сорцы и запаковать их в зип. Компилировать можно инкрементально, запаковки в зип можно тоже избежать, если сервер позволяет деплоить прямо из папки. Мне кажется, можно при желании добиться быстрой пересборки. Ну канеш:) Затраты времени на компиляцию - это секунды, инкрементальный билд тут явно не спаситель. А в сборке еще бывает - генерация стабов для веб-сервисов по wsdl, инструментация, компилирования swf из флекса, ассемблинг. вынос статических ресурсов, автогенерирование кода и тд - итп. Добавь к этому модульность, поиск депенденси и запуск тестов, я не говорю даже про всякие кловеры, кобертуры, чекстайлы и файндбаги. Ну и билд сервер это конечно абсолютно отдельная машина, которая не имеет сетевого соединения с другими серверами(тест, qa и продакшен). Вообще вся эта ява-инфраструктура является тяжелым кошмаром. Если бы специально старались сделать все неудобно и через жопу, то все равно не достигли бы такого эффекта как в яве. Например, взять хотя бы мавен. За каким-то хером он вставляет в собранный джар файлик с датой. В результате, даже если сорцы не поменялись, джары получаются бинарно разными, что несовместимо с инкрементальной сборкой. Получается, что люди, которые разработали билд-тул, ВООБЩЕ НИЧЕГО не понимают в сборке. Я для себя давно сделал вывод, что если в проекте используется мавен, спринг, хибернейт или jsf, то проект скорее всего какая-то гниль бессмысленная, и надо его всячески избегать. Плата за статическую типизацию. Ну ты скажи как сделать лучше для java? Если бы не было мавена - я бы застрелился, ты просто не представляешь какие тут объемы кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 22:22:07 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
ты просто не представляешь какие тут объемы кода. Затраты времени на компиляцию - это секунды Нет ли тут противоречия? Есть статья http://www.javaworld.com/javaworld/jw-11-2005/jw-1107-build.html про инкрементальный билд. Смысл в том, что после выполнения каждый таски делаешь touch для некоторого служебного файла, таким образом помечая время последнего запуска таска. Потом сравниваешь дату исходника с датой этого файла, если первая меньше второй, то таск можно пропустить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 22:57:04 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Плата за статическую типизацию. Ну ты скажи как сделать лучше для java? В оракл PLSQL тоже статическая типизация и компиляция в нейтив код, но там все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:01:45 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Тесты, чекстайлы и файндбаги не вижу смысла на каждый билд запускать, пусть делаются в фоне или ночью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:07:02 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪты просто не представляешь какие тут объемы кода. Затраты времени на компиляцию - это секунды Нет ли тут противоречия? Есть статья http://www.javaworld.com/javaworld/jw-11-2005/jw-1107-build.html про инкрементальный билд. Смысл в том, что после выполнения каждый таски делаешь touch для некоторого служебного файла, таким образом помечая время последнего запуска таска. Потом сравниваешь дату исходника с датой этого файла, если первая меньше второй, то таск можно пропустить. Ну если советуешь так хотя бы сам прочитай:) In this article, my main focus in this scenario is when a developer works on his local working directory: He changes the project and wants to obtain feedback and see the results as fast as possible. Before ending with a task and committing it to the codebase, he wants to do a couple of fast incremental builds. By using techniques introduced in this article, he will quicken these builds and consequently save time. Где ты кстати такое старье выкопал? С локальными билдами проблем никаких нет. Городить такое на билдсервере - это ахтунг. Я повторюсь, ты не представляешь какие сложные бывают графы депенденси. Как настроить инкрементальный билд - если поменялись только xsd? Короче не вариант. И еще раз, компиляция(javac) в типичном билде занимает секунды, а автогенерация, инструментация, скачивание депенденси и тесты - отжирают львиную долю времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:16:05 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПлата за статическую типизацию. Ну ты скажи как сделать лучше для java? В оракл PLSQL тоже статическая типизация и компиляция в нейтив код, но там все работает. Классное сравнение) Так пиши на нем. А попутно ответь как это все дело развернуть на кластер, как задеплоить бранч, рефакторинг тоже наверняка очень удобен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:19:29 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪТесты, чекстайлы и файндбаги не вижу смысла на каждый билд запускать, пусть делаются в фоне или ночью. Так и делается, за исключением тестов. Представь что у тебя 20 приложений, многие зависят друг от друга и деплой занимает дохера времени. Любой баг в модуле domain может положить весь qa-процесс на полчаса, не говоря какая это морока в принципе + недовольство кастомера, который шлет панические письма если сервер недоступен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:24:02 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
С локальными билдами проблем никаких нет. Городить такое на билдсервере - это ахтунг. В чем принципиальная разница? Я повторюсь, ты не представляешь какие сложные бывают графы депенденси. Ант умеет работать с графами любой сложности. Как настроить инкрементальный билд - если поменялись только xsd? Короче не вариант. Ява классы перегенерятся из этих xsd, потом ant перекомпилирует только то что зависело от этих классов. Потом инструментатор отинструментирует тоже только то, что поменялось. Потом можно уже деплоить. скачивание депенденси В http есть такая штука как etag. Если мавен не умеет им пользоваться, то тогда, это печально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:31:02 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinЯ не знаю, симметричный ли это ответ (Servet 3.1) . Поэтому и спросил. Нет, на сам деле, внятного ответа от Oracle, Но интересно. Я думал, что на форуме не ловят на вопросах, а пытаются отвечать. Sorry. Вы вот это называете вопросом? Или я чего-то не понял? Valery ShiskinИ это есть: Но почему появилсся Servlet 3.1 вам почему то не в домек. Отвечают, Servlet 3.1 не является реакцией оракл на Node.js. Это просто логическое развитее а API в свете последних тендеций в web. Асинхронность, лишь небольшая часть этой спецификации и нафига она там вообще я пока не очень понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:32:06 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
А попутно ответь как это все дело развернуть на кластер Клиент оракла вообще не знает, кластер там или одиночный инстанс, все абсолютно прозрачно. как задеплоить бранч Если структуры таблиц не отличаются, то берешь и деплоишь. Если отличаются, то ты и в яве бранч не задеплоишь. рефакторинг тоже наверняка очень удобен Да, удобен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:37:07 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА попутно ответь как это все дело развернуть на кластер Клиент оракла вообще не знает, кластер там или одиночный инстанс, все абсолютно прозрачно. как задеплоить бранч Если структуры таблиц не отличаются, то берешь и деплоишь. Если отличаются, то ты и в яве бранч не задеплоишь. рефакторинг тоже наверняка очень удобен Да, удобен. Имелась ввиду кластеризация серверов приложений и ограниченность кластеризации Oracle. Причем тут структура таблиц? Хранимки у тебя разные в бранче. Ну если рефакторинг удобен - то ок, непонятно что ты в теме про java делаешь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 23:47:46 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪС локальными билдами проблем никаких нет. Городить такое на билдсервере - это ахтунг. В чем принципиальная разница? Я повторюсь, ты не представляешь какие сложные бывают графы депенденси. Ант умеет работать с графами любой сложности. Как настроить инкрементальный билд - если поменялись только xsd? Короче не вариант. Ява классы перегенерятся из этих xsd, потом ant перекомпилирует только то что зависело от этих классов. Потом инструментатор отинструментирует тоже только то, что поменялось. Потом можно уже деплоить. скачивание депенденси В http есть такая штука как etag. Если мавен не умеет им пользоваться, то тогда, это печально. Принципиальная разница между локальным билдом и билдом на билд сервере в том, что локально я знаю что изменилось, и в большинстве случаев я разрулю это и без билда всех проектов, хотя иногда могут быть и осечки. А билдсервер должен выдавать гарантированный билд, который без всяких проблем может быть задеплоен на тестовый сервер и гарантированно не свалится. Ну ты бы еще makefile предложил вместо мавена, а че ява девелоперы такие ява девелоперы, придумали мавен, когда есть замечательный ант(я просто не хочу повторять что сказано до меня уже сотни раз и вступать в холивар, если не знаешь недостатков анта - то просто погугли). Сложность с инкрементальным билдом - что ты должен знать что может быть поломано в результате любого коммита(xsd, flex файл, конфиг автогенератора) и учитывать это в билд процессе, и на каждый случай надо возиться с этой настройкой и постоянно отлавливать косяки, нет спасибо. А мавен таки знает про etag, просто когда у тебя число зависимостей около 60(это только снапшоты) - он должен залезть по урлу и проверить etag. Да, можно сделать конкретный билд не 5 минут, а 3 с половиной, учитывая то что только проектов больше 20, а число модулей намного больше - то делать мне больше нефиг чем все это настраивать - программить когда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 00:03:20 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
учитывая то что только проектов больше 20, а число модулей намного больше - то делать мне больше нефиг чем все это настраивать - программить когда? Вы там иногда хоть отдыхайте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 00:10:24 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПлата за статическую типизацию. Ну ты скажи как сделать лучше для java? В оракл PLSQL тоже статическая типизация и компиляция в нейтив код, но там все работает. И JS и PLSQL - неплохие ЯП. Но там ООП мало)). Поэтому на них ПРИКЛАДНОЙ уровень не пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 12:15:30 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОтвечают, Servlet 3.1 .............. Асинхронность, лишь небольшая часть этой спецификации и нафига она там вообще я пока не очень понял. +1 ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 12:19:05 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, если уж сравнивать Java, то сравнивай с шарпом, а не с серверным ЯП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 12:21:24 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
забыл никПринципиальная разница между локальным билдом и билдом на билд сервере в том ну дак этим (сборкой на продакшен) должен заниматься отдельный человек. Причём хоть ночью))). И программирует он вообще "для души" LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 12:24:22 |
|
||
|
Почему Node.js а не JNode ?
|
|||
|---|---|---|---|
|
#18+
Люди! Вы мух от котлет отделите! Что вы валите все в одну кучу? Асинхронность, EE, Node.js Node.js предназначен для вполне определенного ограниченного круга задач - организовать long pooling, передачу сообщений, эммулировать постоянную связь поверх http. Кто пытается на нем решить задачи решаемые EE, скорее не вполне здоров. Есть другие альтернативы node.js - jetty к примеру. При чем тут JMS, EE? Ключевое слово здесь long pooling - разберитесь что это такое если еще не разобрались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2012, 23:47:56 |
|
||
|
|

start [/forum/topic.php?fid=59&startmsg=38084155&tid=2130323]: |
0ms |
get settings: |
17ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
128ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
99ms |
get tp. blocked users: |
3ms |
| others: | 302ms |
| total: | 608ms |

| 0 / 0 |
