Книги по ActionScript 3.0

Standard

Если вы знаете Java или Javascript, лучше конечно Java — он ближе к ActionScript 3.0 (IMHO), единственное что вам осталось понять — это как работает флеш, после этого можно делать игры или приложения. Среди представленных книг в основном книги, которые мне были нужны для гейм-разработки.

ActionScript 3.0 Game Programming University

Год выпуска: 2011
Издание: 2

В этой книге каждой урок представляет создание игры, типа тетриса, змейки

ActionScript 3.0 for Adobe Flash Professional CS5 Classroom in a Book

Год выпуска: 2010

Книга описывает преимущественно работу с ActionScript 3.0 и Flash CS5.

Foundation AS3 animation: make things move

Год выпуска: 2007

Очень классная книга, читал не отрываясь. Здесь подробно описывается процесс создания программной анимации.

ActionScript 3.0 Quick Reference Guide

Для тех кто хочет быстро разобраться что к чему. Для людей уже знакомых с программированием.

ActionScript 3.0 Cookbook

Серия советов, объясняют как действовать в конкретных случаях.

Foundation Game Design with AS 3

Advanced AS 3 Animation

Foundation ActionScript 3.0 Image Effects

Advanced AS 3 with Design patterns

Learning AS 3

Относительный путь в тегах img tinyMCE

Standard

При работе над своим плагином к tinyMCE для symfony 1.4, столкнулся с такой проблемой: когда вставляю изображение с абсолютным путём при сохранении путь становится относительным.

Это все решается 2 настройками, при инициализации:

tinyMCE.init({
relative_urls: false,
remove_script_host: true //Если false - будет указывать хост
});

MySQL multiple insert производительность

MySQL
Standard

Производительность приложений — это моя страсть. Нашел у себя в архиве тесты mysql insert`а, тупо по одной строке и групповой вставки (multiple isnert), кто не знает это происходит таким образом:

INSERT INTO sometable (col1, col2, col3)
VALUES (1, 2, 3), (2, 3, 4), (5, 6, 7)

и тд.
К сожалению кода к-ый тестировался не осталось. Слева вставка единичной строки по циклу, справа — групповая вставка.
Количество элементов 1000:

0.102933      0.010

0.10104       0.009

0.08725     0.008

Количество элементов 10000:

1.00147199    0.051

0.9707269 0.033

0.99237   0.036

0.74959   0.0317

0.77398   0.054

0.975111   0.042

Количество элементов 100000:

9.77275   0.312

9.369932   0.317

9.29440   0.324

При большем количестве элементов mysql ругается что пакет такого размера не может уложить в буффер. Итак, по результатам можно судить об увеличение скорости минимум раз в 10. С другой стороны, не всегда требуется вставка большого количества строк. Это можно использовать в случае очередей, или вставка из кеша, когда вы вставляете значения в кеш минуя бд (знаю, это не правильно) а потом раз в минуту записываете данные из кеша в бд.

Как сделать редирект с www без www для любого домена

Standard

Часто, надо делать редирект с www без www, внизу универсальное решение.
Минимум редактирования.

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Кидайте их в .htaccess предварительно задав директиве RewriteEngine значение On, ну и конечно же убедившись в подключенном модуле Rewrite.
Теперь сайт www.example.com будет редиректить на example.com

Как пофиксить ошибку «LANGUAGE = (unset)» в perl`е под Debian

Standard

Если у вас появляется ошибка вида:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file

Это значит, что перл не знает какая локаль установленна у вас, чтобы пофиксить запустите dpkg-reconfigure locales, выберайте свою локаль (у меня это ru_RU.UTF-8) и жмите OK.

SSH tips and tricks

Standard

Я уже говорил как подключаться по ssh, чтобы быстрее работать. Теперь дам пару советов, как использовать ssh на полную:

Если при подключении возникают, какие-то проблемы — используйте ключ -v (verbose) для debug сообщений ssh.

Escape символ ssh — «~», позволяет исполнять команды на локальной машине, не отключаясь от удаленного хоста, чтобы сделать это нажмите ~^Z (ctrl + Z).  Правда я в таких случаях обычно открываю новый терминал, но работать в одном терминале обычно получается быстрей. Когда вы захотите вернуться выполните команду jobs, она покажет список остановленных процессов с идентификаторами, нажмите fg %1 и ssh, снова будет работать.

Чтобы посмотреть статистику сессии выполните ~s (сочетание не будет отображено на экране), работает только на ssh второй версии.

Теперь быстрые tips & tricks:

  1. Вывод вашего микрофона на колонки удаленного компьютера: dd if=/dev/dsp | ssh -c arcfour -C [email protected] dd of=/dev/dsp Правда звук будет очень плохой.
  2. Сравнить удаленный и локальный файлы ssh [email protected] cat /path/to/remotefile | diff /path/to/localfile
  3. Можно примонтировать «удаленную файловую систему» sshfs [email protected]:/path/to/folder /path/to/mount/point
  4. Использовать удаленный компьютер, как прокси для подключения к другому компьютеру по ssh: ssh -t first_host ssh second_host
  5. Скопировать файл с удаленного компа на другой удаленный комп, используя свой как прокси: ssh host1 «cd /fromfile && tar -cf -.» | ssh host2 «cd /tofile && tar -xf -»
  6. Запустить любую GUI программу удаленно: ssh -fX host program
  7. Создать постоянное ssh подключение к машине: ssh -MNf host. Это нужно, в случае частых подключений к удаленному хосту, например при синхронизации файлов (rsync/sftp/svn/git) на постоянной основе, тк компьютеры не будут открывать новый сокет каждый раз, соответственно времени на подключение уходить не будет.
  8. Удалить ключ из файла: ssh-keygen -R bad_host