Апр 30
Реализованное нами в прошлый раз атомарное умножение является примером более общей модели, которую Реймонд назвал «сделай, запиши,(попытайся снова)».

for (;;) {
 // берём начальное значение общей переменной,
 // которую мы собираемся изменять
 oldValue = sharedVariable;

 ... берём начальные значения других параметров ...

 newValue = ... вычисляем новое значение, используя
                oldValue и копии остальных параметров ...

 // вместо Xxx может быть Acquire, Release, или ничего
 if (InterlockedCompareExchangeXxx(
            &sharedVariable,
            newValue, oldValue) == oldValue) {
  break; // запись удалась
 }

 ... удаляем newValue ...

} // попытаемся снова

Мы вычисляем новое значение, и затем вызовом InterlockedCompareExchange записываем его в общую переменную только в том случае, если её значение не изменялось. Если оно изменилось, значит другой поток нас опередил; в этом случае попытаемся выполнить операцию по-новой, с самого начала, — в надежде, что в следующий раз никто нас не «подрежет».
Апр 30
Предыдущая часть

Ваше приложение должно выполнять проверку всех вводимых пользователем данных для того, чтобы предотвратить возможные ошибки.

В этой части вы узнаете:
  • Как осуществлять валидацию на Windows Phone.
  • Как выполнить проверку несохранённых изменений, когда пользователь нажимает кнопку «Назад».
Апр 30
Ола, амигос!
Недавно в топике Мешок банальных советов комментатор alexanderyastrebov предложил простой способ запустить простой http-сервер с помощью 1й строчки в консоли.
Я решил попробовать найти, можно ли на нем запускать еще и питоновские скрипты, и вы, читая этот топик, наверное, уже догадались, что можно.
Сам сервер запускается одной коммандой:
python -m CGIHTTPServer
Как вы можете видеть, по умолчанию он использует 8000й порт и предоставляет доступ к текущей директории терминала. Но скрипты должны запускаться из папки «cgi-bin» текущей директории. Например так:
localhost:8000/cgi-bin/helloworld.py
Спасибо за внимание, удачного тестирования скриптов!
Апр 30
Американский комитет Accredited Standards Committee X9 в апреле 2011 года утвердил использование самого быстрого алгоритма ассиметричного шифрования NTRU (NTRUEncrypt). Удивительно, но широкая публика раньше ничего не слышала о таком алгоритме, а вот он уже становится технологическим стандартом для финансовых транзакций, причём демонстрирует быстродействие на пять порядков быстрее RSA.

Например, графический процессор GTX280 может осуществлять до 200 000 операций в секунду шифрования 256-битным ключом NTRU. Это уже сравнимо скорее с симметричными ключами, например, это всего в 20x медленнее AES.
Апр 30
Наглядное представление популярных Open Source лицензий
Апр 30
image
Привет Хабражители,
Спешу рассказать Вам о новости, которая наверняка заинтересует любителей нетбуков и планшетов. По заявлениям Intel, следующее поколение чипов Atom появится на рынке в 4-ом квартале 2011 года. Кодовое название платформы «Cedar Trail», базироваться она будет на чипе, созданном по 32-нм техпроцессу.

Апр 30
Предыдущая часть

Как уже было сказано в предыдущей части, для длительного хранения на телефоне обычно используется изолированное хранилище.

В этой части вы узнаете:
  • Как сохранять данные в изолированное хранилище.
  • Как загружать данные из изолированного хранилища.
  • Как удалять данные из изолированного хранилища.

« Previous Entries