В деня на шегата 01.04. излезе версия 2.3.0 на Tangra framework. На следващия ден се изкачи то позиция 161 в класацията на проектите в sourceforge. Предишния най-добър резултат беше ~363. По важното е, че напоследък стабилно се задържа в top2000.
Archive for the ‘Web development’ Category
Tangra Framework достигна ранг 161 от 100к+ в sourceforge
April 3rd, 2010 |
Загуба на обратна съвместимост в PHP 5.3
March 19th, 2010 |
Тия дни експериментирам с PHP в областта на тестване на бързодействието и profiling. Покрай това инсталирах xampp на win машината, който идваше с PHP 5.3.1 (на линукса съм с 5.2.х). В един момента забелязах, че някой файлове гърмят, защото били използвани deprecated функции (примерно ereg()). Отне ми известно време да разбера, защо, аджеба, става така и ето резултата:
По някое време са въвели error_reporting флага E_DEPRECATED (вероятно в 5.3), който сега участва в E_STRICT. При мен (в tangra framework) има два режима на работа -- нормален E_ALL | E_STRICT и php4 режим (използва се, когато се включват php4 или просто калпаво написани външни библиотеки), който е само E_ALL. По подразбиране в 5.3.1 в php.ini (поне в xampp пакета) error_reporting е E_ALL & ~E_NOTICE & ~E_DEPRECATED. Получава се така, че с моята настройка E_ALL | E_STRICT аз де факто активирам E_DEPRECATED и оттам ми идват проблемите.
Това, което ме дразни е, че PHP пичовете са включили E_DEPRECATED в E_STRICT и изненадват неприятно всички, които го използват. Доста приложения ще поизгърмят и ще съсипят съня на не един и двама php developer-и. В интерес на истината, проблемът се оправя относително лесно и бързно, ама може ли така безхаберно да чупят обратната съвместимост. Да бяха направили E_DEPRECATED независим флаг, а не да го включват в E_STRICT… :-(
Допълнителни инструменти за PHP програмисти
October 7th, 2009 |
В предишния постинг говорих за основните инструменти като редактори за PHP код, HTML и изображения. Освен тях всеки PHP програмист използва и други tool-чета с които си улеснява живота и тук ще стане дума за тях. Ще стане дума като за stand-alone продукти, така и за плъгини. Ориентацията основно е към Windows, но ще се радвам ако постнете в коментарите алтернативи и за Linux.
1. SSH клиент
SSH клиента е необходим, когато искате да се логнете в Linux/*BSD сървър. По принцип на много PHP developer-и рядко им се налага да го правят, но ако си поддържате ваш линукс сървър вкъщи или трябва от време на време да свършите нещо на служебния, за да не губите времето на сисадмина ще ви е необходим.
Аз съм се спрял на PuTTY. Има всичко, което ми е необходимо (т.е. достатъчно настройки за разни дреболии). Единствения недостатък, който съм открил е, че не върви кажеш на някоя колежка: "Отвори си путито, за да ми влезеш в сървъра" ;-).
2. Администрация на БД
Избор на редактори / IDE-та за PHP, HTML, изображения или "Майсторът се познава по инструментите"
October 6th, 2009 |
С годините работата на PHP програмистите започна да става все по-сложна и обемиста. Ако едно време обичайния проект беше да се направи проста регистрационна форма и няколко динамични странички и всичко това подплатено с 4-5 DB таблици, то днес нерядко се сблъскваме с проекти, които имат 30-40 форми, 50-60 динамични страници, 30-40 DB таблици, cron job-ове, ajax-и, CVS-и, XML-и и т.н. Накратко казано: нещата загрубяха и вече не можем да си позволим да губим време за глупости. Един от проблемите, който забелязвам доста често е, че много developer-и използват "кекави" текстови редактори за работа с PHP код и по този начин си "спестяват" възможността да си ускорят работата, като едновременно с това я направят по-лесна и като страничен резултат -- по-качествена.
Има един принцип в удобството за използване и той гласи "На човек най-удобно му е това с което е свикнал". Макар, че е донякъде казано на майтап, всъщност, до голяма степен това изречение описва защо много хора са изключително негативно настроени към смяна на редактора, който използват. Когато си "копал" примерно UltraEdit в продължение на 2 години после и най-доброто IDE като Zend Studio Client ти се струва тегаво и досадно и трябва да мине поне месец, за да свикнеш с него. Една от най-добрите мотивации, които може да получи човек за смяна на досега използвания продукт е да липсват в него полезни / удобни функции, които са налични в друг. По-долу ще бъдат изброени различни продукти заедно с кратко описание на "изкушенията", които могат да ви накарат да си "смените вярата".
N съвета за PHP програмисти
October 5th, 2009 |
Преди около месец за пореден път се учудих как е възможно PHP програмисти, които имат над 3-4 години опит все още да си ограничават собствената продуктивност, поради неследването на няколко относително прости правила в работата си. Това ми даде необходимата мотивация да напиша серия от постинги, които съдържат съвети, които е възможно да улеснят живота на немалко колеги (предварително се извинявам на тези, на които ще се сторят прекалено елементарни -- просто тези постинги не са предназначен за вас).
Поредицата ще включва статии относно:
- избор на редактори / IDE-та за PHP, HTML, изображения или "Майсторът се познава по инструментите"
- използване на Template engine (Smarty). Разделение между логика и презентация или как да не си стъпваме по пръстите с дизайнерите;
- използване на Database abstraction layer (ADODB) или как да не зависим от конретна RDBMS;
- PHP5 и какво е наистина новото и полезното в него спрямо PHP4 или краят на "едно си баба знае -- едно си баба бае";
- система за контрол на версиите (svn) или как да не си стъпваме по пръстите с колегите програмисти;
- основни линукс познания или как да не изглеждаме като ламери;
- проектиране на DB за web приложение или как да не си скубем косите, когато дойдат късни change requests
- колекция от дребни трикове за улесняване на живота;
- PHP frameworks или защо е по-добре да участваме в надревара във въоръжаването, отколкото да откриваме топлата вода отново и отново.
Ще гледам поне веднъж седмично да написвам по един постинг от изброените горе, а когато ги привърша -- теми за нови -- бол.
Разочарование от новата версия на OpenProj
September 16th, 2009 |
Преди година-две с приятна изненада открих, че има free алтернатива на Microsoft Project, която се нарича OpenProj. Свалих си го и го бях ползвал за два-три малки проекта. Въпреки, че имаше доста бъгове -- на мен ми вършеше работа. После нещата се завъртяха така, че забравих за него и така до сегашния момент, когато отново ми притрябва project management софтуер.
Последната версия на OpenProj е 1.4.2. Свалих я, инсталирах и… разочарование. Работи изключително бавно, интерфейса замръзва след буквално всяка операция за 1 -- 5 секунди. Тъпо и упорито се опитах да направя един проект и да вкарам няколко задачи, но просто не ми издържаха нервите.
Най-вероятно забавянето идва от някакъв конфликт с версията на Java-та която имам (последна), но честно казано -- нямам идея как да го оправя това (имах подобни проблеми навремето със Zend Studio-то).
Явно ще трябва пак да се правят нещата по първобитния начин с електронна таблица…
New modules for Tangra Framework -- serp_stats, bot_tools, extlib_open_flash_chart
September 7th, 2009 |
Few days ago new modules were published at http://www.tangraframework.net/. Most important of them is serp_stats which gives you functionality to track search phrases positions in results of different search engines (SE). bot_tools provides some basic classes used by bots and xproxies. extlib_open_flash_chart is just a wrapper around open flash chart -- flash tool for drawing pretty charts like lineplots, bars, pies, etc. Here are some screenshots:
XProxies provide ability for bots to have available different source IPs. Some search engines will provide different results based on in which country source IP is. This also useful if you don't want to reveal your server's IP.
Stubhub lowering commision rates again -- this is fucked up
July 31st, 2009 |
For a year I was participating in stubhub's affiliate program. I've created relatively big and complicated PHP based site that was using their datafeed files. It had some sophisticated functionalities like validating import data, advanced events management, IP delivery, etc, etc… Today I've received email from stubhub notifying me:
"New Commission Structure
Beginning Aug. 1, we will be streamlining our commission rates to reflect specific rev shares per major sports category/genre sold. Moving forward, we will incentivize based on what you sell, instead of how much you sell. This will allow you to focus your efforts on the ticket genre that makes you the most money. This will also eliminate the wait time for performance incentives to be distributed."
What a lovely marketing bulshit: "Streamlining". "reflect rev shares". "we will incentivize based on what you sell, instead of how much you sell".
What they did efectively (again) is that they lowered the commison for MLB tickets from 7% to 4%. Isn't that great? Few months ago they lowered it from 8% to 7% but obviously their greediness was not satisfied.
Look guys (stubhub), no one wants to be incentivized on what he / she sell. We cannot create new and develop (in seo terms) new sites for your new bullshit commision structure. I can't use my MLB optimized site to sell concert tickets. Even if I am willing to create new site for example for concert tickets -- what is my guarantee that you will not change your structure again in few months…
You (stubhub) are not reliable partner. I will move to other affiliate program as soon as I find time to change my sites.
Нов дизайн на ikratko.com
June 23rd, 2009 |
На принципа, че обущарят ходи със скъсани обувки доста дълго време си бях зарязал "фирмения" сайт и седеше с един OEM-ски дизайн. От занимания с проекти на клиенти не ми беше оставало време да го погледна и да го оправя. Ето, че най-накрая "най-щастливия ден дойде" и пооправих малко нещата. Честно казано, въобще не ми се занимаваше да правим с дизайнерката нов дизайн, защото щеше да отнеме поне няколко дена, а и имам доста идеи как да се развие и чак като му се изчисти структура и има налично всичкото съдържание -- тогава ще му направим шукар нови "дрешки". Ето го и новия вид на сайта, който предлага изработване на сайтове ;-).
Като съм почнал да отделям време за собствените ми неща -- сега мисля да пооправя и афилиейт сайта за бейзболни билети, който нещо (more…)
Полезен плъгин за Firefox -- Trottle -- симулира бавна връзка
June 14th, 2009 |
От време на време ми се налага да се боря със следния проблем -- правя даден сайт, при мен си изглежда ОК, но като отида при клиентите да го презентирам и поради (по-)бавната връзка започва да се "налива" -- разни div-ове или таблици се наместват в процеса на зареждане на страницата. Тъй като при мен връзката между PC-то ми и dev сървъра е 100Mbit -- не мога да го усетя в процеса на разработка и ако пропусна да прегледам release чек листa -- случва се да се получат конфузни ситуации с клиентите. Преди години ползвах една програмка за windows, която cripple-ваше връзката временно, но за съжаления я загубих…
Днес се присетих за пореден път да потърся подобна и първия ми избор беше да прегледам плъгините за FF. За щастие добри хора са се сетили и са направили Trottle. Пичовете са си поиграли и са го направили с повече от достатъчно опции:
- можете да си избирате каква връзка да симулира -- модем 56kbps, 256, …, custom
- може да се избира кои ip адреси да бъдат trottle-вани
- може да се избира кои домейни (дори и с wildcard) да бъдат trottle-вани
- дава разни статистики за dl/ul