Re[13]: dotnet vs java 2016-2020
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.03.16 12:08
Оценка:
Здравствуйте, ·, Вы писали:

https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx
и солнце б утром не вставало, когда бы не было меня
Re[13]: dotnet vs java 2016-2020
От: Yoriсk  
Дата: 17.03.16 12:09
Оценка: +1
Здравствуйте, ·, Вы писали:

·>Здравствуйте, koandrew, Вы писали:


C>>>Хочется подключиться к удалённой JVM и собрать телеметрию? Не проблема! Пожалуйста: "ssh -X remote.server.net ~/jdk-1.8/bin/jconsole" и смотрим.

K>>F5.
·>F5 это вроде запуск дебаггера. А как задеплоится нужная версия платформы на нужный удалённый хост, как задеплоится собранный бинарник? Как дебаггер поможет тебе построить график использования памяти, детали работы сборщика мусора, сделать дамп памяти, попрофилировать перформанс?

Можно приатачится студией к процессу на удалёной машине и она напрофилирует и нарисует графики. А так существуют профилировщики.
Но вообще всё впечатляющие трюки из серии ̶и̶з̶ ̶г̶о̶в̶н̶а̶ ̶и̶ ̶п̶а̶л̶о̶к̶ ̶c̶о̶б̶р̶а̶т̶ь̶ ̶с̶а̶м̶о̶л̶ё̶т̶ "как парсить логи grep-ом". То есть это впечатляет студентов, но в реальности такие вещи делаются при помощи чуть более других инструментов. Я, наверное, просто не видел достаточно упоротых явистов, потому те, с которыми я сталкивался что разворачивали приложения билд-серверами причём в заранее подготовленый инвайромент. А разворачивать jdk из консоли... Там что-то сложнее hello world запустить получится?
Re[14]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 17.03.16 12:33
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx

Там написано "You can debug a Visual Studio application that has been deployed on a different computer". А деплоймент-то как делать?
Причём тут вообще дебагер? Cyberax говорил о деплойменте, запуске и мониторинге приложения на удалённом хосте.
Т.е. есть у тебя какой-то хост, девственно чистый, только что админы его воткнули в стойку... Нужно поставить туда указанную версию фреймворка, твоё свежесобранное приложение, запустить его там и наблюдать как оно работает. Две необходимые команды приведены Кибераксом выше. А в .net как?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[15]: dotnet vs java 2016-2020
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.03.16 12:35
Оценка: :)
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Serginio1, Вы писали:


S>>https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx

·>Там написано "You can debug a Visual Studio application that has been deployed on a different computer". А деплоймент-то как делать?
·>Причём тут вообще дебагер? Cyberax говорил о деплойменте, запуске и мониторинге приложения на удалённом хосте.
·>Т.е. есть у тебя какой-то хост, девственно чистый, только что админы его воткнули в стойку... Нужно поставить туда указанную версию фреймворка, твоё свежесобранное приложение, запустить его там и наблюдать как оно работает. Две необходимые команды приведены Кибераксом выше. А в .net как?

То есть это суппер пупер фича из-за которой нужно выбирать Яву? Я прекрасно могу отлаживать удаленно с минимальными телодвижениями.
и солнце б утром не вставало, когда бы не было меня
Re[14]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 17.03.16 12:43
Оценка:
Здравствуйте, Yoriсk, Вы писали:

Y>·>F5 это вроде запуск дебаггера. А как задеплоится нужная версия платформы на нужный удалённый хост, как задеплоится собранный бинарник? Как дебаггер поможет тебе построить график использования памяти, детали работы сборщика мусора, сделать дамп памяти, попрофилировать перформанс?


Y>Можно приатачится студией к процессу на удалёной машине и она напрофилирует и нарисует графики. А так существуют профилировщики.

Y>Но вообще всё впечатляющие трюки из серии ̶и̶з̶ ̶г̶о̶в̶н̶а̶ ̶и̶ ̶п̶а̶л̶о̶к̶ ̶c̶о̶б̶р̶а̶т̶ь̶ ̶с̶а̶м̶о̶л̶ё̶т̶ "как парсить логи grep-ом".
Когда у тебя обрабатывается скажем 100млн заказов во время отладки, то дебагер будет только вредить.

Y>То есть это впечатляет студентов, но в реальности такие вещи делаются при помощи чуть более других инструментов. Я, наверное, просто не видел достаточно упоротых явистов, потому те, с которыми я сталкивался что разворачивали приложения билд-серверами причём в заранее подготовленый инвайромент.

Прошлый век.

Y>А разворачивать jdk из консоли... Там что-то сложнее hello world запустить получится?

А зачем его ещё как-то по-другому разворачивать? Ради чего усложнять-то? Какой сакральный смысл в ритуале "подготовка инвайромента"? Если руки зачешутся кнопки мыши подавить, я лучше в игрушку поиграю, вон Fallout4 неигранный лежит...
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[16]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 17.03.16 12:51
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>·>Там написано "You can debug a Visual Studio application that has been deployed on a different computer". А деплоймент-то как делать?

S>·>Причём тут вообще дебагер? Cyberax говорил о деплойменте, запуске и мониторинге приложения на удалённом хосте.
S>·>Т.е. есть у тебя какой-то хост, девственно чистый, только что админы его воткнули в стойку... Нужно поставить туда указанную версию фреймворка, твоё свежесобранное приложение, запустить его там и наблюдать как оно работает. Две необходимые команды приведены Кибераксом выше. А в .net как?

S> То есть это суппер пупер фича из-за которой нужно выбирать Яву? Я прекрасно могу отлаживать удаленно с минимальными телодвижениями.

Опять двадцать пять. Деплоймент и дебаггинг — это две большие разницы.
А телодвижений для удалённой отладки в java ещё меньше, админских прав, например, не надо, дополнительно скачивать-устанавливать ничего не надо, бредовых ограничений типа "Debugging over the Internet is not supported" нет.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[17]: dotnet vs java 2016-2020
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.03.16 12:58
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Serginio1, Вы писали:


S>>·>Там написано "You can debug a Visual Studio application that has been deployed on a different computer". А деплоймент-то как делать?

S>>·>Причём тут вообще дебагер? Cyberax говорил о деплойменте, запуске и мониторинге приложения на удалённом хосте.
S>>·>Т.е. есть у тебя какой-то хост, девственно чистый, только что админы его воткнули в стойку... Нужно поставить туда указанную версию фреймворка, твоё свежесобранное приложение, запустить его там и наблюдать как оно работает. Две необходимые команды приведены Кибераксом выше. А в .net как?

S>> То есть это суппер пупер фича из-за которой нужно выбирать Яву? Я прекрасно могу отлаживать удаленно с минимальными телодвижениями.

·>Опять двадцать пять. Деплоймент и дебаггинг — это две большие разницы
Для меня нет.
·>А телодвижений для удалённой отладки в java ещё меньше, админских прав, например, не надо, дополнительно скачивать-устанавливать ничего не надо, бредовых ограничений типа "Debugging over the Internet is not supported" нет.
Я только рад за вас, что вы обладаете такой суппер пуппер фичей. Но это и нам не сильно мешает.
На самом деле развитие Явы благотворно влияет на и на развитие .Net, как впрочем и обратная связь.
и солнце б утром не вставало, когда бы не было меня
Re[7]: dotnet vs java 2016-2020
От: Privalov  
Дата: 17.03.16 13:27
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>На .NET построена... эээ.... Что-то ничего не припоминается кроме StackOverflow.


RSDN
Re[15]: dotnet vs java 2016-2020
От: Yoriсk  
Дата: 17.03.16 13:49
Оценка:
Здравствуйте, ·, Вы писали:

Y>>То есть это впечатляет студентов, но в реальности такие вещи делаются при помощи чуть более других инструментов. Я, наверное, просто не видел достаточно упоротых явистов, потому те, с которыми я сталкивался что разворачивали приложения билд-серверами причём в заранее подготовленый инвайромент.

·>Прошлый век.

О как! Ну на такое хипсторство даже и возразить нечего.

Y>>А разворачивать jdk из консоли... Там что-то сложнее hello world запустить получится?

·>А зачем его ещё как-то по-другому разворачивать? Ради чего усложнять-то? Какой сакральный смысл в ритуале "подготовка инвайромента"?

Cакральный смысл в том, что, повторяю, приложение сложнее hello world требует какие-то дополнительные библиотеки, настройки окружения, конфиги и массу прочего. А вот какой сакральный смысл в ритуале разворачивания jdk из консоли — это да, это загадка.

Но вообще если такие экзотические юзкейсы как установка jdk из консоли выдаются за супер-достижения, то дела видать совсем плохи.
Re[16]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 17.03.16 14:44
Оценка: +1
Здравствуйте, Yoriсk, Вы писали:

Y>>>То есть это впечатляет студентов, но в реальности такие вещи делаются при помощи чуть более других инструментов. Я, наверное, просто не видел достаточно упоротых явистов, потому те, с которыми я сталкивался что разворачивали приложения билд-серверами причём в заранее подготовленый инвайромент.

Y>·>Прошлый век.
Y>О как! Ну на такое хипсторство даже и возразить нечего.
Да даже "разворачивали" — куда проще тупо сделать копирование, чем хитрые махинации с запуском установщиков.

Y>>>А разворачивать jdk из консоли... Там что-то сложнее hello world запустить получится?

Y>·>А зачем его ещё как-то по-другому разворачивать? Ради чего усложнять-то? Какой сакральный смысл в ритуале "подготовка инвайромента"?
Y>Cакральный смысл в том, что, повторяю, приложение сложнее hello world требует какие-то дополнительные библиотеки, настройки окружения, конфиги и массу прочего. А вот какой сакральный смысл в ритуале разворачивания jdk из консоли — это да, это загадка.
Хорошо, настройки окружения — один текствоый файлик, специфичный для данного хоста — адреса, пароли явки. Остальное — тупо копируется или пакуется внутрь бинарников.

Y>Но вообще если такие экзотические юзкейсы как установка jdk из консоли выдаются за супер-достижения, то дела видать совсем плохи.

Ещё раз говорю, нет никакой установки, и не нужна она никому — скопировал файлики — и готово.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[17]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 17.03.16 14:51
Оценка: +1
Здравствуйте, ·, Вы писали:

НС>>·>А, вообще говоря, по моему опыту, качественное покрытие тестами+голый sql гораздо лучше, гибче и надёжнее всех этих linq/querydsl вместе взятых.

НС>>Это вот — наглядное свидетельство, что querydsl даже рядом с linq не стоял, а с linq ты опыта работы не имел.
·>Без тестов и linq хреново поддерживать, а с тестами и с голым sql проблем нет.
·>Хотя для прототипирования linq конечно хорош, но для больших долгоиграющих проектов преимущества нивелируются.
·>Скажем, как при наличии linq переименовать колонку в таблице или поменять тип? Как вообще поддерживать миграцию бд?
Не понял. Минусов понаставили, но на вопросы так никто и не ответил.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[18]: dotnet vs java 2016-2020
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.03.16 15:09
Оценка:
Здравствуйте, ·, Вы писали:


·>·>Скажем, как при наличии linq переименовать колонку в таблице или поменять тип? Как вообще поддерживать миграцию бд?

·>Не понял. Минусов понаставили, но на вопросы так никто и не ответил.
http://metanit.com/sharp/mvc5/5.12.php
и солнце б утром не вставало, когда бы не было меня
Re[15]: dotnet vs java 2016-2020
От: Слава  
Дата: 17.03.16 18:56
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, IT, Вы писали:


IT>>·>querydsl и аналоги.

IT>>По-моему это уже обсуждали. Жалкая поделку по сравнению с LINQ.
·>jooq есть ещё. В общем, конечно, при желании можно что-то нахитроумить в linq, но обычно хватает на всё. Тем более с появлением java8.
·>А, вообще говоря, по моему опыту, качественное покрытие тестами+голый sql гораздо лучше, гибче и надёжнее всех этих linq/querydsl вместе взятых.

Голый SQL удобно писать только в IDE для оракла. А jooq хоть и хорош, но на фоне linq выглядит страховидным монстром. Вдобавок, эта их генерация кода по базе иногда выдает ХРЕНОВО нагенерированный код, который попросту не комплируется.
Re[15]: dotnet vs java 2016-2020
От: Слава  
Дата: 17.03.16 19:07
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>В Ada дженерики вообще были с конца 70-x. Тот же Степанов в 80-х работал над Ada Generic Library.


Приятно видеть, что кто-то еще разделяет мое мнение о восхитительности Ada. Только вот работу на ней не найдешь, к сожалению...
Re[15]: dotnet vs java 2016-2020
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 17.03.16 22:18
Оценка: +2
Здравствуйте, ·, Вы писали:

·>Там написано "You can debug a Visual Studio application that has been deployed on a different computer". А деплоймент-то как делать?

Студия умеет и деплоймент делать сама безо всяких луноходских sedflsdnfl;s fdsdfklm;sdfsdmf;lk sdfsdl;f sfd;dsf sd в консоли.
[КУ] оккупировала армия.
Re[16]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 17.03.16 22:42
Оценка:
Здравствуйте, koandrew, Вы писали:

K>·>Там написано "You can debug a Visual Studio application that has been deployed on a different computer". А деплоймент-то как делать?

K>Студия умеет и деплоймент делать сама безо всяких луноходских sedflsdnfl;s fdsdfklm;sdfsdmf;lk sdfsdl;f sfd;dsf sd в консоли.
И куда она деплоймент умеет делать? Откуда берутся файлы конфигурации, как регулируется доступ?

Или под deployment'ом понимается загрузка страничек из FrontPage на IIS?
Sapienti sat!
Re[15]: dotnet vs java 2016-2020
От: itslave СССР  
Дата: 17.03.16 23:00
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Serginio1, Вы писали:


твоё свежесобранное приложение, запустить его там и наблюдать как оно работает. Две необходимые команды приведены Кибераксом выше. А в .net как?
Chief или Puppet. Вне зависимости от языка разработки. Приседания Киберакса работают только для Hello world, а при сколько-нибудь комплексном деплое они превращаются в тыкву.
Re[17]: dotnet vs java 2016-2020
От: itslave СССР  
Дата: 17.03.16 23:05
Оценка:
Здравствуйте, ·, Вы писали:

·>Ещё раз говорю, нет никакой установки, и не нужна она никому — скопировал файлики — и готово.

А создать бд, накатить на нее апдейты схемы, засунуть тестовые данные, сконфигурить сервис бас на пару с лоад балансером.... это тоже "файлик скопировать"?
Re[17]: dotnet vs java 2016-2020
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 17.03.16 23:25
Оценка: +1
Здравствуйте, Cyberax, Вы писали:
C>И куда она деплоймент умеет делать? Откуда берутся файлы конфигурации, как регулируется доступ?
В гугле чтоли забанили?
[КУ] оккупировала армия.
Re[12]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 18.03.16 00:17
Оценка:
Здравствуйте, koandrew, Вы писали:

C>>И тут рулит Java однозначно и полностью.

K>Только в скудных мозгах жаба-старпёров.
Ага, потому только .NET формоклёпы всех умнее.

C>>Например, как можно закинуть среду .NET на удалённый сервер и в ней запустить код? На Java всё тупо: "rsync jdk-1.8 code.jar remote.server.net:~; ssh remote.server.net ~/jdk-1.8/bin/java -jar ~/code.jar".

K>F5.
Что F5?

C>>Хочется подключиться к удалённой JVM и собрать телеметрию? Не проблема! Пожалуйста: "ssh -X remote.server.net ~/jdk-1.8/bin/jconsole" и смотрим.

K>F5.
Что F5?

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

Это была реальная задача — протестировать алгоритм генерации зашифрованных 48-битных ID. Я для безопасности хотел просканировать всё возможное фазовое пространство, что требует около 16 тысяч CPU-часов (и кстати не зря, я нашёл у себя баг в одном из частных случаев).

Моё решение было — запустить 50 штук узлов с 36-ю ядрами в каждом и с помощью простого скрипта (ага, на bash) запустить на каждом тест и подождать результат. Работы в целом на 10 минут из-за того, что я знаю свои инструменты.

Как это делать через F5?

C>>Всё удобно и очевидно, можно все примитивы разработки комбинировать в любых вариантах. Нет никаких извратов с установкой окружения, GAC и прочими извратами.

K>Ага, ага.
Да, именно так.

И это то, что не понимают формоклепатели на .NET. Нормальные инструменты должны быть прозрачны для пользователя, так чтобы можно было понимать как конкретно они работают. Java сделана именно так.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.