Author Archives: bullgare
Работа с событиями в jQuery-ui
Если нужно из виджета стриггерить событие, это сделать это можно двумя способами:
| 
					 1  | 
						this.element.trigger( 'my_event_element', { option1: true } );  | 
					
| 
					 1  | 
						this._trigger( '_my_event_widget', null, { option1: true } );  | 
					
Допустим, что наш виджет называется MyCoolWidget. Тогда поймать наши события можно так:
| 
					 1 2 3 4  | 
						$( '#div' ).MyCoolWidget(); $( '#div' ).   bind( 'my_event_element', function( Event, Ui ) { console.dir( Ui ) } ).   bind( 'mycoolwidget_my_event_widget', function( Event, Ui ) { console.dir( Ui ) } );  | 
					
Обратите внимание на второй bind — префиксом к событию в этом случае явлется название виджета в нижнем регистре. Кстати, есть ещё один способ обработать событие от this._trigger — …
Способ узнать, какие события забиндены на элементе в jQuery
| 
					 1  | 
						console.log( $( selector ).data('events') );  | 
					
Выдаст все события, которые слушаются обработчиками на элементе.
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