Google Cloud Vision – czyli rozpoznawanie obrazów w chmurze, część 1: OCR

Google udostępniło API pozwalające na rozpoznawanie obrazów. W liście funkcjonalności możemy znaleźć wiele ciekawych pozycji:

  • Label Detection – kategoryzowanie zawartości obrazka, możemy otrzymać informację, że na obrazku znajduje się zwierzę,
  • Explicit Content Detection – wykrywanie nieodpowiedniej zawartości – takiej jak przemoc czy treści dla dorosłych
  • Logo Detection – wykrywa logo znanych marek,
  • Landmark Detection – wykrywanie znanych budowli,
  • Optical Character Recognition (OCR) – rozpoznawanie tekstu,
  • Face Detection – wykrywanie twarzy na zdjęciu,
  • Image Attributes – podaje informacje o obrazie, np. dominujący kolor

W tym poście pokażę jak skorzystać z rozpoznawania tekstu na przykładzie zdjęcia paragonu 🙂

Czytaj więcej »Google Cloud Vision – czyli rozpoznawanie obrazów w chmurze, część 1: OCR

Google Cloud Storage – Pliki w chmurze

W poprzednim poście pokazałem jak uzyskać dostęp do usług Google Cloud. Ten post pokaże, w jaki sposób stworzyć pierwszy projekt i użyć Google Cloud Storage.

Wszystkie dane, które umieszczamy w cloud storage, znajdują się w bucketach. Można o nich myśleć, jak o takich katalogach nadrzędnych. Każdy bucket musi posiadać unikalną nazwę w obrębie całego clouda (nie mogą istnieć 2 buckety o tej samej nazwie w obrębie całej usługi, różni użytkownicy nie mogą mieć bucketów o tej samej nazwie). W ramach bucketu możemy tworzyć pliki i foldery podobnie jak na dysku twardym.

Czytaj więcej »Google Cloud Storage – Pliki w chmurze

Google Cloud – pierwsze kroki w chmurze

Post ten będzie wstępem do opisu usług dostępnych w ramach Google Cloud. W ramach tego artykułu opiszę jak stworzyć projekt, który będzie używany w kolejnych postach. Uzyskamy dostęp do usług Google takich jak Storage, Visio, Places, Youtube itp. Wymaganiem jest posiadanie konta Google. Jeśli nie posiadasz takowego, możesz je w każdej chwili stworzyć nieodpłatnie, do tego dostajemy od Google $300 na testowanie ich usług.

Czytaj więcej »Google Cloud – pierwsze kroki w chmurze

Django – manage.py i niestandardowe polecenia

Czasami potrzebujemy wykonać jakieś proste, powtarzalne czynności, które można łatwo zautomatyzować. Django posiada mechanizm, który umożliwia dodawanie nowych komend uruchamianych przez manage.py. Wywołanie komendy będzie miało postać:

./manage.py customcommand --with-parameter

Dodatkowo możemy w ten sposób zaprogramować jakieś zadania uruchamiane cyklicznie poprzez crona. Dzięki temu nie musimy wywoływać adresu url, tylko uruchamiamy polecenie z linii komend.

Czytaj więcej »Django – manage.py i niestandardowe polecenia

Użycie Spring Security w Spring Boot

Często przygotowując aplikację webową, chcemy posiadać sekcję, która będzie dostępna tylko dla zalogowanych użytkowników lub jakiś panel administracyjny, który pozwoli na zarządzanie stroną. Spring udostępnia gotowy mechanizm autentykacji i autoryzacji użytkowników, z którego możemy w łatwy sposób skorzystać. W poście postaram się pokazać jak w najprostszy sposób skonfigurować autentykację, czyli logowanie użytkownika do systemu. Kod, który używam, jest możliwie jak najprostszy. Pomijam tutaj używanie widoków i innych komponentów skupiając się tylko na tym, co jest niezbędne do rozpoczęcia pracy z security.

Czytaj więcej »Użycie Spring Security w Spring Boot

Spring Boot – Widoki

W poprzednich postach pisałem jak zacząć przygodę ze Spring Bootem oraz jak się połączyć z bazą danych. Dotychczas dane do przeglądarki zwracane były jako stringi. Jak już pewnie się domyślasz, istnieją lepsze sposoby, aby ładnie zaprezentować nasze dane, a do tego oddzielić logikę aplikacji od prezentacji.

Spring wspiera różne technologie widoków. Od tradycyjnych JSP (http://pl.wikipedia.org/wiki/JavaServer_Pages), do Themyleaf (http://www.thymeleaf.org/), Twig (http://twig.sensiolabs.org/, implementacja dla Javy JTWIG: http://jtwig.org/), FreeMarker, Groovy czy Velocity.

Widoki JSP mają kilka znanych ograniczeń, przez co powinny być unikane. Osobiście lubię widoki TWIG dlatego skupie się na nich, inne silniki szablonów implementuje się w analogiczny sposób.

Czytaj więcej »Spring Boot – Widoki

Spring Boot – Interakcja z bazą danych czyli Spring Data JPA

W poprzednim poście pokazującym jak zacząć ze Spring Bootem pokazałem jak stworzyć Hello World dla aplikacji web. Przyszedł czas aby do naszą aplikację połączyć z bazą danych. Będzie nam potrzebne kilka rzeczy:

  • Baza danych
  • Model – klasy POJO z adnotacjami które będą reprezentować schemat bazy danych (więcej o tym za chwilę)
  • Repozytoria – Klasy lub interfejsy które będą definiowały operacje które można wykonać na modelu (takie jak zapisanie obiektu w bazie, wyszukiwanie obiektów itp)

Mogą tutaj pojawić się elementy projektu które pokazywałem w poprzednim poście więc zachęcam do jego przeczytania. Zacznijmy po kolei.

Czytaj więcej »Spring Boot – Interakcja z bazą danych czyli Spring Data JPA