Fable, czyli jak kompilować F# do JavaScript

TypeScript, CoffeeScript, Babel, traceur, ClojureScript, ... . Co je łączy? Kompilują kod napisany w alternatywnych językach do "klasycznego" JavaScriptu. Dlaczego są popularne ? Z jednej strony JavaScript potrafi zaskoczyć, o czym pisałem już jakiś czas temu tutaj. Z drugiej strony, w dużych projektach chcemy często pisać dobrze zarządzalny i skalowalny kod. Biorąc po uwagę liczne … Continue reading Fable, czyli jak kompilować F# do JavaScript

[DajSięPoznać#13] WebAPI w F#: Unity, MemoryCache, ActionFilters

Wstęp "There are only two hard things in Computer Science: cache invalidation and naming things”, jak mówi znany cytat. Ale dane cache'ować należy, zwłaszcza w przypadku, gdy mamy pełną kontrolę nad ich przepływem oraz gdy nie zmieniają się zbyt często. Unity Unity jest jednym z prostszych kontenerów IoC, który łatwo wstawić do projektu WebAPI. W … Continue reading [DajSięPoznać#13] WebAPI w F#: Unity, MemoryCache, ActionFilters

[DajSięPoznać#12] F# Type Providers – przejęcie kontroli nad IntelliSense

Wstęp Muszę przyznać, że kiedy pierwszy raz zobaczyłem na KGD.NET prezentację o F# to Type Providers zrobiły na mnie duże wrażenie. Typy danych wraz z metodami i propercjami generowanymi "w locie" na podstawie connection stringa do bazy czy url do REST-owego serwisu wyglądały nieco  magicznie. Community wokół F# zbudowało sporo takich providerów dostępnych jako paczki … Continue reading [DajSięPoznać#12] F# Type Providers – przejęcie kontroli nad IntelliSense

[DajSięPoznać#9] Elasticsearch: wyszukiwarka jak google, trendy jak na twitterze

Wstęp W jednym z pierwszych postów opisywałem, jak zbudować inteligentną wyszukiwarkę, odporną na literówki użytkowników. Tym razem również zbudowane zostanie API do przeszukiwania pełnotekstowego, ale znacznie bogatsze z dużym naciskiem na wydajność. Dodatkowo opisywany również wcześniej bucketing można wykorzystać do zbudowania analogicznej funkcjonalności jak trendy na twitterze, a więc monitorowanie tego, które słowa często pojawiają … Continue reading [DajSięPoznać#9] Elasticsearch: wyszukiwarka jak google, trendy jak na twitterze

[DajSięPoznać#7] Elasticsearch Aggregations

Wstęp Po zdobyciu danych i wrzuceniu ich do Elasticsearcha można wykonać na nich sporo ciekawych operacji statystycznych przy użyciu mechanizmu agregacji Elasticsearcha. Która dzielnica ma najwięcej ogłoszeń ? Gdzie ceny za metr są najwyższe ? Ile ogłoszeń ma cenę powyżej pół miliona zł ? F# i serializacja do JSON F# przy aplikacjach webowych może sprawić … Continue reading [DajSięPoznać#7] Elasticsearch Aggregations

[DajSięPoznać#6] F# TextMining, xUnit, Unquote

Wstęp Poprzednio pisałem o tym, jak zebrać dużą ilość danych crawlując strony z ogłoszeniami. Tym razem nadszedł czas, żeby spróbować przeanalizować ten spory zbiór HTML-i i wyciągnać z nich wszystkie potrzebne dane. Na podstawie analizy szablonów każdego z portali można niektóre informacje powyciągać pisząc zapytania do drzewa DOM (bo na przykład cena jest zawsze w … Continue reading [DajSięPoznać#6] F# TextMining, xUnit, Unquote

[DajSięPoznać#5] F# WebCrawler + Privoxy

Wstęp Poprzednio pisałem o wizualizacji danych, tym razem o tym, jak te dane pozyskać. Po lupę zostały wzięty trzy duże serwisy z ogłoszeniami o nieruchomościach: gumtree, morizon i olx. Celem będzie pobranie na dysk dużej ilości ogłoszeń. Analiza stron Żeby napisać crawlera, najpierw trzeba trochę poklikać, pooglądać requesty w Fiddlerze i zbadać, jak dane są … Continue reading [DajSięPoznać#5] F# WebCrawler + Privoxy

[DajSięPoznać#2] Elasticsearch – budowa inteligentnej wyszukiwarki

Wstęp Elasticsearch to baza NoSql zorientowana na przetwarzanie ogromnych ilości danych, zarówno tekstowych, jak i numerycznych. Można dzięki niej zbudować wyszukiwarkę pełnotekstową a'la google. W tym projekcie będzie jeszcze wielokrotnie używany. Jego zaletą jest dokumentowy, JSON-owy model danych, wadą dość wysoka bariera wejścia dla nowych programistów związana z mocno skomplikowanym językiem budowania zapytań (które też zresztą … Continue reading [DajSięPoznać#2] Elasticsearch – budowa inteligentnej wyszukiwarki

[DajSięPoznać#1] F# +WebAPI, NLog, xUnit

Początki Nie jestem programistą F#, ale chciałbym go poznać. Mądrzy ludzie mówią, że dobry programista powinien raz w roku uczyć się nowego języka. DSP jest dobrą okazją do mocnej nauki F# i udowodnienia, że backend dla aplikacji webowych może być napisany w języku funkcyjnym. Początek jest prosty. Instalujemy w VS dodatek z galelerii o nazwie F# … Continue reading [DajSięPoznać#1] F# +WebAPI, NLog, xUnit