Роман Теличко

Заметки веб-разработчика/админа

Тег linux

Делаем запросы в PostgreSQL из nginx кэшируя с помощью Redis

// Май 23, 2013 | 6447 просмотров | комментариев (0)

Сегодня я расскажу как можно работать с базой данных PostgreSQL с помощью nginx’a без application’a (например, PHP или любого другого). Т.е. эта технология абсолютно не зависит от языка, на котором сделан сайт/проект/система.
Мы будем использовать мощь PostgreSQL в хранимых процедурах (stored procedures/functions), а кэшировать с помощью быстрого Redis.
Читать далее…

Как узнать версию Ubuntu и кодовое имя из командной строки

// Май 10, 2013 | 1237 просмотров | комментариев (0)

Иногда возникает необходимость определить версию Ubuntu. Делается это с помощью команды lsb_release, что предназначена для вывода информации о текущей версии дистрибутива Ubuntu.

lsb_release -a

Что для версии Ubuntu 13.04 выведет следующее:

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 13.04
Release:	13.04
Codename:	raring

Как узнать статистику использования сетевого траффика в Linux

// Апрель 12, 2013 | 1655 просмотров | комментариев (0)

Существует отличная консольная утилита для отображения информации о количестве переданной и принятой информацией по каждому сетевому интерфейсу с разбивкой по датам и визуальным отображением в как в консольном, так и графическом режимах. Имя этой утилиты — vnstat.
Читать далее…

Как проверить диск на ошибки и бэд-сектора в Linux

// Апрель 3, 2013 | 87905 просмотров | комментариев (1)

Примером хорошего тона и здравого смысла является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная проверка диска на ошибки записи и т.п.
Разберёмся что такое битые сектора.
Любимая Википедия говорит следующее:

Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или ненадежный сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в структурах файловой системы операционной системой.

Следовательно, если в битом секторе были данные, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла.
Читать далее…

Соответствия команд SVN и Git

// Март 14, 2013 | 422 просмотров | комментариев (0)

Я создал небольшую шпаргалку соответствий команд систем управления версиями SVN/Subversion и Git. Пользуйтесь! 😉

svnadmin create repo
 
git init
git add .

svn import file://repo
git commit

svn diff | less
git diff

svn diff -rrev path
git diff rev path

patch -p0
git apply

svn status
git status

svn revert path
git checkout path

svn add file
git add file

svn rm file
git rm file

svn mv file
git mv file

svn commit
 
git commit -a
git push remote

svn log | less
git log

svn blame file
git blame file

svn cat url
git show rev:path/to/file

svn list url
git show rev:path/to/directory

svn log -rrev url
svn diff -crev url
git show rev

svn copy https://example.com/svn/trunk
https://example.com/svn/tags/name
git tag -a name

svn list https://example.com/svn/tags/
git tag -l

svn log —limit 1 https://example.com/svn/tags/tag
git show tag

svn copy https://example.com/svn/trunk https://example.com/svn/branches/branch
git branch branch

svn switch https://example.com/svn/branches/branch
git checkout branch

svn list https://example.com/svn/branches/
git branch

svn update -r rev
git checkout rev

svn update
git checkout prevbranch

svn merge -r rev:HEAD https://example.com/svn/branches/branch
git merge branch

svn merge -c rev url
git cherry-pick rev

svn checkout url
git clone url

svn switch url
 
git checkout —track
 -b branch origin/branch

svn update
git pull

Партицирование (partitioning) больших таблиц PostgreSQL

// Февраль 17, 2013 | 15717 просмотров | 4 комментария

Сегодня я хочу вам рассказать о партиционировании больших таблиц в моей любимой PostgreSQL.

Итак, начнём с определения:
Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям. Партиционированные или секционированные таблицы призваны улучшить производительность и управляемость базами данных.

Вроде понятно. Теперь идём дальше. Как же разбить таблицу на партиции или секции?
В PostgreSQL эта процедура потребует небольших усилий, но результатом вы будете довольны 🙂
Читать далее…

Ubuntu. LibreOffice 4.0 в Ubuntu 12.10

// Февраль 8, 2013 | 1117 просмотров | комментариев (0)

Выпущен LibreOffice 4.0 с большим списком изменений.
Всё это можно посмотреть уже в Ubuntu 12.10, не дожидаясь следующей версии.
Для этого всего-лишь необходимо:

sudo apt-get purge libreoffice-core
sudo add-apt-repository ppa:libreoffice/libreoffice-prereleases
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install libreoffice

Но обращаю ваше внимание, что в итоге вы получите только версию 4.0.0-alpha1.

За финальной версией пока нужно идти на сайт LibreOffice за deb-пакетом для x86 или для x86_64/amd64.

Внимание! Перед продолжением, удалите LibreOffice, если он у вас уже установлен.

sudo apt-get remove libreoffice

Скачиваете tar.gz-архив, содержащий deb-пакет.
Распаковываете его

tar -xzvf LibreOffice_4.0*

Переходите в папку DEBS:

cd LibreOffice_4.0*/DEBS/

И устанавливаете

sudo dpkg -i *.deb desktop-integration/*.deb

В итоге вы получите финальную версию LibreOffice 4.0.
Минус установки не через репозиторий в том, что вам самим придётся следить за обновлением пакетов, скачивать и переустанавливать его.

Ubuntu. Как удалить репозиторий, добавленный через add-apt-repository

// Февраль 5, 2013 | 6989 просмотров | комментариев (0)

Если вы добавили репозиторий через команду add-apt-repository и захотите его удалить, то вас ждёт разочарование, поскольку команды remove-apt-repository не существует.
Зато есть ключ --remove для команды add-apt-repository.
Т.е. мы можем удалить ненужный нам репозиторий так

add-apt-repository --remove ppa:repository-for-delete

или так

add-apt-repository -r ppa:repository-for-delete

Удачи.

PHP. Достаём данные из Google Analytics через API используя Service Account

// Январь 22, 2013 | 11731 просмотров | 3 комментария

Сегодня я хотел бы поделиться знаниями по извлечении данных из Google Analytics, используя их API v3 на стороне сервера (server-side), т.е. без участия браузера пользователя.
Самое странное, что в Сети в основном описаны все примеры с использованием эмуляции браузера и аккаунта пользователя (пара email+пароль). Мы так делать не будем, т.к. это глупо и не красиво 🙂
Приступим.
Читать далее…

Бэкапим Linux-сервер в Dropbox

// Январь 18, 2013 | 3997 просмотров | комментариев (0)

Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читать далее…