Programowanie

/Programowanie

Praca ze zdalnym repozytorium w GIT

Jak obiecałem w jednym z poprzednich artykułów opiszę jak wygląda praca z projektem za pośrednictwem zdalnego repozytorium. Większość projektów nie jest prowadzona samodzielnie, jest w niego zaangażowane kilku (-nastu, -dziesięciu) innych programistów. Każdy z nich może lokalnie prowadzić własną ścieżkę, ale z doświadczenia wiem, że przydaje się jedno wspólne repozytorium. Punkt centralny dla naszej pracy. […]

By | Sierpień 20th, 2009|Categories: Programowanie|Tags: |Możliwość komentowania Praca ze zdalnym repozytorium w GIT została wyłączona

GIT Stash

Na codzień pracuję z IntelliJ IDEA. W tym IDE bardzo podoba mi się funkcja „szufladkowania zmian” podczas pracy z kontrolą wersji. Na codzień korzystam z Subversion i zdarza mi się z tej funkcji skorzystać. Na czym ona polega? Otóż, zdaża się, że pracujemy nad sporym kawałkiem kodu i już dość dużo zmian poczyniliśmy, gdy nagle dostrzeżemy błąd w aplikacji, który chcielibyśmy zmienić, zanim skommitujemy resztę zmian. Powyższa funkcja IntelliJ IDEA pozwala nam na odłożenie dotychczasowej pracy (czyli zmian od ostatniego commita) do szufladki – po czym, możemy poprawić błąd, scommitować zmiany i następnie z szufladki „wyjąć” kod, który napisaliśmy aby kontynuować pracę. Wielce mnie ucieszyło, gdy zobaczyłem podczas pracy z GIT, że ma on taką funkcję wbudowaną out-of-the-box. Nazywa się ona ‚Stash’. […]

By | Sierpień 17th, 2009|Categories: Programowanie|Tags: , |Możliwość komentowania GIT Stash została wyłączona

Hate Driven Development

Znam kilka metodologii powstawania programów, jak na przykład na bazie testów (Test Driven Development). Jednak przy ostatnim projekcie, poznałem nowy: Hate Driven Development - jak tylko siadam przed komputerem w pracy to przechodzą mi dreszcze po plecach. Tak nienawidzę obecnego projektu, że aż dostaję niezłego kopa w produktywności. Chcę jak najszybciej go skończyć i o [...]

By | Lipiec 27th, 2009|Categories: Programowanie|Tags: , , |Możliwość komentowania Hate Driven Development została wyłączona

Projekt Euler

Ostatnio szperając po sieci, natrafiłem na ciekawy aczkolwiek nie nowy projekt. Aż dziwne, że nie znalazłem go do tej pory. Projekt Euler bo o nim mowa przedstawia problemy, z którymi musimy się zmierzyć jako programiści. Problemy ułożone na granicy matematyki, kombinatoryki czy tam innej „yki” nie są w możliwe do rozwiązania bez komputera (no chyba, że przez jakiegoś geniusza) Jako programiści mamy zadanie napisać program, który nam to zadanie rozwiąże. Sam projekt nie ocenia jakości naszego kodu bo podajemy tylko wynik i ten jest sprawdzany. Wiadomo jednak, że najlepiej jest się uczyć od innych albo na gotowych zadaniach, więc dla mnie projekt to jest strzał w 10-tkę. […]

By | Lipiec 2nd, 2009|Categories: Programowanie|Tags: |Możliwość komentowania Projekt Euler została wyłączona

Raczkowanie z GIT

W związku z tym, że ostatnio coraz częściej korzystam z systemu kontroli wersji GIT (zamiast używanego przez kilka ostatnich lat Subversion) postanowiłem napisać kilka słów na jego temat. Wprowadzenie GIT jest systemem kontroli wersji, którego używał Linus Torvalds podczas pracy nad kernelem linuxa – z resztą do tej pory kernel jest kontrolowany przez GIT. Główną różnicą od svn, która skłoniła mnie do korzystania z niego, jest jego decentralizacja. W Subversion niezbędne jest stworzenie jednego głównego repozytorium które kontroluje nasz projekt. Każdy klient łączy się z tym centralnym repozytorium podczas pracy nad projektem i każda zmiana musi być wysłana na serwer. GIT działa w architekturze P2P repozytorium nie musi być centralne. Może istnieć kilka równoległych, które będą potem synchronizowane. Istnieje nawet możliwość synchronizacji przez mail :) Oczywiście nic nie stoi na przeszkodzie, aby używać centralnego repozytorium, zwłaszcza podczas pracy nad dużym projektem. Niejednokrotnie jednak miałem odwrotną sytuację – pracowałem nad czymś małym, a mój edytor (vim ;) ) nie posiada wbudowanej obsługi kontroli wersji. Chcąc objąć projekt kontrolą nie chciało mi się tworzyć repozytorium svn – bo za dużo roboty. Więc praca którą wykonywałem była ‚na żywioł’. Cofnięcie wersji było równoznaczne z napisaniem kodu od nowa. Od tego czasu ropocząłem korzystanie z git. Sami zobaczcie jakie to proste. Opiszę kilka podstawowych operacji potrzebnych do pracy z lokalnym repozytorium. Jeżeli mi się uda, to w późniejszym czasie opiszę sposoby pracy z repozytorium zdalnym. […]

By | Czerwiec 27th, 2009|Categories: Programowanie|Tags: |Możliwość komentowania Raczkowanie z GIT została wyłączona

Confused with Ranges

Fajną nowością w języku Groovy, w porównianiu do języka Java są Ranges. Jest to kolekcja ( a dokładnie wyjasniając implementuje interfejs java.util.List ), która definiuje zasięg kolekcji – początek i koniec. Oznacza się go oddzielajac dwoma kropkami pierwszy element od ostatniego, np. 1..3 zawiera kolekcję liczb od 1 do 3 (włącznie), a 1..<3 zawiera kolekcję liczb od 1 do 3 (nie wliczając 3). Problem jest właśnie ze zrozumieniem jak działa ten znak miejszości. Mamy na przykład w kodzie tablicę:

[…]

By | Marzec 9th, 2009|Categories: Programowanie|Tags: , |Możliwość komentowania Confused with Ranges została wyłączona

Dobry kod – na skróty

Każdy kiedyś uczył się pisać. Najpierw rysując szlaczki aby opanować kontrolę nad dłonią, potem literka za literką cały alfabet. Gdy już się nauczyliśmy – charakter pisma wyrabiał się wraz z ilością zapisanego tekstu. Jednak niektórzy starali stawiać równe, okrągłe literki, starali się robić równe odstępy między wyrazami. Tak długo, aż mieli ładny, czytelny charakter pisma. Ale nie wszyscy się starają – większość pisze tak jak leci. Tak samo jest z programistami. Gdy nauczą się podstaw programowania – nabierają doświadczenia poprzez pisanie programów i…. to wszystko. Pisanie programów w stylu: „ważne, że działa” i doświadczenie jedynie poprzez własnoręcznie napisany kod. Ale nie każdy taki jest. Niektórzy chcą pisać dobry kod – starają się, uczą nowych rzeczy, analizują inne programy, aby zobaczyć jak piszą inni. Dążą do pisania kodu w jak najlepszym stylu. […]

By | Luty 28th, 2009|Categories: Programowanie|Tags: |Możliwość komentowania Dobry kod – na skróty została wyłączona

Przypomnienie podstaw UML

W notacji UML klasa jest przedstawiona jako prostokąt podzielony na trzy części. W pierwszej części podana jest nazwa klasy i czasami package. W drugiej części podane są pola czyli atrybuty klasy. W ostatniej znajduje się lista operacji (metod). […]

By | Styczeń 22nd, 2009|Categories: Programowanie|Tags: , , , |Możliwość komentowania Przypomnienie podstaw UML została wyłączona