Tuple w C#7 vs F# vs TypeScript

Czas czytania ~ 200 sekund Co zrobić, by funkcja mogła zwracać wiele wartości ? Można opakować te wartości w klasę lub strukturę.  W poprzednich wersjach C# mieliśmy także do dyspozycji generyczne klasy Tuple, które wystawiały propertiesy Item1, Item2, .... ItemN.  Innymi, również niezbyt wygodnymi sposobami na przekazywanie kilku wartości jako wyjścia z funkcji były na przykład parametry … Continue reading Tuple w C#7 vs F# vs TypeScript

Advertisements

6 rzeczy, które ma F#, a brakuje ich w LINQ

Jednym z ważniejszych, o ile nie najważniejszym interfejsem w .NET jest IEnumerable<T>. LINQ i extension methods zdefiniowane właśnie na tym interfejsie pozwalają na tworzenie nawet bardzo skomplikowanych transformacji danych Oddajmy głos jednemu z autorów: I nie ma tutaj znaczenia to, co chciał przekazać w dwóch kolejnych tweetach. Teraz weźmy pod uwagę F#, język funkcyjny, a … Continue reading 6 rzeczy, które ma F#, a brakuje ich w LINQ

F# a matematyka

Czas czytania ~ 200 sekund Jest taki całkiem znany żart: Profesorowi przeciekał kran, więc wezwał hydraulika. Hydraulik przez 10 minut podłubał przy kranie i policzył 100 zł. Profesor się strasznie zdenerwował, że on, osoba wykształcona, zarabia grosze, a hydraulik za chwilę roboty policzył sobie spore pieniądze. Hydraulik na to: - Wie pan co... U nas … Continue reading F# a matematyka

Krótki wpis o pracy z nullami

Czas czytania ~ 220 sekund Dziś  bohaterem numer jeden będzie coś, za czym chyba nieszczególnie przepadamy. A właściwie przyjrzymy się różnym możliwym technikom walki z czymś w stylu Pomijając zbędne podstawy, np. takie: zerknijmy na kilka bardziej praktycznych fragmentów kodu. C# if-else Pierwsza kwestia to zagnieżdżenia. Sprawdzanie, czy coś jest null-em często prowadzi do zagnieżdżania kodu, im … Continue reading Krótki wpis o pracy z nullami

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