Pull to refresh
51
0
Alexander Fedora @ghisguth

User

Send message
just::thread — платная, да. Но на их сайте много информации полезной;)

А boost::task имеет 2 стратегии — то про что вы говорите — bounded очередь, которая специально так и сделана. Но можно использовать unbounded — тогда задача будет добавляться сразу.

Попробуйте следующий код:

void SleepTask(int i)
{
  std::cout<<" * task"<<i<<" begin\n";
  boost::this_thread::sleep(boost::posix_time::milliseconds(rand()%100 + 10));
  std::cout<<" * task"<<i<<" end\n";
}

boost::tasks::static_pool< boost::tasks::unbounded_fifo > pool( boost::tasks::poolsize( 5) );

std::vector<boost::tasks::handle< void > > task_list;
for(int i = 0; i < 100; ++i)
{
  task_list.push_back(boost::tasks::async(
    boost::tasks::make_task( &SleepTask, i ),
    pool));
}
std::cout<<" * all tasks scheduled\n";
boost::tasks::waitfor_all(task_list.begin(), task_list.end());

* This source code was highlighted with Source Code Highlighter.
> Каких систем?

Тех, которые обслуживают большое число пользователей. Ну к примеру google, twitter, livejournal, digg, flickr, youtube, и тд.

> Для примера lineage 2 виндовый, knights online — тоже виндовый. Про еву не знаю — она мне была интересна только своими изысканиями в сторону stackless python.

Я ж и не спорю, под windows тоже достаточно много хороших MMO серверов.

> Кстати, интересно было бы узнать про ВоВ.

Тоже очень интерестно, но такой информации в сети не видел.

Есть, кстати, open-source сервер WoW-а — MaNGOS — он кроссплатформенный.

> Точно? Я знавал одну контору в МСК, которая этот бигворлд пару лет назад лицензировать хотела, там вроде совсем не линукс был.

Тут и тут пишут, что linux.
Ну все зависит от разработчика — можно и на linux сделать неоптимальный сервер, ровно как и высоконагруженую систему (нету точной информации, но возможно, что EveOnline использует Windows, MS SQL они используют).

Ещё вопрос почему большая часть высоконагруженых систем все-таки использует linux, а не windows?

Ну и пару примеров Linux-серверов MMO:
Second Life использует Debian Linux
Perfect World — Linux.
Из движков:
Big World Tech — Linux
Hero Engine — поддерживает Linux и Windows.
Smart Fox Server — Linux, Windows, MacOSX
Ну в подтверждение сказаного про буст — ещё один пример: там были реализованы и умные указатели (shared и weak). Реализованы с использованием мютексов (для изменения счетчика ссылок). boost.smart_ptr — уже давно использует атомарные операции и в нет необходимости блокировок, ну и ещё много бонусов дает по сравнению с самописными реализациями (boost::enable_shared_from_this к примеру).
И это не первый раз когда я вижу, что кто то изобретает свои умные указатели. В универе понятное дело — можно эксперементировать, но на работе зачем?
> Сервер ММО под линуксом? Корейцы негодуют.

Как бы да. Вы считаете что Windows Server лучше подходит под такие задачи?

> Это понятно. Вопрос в том, встанет ли вопрос о портировании вообще.

Ну это скорее приятный бонус, который дается бесплатно. Если есть выбор из двух библиотек: кроссплатформенной и нет — то я бы остановился на первой при прочих равных.
ПО пишется для linux-а;)
В любом случае если использовать boost — то портировать под любую другую платформу будет намного легче (так как он кроссплатформенный), чем если бы использовать конкретное api.
Там работают такие же параматры как и в ридере. Нажимаю на рассылку в ридере и подучаю в адресной строке чтото типа ...reader/view/#stream/feed… копируем от # и до конца строки и добавляем этот параметр к www.google.com/reader/play/.
К примеру reader/play для habrahabr
Не обязательно весь демон писать на плюсах, мы к примеру часть логики выносим в скриптовый язык (lua, но можно к примеру использовать mono) и получается замечательная комбинация требовательного по производительности кода на C++ и не требовательной бизнес логики на lua. Это даёт возможность для маневров (оптимизация узких мест), но не слишком замедляет разработку (код на lua пишется на порядок быстрее).
По поводу марсоходов, я слышал что они пишутся на Ada, языке в котором можно доказать, что в нем нету ошибок (утверждать не бурусть, но это запало в память;)
Real-time java — да, слышал. Но думаю, что не все продвинутые джавистя сходу справятся с этой задачей.
ну в языках с настоящим gc конечно немного по другому, но как ни странно в них тоже есть утечки (я сам удивился, когда гуглил аллокаторы памяти и тулзы для анализа утечек).
ни и ещё друзья, которые професионально пишут на java, тоже пугали всякими страшилками;)
но сама идея в том, что минимизируя риск утечек, к примеру используя только контейнеры и умные указатели, все равно можно выстрелисть себе в ногу, но разобраться в причине будет намного сложнее.
suicide_faq: Малоизвестные средства — Вода

Дозировка: Упоминалось 14 литров
Время: 12 часов или около того
Доступность: всегда доступна
Hадежность: неизвестна
Вызывает обессоливание организма (вымывает соли), что приводит к судорогам и остановке дыхания. Hужно пить непрерывно, вплоть до потери сознания.
Довольно необычный метод. Вот что говорили в [2]: «Около года назад в местных газетах была история про женщину, которая допилась до смерти. Она проглотила что-то слегка ядовитое и, когда она позвонила своему врачу, спрашивая его, что делать, он сказал ей, чтобы она выпила побольше воды и зашла к нему утром.
J: Это называется „форсированный диурез“ — чтобы отрава вышла с водой.
Она перестаралась, и выпила не меньше 14 литров воды, пока осмотический баланс ее тела не был совершенно разрушен и она умерла (неизвестно, как быстро).»
C: Эта история исходит от меня, а случай произошел в Швеции.
J: Городок назывался VДxjЖ (switch to sweden cp), что-то вроде Vaxja.
C:Hо, к сожалению, я не помню названия газеты. Hедавно мне рассказали про подобный случай в Сан Антонио. Он предположительно произошел пару лет назад и был описан в местной San Antonio Express/News.
пункт 6 — круто!
я вот для srt-ок аналог php-ного скрипта написал (unix-way=)

cat The.Invention.of.Lying.2009.HDRip_\[torrents.ru\].ENG.srt |
egrep -v '(\-\->|^[0-9])' |
sed -e 's/[,.?!()":;\-]/ /g' -e 's/\r/ /' |
sed -e :a -e '$!N; s/\n/ /; ta' |
sed -e 's/ \+/\n/g' -e 's/\(.*\)/\L\1/g' |
sort | uniq -c | sort -r -n |
awk '{print $2"\t"$1 }' |
column -t | less
Если много разработчиков — то ничего не меняется, кроме того, что на зеркало на gitorious будет залтивать один человек. А все остальные работают с svn-ом как и раньше работали без использования всех приемуществ dvcs (это костыль, но он работает).
Более правильно было бы сграбить всю историю проекта через git-svn — а дальше работать сугубо с git-ом (гугл говорит, что SF пообещали сделать поддержку dvcs)
Кода — проще пареной репы.
На SF — svn, на машине разработчика git. Общение при помощи бриджа git-svn. На gitorious.org используете git, куда разработчик просто заливает обновления штатными средствами оного.
Я не очень хорошо знаю английский, но кажется так:
You'll only lost your time.
You have to pay for advanced lessons.
just to earn или just for earning
H.264. По умолчанию с хромиумом идет chromium-codecs-ffmpeg, а не chromium-codecs-ffmpeg-nonfree. Просто установите этот -nonfree пакет.
работает и ютуб и вимео на ночном билде

chromium-browser — 5.0.306.0~svn20100126r37082-0ubuntu2~ucd1~karmic
chromium-codecs-ffmpeg-nonfree — 0.5+svn20091210r34297+36953+37055-0ubuntu1~ucd1~karmic
В Политике приватности не указано сколько хранится информация, но тут пишут что тоже 18. То что через пол года удаляется ip ничего не решает — так как данные о пользователе, скорее всего, можно восстановить по кукам.

А эту новость сделали просто потому что Майкрософт не рассчитывало на такой объем логов и у них заканчивается место на дисках=)
trac + test track pro + google wave (волну недели две как начали активно использовать для обсуждений)
Почитал msdn про VS2010 — обещают улучшить code completion и новый header dependency tool, остальное не интересно (красивее интерфейс, улучшения в MFC). Очень «понравилось»:
Our implementation of TR1 contains a number of important features such as smart pointers, regular expression parsing, containers (tuple, array, unordered set, etc) and sophisticated random number generators.
Ну тяжело было им взять boost? Он и так кроссплатформенный, работает под VS и по нему писался стандарт, зачем изобретать велосипед?
Ну и ладно, хорошо что про сишников хотя бы вспомнили.

По поводу либ — вам не повезло. Но и сравнение не совсем правильное. Одна функция — это имелось ввиду WinAPI или внешние библиотеки?
К примеру, как мне поможет msdn если мне надо в c++ использовать протокол XMPP?
Когда я программировал только под win32 — я использовал много open source библиотек (к примеру zlib, libpng, tinyxml, lua, curl, pthreads, boost, berkeley db, ogre, irrlicht).
Под виндой при поиске и выборе таких библиотек ничего не изменится.
Лицензии? А под виндой вас не заботит что вы используете GPL код не открывая сорци? Или используете только закрытый софт? Лично я смотрел на лицензии и искал LGPL аналог.
А вообще я редко спрашиваю на форумах про библиотеки — обычно поиск в гугле «c++ задача», «c++ задача library comparison»,… Если есть несколько — сравниваю по фичам и насколько активно развивается проект. При равных прочих выбираю то, чей код и архитектура на глаз нравятся больше.
Обычно большинство вопросов уже задано и на них получен ответ, а гугл помогает найти его.
Не знаю какую студию вы используете, но как по моему мнению последняя версия kdevelop (3.9.97) уже лучше чем когда-то мной используемая связка VS2005+VisualAssistX. Ещё немного допила в плане стабильности и любых хомяпользователей VS С++ можно будет пересадить на kdevelop. Насколько я знаю в последних версиях VS основной упор был сделан на .NET и про С++ давно забыли.

По поводу библиотек — это же прекрасно что есть выбор. Кстати много и кроссплатформенных библиотек. И да — портировать userspace код с linux-а на win намного проще, чем наоборот. Сетевой стек? Используйте boost::asio или другую библиотеку.

а. — Тот же kdevelop давно поддерживают менеджмент проекта через гуй (если не нравится kdevelop — есть много других IDE типа codelite, netbeans, codeblocks, ...)
г. — платят за опыт работы с технологией (языком к примеру), а не за опыт работу в IDE, джависту к примеру платят за знание фреймворков (к примеру GWT), а не за опыт работы в IDEA. Может моя продуктивность в VIM больше чем в IDEA. Кого это волнует

Information

Rating
Does not participate
Location
Redmond, Washington, США
Date of birth
Registered
Activity