Установка и настройка nginx + php-fpm на Ubuntu

Предполагается, что операционная система у вас уже установлена, сеть настроена, интернет шустрый, провайдер не жадный (качать будем много)…

Будем ставить всё из репозиториев, собирать в ручную мы ничего не будем.

1. Установка Nginx

Для начала добавим репозиторий проекта Nginx:

sudo vim /etc/apt/sources.list

Добавим туда, официальное зеркало Nginx, то в каком виде представлен данный пакет, отражает видение его разработчиков:

deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx

Далее скачаем GPG ключ:

Отсчёт времени на js, учитывая UTC

Шкалу времени UTC ввели взамен шкалы GMT ещё в 1972 году.

Для всех гражданских нужд сейчас используется именно шкала UTC, и часовые пояса обозначаются сдвигом относительно UTC: UTC+3, UTC+4. Шкала GMT уже никем не поддерживается. Все источники времени (хоть NTP-серверы в инете, хоть GPS-спутники, хоть наземные станции точного времени) сейчас поставляют время только в UTC. Использовать GMT вместо UTC уже давно неверно (ладно ещё в 70-х и 80-х годах прошлого века это делали по старой привычке, но в 21-м веке это уж совсем недопустимо). Тот факт, что в настройках времени Windows часовые пояса обозначены по непонятным причинам через GMT, — это фэйл их разработчиков и нарушение международных стандартов. Они почему-то тупили и исправили эту ситуацию только в Win7 и Win2008-R2 (там уже время обозначено через UTC).

Сделаем вывод текущего времени в браузере средствами js. Вывод времени должнен быть в real time. Если в операционной системе время настроено не верно, то и в браузере будет выводиться не верное время. Также будет указано смещение относительно времени сервера. Время сервера предварительно получаем с помощью php-функции date().

Простая обёртка для mysqli

Напишем простую обёртку для работы с mysqli.

Должен быть установлен единственный коннекшен с БД, т.е. реализован паттерн Singleton. Мы должны иметь возможность выполнять любые запросы и получать результат в удобной форме. 

Например, если мы извлекаем значение единственного поля, то нам НЕ нужно возвращать объект mysqli_result, объект ряда (пусть даже с единственным property), а нам нужно только одно значение. Для этого будут реализованы следующие функции:

  • select — выбирает любое количество рядов
  • selectRow — выбирает только один ряд
  • selectCol — выбирает значения только из определённого ряда и возвращает их
  • selectCell — выбирает только одно поле
  • query — для выполнения любых запросов, в том числе update

Окончания существительных при использовании их с числительными на php и js

В русском языке существительные с числительными могут быть в единственном и множественном числе: один арбуз, два арбуза, пять арбузов. Различные существительные при склонении имеют разные окончания. Но, при сопряжении с числительным, у существительного может быть всего 3 формы с различными окончаниями.

Нам нужно выводить в следующем виде:

  • 0 комментариев
  • 1 комментарий
  • 2 комментария
  • 3 комментария
  • ...
  • 6 комментариев
  • ...

Задача 1. Написать PHP-функцию, которая это реализует.

Задача 2. Написать JS-функцию, которая это реализует.

Приведение типов в JavaScript

Приведение типов может понадобиться, если нам нужно вернуть данные определённый типа. Банальный пример, нужно вернуть true, если элемент есть на странице, иначе false.

На jquery:

if($('#findID').length == 1))
    return true;
else
    return false;

Лично мне больше нравится вариант:

return toBoolean($('#findID').length);

 

Установка Memcached на Ubuntu для PHP и его использование в kohanaframework

Тут будет рассмотрена установка демона Memcached на систему c Ubuntu для его использования в php. А также использование memcache во фреймворке kohana.

Memcached (Memcache) - ПО, которое позволяет кэшировать данные в оперативной памяти сервера, на котором запущен демон memcached, и устанавливать время жизни кэша.

Для начала нужно установить службу Memcached:

sudo apt-get install memcached

По умолчанию, сервис Memcached запускается на порту 11211. Если захотите, порт можно изменить.

Установить php-расширение для работы с Memcache:

sudo apt-get install php5-memcache
 

Полезные горячие клавиши браузеров

Большинство браузеров по умолчанию поддерживают следующие комбинации:

 F5  - обновить браузер  
 ctrl + F5  (или ctrl + R ) - обновить страницу с очисткой кэша (смотря в каком браузере)   
 ctrl + T  - открыть новую пустую вкладку в браузере  
 ctrl + N  - открыть вкладку в новом окне (в другом экземпляре браузера) 
 ctrl + Shift + N — открыть браузер в режиме Инкогнито
 ctrl + L  - перейти к редактированию (установить фокус) адресной строки  
 ctrl + U  - открыть исходный HTML-код страницы
 ctrl + H  - посмотреть историю просмотренных страниц 
 ctrl + PageUp  - переместиться на одну вкладку вправо  
 ctrl + PageDown  - переместиться на одну вкладку влево  
 ctrl + F - поиск текста на странице 

 

Работаем с MySQL через командную строку

День добрый, друзья! :)

mysql -h 127.0.0.1 -u root -p  
  • h - хост базы данных, если коннектимся к локальной базе, этот параметр можно опустить
  • u - имя пользователя
  • p - пароль, его нужно будет ввести после нажатия enter

Сделать dump базы данных:

mysqldump -u [username] -p [password] [database] > [dump_name.sql]

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.

Изучаем Vim

Установка редактора:

sudo apt-get install vim

Vim (сокр. от Vi Improved, произносится «вим») — свободный режимный текстовый редактор, созданный на основе более старого vi.

Одна из главных особенностей редактора — применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нём) и текстового (режим непосредственного редактирования текста, аналогичный большинству «обычных» редакторов). Vim не интуитивен, так что эффективная работа с редактором требует предварительного обучения.

Основные команды Linux

День добрый, друзья! :)

Про большинство команд можно узнать подробнее в интерактивном режиме, обратившись к справочной системе с помощью команды man. Чтобы легче запомнить, от слова manual:

manual <имя команды>

Общие команды Linux

Тут представлен список полезных команд, которые не вошли в другие разделы.

sudo shutdown -h now   #выключить компьютер сейчас
sudo shutdown -h 90   #выключить компьютер через 90 мин.
sudo reboot   #перезагрузить компьютер 
wget --convert-links -r http://www.linux.org/   #копирование сайта целиком и конвертирование ссылок для автономной работы  
копирование происходит на 5 уровней в глубину  
!!    #выполнить последнюю выполненную команду 
history | tail -50   #показать последние 50 набранных команд  
passwd   #меняет пароль текущего пользователя   
cal -3  #показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь)

 

НОВЫЕ ПОЛЬЗОВАТЕЛИ