Całuśne szparagi – KISS

KISS – keep it simple stupid!

Reguła zostala stworzona w latach 60 XX wieku przez amerykańskich inżynierów wojskowych i odnosiła się do prostoty rozwiązania. Ma być ono proste i zrozumiałe dla każdego, nawet głupka.
KISS na stałe weszło do użytku do branży IT i jest przywoływane głównie w sytuacjach kiedy zespół programistyczny wytwarza rozwiązanie zbyt skomplikowane. Mając w realizacji prosty problem, który w kodzie wygląda jak potwór warto przewietrzyć głowę i przypomnieć sobie o KISS lub w polskiej wersji BUZI – Bez Udziwnień Zapisu, Idioto.

KISS sprawdza się równie dobrze w kuchni jak w amerykańskiej armii lub IT. Poniżej znajdziecie przepis na proste i smaczne szparagi.

Składniki:

  • Pęczek zielonych szparagów
  • Ząbek czosnku
  • 2 łyżki oliwy z oliwek
  • Sok z cytryny
  • Sól
  • Pieprz

1. Zielonych szparagów w przeciwieństwie do białych nie obieramy, wystarczy odłamać końcówki, które mogą być włókniste.

2. W wysokim garnku zagotowujemy wodę i wstawiamy szparagowy pęczek w taki sposób żeby główki wystawały ponad wodę – powinny być lekko chrupiące i ugotowane tylko na parze. Po około 2 minutach wyciągamy zielone łodyżki.

3. Na rozgrzaną patelnię wlewamy oliwę, wyciskamy ząbek czosnku i przekładamy podgotowane szparagi.

4. Całość smażymy 2 minuty, doprawiamy solą i pieprzem, mieszamy tak aby każdy szparag zanurzył się w oliwie pełnej smaku. Wykładamy na talerz i skrapiamy sokiem z cytryny.

zajadamy.yummy()
szparagi_2




Lasagne bolognese

Lasagne w moim wydaniu, ciesząca się powodzeniem wśród pozostałych domowych geeków.

Wszystkie parametry w kuchni przyjmuje na tak zwane oko, jednak w tym przypadku receptura została sparametryzowana troszeczkę dokładniej. Przepisy opisane kodem mają odzwierciedlać idee programowania, więc jeżeli zaczerpniecie z nich pomysł na coś smacznego i przeniesiecie je do kuchni, można z czystym sumieniem przejść na miarę „na oko”, porzucając aptekarską precyzję.

Lasange&Ruby

Prism Shortcode Error: field, url, data_src is missing

Prism Shortcode Error: field, url, data_src is missing

Prism Shortcode Error: field, url, data_src is missing

lassange_sos

Prism Shortcode Error: field, url, data_src is missing

Prism Shortcode Error: field, url, data_src is missing

gotowa_lasange

kawalek_lasange

Cookies – Pierniczki

Cookies to niewielkie informacje wysyłane przez słoik z pierniczkami, który odwiedza łasuch. Informacje zapamiętywane są przez łasucha, który często zagląda do słoja z pierniczkami.

Świąteczne pierniczki składają się z wielu składników o różnej gramaturze, posiadają informacje, które są potrzebne do prawidłowego funkcjonowania pełnego słoika z ciasteczkami. Jeżeli łasuch odwiedzi słoik po raz kolejny, poznanie nowych smaków nie jest potrzebne, już dawno spałaszował ciastka składające się z konkretnych składników i jesteśmy w stanie go rozpoznać.

Każde pudełko z ciastkami, nie tylko to świąteczne, wykorzystuje ten sam mechanizm. Zostawiają ślady czekolady, cukru pudru i lukru na twarzach zadowolonych łakomczuchów.

Ciasteczka umożliwiają określenie preferencji cukierniczych, personalizowanie wypieków w zakresie konkretnych upodobań.

W rolach głównych wystąpili
Słoik, pudełko z ciasteczkami – serwis internetowy
Łasuch, łakomczuch – użytkownik serwisu internetowego, reprezentowany przez przeglądarkę
Ciasteczka – Cookies

piernik4

Świąteczne pierniczki

  • 100g masła
  • 170g miodu
  • 100g cukru
  • 30g cukru waniliowego

Składniki rozpuszczamy na małym ogniu, cały czas mieszając, uważając żeby się nie przypaliły. Po dokładnym połączeniu studzimy.

  • 1 jajko i 1 żółtko
  • 3 szklanki mąki pszennej
  • 1,5 łyżeczki proszku do pieczenia
  • 1 łyżka przyprawy do piernika
  • 1 łyżka ciemnego gorzkiego kakao

Jajko z żółtkiem ubijamy w głębokiej misce, dodajemy mąkę, proszek do pieczenia, przyprawę do piernika i kakao. Wszystko lekko mieszamy i powoli wlewamy wystudzone płynne składniki. Całość powinna się połączyć, jeżeli masa będzie zbyt klejąca się należy dosypać trochę mąki, do czasu aż będzie odchodzić od ręki. Zagniecione ciasto dzielimy na kilka mniejszych porcji i chłodzimy w lodówce przez około godziny do dwóch. Schłodzone ciasto wałkujemy cienko, wycinamy ciasteczka. Blachy z pierniczkami wstawiamy do piekarnika nagrzanego do 180 stopni na maksymalnie 10 minut.

pierniczki

pierniczki_2

piernik3

Kasza jaglana na mleku

Kasza jaglana przygotowana na mleku z dodatkiem suszonych owoców, orzechów i miodu to smaczna propozycja na śniadanie. Szybki przepis wczytamy z katalogu z przepisami na śniadanie. Odczytamy każdą linię i wyświetlimy ją na ekranie.

Śniadanie&Ruby

Prism Shortcode Error: field, url, data_src is missing

Prism Shortcode Error: field, url, data_src is missing

kasza2

Czy blender dziedziczy od miksera kuchennego?

Dziś podejdziemy do tematu programistycznego prezentując go na przykładzie „sprzętowym”.

Czym różni się kompozycja od dziedziczenia?

Zarówno dziedziczenie jak i kompozycja to popularne mechanizmy programowania obiektowego. Pozwalają na wykorzystanie istniejących klas bez naruszania ich pierwotnej implementacji. Ujmując problem bardzo ogólnie można powiedzieć, że pierwsze podejście opisywane jest przez słowo „jest”, a drugie przez słowo „zawiera”.

Jeżeli popatrzymy na mikser to jest on przykładem sprzętu kuchennego do rozcierania lub ubijania produktów spożywczych. W uproszczeniu przyjmijmy, że główne części urządzenia to silnik elektryczny, mieszadła i przełącznik, który uruchamia maszynę.

Prism Shortcode Error: field, url, data_src is missing

Mikser rozbudowany o końcówkę do blendowania to szczególny przykład tego urządzenia, które jest rozszerzone o dodatkowe funkcje. W tym przypadku mamy do czynienia z dziedziczeniem.

Dziedziczenie stosowane jest gdy między klasami występuje relacja ogół <-> specjalizacja, nowa klasa jest szczególnym rodzajem istniejącej już klasy. W naszym przypadku klasa mikser kuchenny z blenderem jest szczególnym przypadkiem klasy mikser kuchenny oraz zawiera w sobie klasę silnik i przełącznik.

Prism Shortcode Error: field, url, data_src is missing


mikser4

Kompozycja odnosi się do relacji typu całość <-> część, obiekty nowej klasy zawierają w sobie instancje już istniejących klas. Zatem klasa Silnik, Przełącznik czy Mieszadła są wykorzystane do budowy nowej klasy MikserKuchenny.

Prism Shortcode Error: field, url, data_src is missing

Przykład powyżej prezentuje jak za pomocą konstruktora przekazujemy składowe wymagane do budowy obiektu klasy MikserKuchenny. To specjalnie utworzone instancje klas reprezentujących elementy omawianego sprzętu AGD. Składnikami mogą być nie tylko obiekty, ale również kolekcje (tak jak w przypadku mieszadeł).

mikser

Jako model wystąpił mój nowy mikser kuchenny, który już niedługo wykorzystam do kolejnego przepisu.
Poprzedni niestety wyzionął ducha…

Pierogi z kaszą gryczaną i fetą

Najbliższą sobotę spędzimy twórczo na podróży przez piramidę testów podczas Quality Excites 2014. W czasie warsztatów przebrniemy przez każdy poziom piramidy, napiszemy kilka wykonywalnych scenariuszy testowych oraz porozmawiamy o testach w Agile. Nawiązując do nadchodzących warsztatów i części poświęconej testowaniu w metodykach zwinnych, moje dzisiejsze kuchenne podboje opisałam wykorzystując metodę spisywania wymagań za pomocą User Stories.

Pierogi inspirowane są przepisem z bloga Zosi Cudny. Mój dodatek to gałązka tymianku w każdym pierogu.

Składniki:
Ciasto:

  • 600 g mąki
  • ok 300 ml ciepłej wody
  • ok 2-3 łyżki sklarowanego masła
  • szczypta soli
  • 1 jajko

Farsz:

  • 2 torebki ugotowanej kaszy gryczanej
  • 3 cebule
  • 1 opakowanie fety
  • 200 g wędzonego boczku
  • 3 ząbki czosnku
  • szczypta mielonego kminku
  • garść świeżego, posiekanego szczypiorku
  • 1 pęczek posiekanej pietruszki
  • szczypta gałki muszkatołowej
  • sól
  • świeżo zmielony pieprz
  • gałązki świeżego tymianku

User Stories to krótkie historyjki opisujące funkcjonalność w kontekście konkretnego użytkownika i jego potrzeb.

Prosty zapis dostarcza wiele cennych informacji zespołowi tworzącemu oprogramowanie, a w przypadku niejasności pozwala z łatwością rozpocząć rozmowę z klientem o konkretnej funkcjonalności w celu jej doprecyzowania.

Prism Shortcode Error: field, url, data_src is missing

Doprecyzowanie User Story oparte na rozmowie z klientem przynosi szczegółowe informacje, które są przydatne zespołowi do stworzenia w pełni działającej funkcjonalności i co ważniejsze – działającej zgodnie z oczekiwaniami klienta. Informacje wzbogacające User Story nazywane są kryteriami akceptacji (ang. acceptance criteria).

Prism Shortcode Error: field, url, data_src is missing

pierogi

Acceptance Criteria mogą być bardziej szczegółowo opisane przez Test Case. Każdy z kryteriów akceptacji został wyspecyfikowany na poziomie konkretnych zachowań i kroków. To reprezentacja czynności, które muszą być wykonane, aby funkcjonalność zapisana w User Story zakończyła się oczekiwanym rezultatem (zdefiniowanym jako jedno z kryteriów akceptacji).

Prism Shortcode Error: field, url, data_src is missing

pierogi1

pierogi3

Coś na ząb z małym dodatkiem egzotyki

Świetną sugestię podrzucił mi znajomy znajomego dewelopera żeby spojrzeć na hRecipe. Jest to mikroformat przeznaczony jest do opisywania przepisów w postaci markupu, postaram się go dobrze spożytkować 😀

Dlaczego warto stosować mikroformaty? Między innymi dlatego, że odnalezienie najważniejszych informacji w otwartym tekście stanowi ciężki orzech do zgryzienia dla wyszukiwarek. W przypadku przepisów, metadanymi stają się składniki, metody przygotowania posiłku, czas i inne ważne informacje opisujące recepturę.

Taki zapis może przynieść wiele korzyści przede wszystkim dla kucharza – jeśli wyszukiwarka odnajdzie określony format na stronie, może stworzyć bogatsze interakcje.

A jaki dziś przepis został opisanym kodem? Deser, coś słodkiego, po prostu małe co nieco, straaaszny banał.
Kiedy chce mi się coś dobrego i mały głód za mną chodzi sięgam po musli, orzechy, ziarna słonecznika, jogurt naturalny i dzisiaj po egzotyczną markuję. Było pysznie, ale musze przyznać, że mój dżem porzeczkowy, mimo mniejszej egzotyki, sprawdza się równie smakowicie 🙂

Prism Shortcode Error: field, url, data_src is missing

marakuja1

Kruche ciastka ze słonecznikiem

Ciasteczka, które kojarzą mi się z podróżą, zawsze przygotowuje je na kilka dni przed planowanym wyjazdem. Idealnie sprawdzają się na weekendowe wyprawy za miasto, w sam raz na nadchodzacą majówkę.

Składniki na ciastka zostały opisane za pomocą listy numerowanej w HTML.

Prism Shortcode Error: field, url, data_src is missing

Pierwszym krokiem do przygotowania ciastek będzie zagniecenia surowego ciasta. Ciasto może wydać się ciężkie do zagniecenia. Przez dodatek otrąb i płatków owsianych trzeba włożyć trochę więcej siły w jego wyrobienie.

W przygotowaniu ciastek pomoże nam JavaScript, który w łatwy sposób pozwala na przetwarzanie elementów zapisanych w HTML (w tzw. drzewie DOM). Listę składników, pobranych ze wspomnianego drzewa, przekształcamy (redukujemy) do jednego elementu – kulki surowego ciasta.

Prism Shortcode Error: field, url, data_src is missing

1ciastka

Zagniecione ciasto schładzamy przez około 20 min w zamrażarce (przy okazji możemy zauważyć, że wszystkie API w JavaScript przyjmują czas w milisekundach, stąd 20 min zostało rozbite na 20 * 60 * 60 * 1000).

Prism Shortcode Error: field, url, data_src is missing

Schłodzone ciasto dzielimy na mniejsze częsci, rozwałkowujemy i wycinamy ciastka.
Wycięte ciastka smarujemy roztrzepanym białkiem i posypujemy ziarnami słonecznika.

Prism Shortcode Error: field, url, data_src is missing

2ciastka

Tak przygotowane ciastka umieszczamy na około 15 min w nagrzanym do 180 stopni piekarniku, aż się zarumienią – asynchronicznie.

Asynchroniczność narzuca łasuchom spróbowanie ciastek dopiero gdy będą gotowe. Metoda shift() ogranicza ilość do jednego ciastka, znajdującego się na pozycji 0.

Prism Shortcode Error: field, url, data_src is missing

4ciastka

Makaron ze szpinakiem

Moje ulubione danie śniadaniowe, obiadowe, kolacyjne, a i na deser też świetnie się sprawdzi 😉

Nie dość, że zdrowe to jeszcze proste w przygotowaniu, czego chcieć więcej?

Szpinak&Ruby

Prism Shortcode Error: field, url, data_src is missing

Prism Shortcode Error: field, url, data_src is missing

szpinak4

Prism Shortcode Error: field, url, data_src is missing

szpinak5

Prism Shortcode Error: field, url, data_src is missing

szpinak6

Sałatka z selera naciowego

Wszystkie składniki na sałatkę zostały zapisane w HTML. Każdy produkt i narzędzie, które jest potrzebne do zrealizowania przepisu zostanie wykorzystane w opisie przygotowania sałatki za pomocą BDD – Behavior-driven development.

BDD pozwala opisać czynności w postaci zachowań (behaviors), które należy wykonać aby można było uznać, że wszystko poszło zgodnie z założeniami i wynik został zaakceptowany. Przygotowując sałatkę wystarczy wykorzystać kilka prostych czynności takich jak siekaj, przesyp, mieszaj wykonane na kilku różnych produktach. Pozwala to na stworzenie kilku uniwersalnych kroków, które przy każdym wywołaniu będą miały zadany inny produkt do posiekania czy przesypania.

Prism Shortcode Error: field, url, data_src is missing

BDD – test akceptacyjny sałatki z selera naciowego, nasz kuchenny .feature 🙂

Prism Shortcode Error: field, url, data_src is missing

Metoda która tłumaczy nazwy produktów zapisanych językiem naturalnym na rozpoznawalne elementy w HTML.

Prism Shortcode Error: field, url, data_src is missing

Definicje kroków wynikają wprost z .feature, wykorzystują pseudokod i elementy z biblioteki Capybara, która służy do budowy testów akceptacyjnych zapisanych za pomocą języka Ruby.

salatka

Prism Shortcode Error: field, url, data_src is missing

salatka2