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.

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

2016-02-09 15:28:52

Установка Oracle Client на Mac OS

PHP Oracle Mac OS

В продолжение темы про установку Oracle Client на Windows расскажу про свой опыт установки аналогичной связки для Mac OS.

На старте имеем Mac OS X 10.10 Yosemite в которой уже работает штатный web сервер apache и php 5.4. Цель первая - получить рабочий Oracle Client, иметь возможность работать с Oracle через Toad (да да, для мака есть тоад, и он бесплатный). Цель вторая - иметь возможность работать с Oracle из PHP.

Для начала качаем Oracle Instant Client для Mac OS с сайта oracle.com (там нужно регистрироваться):

  • instantclient-basic-macos.x64-11.2.0.4.0.zip (обязательно)
  • instantclient-sqlplus-macos.x64-11.2.0.4.0.zip (если хотим проверить, а тоад ставить нет планов)
  • instantclient-sdk-macos.x64-11.2.0.4.0.zip (если планируем использовать в PHP)

* я для себя выбрал 11-ю версию для того чтоб иметь возможность работы со старыми БД, например 9-й версии.

Распаковываем содержимое архивов в удобное место, для меня это /Library/Oracle. Возможны и другие варианты, но для меня более логично показалось так, далее все описания будут производиться относительно этого пути.

В результате получаем вот такую структуру папок:

/Library/Oracle/instantclient_11_2
/Library/Oracle/instantclient_11_2/sdk (если решили с SDK)

Далее создаем линки:

cd /Library/Oracle/instantclient_11_2
ln -s libclntsh.dylib.11.1 libclntsh.dylib
ln -s libocci.dylib.11.1 libocci.dylib.dylib

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

2015-03-25 22:27:00

Дурацкие картинки

Юмор

Их просто надо было деть куда-то с рабочего стола :)

2015-02-27 12:50:05

Пара слов про составные индексы в MySQL

Про работу MySQL

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

Выжимка эта подразумевает, что читатель уже хорошо знаком с MySQL и понимает что такое индексы и зачем они нужны, если нет - то читайте оригинальную статью, там все по полочкам разложено с самого начала.

Устройство составного индекса

Таблица для примера:

id | name   | age | gender
1 | Den | 29 | male
2 | Alyona | 15 | female
3 | Putin | 89 | tsar
4 | Petro | 12 | male 

значения составного индекса будут такими:

age_gender
12male
15female
29male
89tsar 

Очередность колонок в индексе играет большую роль. Обычно колонки, которые используются в условиях WHERE, следует ставить в начало индекса. Колонки из ORDER BY — в конец.

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

2015-02-11 00:08:33

Miranda shell extension заваливает проводник Windows 7

Windows Miranda

Не так давно заметил что при клике правой кнопкой на любой папке или файле стал частенько закрываться с ошибкой проводник windows.

Для поиска виновника отлично подошла утилита ShellExView которая показывает все расширения оболочки. Отсортировав список по столбцу type и изучив то, что относится к контекстному меню появилось несколько кандидатов. Поочередно отключая которые выяснилось что виновник - это плагин от Miranda NG.

Файл shlext.dll версия 2.2.0.3
Описание Интеграция Miranda NG в контекстное меню оболочки ОС.
Уникальный ID на всякий случай {7993ab24-1fda-428c-a89b-be377a10be3a}

Отключив его в ShellExView и в миранде проблема ушла. Надеюсь рано или поздно разработчики этого плагина поправят проблему, а пока мой способ кому-то поможет :)