Dzisiejszy #main trochę bardziej niż zwykle będzie o szukaniu pracy i przygotowywaniu się do rozmów — znajdziesz w nim kilka fajnych linków z różnymi zadaniami! Poza tym oczywiście stałe elementy :) Zapraszamy!
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
Jak się okazuje dla większości naszych czytelników problemem w pracy jest głównie brak mentora / osoby bardziej doświadczonej oraz brak czasu na naukę — jeśli czytają nas pracodawcy i managerowie — już wiecie jak poprawić warunki przynajmniej części zespołu!
Pytania i zadania w Javie
Ania powtarza Javę (wszak jest w trakcie rekrutacji), dzielimy się więc linkami z przykładowymi zadaniami rekrutacyjnymi. Niektóre z nich są bardziej nastawione na rekrutacje, inne bardziej ‘problemowe’ i nie do końca praktyczne — niemniej warto zerknąć :) Może dla Was też będą pomocne / ciekawe.
https://github.com/mission-peace/interview/wiki
https://www.quora.com/Java-programming-language-Where-can-I-find-some-good-Java-practice-problems
http://codingbat.com/java
ISOLATE — chwila spokoju w środku biura
Jeżeli potrzebujesz ciszy i spokoju, to być może ISOLATE (innowacyjne zatyczki do uszu) są produktem dla Ciebie. Nawet przy tak pozornie banalnym produkcie twórcy założyli, że da się go usprawnić — jak się okazało, użycie połączenia metalu i pianki (zamiast pianki w całości) daje dużo lepsze rezultaty niż tradycyjne podejście — póki co pozostaje nam wierzyć twórcom, ale z chęcią sprawdzimy jak to działa w praktyce!
JDD — konkurs
Przypominamy, że na blogu trwa konkurs dla czytelników — wystarczy 50 linijek kodu i możesz wygrać wejściówkę na konferencje JDD. Dla czytelników przygotowane jest także 15% zniżki na bilety z kodem: JDD_kobietydokodu
Gamifikacja
Z chęcią dzielimy się projektami naszych znajomych, w szczególności, gdy mogą przydać się programistom (i nie tylko). Grzesiek, napisał właśnie książkę o grywalizacji — a porady w niej zawarte przydadzą się nie tylko twórcą gier, ale i analitykom czy pomysłodawcom — dodanie gamifikacji do biznesu może zwiększyć jego sukces. Książkę można kupić na razie na allegro, a wywiad z Grześkiem już niedługo na naszym blogu.
Odpowiedź na pytanie z zeszłego tygodnia
A pytaliśmy o to: co to jest Java Jigsaw (== jakie zmiany szykują nam projektanci języka wkrótce)?
Java Jigsaw to standard, który ma być wprowadzony w Javie 9 (pierwotnie planowano jego wdrożenie już w Javie 7, ale ostatecznie uznano, że jest to zbyt znacząca zmiana).
W dużym skrócie Jigsaw to sposób na zarządzanie modułami w Javie, już na poziomie kompilacji. Zamiast plików JAR, które obecnie mogą zawierać własciwie dowolne klasy czy pakiety, kod będzie zorganizowany wokół tzw. modułów — każdy moduł będzie deklarował, co zapewnia (tzn jakie pakiety są przez niego ‘udostępniane’) oraz co potrzebuje (tzn. jakie pakiety są jego zależnościami). Można to porównać do Mavena czy OSGi (jeśli ktoś pracował z tym systemem) — dzięki temu możliwe będzie dużo wygodniejsze budowanie aplikacji modułowych w Javie oraz ich uruchamianie.
Jigsaw, poza większą elastycznością i ujednoliceniem, rozwiązuje kilka problemów — przede wszystkim eliminując niedoskonałości systemu ładowania klas (dla przykładu obecnie, jeśli klasa o tej samej nazwie istnieje w 2 JARach, które są naszymi zależnościami, nie mamy pewności która z nich zostanie załadowana).
Potencjalnie Java Jigsaw może uniemożliwić kompilacje Twojego projektu (tzn. będzie ona możliwa, ale w trybie zgodności z Javą 8) — miałoby to jednak miejsce tylko jeśli korzystasz z wewnętrznych klas JDK lub Javy, które nie są zalecane do bezpośredniego użycia. W większości aplikacji nie będzie to miało znaczenia.
Oficjalny poradnik Quickstart guide
Wpis w Wikipedii
Wpis na blogu codefix.org
Czym jest profilowanie aplikacji i kiedy należy je wykonać?
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!
Alan Kay
Czytając tego #main najprawdopodobniej robisz to w przeglądarce internetowej, korzystając z jakiegoś graficznego systemu operacyjnego. Być może nawet jest to OS X. Współcześnie wydaje się to wręcz oczywiste, ale nie zawsze tak było — początkowo komputery miały głównie ‘działać’, wszelkie kwestie estetyczne traktowano bardziej w kategoriach ciekawostek niż przyszłościowych technologii. Tak samo było z graficznym interfejsem użytkownika — autorstwa Alana Kay’a. Pracując w Xerox PARC opracował on graficzny interfejs użytkownika jaki znamy obecnie — z okienkami, ikonami itp. Pomysł ten pokazał Stevowi Jobsowi, który — jak wiemy — zrobił z niego użytek.
Alan jednak miał znacznie większy wpływ na technologię której używamy — starsi czytelnicy moga pamiętać komputery Atari — firmy w której był on głównym inżynierem przez kilka lat. Być może czytając to korzystasz obecnie z tableta — może Cie zaskoczyć fakt, że Alan wymyślił go w 1968 roku, pod nazwą Dynabook! Opisał go w artykule z 1972 (możesz wciąż znaleźć go w archiwach sieci) jako narzędzie do wspierania w nauce i rozwoju dzieci. Jak widać świat potrzebował ‘zaledwie’ 30-paru lat żeby zauważyć to samo ;)
Mało tego, jak pewnie zauważyłaś nasz blog koncentruje się wokół Javy, której mogłoby nie być, gdyby nie praca Alana! Jako naukowiec sporo pracował nad koncepcją programowania zorientowanego obiektowo i był jedną z osób, dzięki którym koncepcja ta stała się możliwa i realna.
Lista innych jego wynalazków i projektów, w których brał udział jest zdecydowanie dłuższa i z pewnością jeszcze nie raz okaże się, że to po prostu świat musiał ‘dorosnąć’ do jego pomysłów.
Alan pozostaje aktywny zawodowo, obecnie skupiając się na pracach przy projekcie One Laptop Per Child (bazującym w dużej mierze na koncepcie Dynabook).
Notka biograficzna na Wikipedii
Wywiad w serwisie Time.com
Notka związana z przyznaniem nagrody Turniga
Prezentacja TED o tym, jak uczyć technologii z pomocą technologii