11. Січень 2012 · Коментарі Вимкнено до кешування шляхів у kohana (routes caching) · Categories: kohana, PHP-програмування, Веб-програмування, Створення сайтів · Tags: , , ,

сьогодні нічого уже писати не хотів, проте згадав ще одну корисну річ – кешування шляхів у фреймворка kohana. мабуть, кожен, хто вмикав собі на локальному сервері профайлинг, бачив подібну штуку:

профайлинг у kohana - find_file (пошук файлів)

профайлинг у kohana - find_file (пошук файлів)

це дані про те, як так званий autoloader шукає ваші файли проекту, які ви використовуєте, та завантажує. мабуть, кожен помічав, що чим більше цих файлів, тим більше часу потрібно для їх пошуку, а коли врахувати, що відвідувачі переглянуть, скажімо, 1000 сторінок, то навіть у моєму випадку (щоправда, на ноутбуці) – це би зайняло 50 секунд процесорного часу! More »

нещодавно зіткнувся з проблемою: на сайті існує близько п’яти сотень сторінок другого рівня, де необхідно було робити запити з %LIKE. зрозуміло, що такі запити, особливо у випадках, коли повертатимуть сотні або й тисячі рядків, виконуватимуться значно довше, ніж звичайний пошук рядка за ID. основним було те, що ці сторінки (себто блоки, де потрібно було робити подібні запити) не змінюються в часі, а залишаються фактично “статичними”. коли ж на сайт заповзає пошуковий робот від гугла або яндекса та робить по запиту кожних дві секунди, то на shared hosting це досить таки непогано відчувається (за день спайдери можуть проглянути 10-15 тисяч сторінок, в той час як користувачі – лише 1000). More »

03. Січень 2012 · Коментарі Вимкнено до не відображаються категорії у wordpress · Categories: PHP-програмування, wordpress · Tags: , , ,
Не відображаються категорії у вордпресі

Не відображаються категорії у вордпресі

останні два дні працював над освоєнням вордпреса – виявилося, що не така уже й гидотна система: цілком придатна для невеликих сайтів (та й великі сайти на вордпресі бачив). от тільки трохи непокоїть те, що використовує дуже багато ресурсів. наприклад, головна сторінка зі стандартними віджетами часто призводить до того, що на хостингу в логи записується так званий “важкий запит”, де показано, що було використано 50 чи 60 мегабайт пам’яті та зроблені ресурсомісткі запити до бази даних під час генерування головної сторінки сайту. неприємно, коли практично кожен другий запит до головної сторінки – такий важезний, але це недолік системи керування контентом як такої.

щоправда, постійно з цим вордпресом можуть виникати проблеми, які важко розв’язати. зазвичай трапляється це після встановлення різних додатків (плагінів), особливо у випадках, коли доводиться редагувати або замінювати різні блоки коду в шаблоні. після таких дій допетрати, що трапилося, – практично нереально, якщо не колупатися в коді годинами, що робити не особливо хочеться :) More »

25. Листопад 2011 · Коментарі Вимкнено до kohana та проблема із завантаженням моделі · Categories: kohana, PHP-програмування · Tags: , , ,
Офіційний форум фреймворка kohana

Офіційний форум фреймворка kohana

вчора витратив майжей цілий день, намагаючись вирішити проблему, чому не виходить завантажити модель з контроллера, який знаходить у підпапці admin. у кохані всі класи (щоб підтримувалося автозавантаження) мають розміщатися в підпапках папки classes, в якій є model & controller. от у першій мають бути моделі, а у другій – контроллери. але зрозуміло, що коли ваш проект розростається, то всі контроллери скидати в одну папку – вкрай незручно, тому зазвичай доводиться робити підпапки, наприклад, для адмінки тощо. якщо у вас файл знаходиться /classes/controller/admin/supercontroller.php, то називатися він теж має відповідно Controller_Admin_Supercontroller. More »

12. Жовтень 2011 · Коментарі Вимкнено до BigDump – відновлюємо базу даних з дампа · Categories: PHP-програмування · Tags: , , , , , , , ,
Програма для відновлення баз даних з бекапів (sql дампів) - BigDump

Програма для відновлення баз даних з бекапів (sql дампів) - BigDump

сьогодні переді мною постала серйозна проблема: була база даних на трохи більше ніж 30 мегабайт (усе – одна таблиця на 70000 записів), яку потрібно було залити на хостинг. звісно, доступу до консолі нема. засобами phpMyAdmin, як потім виявилося, залити базу на хостинг було неможливо, бо в хостера стояв ліміт на файли ДО 2 мегабайтів. а як наслідок, проблему можна було сформулювати так: є файл, який треба вручну розбивати на 15 частин, переймаючись, чи раптом точно правильне кодування поставив та чи не видалив де зайвий рядок, чи точно ІД рядків ніде не збив і чи нічого не пропустив, потім треба все це заливати з допомогою уже згаданого phpMyAdmin. жах. More »

12. Березень 2011 · Коментарі Вимкнено до залив сайт на новий хостинг – з’явилися теги php в html-коді · Categories: PHP-програмування · Tags: , , , , ,

вчора витратив трохи зайвого часу тому, що під час заливання сайту на новий хостинг виявилася одна проблема – в тексті, де, як всі знають, не повинно бути ніяких тегів php поміж тегами html, вони залишилися (не у всіх випадках, звичайно). проблему виявив випадково уже пізніше More »

12. Листопад 2010 · Коментарі Вимкнено до оптимізація баз даних mysql · Categories: PHP-програмування, Роздуми на вільну тему · Tags: , ,

вчора вирішив почитати про оптимізацію баз даних mysql. крім так званих normal forms вичитав ще кілька цікавих, хоч і без того очевидних речей. та й на думку багатьох, виявилося, що тільки перші дві normal forms варто використовувати та дотримуватися беззастережно, бо застосування третьої може суттєво вплинути на продуктивність бази даних (негативно). More »

08. Листопад 2010 · Коментарі Вимкнено до яка різниця між char та varchar? · Categories: PHP-програмування, Роздуми на вільну тему · Tags: , , ,

сьогодні вирішив почитати про бази даних книжечку (називається Wrox Beginning SQL). а надихнуло мене те, що хотів я трохи оптимізувати базу даних на одному своєму сайті та створити ще додатково кілька таблиць для версій сайту для інших мов. потім подумав про перспективу сайту, про те, що, можливо, доведеться додавати багато записів, а тоді згадав, що проблемно буде додавати, видаляти або оновлювати записи, тип яких був varchar, а не просто char. коротше, суть у тому, що char має сталий розмір, якщо, скажімо, вказано, що char(100), а ми додамо лише 20 символів, то решта 80 зарезервованих просто заповняться пробілами. More »

07. Листопад 2010 · Коментарі Вимкнено до як відновити пароль для wordpress? просто :) · Categories: PHP-програмування, Роздуми на вільну тему · Tags: , , , ,

щойно в мене виникла проблема із входом у свій блог, яким я ой як давненько не користувався, що й забув уже про його існування :) виявилося, що ще літом сюди заходив, хоч мало не божився, що писатиму тут практично щодня. насправді причина була простою – занадто багато часу працював, спав по 4 години на добу, про друзів навіть забувся, так що й мови про блоґерство й бути не могло :) More »

03. Серпень 2010 · Коментарі Вимкнено до структура таблиць у wordpress (дублювання інформації) · Categories: PHP-програмування, Роздуми на вільну тему · Tags: , , , , , ,

щойно розглядав, яким чином зберігається інформація в таблицях у базі даних для wordpress’a і виявив одну цікаву річ – там є купа надмірних даних і таблиці зв’язані не найкращим чином (може, я не дуже розуміюся в цьому, але навряд чи інформація, яка повторюється по п’ять разів у різних рядках – це добре). читав книжку, коли лише починав вивчати mysql та php, де було чітко написано, що основне завдання реляційних таблиць в тому, щоб уникати дублювання інформації: навіщо повторювати інформацію двічі, тричі або й більше разів, якщо можна просто зробити іншу таблицю, яка буде пов’язана з першою, внаслідок чого не треба буде дублювати по кілька разів текст допису, наприклад, на 10 тисяч символів (якщо п’ять повторів, то виходить, що тільки для одного запису – для одної клітинки в рядку – надлишок у 40 тисяч символів). думаю, що можна було би краще зробити це все діло. хоча, якщо подумати, скільки часу треба буде, щоб наповнити базу даних на бодай 100 мегабайт, то дублювання фактично несуттєва штука (а про основний принцип реляційності таблиць можна просто забути). ну, такі справи. просто подумав.