#main, 4 kwietnia 2016

By 4 kwietnia 2016#main

Po krótkiej, świątecznej przerwie wracamy do Was z kolejnym #main!

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

Najpopularniejszym sportem wśród programistów okazało się bieganie :) Na szczęście pogoda już sprzyja!

micro:bits

BBC finansuje bardzo ciekawą inicjatywę – w brytyjskich szkołach fundują zestawy micro:bits, które są rozdawane dzieciom w wieku 7 lat, a które mają zachęcać do nauki programowania i ‚zabawy’ technologią. micro:bits to nic innego jak mikrokomputer (podobny do Raspberry PI jeśli chodzi o budowę, choć o słabszej specyfikacji), kilka elementów pozwalających na interakcje (diody, przyciski) oraz Bluetooth pozwalający na komunikację ze smartfonami czy komputerem. Całość dopełnia przyjazne środowisko do programowania – od najprostszych do naprawdę skomplikowanych projektów oraz masa przykładów, pomysłów i tutoriali dostępnych na stronie.

Czekamy na coś takiego także u nas!

Więcej informacji na oficjalnej stronie projektu

Mój kolega robot

W ostatnim czasie Google pochwalił się osiągnięciami swojego działu robotyki – przejętej firmy Boston Dynamics. Robot o imieniu Atlas jest humanoidem – ma kształt mniej więcej zbliżony do człowieka i porusza się w podobny sposób. Inżynierowie firmy zaprezentowali robota w trudnych warunkach – na nierównym terenie, z przeszkodami, śliskim podłożu, specjalnie wytrącając go z równowagi i sprawność z jaką radzi sobie z tym wszystkim naprawdę zadziwia. A także, jak się okazuje, straszy – choć robot w zamierzeniu ma pomagać w transporcie i docierać w trudnodostępne miejsca, wielu odebrało to jako krok do budowy armii robotów. W efekcie firma Google coraz głośniej mówi o sprzedaży całej firmy, jednym z powodów jest nieoficjalnie właśnie negatywne skojarzenie.

Cokolwiek by nie mówić, sam robo robi naprawdę ogromne wrażenie i kto wie, być może za parę lat zamiast kuriera, to on będzie nam przynosił paczki!

Więcej informacji i materiał wideo w portalu inc.com

W temacie sztucznej inteligencji raz jeszcze

Wspomniana w poprzedniej notce firma Google ma też inne ważne osiągnięcie w ostatnim czasie – sztuczna inteligencja stworzona przez tą firmę wygrała w grę Go z mistrzem z Korei. Ten pozornie błahy sukces ma jednak ogromne znaczenie – w przeciwieństwie do gier takich jak szachy, Go (dość mało popularne w naszej części świata) jest postrzegane jako gra wymagająca intuicji, nie da się obliczeniowo wybrać najlepszej drogi, prowadzącej do zwycięztwa.

System, nazwany AlphaGo, jest tak naprawdę tylko demonstratorem i platformą testową. Technolgie, które są w nim wykorzystywane i opracowywane przy jego okazji, są wykorzystywane przez Google w różnych dziedzinach, od rozpoznawania twarzy na zdjęciach, po dostosowywanie wyników wyszukiwania do osobistych preferencji użytkownika.

Więcej przeczytasz na stronie wired.com

Jak poprawić jakość swojego kodu?

Jakość kodu dla większości z nas ma duże znaczenie – stąd piszemy testy, programujemy TDD lub BDD, dokształcamy się i wymieniamy wiedzą. Za niedługo będzie ku temu kolejna okazja – konferencja Quality Excites. Tegoroczna, już 5 edycja, ponownie skupi się na poprawie jakości oprogramowania poprzez testy, zautomatyzowane narzędzia i poprawę świadomości zagadnień QA wśród programistów. W tym roku spotkanie odbędzie się 25 czerwca w gliwicach.

Obecnie trwa Call For Papers – jeśli chciałabyś podzielić się swoją wiedzą i doświadczeniem w tematach związanych z zapewnianiem jakości, zgłoś się jako prelegent!

Więcej informacji na stronie konferencji.

Odpowiedź na pytanie z zeszłego tygodnia

A pytaliśmy o to: czym jest i jak działa Garbage Collector w Javie?

Garbage collection to mechanizm, który automatycznie zwalnia nieużywaną pamięć w naszej aplikacji. W językach niższego poziomu (np. C) każde utworzenie np. tablicy czy listy wymaga ‚ręcznego’ zwolnienia związanej z nią pamięci. W dużych aplikacjach łatwo o tym zapomnieć lub zrobić błąd, co prowadzi do tzw. wycieków pamięci – nieużywana pamięć nie jest odpowiednio zwalniana, przez co wraz z czasem wykorzystanie pamięci RAM przez aplikację cały czas rośnie. Aby zabezpieczyć przed tym programistę, współczesne języki automatycznie zarządzają pamięcią, a mechanizmy garbage collection służą właśnie temu, aby ‚zidentyfikować’, które obszary pamięci są już niepotrzebne.

Jednym z popularniejszych sposobów, który ma zastosowanie także w Javie, jest tzw. zliczanie referencji. Polega to na tym, że zaczynamy od głównego obiektu/wątku aplikacji i przechodzimy przez wszystkie referencje – tzn. odwiedzamy każdy obiekt, do którego można się jakkolwiek dostać z poziomu kodu (np. jest on przypisany do zmiennej/pola lub jest elementem kolekcji). Dla każdego obiektu w pamięci jesli zliczana ilość takich odwołań – stąd nazwa metody. Obiekty, do których nie ma możliwości się ‚dostać’, są traktowane jako nieużywane i usuwane z pamięci. Oczywiście zagadnienie jest dużo bardziej złożone – niektóre obiekty nie mogą być usunięte, w innych mamy zależności cykliczne, które trzeba odpowiednio obsłużyć, ale sama zasada działania tak właśnie wygląda.

Java sama decyduje o tym, kiedy uruchomić Garbage Collector – nie możemy na niej tego wymusić. Możemy ‚zasugerować’, korzystając z wywołania System.gc(), ale Java może nasze wywołanie zignorować.

Więcej szczegółów technicznych znajdziesz na stronach Oracle

Jak wygląda trójwarstwowy podział aplikacji w praktyce?

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! 

Kevin Mitnick

Myśląc o hakerach często mamy w głowie obraz osoby zamkniętej w piwnicy, zapatrzonej w ekran i wpisującej magiczne komendy. Najczęściej nijak ma się to jednak do rzeczywistości.

Jednym z najbardziej znanych współczesnych hakerów jest z pewnością Kevin Mitnick – auto wielu książek i obecnie ekspert od kwestii bezpieczeństwa. Jego historia zaczęła się od zabaw z telefonami – wtedy jeszcze w dużej mierze analogowymi – i bezpłatnemu dzwonieniu oraz przełączaniu sieci telefonicznych (to tzw. phreaking). Wraz z upowszechnieniem się internetu jego ataki coraz częściej skupiały się na firmach informatycznych i rządowych systemach komputerowych. Co ciekawe, większość z jego dokonań bazowała bardziej na socjotechnice i wykorzystywaniu zaufania / niewiedzy ludzi niż na zaawansowanym technologicznie przełamywaniu zabezpieczeń.

Poszukiwany przez FBI został aresztowany w 1995 roku i po odbyciu kary zajął się kwestią bezpieczeństwa systemów informatycznych, prowadzi także związaną z tym działalność pod nazwą Defensive Thinking Inc. (obecnie promowaną jako Mitnick Security). Wydał także kilka książek, obecnie często gości na konferencjach i wykładach związanych z cyberbezpieczeństwem.

Pytanie na ten tydzień

Wymarzony urlop to...
  • Add your answer
  •  
  •  
  •  
  •  
  •