Archive for the ‘Програмиране’ Category

CodeIgniter output cache directory tweak

June 24th, 2010

Кешовете имат относителна полза, понякога са напълно излишни, друг път наложителни.

Какво всъщност е кеш? Ако приемем, че дадено приложения/софтуер/програма изпълнява математическа задача, то кеш е запазването на нейния резултат и използването му в бъдеще. Няма причина да се използват ресурси, за да бъде изчислявана една и съща задача всеки път когато е нужен резултата от тази задача. Read more »

Alfarss.Info с мобилна версия

December 17th, 2009

От близо година съм закупил специален домейн за мобилна версия на AlfaRss.Info, но все забавям пускането й. Тази вече реших да не завършвам оригиналния проект, а да пусна нещо бързо, работещо и ефективно! Така се роди m.alfarss.info или мобилна версия на сайта за новини.

Read more »

MySQL numeric types – дължина на полетата с числа

October 30th, 2009

Поиграх си да направя тази таблица, тъй като не рядко ми се налага да използвам данните от нея.

Надявам се да е полезна и на други хора, затова я пускам в блога си. Read more »

Random Image widget

July 24th, 2009

На никого не препоръчвам да използва оригинала на “Random image widget” писано е от програмист първокласник, с двуседмичен опит с php! Няма такова тегаво приложение – трябваше да пренапиша части от кода за да се изпълнява за приемливо време.

В оригиналния си вид уидгета прави X на брой еднакви дейности (X е броя на постовете в страницата), вместо само веднъж. Като всеки един цикъл отнема 160мс (при 10 поста това са 1.6 секунди отгоре). Друг е въпроса, че няма никаква логика сорса да се изпълнява за всеки пост при положение, че уидгета е настроен да се използва само в сайд бара!?

След вкарване на няколко допълнителни проверки уидгета започна да се изпълнява само колкото пъти е нужно (веднъж) и времето за изпълнението му падна до 160мс. В крайна сметка след вкарването на още малко допълнителен код общото време необходимо за уидгета падна до “0.000493 seconds“.

Това е поредният плугин, в чийто сорс се заглеждам и все повече се уверявам, че всичко около уордпрес е една огромна боза.

Ето и малко от предишния ми опит с WP:
timestamp в текстово поле?
StatPress поддръжка на кирилица

AlfaRSS.Info v0.7

June 1st, 2009

Време бе да обърна малко внимание и на този проект.

Какво ново във версия 0.7? С една дума нищо:-)

Намерих малко свободно време и го оползотворих в реорганизиране и подреждане на кода на проекта за агрегиране на новини. Преминах портала изцяло темплейтна система (моя си, която ползвам вече 4-5 години, и която в скоро време обмислям да пусна под opensource лиценз, но това е друга бира).
Този версия е по-скоро междинка и в скоро време обмислям поетапното пускане на разни щуротии, но както се казва ще поживеем, ще видим. Read more »

Не е истина – все още има сайтове пазещи паролите в чист текст!?!

April 22nd, 2009

След неуспешен опит да се логна в ping.bg се възползвах от опцията за “Забравена парола”. С голямо неудоволствие установих, че вместо линк за подмяна на парола получих паролата си въведена при регистрацията! Това е безумие – чиста проба немарливост!

Всеки сайт трябва да упоменава още при регистрация как се пази паролата на потребителя! Никога няма да се регистрирам в сайт, за който знам, че не ми хешира паролата! От тук нататък всеки сайт, който пускам и изисква регистрация, ще съдържа тази информация.

С този пост започвам и създаването на черен списък със сайтове не хеширащи паролите на потребите:

ping.bg
mobilebulgaria.com
mrbool.com
superhosting.bg
izbori.btv.bg

Защо паролите трябва да се хешират? Това позволява паролите да се пазят в такъв вид, че ако някой открадне базата данни с паролите да не може да разбере каква е оригиналната парола.
Например ако паролата е “sdfsfg34h4jh” в md5 кеш тя представлява “0d2c0a2a462fe807954521b861529286”. При евентуално открадване на базата хакерът ще разполага само с една хеш сума, но много трудно ще разбере каква е истинската парола.

Dir.bg крадат нагло от InvestorBG

April 13th, 2009

Понякога е хубаво да те копират – признават качеството на труда, но от друга страна си е изключително нагло!

Тъй като оригиналният код съм го писал изцяло аз (за InvestorBG) и го познавам перфектно не бе трудно много бързо да хвана кражбата. Това, което ми направи впечатление, че от dir.bg не са си направили труда да редактират и един ред от кода! Нагло, много нагло!

Става дума за банер система, която показва конктекстни реклами в новините на dnes.bg, tialoto.bg и investor.bg.

Направете сами разликите:

Новина в dnes.bg:
dnes-bg-novina

Новина в dir.bg
dirbg-kradci-na-sors

Веднага прави впечатление еднаквия стил на контекстната реклама “парите” и “дни”. Не за друго ами един и същи (напълно едно към едно) javascript ги генерира.

Скриптовете са на следните адрес:

оригинала в dnes.bg
копираният в dir.bg

Дори името на javascript файла не са си направили труда да променят! И двата са common.js
За да замажат малко положението от дира са премахналите първите няколко реда от common.js, в който е написано и името ми (същите редове присъстват в оригинала), както и са е опитали да скрият кода с Javascript Minify, което прави кода почти непознаваем и по-кратък. Само, че имената на променливите остават същите и кода се разпонава много лесно когато го познаваш.

Не мога да разбера как дира могат да паднат толкова ниско или просто програмистите им са толкова некъдърни, че не могат сами да напишат кода. Да плачеш или да се смееш!

За мен лично това е признание, че кода ми е достатъчно добър, че да бъде копиран. Е благодаря, а инвестор да му мислят, все пак в следващите 8-9 години кода е тяхна собственост:)

Колко трафик ще е необходим за сайта ми?

November 14th, 2008

Този пост е част от поредицата “Какви ресурси са необходими за един сайт”.

На кратко формулата за изчисляване на необходимия трафик е следната: среден размер на трафика от една импресия по броя на импресиите на месечна база.

Read more »

Оптимизация на PHP

November 13th, 2008

Това е първият ми пост в категория PHP оптимизация, в която ще се опитам да изнеса колкото се може повече практически опит, постигнат в работата ми като PHP програмист. Надявам се да бъде от полза на колкото се може повече хора, тъй като вярвам, че нуждата от подобна информация се увеличава всеки ден с всеки нов сайт.

Read more »

timestamp в текстово поле?

September 26th, 2008

От няколко месеца използвам един доста полезен и явно популярен плугин StatPress. Преди известно време писах как може да се оптимизира, така че да не изкарва питанки на мястото на кирилицата при преглед на статистиките.

Днес случайно преразгледах таблицата на StatPress – правят впечатления някои безумно подбрани полета: прочети нататък

Няма програмисти в рая!

July 24th, 2008
Добър сорс или бърз сорс?

Добър сорс или бърз сорс?

Често ми се случва да съм в позицията на мишока програмист от картинката и винаги съм заставал на страната на “хубавия сорс”.

При вас как стоят нещата? Създавате софтуер за собствено удоволствие или за удовлетворението на вашия шеф и джоб?

Интересно ми е какво е мнението на колегите!:)

Навлизане в xmlrpc

May 9th, 2008

От няколко дни (по-скоро нощи) мъча xmlrpc протокола и по-скоро неговата свързаност с така нашумелите в днешно време блогове.

В крайна сметка го преборих! Вероятно тази вечер българският каталог за безплатен софтуер ще стане пълноправен член на общността даваща достъп до протокола pingback работещ върху xmlrpc.

За какво става дума? Какви са тези съкращения дето ги дрънкам? Всъщност всеки един блогер без да знае използва протоколите pingback или trackback. Те дават възможност на авторите на блогове, които биват цитирани, да получават известие за това, че са били цитирани.
Или с по-ясни думи: когато някой блогер постави в своя блог линк към статия на notrial.info, то неговият блог автоматично ще информира noТrial за този пост. В последствие от това в цитираната статия най-отдолу ще се появи линк към сайта на блогера.

Системата за сега работи тестово и е възможно да дава бъгове. Не се използва готова система/софтуер и с времето ще се добавят всички екстри. Функционалността за сега е съвсем базова.

Едно линкче за проба: Софтуер удвоява P2P скоростите

IT Поговорки

April 16th, 2008

1.Сговорни инженери и 8086 Upgrade-ват.
2.Незаредена дънна батерия, Setup не поддържа.
3.Бай програмисте, да не те срещне “Правец”.
4.Краткотрайното програмиране – срам за програмиста.
5.Който вирус пише, от вирус бива форматиран.
6.Присмял се 8086 на 8088.
7.Който crack-ва сам бива crack-нат.
8.На 286-ца – двойка копроцесори.
9.Видяла 286-цата, че вграждат копроцесор на Pentium-а, и тя разтворила слотове.
10.Longit баби – лоши сектори.
11.Малкият вирус и големия диск форматира.
12.Който не е информиран, ще бъде форматиран.
13.Беден програмист – Pentium сънува.
14.Не е луд този, който пише софтуеър за 16 MB RAM, а този, който го използва.
15.Хитрият cracker, с двата крака.

“Duplicate content filter”

April 4th, 2008

Думите “Duplicate content filter” явно се свързват изцяло и само със SEO и разните му гугълски оптимизиация. Да, ама днес реших да правя такова нещо – не! не! и не! не става дума за SEO, а чисто и просто откриване на поваряща се информация. В моя случай: десетки хиляди заглавия и няколко процента от тях повтарящи се или най-точно казано всичко, което се излива на килограми в AlfaRSS.Info

Намирането на напълно еднакви заглавия е лесно, но както винаги лесните неща не са най-добрите (въпреки, че една скоропоговорка твърди обратното) и софтуера трябва да намира и близки или поне възможно най-много разновидности на едни и същи изречения.

В крайна сметка гугленето не помогна и сега, някъде към три през ноща, цялата глупост се опрости до една малка функция, която работи перфектно.

Накратко функцията търси думите в един речник, после в друг речник търси изречения със същия брой и вид думи с относителна точност плюс/минус една дума.

За сега работи перфектно, но ще следя резултатите за да хвана евентуалните проблеми.

Май е време да си лягам… Монк тайм!