Решил написать ТОП 16 PHP функций, что я использую каждый день.
Будет полезно как начинающим разработчикам, так и профессионалам (хотя у них этот список может отличаться).
Это MUST HAVE функции, что обязательно нужно знать и уметь ими оперировать.
Читати далі…
Я создал небольшую шпаргалку соответствий команд систем управления версиями SVN/Subversion и Git. Пользуйтесь! 😉
svnadmin create repo
git init
git add .
svn import file://repo
git commit
svn diff -rrev path
git diff rev path
svn revert path
git checkout path
svn add file
git add file
svn commit
git commit -a
git push remote
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
Сегодня я хочу вам рассказать о партиционировании больших таблиц в моей любимой PostgreSQL.
Итак, начнём с определения:
Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям. Партиционированные или секционированные таблицы призваны улучшить производительность и управляемость базами данных.
Вроде понятно. Теперь идём дальше. Как же разбить таблицу на партиции или секции?
В PostgreSQL эта процедура потребует небольших усилий, но результатом вы будете довольны 🙂
Читати далі…
Выпущен 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.
Минус установки не через репозиторий в том, что вам самим придётся следить за обновлением пакетов, скачивать и переустанавливать его.
Если вы добавили репозиторий через команду 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
Удачи.
SSD-диски с каждым годом становяться всё доступнее и всё больше в объёмах. Так и я стал владельцем SSD-диска Kingston SSDNow V+200 60GB 2.5″ SATAIII, “распилив” его пополам, я установил на него любимый Linux Xubuntu 12.10 и новенькую Windows 8 Pro.
О тюнинге последней я расскажу ниже.
А вот о тюнинге Linux Xubuntu на SSD довольно неплохо рассказано вот здесь. Читати далі…
Вывести список всех таблиц при помощи SQL довольно просто:
SELECT
n.nspname AS "schema",
c.relname AS "table"
FROM
pg_catalog.pg_class AS c
LEFT JOIN
pg_catalog.pg_namespace AS n
ON n.oid = c.relnamespace
WHERE
n.nspname NOT IN ('pg_catalog', 'pg_toast')
AND
c.reltablespace > 0
AND
c.relkind = 'r'
ORDER BY
c.relname ASC
В результате получим набор схема-таблица.
Сегодня я хотел бы поделиться знаниями по извлечении данных из Google Analytics, используя их API v3 на стороне сервера (server-side), т.е. без участия браузера пользователя.
Самое странное, что в Сети в основном описаны все примеры с использованием эмуляции браузера и аккаунта пользователя (пара email+пароль). Мы так делать не будем, т.к. это глупо и не красиво 🙂
Приступим.
Читати далі…
Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читати далі…
Если есть необходимость сохранения в лог обращений к веб-серверу nginx значения, переданные через POST, то это делается довольно просто.
Добавляем в конфиг nginx’a дополнительный log_format
с именем, к примеру main_post
(сама переменная называется $request_body
):
log_format main_post '$remote_addr - [$time_local] '
'$host "$request" $status $bytes_sent [$request_body] '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio" $upstream_response_time';
И теперь осталось только указать этот формат вторым параметром access_log
:
access_log /var/log/nginx/access.log main_post;
Сразу скажу о двух важных моментах:
- Если к логам сервера имеет доступ ещё кто-то, то все POST-данные из лога ему станут известны
- Лог может ОЧЕНЬ быстро разбухать в размерах
А в остальном — пользуйтесь!