Komputery, oprogramowanie, internet i okolice
Kategorie: Wszystkie | Aplikacje | Blog | Dev | Hacks | Linux | Subversion | Varia | gry | khoomei | książki | mjuzik
RSS
niedziela, 31 sierpnia 2008
Blog Day 2008

I oto ku uciesze wszystkich blogujących nastał dziś Dzień Bloga ("Bloga", nie "Blogu"! Jakoś w zeszłym roku administracji Blox[a|u] to "a" nie przeszkadzało). Zabawa polega na tym by opisać 5 blogów, które czytamy. No to do dzieła! Kolejność w zasadzie przypadkowa:
  1. Jacek Pałasiński & Friends - jeśli ktoś ogląda TVN 24 to Jacka Pałasińskiego na pewno zna. Nie każdy jednak wie, że jest on zapalonym blogerem. W jego notkach przeczytamy o polityce, sytuacji na świecie i w kraju, znajdziemy również sporo spostrzeżeń natury bardziej ogólnej. Zawsze celnie i ciekawie.

  2. Neatorama - chyba każdy dzień zaczynam od sprawdzenia nowości na Neatoramie. Ten blog to codzienna dawka humoru oraz różnych ciekawostek ze świata internetu, technologii i nauki.

  3. Klocki LEGO dla dorosłych - po prostu uwielbiam oglądać te cuda, jakie AFOLe potrafią zbudować. To niesamowite jak wspaniałe modele lub scenki mogą powstać z klocków.

  4. TIGSource czyli The Independent Gaming Source - wraz z IndieGames.com Blog najlepsze źródło informacji o nowościach ze świata gier komputerowych. Lecz nie takich zwykłych gier, jakie znajdziecie na sklepowych półkach. Mowa tu o produkcjach niezależnych. Produkcjach, które być może nie mają niesamowitej grafiki, super dźwięku, filmowych wstawek, lecz mają "to coś" - niesamowite pomysły, rozwiązania i grywalność. Jeśli tak jak ja chcesz od czasu do czasu pograć w jakąś ciekawą grę dodaj tego bloga do ulubionych.

  5. Słowo się rzekło czyli wideoblog profesora Jerzego Bralczyka. Tak, tego profesora Jerzego Bralczyka. Kształcące i rozwijające. Nawet dla osoby, dla której teoretycznie poprawne "statystyki blogu" powodują zgrzytanie zębów.
Jak widzicie brak tu blogów mniej lub bardziej technicznych. Po prostu linki do nich można znaleźć na codzień w blogrollu.
wtorek, 26 sierpnia 2008
...czyli Yerba Mate lansu ciąg dalszy!

Różne takie spostrzeżenia:
  • różne gatunki dosyć istotnie różnią się od siebie smakiem, aromatem, zapachem. Jeśli więc nie przypadł o gustu jakiś gatunek może warto spróbować innego
  • dlatego też, według mnie na początek warto zaopatrzyć się w różne próbki a nie kupować od razu (pół)kilogramowej paczki yerby która nie wiadomo czy zasmakuje
  • na smak yerba mate ma wpływ temperatury wody - jedne gatunki lubią bardziej ciepłą, inne chłodniejszą
  • mam wrażenie, że na smak silnie wpływa również stosunek pyłu do liści i gałązek
  • po obejrzeniu kilkunastu filmików o parzeniu yerby mate stwierdzam, że nie ma jednego prawidłowego sposobu - trzeba metodą prób i błędów wypracować swój własny - w końcu to nam ma smakować
  • jeśli chodzi o pobudzenie to sam nie wiem na ile to rzeczywiste działanie a na ile efekt placebo - czasem stawia na nogi jak mocna lawa a czasem praktycznie nie czuję różnicy
  • przed zakupem całej paczki dobrze jest porównać ceny w innych sklepach jak i ofertę tychże sklepów na Allegro
  • Pajarito z ziołami (mięta, cedron, burito) jest przepyszne i niesamowicie orzeźwiające jako terere
  • terere to yerba mate na zimno - zamiast zalewać gorącą wodą zalałem silnie schłodzoną (do dzbanka kilka kostek lodu)
  • przy pierwszym zalaniu zimną wodą sporo suszu w ogóle nie nasiąka wodą i wypływa do góry, dopiero drugie zalanie posiada pełnię smaku
  • zastanawiam się nad zakupem paczki mięty i dodaniem do zwykłej yerby przy przygotowywaniu terere - ciekawe co wyjdzie
  • z niecierpliwością czekam na cieplejsze dni by wypróbować Taragui Naranja (z kawałkami suszonej pomarańczy) - oczywiście jako terere
  • o ile zagotowanie wody do kolejnych zalań nie jest problemem to w przypadku chłodzenia do terere termos jest bardzo przydatny
  • Cruz de Malta Anis (anyżowa) pobudza solidnie, jednak jest zupełnie nie do wypicia (przynajmniej jako terere) - słodka, mdła, z dziwnym posmakiem
  • Jak na razie zachwyciłem się Rosamonte - wspaniały aromat i ten dymno-tytoniowy posmak!
  • Colon i Pajarito są dosyć intensywne i trzeba uważać by pierwsze zalanie nie było zbyt gorzkie (i lekko cierpkie, choć to pewnie wina zbyt ciepłej wody)
  • jeśli zbyt wiele razy nie zalewaliśmy i susz jeszcze dobrze oddaje smak ciekawym rozwiązaniem jest zalanie chłodną wodą i wstawienie na noc do lodówki

08:38, kosciak1 , Varia
Link Dodaj komentarz »
poniedziałek, 18 sierpnia 2008
Uwaga!!!
Przerywamy tego bloga by nadać ważny komunikat!

Jeśli lubisz claymation, horrory, zombie i gore (a któż nie lubi?!?) to MUSISZ to obejrzeć!

DISKLAJMER: filmiki zawierają sceny plastelinowej przemocy (wiem, wiem, nie muszę już bardziej zachęcać) - żeby nie było, że nie ostrzegałem
niedziela, 17 sierpnia 2008
Powiedzmy sobie szczerze, nikt nie pisze bezbłędnego kodu. Jeśli piszemy coś choć odrobinę bardziej złożonego od HelloWorld możemy być pewni, że w naszym kodzie są błędy. Pytanie tylko kiedy się ujawnią. Pół biedy jeśli to zwykły brak średnika na końcu linii czy użycie dużej zamiast małej litery w nazwie metody - kod się nie skompiluje i od razu możemy błąd zidentyfikować i poprawić. Jednak w przypadku pominięcia znaku "=" przy sprawdzaniu "<=" odnalezienie takiego błędu może już nie być takie proste. Kod będzie sprawiał wrażenie działającego poprawnie do momentu natrafienia na wartość brzegową. Może to skutkować wykryciem błędu, w dodatku trudnego do odnalezienia, dopiero po oddaniu aplikacji klientowi (nawet jeśli to my sami będziemy tym klientem).

Testowanie

Co robi początkujący programista po odkryciu błędu (a przynajmniej co ja do tej pory robiłem)? Uruchamia debugger i mozolnie przygląda się, który fragment kodu może powodować zauważony błąd. Albo dopisuje w kodzie mnóstwo System.out.println("x = " + x) i przegląda co też program wypluwa na konsolę. Po dłuższym lub krótszym czasie gapienia się w ekran udaje się błąd znaleźć. Po poprawieniu można spokojnie usunąć zaśmiecające kod linie wyświetlające wartości na konsoli. Do czasu pojawienia się kolejnego błędu...
Czasochłonne, męczące i niewydajne. Już nie wspominając jak bardzo stresujące.

Testy jednostkowe

Testy jednostkowe sprawdzają poprawność działania drobnych fragmentów programu (w Javie i innych językach obiektowych będą to metody) przez porównanie efektów wykonania testowanego kodu z oczekiwanymi rezultatami. W ten sposób metoda po metodzie sprawdzamy czy kod wykonuje się prawidłowo, czy poprawnie zachowuje się w przypadku danych wejściowych brzegowych, nietypowych czy też błędnych, czy rzuca odpowiednimi wyjątkami. Wszystko to zgodnie z zasadą "Jeśli coś nie zostało przetestowane, należy uznać, że nie działa".

Korzyści testów jednostkowych

  • nie musimy podejrzewać, że kod działa poprawnie. Każde uruchomienie testów udowadnia, że tak jest w rzeczywistości
  • jeśli równolegle piszemy kod i testy (lub zgodnie z praktyką TDD najpierw piszemy testy a dopiero później kod) błędy zostaną wykryte na bardzo wczesnym etapie
  • testowanie zmusza do lepszego przemyślenia rozwiązań projektowych. Musimy dokładnie określić jakie zadania kod ma wykonywać, jaki dana klasa ma zakres obowiązków
  • testowanie zmusza do lepszej refaktoryzacji kodu. Jeśli kod jest trudny do przetestowania najprawdopodobniej jest źle zaprojektowany lub napisany
  • pisząc równolegle testy i kod łatwiej jest stosować zasadę YAGNI (You Ain't Gonna Need It) - czyli pisanie tylko tych fragmentów kodu, które są potrzebne i wtedy gdy są potrzebne.
  • testy stają się swego rodzaju dokumentacją kodu programu. Zawierają przykłady użycia poszczególnych metod, pokazują kiedy i jakich wyjątków można się spodziewać. W dodatku ta swoista dokumentacja jest przez cały czas aktualna, jeśli zabraknie synchronizacji testy-kod testy nie będą kończyć się pomyślnie
  • łatwo przeprowadzić testy regresyjne. Po prostu po wprowadzeniu zmian przeprowadzamy cały zestaw testów sprawdzając czy zmiana nie wpływa na działanie innych fragmentów kodu
  • stosując mock objects (obiekty imitacji, namiastki) możemy w łatwy sposób sprawdzić działanie poszczególnych fragmentów aplikacji bez potrzeby uruchamiania całej aplikacji
  • oszczędność czasu - testy są w pełni powtarzalne i zautomatyzowane
piątek, 01 sierpnia 2008
1. Wersje pod kontrolą - wstęp do wersjonowania plików
2. Subversion - podstawowe pojęcia
3. Subversion - instalacja i tworzenie repozytorium
4. Subversion - podstawy pracy z wersjonowanymi plikami
5. Subversion - zaawansowane komendy
6. TortoiseSVN - graficzny klient SVN
7. RabbitVCS + Meld - integracja Subversion z Nautilusem
8. VisualSVN Server - prosta instalacja serwera Subversion
9. SVN4MSOffice - potęga Subversion w MS Word


W notce Subversion - instalacja i tworzenie repozytorium opisałem jak skonfigurować serwer Subversion jako usługę systemu Windows i jak zakładać repozytoria. Głównym minusem tego rozwiązania jest potrzeba wykonywania wszystkich poleceń z poziomu konsoli.


Kilka dni temu natknąłem się na bardzo ciekawe rozwiązanie. VisualSVN Server, bo o nim tu mowa, to darmowy pakiet zawierający Subversion, Apache'a i graficzny panel administracyjny.
Instalacja jest niesamowicie prosta. W zasadzie wystarczy klikać cały czas "Next"



Jeśli chcemy możemy wybrać katalog instalacyjny i katalog zawierający repozytoria oraz zdecydować się czy połączenia mają być szyfrowane.
Mamy również do dyspozycji panel administracyjny:



W prosty sposób możemy uruchamiać i zatrzymywać serwer, zarządzać użytkownikami i ich prawami, tworzyć i kasować repozytoria czy przeglądać ich zawartość.
Po kliknięciu prawym przyciskiem na repozytorium możemy ustawić specyficzne dla niego opcje:



Ustawiamy tu uprawnienia dla użytkowników oraz możemy przypisać skrypty wywoływane w wyniku zdarzeń w repozytorium.

Jeśli ktoś nie chce by serwer uruchamiał się z systemem musi przejść do Panelu sterowania, wybrać Narzędzia administracyjne a następnie Usługi. Teraz wystarczy we właściwościach usługi VisualSVN Server zmienić typ uruchomienia na Ręczny.

Jako, że dostęp do repozytorium odbywa się za pomocą protokołu HTTP możemy przeglądać jego zawartość z użyciem WebDAV!



Domyślny wygląd możemy zmienić edytując pliki svnindex.css i svnindex.xsl znajdujące się w katalogu htdocs VisualSVN Server.
Spis Treści
Kanały RSS
Add to Google
Add to Netvibes