MySQL. Восстановление из бэкапа
Понадобилось восстановить бэкап mysql размером примерно в гигабайт. Всякие phpMyAdmin даже сжатый файл кушать отакзываются — ограничение по размеру, а доступа к настройкам нет. Нашёл хороший способ — в командной строке
1 2 3 4 |
mysql mysql>use database <>; mysql>source path/to/backup_file.sql; |
Очень быстро и хорошо) http://forums.mysql.com/read.php?104,145923,148081#msg-148081
Автозапуск shell-скрипта при входе — Mac OS
Мне нужно было монтировать директорию по самбе. Всё достаточно просто: Создать файл automount в AppleScript с текстом
1 |
do shell script "mount -w -t smbfs \"//name:pass@ip/www\" /mnt/folder/" |
и сохранить как программу Системные настройки → Учётные записи → Объекты входа → Добавить плюсиком сохранённый скрипт http://www.withoutink.com/technology/howto-autostart-xampp-mac-osx/ http://jm.marino.free.fr/index.php?switch=sw_&title=AutomountMaker — визуальная тулза
Организация очередей на PHP
Решили использовать Pheanstalk, который представляет собой PHP-клиента для Beanstalk. Простой, чётко работает, всё построено на иерархии исключений, т.е. легко применять. Всё сводится к следующему:
1 2 3 4 |
$this->queueManager = new Pheanstalk( '127.0.0.1' ); $this->queueManager->useTube('my_jobs_1')->put( $JobData ); $this->job = $this->queueManager->watch('my_jobs_1')->ignore('default')->reserve( 0 ); // 0 - чтобы не ждать, когда появятся новые джобы (чтобы запускать php-скрипт кроном, а не требовать висения в памяти демоном) $this->queueManager->delete( $this->job ); |
Для работы должен быть запущен демон Beanstalk:
1 |
$ beanstalkd -d |
Ещё почитать. Интересный пример использования Pheanstalk, менее интересный пример.
Аналог ON DUPLICATE KEY UPDATE SQL Server
Есть таблица для записи статистики за день
1 2 3 4 5 |
CREATE TABLE mailStats ( dt DATE NOT NULL CONSTRAINT PK_mailStats PRIMARY KEY, total INT NOT NULL, failed INT NOT NULL, ); |
Нужно записать в неё общее количество действий и количество фэйлов скриптом, запускающимся по крону к примеру раз в час. При этом мы не знаем, создана ли запись на сегодняшний день, а выполнить всё хочется за один запрос. Тут бы на помощь пришёл «ON DUPLICATE KEY UPDATE» от …
Установка SQL Server Management Studio под MAC OS
Установить Parallels Desktop (он не бесплатный) Скачать Microsoft® SQL Server® 2008 Management Studio Express Установить полностью Запустить Microsift SQL Server 2008 → Средства настройки → Диспетчер конфигурации SQL Server. В нём в разделе «Настройка собственного клиента SQL → Псевдонимы» добавить псевдоним В SQL Server Management Studio вбить этот псевдоним Пользоваться и ненавидеть MS)
Переход с убунты на мак
Сейчас пытаюсь перейти. Интересные вещи: есть macPorts несколько рабочих столов тут называется spaces на клавише Ctrl у меня висело показывать рабочий стол, чтобы отключить, нужно в системных настройках в поиске набрать expose и вырубить нафиг хоткей «показать рабочий стол» диспетчер здесь называется «мониторинг системы» msSqlServer-клиент (да-да, хотел уйти с постгреса на мускуль, а основной БД …
PhpStorm DB Navigator
Чтобы работать напрямую с MySQL-базой из PhpStorm: Установить плагин Database Navigator (перезапустить IDE — появится пункт DB Navigator). Скачать jdbc-драйвер (http://www.mysql.com/downloads/connector/j/) DB Navigator → Settings → add connection: driver library — …mysql-connector-java-5.1.16-bin.jar url — jdbc:mysql://127.0.0.1:3306 user — root
О важности совместного приёма пищи
Давно отмечал важность совместных обедов и ланчей с коллегами по работе — с кем ешь, с тем и больше общаешься по работе, что очень важно. Вот мысли на этот счёт от Спольски: http://www.joelonsoftware.com/items/2011/04/28.html
Open Mail Format (OMF)
Open Mail Format (OMF) — это открытый стандарт разметки почтовых уведомлений. OMF позволяет вам улучшить представление ваших писем в интерфейсе почты Mail.Ru, повышая их эффективность и конверсию. http://api.mail.ru/mail/omf/ спецификация формата
MySQL: что быстрее, многоколоночный индекс или пересечение индексов (index merge)
Вкратце: если в условии WHERE разные столбцы соединяются условием OR, то лучше иметь отдельные индексы по этим полям, во всех остальных случаях нужно использовать многоколоночный индекс (данные по MySQL 5.2.4). Подробнее.