#main, 8 sierpnia 2016

By 9 sierpnia 2016#main

Dzisiaj oddajemy Wam do rąk kolejnego #maina – a w nim m.in. o osobie, bez której IBM PC byłby po prostu kolejną konstrukcją na rynku elektroniki użytkowej, niewyróżniającą się spośród innych podobnych.

Cykl #main to punkt początkowy Waszego tygodnia,  prasówka, w której zbieramy ciekawe linki, dzielimy się informacjami, a także podsyłamy programistyczne zadanie. Mamy nadzieję, że w ten sposób umilimy Wam poniedziałkowy powrót do rzeczywistości ;)

Podsumowanie ankiety z zeszłego tygodnia

wyniki ankiety.001

Odpowiedzi w ostatniej ankiecie nieco nas zaskoczyły – jako największą przeszkodę w codziennej pracy wskazaliście lenistwo – w przyszłości postaramy się zebrać trochę porad, jak z nim walczyć – póki co zostawiajcie swoje w komentarzach!

Na kolejnej pozycji znalazła się praca z legacy code – Kuba mógłby o tym opowiadać godzinami (dlatego polecamy tematu 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 pracownikom na rozwijanie własnych zainteresowań czy po prostu ‚zabawę’ technologiami w czasie wolnym od innych zadań lub jako formę ‚oderwania się’ od bieżących rzeczy. Historia uczy, że w ten sposób powstają naprawdę świetne produkty – można tutaj wymienić np. Gmail’a. W Lunar Logic obowiązuje podobna zasada – dzięki temu możesz nauczyć się dodać świetny efekt na swoją stronę, korzystając z odrobiny CSSa. Polecamy!

Instrukcje i opis implementacji

Marissa Mayer

W branży IT są postacie, których nie znać po prostu nie wypada – jedną z nich jest np. Marissa Mayer, prezes Yahoo, której przypadła misja ‚ratowania’ spółki. Ostatnio Newsweek opublikował artykuł, w którym opisuje jak rozwijała się jej kariera, oraz jak ‚giganci’ IT często są powiązani ze sobą poprzez pracowników i ich relacje. Artykuł zdecydowanie warty przeczytania!

Artykuł w serwisie newsweek.com

Reshma Saujani

W świecie IT (i nie tylko) wiele jest postaci, których historie mogą inspirować – jedną z nich jest Reshma Saujani, założycielka Girls Who Code. Pewnie niewiele osób wie, w jakich okolicznościach zrodziła się idea i jak kiełkowała w to, czym jest współcześnie – wszystkich zaciekawionych zapraszamy do wywiadu!

Wywiad z Reshmą

HTTP Bin – testuj klienty HTTP!

Często zdarza się, że potrzebujemy napisać klienta jakiegoś serwisu – RESTowego lub nie – który korzysta z protokołu HTTP. Może to nie być trywialne – w końcu żeby zobaczyć, jak działa nasz klient, musielibyśmy uruchomić serwer i wszystko logować! Na szczęście istnieje też httpbin, który pozwoli nam przetestować podstawowe scenariusze – np. wypisze z powrotem dane przesłane POSTem czy też nagłówki naszego zapytania lub obsłuży zapytanie o pliki.

Nie jest to narzędzie do codziennej pracy, ale zdecydowanie warte dodania do zakładek!

Witryna httpbin.org

Odpowiedź na pytanie z zeszłego tygodnia

A pytaliśmy o to: czy zmiana kodu klasy wymaga ponownego uruchomienia aplikacji korzystającej z tej klasy?

Jak to zwykle bywa, odpowiedź brzmi: to zależy ;)

Maszyna wirtualna Javy jest dość elastyczna i pozwala dołączać różnego rodzaju wtyczki – m.in. tzw. javaagent. Są to programy, które mogą modyfikować działanie samego JVM – np. pozwalając na zdalne debugowanie na serwerze czy właśnie podmianę klas ‚w locie’.

W standardowej Javie nie jest to możliwe – klasy są wczytywane raz, najczęściej przy ich pierwszym użyciu, i nie ma możliwości ich podmiany w trakcie działania aplikacji (definicje klas nie podlegają procesowi Garbage Collection). Istnieją jednak rozwiązania, które poprzez integrację z JVM pozwalają na takie ‚sztuczki’ – najbardziej popularnym, wpieranym komercyjnie produktem jest JRebel – kosztuje jednak ok. 500$ rocznie; z bezpłatnych alternatyw warto wspomnieć o DCEVM oraz HotSwapAgent (ogólnie proces nazywa się HotSwap i pod tym hasłem można szukać innych rozwiązań). Pozwalają one wprowadzać zmiany ‚na bieżąco’ – tzn. mając np. uruchomioną aplikację webową na naszym komputerze (lub serwerze), możemy poprawić jakiś błąd, a nasza zmiana będzie od razu widoczna w aplikacji bez konieczności ponownego jej uruchamiania (co często kosztuje sporo czasu)!

Niestety proces ten ma także minusy – szczególnie w połączeniu z bibliotekami typu AOP lub Lombok czy nawet Spring, wymagane jest wsparcie wbudowane w używane rozwiązania HotSwap – w tym wypadku komercyjne rozwiązanie jest częściej aktualizowane (JRebel chwali się obsługą ponad 90 frameworków). Nadal jednak sporadycznie trafimy na sytuacje, w których taki program nie do końca zadziała i będzie konieczny po prostu restart aplikacji – nie wszystkie przypadki da się obsłużyć, programy te nie są też idealne. Ogólnie polecamy spróbować, ale sami do tej pory nie przekonaliśmy się do stosowania tego typu rozwiązań na codzień :)

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

Oczywiście zachęcamy do samodzielnego odpowiedzenia na pytanie. Za tydzień nasza odpowiedź.

Więcej pytań technicznych z poprzednich #mainów wraz z linkami do odpowiedzi znajdziesz tutaj! 

Mark Dean

Komputery, których obecnie używamy do pracy (te stacjonarne oraz laptopy) bazują na bardzo starej koncepcji – IBM PC. Jest dla nas standardem, że możemy dowolnie łączyć podzespoły różnych producentów, a dzięki standardom będą one współpracować – ówcześnie była to jednak ogromna innowacja, która przyczyniła się do komercyjnego sukcesu i popularyzacji właśnie tego komputera (oraz procesorów firmy Intel).

Niemały udział w tym sukcesie przypada Markowi Deanowi – pracował on ówcześnie właśnie w IBM, gdzie został przydzielony do pracy nad IBM PC. Zespół, w którym pracował, wymyślił standard ISA – czyli sposób na dołączanie akcesoriów i rozszerzeń do komputera za pomocą standardowego gniazda (ściśle rzecz biorąc ISA to standard, który jest minimalnie rozszerzoną wersją rozwiązania z pierwszego IBM PC – to nie doczekało się własnej nazwy, powszechnie nazywa się je także ISA). Dało ono początek kolejnym standardom takim jak EISA, VESA, PCI, PCIe itp – innymi słowy temu, co czyni komputery modułowymi i ‚standardowymi’ z punktu widzenia systemu operacyjnego.

W późniejszych latach Mark był m.in. głównym dyrektorem do spraw technicznych (CTO) firmy IBM na rynkach Afryki i bliskiego wschodu, wykładał na Harvardzie oraz uzyskał doktorat na uniwersytecie Stanforda. Obecnie nadal rozwija się naukowo, jest profesorem na uniwersytecie Pensylwanii.

Notka biograficzna na Wikipedii
Notka w serwisie biography.com

Pytanie na ten tydzień

Czego najbardziej Ci brakuje w pracy / w miejscu zamieszkania związanego z rozwojem w IT?
  • Add your answer
  •  
  •  
  •  
  •  
  •