Архив за Октябрь 2010
GMT, UTC etc.
Я не буду заниматься копированием букв о том, что такое время по Гринвичу (GMT), всемирное координированное время (UTC) всё это можно самому посмотреть в
С этими вещами приходится сталкиваться в проектах, ориентированных на международное использование. Нахождение пользователей в разных часовых поясах заставляет особое внимание уделять timezone-арифметике. Иначе ответственный за выполнение задачи в Австралии обнаружит, что он должен был выполнить только что созданную в Америке задачу часов 16 назад.
Так вот, главное в этом деле — не забывать о переходе на летнее время. Я, например, привык думать, что у нас в Украине UTC +2. Но сейчас-то мы на летнем времени, поэтому считать всё нужно, как UTC +3. А в Москве — UTC +4.
Вот перейдём послезавтра на зимнее время, тогда и будет +2.
P.S. Есть хорошая новость: сутки становятся каждые 2—3 года на секунду длиннее, это хорошо. Как-то легче морально.
К теме об Xcode
Я уже писал о том, что мне не хватает дублирования строк в Xcode и потом всё-таки сделал себе такую фишку. Заодно познакомился с
Скрипт оказался простым:
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, по принципу "передвинуть курсор на начало строки", "выделить всю строку", "переместить курсор на строку ниже", "вставить", но это тоже плохой вариант, т.к. у меня-то в буфере лежит другой нужный текст, а после этого он теряется.
Нормального дублирования так пока и не сделал.