Projekt Cube Solver #05 – Metryki mierzenia ruchów – kod i testy

Mam nadzieję, że czytałeś mój poprzedni post. Jeśli nie warto zrobić to wczesniej ponieważ kod, który dzisiaj napiszemy będzie bardziej zrozumiały dla Ciebie. Artykuł dostępny także w wersji angielskiej. Testy dla metryki HTM Zacznijmy więc od metryki HTM, która jest bardzo prostą metryką. Pierwszy z naszych testów sprawdza czy nazwa metryki jest poprawna:

Drugi

Continue reading Projekt Cube Solver #05 – Metryki mierzenia ruchów – kod i testy

Dlaczego nie powinieneś używać podwójnego znaku równości (==) porównując hashe w PHP

Dzisiaj poruszymy temat pewnej podatności w języku PHP, która została opisana na Twiterze Michala Špačeka już jakiś czas temu. Artykuł dostępny także w wersji angielskiej. Mianowicie, zauważył on, że w języku PHP następujące porównanie zwraca wartość true

W pierwszej chwili można by się tutaj doszukiwać wystąpienia kolizji funkcji skrótu dla dwóch różnych wartości. Jednak

Continue reading Dlaczego nie powinieneś używać podwójnego znaku równości (==) porównując hashe w PHP

Projekt Cube Solver #04 – Metryki mierzenia ruchów

Po stworzeniu przez nas generatora scrambli naszym kolejnym krokiem jest stworzenie klas odpowiedzialnych za mierzenie długości scrambli. Stosuje się w tym głównie dwie metryki: Quarter Turn Metric (QTM) Half Turn Metric (HTM) Half Turn Metric (HTM) – zwana też Face Turn Metric (FTM), jest metryką dla kostki 3×3, gdzie każdy ruch dowolną ścianką jest liczony,

Continue reading Projekt Cube Solver #04 – Metryki mierzenia ruchów

Recenzja książki „Refaktoryzacja. Ulepszanie struktury istniejącego kodu”

Ocena książki: Postanowiłem co jakiś czas publikować recenzje ciekawszych przeczytanych przeze mnie książek. I tak oto przed Wami pierwsza z nich, recenzja książki „Refaktoryzacja. Ulepszanie struktury istniejącego kodu” napisana przez Martina Fowlera we współpracy z kilkoma innymi znanymi programistami. Artykuł dostępny także w wersji angielskiej. O czym jest książka Któż z nas nie spotkał się

Continue reading Recenzja książki „Refaktoryzacja. Ulepszanie struktury istniejącego kodu”

Projekt Cube Solver #03 – Generowanie scrambli – testy i pierwszy kod

W poprzednim wpisie omówiłem teorie niezbędną do napisania generatora algorytmów mieszających. Teraz najwyższa pora zacząć pisać pierwsze linijki kodu. Jeśli nie czytałeś wspomnianej teorii najlepiej będzie jeśli się z nią wcześniej zapoznacz aby lepiej zrozumieć kod, który dzisiaj powstanie. Zmiany, które dzisiaj stworzymy możecie także przejrzeć pod linkiem: Moje zmiany na githubie Artykuł dostępny także

Continue reading Projekt Cube Solver #03 – Generowanie scrambli – testy i pierwszy kod

Projekt Cube Solver #02 – Generowanie scrambli – teoria

Dzisiaj skupię się głównie na teorii algorytmów mieszających jaka będzie niezbędna podczas pisania generatora algorytmów mieszających. Samym generatorem zajmę się w następnym wpisie, który pojawi się już niedługo. Artykuł dostępny także w wersji angielskiej. Omówienie notacji Istnieje kilka notacji wykorzystywanych do zapisywania ruchów na kostce. Najpopularniejsza z nich to notacja wymyślona przez Davida Singmastera, w

Continue reading Projekt Cube Solver #02 – Generowanie scrambli – teoria

Wizualizacje algorytmów sortowania

Przeglądając dzisiaj Wykop natrafiłem na ciekawą wizualizację algorytmów sortowania opartą na kole kolorów. Pomyślałem zatem, że się tym z Wami podzielę 🙂 Jakiś czas temu napotkałem także inne graficzne przykłady sortowania, możliwe, że już Wam znane, jednak postanowiłem także je dzisiaj przypomnieć. Artykuł dostępny także w wersji angielskiej. Prezentacja różnych algorytmów sortowania Wizualizacja algorytmów sortowania

Continue reading Wizualizacje algorytmów sortowania

Przydatne triki w konsoli linuksowej

W dzisiejszym wpisie przedstawię Wam kilka użytecznych technik poprawiających poruszanie się i ułatwiających pracę z konsolą linuksową. Mam nadzieję, że okażą się one pomocne i sprawią, że każdy przyszły kontakt z linią komend będzie przyjemniejszy. Nie ma co przedłużać zatem przejdźmy od razu do rzeczy. Przeszukiwanie historii poleceń [ctrl] + [r] — wywołanie wyszukiwarki poleceń.

Continue reading Przydatne triki w konsoli linuksowej

Projekt Cube Solver #01 – cel projektu, zakres, przewidywane problemy i technologie

Dzisiaj napiszę nieco więcej na temat mojego projektu, a mianowicie programu szukającego rozwiązania pomieszanej Kostki Rubika. Sam projekt dostępny jest na githubie więc łatwo można śledzić moje postępy: https://github.com/KonradPrzetacznik/cube-solver Zapraszam do lektury 🙂 Cel projektu Celem projektu jest napisanie programu pozwalającego na wyszukiwanie rozwiązań pomieszanej Kostki Rubika. Zakres projektu Zakres projektu jaki mnie interesuje podczas

Continue reading Projekt Cube Solver #01 – cel projektu, zakres, przewidywane problemy i technologie

Konkurs Daj się poznać 2017 i mój projekt

Myślę, że pewnie jak część z Was już wie właśnie dzisiaj zaczyna się konkurs Daj się poznać 2017 organizowany przez Maćka Aniserowicza, w którym postanowiłem wziąć udział. Ze szczegółami możecie zapoznać się na stronie http://devstyle.pl/daj-sie-poznac/.   Konkurs polega na dwóch warunkach. Konieczne jest: prowadzenie projektu open source umieszczonego na githubie, prowadzeniu bloga, na którym dwa

Continue reading Konkurs Daj się poznać 2017 i mój projekt