Pull to refresh
480
0
Send message
Если все равно используются платформо-зависимые примитивы, то почему бы для Windows не использовать SRWLock-и?

Кроме того, Sleep(0) делает не совсем то, что думает большинство людей, использующих эту функцию. Если хочется отдать квант, следует использовать SwitchToThread. Если ресурс не удается захватить, а SwitchToThread возвращает FALSE, то, в зависимости от требований к задеркам (latency) и энергоэффективности, можно использовать Sleep в надежде, что поток, захвативший ресурс таки проснется и освободит его.

Ну и еще замечание. InterlockedCompareExchange и InterlockedExchangeAdd (почему ExchangeAdd с 1 и -1, а не Increment/Decrement?) вставляют полный барьер памяти, что может существенно повлиять на производительность. В идеале стоило бы расставить полубарьеры.
Ну вообще, все движется к WinRT (собственно, в WP8 он и нарисовался, но еще не полностью), где есть Windows.Storage.KnownFolders для доступа к библиотекам. Пока же можно сохранять файлы себе в isolated storage (как делает та же Nokia Music) либо подбирать файлы с карты.

А в целом, согласен, что «неполноценность» WinPRT по сравнению с WinRT дает себя знать.
Я так понимаю под «есть другой API» Вы имеете в виду MediaElement

Как Вы сами сказали, события начала/окончания проигрывания и перемотка на произвольную позицию в нем есть. Плейлист — это вообще за пределами компетенции данного контрола.

Что мне не совсем понятно, так это почему нельзя этим контролом проигрывать локальные файлы.
А мне почему-то вспоминается не Баш и не Хабр, а эссе 25-летней давности

К счастью, весьма нередко на длинных дистанциях «первые инженеры» побеждают, иначе я б наверное уже переквалифицировался в сантехники.
А по-моему, без понимания того, что размер данных имеет пренебрежительно малое значение по сравнению с их структурой и паттернами запросов, вообще стоит прекратить спорить про data warehousing. Хоть на форумах, хоть здесь
то тут уж мне либо сутки (двое? трое? неделю?)

то тут уж мне либо сутки (двое? трое? неделю?) считать кубик
Опять начинается.
Вы можете докупить себе второй винт и пострайпить, чтоб увеличь пропускную способность диска вдвое, вы можете заменить восьмиядерный сервер шестнадцатиядерным, чтоб увеличь вычислительную мощность вдвое (да-да, я знаю про старика Амдала), но ни в коем случае не используйте шардинг, чтоб увеличить доступ к данным вдвое. Либо у Вас один big-ass сервер — либо несколько сотен тысяч в датацентрах по всему миру. Иначе просто никак. Ну то есть вообще никак. Нет, ну правда, кому вообще может прийти в голову, что распараллеливание доступа к данным вдвое (впятеро, вдесятеро) может кому-нибудь когда-нибудь понадобиться? Забудьте эту ересь и никогда не вспоминайте — у Вас просто нет столько данных.

А если серьезно, то у меня возникли какие то смутные сомнения в компетентности чувака.
Что значит «слишком много для Excel»? Excel, знаете ли, может принимать данные из любых источников, включая все тот же SQL. Ему вообще плевать откуда они приходят.

Что за фиксация на размере данных. Что за утверждения, что распараллеливание НИКОГДА не может быть эффективнее SQL (скажем прямо, некоторые запросы на SQL попросту невыразимы вменяемо — для этого даже языки запросов новые выдумывают от XQuery до MDX). Вот как раз когда есть одна таблица с парой колонок, то совершенно неважно 500 мегабайт там или 5 терабайт — би-деревья все прожуют и выплюнут даже не успев толком осознать что происходит. А вот если у меня 500 мегабайт (5 гигабайт? 10? 1007) данных структурированных по двум десяткам измерений, причем эти данные постоянно обновляются, то тут уж мне либо сутки (двое? трое? неделю?) и анализировать его в PowerPivot (во всем том же Excel) с молниеносными запросами по любой комбинации измерений, либо кинуть запрос в кластер, где каждый каждый «прожует» свой небольшой кусочек и потом сагрегировать это все. Да, суммарно запрос будет все так же неэффективен как и обычный SQL (ну хреново SQL работает с многомерным датамайнингом — ну чего тут делать), но зато он будет ускорен ровно во столько раз сколько нод в кластере.

PS: Hadoop и BigData это сейчас «модно», но так же модно сейчас и быть «илитой» и начисто отрицать применимость MapReduce в любых сеттингах, кроме кеша Гугла
Пара замечаний:

На powershell скрипт будет выглядеть не «аналогично», а раз эдак в 5-10 короче.

Багрепорт:
function OpenSqlWmiNamespace(instance) {
  var wmi = LookupInstanceContext(instance, "ComputerManagement10");
  if (wmi != null) {
    return wmi;
  }
  var wmi = LookupInstanceContext(instance, "ComputerManagement10");
  if (wmi != null) {
    return wmi;
  }


  throw new Error("Instance '" + instance + "' not found.");
}


Насколько я понимаю, скрипт оба раза пытается работать с одной и той же версией неймспейса. Кроме того, в mssql 2012 имя неймспейса ComputerManagement11. В принципе можно просто перечислить все объекты класса __NAMESPACE в неймспейсе \\root\Microsoft\SqlServer и выбрать подходящий ComputerManagement*
Строго говоря, «варианта с командной строкой» вообще не было. Скрипт останавливает сервис, переводит его в однопользовательский режим, запускает сервис, добавляет текущего юзера в админы, останавливает сервис, восстанавливает многопользовательский режим и перезапускает сервис. В описании ручного добавления только добавление юзера в админы было проведено из командной строки.
В 8.1 очень сильно модифицировали поиск. Теперь он, в частности, опять ищет сразу везде — без групп. К тому же апдейт бесплатный — нет причин не ставить :-)
1. Загружаетесь в винду и запускаете установку. Вам ОБЯЗАТЕЛЬНО нужен LiveCD — сделайте с помощью того же AIK и все так же запускайте установку.
2,3. Ум, «свежие дистрибутивы» на винде апдейтятся сами вообще то. К тоже же полно сервисов, подобных ninite, которые все упакуют и установят за один проход без всякой командной строки и прочих танцев.
4. Я когда нибудь выйду на улицу с шотганом если люди АБСОЛЮТНО не разбирающиеся в безопасности будут продолжать нести чушь про InherentlySecure. Классические юникс-триплеты + суперюзер — пожалуй, самое больше уродство, виденное мной в сфере безопасности за мою жизнь. Даже полное отсутствие каких либо средств (типа MSDOS) и то лучше, потому что не взращивает поколение за поколением повторяющие чушь про «продуманную систему прав».
5. Замеряли? Как говорится, тел ми моар. Я пользовался линуксами с 90-х (одно время даже «полностью перешел» и просидел почти 3 года) и могу сказать, что даже отзывчивость интерфейса стала сносной только лет 5 назад — до этого я натурально успевал замечать как перерисовываются контролы и прочие элементы интерфейса.
6. Есть все от полной замены шелла до всяких WindowBlinds, а если хочется кулхэккирских писькомерок прямо на десктопе — ну rainmeter или rainlendar в руки. Вот только все это — для школьников, оно АБСОЛЮТНО не нужно.
7. Винда все корректно определяет. Кстати, давно замечено, что именно у супер-прафисианальных линуксоидов винда почему то глючит, падает по два-три раза в час и заражается сотней вирусов сразу после втыкания сетевого шнура.
Приехали. «Винда плохая патамушта она — не макось». Ну расскажите, какой именно бубен мне взять, чтоб завести IIS, ASP.Net (вроде взлетает под моно), MSSQL под MacOSX?
1. А сможет ли «любая домохозяйка» установить версию пакета, которая не находится в текущем «снепшоте» репозитория? Dependency hell?
2. Ога, вообще не нужно. Вот как раз таки винду не нужно. Что же до перезагрузок — перезагрузки линуксу нужны, просто он это тщательно скрывает в надежде на «авось как нибудь и так пронесет».
Ну так и расскажите, что же Вам неудобно в винде? То что она не ВЫНУЖДАЕТ Вас ковыряться «под капотом», чтобы просто работать? Ну так уделите столько же времени на понимание принципов и инструментов — и волосы сразу станут мягкими и шелковистыми.
Я не говорил, что «другие ОС — говно». В OSX (вернее в XNU) мне не нравится прежде всего ее эклектичность: сфранкенштейнили несколько разных операционок вместе (Mach + BSD), кое что отпилили (например, менеджмент процессов выброшен из BSD части и зашунтован на Mach, кроме того, из BSD выброшена модель драйверов — почти все они переехали в IOKit, ключевое слово — ПОЧТИ, сетевые драйверы, к примеру, остались в BSD), где то прибили костылями, густо перемазали библиотеками собственной разработки (тот же IOKit, который, к слову, мне весьма по душе) и вот уже и готово ядро.

Что же до линукса — там просто нет дизайна (погуглите высказывания Линуса на тему «evolution — not intelligent design»). Ну если, конечно, не считать «дизайном» POSIX/SUS, который как раз таки я с полным правом считаю «говном». Более того, одним из существенных недостатков MacOSX как раз таки и является нативная (не путать с «hosted») поддержка POSIX — то есть он существенным образом повлиял на дизайн и возможности ядра, вместо того чтобы просто быть слоем совместимости над нормально спроектированным ядром.
Если не брать в расчет привычку и отбросить стереотипы

плюсы linux очевидны

А если «отбросить стереотипы»? Для меня вот, совсем не очевидны. В игры не играю, ни одного продукта адоби не стоит, хотя таки программист (не совсем представляю что Вы здесь имеете в виду). Винда бесплатная. Не могли бы Вы рассказать подробнее о «плюсах линукса».
Мимо по ВСЕМ пунктам. Это все — плоды современной мифологии, примерно из того же разряда, что и утверждения о том, что если кто-то бездумной принимает на веру существование говорящих змей и оживающих мертвецов, то он должен НЕПРЕМЕННО быть более моральным, чем те, кто в этом всем сомневается.
Ах да, есть еще «бремя доказывания». Винда на работе, винда дома — винда на 95% десктопов. Винда — это решение ПО УМОЛЧАНИЮ. Скажите лучше, почему Вы считаете, что айтишники непременно должы использовать что-либо отличное от винды (позволю себе предположить, что Вы имеете в виду Линукс)?
Лично для меня одним из главных критериев является «техническое совершенство». Винда ОЧЕНЬ хорошо спроектирована и реализована, у MacOSX с этим чуть похоже, а Линукс — вообще не проектировался (как говорил Линус — «биологическая эволюция», да — возвратный гортанный нерв и «центр развлечений в канализационном коллекторе», зато никому не приходится думать заранее)
Вообще, Вы, конечно, правы. Данная конкретная статья «прошлась» по всем, но «феномен» все таки присутствует, хотя по моему и идет на спад (и потихоньку набирает обороты в отношении Apple).

Я не собирался «выгораживать» MS: OS/2 — «не фонтан» в плане дизайна, но те же Windows 1/2/3.11 и вся линейка 9x — не намного (если вообще) лучше. Если я чего и «защищаю», так это NT — я не больше не видел ни одного примера дизайна, который бы настолько хорошо адаптировался к изменениям требований.

Ну а по обещаниям — NT работала на мипсах и альфах, поддерживала вин32 и виртуальные ДОС машины, имела подсистемы OS/2 и POSIX. И все остальное.

Да, статья хороша — с огоньком и ненавязчивым юмором. Мои «претензии» не к самой статье, а к тем, кто воспринимает ее некритически.

Information

Rating
Does not participate
Registered
Activity