Заметки по ходу жизни
Использовать в шаблонах для всех модулей один и тот же layout не есть всегда удобно. Например, для админки нам не нужен красивый дизайн с «рющечками», а нужен минимализм. Из коробки Zend Framework, как я понял, не умеет каждому модулю подставлять свой layout. Чтож научим наше приложение использовать различные layout для разных модулей, учить будем через плагин приложения.
Читать запись полностью »
Странно, но после дефолтной установки mysql в ubuntu, мускуль не запускается после запуска машины.
Команда
sudo update-rc.d mysql defaults
Не принесло никаких изменений.
Помогло вот че.
Редактируем файлик /etc/init/mysql.conf и находим строчки
start on (net-device-up
and local-filesystems
and runlevel [2345])
и меняем их на
#start on (net-device-up # and local-filesystems # and runlevel [2345]) start on runlevel [2345]
После этих шаманств мускуль нормально запустился.
Давно я не встречал достойного говнокода!
Есть некий класс, у него статичный метод который возвращает список месяцев в году. Да, простой массив в 12 элементов со списком названий месяцев.
Вот такой кусок реализации был найден в коде
function month_list () {
$data = array();
$ts = mktime(0, 0, 0, 1, 1, 2009);
for ($i = 1; $i <= 12; $i++) {
$data[date('n', $ts)] = date('F', $ts);
$ts = $ts + 31*24*60*60;
}
return $data;
}
Что именно употреблял программист до коли неизвестно, но мне кажется что программисту казалось что 7 строчек, тела функции, выглядит круче чем 14. Ибо проще, быстрее, нагляднее сделать так
function month_list () {
$data = array();
$data[1] = 'January';
$data[2] = 'February';
$data[3] = 'March';
$data[4] = 'April';
$data[5] = 'May';
$data[6] = 'June';
$data[7] = 'July';
$data[8] = 'August';
$data[9] = 'September';
$data[10] = 'October';
$data[11] = 'November';
$data[12] = 'December';
return $data;
}
Либо он просто ленился написать лишние 7 строчек кода.
Не ленитесь, блеать!
В общем, постоянно просят выгрузить ту или иную информацию из базы и пожалуйста в формате csv чтоб потом в excel анализировать. Писал какие-то отдельные php скрипты и т.д. Подумалось, а вдруг mysql может все это делать сама? Действительно может
SELECT * FROM `doc_list` INTO OUTFILE 'd:/tmp/docs_export.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
В папочке d:\tmp будет лежать необходимый файлик ![]()
Важно, чтобы это работало у пользователя под которым работает служба/демон mysql должны быть права на запись в папку куда сохраняется файл.
В прошлом посту я сказал что очень ждал php 5.4 потому, что в нем появляется интерфейс
Так почему я его ждал?
Напишем простой класс, с Magic методами.
class Book {
protected $_data = array();
public function __get($key) {
$key = strtolower($key);
if (array_key_exists($key, $this->_data)) {
return $this->_data[$key];
} else {
return null;
}
}
public function __set($key, $value) {
$key = strtolower($key);
$this->_data[$key] = $value;
}
}
Ура! Вот и наступила весна и вышел долгожданный php 5.4.0.
Ждал его, а особенно ждал класс .
На выходных буду обновляться на серверах и переписывать модели
Имеем под рукой только консоль mysql, необходимо узнать часовой пояс на котором работает mysql сервер.
Запрос
SELECT @@global.time_zone, @@session.time_zone;
Результат:
+--------------------+---------------------+ | @@global.time_zone | @@session.time_zone | +--------------------+---------------------+ | SYSTEM | SYSTEM | +--------------------+---------------------+ 1 row in set (0.07 sec)
Из этого результат не понятно какой у нас часовой пояс. Едем дальше и пробуем так:
select timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00')) as timezone;
Результат
+----------+ | timezone | +----------+ | 01:00:00 | +----------+ 1 row in set (0.07 sec)
Результат уже можно хоть как-то понять.
Интересная , с девушками на чьи тела нанесена Html разметка, css, код JavaScript.
Чем-то напоминает пятничный пост на каком нибудь форуме веб программистов или верстальщиков
Решение:
sudo apt-get install python-setuptools