Архив за Октябрь 2010

GMT, UTC etc.

Я не буду заниматься копированием букв о том, что такое время по Гринвичу (GMT), всемирное координированное время (UTC) всё это можно самому посмотреть в интернетах.

С этими вещами приходится сталкиваться в проектах, ориентированных на международное использование. Нахождение пользователей в разных часовых поясах заставляет особое внимание уделять timezone-арифметике. Иначе ответственный за выполнение задачи в Австралии обнаружит, что он должен был выполнить только что созданную в Америке задачу часов 16 назад.

Так вот, главное в этом деле — не забывать о переходе на летнее время. Я, например, привык думать, что у нас в Украине UTC +2. Но сейчас-то мы на летнем времени, поэтому считать всё нужно, как UTC +3. А в Москве — UTC +4.

Вот перейдём послезавтра на зимнее время, тогда и будет +2.

P.S. Есть хорошая новость: сутки становятся каждые 2—3 года на секунду длиннее, это хорошо. Как-то легче морально.

К теме об Xcode

Я уже писал о том, что мне не хватает дублирования строк в Xcode и потом всё-таки сделал себе такую фишку. Заодно познакомился с AppleSript, я люблю такие штуки.

Скрипт оказался простым:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(*
Duplicates a line of code (no need to select it) or several lines selected.
Pavel Malinnikov, malinnikov.ru
*)


using terms from application "Xcode"
   
    tell first text document
       
        set {startLine, endLine} to selected paragraph range
        set theText to (paragraphs startLine through endLine)
        set theText to (theText as string)
        make new paragraph at beginning of paragraph (endLine + 1) with data theText
       
    end tell
   
end using terms from

Для дублирования необязательно выделять всю строку, используется та, на которой находится каретка. Но можно выделить и несколько строк, они тоже сдублируются, не затирая содержимое клипборда. Добавил скрипт в Xcode, повесил на ⌘D и кодить стало легче.

Читать полностью »

Привык к Маку

Напряжённо работаю над проектом одного сервиса, в частности над клиентом под iPad. Несколько месяцев безвылазно сижу в Xcode на маке, сегодня сел за свой компьютер, ощутил недоумение в управлении окнами.

Xcode — простецкий на первый взгляд редактор, потрясает своими скрытыми фишками, которые спрятаны где-нибудь глубоко в настройках или которые можно наблюдать только в дебрях отладчика. Он хоть и из другой вселенной, но представляет собой явление, не уступающее по значимости визуалстудии.

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

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

Второй вариант — при помощи внутренних команд Xcode, по принципу "передвинуть курсор на начало строки", "выделить всю строку", "переместить курсор на строку ниже", "вставить", но это тоже плохой вариант, т.к. у меня-то в буфере лежит другой нужный текст, а после этого он теряется.

Нормального дублирования так пока и не сделал.

19.10.2010 • Метки: , , • Рубрики: Дневник • Комментариев: 2