Для плідної роботи Ruby-програміста, одного знання мови програмування не є достатнім. Потрібно мати ПК, встановлену ОС Linux та налаштоване середовище. Якщо ви працюєте за одним робочим місцем, то тут все досить просто – інсталюємо, налаштовуємо. Мені часто приходиться працювати за різними ПК, варіант на кожному ПК ставити Linux відпадає одразу, також налаштування середовища можливе, але затратно по часу. Тому я вибрав варіант віддаленого робочого столу.
Інсталяція ОС
Я інсталював у віртуалку(KVM) Xubuntu 17.04 64x офіційний варіант дистрибутиву Ubuntu, котрий в якості робочого середовища використовує xfce. Згідно wikipedia Xubuntu призначено для малопотужних комп'ютерів, або для тих, хто бажає отримати більшу швидкодію і використовує здебільшого застосунки GTK+.
Віддалений робочий стіл на XRDP
Згідно вікіпедії, RDP-протол, це протокол прикладного рівня, що використовується для забезпечення віддаленої роботи користувача із сервером, на котрому запущений сервіс термінальних з'єднань. Клієнти існують практично для всіх версій Windows (включаючи Windows CE та Mobile), Linux, FreeBSD, Mac OS X. За замовчанням, використовується порт TCP 3389. Офіційна назва Майкрософт для клієнтського ПЗ — Remote Desktop Connection або Terminal Services Client (TSC), зокрема, клієнт у Windows XP/2003/Vista називається mstsc.exe.
1 2 |
sudo apt-get update sudo apt-get install xrdp |
База даних (PostgresSql)
Інсталяція
1 2 |
sudo apt-get update sudo apt-get install postgresql postgresql-contrib libpq-dev |
Налаштування аутентифікації знаходятся у файлі /etc/postgresql/9.3/main/pg_hba.conf
1 2 |
# TYPE DATABASE USER ADDRESS METHOD local all postgres peer |
Цей рядок говорить про те, що користувач Postgres може підключатися до будь-якій базі даних локальної СУБД PostgreSQL через сокет(налаштування за змовчанням). Пароль при цьому вводити не потрібно, операційна система передасть ім'я користувача, і воно буде використано для аутентифікації.
Підключення до БД:
1 |
sudo -u postgres psql postgres postgres |
Щоб мати можливість підключатися по мережі, потрібно в pg_hdba.conf додати рядок:
1 2 |
# TYPE DATABASE USER ADDRESS METHOD hostssl all all 0.0.0.0/0 md5 |
Також редагуємо рядок до такого виду
1 |
local all all md5 |
що дасть можливість локально підключатися по логіну та паролю
Метод аутентифікації MD5 означає, що для підключення доведеться ввести пароль.
Створення нового користувача/бази/права PostgreSQL
1 2 3 |
CREATE USER username WITH password 'password'; alter role username superuser createrole createdb replication; CREATE DATABASE dbname OWNER username; |
Якщо користувач є власником (owner) бази даних, то у нього є всі права. Але якщо ви хочете дати доступ іншому користувачеві, то зробити це можна за допомогою команди GRANT. Запит нижче дозволить користувачеві підключатися до бази даних. Але не забувайте про конфігураційному файлі pg_hba.conf, в ньому теж повинні бути відповідні дозволи на підключення.
1 |
GRANT CONNECT ON DATABASE dbname TO dbadmin; |
Dump/Restore
Виконання дампу БД mybd у файл
1 |
pg_dump -U username -W mybd > mybd.pgsql.backup |
Виконання restore
1 |
pg_restore -d dbname filename |
або
1 |
cat pg_all.sql | sudo -u postgres psql |
PgAdmin
Інсталяція менеджера PostgreSQL'я
1 |
sudo apt-get install pgadmin3 |
шкода що немає EMS manager'а під Linux, кращого я не бачив
У мене є проекти на MySql, тому інсталюємо:
1 2 3 |
sudo apt-get install mysql-server mysql-client libmysqlclient-dev sudo mysql_install_db sudo mysql_secure_installation |
Інсталюємо Ruby за допомою rbenv
Для зручності добавляємо аліаси команд в ~/.bashrc
1 2 3 4 5 6 7 8 |
alias gl='git log ' alias gs='git status ' alias ga='git add ' alias gc='git commit ' alias gco='git checkout ' alias gm='git merge ' alias gb='git branch ' |
Добавляємо можливість бачити назву текучого branch'у в запрошені консолі
1 2 3 4 5 6 7 8 9 10 |
# Add git branch if its present to PS1 parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' } if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ ' fi unset color_prompt force_color_prompt |
1 2 3 4 5 |
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list sudo apt-get update sudo apt-get install sublime-text |
Інсталяція Package control (нажимаємо ctrl + ` та вставляємо взяте з сайту)
Корисні налаштування Sublime text 3
Біндимо комбінацію alt+shift+r для форматування коду
Preferences -> Key Bindings – Default
1 |
{ "keys": ["alt+shift+r"], "command": "reindent" , "args": { "single_line": false } }, |
Два пробіля замість табуляції
Preferences → Settings User
{
1 2 3 |
"tab_size": 2, "translate_tabs_to_spaces": true |
Корисні інструменти
wwwsqldesigner прототипування БД
Cacoo онлайнінструменту для створення прототипу інтерфейсу
Sqliteman