-rw-r--r-- 1.3K 28 авг. 2011 · 6D3A132 · ~1 мин

Canon 60D

canon 60d фото

Ура, купил новую тушку Canon 60D. Долго хотел купить 7D, но потом, стараниями @theproof и ещё пары людей выяснилось, что в 60D стоит такая же начинка, как в 7D - проц и матрица одинаковые, просто в 7D два процессора, что по идее влияет только на то, что он скорострельнее и больше кадров может сделать в серии. Под катом пара фоток, которые сделал по пути домой.

[↵] открыть пост canon-60d.md
-rw-r--r-- 7.0K 23 авг. 2011 · 897ADAD · ~4 мин

Работа с JSON (парсинг) в Objective-C при разработке под iOS

ios разработка json twitter

Ещё один пост, чтобы у самого в голове улеглось. Про работу с JSON в Objective-C на примере парсинга твитов из публичной ленты Twitter.

[↵] открыть пост rabota-s-json-parsing-v-objective-c-pri-razrabotke-pod-ios.md
-rw-r--r-- 1.4K 22 авг. 2011 · 1F09394 · ~1 мин

Обрезание слэша в url с 301 редиректом

php seo полезное

А собственно почему бы и не повесить этот тут, потом будет легко найти, когда опять понадобится. Зачастую поисковики воспринимают страницы вида

arm1.ru/blog/yandex-upal-panika-v-twitter

и

arm1.ru/blog/yandex-upal-panika-v-twitter/

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

<?php

# убираем QUERY_STRING строку из REQUEST_URI
$uri = $_SERVER['REQUEST_URI'];
if ( false === empty( $_SERVER['QUERY_STRING'] ) )
    $uri = str_replace( '?' . $_SERVER['QUERY_STRING'], '', $uri );
			
# переадресация через 301 редирект при присутствии слэша в конце $uri
if ( substr( $uri, -1 ) == '/' && strlen( $uri ) > 1 ) {
    $queryString = '';
    if ( false === empty( $_SERVER['QUERY_STRING'] ) )
        $queryString = '?' . $_SERVER['QUERY_STRING'];
 
    header( 'Location: ' . substr( $uri, 0, -1 ) . $queryString, true, 301 );
    exit;
}
[↵] открыть пост obrezanie-slesha-v-url-s-301-redirectom.md
-rw-r--r-- 6.1K 16 авг. 2011 · 457C13F · ~3 мин

Резюме встречи Apple Developers Community #7

ios продвижение приложений

Побывал сегодня на Apple Developers Community #7. Рассказывали про продвижение ios-приложений. По сути докладывались два человека - представитель компании Nevosoft, которая, похоже, на конвейере фигачит игры, и один инди-разработчик.

[↵] открыть пост resume-vstrechi-apple-developers-community-7.md
-rw-r--r-- 9.7K 15 авг. 2011 · 1827A84 · ~5 мин

Отправка сообщений в Twitter через php

php twitter скрипты

Давно хотел выложить свой простенький набор функций для отправки твитов в Twitter. Может кому полезно будет, т.к. мне не сразу всё далось, особенно формирование подписи. Плюс это моя попытка закрепить в голове то, что было познано и закодено. По-моему нет лучше способа это сделать, чем попытаться кому-то это объяснить :) Под катом описание и код.

[↵] открыть пост otpravka-soobsheniy-v-twitter-cherez-php.md
-rw-r--r-- 1.4K 28 июля 2011 · A8C1296 · ~1 мин

Проблемы с PUT при обновлении CouchDB до 1.1.0

couchdb траблы

Сегодня обновили на продакшн-сервере CouchDB до версии 1.1.0. Столкнулись с проблемой - PUT-запросы не работали, возвращали странную ошибку:

[error] => unknown_error
[reason] => function_clause

То есть мы не могли обновить ни один документ в БД, но при этом POST-запросы на создание новых документов вполне себе работали.

Выяснилось, что при обновлении CouchDB с младшей версии до 1.1.0 в системе остаётся две версии какого-то модуля (может быть это касается нескольких модулей) - старая, и новая. Эти две версии друг с другом конфликтуют.

Решение оказалось простым, хотя и довольно странным. Нужно найти в системе, где хранятся *.beam файлы (в нашем случае это /opt/couchdb), удалить их (если страшно - то можно переместить), после чего вернуться в папку с исходными кодами CouchDB и выполнить снова команду:

make install
[↵] открыть пост problemy-s-put-pri-obnovlenii-couchdb-do-110.md
makoni@arm1:~/blog$ cd ../page-36/ // ← предыдущая cd ./page-38/ // ещё посты →