#main, 8 sierpnia 2016

By 9 August 2016 #main

Dzisi­aj odd­a­je­my Wam do rąk kole­jnego #maina — a w nim m.in. o oso­bie, bez której IBM PC był­by po pros­tu kole­jną kon­strukcją na rynku elek­tron­i­ki użytkowej, niewyróż­ni­a­jącą się spośród innych podobnych.

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 ;)

Podsumowanie ankiety z zeszłego tygodnia

wyniki ankiety.001

Odpowiedzi w ostat­niej ankiecie nieco nas zaskoczyły — jako najwięk­szą przeszkodę w codzi­en­nej pra­cy wskaza­l­iś­cie lenist­wo — w przyszłoś­ci postaramy się zebrać trochę porad, jak z nim wal­czyć — póki co zostaw­ia­j­cie swo­je w komentarzach!

Na kole­jnej pozy­cji znalazła się pra­ca z lega­cy code — Kuba mógł­by o tym opowiadać godz­i­na­mi (dlat­ego pole­camy tem­atu unikać na żywo ;) ), ale w niedalekiej przyszłoś­ci postaramy się pokazać, jak moż­na go okiełznać!

Nudy w pracy? Zrób projekt!

Wiele firm pozwala pra­cown­ikom na rozwi­janie włas­nych zain­tere­sowań czy po pros­tu ‘zabawę’ tech­nolo­gia­mi w cza­sie wol­nym od innych zadań lub jako for­mę ‘oder­wa­nia się’ od bieżą­cych rzeczy. His­to­ria uczy, że w ten sposób pow­sta­ją naprawdę świetne pro­duk­ty — moż­na tutaj wymienić np. Gmail’a. W Lunar Log­ic obow­iązu­je podob­na zasa­da — dzię­ki temu możesz nauczyć się dodać świet­ny efekt na swo­ją stronę, korzys­ta­jąc z odrobiny CSSa. Polecamy!

Instrukc­je i opis implementacji

Marissa Mayer

W branży IT są posta­cie, których nie znać po pros­tu nie wypa­da — jed­ną z nich jest np. Maris­sa May­er, prezes Yahoo, której przy­padła mis­ja ‘ratowa­nia’ spół­ki. Ostat­nio Newsweek opub­likował artykuł, w którym opisu­je jak rozwi­jała się jej kari­era, oraz jak ‘gigan­ci’ IT częs­to są pow­iązani ze sobą poprzez pra­cown­ików i ich relac­je. Artykuł zde­cy­dowanie warty przeczytania!

Artykuł w ser­wisie newsweek.com

Reshma Saujani

W świecie IT (i nie tylko) wiele jest postaci, których his­to­rie mogą inspirować — jed­ną z nich jest Resh­ma Sau­jani, założy­ciel­ka Girls Who Code. Pewnie niewiele osób wie, w jakich okolicznoś­ci­ach zrodz­iła się idea i jak kiełkowała w to, czym jest współcześnie — wszys­t­kich zaciekaw­ionych zaprasza­my do wywiadu!

Wywiad z Reshmą

HTTP Bin — testuj klienty HTTP!

Częs­to zdarza się, że potrze­bu­je­my napisać klien­ta jakiegoś ser­wisu — RESTowego lub nie — który korzys­ta z pro­tokołu HTTP. Może to nie być try­wialne — w końcu żeby zobaczyć, jak dzi­ała nasz klient, musielibyśmy uru­chomić ser­w­er i wszys­tko logować! Na szczęś­cie ist­nieje też http­bin, który poz­woli nam przetestować pod­sta­wowe sce­nar­iusze — np. wyp­isze z powrotem dane przesłane POSTem czy też nagłów­ki naszego zapy­ta­nia lub obsłuży zapy­tanie o pliki.

Nie jest to narzędzie do codzi­en­nej pra­cy, ale zde­cy­dowanie warte doda­nia do zakładek!

Wit­ry­na httpbin.org

Odpowiedź na pytanie z zeszłego tygodnia

A pytal­iśmy o to: czy zmi­ana kodu klasy wyma­ga ponownego uru­chomienia aplikacji korzys­ta­jącej z tej klasy?

Jak to zwyk­le bywa, odpowiedź brz­mi: to zależy ;)

Maszy­na wirtu­al­na Javy jest dość elasty­cz­na i pozwala dołączać różnego rodza­ju wty­cz­ki — m.in. tzw. javaa­gent. Są to pro­gramy, które mogą mody­fikować dzi­ałanie samego JVM — np. pozwala­jąc na zdalne debu­gowanie na ser­w­erze czy właśnie pod­mi­anę klas ‘w locie’.

W stan­dar­d­owej Javie nie jest to możli­we — klasy są wczy­ty­wane raz, najczęś­ciej przy ich pier­wszym uży­ciu, i nie ma możli­woś­ci ich pod­mi­any w trak­cie dzi­ała­nia aplikacji (definic­je klas nie podle­ga­ją pro­ce­sowi Garbage Col­lec­tion). Ist­nieją jed­nak rozwiąza­nia, które poprzez inte­grację z JVM pozwala­ją na takie ‘sztucz­ki’ — najbardziej pop­u­larnym, wpier­anym komer­cyjnie pro­duk­tem jest JRebel — kosz­tu­je jed­nak ok. 500$ rocznie; z bezpłat­nych alter­natyw warto wspom­nieć o DCEVM oraz HotSwa­pA­gent (ogól­nie pro­ces nazy­wa się HotSwap i pod tym hasłem moż­na szukać innych rozwiązań). Pozwala­ją one wprowadzać zmi­any ‘na bieżą­co’ — tzn. mając np. uru­chomioną aplikację webową na naszym kom­put­erze (lub ser­w­erze), może­my popraw­ić jak­iś błąd, a nasza zmi­ana będzie od razu widocz­na w aplikacji bez koniecznoś­ci ponownego jej uruchami­a­nia (co częs­to kosz­tu­je sporo czasu)!

Nieste­ty pro­ces ten ma także minusy — szczegól­nie w połącze­niu z bib­lioteka­mi typu AOP lub Lom­bok czy nawet Spring, wyma­gane jest wspar­cie wbu­dowane w uży­wane rozwiąza­nia HotSwap — w tym wypad­ku komer­cyjne rozwiązanie jest częś­ciej aktu­al­i­zowane (JRebel chwali się obsługą pon­ad 90 frame­worków). Nadal jed­nak spo­rady­cznie trafimy na sytu­acje, w których taki pro­gram nie do koń­ca zadzi­ała i będzie konieczny po pros­tu restart aplikacji — nie wszys­tkie przy­pad­ki da się obsłużyć, pro­gramy te nie są też ide­alne. Ogól­nie pole­camy spróbować, ale sami do tej pory nie przekon­al­iśmy się do stosowa­nia tego typu rozwiązań na codzień :)

Co to jest Java Jigsaw (== jakie zmiany szykują nam projektanci języka wkrótce)?

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! 

Mark Dean

Kom­put­ery, których obec­nie uży­wamy do pra­cy (te stacjonarne oraz lap­topy) bazu­ją na bard­zo starej kon­cepcji — IBM PC. Jest dla nas stan­dar­d­em, że może­my dowol­nie łączyć podze­społy różnych pro­du­cen­tów, a dzię­ki stan­dar­d­om będą one współpra­cow­ać — ówcześnie była to jed­nak ogrom­na innowac­ja, która przy­czyniła się do komer­cyjnego sukce­su i pop­u­laryza­cji właśnie tego kom­put­era (oraz pro­ce­sorów firmy Intel).

Niemały udzi­ał w tym sukce­sie przy­pa­da Markowi Deanowi — pra­cow­ał on ówcześnie właśnie w IBM, gdzie został przy­dzielony do pra­cy nad IBM PC. Zespół, w którym pra­cow­ał, wymyślił stan­dard ISA — czyli sposób na dołączanie akce­soriów i rozsz­erzeń do kom­put­era za pomocą stan­dar­d­owego gni­az­da (ściśle rzecz biorąc ISA to stan­dard, który jest min­i­mal­nie rozsz­er­zoną wer­sją rozwiąza­nia z pier­wszego IBM PC — to nie doczekało się włas­nej nazwy, powszech­nie nazy­wa się je także ISA). Dało ono początek kole­jnym stan­dar­d­om takim jak EISA, VESA, PCI, PCIe itp — inny­mi słowy temu, co czyni kom­put­ery mod­ułowy­mi i ‘stan­dar­d­owy­mi’ z punk­tu widzenia sys­te­mu operacyjnego.

W późniejszych lat­ach Mark był m.in. głównym dyrek­torem do spraw tech­nicznych (CTO) firmy IBM na rynkach Afry­ki i bliskiego wschodu, wykładał na Har­vardzie oraz uzyskał dok­torat na uni­w­er­syte­cie Stan­for­da. Obec­nie nadal rozwi­ja się naukowo, jest pro­fe­sorem na uni­w­er­syte­cie Pensylwanii.

Not­ka biograficz­na na Wikipedii
Not­ka w ser­wisie biography.com

Pytanie na ten tydzień

Czego najbardziej Ci braku­je w pra­cy / w miejs­cu zamieszka­nia związanego z roz­wo­jem w IT?
  • Add your answer