Język polski w Sentiment Analysis

Ucieszyłem się niedawno, że do Cognitive Services – Text API – Sentiment Analysis dodano obsługę języka polskiego. Preview bo preview, ale pierwsze koty za płoty.

Dzisiaj zrobiłem pierwsze próby wykorzystania, luźno inspirowane artykułem dotyczącym analizy emocjonalnej i klasyfikacji tekstów fabularnych. Czytaj dalej Język polski w Sentiment Analysis

Fun with Functions – Proxies (NEW! HOT!)

Dziś pojawiła się w portalu nowa funkcjonalność (pun!) dla funkcji i to całkiem fajna. Można zdefiniować sobie Proxy, czyli taki Route, jak w API, rozwijający się z parametrami w inny URL prowadzący do backendu.

Przykładzik:

Czytaj dalej Fun with Functions – Proxies (NEW! HOT!)

Fun with Functions – tanie schedulowanie

Jest taka usługa w Azure jak Scheduler. Usługa jak usługa – pozwala odpalać pewien zestaw akcji, zasadniczo przewidzianych pod kątem webjobów, via request HTTP (do tych ręcznie wywoływanych) albo via kolejka (do tych continuous) o zadanym czasie. Ma różne opcje i udogodnienia, ale ma też wady – przede wszystkim raczej proste ustawienie cyklu, ogarnia co prawda strefy czasowe, ale czas letni/zimowy już nie, w dodatku w opcji bezpłatnej wykonywać można najczęściej co godzinę. Czytaj dalej Fun with Functions – tanie schedulowanie

Fun with Functions – pierwsze kroki z VS

No więc jak napisałem tak zrobiłem – udało mi się wcisnąć instalowanie dodatków do VS między kąpanie jednego, a drugiego dziecka i oto się bawię. Muszę przyznać, że pierwsze wrażenie bardzo dobre. O ile różne projekty można z VS dość szybko wyklikać to jednak większość z nich jest rozbudowana, trzeba czasami ogarnąć coś w strukturze, gdzieś się połapać co jak zrobione, a tu nie. Funkcje jak wiadomo w swojej naturze miały być relatywnie proste i taki stan udało się całkowicie zachować od strony VS. Ktoś może powiedzieć, że nic wielkiego i żadne wielkie halo, ale rzeczywistość pokazuje, że spartolić można wszystko. Pierwsze wrażenie pozostaje na dłużej. Czytaj dalej Fun with Functions – pierwsze kroki z VS

Brace yourselves, functions are coming

Używam Azure Functions. Coś tam tutaj nawet o nich wspominałem. Czasem się lubiliśmy bardziej, czasem mniej, ale zasadniczo nastały ostatnio czasy względnej stabilizacji jak sądzę (wersja 1.0 do czegoś zobowiązuje, chyba…) i coś bym z nimi znowu zawalczył. Przyznaję, że do tej pory trochę z braku jakichś poważniejszych rozwiązań oraz nieco z lenistwa korzystałem tylko z tego, co oferuje portal. No ale ileż można pisać kod w okienku przeglądarki? To jest jednak smutne i debugging na oko, z logiem do konsoli jest delikatnie mówiąc partyzanckim rozwiązaniem. Dlatego jutro zabieram się (o ile nie prawo Murphy’ego) za ogarnięcie się pod tym kątem. Znalazłem nawet odpowiednio obszerny opis co połapać, żeby pracowało się miło i przyjemnie. Jeśli ktoś ma ochotę bawić się ze mną, to tutaj można poczytać co jutro będę klikał.
Do zobaczenia niebawem w kolejnym odcinku „Fun with Functions” 😉

A czy Ty zmigrowałeś swoje funkcje?!

Azure Functions weszło jakiś czas temu w GA, więc zespół App Service’owy chce się pozbyć wersji preview (<1.0). Oficjalnie ogłoszono je jako deprecated i zapowiedziano proces usuwania wersji 0.x, który rozpocznie się 1 lutego 2017. Na szczęście, zakładając, że w tych 0.x nie używamy funkcjonalności, które nada są w preview (np Powershella czy F#), nasze funkcje zostaną po prostu automatycznie podniesione do wersji 1.0. Jeśli chcemy pozostać przy jakiejś „starej” wersji – kolejne wprowadzały braking changes, więc może tak być, że komuś będzie na tym zależało – należy sprawdzić krótkie FAQ (pod linkiem na dole) albo zgłosić się do teamu (adres też w treści źródła).

Ustawienie wersji na szczęście jest per Function App, więc jeśli używamy stagingu przepuszczając nasz kod najpierw przez „pośrednią” usługę, to możemy najpierw sprawdzić efekt zmiany do 1.0 na tej wersji.
Co także jest ważne – w razie problemu da się wrócić do wersji preview (0.x) przez ustawienie FUNCTIONS_EXTENSION_VERSION.

Wygląda na to, że zespół od funkcji całkiem dobrze przemyślał kwestię migracji i ewentualnych jej konsekwencji dając użytkownikom pewien wachlarz możliwości do sprawdzenia jak zachowa się ich usługa.

Źródło: Azure App Service Team Blog

Nowości na MVA

Co jakiś czas wchodzę na portal Microsoft Virtual Academy, żeby zobaczyć, czy nie pojawiły się jakieś ciekawe kursy. Zwykle poluję na te dłuższe, kilkugodzinne, które są o tyle ciekawe, że oprócz solidnej dawki wiedzy zawierają też dema usług pokazujących bardziej szczegółowo różne ich aspekty niż krótsze video, które można znaleźć np. na Channel9.

Okazało się, że w ciągu ostatniego tygodnia pojawiły się co najmniej dwa ciekawe wpisy – jeden o Service Fabric, który powolutku próbuję sobie okiełznać (powolutku bo póki co nie korzystam z tej usługi w pracy, więc na tyle na ile pozwalają „pogodziny”), drugi o Azure Functions (ależ mnie ten temat prześladuje!) i opartych na nich nano serwisach. Czyli mikro serwisy, ale one step further? Zobaczymy, będzie oglądane.

Azure Functions by Troy Hunt

Czyli następny „duży” w Microsoftowym, Azurowym świecie pisze o tej usłudze. Ja tam nadal jestem trochę obrażony, ale że wyszły mi inne tematy, to badanie dziwnego zachowania schedulera jeszcze sobie leży na liście to-do. Wracając jednak do sedna – Troy Hunt pisze jak zwykle na przykładzie swojego sztandarowego serwisu – Have I Been Pwned, który hostuje w Azure. Podaje tam swój use case z demonstracją wykonania i efektów, które akurat on osiągnął. Porusza też kwestię kosztów. Można przeczytać, chociaż mnie tam już wiele nie zaskoczyło. Za to całego bloga zdecydowanie warto odwiedzać. W kontekście Azure można tam znaleźć jeden z lepszych w Internecie opisów wykorzystania Storage (akurat Table Storage) i możliwości tej usługi. Polecam.

Rysa na wizerunku Azure Functions

Azure Functions jako usługa podobają mi się niezmiernie i liczę na nie jako silny element Azura. Nawet już tu pisałem jak bardzo mi się podobają, ale… Ostatnio troszkę się zawiodłem. Ja rozumiem, że to wersja 0.5 i w takiej sytuacji nie ma co rozdzierać szat – korzystasz z niefinalnej to masz, ale mimo wszystko, dokumentacja jedno, a rzeczywistość drugie.

Time trigger. Niby fajnie, niby ekstra, przykład, który potrzebowałem miał odpalać funkcję raz dziennie, przez dwa dni na początku tygodnia, taka specyfika. No i nawalił, już dwa razy. Podejrzenie padło na wyłączony AlwaysON, ale po szybkim sprawdzeniu okazało się, że Dynamic Plan nie ma tego ustawienia i jest zawsze włączone by design. No… nie jestem pewien. Ostatnio dołożyłem jeszcze jedną funkcję do tego planu, która nic nie robi, za to uruchamia się co godzinę, zobaczymy co plan na to.

Druga sprawa jest taka, że w portalu są takie małe upierdliwości i jak się nieostrożnie wciska klawisze na klawiaturze to nieopatrzny enter może uruchomić funkcję zamiast np. zrobić Save, którego się spodziewamy. Backspace potrafi zamknąć blade’a zamiast skasować znak. Takie tam, trzeba uważać.

Może też tak być, że robię coś źle. Śledztwo trwa.

Azure Functions 0.5

Widzę, że mam poważne braki w moich subskrypcjach RSS. Niby obserwuję Azure Blog, ale jak się okazuje wielu interesujących mnie rzeczy tam nie ma. Na nową wersję Azure Functions nadziałem się przypadkiem, kiedy po prostu chciałem coś poprawić w ustawieniach. A nowości są super! Działający monitoring, live streaming eventów (Azure Functions Pulse), można wiązać parametry do body/query w triggerze HTTP.

Takie to ładne teraz, o:

Azure Functions 0.5

Zaraz zabieram się za poprawianie kodu, poużywam sobie nowości, a co. Kroi się też przerzucenie kolejnych funkcjonalności w to miejsce, skoro tak ładnie się rozwija i tak elegancko można teraz ogarniać wyjmowanie danych z requesta 🙂

Tak czy siak, App Service Team Blog ląduje na liście regularnie odwiedzanych miesc (jak mogłem nie robić tego wcześniej?!).