2016-03-26 13:42:13

Установка расширений PHP в Mac OS X

В мемориз PHP Mac OS

Как известно, в Mac OS X уже есть и apache и PHP, но что делать если требуется добавить какое-либо расширение в PHP? Можно, конечно, воспользоваться brew и получить еще одну параллельную версию PHP, а потом мучиться с ее настройкой, ради одного расширения. Я же опишу более правильный путь - собрать расширение для уже имеющегося в системе PHP.

Читать дальше...

2016-03-25 23:28:12

Исправляем поведение Home и End на клавиатуре в Mac OS X

В мемориз Mac OS

Подключив внешнюю клавиатуру к своему MacBook Air сразу стало заметно непривычное поведение клавиш Home и End: они переводили курсор в самое начало конец документа, а не текущей строки. Для меня это оказалось крайне неудобно, если на клавиатуре ноутбука это не особо заметно, то на внешней полноразмерной стало сильно раздражать.

Решение нашлось быстро по ссылке http://www.evansweb.info/2005/03/24/mac-os-x-and-home-end-keys/, благо я не один такой, кому это мешает :)

Идем и создаем (или правим) файл

~/Library/KeyBindings/DefaultKeyBinding.dict

В нем пишем:

{
    /* Remap Home / End to be correct :-) */
    "\UF729"  = "moveToBeginningOfLine:"; /* Home */
    "\UF72B"  = "moveToEndOfLine:"; /* End */
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
    "$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End  */
}

Если в файле уже что-то было, то добавляем 4 строки по аналогии с тем что написано выше.

Логофимся и получаем правильную привычную работу клавиш Home и End.

2016-03-21 17:09:42

Промышленная модель разработки средствами GIT

Про работу Linux Git

Итак, у нас для начала уже есть сервер на котором настроен gitolite по адресу git.example.com, на нем расположен репозиторий myrepo в котором есть две основные ветки master и develop.

Общий принцип разработки такой:

  1. При необходимости что-то доработать разработчик создает новую ветку из актуального состояния master
  2. Делает в ней доработку и вливает ветку в develop
  3. Проводится тестирование и если все хорошо, то ветка с доработкой вливается в master

Задача заключается в том, чтоб при изменениях в ветке develop они автоматически переносились в рабочую копию на хост develop.example.com, а изменения сделанные в master - на хост production.example.com.

Читать дальше...

2016-02-18 19:44:58

Раскрашиваем MC на удаленном сервере

В мемориз Linux

Переехав на Elementary OS, столкнулся с тем, что в ее родном терминале штатный раскас mc крайне не читабелен. Озадачившись вопросом смены окраса накопал следующие полезные вещи:

MC умеет скины и они у него есть в комплекте, хранятся в

/usr/share/mc/skins

Попробовать скин можно коммандой

mc -S skinname

Скины бывают обычные и высококачественные, для 256 цветов, например мне полюбился xoria256 (на картинке выше), который и захотелось использовать везде. Везде - это везде куда я прихожу по ssh.

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

Читать дальше...

2016-02-11 16:10:14

Настраиваем сервер gitolite и клиента на Mac OS

Linux Git Mac OS

В качестве возможности провести свободное время, расскажу свой опыт настройки сервера gitolite на Linux машине и организовать работу клиента на Mac OS :)

На старте у нас имеется сервер под управлением CentOS, который будет выступать хостингом репозиториев; и клиент на Mac OS Yosemite, который будет с ним работать.

Подготовительный этап

Для самого начала нам потребуются ssh ключи. На любой машине генерим приватный и публичный ключ командой

ssh-keygen -t rsa

После этого будет создана пара ключей 

~/.ssh/id_rsa.pub
и
~/.ssh/id_rsa

Эти ключи будут использоваться для администратора gitolite, но их так же можно использовать и для себя в качестве клиента, поэтому можно создавать их и на клиентской машине. Далее я буду рассматривать ситуацию когда эти ключи используются как для админа так и для клиента, поэтому приватный ключ должен оказаться на клиентской машине, например в файле ~/.ssh/git, а публичный - на сервере в файле /tmp/git.pub.

Важное замечание, если вы генерите non-openssh public keys, например, при помощи PuTTY gen, то для использования в gitolite публичный ключ придется конвертировать командой

ssh-keygen -i -f /tmp/ssh2/YourName.ppk > /tmp/openssh/YourName.pub

Это типичная проблема при использовании, например, TurtoiseGit на windows, когда для того чтоб он принял ключ он должен быть в формате *.ppk, а на сервере - в фомате openssh.

Читать дальше...