Сегодня в Долгопрудном была замечена машина, подозрительно похожая на те, которые снимают улицы для Google Street View (с такой вот камерой). Ура?
Архив за Июнь 2008
Соответственно, чтобы использовать BlogJet, пользователям придется включать API.
Мы с Даниэлем Джалкутом ругаемся по этому поводу в своих блогах.
Ненавижу какао, на самом деле.
В этой серии заметок я буду хвастаться прелестями Cocoa, чтобы вы, веб- виндоус- линукс- девелоперы завидовали, а непрограммисты еще раз подумали, зачем же они подписаны на мой блог.
Сегодня, дорогие ребята, мы поговорим о многопоточности... дурацкое слово... о мультитредности. Все знают, как сложно писать мультитредные программы. Сихронизация, управление тредами и т.п.
Пример: вам нужно сделать какие-нибудь более-менее долгие манипуляции с сотней объектов. Чтобы не заставлять пользователя ждать пока операция завершится — пускай себе дальше в интерфейсе копается — нам надо запустить эти манипуляции в отдельном треде. Окей, но что если у юзера многоядерный процессор? Например, четыре ядра. Чтобы ускорить манипуляции, нужно создать не один тред, скажем, три или четыре — пусть компьютер работает на полную мощность! А если у пользователя 100 ядер? Блин, придется либо забить на все это дело и сделать один-два-три-четыре треда, либо узнавать количество ядер и кодить какую-нибудь штуку, которая запускала бы нужное количество тредов.
Добро пожаловать в Cocoa! Здесь есть классы
NSOperation и NSOperationQueue (начиная с Mac OS X 10.5). Делаем подкласс NSOperation, в котором описываем нужную операцию, создаем 100 экземпляров этого класса, а потом просто ставим их всех в очередь — добавляем в NSOperationQueue. Все! Дальше Cocoa при участии ядра операционки само решит сколько тредов нужно создавать, когда их запускать, и какое количество запустить одновременно, учитывая особенности компьютера и его текущую загруженность. Ахххх, какое удовольствие! (Кстати, если нужны какие-нибудь зависимости, например, одна операция не может сработать пока не закончится другая — пожалуйста, и это тоже можно).
Вот так. Cocoa FTW. Давайте, теперь оправдывайтесь.
Я уже писал, что в моем MacBook Air сломалась батарейка? А, не, я писал про то, что батарейки сломались в MacBook Pro и MacBook. Так вот, она сломалась и в MacBook Air. Вдруг резко заряда стало показываться на 10 минут и меньше. После молитвы и прикладывания лапы кошки к компьютеру, батарейки стало хватать на 10 часов и больше (по показаниям компа, на самом деле — обычные часа три). Потом — 40 минут.
Сейчас ноутбук в ремонте.
Пользуясь случаем, хочу передать привет Стиву Джобсу!
Вы не забыли какой сегодня день? 17 июня! А это, если вы не помните, день, когда мы установим рекорд Гиннеса по самому большому количеству загрузок одной программы — браузера Safari 3.
Скачать его можно тут. Присоединяйтесь к акции!
P.S. Линуксятникам предлагается собрать Epiphany
P.S. Линуксятникам предлагается собрать Epiphany --with-engine=webkit.
Интернеты опять обнаружили речь Стива Джобса:
Вчера на sellme.ru зашло более 6500 человеков.
А позавчера мир узнал новое имя .Mac:
И blog.codingrobots.com вот такими реферрерами разжился:
Кстати, 1200 с daringfireball, тем более с целых двух ссылок — это очень мало. В прошлый раз было около 9000, насколько помню.
Вчера на sellme.ru зашло более 6500 человеков.
А позавчера мир узнал новое имя .Mac:
И blog.codingrobots.com вот такими реферрерами разжился:
Кстати, 1200 с daringfireball, тем более с целых двух ссылок — это очень мало. В прошлый раз было около 9000, насколько помню.