#main, 18 stycznia 2016

By 18 January 2016 #main

W tym tygod­niu na pewno pamię­tać o przy­go­towa­niu niespodzianek dla bab­ci i dzi­ad­ka z okazji ich świę­ta (kart­ki w końcu trochę dochodzą). A co warto sprawdz­ić w świecie IT?

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 rzeczywistości ;)

HackSummit

Streamowana kon­fer­enc­ja z najwięk­szy­mi szy­cha­mi pro­gramowa­nia, na którą bilet może być dla Ciebie za twee­ta albo donac­je na super inic­jaty­wy wspier­a­jące rozwój w IT. A do tego hack­a­ton z sporą kasą do wygra­nia … Nie przegap!

Elevator Saga

Kath podesłała nam na face­booku grę i przyz­na­je­my — przepadliśmy. Jak zapro­gramować windę, by dzi­ałała opty­mal­nie? Spróbuj, ale tylko gdy masz trochę wol­nego czasu :)

PS. Śmi­ało dziel się z nami ciekawy­mi linka­mi, z przy­jem­noś­cią dodamy je do kole­jnego #maina!

Spis technologii do aplikacji real-time

Robiąc reserch do pra­cy znaleźliśmy naprawdę fajną listę wszys­tkiego, co moż­na użyć by komu­nikac­ja w two­jej aplikacji była w real-time’ie. Warto spo­jrzeć, poczy­tać, bo nie wiado­mo, czy nie przy­da się w przyszłym projekcie.

Odpowiedź na pytanie z zeszłego tygodnia

A pytal­iśmy o to: jak dzi­ała Spring (a dokład­niej jego kon­tener IoC)?

W momen­cie uru­chomienia aplikacji Spring tworzy tzw. kon­tekst. W uproszcze­niu moż­na powiedzieć, że jest to kolekc­ja beanów i związanych z nią kon­fig­u­racji. Wewnątrz takiego kon­tek­stu beany ‘widzą się’, ale nie widzą obiek­tów poza nim.

Początkowo zna­j­du­ją się tam tylko springowe obiek­ty — w tym sam kon­tekst. W zależnoś­ci od kon­fig­u­racji w pier­wszym kroku inicjowane są kole­jne beany — czyli po pros­tu twor­zone są nowe obiek­ty i reje­strowane w kon­tekś­cie (moż­na o nim myśleć także jak o swois­tej mapie — kon­tekst bowiem mapu­je nazwy (id) na właś­ci­we obiek­ty). Ten etap real­izu­je imple­men­tac­ja inter­fe­j­su Bean­Fac­to­ry, która częs­to jest samym kon­tek­stem (np. Class­pathXm­lAp­pli­ca­tion­Con­text).

Po zakończe­niu tego kroku do ‘pra­cy’ wkracza­ją imple­men­tac­je Bean­Post­Proces­sor — są one odpowiedzialne za ‘automag­ię’ springa, czyli np nadawanie wartoś­ci polom z adno­tacją @Autowired (za to odpowiedzial­ny jest aku­rat  AutowiredAn­no­ta­tion­Bean­Post­Proces­sor). Jest to także sposób, w jaki może­my mody­fikować domyślne zachowanie Springa wg włas­nych potrzeb. W między­cza­sie, po wyko­na­niu pra­cy przez wszys­tkie znane kon­tek­stowi imple­men­tac­je tego inter­fe­j­su, wywoły­wana jest meto­da init() beanów (jeśli ist­nieje), po czym obiek­ty te mogą wykon­ać dodatkowe zada­nia (więk­szość tego nie robi).

W tym momen­cie inicjowanie jest uznane za zakońc­zone, a aplikac­ja za uru­chomioną. To oczy­wiś­cie nieco uproszc­zony obraz, zain­tere­sowanych póki co odsyłamy do doku­men­tacji Spring, i prosimy o chwile Cier­pli­woś­ci — Springowi, także bardziej zaawan­sowanym aspek­tom, poświęcimy w przyszłoś­ci nieje­den artykuł na blogu :)

Pytanie techniczne

Czym w javie różni się final od final­ly i finalize? 

Oczy­wiś­cie zachę­camy do samodziel­nego odpowiedzenia na pytanie. Za tydzień nasza odpowiedź.

Jon Skeet

Pode­jrze­wam, że o nim nie słysza­łaś, ale to naprawdę Postać ;) Jon ma numer jeden w rankingu na Stack­Over­flow — odpowiedzi­ał na 32,693 pytań! Wow, prawda?

Jon aktu­al­nie pracu­je jako pro­gramista Java w Google, jest autorem książek i blogerem (w więk­szoś­ci o tem­atyce C#) i najak­ty­wniejszą osobą na stack­over­flow. Jego kod nie podąża za żad­ną kon­wencją — on jest kon­wencją (cytu­jąc podaną dalej stronę ;) ). Bywa nazy­wany ‘najlep­szym pro­gramistą świa­ta’, choć sam raczej z poko­rą pod­chodzi do swoich umiejęt­noś­ci. Ale przede wszys­tkim — ma ogromne doświad­cze­nie, którym chęt­nie dzieli się ze światem, pole­camy zapoz­nać się z blo­giem lub odpowiedzi­a­mi na stackoverflow!

Blog Jona Skeeta

Kil­ka fak­tów na jego tem­at ze społeczności 

Krót­ki wywiad (dostęp­na transkrypcja)

Pytanie na ten tydzień

Mój cel związany z IT na najbliższe 5 lat to:
  • Add your answer