Книги на покупку

22 03 2007
Остаться в живых


Дизайн интерфейсов

Архитектура программного обеспечения на практике

Фабрики разработки программ

Визуальное моделирование с помощью IBM Rational Software Arhitect и UML

Rational XDE

Лучшие примеры разработки ПО - 372 р

Профессиональная разработка программного обеспечения

Приемы объектно-ориентированного проектирования. Паттерны проектирования

Джоэл о программировании


Освой самостоятельно регулярные выражения. 10 минут на урок

Управление программными проектами: достижение оптимального качества при минимуме затрат


----------------------------------------------------
Психбольница в руках пациентов

CRM со скоростью света


дошел до : http://www.booknavigator.ru/?page=it_2&itid=124&p=49

mysql backend generators

16 03 2007
http://www.phpmyedit.org/ ***

http://www.talend.com/

http://www.websitedatabases.com/database_reports.html

Zolotaia formula cachirovania v php

15 03 2007

- пользователь запросил страницу;
- смотрим есть ли она кешированная;
- если нет генерим кеш и выдаем его, если есть — сразу выдаем кеш;
- при обновлении информации в базе убиваем нужный кеш(в зависимости от того чего обновили).

http://xpoint.ru/forums/development/analysis/thread/39419.xhtml


Скрипты сообществ

14 03 2007
http://www.boonex.com/products/dolphin/doldemo/

очень клевое по описание но дорого : http://www.abk-soft.com/datingscript_features.html#flash_games

PHPXref - sistema avto-dokumentirovania koda

13 03 2007
http://phpxref.sourceforge.net/

v papku source zakinul kode, v papke output on sozdal html faili

database (mysql) monitoring + query logs (profiling)

13 03 2007
Ole, moi le grand, j'ai trouvé :=)


Database performance monitoring and SQL tuning with the performance monitoring classes.

http://phplens.com/lens/adodb/docs-perf.htm




Sample :

fail kotorii sozdaeot zapros dlia loga :
====
session_start();
#ado_sql.php

require("database_config.php");
include("../../sys/adodb/adodb.inc.php");
include("../../sys/adodb/adodb-pager.inc.php");

$db = ADONewConnection($GLOBALS["database_server_driver"]);
$db->Connect($GLOBALS["database_server"],$GLOBALS["database_user"],$GLOBALS["database_password"],$GLOBALS["database_dbname"]);
$db->LogSQL(true);
$db->debug=false;
$sql="Select * from table_name where id='1'";
print $sql."
";
$rs =& $db->Execute($sql);
while (!$rs->EOF) {
/** select fields **/
$rs->MoveNext();
}

?>


fail "monitor"

session_start();
include_once('../../sys/adodb/adodb.inc.php');
require("database_config.php");
# session variables required for monitoring
$conn = ADONewConnection($GLOBALS["database_server_driver"]);
$conn->Connect($GLOBALS["database_server"],$GLOBALS["database_user"],$GLOBALS["database_password"],$GLOBALS["database_dbname"]);
$perf =& NewPerfMonitor($conn);
$perf->UI($pollsecs=5);
?>

Kolektsia serieoznih saitov/forumov po IT

08 03 2007
http://xpoint.ru/

Советы по оптимизации php & mysql

08 03 2007


Советы по оптимизации php & mysql

Тот кто хочет получить высокую проиводительность – не пишет просто быстрые скрипты. Для достижения высокой производительности PHP требуется хорошее понимание работы основных аппаратных средств, операционной системы и другого ПО, типа сервера и базы данных

Оптимизация баз данных

Если запрос занимает много времени воспользуйтесь командой EXPLAIN чтобы узнать каким образом Mysql выполняет этот запрос

Explain Select …

Оптимизация таблиц

Optimize table table_name [,table_name]

Выбирайте самый эффективные типы данных:
- mediumint часто оказывается эффективнее int
- обьявляйте колонки как Not null
- избегайте колонок blob, text и varchar
- первичный ключ таблицы должен быть как можно более коротким
- увеличивайте эффективность индекса – если известно что первые Х символом колонки уникальны то генерируйте индекс по этому числу символов
- не делайте индексы для каждой колонки таблицы

Правильно спроектирование базы данных должны иметь индексы, лучшие индексы те – которые создаются в команде Create table и учавстсвуют в множестве запросов. Лишние индексы замедляют запросы на обновление и удаление.
MySQL использует индексы автоматически, чтобы узнать какие индексы используются в текущем запросе нужно использовать команду Explain

Оптимизация запросов SELECT
Для их оптимизации проверьте можно ли добавить индекс. С помощью explain проверьте какие индексы используются и не следует ли их создать.

Оптимизация запросов INSERT
Этого можно добится используя команду INSERT DELAYED вместо INSERT, Клиент получает потверждение о успеной вставке хотя операция на сервере еще не завершена.
При загрузке данных из файла используйте LOAD DATE INFILE что в 20 раз быстрее чем множественные INSERT
Блокировка таблиц перед вставкой ускоряет эту операцию
LOCK TABLES a WRITE ;
INSERT…
INSERT…
UNLOCK TABLES;

Оптимизация запросов UPDATE
Оптимизируйте команды UPDATE как если бы они были SELECT

Оптимизация запросов DELETE
Для того чтобы удалить все записи из таблицы используйте команду TRUNCATE TABLE table_name вместо DELETE

Оптимизация соединений
Можно устанавливать постоянные соединения и избежать создания нового соединения с базой данных для каждого запроса :
mysql_pconnect

Продолжить чтение "Советы по оптимизации php & mysql"


Настройка обработки пхп в wamp 170

06 03 2007
По умолчанию в пхп ини он ставит short tags = off что форсирует начинать файлы с "

Буфер & Кэширование

05 03 2007
Буфер - область памяти для временного хранения промежуточных данных.

Кэширование - накопление данных в доступном хранилище, с целью их быстрого извлечения по мере надобности. Кэширование ускоряет процесса обработки информации.

PHP : sozdanie peremennih iz texta ili massiva

05 03 2007

Функция eval() заставляет PHP рассматривать обыкновенный текст, содержащийся в переменной, как фрагмент PHP-кода. Говоря языком примеров, результаты работы строк

echo 'Hello, User!';

и

eval("echo \'Hello, User!\';")

будет идентичными.

Вот eval() и поможет нам объявить все переменные из массива $_REQUEST. Выглядит это совсем коротко:

foreach($_REQUEST as $k=>$v)
{
eval("\$$k='$v';");
}

И самый простой метод - extract().

Весь код нашего примера будет выглядеть так:

extract($_REQUEST);

Это самый "тупой" метод, "разворачивающий" в переменные все, что содержится в массиве $_REQUEST. Нет абсолютно никакой гибкости в этом подходе - повлиять на регистрацию переменных или ввести какой-либо контроль вы не сможете, но выглядит очень лаконично.


PHP и Web. Кэширование.

05 03 2007
statia po kashirovaniu : http://www.codenet.ru/webmast/php/caching.php

Ghenerator web interface dlia baz dannih (tipa phpmaker)

05 03 2007
http://www.dbqwiksite.com/
Dosmotreti demku i sdelati vivod

poka cito phpmaker kajetsea proshe i cishe no u etogo softa kajetsea vozmojnostei bolishe, budem posmotreti :-)

HOWTO по оптимизации PHP

05 03 2007
http://www.compdoc.ru/internet/php/howto_optimization_php/

Vibor optimizatora (+cachirovanie) php

01 03 2007
http://www.ipersec.com/index.php?q=fr/bench_ea_vs_apc