Публикувано в (Уеб програмиране) от gan на 9 април 2010 в 11:48

Основни положения при оптимизация на mySQL

Обикновено проблемите с бавни SQL заявки се дължат на грешно проектирана база данни, липса или грешно използване на индекси и най-често неправилно написани SQL заявки. Статията разглежда няколко примера от практиката, които дават идеи за нов начин на писане на оптимизирани SQL заявки, при който не се прехвърлят много данни, за да се увеличи бързодействието.

Мониторинг на SQL заявки

На първо място препоръчвам на всеки използващ mySQL да ползва лог на бавните заявки. Активира се лесно и записва всяка заявка, която отнеме за изпълнението си повече от предварително зададено време (обикновено 10 сек.). Все пак не може да решиш проблем, ако не знаеш, че съществува ;) Използвай EXPLAIN пред SELECT за информация относно заявката - кой индекс се използва, колко реда се преглеждат и др. За мониторинг в реално време… прочети цялата статия»


Публикувано в (Сигурност, Уеб програмиране) от gan на 28 януари 2010 в 16:08

Ограничен достъп и логване с OpenID

Някой от страниците на сайта ganbox.com реших да са достъпни само след логване, затова ми се наложи да си направя логин форма, през която потребителите да се логват и да получават достъп. Обикновено една такава система включва в себе си няколко функции: страница за регистриране, страница за логване, страница за забравена парола, страница за промяна на парола или други лични данни, управление на сесии, база данни с данни за потребителите. Мислих няколко варианта и накрая реших, че без последните две няма как да мина, но нямам време да правя другите страници. Затова избрах решение с OpenID логване.

Какво е OpenID?

Съвсем накратко: с една парола достъп до много сайтове. Това е метод, който обединява протокол и системи, който ти дава възможност да се регистрираш в един… прочети цялата статия»


Публикувано в (SEO, Уеб програмиране) от gan на 23 декември 2009 в 21:27

Проблем

Вече в няколко сайта уеб директории, забелязвам следния проблем: в уеб формата за качване на сайт полетата имат ограничение в броя на символите, което е нормално, но е проблем, когато пише, че може да въведеш 100 символа, а реално можеш да въведеш само 50. Още по-досадно и времеотнемащо е, ако софтуера създаващ уеб формата не се грижи да запомни всички въведени полета и при грешка в едно от полетата изтрива всички полета - за форми с много полета това е направо кошмар, защото трябва да въвеждаш всичко отначало. Най-фрапиращ случай за това е сайта bestbgsites.com. Не е лесно да добавиш линк в този сайт. Гърми грешката: "Името на сайта е прекалено дълго! Може да бъде 85 символа" проблема е, че ако заглавието е на кирилица дължината е до 42 символа  Описанието… прочети цялата статия»


Публикувано в (SEO, Уеб програмиране) от gan на 16 декември 2009 в 13:17
Пиша тази статия като продължение на статията PHP парсване на XML новини за твоя сайт. Разглеждам оптимизиране на бързодействието на динамичен сайт, който зарежда информация от база данни. Сайтът ganbox.com е разделен на две части, които се различават и визуално. Основен сайт за SEO оптимизация и SEO блог. Реших в лявата колона на основния сайт под менюто, да извеждам последните X на брой статии от блога.   Вече имах готов код за извличане на новини от RSS хранилка, но си поставих и две допълнителни условия: бързодействие и сигурност при зареждане на страницата.

Бързодействие при зареждане на страница

Колкото и да е голям по обем твоя сайт, зареждането на началната страница трябва да бъде максимално бързо. Това се постига, чрез цялостно или частично кеширане на страницата. Бързодействието е важно основно по… прочети цялата статия»


Публикувано в (Уеб програмиране) от gan на 16 октомври 2009 в 23:57
Един примерен скрипт за извличане на текстово съдържание от интернет страница. Ползва функцията get_page_content($url), която извлича цялото съдържание на страница - пълния HTML документ. Тази функция ползва CURL библиотеката. Ако в инсталацията на PHP няма разширението CURL, скрипта ще даде грешка. Повечето хостинги имат по подразбиране CURL. Така, че това не би трябвало да е проблем. Препоръчвам използването на тази функция вместо вградените в PHP средства, защото може да се задава време за изчакване, както за свързване, така и за цялостна обработка. Ако това време изтече скрипта продължава работа без да дава грешка. По подразбиране съм задал 10 сек за свързване и 20 за извличане на страницата. Ако се очаква страниците да бъдат много дълги може времето да се увеличи от 20 на 30 сек. [cc lang="php" tab_size="4" width="750" height="700"] $url = 'http://ganbox.com/news'… прочети цялата статия»