Przejdź do treści

Biurko programisty

Co w kuferku siedzi?

Kuferek„Był raz kupiec tak bogaty, że mógł wybrukować talarami całą ulicę. Ale nie zrobił tego, bo używał pieniędzy w inny sposób. Ile razy dał talara, dostawał z powrotem trzy. Był to w istocie dobry kupiec, ale mimo to musiał umrzeć.”

Latający kufer, Hans Christian Andersen

Kuferek (trunk) to gałąź w nieco już archaicznym systemie kontroli wersji SVN, w której znajduje się kod będący podstawą do realizacji nowych zmian. Są różne szkoły, ale znam nie więcej jak dwie podstawowe i jedną wariację odnoście tego co powinno znajdować się w kuferku:

  1. Najświeższy kod
  2. Stabilny kod
  3. Coś pomiędzy

Jaka różnica pomiędzy A, B i C? Postaram się wyjaśnić podług swojego najlepszego zrozumienia.Czytaj dalej »Co w kuferku siedzi?

Czemu nie pisać komentarzy…

Nie będę pisał komentarzy!Czasami, kiedy mówimy o jakości kodu, to pojawia się stwierdzenie „nasz kod jest kiepski, bo nie ma w nim komentarzy”. Powstaje taka intuicyjna równoważność: „dużo komentarzy – dobry kod, brak komentarzy – zły kod”. Ba, idąc tą drogą można nawet wprowadzić metrykę, określającą stosunek liczby komentarzy do liczby linii kodu i zmuszać programistów do osiągnięcia jakiejś magicznej jej wartości. Tylko po co? Czy zawsze komentarze ułatwiają nam analizę kodu? Czy istnieją komentarze, które przeszkadzają zamiast pomagać?

Chciałbym pokazać kilka rodzajów komentarzy, które są według mnie złe – czy to ze względu na ich nieprzydatność, źródło pochodzenia czy po prostu „paskudność”.Czytaj dalej »Czemu nie pisać komentarzy…

Będzie Git

Będzie GitSystem kontroli wersji (w skrócie VCS) jest to oprogramowanie, które służy do współdzielenia i śledzenia zmian w plikach oraz pomocy w łączeniu zmian pochodzących z różnych źródeł. W każdym, nawet najmniejszym projekcie, gdzie kilka osób pracuje równolegle nad tymi samymi plikami, niezbędne jest miejsce gdzie wszystkie te zmiany się spotykają – tutaj właśnie do gry wchodzi repozytorium kodu. Nawet jeżeli pracujemy sami, to powinniśmy się zastanowić czy nie chcielibyśmy skorzystać z możliwości śledzenia zmian jakie daje nam VCS.  W tym tekście postaram się przedstawić pokrótce ewolucję systemów VCS i możliwości coraz bardziej popularnego w ostatnim czasie Git’a.Czytaj dalej »Będzie Git

Testowanie Testów

O tym, że testy jednostkowe pisać trzeba i warto już chyba nikogo przekonywać nie trzeba (nieprzekonanych zachęcam do podzielenia się swoimi wątpliwościami). Jednak samo posiadanie testów to oczywiście nie wszystko. Oprócz wspomnianym już na trzeciejkawie zagadnieniu pielęgnacji testów jednostkowych istnieje jeszcze przynajmniej kilka ważnych aspektów tego zagadnienia. Dzisiaj chciałbym zająć się kontrolą jakości testów jednostkowych…

Czytaj dalej »Testowanie Testów

Zapach świeżej kawy: Aparapi – Java na GPU!

OpenCLW poprzednim odcinku mini-cyklu „Zapach świeżej kawy” pisałem o ciekawym wynalazku jakim jest node.js – technologia pozwalająca na tworzenie aplikacji sieciowych (w tym web) za pomocą języka Javascript. Na końcu tego tekstu zapowiedziałem, że kolejny odcinek poświęcony będzie Play! framework. Postanowiłem jednak zmienić nieco plany – głównie ze względu na to, że w międzyczasie pojawiło się coś nowego, co bardzo mnie zainteresowało. Tym czymś jest: Aparapi. Cóż to takiego? W skrócie jest to translator bytecode’u JVM, który produkuje na wyjściu kod OpenCL, który może być wykonany na procesorze karty graficznej (GPU). Co to daje? Oczywiście chodzi o wydajność – odciążenie głównego procesora (CPU) i wykorzystanie faktu, że współczesne procesory graficzne wyposażone są w kilkadziesiąt lub kilkaset „rdzeni” obliczeniowych… które tylko czekają na nasz kod.

Czytaj dalej »Zapach świeżej kawy: Aparapi – Java na GPU!

Zapachy świeżej kawy: node.js

Choć zamiast kawy piję herbatę, to nawiązując do tytułu naszej strony chciałbym rozpocząć mały cykl artykułów o świeżości. Świeżości, która bije z innowacyjnych, rozwojowych, małych (albo większych) projektów/technologii. Świeżości, która jest szczególnie potrzebna osobom, które od dłuższego czasu siedzą w jednym temacie, projekcie, środowisku. Nawet jeśli narzędzia / rozwiązania, które będę starać się opisywać nie znajdą bezpośredniego rozwiązania w twojej pracy… to jednak samo ich zapoznanie i zrozumienie może dać dużo frajdy i ogólnie przyczynić się do rozwoju. No więc do dzieła. Czas na pierwsze łyki świeżej kawy, która dzisiaj serwuje nam projekt node.js i okolice.

Czytaj dalej »Zapachy świeżej kawy: node.js