a direct publicism site
personal pages of Yasen Pramatarov

php

Уеб-разработка по чергарски


Между другото, като стана дума за уеб-разработка… Ако човек опитва да не пише на PHP, какви алтернативи бихте препоръчали? Обръщам се към хората, които са разработвали с web-frameworks. Зная за Django, Pylons, Jinja и Mako, зная и за Rails. Но масово споделените хостинги не предоставят mod_python или mod_ruby, а единствено mod_php и CGI. Не за друго, не защото е трудно или пък защото е нещо ново, а просто защото сисадмините са мързеливи копелета. Да не ми наскачат сега админите — знам го, и аз съм бил админ. Масово хората ползват PHP и CGI, ерго това им стига. Как тъй ще ги глезим с Python и Ruby…

Ама това е върло несериозно. Другата пречка пък е, че много от frameworks на пайтън и руби изискват достъп до команден ред и наличие на някакъв набор от съответни програми за изпълнение. А това, което е най-удобно при PHP-писането е, че кодът може да се вземе, да се сплеска в един архив, да се занесе на друг сървър и ще е почти сигурно, че ще си тръгне и там. Има например CakePHP, но пък е… на PHP, а аз искам малко почивка от него. :)

Имам някакъв афинитет към Jinja и Mako и си пробвам разни малки нещица вкъщи с тях, работил съм по малки проекти и с Rails. Но не мога да кажа, че например проект на Rails е нещо, което може да се “занесе” в хостинг ей-така. При питонските системи си е същото, ако не и по-зле. Та има ли начин да пиша с някаква система за шаблони или по-цялостен фреймуърк на python или ruby и да имам такава “преносимост”? Коя такава “среда” е най-номадска, най-чергарска? И коя препоръчвате?

Вие на какво пишете? Не питам за писане начисто, не питам и за къстомизиране на готов CMS — тия неща са ясни. Ако пък и аргументирате предпочитанията си и препоръките, цена няма да имате ;)



Tags:
27 Септември, 2007 - 19:01

 
 

Нощно 01


От вчера някъде около 11 и половина до 13:25 преди малко. Към 14 часа, прекъснати на два-три пъти за да взема още нескафе от кухнята. Административен раздел на сайт, само кода с готов дизайн и начисто. Отдавна не бях работил така, а и напоследък все се захващам с разни по-мащабни и объркани начини за правене на иначе прости сайтове.

В 13:25 компютърът се рестартира - май много жежко му идва да работи толкова дълго и нещо прегрява. Тъкмо беше бавен рестарт, с проверка на дяловете и успях да се разсея в кухнята, да си взема нещо за хапване и да си побъбря с котарака :)

Почти всичко стана, имам само няколко неработещи форми за качване на файлове - не разбирам защо не винаги предават самите файлове. Сигурно съм забравил как се прави, а четенето на документация за познати неща е върло скука. Абе ставам още, дето се вика :)



Tags:
30 Май, 2007 - 12:41

 
 

Отново на свободна практика


В понеделник напуснах работа отново и отново съм на свободна практика. Какво означава това за ИТ-специалистите - много и различни неща. В моя случай значи, че най-вече ще правя уеб-проекти “на парче”. Имам и други идеи за работене, но те ще почакат, докато ги доизмисля, подготвя и разработя. Междувременно ще пиша сайтове на PHP. “Пиейчпи-писател”, както казваха колегите във вече старата ми работа. Не се оплаквам - все някой трябва да върши и това, а пък аз имам търпимост към такъв вид работа. Имам и доста за учене и развиване, така че няма да е скучно. Ще си спазвам и един принцип, който наскоро опитах да пренебрегна. Става дума за това продуктът на работенето ми да е (или да се основава на) свободен софтуер. Ако това е невъзможно, то поне да не е “лош” продукт, да не ограничава хората, които го ползват. Досега при мен най-видимо е било това със свободността - най-добре съм се чувствал, когато съм работил със и по F/LOSS.

Да кажа нещо и за работата ми - не напуснах заради друго предложение или заради лоши условия. Напротив, в CNsys всичко беше намясто, условията са добри и в смисъла на работна среда, и в смисъла на заплащане. Колегите ми бяха готини в отношенията и прецизни в работата. Доста хора, които съм срещал отдавна или познавам задочно от “линукс-средите” се оказаха събрани там.

Но не можах да се приспособя към целодневна работа по нещо, което въпреки всички интересни аспекти в него, все пак не е, както се казва, “стихията ми”. Предпочетох да напусна пред това да ми става все по-трудно да мобилизирам интереса и ентусиазма си и така да лъжа както себе си, така и фирмата. Моята позиция трябваше да бъде на внедряване на системи за управление на бизнеса в ИТ-отдели. Това означаваше доста четене през този месец на различни статии по въпроса, както и няколко обучителни сборника и една от книгите от ITIL, “Service Delivery”. Интересни неща, но попадаха все някъде посредата между компютърджийското и философското в мен - твърде повтарящи се и нерефлективни, за да ги възприема философски и достатъчно далечни от GNU и свободния софтуер, за да не ги възприемам компютърджийски. Въпреки така прекъснатия ми опит за доближаване до ITIL смятам това за интересна област и май ще продължа да чета статии по такива теми. Още повече, че въпросът за ИТ-управлението е много тясно обвързан с разбирането за качеството - а там имам интереси, пък и си е типично философски въпрос.

Предстоят ми и някои покупки, определено 1 гигабайт RAM и или нов монитор, или лаптоп на изплащане. Трябва да внимавам да не харча излишно, но пък и да не купувам боклуци - става дума за инструментите ми за работа. Доста се интересувах от преносими машинки напоследък и явно имам два варианта - или да взема нещо евтино и старо, но колкото да ми върши работа засега, или нов ThinkPad. А те са скъпички.

Започнах отново и да снимам. Нищо особено засега, но пък имам цял куп снимки за редактиране от фоторазходките, така че ще наваксвам полека. Днес отидох да говоря за една поръчка и на връщане през центъра изпонащраках руската църква. И преди съм снимал там, мястото е много готино особено с късна светлина или пък със сняг - градинката зад църквата се пълни с отблясъци и сенки. Е, нямам някакви супер-снимки, но за мен е важно, че ми дойде отвътре да извадя апарата от чантата, която иначе на работа всеки ден носех, но не ползвах. И че поснимах и ми беше приятно.



Tags:
22 Февруари, 2007 - 20:10

 
 

Дългоочакваният Drupal 5


Drupal е страхотна система, за пореден път се очаровам от мащабите с които може да се разширява и специализира. Още преди изобщо да помисля да мигрирам сайта си от Blosxom на Drupal, ми бяха интересни предимствата на изцяло свободно лицензирания Друпал пред популярния все още тогава Movable Type.

Малко след като мигрирах тези страници към Drupal, се появи дълго очакваната първа пробна версия от серията 5. Тази първа “бета” сложих на сайта на един мой фотографски проект, който е далеч от завършването си, но с 5.0beta1 направо “грейна”. Много са новите неща във версия 5 в сравнение с предишните 4.6 и 4.7 и определено заслужават отделна статия - не са само външни и козметични, променени май са доста от функциите. Предполагам, че голяма част от кода, който съм писал досега за различни сайтове и все за 4.6 или 4.7 няма да работи без редактиране и пренаписване. Това, разбира се, не е лошо - 4.7 накрая изоставаше от желанията на друпал-общността и доста от нещата се правеха с “мръсни хакове” в шаблоните и модулите.

След ентусиазма на всички около 5.0beta1 излезе и 5.0beta2, както и нова концепция за номериране версиите на модули и шаблони - вече само по номера на версията човек ще може да се ориентира за кое издание на CMS-а е писан даден модул. Още едно от козметичните решения, но е наистина удобно - модулите за 4.7 бяха станали толкова много, че следенето им понякога можеше да е проблем. Следващото, което е логично да очакваме в този вид “козметика” е да се направи някаква еднотипна система за следене на версиите на модулите, с която лесно да стават обновленията и поправките на бъгове. Нещо като apt-get за Drupal - има тук-там в коментарите на сайта такива предложения и проекти.

За мен, за сайта ми най-ентусиазиращото е появата на човек, който е решил да поддържа модул за фотоблогове. “Photoblog” е вече в списъка на допълнителните модули за 5.0. И макар да не е толкова трудно и сам да си направя изглед за фотоблог, като ползвам модула “Views”, който така и така вече работи на сайта ми, все пак е друго да се ползва готовото решение. Причината не е в някакъв мързел или пък в предоверяване на разработчика. Макар в отворена общност като тази на Drupal контролът на качеството на модулите да е лесен - най-малкото ако има някакъв проблем, лесно ще мога да го забележа или аз да го съобщя. Причината е, че фотоблогът е много бързо и различно развиваща се концепция за сайт. Аз днес може да имам обща представа за фотоблога си, но защо да отказвам помощ от хората, които следят този модул? И от самия му разработчик? Тоест може да има функционалности и идеи за разположението, които иначе сам няма да открия. А дали ще ползвам мой си код или модула на разработчика, в крайна сметка все ще направя фотоблога си да изглежда по начин, който ми допада.

Лошото е, че модулът “Photoblog” е написан за версия 5.0, а аз тук ползвам предишната - 4.7. Пряко обновяване до 5.0 би минало без проблем, както казах версия 5.0 е удивително стабилна за пробна версия. Проблемът е, че за Arcane lore съм ползвал доста допълнителни модули, а и мой си код, които не зная дали ще проработят на версия 5.0 без проблеми. Значи трябва да изчакам, докато поне основните от тези допълнителни модули излязат във версии за 5.0 и след това да прегледам и кода си.

Това е хубаво, защото междувременно ще си имам сайт и ще продължавам да си го ползвам - да пиша статии, да качвам галерии с рецепти например… Лошото е, че отлагам възстановяването на фотоблога си, а той взе да ми липсва много. Ама много. Ако пък го направя сега по мой си начин с мой си код, след време, когато така и така минавам към 5.0 ще трябва да го мъча пак.

Смахната работа. Но е приятно! Drupal 5.0 е страхотен! Не че няма други добри свободни CMS-и, но не ща да слушам за тях поне известно време :)



Tags:
10 Декември, 2006 - 18:13

 
 

Mediawiki на dom.bg


Наскоро писах как можете лесно и бързо да инсталирате и пуснете в употреба уеблог-системата WordPress на хостинг-място, осигурено от доставчика dom.bg. Причината да смятам това изобщо за полезно по някакъв начин е, че въпросният хостинг е много евтин. Има по-добри, не казвам, че е добър. Макар на всички мои писма да е било отговаряно винаги в рамките на най-много няколко часа, дори и привечер и нощем. Но все пак този хостинг има едно отличително качество и то е ниската цена. Не, изобщо не рекламирам този доставчик! Достатъчно съм се измъчил с услугата му, за да пожелавам такива кахъри на хората… Причината да пиша тези малки “спасяващи” решения е, че сигурно има и други хора, които като мен вече са се подлъгали и са си купили хостинг именно от dom.bg. Надявам се тези неща да помогнат на някого, който е при такъв или подобен доставчик, да осъщетвява идеите си в мрежата поне малко по-лесно и удобно.

——

Ако сте опитвали да инсталирате MediaWiki на акаунт в dom.bg, сте забелязали, че се появява същият проблем, както при WordPress - след инсталация страницата не се зарежда, връща се грешка 500. Причината отново е във факта, че PHP се изпълнява не като модул, а през CGI. Работил съм с повечето от свободните проекти за малки уеб-сървъри и много често ми се е налагало да пускам PHP през CGI. Но винаги, когато натоварването е било по-голямо, тоест въпросното php не е било “за кратко”, “инцидентно” или “единствено”, съм сменял малкия сървър с Apache. Именно защото за Apache има модули за такива неща. Използват повторно заделената си памет и т.н. Не мога да си представя как работи уеб-сървър в условия на голямо натоварване (защото каквото и да си говорим, dom.bg е един от масовите доставчици, доста страници търкаля това CGI…) с PHP, извикван всеки път през CGI, за всяка php-страница.

Но все едно, ето как да си пуснете MediaWiki на dom.bg:

Отваряте файла /includes/OutputPage.php и закоментирате реда

header(“HTTP/1.1 {$this->mRedirectCode} Moved Permanently”);

При мен беше под номер 427. Под него добявате следния ред:

header(“Status: {$this->mRedirectCode} Moved Permanently”);

Закоментирате и реда

header(“HTTP/1.1 304 Not Modified” );

При мен беше под номер 122. Под него добавяте следния ред:

header(“Status: 304 Not Modified” );

И след това MediaWiki вече е готово за “пълнене” със съдържание. Само първата промяна ще е достатъчна, за да “тръгне” сайтът. Но променете и втория указан ред, за да избегнете всички възможни връщания на грешка 500 по такава “cgi”-причина.

Отново, както ии при WordPress, може да се постави кратка проверка на местата, където се изпращат http-заглавките и да се изпраща адекватен отговор, в зависимост от това дали PHP е като модул или е през CGI. Ако има интерес, ще публикувам такава проверка и може да пиша на разработчиците да я добавят. За улеснение на обновленията на версиите за такива cgi-потребители. Но мисля че засега с такъв малък хак всички ще се справят. А и dom.bg може да обновят някой ден сървърите си. Не само че са през CGI, ами и версиите на софтуера им са едни… стари, де… Ама няма значение, тяхна си работа… ;)

Смятам да не пиша повече за този проблем. Принципът ви е ясен и сигурно има страшно много други програми, които ще връщат грешки в такава среда. Ясно е какво трябва да се промени. Ако имам друг хак за “справяне” с dom.bg, принципно различен, тогава ще пиша.



Tags:
13 Март, 2006 - 19:33

 
 
Different Photography
Make Money Fast - Work At Home
helio ocean
Cheap Macs, PCs, LCD TVs etc
Flash Drive Recovery
Ако сайтът ви е харесал, можете да ме почерпите с
или
през ePay
perdolitical manager good job trachilic
money cash casinos