#main 27 października 2015

By 27 October 2015 #main

Pią­ty, min­i­mal­nie spóźniony #main! Życzymy więc udanego tygod­nia i zachę­camy do lektury.

Cykl #main to punkt początkowy Waszego tygod­nia,  prasówka, w której zbier­amy ciekawe lin­ki, dzie­limy się infor­ma­c­ja­mi, a także podsyłamy pro­gramisty­czne zadanie. Mamy nadzieję, że w ten sposób umil­imy Wam poniedzi­ałkowy powrót do rzeczy­wis­toś­ci ;) No to zaczynamy.

Podsumowanie ankiety z zeszłego tygodnia

Zadal­iśmy Wam pytanie: Jakich aplikacji / narzędzi uży­wasz na codzień w pra­cy / nauce? Poniżej może­cie zobaczyć jak wyglą­da­ją zebrane przez nas wyniki:

main.001

Jeśli które­goś z tych narzędzi nie znasz, być może warto poszukać i spróbować :)

Odpowiedź na pytanie z ubiegłego tygodnia

Tydzień wcześniej pytal­iśmy, kiedy należy uży­wać pode­jś­cia iter­a­cyjnego, a kiedy rekursywnego.

Pode­jś­cie rekursy­wne jest nieco wygod­niejsze w zapisie i czytel­niejsze — od razu wyni­ka z niego, że do obliczenia kole­jnej wartoś­ci uży­wamy wyniku tego samego obliczenia dla innych danych. Niem­niej równie łat­wo takie pode­jś­cie skom­p­likować i nadużyć.

Zaletą pode­jś­cia iter­a­cyjnego jest teo­re­ty­cznie nieogranic­zony rozmi­ar argu­men­tów, a więc i ‘odwołań’ do wcześniejszych wyników — w przy­pad­ku pode­jś­cia rekuren­cyjnego w pewnym momen­cie otrzy­mamy Stack­Over­flowEx­cep­tion. Prob­lematy­czny bywa fakt, że zapis algo­ryt­mu jest mniej czytel­ny, a cza­sem może wyma­gać zna­jo­moś­ci pewnych reguł i rów­nań matematycznych.

Co ważne — każdy algo­rytm rekursy­wny moż­na zapisać w sposób iteracyjny.

Więcej o rekursji i zami­an­ie na pode­jś­cie iter­a­cyjne przeczy­tasz niebawem w inau­gu­ru­ją­cym wpisie z cyk­lu ‘Teo­ria programowania’.

Learn Git Branching

Ta prosa, ale wcią­ga­ją­ca gra zabierze Cie w podróż po najważniejszych kon­cepc­jach i funkc­jach sys­te­mu kon­troli wer­sji Git. Obow­iązkowa pozy­c­ja dla każdego programisty!

http://pcottle.github.io/learnGitBranching/

refactoring.com

W 2000 roku Mar­tin Fawler wydał książkę pod tytułem Refac­tor­ing, w której opisu­je uni­w­er­salne tech­ni­ki popraw­ia­nia i ulep­sza­nia swo­jego kodu. Zbiór tych tech­nik jest dostęp­ny także na stron­ie refactoring.com i pokazu­je nie tylko zale­cane usprawnienia, ale także wyjaśnie­nie, dlaczego jed­no pode­jś­cie jest lep­sze od drugiego oraz kro­ki pozwala­jące dokon­ać poprawy.

Derek Banas

Coraz więcej kanałów na YouTube porusza tem­at pro­gramowa­nia — i bard­zo dobrze :) My ostat­nio trafil­iśmy na tuto­ri­ale Dere­ka Banasa, które serdecznie pole­camy — zna­jdziesz tam nie dość duży przekrój, od tech­nologii fron­tendowych, poprzez Javę aż po C++.

George Bool

George Bool był matem­atykiem urod­zonym w Wielkiej Bry­tanii, które­mu zawdz­ięcza­my pod­waliny dzi­ała­nia współczes­nych kom­put­erów. W swoim dziele, “An Inves­ti­ga­tion of the Laws of Thought (1854), on Which are Found­ed the Math­e­mat­i­cal The­o­ries of Log­ic and Prob­a­bil­i­ties” nakreślił on pod­stawy rachunku log­icznego, który na jego cześć nazy­wamy obec­nie logiką Boolowską. Co ciekawe, intencją auto­ra było potwierdze­nie logi­ki w rozu­mie­niu Arys­tote­le­sa, uży­wa­jąc do tego matem­aty­ki i równań.

https://en.wikipedia.org/wiki/George_Boole

Ostatni miesiąc na naszym blogu

Po każdych czterech tygod­ni­ach zna­jdziecie tu zestaw­ie­nie tek­stów, jakie opub­likowal­iśmy. Może warto się z nimi zapoz­nać i nadro­bić zaległości?

Lazy Sun­day: Czego boją się pro­gramiś­ci - czyli zestaw grafik przed­staw­ia­ją­cych kosz­mary wprost z naszej pra­cy. Zachę­camy do pobra­nia i podzie­le­nia się z inny­mi pro­gramis­ta­mi! Na face­booku zna­jdziecie też odpowied­ni album ze wszys­tki­mi grafikami.

Niezbęd­nik Junio­ra: hash­Code i equals - dwie metody, których dzi­ałanie powinien znać każdy junior. Tak samo jak wiedzieć, że w 99,5% wygen­erowane equals() przez IDE będzie tym najlep­szym do użycia.

O wyz­nacza­niu celów - wpis rozpoczy­na­ją­cy ser­ię, która ma pomóc Wam osiągnąć wyz­nac­zone cele. Mamy nadzieję, że będzie wspar­ciem w Waszej nauce!

Niezbęd­nik Junio­ra: Kon­struk­to­ry i klasa nadrzęd­na — coś, co częs­to pojaw­ia się na rozmowach.

Prak­ty­cz­na Java — inter­fe­jsy, metody domyślne i klasy abstrak­cyjne — Java 8 wprowadza metody domyślne. Jak do nich pode­jść i kiedy warto je stosować?

Lazy Sun­day: Kocio — wpis dla fanów naszego futrza­stego redak­to­ra. Jest his­to­ria Tes­li, jest też kil­ka zdjęć!

Niezbęd­nik Junio­ra: Scrum - wpis opisu­ją­cy pod­stawy tego sposobu pra­cy. Pole­camy, nie tylko pro­gramis­tom i osobą z IT, bo wiele innych pro­cesów moż­na również dostar­czać w ten sposób.

Zadanie

Jaka jest różni­ca pomiędzy GIT a SVN?

Jaką technologię/język chciałabyś poznać przede wszystkim z ciekawości?

Jak zawsze, na Wasze odpowiedzi czekamy do koń­ca tygodnia.

Jaką technologię/język chci­ałabyś poz­nać przede wszys­tkim z cieka­woś­ci?
  • Add your answer