https://www.gravatar.com/avatar/306d401b2a8c0efe0996fec60e0c90aa?s=240&d=mp

My coding journey

Disclaimer: it's just for fun

Postgres - instalacja

Zaczęłam czytać: Anthony De Barros “Practical SQL: A Beginner Guide to Storytelling with Data”. Wszystkie zawarte w książce przykłady dotyczą systemu Postgresql. Uznałam więc, że czas zainstalować postgresa.

Chcę przyjrzeć się bliżej samemu postgresowi, a w trakcie czytania trochę się pobawić danymi. Muszę też koniecznie przypomnieć sobie SQL-a. To plan na październik.

Instalacja

Kroki potrzebne do instalacji w zasadzie ograniczają się do zainstalowania dwóch pakietów; polecenia systemctl to sprawdzienie statusu serwera (który jest uruchamiany razem z kilkoma procesami pomocniczymi):

Java 17 - RandomGenerator i spółka

Dziś szybki rzut oka 👁️ na biblioteki przydatne podczas generowania losowych danych (przydają się podczas pisania testów oraz do prototypowania) i głębsze zanurzenie 🌊 w pakiet java.util.random.

Przyglądam się klasiejava.util.Random oraz pakietowi java.util.random w kontekście nowych interfejsów, jakie pojawiły się w Javie 17 (patrz Java 17 - co nowego).

Nowe interfejsy to m.in. RandomGenerator, RandomGenerator.StreamableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.SplittableGenerator.

Generowanie danych dla testów

Jeśli Twoje programy kiedykolwiek potrzebowały testów, to testy zapewne potrzebowały testowych danych. Masz szczęście, jeśli dane do testów to dane rzeczywiste (na przykład historyczne dane transakcji, operacji bankowych, zdarzeń w systemie).

Tworzenie serii artykułów

Chcę tworzyć na swoim blogu serie artykułów dotyczączych projektu bądź jakiegoś zagadnienia. Mogłabym użyć tagów, ale one co do zasady tylko wspomagają ustalenie semantyki strony, sugerują rodzaj treści, natomiast przynależność do serii jest dla artykułu czymś bardzo konkretnym, wręcz niezmienialnym.

Kiedy widziałam zestawienia typu ten wpis jest częścią serii, to zawsze zastanawiałam się, jak mogę to zrobić “u siebie”. Dziś przyszedł ten moment, że postanowiłam to w końcu zrobić.

Na stronie npf.io znalazłam wpis o tym, jak można utworzyć serię artykułów w Hugo. Postanowiłam pójść tym tropem.

Java 17 - co nowego?

14 września 2020 wydana została Java 17. Co nowego niesie ze sobą to wydanie? Jakie zmiany zostały ustabilizowane, a co wciąż jest ekperymentalne? Zapraszam na krótką wyprawę, na której chcę się przyjrzeć nowościom.

Gabinet dentystyczny - Legenda

Ogłoszenie

Dziś moje urodziny ✨ 🎂 ! Nie ma lepszego prezentu niż chwila kodowania przy kawie… ☕

Zabawa nową biblioteką

Wypróbowuję ostatnio nową bibliotekę do rysowania - svg.js. W porównaniu do Raphaela jest ona dużo bardziej “poukładana”, API wydaje się bardziej przejrzyste, dokumentacja zaś jest dobrze napisana i czytelna.

Chcę użyć jej do renderowania diagramu zębowego. Kolejny raz zmieniłam koncepcję:

  • tym razem ścieżki SVG oznaczające stany całych zębów chcę przechowywać w bazie
  • w bazie będzie również kolor stanu
  • kliknięcie fragmenu/całego zęba spowoduje zmianę stanu
    • w przypadku fragmentu zmieni się kolor fragmentu
    • w przypadku całości zmieni się kolor wypełnienia i kształt ścieżki

Ekran

Obecnie ekran wizyty wygląda tak:

Gabinet dentystyczny - diagram

Dziś kilka słów o tym, jaki jest status “Gabinetu dentystycznego” i co zamierzam jeszcze w tym programiku wprowadzić.

Status

Obecnie

Do rysowania widocznego na powyższym rysunku diagramu używam biblioteki Raphael.

W pierwszej wersji wprowadzam minimalną interaktywność: pozwalam na wybór zęba oraz jego stanu. Koduję stany różnymi, losowo wygenerowanymi kolorami. Żadna ze zmian nie jest na razie zapisywana w bazie.

Kolejne kroki - rozszerzenie

Chcę jednak, aby możliwe było wybranie stanów zarówno dla całego zęba jak i dla jego fragmentu. Muszę więc zmienić mój model rysowania tak, aby możliwe było wybranie całego zęba a także jego fragmentu; w zależności od tego wyboru powinny być wyświetlane odpowiednie stany.

Favicon

Dziś chwila relaksu - wymyślam ikonę do mojego bloga. Zauważyłam, że motyw mojego bloga (LoveIt) generuje odnośniki do favicon, których nigdy nie zrobiłam. Zauważyłam to zerkając w statystyki bloga. Brakujące ikony są na samej górze listy URL-i, dla których wygenerowana została strona 404. Zaraz po rss.xml, który z jakiegoś powodu się nie generuje.

inkscape

Koncepcje

Wymyśliłam trzy koncepcje ikony:

Gwiazdka wyszła mi ścliczna, ale może mało poważna:

Gabinet dentystyczny - przygotowania do rysowania diagramu

Przymierzam się powoli do narysowania diagramu zębów.

Założenia

  • Na początku przygotuję bazę - dodam potrzebne tabele - i zastanowię się nad API, jakie może mi się przydać podczas rysowania.

  • Później zamierzam napisać kawałek kodu w JavaScript, który ściągnie z serwera listę zmian (operacji, jakie były wykonywane na poszczególnych zębach) i wyrysuje je na diagramie widocznym w widoku wizyty.

  • Docelowo diagram będzie interaktywny - klikanie w zęby będzie generować po stronie serwera “zmiany stanu uzębienia”.