SVN в Windows

Я решил начать использовать SVN на локальной машине для управления версиями своих Windows-приложений. На эту тему написано уже немало статей, но я сделал не так, как в них написано. Прочитал 2-3 статьи на русском языке и пару статей на английском. Ничего не получалось, тогда я нашел ответ, в котором писалось про VisualSVN. Все у меня получилось с ним и хочу поделиться тем, как. Я не пишу здесь про основы SVN, о том, что это, что такое рабочая копия и т.д. Лучше со всем этим предварительно ознакомиться, чтобы не делать без понимания.

Итак, опишу по шагам, что нужно сделать, чтобы настроить SVN на своем компьютере.

  1. Скачиваем и устанавливаем VisualSVN – это серверная часть
  2. Скачиваем и устанавливаем TortoiseSVN – клиентская часть
  3. Запускаем VisualSVN. Нажимаем правой кнопкой на Repositories и выбираем Create New Repository. Если рисунок не понятен, просто кликните на нем и он откроется в увеличенном виде.
  4. Даем название, ставим галочку и копируем куда-нибудь в блокнот URL. Он нам дальше пригодится. Можно и не копировать, есть специальная функция, которая затем нам этот URL будет возвращать. Если порт 443 занят, используем 8443. Это TCP порт HTTPS по умолчанию.
  5. Находим папку с нашим проектом, который мы хотим импортировать в репозиторий. Нажимаем правой кнопкой на нем, выбираем TortoiseSVN->Import и указываем для импорта URL репозитория, который мы сохранили при его создании. Если не сохранили, то идем в репозиторий, нажимаем правой кнопкой на нем в VisualSVN и выбираем Copy URL to ClipBoard. После вставки URL в TortoiseSVN нажимаем Ok. Произошел импорт проекта в репозиторий. При этом может потребоваться создание пользователя. Соглашаемся и создаем его с паролем.
  6. Теперь нужно скопировать рабочую копию из репозитория. Создаем папку для рабочей копии. Нажимаем на ней правой кнопкой и выбираем SVN Checkout. Указываем URL репозитория.
  7. Затем после разработки и доработки точно так же делаем Commit. Если какие-то файлы были удалены или добавлены – тут чуть сложнее. Просто нажимаем правой кнопкой на рабочую копию проекта, выбираем Tortoise SVN->Check for modifications. Далее нажимаем правой кнопкой на соответствующие файлы и выбираем либо Delete, либо Add. После чего делаем Commit.
  8. Если в браузере ввести URL репозитория, можно увидеть, что в нем есть.

Решение о том, что можно использовать Visual SVN нашел здесь.

Использование переменных в Терминале Mac OS X (Bash)

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

Создать переменную окружения прямо в Терминале можно следующим образом:

Главное – не оставить пробелы вокруг знака равно. Знак доллара дополнительный не нужен, тот, что здесь отображен – это приглашение Терминала. Теперь эту переменную можно использовать в командах, например, SVN:

Отображаем значение переменной

Используем в svn checkout

Таким образом, мы переносим из MooreaFolder на рабочий стол рабочую копию проекта. Обращаем внимание на то, что перед именем переменной должен стоять знак доллара ($).

Это все конечно хорошо, а что если нам нужно, чтобы переменная сохранилась и при перезапуске Терминала можно было ей всегда пользоваться? Для этого ее нужно прописать в скрипте автозапуска bash_profile.

Открываем скрипт:

Добавляем в него строку

Подробнее о работе с Vim и об этом скрипте можно почитать здесь

Перезапускаем скрипт вручную, чтобы изменения вошли в силу:

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

О папке drawable в проекте Android приложения

Есть два аспекта, которые нужно учитывать при работе с папкой drawable в проекте Android приложения: иерархия файлов и их названия.

Иерархия файлов
К сожалению, в папке drawable нельзя создавать папки, чтобы упорядочивать xml и png файлы. К примеру, следующая иерархия давала сбой:

Это привело к тому, что не сгенерировался файл R.java и к соответствующим ошибкам. Таким образом, все файлы должны иметь плоскую иерархию в данной папке.

Это активно обсуждается здесь:
http://stackoverflow.com/questions/1077357/can-the-android-drawable-directory-contain-subdirectories

Разработчики надеются, что Google исправит это в следующей версии Android SDK.

Названия файлов
Названия всех файлов должны быть разными, даже если они разных типов – png и xml.
Например, если у вас есть файл ic_tab_menu.xml, то не должно быть файла ic_tab_menu.png.

Препятствия на пути познания

Препятствия на пути познания по Бэкону:

Фрэнсис Бэкон разделил источники человеческих ошибок, стоящих на пути познания, на четыре группы, которые он назвал «идолами», (лат. idola). Это «идолы рода», «идолы пещеры», «идолы площади» и «идолы театра».

«Идолы рода» проистекают из самой человеческой природы, они не зависят ни от культуры, ни от индивидуальности человека. «Ум человека уподобляется неровному зеркалу, которое, примешивая к природе вещей свою природу, отражает вещи в искривлённом и обезображенном виде».

«Идолы пещеры» — это индивидуальные ошибки восприятия, как врожденные, так и приобретённые. «Ведь у каждого помимо ошибок, свойственных роду человеческому, есть своя особая пещера, которая ослабляет и искажает свет природы».

«Идолы площади (рынка)» — следствие общественной природы человека, — общения и использования в общении языка. «Люди объединяются речью. Слова же устанавливаются сообразно разумению толпы. Поэтому плохое и нелепое установление слов удивительным образом осаждает разум».

«Идолы театра» — это усваиваемые человеком от других людей ложные представления об устройстве действительности. «При этом мы разумеем здесь не только общие философские учения, но и многочисленные начала и аксиомы наук, которые получили силу вследствие предания, веры и беззаботности».

Горячие клавиши Eclipse Helios

Полезные, часто используемые и интересные горячие клавиши Eclipse:

Cmd+O – открывает так называемый Outline, то есть список всех методов, постоянных и классов. Причем курсор размещается сразу в строке поиска – Вы можете начать вводить букву f и получите отфильтрованный список всего на эту букву. Затем нажав на элемент списка можете перейти куда Вам нужно. Если еще раз нажать это сочетание, то Вы получите список всех вложенных членов классов или методов.

Cmd+T – аналогичным образом показывает иерархию типов. Что интересно, можно нажать на кнопку справа вверху в этом окне и переместить его используя функцию Move. Затем можно сохранить точно так же положение этого окна и оно будет всегда показываться там, где Вам удобно с тем размером, который Вам нравится.

Cmd+Shift+O – добавляет все используемые недостающие библиотеки автоматически, то есть дописывает все необходимые import строки.

Cmd+Shift+L – просмотр горячих клавиш. Повторное нажатие открывает настройки горячих клавиш.

Debug and Run:

fn+Cmd+F11 – Debug

fn+Shift+Cmd+F11 – Run

fn+F8 – Resume (продолжить дебаггинг)

fn+F5 – Step Into

fn+F6 – Stop Out

fn+Cmd+F2 – Terminate

Text Editing:

Cmd+D – Удалить строку

Cmd+I – Поправить Intendation

Cmd+/ – Закомментировать строку (при этом можно закомментировать несколько строк так же)

Cmd+Shift+/ – Убрать комментирование строки

Cmd+\ – Закомментировать блок

Cmd+Shift+\ – Убрать комментирование блока

Shift+Cmd+S – Сохранить все

Cmd+1 – Быстрое исправление (магическое заклинание – предлагает свои варианты для исправления)

Cmd+F – Find&Replace

Cmd+K – Find Next (диалоговое окно Find при этом должно быть закрыто)

Настройка Eclipse: изменение шрифтов и горячих клавиш

Начал учиться разрабатывать под Android на Eclipse, который кстати поставил под Mac OS X. И кстати, для этого дела нужно ставить не первый попавшийся Eclipse, а именно Eclipse Helios, что я к сожалению узнал только по опыту. Eclipse меня мало радовал после привычного XCode.

По умолчанию настройки Eclipse не такие крутые, как хотелось бы: код в Eclipse пишется шрифтом 11(!), а брейкпоинты ставятся через Cmd+Shift+B по умолчанию(попробуйте так пальцы разместить на клавиатуре – у Вас мизинец начнет болеть через 5 минут). К счастью, Eclipse гибкий и легко настраивается.

Изменение шрифта

Сначала я думал, что для изменения шрифтов нужно закачать где-то тему и импортировать ее. При этом темы других разработчиков, которые я нашел, мне не нравились. Я хотел просто увеличить размер шрифта с 11 на что-нибудь получше. Оказалось, что есть одна настройка, которая изменяет размер шрифта во всем коде.

Итак, нажимаем Eclipse -> Настройки (или Cmd + ,). Далее раскрываем General и раскрываем Appearance. Нажимаем Colors and Fonts. Затем справа раскрываем список Basic и выделяем элемент Text Font:

Редактируем через кнопку Edit…. Лично я увеличил размер до 20. И теперь у меня Java код выглядит так:

Изменение горячих клавиш

Это существенно сэкономит Вам время и сбережет Ваши пальцы от нажатия плохих сочетаний. Чтобы изменить горячую клавишу, нужно по аналогии выбрать Keys(отмечено красным на первом рисунке, который можно увеличить, просто щелкнув по нему) Далее поменять, скажем, Shift+Cmd+B на Alt+B для брейкпоинтов. И кстати, здесь же можно узнать, какие сочетания клавиш можно использовать для других функций.

Просмотр горячих клавиш
Горячие клавиши как заклинания. Нужно знать их сочетания, но не всегда помнишь их, поэтому в Eclipse есть маленькая фишечка. Нажмите в любом месте Cmd+Shift+L и вы получите список горячих клавиш. Чтобы закрыть этот список просто щелкните на любое место в среде разработки или нажмите Esc. Повторное нажатие этого сочетания при открытом списке приведет Вас сразу к настройкам горячих клавиш, что тоже удобно. Выглядит это так:

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