I połowa listopada minęła! W dzisiejszym #mainie, będzie o bańce informacyjnej, konkursie… resztę musicie doczytać sami!
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 ;)
22–23 listopada DevOpsDays Warsaw
Programowanie to nie tylko tworzenie… to też rozwój i utrzymywanie produktu! Dlatego warto być na bieżąco i uczestniczyć w wydarzeniach skupionych wokół tego tematu. My z przyjemnością zapraszamy na DevOpsDays Warsaw i przypominamy, że do wtorku na naszym blogu trwa konkurs, w którym do wygrania wejściówka na to wydarzenie.
Więcej szczegółów na temat konferencji znajdziecie na stronie wydarzenia.
Żyjemy w bańce informacyjnej
Czy kiedykolwiek zastanawiałeś się jednak, jak to jest po drugiej stronie? Warto zdawać sobie sprawę z mechanizmów doboru treści, bo wpływają one na nasze codzienne życie. Poniżej znajdziecie link do projektu, który pokazuje jak wygląda facebook osób o przeciwnych poglądach.
Link do projektu blue feed, red feed
#MamoPracujwIT we Wrocławiu
Inicjatywa, której szczerze kibicujemy zawita do Wrocławia. Podczas spotkania (28.11) poznacie historie mam, które zmieniły branżę na IT, a także posłuchacie o lokalnych inicjatywach dla kobiet. Jeśli zastanawiasz się nad przebranżowieniem to spotkanie może rozwiać wątpliwości zapraszamy!
TurnOff.us
Dobrego, geekowego humoru nigdy za dużo. Dzisiaj polecamy komiks turnoff, który nie tylko bawi, ale i uczy w fajny sposób tłumacząc pojęcia związane z programowaniem ;)
Odpowiedź na pytanie z zeszłego tygodnia
A pytaliśmy o to: jak zwiększyć dostępność aplikacji (oraz odporność na problemy)? — chodzi o to jak zapobiec sytuacji, w której awaria jednego elementu powoduje awarie całego systemu.
- Zapewnienie zapasowych zasobów, czyli np. uruchomienie aplikacji na wielu serwerach jednocześnie oraz upewnienie się, że awaria jednego/kilku z nich nie spowoduje problemów z resztą
- Zapewnienie odpowiedniego monitoringu i reakcji — jeśli jeden serwer zaczyna zachowywać się inaczej (np. nie odpowiada na zapytania), konieczne jest zapewnienie mechanizmów aby go odłączyć od aplikacji i zastąpić możliwie szybko (najlepiej w sposób automatyczny)
- Projektowanie systemu w taki sposób, aby komponenty mogły działać możliwie niezależnie od siebie (ang. decoupling) oraz aby w miarę możliwości nie przechowywały stanu systemu lokalnie (ang. stateless) — celem jest sytuacja, w której dowolne zapytanie może być obsłużone przez dowolny fizyczny serwer (czyli obsługa zapytania nie wymaga kontekstu, lub kontekst ten jest przechowywany w sposób umożliwiający jego odczyt przez dowolny serwer)
- Rozproszenie geograficzne — serwery powinny znajdować się fizycznie w kilku serwerowniach, przez co awaria jednej z nich nie ma wpływu na działanie systemu
- Redundancja — najważniejsze komponenty powinny być zdublowane i na wypadek awarii jednego z nich, pozostałe powinny przejąć jego zadania/funkcje bez przerwy w działaniu (dotyczy to zarówno elementów fizycznych — zasilanie, połączenie sieciowe itp, jak i logicznych — np. przechowywanie plików w kilku kopiach, repliki bazy danych, macierze dyskowe itp)
- Procedury przywracania — nawet jeśli system był do tej pory niezawodny, konieczne jest posiadanie procedur (i narzędzi) odtworzenia systemu po jego 100% awarii — scenariusz taki powinien też być testowany względnie regularnie aby upewnić się, że nie jest tylko teoretyczną listą życzeń i założeń
Zadanie programistyczne
Napisz program, który znajdzie najdłuższy wspólny ciąg znaków dla dwóch wyrazów.
Przykład:
“kot”, “samolot” –> “ot”
“beton”, “betoniarka” –> “beton”
“zupa”, “ilość” –> “”
Więcej pytań technicznych z poprzednich mainów wraz z linkami do odpowiedzi znajdziesz tutaj!
Tayo Sobomehim
Olatayo “Tayo” Sobomehin, ma 11 lat, gra w koszykówkę, jest muzykiem a także programistą!
W 2015, został najłmodszym uczestnikiem StreetCode Academy’s Innovation Accelerator i zaczął tworzenie: Spike Rush, aplikacji na iPhona. Została ona zaakceptowana w App Store we wrześniu 2016 i okazała się prawdziwym sukcesem. Sam Mark Zuckerberg dał jej 5 gwiazdek i napisał na swoim facebooku: “My first games were simpler than Tayo’s … I’m looking forward to seeing what Tayo builds next!”
Z niecierpliwością czekamy na kolejny projekt młodszego kolegi po fachu.