Форум: "Прочее";
Текущий архив: 2011.03.27;
Скачать: [xml.tar.bz2];
ВнизПочему JAVA не используется в HighLoad интернет-проектах? Найти похожие ветки
← →
Дмитрий Тимохов (2010-11-05 21:48) [0]Добрый день, уважаемые!
Осмысляя свое место в мире "IT и заработка на IT" я, зная только дельфи, но желаючи знать что-то еще, мечусь в своих размышлениях - а не изучить ли мне вот эту классную технологию, сделать эту классную штуку и не срубить на этом определенное количество денег.
И вот дошел я таки до Java.
Ну Java я немного знаю - и 1.4 и 1.5 смотрел. И т.д. - банальные десктопные приложения писал. Пытался изучить пару интернет-фреймворков, но дело до практики не дошло.
Многие хвалят Java не только как средство разработки от Sun, но и как хорошую платформу для интернет-проектов. В Java много готовых и поддерживаемых community фреймворков разных направлений. Вообще хорошее community за рубежом. И вообще - это не галимый скриптовый язык, это все же компилятор!
Однако, посмотрев на разные HighLoad интернет-проекты я не вижу вообще применения Java для их создания! Почему?
Достоинства Java:
1. Это же компилятор, т.е. по идее быстрее, чем обычный скриптовый PHP (я знаю про компиляторы под PHP, но не уверен, что они имеют массовое применение).
2. Это все же язык с хорошими IDE. Возможно NetBeans не дотягивает до Дельфи, но я этот NetBeans мучал сильно - эта зараза ни разу не упала и ни разу я вообще ошибки не видел (но я, напомню, не профессионально смотрел этот NetBeans - просто изучал). К тому же NetBeans бесплатен (был, сейчас - не знаю). Есть нормальный дебагер, не то, что в PHP.
3. Опять же есть большое количество фреймворков разных направлений.
Так почему на Java мало HighLoad (с высокой нагрузкой) интернет-проектов?
ЗЫ Если кого удивит моя позиция - делать проект через изучение средства разработки, то скажу - у меня есть постоянная работа. Я хочу сам в свое личное время сделать свой проект. Вот и выбираю на чем делать - делать то мне нужно будет, а не кому-то еще.
← →
DiamondShark © (2010-11-05 21:52) [1]
> Так почему на Java мало HighLoad (с высокой нагрузкой) интернет-
> проектов?
А это утверждение откуда взялось?
← →
Дмитрий Тимохов (2010-11-05 21:54) [2]
> DiamondShark © (05.11.10 21:52) [1]
>
>
> > Так почему на Java мало HighLoad (с высокой нагрузкой)
> интернет-
> > проектов?
>
> А это утверждение откуда взялось?
Назови примеры, я не знаю такие.
Я смотрю на известные - ВКонтакт, FaceBook, однокамерники ну и т.д.
← →
картман © (2010-11-05 21:56) [3]
> Возможно NetBeans не дотягивает до Дельфи
Idea посмотри - за дельфи(как ИДЕ) стыдно станет, по крайней мере за 7-ку
← →
DiamondShark © (2010-11-05 22:03) [4]
> Дмитрий Тимохов (05.11.10 21:54) [2]
> Назови примеры, я не знаю такие.
А я не знаю ни одного китайца. Почему в мире так мало китайцев?
Кстати, спорим, что ты не назовёшь много знакомых китайцев. Значит, моё утверждение, что в мире мало китайцев будем считать верным.
:)
А если серьёзно, то в ответе на вопрос: "Каким образом ты выяснил, что на Java мало HighLoad (с высокой нагрузкой) интернет-проектов?" содержится значительная часть ответа на вопрос: "Почему...".
← →
DVM © (2010-11-05 22:05) [5]
> Дмитрий Тимохов (05.11.10 21:48)
У Сбербанка есть Интернет бизнес-онлайн сайт. Нагрузка на него судя по всему высокая ибо он периодически жутко тормозит :) По всей видимости на джаве оно.
← →
Дмитрий Тимохов (2010-11-05 22:16) [6]
> DiamondShark © (05.11.10 22:03) [4]
>
>
> > Дмитрий Тимохов (05.11.10 21:54) [2]
> > Назови примеры, я не знаю такие.
>
> А я не знаю ни одного китайца. Почему в мире так мало китайцев?
>
> Кстати, спорим, что ты не назовёшь много знакомых китайцев.
> Значит, моё утверждение, что в мире мало китайцев будем
> считать верным.
> :)
>
Давай без демагогии. Не в обиду сказано. Честно. Просто на такие высказывания ответить нечего. Давай еще про атомы поговорим - я ни одного глазами не видел, от этого я не оспариваю их наличие.
Я вот читаю периодически блог http://www.insight-it.ru/ (это не скрытый маркетинг, просто мне блог очень задуматься заставляет). Автор пишет о многих проектах. О десятках проектов. Все они на слуху. Он дает либо переводные статьи, либо свою стенограмму конференций с авторами проектов. Нет там Java.
Почему? Скажи, что думаешь по теме ))
← →
Anatoly Podgoretsky © (2010-11-06 07:13) [7]> Дмитрий Тимохов (05.11.2010 22:16:06) [6]
Вроде как AJAX достаточно распространен, да и ASP.NET его широко использует,
а буква J это от JAVA
← →
icelex © (2010-11-06 10:31) [8]
> Anatoly Podgoretsky © (06.11.10 07:13) [7]
вапщето от джаваскрипт :)
← →
Дмитрий Тимохов (2010-11-06 12:14) [9]
> Anatoly Podgoretsky © (06.11.10 07:13) [7]
>
> > Дмитрий Тимохов (05.11.2010 22:16:06) [6]
>
> Вроде как AJAX достаточно распространен, да и ASP.NET его
> широко использует,
> а буква J это от JAVA
Дядя Толя, ты чего. J - это JavaScript.
JavaScript активно используется и на серверной и на клиентских сторонах. Это да.
← →
Фокс Йовович (2010-11-06 12:20) [10]
> ВКонтакт, FaceBook, однокамерники ну и т.д.
Разве они HighLoad? Никаких вычислений, отчетности, никакой ресурсоемкой обработки данных.
← →
Дмитрий Тимохов (2010-11-06 12:34) [11]
> Фокс Йовович (06.11.10 12:20) [10]
>
>
> > ВКонтакт, FaceBook, однокамерники ну и т.д.
>
> Разве они HighLoad? Никаких вычислений, отчетности, никакой
> ресурсоемкой обработки данных.
Ну а почему нет? Десятки (сотни) тысяч запросов в секунду, гигабайты трафика в секунду, десятки тысяч серверов.
Я согласен, это не расчет ядерного взрыва на суперкластере. Но там JAVA и подавно нет. Там Фортран.
← →
Anatoly Podgoretsky © (2010-11-06 12:37) [12]> Дмитрий Тимохов (06.11.2010 12:14:09) [9]
А зачем нам Ява?
← →
Фокс Йовович (2010-11-06 12:48) [13]
> Ну а почему нет? Десятки (сотни) тысяч запросов в секунду,
> гигабайты трафика в секунду, десятки тысяч серверов.
вот и ответ :-) Взяли готовый движок, допилили, установили на десятках тысяч серверов.
← →
Фокс Йовович (2010-11-06 12:51) [14]А там, где вычисления и отчетность, например, в банковской сфере, там и Java. Пример - Websphere.
← →
Дмитрий Тимохов (2010-11-06 13:06) [15]
> А там, где вычисления и отчетность, например, в банковской
> сфере, там и Java. Пример - Websphere.
я понимаю.
видимо Java подходит для ответственных дел. Транзакции там распределенные, например. Опять же - Java есть язык разработки под многие корпоративные продукты. Упомянутая Websphere так же.
А вот в развлекательном вебе можно и без Java. PHP хороший выбор.
Так как-то надо понимать современные тенденции?
← →
icelex © (2010-11-06 13:14) [16]какааааааааая каша в голове!!!
← →
Фокс Йовович (2010-11-06 13:23) [17]Вот тут интересно дядька рассказывает про HighLoad: http://video.yandex.ru/users/ysirotkin/view/2/
← →
Дмитрий Тимохов (2010-11-06 13:30) [18]
> icelex © (06.11.10 13:14) [16]
> какааааааааая каша в голове!!!
Ну вот так всегда - все бы на личности перейти.
Это же форум. А форум изначально это место где люди могут свободно
общаться. Если есть что полезное сказать или дать ссылку почитать, то дай.
А так, то что языком трепать.
> Фокс Йовович (06.11.10 13:23) [17]
>
> Вот тут интересно дядька рассказывает про HighLoad: http:
> //video.yandex.ru/users/ysirotkin/view/2/
Пасиб, смотрю.
← →
Дмитрий Тимохов (2010-11-06 21:12) [19]
> Фокс Йовович (06.11.10 13:23) [17]
>
> Вот тут интересно дядька рассказывает про HighLoad:
> http://video.yandex.ru/users/ysirotkin/view/2/
Благодарю за кино. В принципе все, что сказано мне знакомо. Но посмотреть полезно такие фильмы всегда - всегда приятно понимать, что у тебя не каша в голове )))
Как они задорно на восьмой минуте ржут над словом Борланд. Лемминги )))
Умиляет рассуждение о том, что отдавать данные в сокет, если на конце клиента модем, видите ли долго, поэтому кончаются потоки.
Ну почему у них нет асинхронной обработки запросов!!? Задаю вопрос не первый раз:
http://delphimaster.net/view/15-1288472674/.
Смешно просто - люди в HiLoad борются с системой, которая их заставляет пользоваться синхронными блокирующими сокетами.
ВОПРОС (конкретный) к знатокам, особенно к тем, у кого каши в голове нет (я имею в виду индивидума icelex): в java есть возможность использовать асинхронные сокеты, или нет, т.к. native уровень не предоставляет такую возможность?
← →
asail © (2010-11-06 21:21) [20]
> Anatoly Podgoretsky © (06.11.10 12:37) [12]
Пральна... Нафик Яву - Курилы ж есть! :)
← →
DVM © (2010-11-06 22:00) [21]
> Дмитрий Тимохов (06.11.10 21:12) [19]
> в java есть возможность использовать асинхронные сокеты,
> или нет, т.к. native уровень не предоставляет такую возможность?
>
Я не знаю, есть ли в JAVA асинхронные сокеты или нет, но если как ты говоришь, сама ОС не предоставляет такой возможности (Linux) то, очевидно, реализация этого в JAVA (если оно там есть) будет опираться на неблокирующие (в лучшем случае) сокеты или блокирующие и потоки (или их имитацию), что не лучшим образом отразится на производительности.
Теперь касательно асинхронности сокетов в Windows. Кто нибудь знает внутреннюю кухню этого дела? Как эта асинхронность устроена внутри системы?
← →
Дмитрий Тимохов (2010-11-06 22:32) [22]
> Теперь касательно асинхронности сокетов в Windows. Кто нибудь
> знает внутреннюю кухню этого дела? Как эта асинхронность
> устроена внутри системы?
А зачем тебе это знать?
Они дико производительные, это точно.
Один поток на фронтенде может может обрабатывать тысячи запросов в секунду.
Для примера http://rouse.drkb.ru/network.php#fwiocompletionpipe. Это Розыч написал на неблокирующих именованных каналах (концептуально те же сокеты) свой сервер - мы соревновались у кого толще. У Розыча по определению толще, но мой сервер схож по производительности. Главная особенность у нас обоих - один поток на фронтенде.
Вот автор Дмитрий Завалишин (автор http://video.yandex.ru/users/ysirotkin/view/2/) говорит, что HiLoad - это когда ты уперся во все мыслимые пределы одновременно. Полностью согласен, между прочим. Но есть ощущение, что юниксоиды и javисты борются с пределами, которые на самом деле не являются пределами. Т.е. не являются пределами при иной архитектуре ОС.
Поясню мысль. Я понял, что в Java 8000 потоков предел. У асинхронных подключений тоже есть предел - количество сокетов, я так понял, что это примерно 64000. Т.о. если использовать фронтенд с асинхронным вводом/выводом, то можно обрабатывать одновременно в 8 раз больше подключений, к тому же делать это без переключений контекста потоков.
Удивляют меня в общем даклады, которые рассказывают, как они классно реализовали обходной путь для несовершенства системы: блокирующие синхронные сокеты!
← →
Игорь Шевченко © (2010-11-06 23:10) [23]Дмитрий Тимохов (06.11.10 22:32) [22]
Димыч, бабла ты на этом все равно не срудишь - все уже срублено до тебя :)
← →
Дмитрий Тимохов (2010-11-06 23:13) [24]Игорь, ну интересно разобраться.
Что так много народу носится с линуксами и java, когда там даже асинхронного ввода вывода нет!
← →
DiamondShark © (2010-11-06 23:18) [25]
> Теперь касательно асинхронности сокетов в Windows. Кто нибудь
> знает внутреннюю кухню этого дела? Как эта асинхронность
> устроена внутри системы?
А что такое асинхронные сокеты в Windows?
Я знаю сокеты, которые могут быть в блокирующем и неблокирующем режиме.
Я знаю асинхронные запросы ввода/вывода, которые применяются в том числе и к сокетам.
А что такое асинхронные сокеты -- не знаю.
← →
Pavia © (2010-11-07 00:00) [26]
> Вот автор Дмитрий Завалишин (автор http://video.yandex.ru/users/ysirotkin/view/2/)
Пока лица не увидел сразу то и не догадался. Только я его советую не слушать. Фантазёр ещё тот.
← →
Pavia © (2010-11-07 00:03) [27]
> А что такое асинхронные сокеты -- не знаю.
Используй метод дедукции.
← →
DVM © (2010-11-07 00:06) [28]
> DiamondShark © (06.11.10 23:18) [25]
Термин весьма устоявшийся.
Везде применяется, вот например http://msdn.microsoft.com/en-us/library/5w7b7x5f.aspx
Если ты хочешь услышать мое понимание данного термина, то для меня асинхронные сокеты - это прежде всего сокеты, взаимодействие с которыми основано на каких либо событиях, внутри системы они могут быть как блокирующими так и нет, для моей программы сие неважно.
> Дмитрий Тимохов (06.11.10 22:32) [22]
Судя по всему, асинхронные сокеты опираются на специальный системный пул потоков.
← →
DiamondShark © (2010-11-07 00:13) [29]
> DVM © (07.11.10 00:06) [28]
> вот например http://msdn.microsoft.com/en-us/library/5w7b7x5f.aspx
То, что там описано -- это CLR-обёртка над обычными блокирующими сокетами, обслуживаемыми отдельным потоком (из пула потоков).
А что такое асинхронные сокеты в Windows?
> Термин весьма устоявшийся.
Тем не менее, в документации по WS2 он не используется.
← →
DiamondShark © (2010-11-07 00:24) [30]
> Поясню мысль. Я понял, что в Java 8000 потоков предел. У
> асинхронных подключений тоже есть предел - количество сокетов,
> я так понял, что это примерно 64000.
"примерно 64000" (точнее, ровно 64К-1) -- это теоретически возможное количество TCP-портов (для IPv4). Я, почему-то, думаю, что TCP-стек сдохнет значительно раньше, чем будет установлено 64К одновременных подключений.
Хочешь -- проведи тест, мне влом. Но я буду только рад, если оказался неправ.
Поэтому, если количество одновременных соединений реально приближается к 8000, то это хороший повод задуматься о кластере с балансировщиком, а не заниматься крэш-тестами системы.
← →
DVM © (2010-11-07 00:32) [31]
> DiamondShark © (07.11.10 00:13) [29]
> Тем не менее, в документации по WS2 он не используется.
Уже почти не используется. Раньше попадалось. Сама приставка WSA разве не означает Windows Socket Asynchronous? Сейчас чаще пишут что -то типа сокет в асинхронном режиме работы или сокет использующий асинхронный режим.
← →
Pavia © (2010-11-07 00:42) [32]
> Что так много народу носится с линуксами и java, когда там
> даже асинхронного ввода вывода нет!
Тут вы заблуждаетесь.
И в компиляторах вы не разбираетесь.
← →
DiamondShark © (2010-11-07 00:50) [33]
> Уже почти не используется. Раньше попадалось.
Ну, у меня поиск по локальному мсдну выдаёт только ссылки на .NET Framework: Networking.
> Сама приставка WSA разве не означает Windows Socket Asynchronous?
Да, вроде, Windows Socket API, ведь WSA -- это префикс для не-берклевских расширений.
В общем, получается: блокирующий сокет, обслуживаемый потоком из пула.
Может Дмитрий Тимохов скажет, что он имеет в виду.
← →
Pavia © (2010-11-07 00:55) [34]
> "примерно 64000" (точнее, ровно 64К-1) -- это теоретически
> возможное количество TCP-портов (для IPv4). Я, почему-то,
> думаю, что TCP-стек сдохнет значительно раньше, чем будет
> установлено 64К одновременных подключений.
Ты еще на IP забыл по множить.
Вообще соединений может быть гораздо больше.
Кому интересно советую раскопки начать отсюда.
http://www.wasm.ru/forum/viewtopic.php?id=22123
Дальше по ссылкам.
← →
DVM © (2010-11-07 01:04) [35]Мне вот другое интересно, ну подключим мы 10 000 клиентов, дальше что. С ними же обмен какой то надо вести. Я не представляю как это возможно.
Только если примитивное что-то совсем.
← →
DiamondShark © (2010-11-07 01:16) [36]
> Pavia © (07.11.10 00:55) [34]
ВнушаетЪ.
← →
Eraser © (2010-11-07 01:23) [37]> [35] DVM © (07.11.10 01:04)
обычно с 99% соединений идет обмен только сообщениями вроде keep alive. реально одновременно работает весьма малое количество. пример - любые ICQ, Skype и т.д. подобные системы.
> [28] DVM © (07.11.10 00:06)
> Судя по всему, асинхронные сокеты опираются на специальный
> системный пул потоков.
скорее не сокеты, а механизм IOCP. так и есть, его можно не только для сокетов использовать.
← →
Pavia © (2010-11-07 01:56) [38]
> Мне вот другое интересно, ну подключим мы 10 000 клиентов,
> дальше что. С ними же обмен какой то надо вести. Я не представляю
> как это возможно.Только если примитивное что-то совсем.
Skype действуют по принципу пиринга. Есть кластер серверов. К которым может коннектится клиент, а дальше уже только keep alive. Или запрос IP:порт для прямого соединения клиентов. Так что трафик не велик.
Вот в ICQ там нагрузка меньше. И балансировка несколько иначе происходит.
А вот если уже не хватает ресурсов, то задействуют кластеры. С балансировкой нагрузки.
Один из методов.
http://www.oszone.net/4187/Network_Load_Balancing
Гугл собственно как и ICQ использует службу DNS для раскидывания клиентов на разные сервера с разными IP.
И другие методы применяются.
10 000 * 1 500 байт=15 000 000 = 15 мбайт/с *8= 120МБит/с.
← →
Anatoly Podgoretsky © (2010-11-07 09:01) [39]> DVM (07.11.2010 00:06:28) [28]
асинхронные сокеты опираются на сообщения.
← →
Anatoly Podgoretsky © (2010-11-07 09:03) [40]> DiamondShark (07.11.2010 00:24:30) [30]
TCP-стек держит как минимум 32000 сокетов.
← →
Anatoly Podgoretsky © (2010-11-07 09:09) [41]> DVM (07.11.2010 01:04:35) [35]
Например выдача страницы.
← →
Дмитрий Тимохов (2010-11-07 11:28) [42]
> DVM © (07.11.10 01:04) [35]
>
> Мне вот другое интересно, ну подключим мы 10 000 клиентов,
> дальше что. С ними же обмен какой то надо вести. Я не представляю
> как это возможно.
> Только если примитивное что-то совсем.
Фронтенды всегда примитивны. Дальше запросы уже можно раскидать на сервера, например, согласно выбранному алгоритму балансировки нагрузки.
Тут еще можно масштабироваться как тебе вздумается - хоть 1000 серверов ставь. А фронтенд должен принять все запросы.
> DiamondShark © (07.11.10 00:13) [29]
> > DVM © (07.11.10 00:06) [28]
> > вот например http://msdn.microsoft.com/en-us/library/5w7b7x5f.
> aspx
>
> То, что там описано -- это CLR-обёртка над обычными блокирующими
> сокетами, обслуживаемыми отдельным потоком (из пула потоков).
>
> А что такое асинхронные сокеты в Windows?
Насчет асинхронности.
Под асинхронностью я понимаю расширение WSA, где события пересылаются посредством оконных сообщений. Т.е. есть один поток, который работает с сокетом, для каждого коннекта отсылается сообщение, параметром является структура идентифицирующая клиента. Код в событии либо читает, либо пишет - что нужно по протоколу. Надеюсь, понятно объяснил.
Конечно это не какая не обертка над обычными берклевскими сокетами. Вообще откуда ноги растут у асинхронных сокетов? Ноги растут еще с Windows 3.1. Если помнишь там не вытесняющая многозадачность была. Я не помню деталей, если честно, но там писать программы в которых много потоков должны обслуживать каждый свое соединение было сложно. Поэтому были придуманы асинхронные средства ввода/вывода. Т.е. прямо в одном потоке можно было делать весьма производительные сервера. Потом оказалось, что и в мире вытесняющей многозадачности, асинхронность хорошая штука - опять же из-за высокой производительности.
Это "неблокирующие сокеты" называется? Пусть, так, сути не меняет.
← →
_Юрий (2010-11-07 11:40) [43]
> Это "неблокирующие сокеты" называется? Пусть, так, сути
> не меняет.
>
Нет, неблокирующие и асинхронные - это разное
неблокирующие - это те, которые сразу управление возвращают, асинхронные - то что ты выше описал.
← →
DVM © (2010-11-07 11:55) [44]
> Anatoly Podgoretsky © (07.11.10 09:01) [39]
> > DVM (07.11.2010 00:06:28) [28]
>
> асинхронные сокеты опираются на сообщения.
необязательно на сообщения
← →
Омлет © (2010-11-07 12:02) [45]Amazon
http://highscalability.com/amazon-architecture
http://aws.amazon.com/ec2/
eBay
http://highscalability.com/ebay-architecture
← →
DiamondShark © (2010-11-07 13:05) [46]
> Дмитрий Тимохов (07.11.10 11:28) [42]
> Фронтенды всегда примитивны.
> <...>
> А фронтенд должен принять все запросы.
Вот тебе и ответ на сабж: раз фронтенд примитивен, но требует высокой производительности, то проще и полезнее всего его написать на нативном языке.
А уже на высокоуровневом языке писать прикладные модули, которые оперируют на существенно более высоком уровне абстракции.
> Под асинхронностью я понимаю расширение WSA, где события
> пересылаются посредством оконных сообщений.
Ну мы примерно так и дотелепатировали уже ;)
> Вообще откуда ноги растут у асинхронных сокетов? Ноги растут
> еще с Windows 3.1.
Не ноги, а костыли ;)))
> Я не помню деталей, если честно, но там писать программы
> в которых много потоков должны обслуживать каждый свое соединение
> было сложно.
Я бы даже сказал, что не сложно, а невозможно. По причине отсутствия понятия "поток" в принципе.
> Потом оказалось, что и в мире вытесняющей многозадачности,
> асинхронность хорошая штука - опять же из-за высокой производительности.
Эта "штука", которая с сообщениями, не может обладать высокой производительностью.
Во-первых, узким местом будет очередь и цикл выборки.
Во-вторых, эта фича оставлена только для обратной совместимости, и эмулируется (сюрприз!) таки фоновыми потоками. О том, что новые приложения не должны пользоваться этой фичей, а должны использовать новые возможности мильтитридинга говорит сама микрософт.
Там вот (Pavia © (07.11.10 00:55) [34]) ссылочка была, недалеко от которой находится интересная глава из книги
http://www.microsoft.com/mspress/books/sampchap/5726a.aspx
в которой есть интересная табличка.
Обрати внимание на строку WSA-AsyncSelect
← →
Eraser © (2010-11-07 13:32) [47]> [39] Anatoly Podgoretsky © (07.11.10 09:01)
уже лет 10 как в MS рекомундуют на сообщения не опираться.
← →
Anatoly Podgoretsky © (2010-11-07 14:33) [48]> DiamondShark (07.11.2010 13:05:46) [46]
Лучше пусть посмотрит на WonSock Direct или Socket Direct
← →
Дмитрий Тимохов (2010-11-07 14:50) [49]Коллеги, благодарю за участие в ветке. Это же форум?! Очень качественно и, уверен, не только для меня полезно.
Что смогу из посоветованного обязательно почитаю.
Но все же я хочу заметить, что исходная тема была несколько не в том, чтобы обсуждать в деталях WinSock. Общую картину, достаточную для обсуждения, я неплохо знаю.
Я скорее хочу обсудить маркетинговую (а может даже и религиозную) сторону дела - почему не сделать фронтенд на Windows, а вот сервера, пожалуйста, на чем душе угодно.
Вот у ВКонтакта 32 фронденд линуксовых сервера. Перед ними скорее всего некая желязяка стоит, которая поочередно на неком принципе распределяет запросы по этим серверам. Железяки такие, насколько я знаю, дорогие.
Это вопрос религии, что не делают подобные гетерогенные сети (фронт енд на винде, а основные сервера на линуксах)? Или как в рекламе, "а мужики то и не знают", что так можно (ведь, может же быть такое :) )?
← →
Pavia © (2010-11-07 17:12) [50]
> Вот у ВКонтакта 32 фронденд линуксовых сервера. Перед ними
> скорее всего некая желязяка стоит, которая поочередно на
> неком принципе распределяет запросы по этим серверам. Железяки
> такие, насколько я знаю, дорогие.
Что вы опять придумываете. Нет такой железке. Вернее есть но к делу она не имеет отношение.
Есть служба DNS локальна в каждом городе. Которая по кругу дает разные IP.
Тем самым эти 32 сервера могут находится где угодно.
Но физически находятся в дата центре. К дата центру подведен широкий канал. И там стоит дорогая железка которая держит этот широкий канал. Но так как в дата-центре не один сайт держится то окупается запросто.
Так вот на этих 32 серверах стоит nginx. Который выполняет вторую стадию балансировки нагрузки. Раскидывая по кластеру пользователей.
Почему на линуксе а не на виндоусе? Да по тому что линукс ничем не хуже.
← →
DVM © (2010-11-07 17:30) [51]
> Почему на линуксе а не на виндоусе? Да по тому что линукс
> ничем не хуже.
Потому что ngnix уже есть готовый и те то делали систему вероятно с ним уже были знакомы. Это все проще чем писать заново что-то.
← →
Дмитрий Тимохов (2010-11-07 17:38) [52]
> Pavia © (07.11.10 17:12) [50]
> Что вы опять придумываете. Нет такой железке. Вернее есть
> но к делу она не имеет отношение.
Ну это было предположение.
> Есть служба DNS локальна в каждом городе. Которая по кругу
> дает разные IP.
Т.е. специально настроенная служба DNS, которая для www.vkontakte.ru дает последовательно (например) 111.111.111.0, 111.111.111.1 .. 111.111.111.31.
Так?
А как такая настройка называется? Это может расширение какое-то для DNS серверов?
← →
Дмитрий Тимохов (2010-11-07 22:34) [53]Может продаст кто-то в Москве?
http://www.ozon.ru/context/detail/id/942504/
← →
DVM © (2010-11-08 00:31) [54]
> Дмитрий Тимохов (07.11.10 22:34) [53]
Она в отсканированном виде есть в сети. Понятно, что исключительно для ознакомления :)
← →
Вариант (2010-11-08 08:06) [55]
> Дмитрий Тимохов (06.11.10 21:12) [19]
> Ну почему у них нет асинхронной обработки запросов!!? Задаю
> вопрос не первый раз:
Тебе уже отвечали еще в той ветке -есть select и есть неблокирующие сокеты, есть еще Poll и ePoll. И кстати в Java c 1.5 (могу ошибиться номером версии) поддерживает неблокирующий ввод вывод - java.nio.channels. Чем и насколько они хуже асинхронных сокетов в Windows?
← →
Pseudoslav Miroedov (2010-11-08 09:51) [56]Дмитрий Тимохов
>неблокирующие сокеты
Если речь идет о Java для веб, то это автоматически означает сервер приложений. А сервер приложений (плюс веб фреймворк, плюс фреймворк данных, плюс dependency injection и иже с ними) это такой уровень абстракций на уровне абстракций, что говорить про неблокирующие сокеты уже не столько смысла, сколько, например, в случае простого веб-сервера с CGI. Хотя, кластеризация, load balancing, параллелизм из коробки наличествуют, и используются в основном в энтерпрайзе для приложений mid-уровня, кроме того, фреймворки позволяют делать довольно красивую и бизнес-логику и фронтенды со всеми прелестями ООП и высокой повторной используемостью кода.
← →
Дмитрий Тимохов (2010-11-08 10:09) [57]
> Pseudoslav Miroedov (08.11.10 09:51) [56]
Ну в общем, я понял. Хорошо концептуально разложил. Благодарю.
Я в общем укрепился во мнении, что все же Java больше для интерпрайза, а не не интертеймента. Повторю, что моя задача - концептуально понять, что к чему сейчас в части веб-разработки. В части Java я с такой расстановкой точек на "ы" вроде справился. Всех благодарю.
> DVM © (08.11.10 00:31) [54]
> > Дмитрий Тимохов (07.11.10 22:34) [53]
> Она в отсканированном виде есть в сети. Понятно, что исключительно
> для ознакомления :)
Да у меня есть где-то. Но такие книги в бумаге надо иметь. Своего рода книжный фетиш ))
Предложение в силе. Может у кого завялялось? Помню у Сереги Маслова была (он фотку выкладывал своей книжной полки) ))) Ну само-собой у Розыча... Может у кого есть, кому не нужно?
← →
DiamondShark © (2010-11-08 10:44) [58]
> Я в общем укрепился во мнении, что все же Java больше для
> интерпрайза, а не не интертеймента.
А в чём разница?
На Яве пишут высокоуровневую логику, где уровня сокетов вообще не видно под толстым-толстым слоем шоколада. При чём здесь интерпрайз или интертеймент?
← →
Дмитрий Тимохов (2010-11-08 11:12) [59]
> При чём здесь интерпрайз или интертеймент?
Слуш, ты мне домик не разрушай. )))
У меня все стройненько и понятненько )
У меня была (да и сейчас есть) мечта сделать экономическую mmog.
Мне хороший приятель предлагал ее сделать на Java.
Но у меня возникли сомнения, что это не лучший инструмент для создания подобных программ. Поизучав практику использования Java для создания онлайн игр, я пришел к выводу, что насчет излишеств Java как инструмента для данной задачи я пожалуй прав. Инструмент хороший, но слишком "крутой" что-ли для онлайн игр.
На том истою пока )))
← →
Sergey Masloff (2010-11-08 11:26) [60]Дмитрий Тимохов (08.11.10 10:09) [57]
Дим я давно хотел подарить ее тебе, отложил даже но куда - не помню, если найдется - сразу позвоню и она твоя. P.S. на полке сейчас ее нет - смотрел ;-)
← →
Дмитрий Тимохов (2010-11-08 11:32) [61]
> Sergey Masloff (08.11.10 11:26) [60]
>
> Дмитрий Тимохов (08.11.10 10:09) [57]
> Дим я давно хотел подарить ее тебе, отложил даже но куда
> - не помню, если найдется - сразу позвоню и она твоя. P.
> S. на полке сейчас ее нет - смотрел ;-)
Сергей, только ты подпиши ее ))
С радостью возьму. Телефон у тебя есть вроде.
Благодарю!!!
← →
DiamondShark © (2010-11-08 11:37) [62]
> У меня была (да и сейчас есть) мечта сделать экономическую
> mmog.
Если тебе нравится Ява, если твой приятель хорошо владеет Явой, то почему бы не сделать её на Яве? Тому нет никаких объективных препятствий.
Если тебя тошнит от Явы, если у вас там никто ни в зуб ногой в Яве, то почему бы не послать Яву в дупло? На то не требуется никаких объективных обоснований.
Где-то так ;)
← →
Дмитрий Тимохов (2010-11-08 12:56) [63]
>
> Если тебе нравится Ява, если твой приятель хорошо владеет
> Явой, то почему бы не сделать её на Яве? Тому нет никаких
> объективных препятствий.
Там же инвестироваться надо. Т.е. не забесплатно.
Я побаиваюсь подсесть на то, что замучаюсь потом с поддержкой.
А язык мне нравится, очень нравится.
Ладно, пошел с тараканами разбираться своими сам. )))
← →
Anatoly Podgoretsky © (2010-11-08 13:13) [64]> Дмитрий Тимохов (08.11.2010 12:56:03) [63]
Тапок бери.
← →
Mystic © (2010-11-08 13:21) [65]Главным образом потому, что перечисленные тобою проекты выходят из стартапов, где вложения на начальной стадии минимальны, и непонятно, что будет в результате :)
← →
DVM © (2010-11-08 13:38) [66]
> Дмитрий Тимохов (07.11.10 22:34) [53]
> Может продаст кто-то в Москве?
> http://www.ozon.ru/context/detail/id/942504/
к той книге вот эта еще вероятно будет хорошим подспорьем:
http://www.piter.com/book.phtml?978531800535&at=exc&n=0
← →
Дмитрий Тимохов (2010-11-08 23:37) [67]
> Pavia © (07.11.10 17:12) [50]
Вчерне прочел Стивенсона в части DNS.
Что-то я не понял, как штатный DNS сервер может выдавать разные IP одного имени домена.
Поясни, если можешь, пожалуйста.
← →
Eraser © (2010-11-09 00:26) [68]> [67] Дмитрий Тимохов (08.11.10 23:37)
а почему не может то? он что хошь выдать может, было бы желание )
← →
DVM © (2010-11-09 00:47) [69]
> Дмитрий Тимохов (08.11.10 23:37) [67]
Балансировка DNS + google
http://project.net.ru/others/article9/gl4_7.html
← →
Дмитрий Тимохов (2010-11-09 01:27) [70]
> Eraser © (09.11.10 00:26) [68]
>
> > [67] Дмитрий Тимохов (08.11.10 23:37)
>
> а почему не может то? он что хошь выдать может, было бы
> желание )
>
Ну, видимо, такая балансировка на основе DNS все же побочное явление, а не as design. Собственно, в ссылке http://project.net.ru/others/article9/gl4_7.html и говорится, что такая балансировка есть особенность сервера BIND. Поэтому, видимо, Стевенс и не излагает таких тонкостей.
> DVM © (09.11.10 00:47) [69]
> > Дмитрий Тимохов (08.11.10 23:37) [67]
> Балансировка DNS + google
> http://project.net.ru/others/article9/gl4_7.html
Ага, благодарю. Все же я был прав, говоря, что такую балансировку можно делать на основе железяки (дорогостоящей, CISCO, например) на основе TCP протокола.
← →
Anatoly Podgoretsky © (2010-11-09 09:36) [71]> Дмитрий Тимохов (08.11.2010 23:37:07) [67]
Robin Round - штатная возможность ДНС
host.domain.ru IP1
host.domain.ru IP2
host.domain.ru IP3
← →
Alx2 © (2010-11-09 09:40) [72]Наш Java-проект www.ecwid.com - загрузка нехилая.
← →
Дмитрий Тимохов (2010-11-09 09:42) [73]
> Anatoly Podgoretsky © (09.11.10 09:36) [71]
>
> > Дмитрий Тимохов (08.11.2010 23:37:07) [67]
>
> Robin Round - штатная возможность ДНС
>
> host.domain.ru IP1
> host.domain.ru IP2
> host.domain.ru IP3
Ага, пасиб, буду изучать.
← →
Дмитрий Тимохов (2010-11-09 09:55) [74]
> Alx2 © (09.11.10 09:40) [72]
>
> Наш Java-проект www.ecwid.com - загрузка нехилая.
да вы издеваетесь - iPhone 3Gs за $199 (http://www.ecwid.com/demo-frontend.html#ecwid:category=3003&mode=category&offset=0&sort=normal)
$-)
Дайте мне десяток!
Ну это я понял для заграницы? Все платежные средства не наши.
← →
Anatoly Podgoretsky © (2010-11-09 09:58) [75]> Дмитрий Тимохов (09.11.2010 09:42:13) [73]
Это должен поддерживать ДНС, не все еще поддерживают. Но это самый дешевый,
самый малозатратный метод из коробки.
Только точное название Round Robin
← →
Alx2 © (2010-11-09 10:02) [76]>Дмитрий Тимохов (09.11.10 09:55) [74]
>Дайте мне десяток!
:))
>Ну это я понял для заграницы? Все платежные средства не наши.
На российский рынок тоже есть заточка (и продолжает затачиваться:) ): http://www.ecwid.ru
← →
Kostafey © (2010-11-09 13:51) [77]
> Дмитрий Тимохов (05.11.10 21:48)
> а не изучить ли мне вот эту классную технологию, сделать
> эту классную штуку и не срубить на этом определенное количество
> денег
1C
> Однако, посмотрев на разные HighLoad интернет-проекты я
> не вижу вообще применения Java для их создания! Почему?
Зайдя на некий сайт вы не обязаны узнать, что серверная чать крутиться на java. Потом, в интранете ее много.
> 1. Это же компилятор, т.е. по идее быстрее, чем обычный
> скриптовый PHP
Говоря и java vs php как о том, что у одного есть быйт-компиляция а у другого нет... ну ближайший аналог - сравнивать вертолет и бабочку, рассуждая что у одной есть усики, а у вертолета нет. Отличий тьма.
> Это все же язык с хорошими IDE. Возможно NetBeans не дотягивает
> до Дельфи, но я этот NetBeans мучал сильно - эта зараза
> ни разу не упала и ни разу
Да там дыр тьма! Меня больше всего развлекали сообшения их баг-трекера, типа: "поздравляем! вы 1541-й пользователь, сообщивший об этом баге!" Класс.
Я немного обобщу впечателения о работе с java. Веб-фреймворкойв действительно есть, есть и хорошо документированные. Но не всякий веб-сервер тянет всякий фреймворк при тех же самых бубноплясках. Для JEE в целом принцип "Write Once Run Everywhere" соблюдается довольно слабо (читай не соблюдается).
Для JSE с переносимостью проблем действительно мало, однако писать полноценные GUI - приложения под десктоп, используюя открытые средства разработки почти невозможно (только не нужно говрить что в нетбинсе тоже можно баттоны на форму кидать - намаялся). Так что или ручками медитируем с лэйаут менеджерами (так я делал) или смотрим платные продукты (так я не делал).
Работа с БД, как правило, радует. Библиотека для джавы крайне богатая. Можно найти готовые решения под очень многие задачи.
Сам язык (java) оставляет двойственное впечатление. С одной стороны, кажется, там сделано все для повешения надежности кода, с другой стороны, язык добольно жесткий, топорный (нет функций, нет анонимных массивов, передача типа как объкета - можно, но муторно и т.д.). Да, можно использовать java и только как платформу, не прибегая к самому языку (см scala, clojure, jython, jruby, groovy, kava, etc).
Про производительность... Сановцы в свое время много копий поломали доказывая и придумывая искусственные примеры того, что java в xyz раз выполняется быстрее, чем приложения написанные на C (или иных нативных приложений). Если пример не искусственный, то это конечно не так, однако, от java какой-то безумной производительности требуют редко, а для своих задач ее производительности, как правило, более чем достаточно. Вообще, по сравнению с другими системами байт-компиляции (не считая .net, конечно, но это отдельная история, заточенная под единственную платформу) java многих опережает. С масштабируемостью дела обстоят еще лучше.
Резюме. Пользоваться java можно, иногда и нужно, но фанатеть от нее не стоит ;).
← →
Anatoly Podgoretsky © (2010-11-09 13:57) [78]> Kostafey (09.11.2010 13:51:17) [77]
Просто ты не видел вертолета с усами.
← →
Alex Konshin © (2010-11-09 14:12) [79]Батоны на форму кидать теперь гораздо лучше в Eclipse c установленым WindowsBuilder. Netbeans на дух не перевариваю, особенно после того, как попытался сделать что-нибудь сложнее Hello world на JavaFX.
← →
tesseract © (2010-11-09 14:19) [80]
> Дайте мне десяток!
См Ebay.com :-)
← →
Kostafey © (2010-11-09 14:22) [81]
> Alex Konshin © (09.11.10 14:12) [79]
> Батоны на форму кидать теперь гораздо лучше в Eclipse c
> установленым WindowsBuilder.
WindowBuilder Pro is now offered as a free download by Google.
Надо же, он теперь бесплатный?! Надо глянуть.
Я долго ждал пока допилят VE, он для старых еклипсов был довольно неплох, но по-моему его опять забросили...
← →
Kostafey © (2010-11-09 14:24) [82]
> Anatoly Podgoretsky © (09.11.10 13:57) [78]
> > Kostafey (09.11.2010 13:51:17) [77]Просто ты не видел
> вертолета с усами.
Да я и без усов давно уже не видел ;))
← →
Mystic © (2010-11-09 14:27) [83]
> Наш Java-проект www.ecwid.com - загрузка нехилая.
А в цифрах?
← →
Anatoly Podgoretsky © (2010-11-09 14:36) [84]
> Да я и без усов давно уже не видел ;))
А пытаешься говорить о вкусе устриц, которых ты тоже не ел.
← →
Kostafey © (2010-11-09 16:21) [85]
> Anatoly Podgoretsky © (09.11.10 14:36) [84]
> > Да я и без усов давно уже не видел ;))
>А пытаешься говорить о вкусе устриц, которых ты тоже не ел.
Не правда, этих "устиц" я ел %).
На php тоже писал, только давно, конечно.
← →
Alx2 © (2010-11-09 16:40) [86]>Mystic © (09.11.10 14:27) [83]
>А в цифрах?
Сорри. Насколько именно серьезная нагрузка я сказать не могу. Сейчас на себе тянет около 30 000 магазинов.
← →
iZEN (2010-11-10 10:07) [87]
> Дмитрий Тимохов (06.11.10 21:12) [19]
> ВОПРОС (конкретный) к знатокам, особенно к тем, у кого каши
> в голове нет (я имею в виду индивидума icelex): в java есть
> возможность использовать асинхронные сокеты, или нет, т.
> к. native уровень не предоставляет такую возможность?
См. Java NIO API, который появился в Java2 1.4.
http://download.oracle.com/javase/1.4.2/docs/api/java/nio/package-summary.html
В частности, классы java.nio.channels.ServerSocketChannel и java.nio.channels.SocketChannel.
Работает на любых операционных системах, где вообще заводится Java SE.
← →
Дмитрий Тимохов (2010-11-10 13:15) [88]
> iZEN (10.11.10 10:07) [87]
Скажи, а как это может эффективно жить, если в самом Linux нет асинхронных сокетов? Может это эмуляция какая-то?
> Anatoly Podgoretsky © (09.11.10 09:36) [71]
>
> > Дмитрий Тимохов (08.11.2010 23:37:07) [67]
>
> Robin Round - штатная возможность ДНС
>
> host.domain.ru IP1
> host.domain.ru IP2
> host.domain.ru IP3
Изучил DNS. Да, интересно. Все так и есть. Благодарю.
← →
Вариант (2010-11-10 15:00) [89]
> Дмитрий Тимохов (10.11.10 13:15) [88]
Почитай
> DVM © (08.11.10 13:38) [66]
> к той книге вот эта еще вероятно будет хорошим подспорьем:
>
> http://www.piter.com/book.phtml?978531800535&at=exc&n=0
>
Глава 6 - интересно, впрочем и вся книга интересна
← →
iZEN (2010-11-10 15:17) [90]
> Дмитрий Тимохов (10.11.10 13:15) [88]
>
> Скажи, а как это может эффективно жить, если в самом Linux
> нет асинхронных сокетов? Может это эмуляция какая-то?
Правда что ли? А я и не знал.
В Java не составляет труда эмулировать средствами самого языка любые асинхронные взаимодействия и обрабатывать внезапно случающиеся события, не прерывая исполнения основной программы. Для этого есть нити (Thread"s) и механизм поддержки параллельного выполнения кода (мониторы объектов).
← →
Дмитрий Тимохов (2010-11-10 15:20) [91]
> Вариант (10.11.10 15:00) [89]
> > http://www.piter.com/book.phtml?978531800535&at=exc&n=0
> Глава 6 - интересно, впрочем и вся книга интересна
закачал 3-е издание. благодарю, буду изучать.
← →
DiamondShark © (2010-11-10 15:28) [92]
> В Java не составляет труда эмулировать средствами самого
> языка любые асинхронные взаимодействия и обрабатывать внезапно
> случающиеся события, не прерывая исполнения основной программы.
> Для этого есть нити (Thread"s)
Тут человек как раз пытается уйти от ситуации "на каждый сокет по потоку".
← →
iZEN (2010-11-10 15:44) [93]
> DiamondShark © (10.11.10 15:28) [92]
>
> > Для этого есть нити (Thread"s)
>
> Тут человек как раз пытается уйти от ситуации "на каждый
> сокет по потоку".
Да давно уже не пишут по одному треду на сокет, разве что в образовательных целях.
Есть паттерны проектирования: Thread pools и Work queues, которые могут совмещаться.
http://www.ibm.com/developerworks/java/library/j-jtp0730.html?Open&t=grj,l=904,p=queues
← →
Eraser © (2010-11-10 16:59) [94]> [93] iZEN (10.11.10 15:44)
> Да давно уже не пишут по одному треду на сокет
хотя это крайне удобно. думаю в будущем к этому и прийдет все в очередной раз.
← →
DiamondShark © (2010-11-10 17:41) [95]
> Eraser © (10.11.10 16:59) [94]
> хотя это крайне удобно.
Это крайне плохо масштабируемо.
← →
Eraser © (2010-11-10 18:08) [96]> [95] DiamondShark © (10.11.10 17:41)
поэтому и стоит разработать технологию, чтобы с т.з. программиста код был такой же, как для синхронных сокетов, а с т.з. системы все работало на асинхронных.
← →
DiamondShark © (2010-11-10 19:41) [97]
> Eraser © (10.11.10 18:08) [96]
Бр-рр... Минут пять фтыкал во фразу. Нифига не понял. Зочем это? Как это?
Если что и стоит разрабатывать, так это исполняющие среды (в пределе, конечно, целая ОС) и языки с автоматическим и легковесным параллелизмом. Типа, сделал программист блокирующий вызов, а у него -- фигак! -- и пошёл исполняться дальше код, инвариантный к этому вызову. А потом в точке, где появилась зависимость -- хопа! -- блокировка, и после сихронизации инварианты опять по параллельным веткам.
← →
_iZEN (2010-12-03 15:56) [98]Новость проскочила
Джеймс Гослинг об Apple, Apache, Google, Oracle и о будущем Java
Страничка с видео: http://marakana.com/forums/java/general/205.html
Тезисы: http://www.linux.org.ru/jump-message.jsp?msgid=5635934&cid=5636273
← →
DiamondShark © (2010-12-03 17:38) [99]
> _iZEN (03.12.10 15:56) [98]
> Новость проскочила
> .NET (CLR) — плохо проработанный клон Java.
РжалЪ.
> Поддерживать Java на ОС компании Apple без помощи Apple
> проблематично: необходим доступ к секретным API
Так вот ты какая, кросплатформенность.
← →
_iZEN (2010-12-04 00:54) [100]
> DiamondShark © (03.12.10 17:38) [99]
> > .NET (CLR) — плохо проработанный клон Java.
>
> РжалЪ.
Ну да. А что не так? После судебного разбирательства с Sun, после которого MS должна была выплатить 20 млн. $ за ущерб, причинённый торговой марке "JAVA" собственными несовместимыми "расширениями", у Microsoft не оставалось другого выхода, кроме как переизобрести Java. Благо, что будущий архитектор .NET — Андреас Хайлсберг — уже имел опыт работы с MS JVM, под которую клепал библиотечку Windows Foundation Classes (WFC) с нативными вызовами Win32 API назло Sun. ;)
← →
DiamondShark © (2010-12-05 01:13) [101]
> Ну да. А что не так?
Кроме знаков препинания - всё.
← →
Какой кыашмар (2010-12-06 06:09) [102]
> А что такое асинхронные сокеты в Windows?
Эт неблокирующй сокет, к которому прикручен механизм уведомления о комплешин операций. Фишка в том, что реализовано оно в ring0, отсель минимальный оверхед.
> Поэтому, если количество одновременных соединений реально
> приближается к 8000
8000 фигня. Даж на клиентской оси сервак на IOCP легко держит овер 30k, мож и больше, лиш бы non-paged пула хватило. Но нать в реестре подкрутить, штоб зарезервированный диапазон портов поджать.
> Под асинхронностью я понимаю расширение WSA, где события
> пересылаются посредством оконных сообщений.
Сообщения - одно из средств доставки, самое оверхедное. В ring0 событие порождается прерыванием и либо ставит в messge queue, либо взводит event, либо извещает IOCP.
Под виндой для сервака выбор IOCP - вне конкуренции.
Про никсов для знакомства
http://groups.google.com/group/fido7.ru.unix.prog/msg/95dfba39d50be659?
http://www.kegel.com/c10k.html
← →
Какой кыашмар (2010-12-06 06:23) [103]
> Это крайне плохо масштабируемо.
Масштабируемо это таки крайне хорошо. Само по себе. Ежель не угробить параллелизм локами то фактически линейно. Тока толку с того мало, для хорошей производительности нать по ядру на каждые 20-30 потоков плюс памяти немеряно.
← →
Какой кыашмар (2010-12-06 06:30) [104]
> Судя по всему, асинхронные сокеты опираются на специальный
> системный пул потоков.
Нетуть там никакого пула и не нужен. Про IOCP у Руссиновича хорошо расписано.
← →
Дмитрий Тимохов (2010-12-06 08:51) [105]
> Какой кыашмар (06.12.10 06:09) [102]
> Про никсов для знакомства
> http://groups.google.com/group/fido7.ru.unix.prog/msg/95dfba39d50be659?
Очень познавательно. Благодарю за ссылку!
← →
_iZEN (2010-12-10 14:10) [106]Фонд Apache вышел из комитета JCP, управляющего развитием Java
http://www.opennet.ru/opennews/art.shtml?num=28948
Начинается глобальный делёж и опроприетаривание Java. Пользователи и программисты OpenJDK теперь будут в роли подопытных кроликов, на них будут ставить опыты. Полезные фичи Oracle будет вносить в проприетарный Oracle JDK, а собственные разработки попридержат в блобах и не дадут распространиться в OpenJDK.
← →
DiamondShark © (2010-12-10 14:40) [107]
> Начинается глобальный делёж и опроприетаривание Java.
"Яву, Яву взял я нахаляву."
← →
Anatoly Podgoretsky © (2010-12-10 16:32) [108]> DiamondShark (10.12.2010 14:40:47) [107]
А скоро будешь платить, на крючок то посадили.
← →
DiamondShark © (2010-12-10 16:40) [109]
> Anatoly Podgoretsky © (10.12.10 16:32) [108]
Ненене, Дэвид Блэн.
Я заранее сел на другой крючок. ;)
← →
Anatoly Podgoretsky © (2010-12-10 16:59) [110]> DiamondShark (10.12.2010 16:40:49) [109]
Неужели на НЕТ
← →
DiamondShark © (2010-12-10 17:41) [111]
> Anatoly Podgoretsky © (10.12.10 16:59) [110]
Аз грешен
← →
tesseract © (2010-12-10 19:16) [112]
> А скоро будешь платить, на крючок то посадили.
Гугл выпучил(да выпучил) свою яву с синтаксическими сокращениями. Так что не вся так просто.
> Я заранее сел на другой крючок. ;)
mono почти как .Net, но бесплатно.
← →
Anatoly Podgoretsky © (2010-12-10 19:44) [113]> tesseract (10.12.2010 19:16:52) [112]
Это НЕТ и есть, другое название.
← →
DiamondShark © (2010-12-10 23:37) [114]
> mono почти как .Net, но бесплатно.
А .Net платно?
← →
_iZEN (2010-12-11 23:39) [115]Если к Java-технологиям приписать слева букву N, то получатся .NET-технологии: Nant, Nhibernate и т.д. :))
← →
_iZEN (2010-12-14 09:30) [116]Редвуд Шорс, Купертино, Калифорния, 12 ноября 2010
Сегодня Oracle и Apple объявили об открытии проекта по разработке OpenJDK для Mac OS® X. Apple будет создавать большинство ключевых компонентов, инструментов и технологий, которые необходимы для реализации Java SE 7 на Mac OS X, включая 32-битную и 64-битную виртуальную мащину на основе HotSpot, библиотеки классов, сетевой стек и основу для нового графического клиента. OpenJDK будет доступна разработчикам свободного программного обеспечения, так что они смогут получить доступ к проекту и участвовать в нем.
«Мы рады приветствовать Apple как важного участника в развивающемся сообществе OpenJDK» — сказал Хэйзен Ризви (Hasan Rizvi), вице-президент Oracle по разработке. «Доступность Java на Mac OS X играет ключевую роль в кроссплатформменной поддержке платформы Java. Сообщество разработчиков Java может вздохнуть спокойно, будучи уверенным что новейшая среда Java и в будущем продолжит быть доступной для Mac OS X. Если вспомнить сделанное месяц назад заявление про то, что IBM тоже подключилась к OpenJDK, тепепь проект подхвачен тремя крупнейшими компаниями в мире разработки ПО.»
«Нам нравится работать вместе с Oracle, и перестраховаться что на Маке всегда будет отличная Java», — сказал Бертран Серлет (Bertrand Serlet), вице-президент Apple по разработке ПО. «Если наши пользователи захотят постоянно иметь в наличии самую новую и безопасную версию Java, то лучший способ для этого — взять ее напрямую у Oracle.»
Также в Apple подтверили, что они продолжат предоставлять Java SE 6 как для Snow Leopard®, так и для грядущего релиза Mac OS X Lion. Java SE 7 и будущие версии Java для Mac OS X будут предоставляться уже самой Oracle.
Обсуждение новости: http://www.linux.org.ru/forum/talks/5676993
А вот с Mono дела неважные: http://www.opennet.ru/opennews/art.shtml?num=28984
← →
Anatoly Podgoretsky © (2010-12-14 09:42) [117]> _iZEN (14.12.2010 09:30:56) [116]
Красио излагает зараза.
← →
Marser © (2010-12-14 14:16) [118]Я в лучших традициях ЮЗ от нечего делать за день изучил PHP, за другой JavaScript, и тут же написал обрезку демотиваторов. Так оказалось, что альфа-версия моей поделки это вещь в себе, потому что на бесплатных хостингах нет одной необходимой фичи :-)
Да, и я уже два года в .NET, там и обосновался, с теплотой вспоминая родную Делфю :)
← →
Marser © (2010-12-14 14:24) [119]
> DiamondShark © (10.12.10 23:37) [114]
>
>
> > mono почти как .Net, но бесплатно.
>
> А .Net платно?
Мне сегодня юное поколение доказывало, что PHP этот - адов ацтой, только потому что там много надо делать ручками :-)))
Естественно, при таком подходе бесплатность компилятора и фреймворка никого не интересует, если за IDE надо платить.
А Java... Она такая... Такая большая, что лучше я в ASP.NET въеду поглубже, а с её сетевыми технологиями просто познакомлюсь.
← →
Чоппер (2010-12-14 15:05) [120]Кто о чем, а Marser, как всегда, о себе.
← →
Marser © (2010-12-14 16:55) [121]
> Чоппер (14.12.10 15:05) [120]
>
> Кто о чем, а Marser, как всегда, о себе.
Кстати да :-)
Только я как всегда знаю - если за моими постами идёт ник анонимуса - значит, кто-то безликий решил написать что-то эдакое. Уже лет пять наблюдаю :-)
← →
DiamondShark © (2010-12-14 18:03) [122]
> Мне сегодня юное поколение доказывало, что PHP этот - адов
> ацтой, только потому что там много надо делать ручками :
> -)))
Это да. Юное поколение такое юное.
PHP -- адов ацтой вовсе не потому что там много надо делать ручками.
> Естественно, при таком подходе бесплатность компилятора
> и фреймворка никого не интересует, если за IDE надо платить.
Так .Net IDE есть и бесплатные.
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2011.03.27;
Скачать: [xml.tar.bz2];
Память: 0.84 MB
Время: 0.007 c