2010-07-28

[unix] Cloc - obliczanie ilości linii kodu

Jeśli chcesz sprawdzić ile linii kodu ma Twoja aplikacja polecam Cloc'a (Count Lines of Code). Jest to skrypt napisany w Perlu - wystarczy ściągnąć na dysk, uruchomić wskazując program, który chcemy zbadać i wcisnąć enter:

./cloc-1.51.pl /var/www/test/

Cloc przeskanuje pliki znajdujące się w katalogu test i wyrzuci wynik wyglądający mniej więcej tak:

456 text files.
450 unique files.
164 files ignored.

http://cloc.sourceforge.net v 1.51 T=2.0 s (146.0 files/s, 16437.5 lines/s)
---------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------
PHP 265 3947 10352 15815
CSS 9 165 172 1036
Javascript 6 20 278 575
Bourne Shell 10 54 142 218
SQL 2 13 0 88
---------------------------------------------------------------------
SUM: 292 4199 10944 17732
---------------------------------------------------------------------

Cloc wspiera wiele języków programowania i ma mnóstwo fajnych opcji o których warto sobie poczytać w deszczowe dni... :)

2010-07-22

[psql] Obliczanie wieku funkcją age() i date_part()

Funkcja age() w Postgresie to bardzo fajna sprawa. Za pomocą niej można w prosty sposób obliczyć wiek użytkownika.
Zapytanie:

SELECT age(data_ur) as wiek FROM user WHERE id=1;

(gdzie data_ur jest typu date) może dać wynik:

wiek
-------------------------
6 years 11 mons 21 days

Jeśli chcielibyśmy się dowiedzieć ile użytkownik miał lat na przykład 21 kwietnia 2009 roku wystarczy napisać:

SELECT age(timestamp '2009-04-21', data_ur) as wiek FROM user WHERE id=1;

co da wynik w postaci:

wiek
------------------------
5 years 8 mons 20 days

Za pomocą funkcji date_part() można w prosty sposób "wyciągnąć" z wyniku np. jedynie ilość lat (bez informacji o miesiącach i dniach):

SELECT date_part('year', age(timestamp '2009-04-21', data_ur)) as wiek FROM user WHERE id=1

wynik:

wiek
------
5