yanoo.pl

mentally disabled

Archive for the ‘praca’ Category

PHP – nie ucz się tego, na miłość…

without comments

Siedząc na blipie zauważyłem, że wciąż bardzo wiele osób zaczyna swoją przygodę z programowaniem od języka PHP. Przerażające przy tym, jak wielu z nich (jeśli nie wszyscy) nie lubi dokumentacji; zadają masę pytań, których rozwiązanie można znaleźć po jednym rzucie oka na definicję funkcji. Podobnie z googlem – przerażająca ilość przyszłych “developerów” zamiast spytać wielkiego brata, truje dupę innym tym samym pytaniem, które wcześniej zadano miliony razy i 10 razy tyle padło odpowiedzi.

Jeśli już jednak, drogi czytelniku, postanowiłeś zacząć naukę PHP, oto garść rad ode mnie:

  1. Nie ucz się programowania w ogóle. Serio. Nie będzie z ciebie żaden programista, co najwyżej masę kwiatków światu po sobie zostawisz.
  2. Sięgnij po Pythona, albo Ruby’ego. Są łatwiejsze (serio!), przyjemniejsze (o wiele!), doskonalsze (o co nietrudno), a co najważniejsze łatwiej się w nich nauczyć dobrych praktyk i ominąć te złe.
  3. PHP ma chorą składnię, jest zacofany (nie ratują go nawet nowości w 5.3, którego jeszcze nikt nie używa), a swoją pobłażliwością zachęca początkujących do popełniania błędów. Znam odważnych, którzy uważają, że “warningi” to nic złego, wystarczy wyłączyć ich wyświetlanie. PHP jest też wolne. Straaasznie wolne.
  4. Jeśli wciąż nie zrezygnowałeś to przedstawię zalety: gigantyczna ilość materiałów w sieci oraz dostępność na serwerach, która też działa w drugą stronę, tj. “serwer uruchamia php, więc nauczę się php.” Tylko po co się cofać? Dzisiaj naprawdę można znaleźć dość tanie serwery obsługujące Pythona i/lub Ruby’ego.
  5. Wciąż chcesz się uczyć PHP? Zacznij więc z grubej rury – od Symfony. Przejdź adventa od deski do deski. Nauczysz się przy tym (jak szczęście dopomoże) jako-tako organizacji kodu, popełnisz tysiące błędów i napotkasz drugie tyle problemów, które i tak prędzej czy później byś spotkał. Jak ogarniesz tę lekcję i wciąż nie zmądrzejesz to naucz się Zend Frameworka. Zend wymusza od programisty by zrobił więcej i więcej wiedział.
  6. Za dwa lata, kiedy świat w końcu zrozumie, że może żyć bez PHP, Ty drogi użytkowniku powinieneś być już całkiem sprawnym programistą tego języka, modlącym się o więcej zmian w wersji 6.0.
  7. Czytaj mądrzejszych od siebie: Fabien Potencier, Burak, Akra, Matthew Weier, Jari Hartikainen.
  8. A najlepiej przemyśl jeszcze raz, czy programowanie w PHP to aby na pewno dobry pomysł.

Written by yanoo

January 16th, 2010 at 12:05 am

Posted in praca

Tagged with ,

I tak do zajebania

without comments

Żyjemy w czasach, kiedy ludzie nie mają czasu, więc sobie ułatwiają i tworzą skróty. Zamiast pamiętać adresy tysięcy stron tworzą zakładki składowane w chmurze i aktualizowane na naszych komputerach w domu, pracy, laptopie i telefonie 6286582 generacji (btw – mam chrapkę na motorolkę).

Zamiast śledzić tysiące portali niułsowych wymyślono rss-a, agregatory, zarówno jako aplikacje desktopowe, jak i webowe, na wypadek jakbyśmy korzystali z komputera w domu, pracy, laptopa i telefonu 847365834658 generacji.

Ponieważ nie mamy już czasu na pisanie blogów powstały mikroblogi. Ponieważ nie mamy czasu śledzić i pamiętać tysięcy mikroblogów powstały agregatory…

To wszystko sprawia, że mamy codzienną dawkę tysięcy rzeczy “nie-do-przeoczenia”, na które nie mamy czasu, bo i tak nie mamy czasu na inne ważne rzeczy (pracę, rodzinę, naukę, rozrywkę).

Szykuje mi się semestr zapierdolu od 7:30 do 20 codziennie, od poniedziałku do piątku.

W google readerze mam 462 nieprzeczytane artykuły.

Jest środa, 30. września, jutro początek nowego roku akademickiego.

Jebać PWr, PZPN, PZKOSZ i PLK.

Tak, to post o niczym.

Nie, nie ulżyło mi.

Na półce czeka wciąż nieprzeczytane The End A War oraz klasyka informatyki. I Fallout 3. I Mass Effect (a niedługo mafia 2, mass effect 2…).

Ble.

Written by yanoo

September 30th, 2009 at 12:31 pm

Posted in praca

Komiczny bug

with 2 comments

Step 1: odpalić firefoxa.

Step 2: odpalić np. try it editor.

Step 3: wrzucić taki kod:

<html>
<body>

<script type=”text/javascript”>

document.write(“00 = ” + parseInt(“00″)+ “<br />”);
document.write(“01 = ” + parseInt(“01″) + “<br />”);
document.write(“02 = ” + parseInt(“02″) + “<br />”);
document.write(“03 = ” + parseInt(“03″) + “<br />”);
document.write(“04 = ” + parseInt(“04″) + “<br />”);
document.write(“05 = ” + parseInt(“05″) + “<br />”);
document.write(“06 = ” + parseInt(“06″) + “<br />”);
document.write(“07 = ” + parseInt(“07″) + “<br />”);
document.write(“08 = ” + parseInt(“08″)+ “<br />”);
document.write(“09 = ” + parseInt(“09″)+ “<br />”);
document.write(“10 = ” + parseInt(“10″)+ “<br />”);
document.write(“8 = ” + parseInt(“8″)+ “<br />”);
document.write(“9 = ” + parseInt(“9″)+ “<br />”);

</script>

</body>
</html>

i przetestować.

Step 4: Nie parać się webdeveloperką.

Written by yanoo

March 23rd, 2009 at 3:40 pm

Posted in praca

Tagged with , ,

PHPTAL rządzi!!1!1!oneoneone

without comments

S(z)marty wyrobiły we mnie odrazę do systemu szablonów – po stokroć wolałem wbudowane we frameworki pseudo systemy, które polegają na wymieszaniu prościutkiego do bólu php1 z htmlem. Niby mamy zupę, ale w zasadzie oddzielamy prezentację od treści – w szablonach jedynie wyświetlamy dynamiczne wartości, zero obróbki2.

Wiedziałem jednak, że takie rozwiązanie ma swoje wady i są lepsze, ale jakoś nie potrafiłem się zmotywować, żeby w końcu wypróbować PHPTAL. W końcu jednak nadeszło nie ma zmiłuj się i wypróbowałem. Powiem krótko: mniam!!

  • błyskawicznie można się tego nauczyć – trzy, cztery godzinki i trzaskasz szablony, jakbyś od małego tego używał
  • banalna integracja
  • kooooooooooooooooooooooooooooooooooooooooooooood!!!

Gotowe szablony można odpalić na lokalu w przeglądarce. Bez wykorzystania php (!!). Specyficzna konstrukcja tagów sprawia, że możemy wewnątrz szablonów przygotowywać od razu przykładowe dane, które wyświetlą się tylko i wyłącznie, gdy szablon nie zostanie przepuszczony przez interpreter PHPTALa. Sam kod jest tak samo czytelny jak czysty XHTML – zero spaghetti! Jedyne co mamy nadmiarowe w stosunku do czystego HTMLa to dodatkowe atrybuty tu i ówdzie. Polecam!

Wady? Przydałoby się coś w rodzaju frameworkowych action(‘akcja’, array(‘zmienna1′, ‘zmienna2′…)) – trzeba się nieco nagłowić, żeby się tak odwoływać. Dla Zenda najprostsze rozwiązanie jakie mi do tej pory przyszło na myśl to:

<div tal:content="structure php:
this.action('akcja',
               'kontroler',
               'moduł',
               array('zmienna1' => 'wartość1'))">
Tu będzie jakaś treść podmieniona przez naszą akcję
</div>

Chociaż oczywiście może istnieć jakieś ładniejsze rozwiązanie :)

  1. echo, echo, echo, plus if else oraz foreach; no i helpery []
  2. w teorii, bo w praktyce to każdy robi co chce i uważa za najlepsze []

Written by yanoo

November 14th, 2008 at 4:45 pm

Posted in praca

Tagged with , , ,

XAMPP, a VirtualHost-y

with 2 comments

Ktoś biegły w administrowaniu Apachem pewnie zdziwi się takimi poradami, ale to nie dla nich ;) Od kiedy tylko pamiętam miałem zawsze problem, by tak skonfigurować vhosty, by te nie “nakryły” localhosta. Inaczej mówiąc – po dodaniu nowego vhosta (np. “projekt”) strona http://localhost/ wskazywała właśnie na niego, zamiast na stronę z konfiguracją serwera; że to jednak mało upierdliwy problem, a ja z natury jestem leniwy, to nie wysilałem się zbytnio, by wyguglać rozwiązanie problemu.

Rozwiązanie okazuje się banalne – choć z drugiej strony mam wrażenie, że kiedyś stosowałem podobne i nie działało :P W każdym bądź razie…

  • edytujemy c:\windows\system32\drivers\etc\hosts i dodajemy jakiś adres (np. 127.0.0.1 projekt)
  • otwieramy c:\xampp\apache\conf\httpd i odkomentowujemy linijkę:
    LoadModule rewrite_module modules/mod_rewrite.so
  • otwieramy c:\xampp\apache\conf\httpd\extra\httpd-vhosts i dodajemy takie oto wpisy:
    NameVirtualHost *:80
    
    <virtualhost *:80>
    	DocumentRoot "C:/xampp/htdocs"
    	ServerName localhost
    
    	<directory "C:/xampp/htdocs">
    		Options Indexes FollowSymLinks MultiViews Includes ExecCGI
    		AllowOverride All
    		Order allow,deny
    		Allow from all
    	</directory>
    </virtualhost>
    
    <virtualhost *:80>
        ServerName projekt
        DocumentRoot "C:/xampp/htdocs/projekt"
        <directory "C:/xampp/htdocs/projekt">
    	Options FollowSymLinks
            AllowOverride All
        </directory>
    </virtualhost>
  • Restartujemy serwer :)

Oczywiście nic nie stoi na przeszkodzie, by projekt znajdował się w zupełnie innym katalogu niż sam serwer, a także, by w ramach projektu DocumentRoot wskazywał na jakiś wew. katalog1.

  1. jest to nawet zalecane ze względów bezpieczeństwa, ale to temat na dłuższą gadkę []

Written by yanoo

November 4th, 2008 at 12:53 pm

Posted in praca

Tagged with ,