Интернет
WEBLOZ’11
2
Напоследък не съм писал много, тъй като не намирах причина или приятна тема.
Днес приключи WEBLOZ’11. Не се представих отлично, но за това ще има и още две години да покажа какво мога, пък ако не се класирам в тройката, то значи, че ще се наложи да участвам и на WEBLOZ Students
.
Тази година беше юбилейното 5-то издание и както винаги всичко беше на много добро ниво. Запознах се с едни приятни момчета от Пазарджик и си прекарах добре в спа комплекс „Островче“, където състезанието беше проведено.
Общо взето останах с приятни впечетления и емоции. Вчера се запознах с г-н Методи Дреновски (CEO на SuperHosting.BG), като му се извиних лично, че малко бях прескочил лимита на процесорното време (само 16 пъти).
На лекцията, която беше водена от Любомир Русанов (SuperHosting.BG) си спечелих една тениска с логото на SH, като му отговорих на въпроса коя ще е новата версия на PHP.
И така леко и бързо се изнизаха три дни и трябваше да се прибера отново вкъщи и да се готвя за училище.
Но както казва Шишо Бакшишо: „Такъв е живита – днес се прибираш, утре те прибират куките“.
За интернет, хакерите и още нещо…
0От доста време не бях писал в блога и последните дни се чудех какво да драсна. И както има една приказка внимавай какво си пожелаваш, че може да се случи и моето желание за тема се сбъдна.
Ще започна с малко предистория, за да ви въведа в нещата.
Още миналата година, когато работех по предишния си проект (phpbgschool.com), се натъкнах на някои проблеми от сорта на файлове появяващи се на хостинга без да съм ги качвал, неоторизиран shell достъп и други такива.
Писах на съпорта на SuperHosting и те ми казаха, че най-вероятно имам дупка в сигурността на сайта да си прегледам кода да не би да може да се качи от някъде код за shell достъп и т.н.т. Колкото и самоуверено да звучи бях абсолютно сигурен, че няма как да стане такова нещо, защото всички данни въведени от потребителите се филтрират и просто е невъзможно. Единствената възможност за това нещо е да се е случило през код, който не съм писал аз (на допълнителните плъгини).
След тези ми проблеми с появяващи се сайтове изведнъж загубих достъпа си до cPanel-а на сайта и всеки път, когато се опитвах да си върна паролата с опцията за забравена парола стигах до под кривата круша, защото за да се смени паролата е нужно да попълниш един код за потвърждение, който получаваш чрез имейл, а аз този код така и не го получих, така че писах отново на съпорта.
Хората бяха много отзивчиви и оправиха проблема и получих нова парола. Обаче този сценарий се повтори няколко пъти.
И така до този съдбовен понеделник 21 февруари 2011, когато реших да си платя хоста и домейна за още една година. Хоста беше изтекъл преди около месец, а на домейна му оставаше малко повече от месец.
Направих си поръчката, платих си я, активираха ми хоста и хоп. Какво да видя? Не мога да вляза в cPanel-а!
Отново пробвах опцията за връщане на парола и както преди – без успех. Пак се наложи да пиша на съпорта и хората ми пратиха нови данни за достъп. Всичко наред. Влизам, започвам да правя някакви настройки и изведнъж ми изскача едно прозорче, което иска да въведа потребителско име и парола. Въведох ги и опа … пак нямам достъп!
Пиша още веднъж на съпорта. Оказва се че имейлът за контакт е бил сменен и не е моят, а е art.of.war[at]live.de. Оправиха го и ми пратиха нова парола (за пореден път!).
И след малко какво да видя в пощата? Някой се опитва да смени паролата на cPanel-а. Да ама не! Вече не може, защото имейлът е оправен.
Проверих IP адреса, който се е опитал да смени паролата и се оказа, че е германец! И без това не харесвам немския език (кой ме би по главата да уча немски?!) и се оказа че ползва Vodafon.
Намерих имейл за връзка с Vodafon Германия и им пратих едно писъмце (но на английски
). Ще видя дали ще получа отговор, макар че нямам големи надежди.
И така общо взето това беше причината за този пост. Благодаря на тези, които четат тези думи, което ме навежда на мисълта, че може би са прочели и останалата част от тази ми творба.
Очаквайте скоро да пиша как е минало в Монтана – остават само 4 дена.
Това е от мен, надявам се не сте заспали от отегчение…
phpBGSchool
3Какво е phpBGSchool?
Това е една система за управление на съдържанието предназначена специално към училищни сайтове. Предлага опростен интерфейс и лесно достъпна информация с голям контрол върху всичко ставащо в сайта.
Защо съм го създал?
По една съвсем проста причина. За да помогна за създаването на такива сайтове, тъй като решенията, които срещнах нямаха нужната функционалност и не бяха това от което има нужда такъв сайт.
Каква функционалност предлага?
Както вече споменах – голяма. Ето кои са те:
- Новини
- Статии
- Галерии
- Учители
- Тестове
- Форум
- FAQ (ЧЗВ)
- Съобщения
- Събития
- Учебна програма
- Допълнителни страници
- Търсене
- Лични съобщения
- Любими
- Контролен панел + статистики за посещенията
Повечето функции сигурно са ви ясни само от техните имена. В основни линии това е всичко. Предлагам на тези, които искат да видят цялата функционалност в действие да посетят сайта на проекта, а скоро ще пусна системата за свободно теглене съвсем скоро и се надявам да има хора, които да я използват.
П.П. С тази система завоювах много успехи през изминалата учебна година. На състезанието в Монтана през март се класирах на 3 място от 48 проекта. В Лозница (Webloz) съм на 8 място от 20 проекта. И също така се класирах на националния кръг на олимпиадата по ИТ, която тази година се проведе в град Варна. Там съм 14 място в класирането по категории от 28 души.
HTML5 – какво ново?
0Вече споменах в поста си за Google I/O 2010, Google влага много усилия от миналата година насам новият стандарт да бъде приет и имплементиран от всички браузъри. Както стана ясно от изявление на конференцията на Google тази година, голяма част от водещите браузъри в момента (Firefox, Chrome, Safari, Opera) бележат значителен напредък в това. До края на тази година тези браузъри ще имат пълна поддръжка на новите възможности на HTML5, само Internet Explorer остава назад, като има известна поддръжка, но както може да се очаква от Майкрософт не колкото техните конкуренти.
Ще се отклоня леко, като спомена, че в новата версия на Internet Explorer има значителни подобрения в бързината на обработка на JavaScript, също така се очаква пълна поддръжка на CSS3. Мога само да кажа, че това се очакваше от дълго време и вече няма да има нужда от специфични кодове и фиксове за IE.
Но нека не започвам нова тема, а да се върна на главната такава – HTML5.
Ако пишете на HTML, то най вероятно сте чували за различните стандарти. Тогава сигурно знаете, че има някои специфични неща за различните стандарти, като например затварянето на единичен таг т.е. HTML – <meta>, xHTML – <meta /> и други такива.
Но в HTML5 въпросът не е само в тези малки подробности. Тук се създават нови тагове и атрибути, които ще улеснят работата на програмиста, ще намалят количеството JavaScript и т.н.т.
Един от най-любимите ми нови тагове е видео тага (<video></video>). Вече никакъв товарещ flash и по-важно различни формати видео не само *.flv. Отново ще направя референция към Google I/O 2010, като кажа, че Google помогна изключително много на този таг да просъществува, защото пусна VP8 видео кодека като open source за свободно ползване. Макар че наскоро се чуха нови слухове, че пак ще ги съдят точно заради това, понеже нарушавали интелектуалната собственост на MPEG LA. Лично аз се съмнявам това да е истина и още по-малко вярвам, че това ще спре Google. Освен другите си предимства пред flash базираните плеъри, този ще може да бъде модифициран от към външен вид, както пожелаем.
Тук е мястото да спомена и още няколко тага, които мисля, че на всички ще се харесат. Това са <header>, <nav>, <footer> и други. Така кода ви ще стане по-семантичен. Няма да се впускам в обяснения за тях, така че ако искате да научите повече потърсете в Google.
Сега ще поговоря малко по въпроса за новите атрибути. Нека ви задам една задача. Ако сега ви кажа, че искам дадено input поле да съдържа определен формат дата и когато се кликне върху него да се показва календар за избор на датата, какво бихте направили вие за да го осъществите? Бихте използвали JavaScript, нали? Е ако имаше малко по-голяма поддръжка на HTML5 в момента аз бих използвал него. Вече има нови атрибути, които ще премахнат много JavaScript и ще олекотят много вашите проекти. За сега знам, че има следните атрибути: autofocus, list, multiple, placeholder, required, regex и други.
Нека кажа по няколко думи за някои от тези атрибути. Сигурно се досещате от името на autofocus, какво точно прави, но аз пак ще ви го кажа за всеки случай. Когато е зададен autofocus на дадено input поле, то веднага след зареждането на страницата курсора на мишката ще бъде поставен там. Друго, което много харесвам е placeholder. Нали знаете тези търсачки, в които преди да напишете нещо има някакъв текст, а като цъкнете върху полето изчезва? Това става с JavaScript, но ако използвате placeholder, JavaScript излиза от уравнението. Също така, когато трябва да валидирате форма със задължителни полета, ако искате да правите валидация в реално време трябва да ползвате JavaScript, но в този случай той може да бъде заменен просто от една допълнителна думичка – required. Също така сигурно искате да проверите дали въведеното в полето отговаря на някакви условия. Аз като PHP програмист бих използвал регулярни изрази за целта, но това ще стане чак след като потребителя изпрати формата. Вече не е задължително да използвам PHP просто добавям regex и за негова стойност посочвам модела, който трябва да съдържа съответното поле.
Сигурно вече съм ви отегчил с всички тези приказки, но просто искам да подчертая, че е хубаво да използвате новия стандарт. Тъй като голяма част от него вече се поддържа ви препоръчвам да пишете на HTML5, може не всичко да е на разположение за ползване, но скоро ще бъде, използвайте това, което имате сега.
И преди да приключа с този пост искам само да изтъкна още две хубави неща за HTML5. Неговият doctype не е два реда, а по-малко от един.
Ето един пример:
Doctype на xHTML 1.0 transitional е
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
, а на HTML5 –
<!DOCTYPE html>
. Сами можете да прецените.
И още нещо, преди при задаване на script тага, трябваше да се посочи задължително атрибута type. Сега е нужно само да напишете <script></script>, като това се отнася и до <style>. И вече за последно, можете да задавате чарсета без дългия content/type мета таг, а само
<meta charset=”utf-8” />
.
Ако сте стигнали до тук значи сте успели да прочетете целия пост, за което съм ви благодарен. Това е от мен.
Google I/O 2010
2
За тези от вас, които не са чували за Google I/O, това е конференция за разработчици, която Google организира ежегодно. Лично аз я следа от миналата година, когато Google направи някои изключителни и рисковани нововъведения. Те са едни от най-големите поддръжници на open source и подеха инициативата да реализират HTML5 стандарта. За хората, които знаят какви благинки и улеснения предлага новият стандарт сигурно очаквате с нетърпение да работите с него. За тези от вас, които не знаят какво представлява потърсете малко информация или очаквайте поста, който възнамерявам да напиша съвсем скоро.
Та да се върнем на основната тема. Миналата година, Google инициира въвеждането на HTML5, а също така представи и нова концепция за инструмент за комуникация и съвместна работа – Google Wave. Само за протокола да спомена, че на първия ден от конференцията (19.05), обявиха че Google Wave е вече достъпен за всички потребители без покани. Така че ако не сте имали възможността да го пробвате ви препоръчвам да го направите.
По традиция от Google винаги поднасят много изненади на своите потребители. Тази година не изневериха на тази тяхна традиция и смаяха, както разработчиците, които успяха да вземат участие, така и тези които гледаха на живо през YouTube и тези които гледаха видеата качени по-късно.
Едно от най-важните неща, които обявиха (макар че не бяха малко неща) беше новата версия на операционната система, която разработват за мобилни телефони – Android. В нея има също много изненади – доста нови функции и прочие, но няма да се впускам в подробности, а само ще привлека интереса ви, за да гледате видеата от конференцията.
Друго от не малкото на брой изненади беше пускането на видео кодека VP8 като open source, което ще подобри поддръждката на видео тага (<video></video>) на HTML5. Също така, този кодек ще бъде използван и от Adobe в новата версия на популярния flash player.
Още една изненада беше, че Market place (магазина на Google за приложения за Android устройства) вече е достън не само от мобилни устройства с операционна система Android. Страницата на Market place може да бъде отворена и от домашния ви компютър. Ще направя малко отклонение, което пак ще ни върне тук. Една от новите функции, които новата версия на операционната система Android има е голяма интеграция с услугите на Google. И тук идва точката на пресичане на двете теми. Когато сте влезли с акаунта си в Google Market Place, можете да изберете някое от Android устройствата, които притежавате (ако имате такова) и когато си харесате някое приложение и натиснете „Инсталирай“, то няма да се свали на компютъра ви и да трябва да го прехвърляте на устройството си, а директо устройството ще го свали и инсталира.
Последното ново нещо, за което ще ви говоря в този пост е нещо уникално, като концепция и като резултат – Google TV. И сега сигурно си мислите, че това е поредния сайт за видео споделяне – нищо ново, но се лъжете. Надявам се сте чували за интернет телевизорите, нещо абсолютно ново. Google представи такъв модел на конференцията тази година. И сега се питате какво толкова, та това е телевизор. Както казаха на представянето, те са взели най-доброто от интернет и от телевизията и са го комбинирали в едно устройство. Телевизорът (произведен от Sony) също се управлява от операционна система Android. Надявам се съм ви заинтересувал и затова като тъпа реклама спирам да пиша до тук. За да научите повече вижте това, което са качили като видео от конференцията в YouTube.
И завършек, както казах по-горе в поста Google по традиция подари по един смартфон под управлението на Android Froyo (новата версия на Android) на всеки един от присъстващите.
Очаквайте още от мен, а ако искате да пиша по-подробно за нещо, което съм споменал оставете коментар или се свържете с мен чрез формата за контакт. Надявам се че не съм ви оттегчил до смърт и ще се върнете и за следващия ми пост, когато и да е това.
Откриване на конференцията първи ден (Keynote Day 1):
Откриване на конференцията втори ден (Keynote Day 2):