Tomasz Nowak

Tomasz Nowak, shadow_no aka shad.pl

Archive for the ‘Programowanie’ Category

Startup #2 – podsumowanie i ciąg dalszy

one comment

W styczniu pisałem o startupie który zaczynam tworzyć. W związku z tym, że minął już prawie miesiąc od tamtego wpisu – podzielę się z Wami tym co do tej pory udało mi się zrealizować, oraz na jakie trudności napotkałem się podczas pracy.

Największą przeszkodą w realizacji pomysłu jest dla mnie brak systematyczności w działaniu. Pomimo silnej motywacji – często wstaję rano i zamiast zacząć robić to co powinienem – zaczynam się obijać i kończy się to na WWILF. Będę musiał sobie z tym poradzić stosując jedną z wielu metod organizacji czasu jakie miałem okazję poznać.

Plan działania o którym pisałem ostatnio uległ nieco zmianie. Najważniejszą modyfikacją była zmiana podejścia do webdevelopera, który będzie pisał silnik strony. Zmiana polega na tym, że… Napiszę go sam. Zanim nawiążę współpracę z programistą, chcę mieć już działający prototyp, który w późniejszym etapie będzie przepisywany na czysto. Chyba, że kod okaże się tak zgrabny, że jedynie ulepszymy obecną wersję. ;-) Jednak biorąc pod uwagę, że z PHP nie mam zbyt dużego doświadczenia – może być z tym problem.

Podczas pisania źródeł strony natknąłem się na wiele ciekawych problemów, które zmusiły mnie do szerszego myślenia – na innej płaszczyźnie niż dotychczas.  Dzięki temu zmieniło moje podejście do samego projektu. Stwierdziłem, że potrafię wykrzesać z siebie wiele dodatkowych pomysłów, stwierdziłem, że potrafię być jeszcze bardziej kreatywny, co dodatkowo podbudowało moje ego.

Moja rada dla osób zaczynających swój startup bez wsparcia z zewnątrz oraz bez umiejętności programowania – na początek skontaktujcie się z kimś, kto stworzył jakieś serwisy o funkcjonalnościach podobnych do naszego, lub nauczcie się podstaw programowania w php i spróbujcie zrobić prototyp. Zobaczycie wówczas jak wielu rzeczy i rozwiązań nie jesteście w stanie przewidzieć rozrysowując projekt na kartce lub tworząc wireframy. Wszystko wychodzi w praniu. A to uchroni Was od późniejszych kłopotów na etapie kontaktu z programistą któremu będziecie płacić za projekt.

Obecnie źródło posiada 2709 linii kodu i w chwili obecnej większość najtrudniejszych modułów za które miałem się zabrać zostało już zrealizowanych. W niedalekim czasie zacznę betatesty na większą skalę w związku z czym ponawiam prośbę o kontakt osób zainteresowanych betatestami. W chwili obecnej lista testerów liczy około 20 osób. Dla każdego betatestera, który przyczyni się do rozwoju projektu oferuję konta PRO w startupie oraz swój czas który chętnie poświęcę na rozmowę i/lub pomoc w Waszych (nie tylko internetowych) projektach.

W tym miejscu podziękowania składam dla ksx4system za ciągłą pomoc w beta testach oraz wielkie dzięki dla nemis za pomoc w programowaniu.

Written by shadow_no

Luty 21st, 2010 at 4:28 pm

KohanaPHP v2.3.4 + lighttpd + mod_rewrite = ?

2 comments

Zacząłem uczyć się tworzenia stron korzystając z poleconego przez znajomych frameworku KohanaPHP. Po drugim dniu czytania dokumentacji, poznawania funkcji i pisanie byle czego – doszedłem do momentu w którym na dłuższą chwilę się zawiesiłem.

Chodzi o estetykę. A jak… Kohana* defaultowo tworzy dość mało eleganckie URLe w postaci: http://localhost/index.php/kontroler/akcja… O ile stronę główną możemy przeboleć, to już dziwnie wygląda podstrona np. kontakt: http://localhost/index.php/contact

W przypadku apache wszystko jest jasne. Wystarczy skorzystać z oficjalnego tutoriala. Jeżeli korzystamy jednak z serwera lighttpd natrafiamy na schodki. W sieci znalazłem kilka przykładów, które skutecznie wyrzucają index.php z URLi. Teoretycznie sprawę można uznać za zamkniętą stosując kod

url.rewrite-once = ("^/(.*)$" => "index.php/kontroler_bazowy/$1")

Niestety takie rozwiązanie jest dobre do czasu do kiedy nie będziemy musieli dostać się do któregoś z folderów. Jeżeli nasz projekt zakłada upload jakichś plików do których będziemy musieli się dostać, zostaniemy przekierowany zgodnie z mod_rewrite które ustawiliśmy w sposób: http://localhost/index.php/sciezka/do/pliku. Jak zatem wygląda rozwiązanie? Po przejrzeniu dokumentacji lighttpd znalazłem magiczne wyrażenie: (?!expression). Wystarczy trochę przerobić nasz powyższy kod, aby umożliwić serwerowi ‘porzucenie’ przekierowań dla poszczególnych plików/folderów. Kod po modyfikacji powinien wyglądać mniej więcej tak jak poniżej. Jako przykładowe dane umieściłem adresy tej strony:

$HTTP["host"] =~ "^(www\.|)shad.pl$"
{
 server.document-root = "/home/shad/public_html/shad"
 url.rewrite-once = (
 "^/((?!(folder/|folder2/)).*)$" => "index.php/shad/$1"
 )
}

Teraz jedynie kasujemy wpis index.php z pliku application/config/config.php aby wyglądał tak:

$config['index_page'] = '';

I zresetujmy nasz serwer

 /etc/init.d/lighttpd restart

Mam nadzieję, że komuś się przyda.

-

* googlując dowiedziałem się przypadkiem, że poprawna wymowa to: koana

Written by shadow_no

Luty 4th, 2010 at 1:20 pm