[DajSięPoznać] Podsumowanie

Konkurs powoli dobiega końca, a zatem czas na podsumowanie. To było całkiem niezłe 10 tygodni.

DSP2016 logo RGB color-1

Projekt aplikacji webowej do przetwarzania listy ogłoszeń z nieruchomościami od początku miał na celu poznanie jak największej liczby technologii. Już sam wiodący język, jakim był F# był dla mnie kompletną nowością. Podobnie zresztą Aurelia. O obu tych technologiach słyszałem dużo dobrego, więc spróbowałem i … naprawdę było warto !

Projekt w liczbach to: 94 commity, książek i 10 szkoleñ pluralsight. Zadałem 2 pytania na stackoverflow. Na pierwsze odpowiedział sam Tomas Petricek, na drugie nie odpowiedział nikt i dostałem w związku z tym prestiżową odznakę “Tumbleweed” 🙂 Z chmury tagów bloga można wychwycić aż 27 użytych technologii, języków i narzędzi. Większość z nich to dla mnie totalne nowości. Oto bohaterowie tego projektu:

 accord.net aurelia  azure css docker edge.js  elasticdump  elasticsearch  f#  google maps  html5  iis jasmine  javascript  jmeter nlog  pdfmake privoxy protractor rest selenium  svg unity  unquote  webapi  web components  xunit

Na koniec krótkie zestawienie po 3 tematy w różnych kategoriach:

Największe sukcesy:

  1. Poznanie F# – w 6 tygodni od “Hello world” do własnego type providera
  2. System rekomendacji oparty o Elasticsearch – działa bardzo dokładnie, sporo pracy wykonanej do osiągnięcia sukcesu: crawler, text mining, geocoding, praca z samym elasticsearch
  3. Web crawler  – F# okazał się perfekcyjnym językiem do tego celu – krótki zapis funkcyjny, sporo fragmentów asynchronicznych i pakiet FSharp.Data do przetwarzania HTML

Największe niepowodzenia i braki:

  1. Style, wygląd – nie przykładałem do tego zbyt dużej wagi, kolory z generatora, brak regularności w odstępach, UI na pewno mogłoby wyglądać lepiej
  2. Machine learning i estymator cen – przyjęty został zbyt prosty model matematyczny, przez co estymowane ceny często były dalekie od prawdziwych
  3. Błędy text miningu – rozpoznawanie ulic w tytułach generalnie się udało, ale zabrakło żmudnej pracy nad wyjątkami i nietypowymi przypadkami

Najlepsze książki:

  1. Programming F# 3.0
  2. Learning Web Component Development
  3. F# for Machine Learning Essentials

Najlepsze szkolenia pluralsight:

  1. Building Applications with Aurelia
  2. Building F# Type Providers
  3. Introduction to Protractor

Najważniejsze posty (z punktu widzenia projektu):

  1. F# WebCrawler + Privoxy
  2. Elasticsearch: wyszukiwarka jak google, trendy jak na twitterze
  3. Elasticsearch, Microsoft Azure, Docker, elasticdump

Najprostsze i najpotężniejsze zarazem:

  1. Edge.js
  2. Google maps API
  3. Microsoft Azure

Warto było zainwestować (czas lub pieniądze)

  1. Domena i blog na wordpress 🙂
  2. F# (całokształt)
  3. Aurelia, jspm i ECMA Script 2015

Lista wszystkich postów (w kolejności publikacji):

  1. F# +WebAPI, NLog, xUnit
  2. Elasticsearch – budowa inteligentnej wyszukiwarki
  3. Aurelia – prosty framework do MVVM
  4. Mapa Krakowa w SVG
  5. F# WebCrawler + Privoxy
  6. F# TextMining, xUnit, Unquote
  7. Elasticsearch Aggregations
  8. Web Components i Aurelia
  9. Elasticsearch: wyszukiwarka jak google, trendy jak na twitterze
  10. Google Maps API
  11. Elasticsearch scoring, system rekomendacji
  12. F# Type Providers – przejęcie kontroli nad IntelliSense
  13. WebAPI w F#: Unity, MemoryCache, ActionFilters
  14. Wydruki PDF w WebAPI: pdfmake i Edge.js
  15. Estymacja cen: Machine Learning i Accord.NET
  16. Hashcash
  17. Testy e2e: Aurelia i Protractor
  18. Hardening IIS
  19. Elasticsearch, Microsoft Azure, Docker, elasticdump
  20. JMeter i testy wydajnościowe

Kilka screenshotów z UI aplikacji:

I najważniejsze: ogromne podziękowania dla @maniserowicz za sam konkurs – doskonałą okazję do zabawy i rozwoju. Zdecydowanie warto było wystartować.

Osobne podziękowania dla pierwszego, regularnego czytelnika @marcinnajder – będą kolejne posty, blogowanie jest fajne, F# również 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s