Робоче середовище Ruby on Rails програміста

Для плідної роботи 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.

Налаштовуємо локаль

База даних (PostgresSql)

Інсталяція

Налаштування аутентифікації знаходятся у файлі /etc/postgresql/9.3/main/pg_hba.conf

Цей рядок говорить про те, що користувач Postgres може підключатися до будь-якій базі даних локальної СУБД PostgreSQL через сокет(налаштування за змовчанням). Пароль при цьому вводити не потрібно, операційна система передасть ім'я користувача, і воно буде використано для аутентифікації.

Підключення до БД:

Щоб мати можливість підключатися по мережі, потрібно в pg_hdba.conf додати рядок:

Також редагуємо рядок до такого виду

що дасть можливість локально підключатися по логіну та паролю

Метод аутентифікації MD5 означає, що для підключення доведеться ввести пароль.

Створення нового користувача/бази/права PostgreSQL

Якщо користувач є власником (owner) бази даних, то у нього є всі права. Але якщо ви хочете дати доступ іншому користувачеві, то зробити це можна за допомогою команди GRANT. Запит нижче дозволить користувачеві підключатися до бази даних. Але не забувайте про конфігураційному файлі pg_hba.conf, в ньому теж повинні бути відповідні дозволи на підключення.

Dump/Restore

Виконання дампу БД mybd у файл

Виконання restore

або

PgAdmin

Інсталяція менеджера PostgreSQL'я

шкода що немає EMS manager'а під Linux, кращого я не бачив

У мене є проекти на MySql, тому інсталюємо:

Інсталюємо Ruby за допомою rbenv

Для зручності добавляємо аліаси команд в ~/.bashrc

Добавляємо можливість бачити назву текучого branch'у в запрошені консолі

Інсталюємо Sublime text 3

Інсталяція Package control (нажимаємо ctrl + ` та вставляємо взяте з сайту)

 

Корисні налаштування Sublime text 3

Біндимо комбінацію alt+shift+r для форматування коду

Preferences -> Key Bindings – Default

Два пробіля замість табуляції

Preferences → Settings User
{

Корисні інструменти

wwwsqldesigner прототипування БД

Cacoo онлайнінструменту для створення прототипу інтерфейсу

ScreenCloud

Sqliteman

Spree: send email notification when order completed

Чи то я сліпий вже такий, чи то старість, а може воно є, а я його не знайшов, але така базова річ як сповіщення адміністратора(відповідальної особи) на email в інтернет магазині при створенні нового замовлення мала б бути да хоть гвіздями вбита в код. Але в Spree не бачу і шо тут скажеш….

Приклад реалізації в одному з проектів на Spree: сповіщення усіх юзерів хто має роль адміністратора на email після створення замовлення

 

Continue reading

jQuery Validation Plugin on Rails

Приклад використання валідації на стороні клієнта за допомогою плагіна jQuery Validation в Rails

Gemfile

app/assets/javascripts/application.js

 

Як забрати label() у radio buttons

Чесно, я не читав доку і не розбирався які параметри передати блоку до collection_radio_buttons, але щоб прибрати label для radio button достатньо пердати

Приклад

 

 

 

Adding a custom seed file

First create folder db/seeds

Then, create a custom task by adding a rakefile to your lib/tasks directory

You can execute the rake task by issuing the following from the command line:

 

Закриття html тегів

В одному з проектів поїхала html-розмітка. Як виявилось, в адмінці був добавлений опис і не закритий тег, проблему вирішити можна так:

 

Робота з Facebook.com

Для роботи з контентом соціальної мережі Facebook.com використовуємо API Graph

API Graph – це основний інструмент для отримання і введення даних в платформу Facebook. Це низькорівневий API на основі HTTP, за допомогою якого можна програмно запитувати дані, створювати публікації, управляти рекламою, завантажувати фото і виконувати безліч інших завдань в додатку.
 
 
API Graph Explorer – зручний web-інструмент для роботи API Graph
 
Для прикладу, нам потрібно отримати відгуки для певної сторінки на Facebook. Для цього нам потрібний токен сторінки, який дасть можливість працювати з контентом сторінки.
 
В API Graph Explorer отримуємо маркер доступу користувача
 
 
 
Далі переглядаємо усі наші сторінки ( me/accounts ), тут відразу бачимо id сторінки та її токен (access_token)
 
 
Використовуємо gem koala для роботи з контеном
 
 
Джерела: 1
p.s. Токен доступу виявився короткотривалий. Про час життя маркеру тут