#main, 25 lipca 2016

By 25 July 2016 #main

Kole­jny waka­cyjny odcinek #main — stęsknil­iś­cie się ? ;) To zaprasza­my 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 rzeczywistości ;)

Obrazek w nagłówku pochodzi z ser­wisu freepik.com

Podsumowanie ankiety z zeszłego tygodnia

wyniki ankiety.001

Waszy­mi głosa­mi wygrała odświeżona aplikac­ja webowa — zaczy­namy więc nad nią pra­cow­ać :) Być może uda się dorzu­cić kil­ka innych punk­tów jednocześnie.

W ankiecie pojaw­iła się jed­na odpowiedź — cokol­wiek nie z Javą. Nieste­ty, tego życzenia nie spełn­imy — szer­szą infor­ma­cję dlaczego zna­jdziesz w drugim Q&A.

Oracle of bacon

Pro­jekt nie do koń­ca na poważnie, ale z rewela­cyjnym pomysłem! Ogól­nie chodzi o to, że bazu­jąc na bazie danych IMDB strona pozwala sprawdz­ić statysty­ki takie jak ‘odległość’ aktorów od siebie (gdzie ‘kroka­mi’ są aktorzy wys­tępu­ją­cy w tym samym filmie) oraz śred­nią odległość od wybranego akto­ra. Całość jest zaim­ple­men­towana w C++ z obliczeni­a­mi przeprowadzany­mi w pamię­ci. O ile użyteczność pozostaw­ia pewne wąt­pli­woś­ci, sam pomysł wyko­nanie i zaan­gażowanie twór­cy jak najbardziej godne pochwały ;)

https://oracleofbacon.org

Zamień telefon w komputer

W poprzed­nim #main opisy­wal­iśmy pro­jekt kom­put­era za 79$, dzi­ała­jącego pod kon­trolą (praw­ie że) Androi­da. Dzisi­aj inny pro­jekt, który idzie krok dalej — pozwala zamienić dowol­ny tele­fon w kom­put­er! Wystar­czy podłączyć tele­fon do obu­dowy, aby pra­cow­ać na więk­szym ekranie z klaw­iaturą. Biorąc pod uwagę potężne moce obliczeniowe najnowszych tele­fonów, pomysł jest całkiem sen­sowny (a dzię­ki ‘usunię­ciu’ głównych kom­po­nen­tów z kom­put­era, zysku­je­my więcej miejs­ca na np. baterię).

Kam­pa­nia w ser­wisie kickstarter.com

Kod misji Apollo-11 (aka poleć na księżyc z Open-Source!)

Jeśli myślałaś kiedyś o posła­niu swo­jej raki­ety na księżyc, ter­az możesz to zro­bić dokład­nie tak jak w mis­ji Apol­lo-11! NASA udostęp­niła właśnie kod źródłowy głównego kom­put­era steru­jącego i umieś­ciła w ser­wisie GitHub. Jest to wari­ant języ­ka Assem­bler, ciekawe są jed­nak komen­tarze (oraz ‘issues’ zakładane przez użytkown­ików) — zde­cy­dowanie warto prze­jrzeć, choć­by tylko po to, aby zobaczyć jak zmieniło się pode­jś­cie do kodu na przestrzeni cza­su. No i jeśli budowałaś właśnie w garażu lądown­ik księży­cowy i zosta­lo Ci tylko opro­gramowanie kom­put­era cen­tral­nego — przy­da się jak znalazł ;)

Artykuł w ser­wisie QZ
Kod w ser­wisie GitHub

O wyrażeniach regularnych i ich skali

Częs­to korzys­tamy z rozwiązań nie do koń­ca zas­tanaw­ia­jąc się jak dzi­ała­ją — przy obec­nych mocach obliczeniowych różnice są nieza­uważalne, a jak­iś szczegól­ny przy­padek umknie naszej uwadze. Zdarza się to każde­mu — np. stack­over­flow. Ostat­nio miała miejsce ‘awaria’, a dokład­niej obniże­nie dostęp­noś­ci ser­wisu związane z niepraw­idłowo sfor­ma­towanym komen­tarzem. Spowodowało to bard­zo duże opóźnie­nie z powodu wykony­wa­nia wyraże­nia reg­u­larnego — niby drob­nos­t­ka ;) Więcej poczyta­cie na stron­ie stackstatus.net — link poniżej.

Anal­iza post-mortem w ser­wisie stackstatus.net

Odpowiedź na pytanie z zeszłego tygodnia

A pytal­iśmy o to: jak moż­na tworzyć beany w Springu?

Są trzy stan­dar­d­owe sposo­by tworzenia beanów:

  • zadeklarowanie go w pliku XML
  • dodanie adno­tacji dziedz­iczącej po @Component nad klasę beana
  • stworze­nie metody z adno­tacją @Bean, która zwraca instancję beana i zna­j­du­je się w klasie z adno­tacją @Configuration

Ist­nieją jeszcze mniej stan­dar­d­owe metody:

  • imple­men­tac­ja włas­nego BeanFactory
  • ręczne dodanie beana do BeanRegistry

Oba te przy­pad­ki są jed­nak bard­zo specy­ficzne i w nor­mal­nej aplikacji nie powin­no się ich używać.

Więcej o tworze­niu beanów zna­jdziesz w lekcji #09 naszego kur­su Javy.

Czy zmiana kodu klasy wymaga ponownego uruchomienia aplikacji korzystającej z tej klasy?

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

Więcej pytań tech­nicznych z poprzed­nich mainów wraz z linka­mi do odpowiedzi zna­jdziesz tutaj! 

John von Neumann

John von Neu­mann to wynalaz­ca i naukowiec węgier­skiego pochodzenia, który pra­cow­ał m.in. nad zagad­nieni­a­mi z zakre­su matem­aty­ki, fizy­ki i teorii infor­ma­cji (osią­ga­jąc sukcesy w każdej z nich). Jed­nym z pier­wszych najgłośniejszych pro­jek­tów był udzi­ał w pro­jek­cie Man­hat­tan — von Neu­mann zaj­mował się soczewkowaniem eksplozji (ang. explo­sive lens) — mech­a­nizmem do dziś uży­wanym do inicjowa­nia reakcji w bombie atomowej.

Zaj­mował się także kon­cepc­ja­mi potenc­jal­nie abstrak­cyjny­mi w jego cza­sach — m.in. kon­cepcją samopowiela­ją­cych się sond kos­micznych i ich roli w odkry­wa­niu dalekiego wszechświa­ta (w języku pol­skim funkcjonu­je nawet określe­nie son­da von neu­man­na, jed­nak kon­cepc­ja ta nie jest przyp­isy­wana tylko jemu).

Najbardziej znany jest jed­nak z opisu dzi­ała­nia kom­put­era nazy­wany od jego nazwiska architek­turą von Neu­man­na — w skró­cie pole­ga ona na tym, że pamięć jest współdzielona pomiędzy pro­gram oraz dane (tak dzi­ała­ją też współczesne kom­put­ery) w odróżnie­niu od architek­tu­ry Har­vardzkiej, w której pro­gram i dane zna­j­du­ją się na odd­ziel­nych nośnikach (fizy­cznie lub log­icznie). Kon­cepc­ja ta pow­stała pod­czas prac nad kom­put­erem EDVAC — następcą słyn­nego ENIAC (w odróżnie­niu od niego, EDVAC posługi­wał się reprezen­tacją bina­rną liczb, a nie dziesięt­ną, co poz­woliło na znaczące zwięk­sze­nie wyda­jnoś­ci). Jeszcze na etapie prac kon­cep­cyjnych stworzył pro­gram sor­tu­ją­cy, który obec­nie nazy­wamy merge sort (sor­towanie przez scalanie) — napisał go odręcznie, na 23 kartkach papieru (z pewnoś­cią był­by dum­ny wiedząc, że uczel­nie nadal korzys­ta­ją z tego pode­jś­cia…). Był także autorem pier­wszej numerycznej prog­nozy pogody (opra­cow­anej z uży­ciem kom­put­era ENIAC).

Not­ka biograficz­na na wikipedii
Biografia w encyk­lo­pe­dii Britannica
Film biograficzny w ser­wisie youtube.com

Pytanie na ten tydzień

Co jest dla Ciebie najwięk­szą przeszkodą w codzi­en­nej pra­cy?
  • Add your answer