4programmers.net
2019-01-07 16:43

Poprawiliśmy funkcjonowanie sekcji "Ostatnia aktywność" na stronie głównej. Więcej o zmianach można poczytać we wpisie: Ostatnia aktywność na forum

#coyote #4programmers.net

jarekr000000

@cerrato: Że też chciało Ci sie pisać ten cały syf podpisując się głupimi nickami tylko po to, żeby przekonać ludzi do idei. Troche szacun, trochę straszne.

cerrato

Nicki są generowane automatycznie, moja jest tylko treść postów ;)

Michał Kuliński
2019-01-07 14:41

O prawdziwej mocy programowania funkcyjnego na przykładzie kodu gry w realiach świata Star Trek opowiada Robert "Wujek Bob" Martin. https://michalkulinski.blogsp[...]rzanie-list-pf-kontra-oo.html
#technologia #it #programowanie #programowaniefunkcyjne #clojure #startrek

siloam

@jarekr000000: I jeszcze tutaj i tutaj. Kod imperatywny łatwiej jednak przenosić na instrukcje procesora, co przyznają nawet twórcy Ocaml'a. > to inny styl kodowania i ma inne własności
Nie twierdzę, że nie. W 95% przypadków to lepszy styl, bo kod jest krótszy, bardziej przenośny i modułowy. Zostaje te 5%, gdy liczy się bardzo wysoka wydajność, ale kompilatory języków funkcyjnych są co raz lepsze, więc w przyszłości może nawet i to nie będzie problemem.

jarekr000000

@siloam: problemem jest to, że w językach typu Java i nawet Scala kompilator musi odpuścić dość dużo optymalizacji. Z różnych powodów. Miedzy innymi, dlatego że są by design imperatywne i np. kompilator nie może zrobić memoizacji, wywalić części zbędnych wyrażeń itd. Bo nie do końca wiadomo, gdzie są efekty uboczne. W ScaliJS zrobiono dość dużą optymalizację kodu wynikowego (głównie rozmiar) po prostej decyzji o wywaleniu runtime refleksji.

4programmers.net
2019-01-07 11:48

Dyskusja o tym, czy użytkownicy anonimowi powinni mieć możliwość pisania na forum, czy też nie, toczyła się od lat. Ostatnio zdecydowaliśmy się na dość ważny i krok i zamknęliśmy kategorię Newbie.

Czas na kolejny ważny krok i blokadę użytkowników anonimowych. Spójrzcie na wyniki ankiety w wątku: Zablokujemy możliwość pisania osobom anonimowym / niezalogowanym? Zdecydowana większość z Was opowiada się za całkowitą blokadą możliwości pisania przez osoby nieposiadające konta. W dużej mierze ma na to wpływ ilość wulgarnych wpisów, spamu czy ogólnie - bezwartościowych postów pisanych przez użytkowników niezalogowanych.

Od jakiegoś czasu użytkownicy anonimowi nie mogą pisać w działach takich jak Off-Topic, Społeczność, Flame czy Coyote. Czas pójść za ciosem i wprowadzić takie ograniczenie dla pozostałych kategorii.

Wobec tego, z końcem tygodnia zablokujemy możliwość pisania osobom niezalogowanym. Oczywiście, w przypadku osób posiadających konta - nic się w tej kwestii nie zmieni.

#4programmers.net

tdudzik

@tdudzik: ja już spełniam kryteria nieanonimowości @somekinda :D miałem na myśli że niektórych łatwo wystalkować mimo nicku. Chociaż niektórzy dobrze się ukrywają. :)

DevEnv
2019-01-07 10:48

Siema, wracamy z kolejnym postem o #RUST. Tym razem na tapet bierzemy Moving Ownership. Zapraszamy! ;)

#Devenv #technicalblog #blog

Patryk27

Przez jakiś bug nie mogę zmodyfikować mojego postu, a wypadałoby dorzucić inną ważną informację: każda struktura w Ruście ma z góry określony, znany w trakcie kompilacji rozmiar (w odniesieniu do pierwszego cytowanego przeze mnie wyżej fragmentu). Typami odbiegającymi od tego są jedynie traity i slice'y (https://doc.rust-lang.org/nomicon/exotic-sizes.html).

DevEnv

Dzięki @Patryk27.

  • W Rust nie ma słówka kluczowego class, ale jakoś struktura, która implementuje traity lub własne funkcje jest dla mnie klasą. Reprezentuje dane wraz z zachowaniami.
    Trait to jest deklaracja interfejsu podobna do tych z C# lub Javy, ale nie identyczna.

  • Miałem to rozdzielone, bo to o czym wspominasz czyli implementacja trait Copy opisana była poniżej. Podkreśliłem to bardziej.

  • Typy proste to prymitywy. Typy złożone to struktury.

  • Co macie na myśli poprzez wykorzystać dziedziczenie? Zmieniłem by było jasno wypisane, że chodzi o implementacje konkretnego traita a nie o całe zjawisko dziedziczenia.

  • W kolejnych częściach planuje opisać: Borrowing, wpływ mutowalności, slice. Nie chciałem naraz wprowadzać dużej ilości pojęć. Dodałem zdanie zapowiadające by czytelnik wiedział.

  • Rc, Arc, Mutex planuje wprowadzić dopiero w późniejszych częściach, bo to są mechanizmy skierowane na współbieżność.

Dzięki za feedback i pomoc :)

InterruptedException
2019-01-07 01:48

#Haskell #FP Aktualnie pracuję w teamie uzywającym mocno functional programming. Również Haskell obok Ocaml, F#. Zauważyłem i cieszy mnie to niezmiernie, że niektórzy z was zadeklarowali chęć nauki Haskella jako technologię do opanowanie w 2019. Haskell pojawił się więcej niż raz. Super.

Od siebie moge zaproponować kurs https://github.com/data61/fp-course. W mojej aktualnej firmie jest on obowiązkowy jako onboarding dla nowych pracowników. Polecam również kanał Briana który rozwiązuje ten kurs live: https://www.youtube.com/channel/UCHqC8N7FMMRRNIo-hUNtiQA

siloam

Co do typów to pewnie masz rację, bo notacja type guardów to w sumie syntactic sugar dla wstawiania metod sprawdzających właściwości w obiektach. Myślę, jednak że każdy dodatkowo wykonujący się kod ma wpływ na wydajność. Model klas w Pythonie ma na nią wpływ i podejrzewam, że podobnie jest też w innych językach. Tylko, że w prostych skryptach tego nie widać.

n0name_l

TS by design nie sprawdza typów w runtime, a klasy zwykłe (w sensie te znane z Javy) masz od es6 w górę.. A Ty widziałeś w ogóle jakiś kod, w którym samo użycie TS było bottle-neckiem? Ewentualnie cokolwiek gdzie problemem wydajnościowym był mało zwięzły kod, a nie zaimplementowany algorytm? Bo mi to szczerze mówiąc nawet ciężko sobie wyobrazić sytuację, w której nie użycie TS rozwiązuje jakikolwiek problem z wydajnością.

nie100sowny
2019-01-07 00:24

Zadanie z serii crypto:
https://lichess.org/VrUf6qKk#61

1. e4 Na6 
2. Nh3 h6 
3. Qe2 c5 
4. b4 g6 
5. Qd3 Rb8 
6. Na3 Ra8 
7. g4 g5 
8. Rb1 f5 
9. e5 Rb8 
10. Qxa6 h5 
11. gxf5 e6 
12. d3 Ke7 
13. Ra1 Ra8 
14. c4 cxb4 
15. Bxg5+ Nf6 
16. exf6+ Kf7 
17. Be3 Bd6 
18. Be2 Ke8 
19. Qa5 b6 
20. Bg5 Qe7 
21. Bf3 bxa5 
22. Bg2 Qxf6 
23. Bc6 Be5 
24. Ng1 Bb7 
25. Nf3 Rg8 
26. Bd5 Qd8 
27. fxe6 Rc8 
28. Rf1 b3 
29. Bh4 Bb2 
30. Nd4 a6 
31. Nb1 Rg6 
32. Bxd8 bxa2 
33. Bf3 Ba3 
34. Bxh5 Bg2 
35. Bxa5 Bf3 
36. e7 Ra8 
37. Bc3 a5 
38. Nxa3 Bd1 
39. Rxd1 a1=Q 
40. Bf3 Rd8 
41. Bd2 Ra6 
42. Be3 Qb1 
43. Nc6 d6 
44. Be4 Ra7 
45. Bh7 { Black resigns. } 
1-0

#nie100sowny_ctf #ctf

Azarien

Ale jakie „zadanie”? edit: to grają ludzie czy „komputery”? bo ruchy wyglądają niemalże jak randomowe.

nie100sowny

@Azarien W nawiązaniu do sukcesów polskich drużyn, postanowiłem zorganizować własny CTF. Nagroda to sława po wsze czasy. Wystarczy znaleźć flagę. :) Jeżeli ktoś jest na bieżąco z wiadomościami to rozwiąże w 5 sekund. :)

lion137
2019-01-06 16:36

Teoria Kategorii

Tak jak naisałem, w 2019 rzucam okiem na Teorię Kategorii, pierwszy efekt, skromny artykulik o monadzie optional i strzałkach Kleisliego:):
https://lion137.blogspot.com/[...]isli-category-by-example.html
#theory #blog

yarel

Muszę przyznać, że zacząłem czytać tę książkę i wciągnęła mnie już po wstępie :-)

lion137

No, to nie jest typowy podręcznik akademicki:) Video też są spoko.

ccwrc
2019-01-06 14:35

Jak jeden błędny SQL może wyłożyć cały system:
http://wiadomosci.gazeta.pl/w[...]ka-pasazerow.html#s=BoxOpImg4
Nie wiem do końca, czy SQL, ale Pani Kasia rządzi ;)

kate87

@BlackBad: Może rzadko zdarza mi się przeglądać tę gazetę, ale najczęściej jak już przeglądam to widzę przeprosiny dla kogoś.

BlackBad

Zatem ktoś z nas mija się z prawdą :( Bo Ty rzadko i "najczęściej widzisz" a ja często i nigdy (a przynajmniej teraz nie mogę sobie przypomnieć takiego zdarzenia) nie widzę ... chociaż wiem / słyszałem czy to w radio czy w TV że przepraszać musieli i to pewnie nie raz... tylko która gazeta czy portal informacyjny tego nie robił ? I to tyle w temacie bo nie moim celem tutaj jest przekonanie Ciebie do czegokolwiek, a i sam nie zamierzam być jakimś obrońcą Gazety...zresztą i tak strasznie odbiegliśmy od meritum tematu :D

superdurszlak
2019-01-06 12:35

Wam też zrobiło się tak, że jak spróbujecie przejść na stronę główną 4p, to serwer zwraca "pięćsetkę" i wyrzuca taki piękny komunikat?

czysteskarpety

Zamiast do kościoła to wszyscy walą na 4p i potem tak jest :/

superdurszlak

kiedyś po mszy się chodziło na zakupy a teraz zakaz handlu i trzeba na 4p siedzieć :/