Wiosna już za rogiem, Spring na ekranie, cóż więcej chcieć ;) Hmm, może np darmowe wejściówki na dwie konferencje? Szczegóły w dzisiejszym #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
Choć najwięcej odpowiedzi padło przy opcji ‘nie gram w gry’, to tylko 1/5 osób tak odpowiedziała :) Główny wniosek jest jednak taki, że każdy lubi inny rodzaj gier — wyniki poszczególnych były bardzo zbliżone do siebie. Co ciekawe, 4 osoby piszą własne gry — zachęcamy do kontatku na [email protected], chętnie pokażemy na blogu twórczość naszych czytelników!
Randka online z pracodawcą
Przywykliśmy już do reklam w stylu ‘znajdź osobę dopasowaną do Ciebie’ — czy to działa czy nie zapewne możnaby dyskutować, ale pomysł ten przeniesiony został właśnie na kolejny poziom. Serwis workshape oferuje dopasowanie do pracodawców na podstawie stylu Twojej pracy — jeśli preferujesz np. analizować systemy i wymyślać rozwiązania, znajdzie idealne dla Ciebie stanowisko pracy. Polecamy spróbować!
Psst.. Podaj dalej!
Bitcoiny to najpopularniejsza kryptowaluta, która jest coraz częściej i chętniej przyjmowana w różnych sklepach (także tych w świecie rzeczywistym). 6 i 7 czerwca w Warszawie organizowana będzie konferencja o nazwie Bitspiration skupiona tematycznie na kryptowalutach (i Bitcoinach w szczególności). Z okazji dnia kobiet organizatorzy przygotowali bezpłatne wejściówki dla każdej kobiety, która zarejestruje się 8 marca! Nie ma na co czekać i widzimy się na miejscu!
Promocja trwa tylko 24 godziny, tylko 8 marca!
Raspbery Pi z WiFi i BT
Całkiem niedawno światło dzienne ujrzało Raspberry Pi Zero — komputer za 5$. Produkcja nie nadąża za popytem (cały czas większość sklepów jest wyprzedana i ma dłuuugie listy oczekujących), a twórcy wypuścili właśnie nowe dziecko — Raspberry Pi 3. Poza lepszym procesorem (4 rdzenie, po 1.2GHz) i układem graficznym, na pokładzie znajdzimy tym razem WiFi i Bluetooth! Co więcej — w dokładnie tej samej cenie co poprzednia wersja (35$). To już nie tylko zabawka dla geeków, ale pełnoprawny komputer, tyle że bez obudowy :)
Konkurs — darmowa wejściówka na 4Developers
Przypominamy, że do środy do północy możecie wysyłać zgłoszenia na konkurs. Do wygrania bezpłatna wejściówka na 4Developers. Zadanie jest banalnie proste: Zaproponuj temat na konferencje – nie musi to być coś, na czym się znasz, nie musi być nawet bardzo sensownie – musi mieć jednak jakikolwiek związek z IT. Więcej szczegółów znajdziesz na stronie http://kobietydokodu.pl/4developers-2016/, gdzie możesz też przesłać swoją odpowiedź.
Odpowiedź na pytanie z zeszłego tygodnia
A pytaliśmy o to: jak można znaleźć ‚głębokość’ drzewa (jako struktury danych) w najprostszy sposób?
W przypadku drzew istnieją dwa sposoby ich przeszukiwania: BFS (breadth first search) i DFS (depth first search). W zależności od rodzaju drzewa, DFS może być szybszy (w przypadku drzew binarnych), w ogólnym przypadku będzie co najmniej równie szybki jak BFS.
Algorytm DFS polega na tym, że zaczynając od korzenia drzewa, idziemy najpierw ‘wgłab’ (sprawdzamy pierwsze dziecko), a dopiero później ‘wszerz’ (sprawdzając kolejne dzieci/przechodząc do kolejnego węzła na tym samym poziomie). Algorytm BFS różni się tym, że najpierw sprawdzamy wszystkie węzły na tym samym poziomie, a dopiero później idziemy ‘w dół’ do dzieci.
Przykładowa implementacja DFS z wykorzystaniem rekurencji poniżej:
public int maxDepth(Node node) {
int maxDepth = 0;
for (Node child : node.getChildren()) {
maxDepth = Math.max(maxDepth, maxDepth(child));
}
return maxDepth+1;
}
Powyższa metoda przyjmuje węzeł jako argument. Na początku ustawiamy głębokość w tym miejscu na zero, po czym iterujemy po wszystkich dzieciach danego węzła, ustawiając zmienną maxDepth na najwyższą napotkaną głębokość. Następnie zwracamy tę wartość powiększoną o jeden. Poprzez rekurencję kod ten najpierw sprawdza ‘najgłębszy’ węzeł, potem stopniowo ‘wraca’ do góry drzewa.
Zadanie dodatkowe: jak zoptymalizowała byś ten kod dla drzewa binarnego? (nasza odpowiedź za tydzień)
Więcej pytań technicznych z poprzednich mainów wraz z linkami do odpowiedzi znajdziesz tutaj!
Jack Dorsey
Jack Dorsey jest powszechnie znany z tego, że stworzył Twittera — najpopularniejszy serwis mikroblogowy świata. Co ciekawe — projekt ten zrodził się trochę przez przypadek, jako eksperyment, w ciągu 2 tygodni.
Będąc jeszcze w liceum, Jack fascynował się algorytmami pozwalającymi na optymalne przydzielanie i kierowanie ruchem np. taksówek czy karetek pogotowia (oprogramowanie, które wtedy stworzył, do dziś jest używane przez niektóre firmy). Fascynacja ta w 2000 roku przerodziła się w firmę — jej celem było stworzenie oprogramowania pozwalającego na zarządzanie taksówkami, karetkami, pojazdami straży pożarnej itp za pośrednictwem sieci web. Był to czas, kiedy szybko rozwijały się komunikatory internetowe, wtedy też Jack Dorsey pomyślał o tym, czy nie możnaby szybko za pomocą jego platformy podzielić się swoim statusem ze znajomymi. Koncepcja początkowo rozwijała się w oparciu o SMSy (stąd wziął się limit 140 znaków) — po połaczeniu sił z firmą Odeo powstał pomysł na to, czym jest dzisiaj Twitter — platformę mikroblogową. Prototyp został napisany w 2 tygodnie, pierwszym użytkownikom bardzo się spodobał i tak się to potoczyło…
Jack obecnie kieruje jeszcze jednym startupem — Square, czyli szybkim sposobem na płatności kartą (między innymi). O ile w Europie jest to jeszcze mało popularne, w USA nikogo już nie dziwi, że u ulicznego sprzedawcy można zapłacić kartą za HotDoga w praktycznie każdym mieście — m.in. dzięki Square.