środa, 30 grudnia 2009

symfony + faststart

Ściągamy symfonie svn'em
~$mkdir symfonia && cd symfonia && svn co http://svn.symfony-project.com/branches/1.3
dodajemy do zmiennej PATH ścieszkę do symfony
w moim przypadku do ~/.tcshrc dodajemy linijkę
set path = ( $path $HOME/symfonia/1.3/data/bin )
resetujemy powłokę, teraz spróbujmy użyć symfoni CLI php symfony. Wchodzimy do katalogu gdzie będziemy się uczyć symfoni.
mkdir ~/public_html/proj1 && cd ~/public_html/proj1 && symfony generate:project
Obsługujemy uprawnienia dla symfony
symfony project:permissions
Generujemy aplikacje
symfony generate:app frontend
W moim wypadku trzeba jeszcze usunąć pierwszą linijkę z .htacces w web/.htaccess. Przegrywamy katalog 1.3/data/bin/web/sf do naszego proj1/web/. Sprawdzamy czy mamy strone http://localhost/~user/proj1/web/frontend_dev.php/

poniedziałek, 28 grudnia 2009

html + blog

Jeśli mamy kod htmla do zamieszczenia na blogspocie np to musimy zamienić
wszystkie > na >
wszystkie < na &lt;
Wiadomo notatnik i Heja.
No chyba, że jesteśmy "Hardcorami"
cat file.html
<tr>
<td>Lalala</td>
</tr>
~$cat file.html | sed "s/>/\&gt;/" | sed "s/</\&lt;/" > file2.html
&lt;tr&gt;
&lt;td&gt;Lalala&lt;/td&gt;
&lt;/tr&gt;

xquery + xml

Xquery to na prawdę fajna rzecz, trochę przypomnienia.
cat fileA.xml

<sklep>
<rodzaje>
<rodzaj id="1">
<nazwa>Przyprawa</nazwa>
</rodzaj>
<rodzaj id="2">
<nazwa>Warzywo</nazwa>
</rodzaj>
</rodzaje>
<produkty>
<produkt id="1">
<nazwa>Majonez</nazwa>
<cena>4,30</cena>
<rodzaj>1</rodzaj>
</produkt>
<produkt id="2">
<nazwa>Musztarda</nazwa>
<cena>1,99</cena>
<rodzaj>1</rodzaj>
</produkt>
<produkt id="3">
<nazwa>Brokuł</nazwa>
<cena>3</cena>
<rodzaj>2</rodzaj>
</produkt>
</produkty>
</sklep>
Teraz zeby wyciągnąć wszystkie wartości z korzenia sklep w xquery piszemy
doc("fileA.xml")/sklep/*
Jeśli chcemy tylko produktu numer 3
doc("fileA.xml")/sklep/produkty/produkt[@id="3"]
A jeśli chcielibyśmy aby rodzaj nie był numerowym atrybutem tylko słownym (warzywo nie 2)
for $x in doc("fileA.xml")/sklep/produkty/produkt[@id="2"]
return
{$x/nazwa}
{$x/cena}
{$x/../../rodzaje/rodzaj[@id=$x/rodzaj]/nazwa}

środa, 16 grudnia 2009

sed + human coding

Walczę ostatnio z jednym zdaniem, musiałem pobierać dane ze strony internetowej ale jak wiadomo nie zawsze jest ładnie kodowana, możemy skorzystać z sed'a.
sed -i 's/></>\n</g' plik.html
w pliku każdy klauzula "><" będzie oddzielona enterem. Później możemy odczytać np netbeans'em i ctrl + alt + f.