C, PHP, VB, .NET

Дневникът на Филип Петров


Архив за април, 2012

* Автоматичен meta description за WordPress

Публикувано на 28 април 2012 в раздел Общи работи.

По подразбиране WordPress не включва никакви meta description тагове в HTML кода. Представям ви лесен начин да генерирате автоматично такива за вашите страници и категории. За описание на страниците се взима първото изречение от текста в текущата статия, а за категориите тяхното описание зададено в WordPress. Кодът е малко „мръсен“ и може да се изпипа, но ще опиша в коментари кое-как и защо е направено. Методът е следния – отворете header.php файла на вашата тема и добавете кода в <head> часта: Прочети още…

.

 


* MathJax 2.0 – нова ера в писането на формули!

Публикувано на 17 април 2012 в раздел Математика.

На 26 февруари 2012г е излязла новата версия 2.0 на MathJax. Малко ме е срам, но разбрах за това чак сега. А миналата година написах публикация на тема „Технологии за въвеждане и изобразяване на математически формули в Уеб 2.0 приложения“, в която отбелязах именно MathJax като един от лидерите тогава. Прочети още…

.

 


* Христос Воскресе

Публикувано на 15 април 2012 в раздел Семейни.

След цял ден подготовка за боядисване на яйца и месене на козунак, разбира се с активна помощ на нашата съседка Гиги:

Гиги и Милена

… тази вечер отидохме на черква и вече можем да си кажем официално – ХРИСТОС ВОСКРЕСЕ! Прочети още…

.

 


* MySQL Query Cache

Публикувано на 14 април 2012 в раздел Бази от Данни.

Използването на „кеш за заявки“ е една добра възможност за повишаване на бързодействието на СУБД. В MySQL функционалността се нарича „query cache“. Идеята е да се записват готови резултати от вече изпълнени SELECT заявки в паметта и така те да се използват наготово. За целта се използва хеш таблица. Правилната настройка на кеша за заявки може да доведе до значително ускорение в бързодействието на системата. За да направим това обаче трябва да разберем как той функционира и съответно какво можем да спечелим и какво можем да загубим от използването му. Прочети още…

.

 


* Подготвени и параметризирани заявки

Публикувано на 11 април 2012 в раздел Бази от Данни.

Стандартно една SQL заявка преминава през два етапа – подготовка (което включва лексикален и синтактичен анализ) и изпълнение. Подготовката е нещо подобно на компилацията при езиците за програмиране – текстът въведен в заявката се подготвя до изпълним за средата код. След това този код се изпълнява и се връща резултат към софтуерния продукт. Подготвените заявки ни дават възможност да разделим тези две стъпки и да ги изпълняваме отделно една от друга. Това означава, че имаме възможност първо да „компилираме“ заявката с една команда, а да я изпълним впоследствие чрез втора.

Подготвените заявки могат да бъдат с и без параметри. Ето един пример за такава заявка без параметри: Прочети още…

.

 


* Кога The Exploited ще издадат нов албум?

Публикувано на 09 април 2012 в раздел Математика.

Любимата ми група The Exploited е много стара, но за сметка на това не може да се похвали с огромно количество студийни албуми. За вече над 30 годишното си съществуване те имат само 9. Ето ги:

  1. Punks Not Dead – 1981
  2. Troops of Tomorrow – 1982
  3. Let’s Start a War… (Said Maggie One Day) – 1983
  4. Horror Epics – 1985
  5. Death Before Dishonour – 1987
  6. The Massacre – 1990
  7. Beat the Bastards – 1996
  8. Fuck the System – 2003

Кога ще излезе следващия албум? Прочети още…

.

 


* В памет на Кърт Кобейн

Публикувано на 09 април 2012 в раздел Музика.

На 05 април се навършиха 18 години от смъртта на Кърт Кобейн. Ако беше жив днес, то той щеше да е на 45 години. Това е човекът, който издигна гръндж музиката на световната сцена в началото на 90те и той е човека, след чиято смърт тя започна да залязва.

Kurt Cobain of Nirvana

Снимка от Listal

Едно е сигурно – поколенията деца и юноши от онези години няма да го забравим и винаги ще остане в сърцата ни! По онова време бях наистина много малък, но няма да забравя „менкането“ на аудио касетки, както и по колко десетки пъти се слушаше отново и отново всяка една от тях. Бях първият човек (поне в рамките на училището), който намери запис на албума „In Utero“ (не пълен, а с две-три пропуснати песни). Беше велико (момичетата ми се молеха да им го дам :P). Днес намерих аудио касетката, която даже още е „жива“ и дава чудесен звук. Прочети още…

.

 


* MySQL EXPLAIN – оптимизиране на заявки

Публикувано на 06 април 2012 в раздел Бази от Данни.

Заявките от тип EXPLAIN се използват предимно от администраторите на бази от данни, за да видят т.нар. query execution plan (план за изпълнение на заявките). При слагането на префикс EXPLAIN преди дадена заявка тя не се изпълнява, а вместо това се извежда информация за това по какъв начин MySQL ще я изпълни. Преди версии 5.6 EXPLAIN може да се изпълнява само върху SELECT заявки. От версия 5.6 вече работят и за INSERT, UPDATE и DELETE. Прочети още…

.

 


* Задача от контролна работа март 2012г. – 2

Публикувано на 06 април 2012 в раздел Бази от Данни.

Нужно е да се направи база от данни за споделяне на статии между голяма група от потребители. В нея за всички потребители се пази уникален номер и уникално име. Всеки потребител може да има три основни роли – обикновен потребител (може да чете информация), автор (може да споделя информация) и рецензент (преглежда статии и ги одобрява или отхвърля). Разбира се авторите и рецензентите сами по себе си са обикновени потребители. Освен това не е забранено на даден автор да бъде и рецензент на други статии. Прочети още…

.

 


* Събития в MySQL

Публикувано на 03 април 2012 в раздел Бази от Данни.

„Събитията“ (events) в MySQL ни позволяват да изпълняваме процедури отложено във времето. Те може да са регулярни, еднократни или ограничени в даден интервал от време. Основната полза от тях идва тогава, когато искаме да извършваме операции, които не са жизненоважни за функционирането на системата „в момента на изпълнение“. Такива може да са заявки за обобщение на данни (например изготвяне на статистически отчет в края на деня) или такава промяна на данни, която е хубаво да бъде правена, но не е съществено необходима за функционирането на системата и ако я правим всеки път, то бихме забавили излишно приложението. Прочети още…

.