Архив за Апрель 2011

Системное программирование / [Перевод] Беззамочные алгоритмы: модель «сделай, запиши,(попытайся снова)»

Суббота, 30 Апрель 2011

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

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

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

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

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

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

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

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

Windows Phone / [Перевод] Создание приложения для Windows Phone 7 от начала до конца. Часть 14. Валидация вводимых данных

Суббота, 30 Апрель 2011

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

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

В этой части вы узнаете:

  • Как осуществлять валидацию на Windows Phone.
  • Как выполнить проверку несохранённых изменений, когда пользователь нажимает кнопку «Назад».

Python / Как поднять сервер для python скриптов за 1 минуту

Суббота, 30 Апрель 2011

Ола, амигос!
Недавно в топике Мешок банальных советов комментатор alexanderyastrebov предложил простой способ запустить простой http-сервер с помощью 1й строчки в консоли.
Я решил попробовать найти, можно ли на нем запускать еще и питоновские скрипты, и вы, читая этот топик, наверное, уже догадались, что можно.
Сам сервер запускается одной коммандой:
python -m CGIHTTPServer
Как вы можете видеть, по умолчанию он использует 8000й порт и предоставляет доступ к текущей директории терминала. Но скрипты должны запускаться из папки «cgi-bin» текущей директории. Например так:
localhost:8000/cgi-bin/helloworld.py
Спасибо за внимание, удачного тестирования скриптов!

Криптография / NTRUEncrypt: самый быстрый ассиметричный шифр

Суббота, 30 Апрель 2011

Американский комитет Accredited Standards Committee X9 в апреле 2011 года утвердил использование самого быстрого алгоритма ассиметричного шифрования NTRU (NTRUEncrypt). Удивительно, но широкая публика раньше ничего не слышала о таком алгоритме, а вот он уже становится технологическим стандартом для финансовых транзакций, причём демонстрирует быстродействие на пять порядков быстрее RSA.

Например, графический процессор GTX280 может осуществлять до 200 000 операций в секунду шифрования 256-битным ключом NTRU. Это уже сравнимо скорее с симметричными ключами, например, это всего в 20x медленнее AES.

Open source / Наглядно о популярных Open Source лицензиях

Суббота, 30 Апрель 2011

Наглядное представление популярных Open Source лицензий

Железо / Atom «Cedar Trail». Те же ядра, только меньше

Суббота, 30 Апрель 2011

image
Привет Хабражители,
Спешу рассказать Вам о новости, которая наверняка заинтересует любителей нетбуков и планшетов. По заявлениям Intel, следующее поколение чипов Atom появится на рынке в 4-ом квартале 2011 года. Кодовое название платформы «Cedar Trail», базироваться она будет на чипе, созданном по 32-нм техпроцессу.

Windows Phone / [Перевод] Создание приложения для Windows Phone 7 от начала до конца. Часть 12. Изолированное хранилище: сохранение и загрузка данных

Суббота, 30 Апрель 2011

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

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

В этой части вы узнаете:

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

Разработка под Android / Особенности синхронизации в Android-приложении

Суббота, 30 Апрель 2011



При разработке многих Android-приложений требуется организовать процесс синхронизации данных с данными на сервере. Есть два основных способа как данную синхронизацию можно реализовать.
Первый способ — классический (наиболее популярный и наиболее простой) — с помощью AlarmManager и Service. Например, как описано в этой статье.
Второй способ — «правильный» (но пока что, видимо, редко кем используемый) — с помощью SyncAdapter.

Разрабатывая своё приложение, изначально я попытался реализовать «правильный» (т.е. второй способ).

DIY или Сделай Сам / Айтишный сувенир на память своими руками

Суббота, 30 Апрель 2011

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

Об одном из таких подарков, изображенным на фото справа, и будет сей рассказ.

В основе этой затеи лежит идея сделать образ танцующей пары из светодиодов и резисторов. Но идея была бы не столь интересной если бы танцующие человечки не мигали азбукой Морзе заданные фразы, если бы это мигание не было бы видно только через камеру вашего мобильного телефона а не простым, невооруженным взглядом, и если бы они символично не перемигивались только крепко держась за руки.

Cхема, код прошивки и комментарии под хабракатом.

Android / Texty: приём/отправка SMS из браузера Chrome (закрытая бета)

Суббота, 30 Апрель 2011

Отличное расширение Texty синхронизирует ваш Android-телефон и браузер Chrome под единым Google-аккаунтом, так что вы можете отправлять и принимать SMS на свой номер прямо из браузера ПК.

В браузере нужно поставить расширение, а на телефоне — приложение из Android Market.

Календарь
Апрель 2011
Пн Вт Ср Чт Пт Сб Вс
« Мар   Май »
 123
45678910
11121314151617
18192021222324
252627282930  
Архивы