@wodaSpadaZWysoka: Przeklejam ogłoszenie znajomego:

Szukam ludzi, którzy gotowi porzucić są ciepłe korporacyjne pielesze i wyruszyć w developmentową podróż o własnych siłach. Rozwijamy platformę e-comm najnowszej generacji, w pełni skalowalną, elastyczną i asynchroniczną w oparciu o najnowszy stack. Jesteśmy grupą inżynierów, którzy rzucili wyzwanie największym.

Szukam zdolnych i ambitnych ludzi by dołączyli do mnie i w pełni autonomicznych, lokalnych zespołów.

Frontend (JavaScript / ES 6; React.js; Node.js; SPA)
Backend (Reactive microservices with
Java 8 z mikroserwisami oraz reaktywnym programowaniem. 3 lata doświadczenia.


@wodaSpadaZWysoka: https://www.linkedin.com/hp/update/6254622043577417728
Rozmawiałem z rekruterami od strony technicznej - wygląda bardzo ciekawie, kładą duży nacisk na zagadnienia programowanie funkcyjne i reaktywne, HA i skalowania systemów rozproszonych, wygląda bardzo sensownie

Ponadto Base robi mikroserwisy i kładzie nacisk na Javę 8: https://lab.getbase.com/java/
Słyszałem też dobre opinie o Schibsted (podobny stos technologiczny co Base): http://www.schibsted.pl/career/java-scala-developer/
datatype 'a tree= Leaf of 'a | Node of 'a tree * 'a * 'a tree


fun binSearch (Node(left,n,right)) x =

if x > n then false

else if x=n then true

else binSearch (Node(left,n,right)) x = binSearch (right) x andalso binSearch (left) x;


Ktoś pomoże? Co jest tutaj złego? ;/
Działa dla:

binSearch (Node (Node (Leaf 1, 2, Leaf 3), 4, Leaf 7)) 7;

nie działa dla:

binSearch (Node (Node (Leaf
@jimmyvan: co daje case ponad ify?
Powiedzmy, że masz typ Shape, który może oznaczać przeróżne kształty i masz też funkcję area, która liczy pole kształtu.
Jeśli dodasz na przykład koło do typu Shape, to w przypadku ifów można łatwo przeoczyć to, że nie rozszerzyłeś funkcji area o liczenie pola koła. Jeśli funkcja area ma w sobie case, to kompilator powinien jakoś ostrzec, że nie wszystkie kształty są obsługiwane.
@fegwegw: Bzdura, pytania na rekrutacji powinny zaczynac sie od banalnych a konczyć na takich gdzie nie masz pojęcia o co chodzi. Inaczej nie da się rzetelnie sprawdzić wiedzy.

@wodaSpadaZWysoka: Jeśli dopiero zaczynasz w scali to koniecznie podstawy programowania funkcyjnego, o to zawsze moga spytac, co to jest funkcja wyzszego rzedu, currying, tail recursion, lazy evaluation.

Warto wiedzieć jak działa pattern matching, znać(umieć wymienić i opisać) różne znaczenia słowa implicit. Zdecydowanie
@fegwegw: Bzdura, pytania na rekrutacji powinny zaczynac sie od banalnych a konczyć na takich gdzie nie masz pojęcia o co chodzi. Inaczej nie da się rzetelnie sprawdzić wied


@Krever: Nie chodziło mi o pytania trudne, czy wymagające specjalistycznej wiedzy. Chodziło mi o pytania podchwytliwe, które mają za zadanie wprowadzić Cię w błąd.
@Harry19911: Od razu dodali więcej, płatny "Mixing it Up with Elixir" czy jakoś tak :)
@rubytree: Ale kiedy takie połączenie krótki filmik i praktyczne mikro-zadanie jest świetne żeby poznać jakieś pojęcia, typu pattern matching albo pipe operator. Mimo, że wiadomo, że one same w sobie są proste, to taka ich prezentacja pozwala natychmiast coś tam wtłoczyć do mózgu :)
W tym tygodniu miałem bardzo mało czasu, prawie zero wolnego. Dlatego też za dużo w elixir nie udało się zrobić, ale trochę do przodu było. Udało mi się w końcu przyjrzeć się kilku linkom, materiałom związanym z elixir.

A artykule wymieniam co ciekawsze linki (zarówno te które już znałem plus te nowe):
https://blog.gutek.pl/2017/02/21/elixir-25-ciekawe-linki/

#elixir #erlang #programowanie #informatyka #programowaniefunkcyjne #gutek #gutekpl #projekt365
jgutkowski - W tym tygodniu miałem bardzo mało czasu, prawie zero wolnego. Dlatego te...

źródło: comment_qLSLTKpb1F6ZAfoyJB31bWXSQQm8W39U.jpg

Pobierz
@moriturius: Spray nie jest już rozwijany pod tą nazwą - zmigrował do Akki i został nazwany Akka HTTP.

@jacksai: Skoro potrzebujesz tylko lekkiego RESTowego frameworka to zdecydowanie nie idź w Playa. Jeżeli masz już jakieś doświadczenie ze Scalą to bez problemu ogarniesz Akka HTTP, który IMO jest bardzo łatwy do nauczenia. Jego problemem jest natomiast wydajność - w tej kwestii jest mocno przeciętny na tle konkurencji w świecie JVM (
#programowanie #programowaniefunkcyjne #fsharp #dotnet

Jakiś czas temu napisałem post, że nie lubię gdy metody w klasach mają side-effect i najlepiej jakby były "pure" (wiadomo - publiczne mogą zmieniać stan, ale najlepiej jakby jedna metoda zmieniał stan w możliwie-minimalnym stopniu).
Jakiś Mirek wtedy napisał o programowaniu funkcyjnym i dodam, że wcześniej kojarzyłem, że coś takiego istnieje, ale nie wiedziałem dokładnie z czym to się je, bo się tym nie interesowałem. No ale że
@LeopoldStuff: Przynajmniej jedna firma w Gdańsku eksperymentuje z F#, aczkolwiek nie wiem czy mają już jakiś produkcyjny kod. Ja z kolei piszę prawie wyłącznie w Scali i mam z tuzin produkcyjnych aplikacji w niej napisanych i jest bardzo dużo firm które jej używają. Także programowanie funkcyjne jak najbardziej istnieje również w praktyce :)
Hej!
Jest tu ktoś, kto ogarnia Scalę? :P
Mam do napisania przykład sortowania szybkiego. Zrobiłem go na tablicy i teoretycznie dla intów działa, ale jak na przykład przekażę pustą tablicę do posortowania, to wyrzuca błąd (bo typem tablicy jest wtedy Nothing). Można to jakoś ominąć, żeby zrobić sprawdzenie i dla pustej tablicy oddać pustą tablicę lub chociaż zrobić jakoś sprawdzenie i rzucić wtedy wyjątek? Próbowałem paru metod, ale nic nie mogło wyjść,
@sambarumba I zrobić to jako osobną funkcję, po czym ją jakoś dodać do funkcji sortującej? Czy może wrzucić to na początku funkcji sortowanej? Sorry za takie trywialne (chyba) pytania, ale nie mogę tego ogarnąć jakoś :p
#anonimowemirkowyznania
Cześć Mirki. Ostatnio zacząłem na pewnym kole naukowym na pewnej polskiej uczelni prowadzić zajęcia z języka Coq i chciałbym się podzielić z wami tworzonymi przeze mnie materiałami dydaktycznymi: zeimer.github.io

Czym jest Coq? Jest to asystent dowodzenia twierdzeń oraz język programowania oparty na teorii typów. Umożliwia nam programowanie funkcyjne (jak w Haskellu, tylko na sterydach) oraz "robienie matematyki" (definiowanie obiektów matematycznych, dowodzenie ich właściwości etc.). Jest warty uwagi, bo dzięki temu możemy,