Статьи


Блог о веб-разработке от разработчика

Делаем резервную копию

mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём только структуру базы без данных

mysqldump —no-data -u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Делаем резервную копию конкретной таблицы/таблиц

mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Далее больше примеров ...

andymarrel 04.08.2015 04:05 в Базы данных

В предыдущей статье я рассказал об изменения в обработке переменных, которые будут введены в PHP 7. Данную же статью я посвящаю изменениям в списках (lists).

2. Изменения в списках list()

2.1. list() больше не будет присваивать переменные в обратном порядке:

 list($array[], $array[], $array[]) = [1, 2, 3];
 var_dump($array);

Теперь результат присваивания будет $array == [1, 2, 3] вместо [3, 2, 1]. Обратите внимание, что изменился только порядок присваивания. Присваиваемые значения останутся прежними:

 list($a, $b, $c) = [1, 2, 3]; // $a = 1; $b = 2; $c = 3;

Далее больше нововведений ...

PHP 7 уже не за горами, и об этом свидетельствует вышедшая совсем недавно первая бета версия. С официальной документацией на английском можно ознакомиться тут - https://github.com/php/php-src/blob/php-7.0.0beta1/UPGRADING. Далее представлен мой перевод с английского.

1. Изменения в обработке переменных

1.1 Косвенные ссылки на переменные, свойства или методы теперь интерпритируются слева направо

 $$foo['bar']['baz'] // разбираются как ($$foo)['bar']['baz']
 $foo->$bar['baz']   // разбираются как ($foo->$bar)['baz']
 $foo->$bar['baz']() // разбираются как ($foo->$bar)['baz']()
 Foo::$bar['baz']()  // разбираются как (Foo::$bar)['baz']()

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

 ${$foo['bar']['baz']}
 $foo->{$bar['baz']}
 $foo->{$bar['baz']}()
 Foo::{$bar['baz']}()

Далее больше нововведений ...

Шаблонизатор blade и javascript фреймворк angular.js используют для вывода переменных двойные фигурные скобки. Из-за этого возникает конфликт, который можно разрешить двумя способами: 

1. Изменить способ вывода переменных в angular.js

var angularAppName = angular.module('angularAppName', [], function($interpolateProvider) {
    $interpolateProvider.startSymbol('{%'); // This might be dangerous, if you use Twig (if you know what I mean)
    $interpolateProvider.endSymbol('%}');
});

2. Изменить способ вывода переменных в Laravel (актуально для версии 4.2)

Blade::setContentTags('<%', '%>'); // For average variables
Blade::setEscapedContentTags('<%%', '%%>'); // For escaped variables

Более подробную информацию можно найти в оригинальной статье на английском языке: https://scotch.io/quick-tips/quick-tip-using-laravel-blade-with-angularjs

По умолчанию все веб проекты apache 2 хранятся в директории /var/www/html. Чтобы обезопасить ваш проект и сервер в целом, необходимо выставить правильные права на директорию с исходными кодами и файлы внутри неё.

Читайте далее как именно обезопасить ваш веб сервер ...

andymarrel 24.06.2015 17:45 в Адм. серверов

В данной статье я пошагово объясню, как установить Apache + PHP + MySQL на сервер Ubuntu 14.04 LTS. Предполагается, что вы уже поверхностно знакомы с терминалом и знаете как с ним работать.

1. Обновим индекс пакетов и начнём установку веб сервера apache2.

 apt-get update
 apt-get install apache2

После установки откройте в браузере страницу с адресом: http://ваш-ip-адрес. Если вы видите окно приветствия Apache, значит установка прошла успешно и можно приступать к следующему шагу.

Продолжение читайте далее ...

andymarrel 17.06.2015 22:15 в Адм. серверов

S3 (Simple Storage Service) - это сервис для хранения данных, который предоставляет Amazon. Если вы используете AWS EC2 для ваших проектов, то хранилище данных s3 будет отличным местом для ваших резервных копий. 

Данное руководство предназначено для серверов на базе Ubuntu 14.04 LTS. Далее я опишу, как можно автоматизировать процесс резервного копирования данных из СУБД MySQL в S3 bucket.

andymarrel 15.06.2015 21:50 в Адм. серверов