#main, 31 października 2016

By 31 października 2016#main
wpis-header-main

Dzisiaj Halloween – przed wieczornym dawaniem/zbieraniem ( ;) ) cukierków mamy dla Ciebie kolejnego #maina. Zapraszamy do lektury!

W ubiegłym roku przygotowaliśmy serię ‚czego się boją programiści’ – dajcie znać czy nadal aktualne ;)

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 ;)

Obrazek w nagłówku pochodzi z serwisu freepik.com

Podsumowanie ankiety z zeszłego tygodnia

wyniki-ankiety-001

Największym zainteresowaniem wśród naszych czytelników cieszyłyby się kursy dotyczące nowego języka programowania lub konkretnej biblioteki – ogólnie związane z nowymi technologiami. Być może czas przejść do działania i samemu sobie takie szkolenie ‚zorganizować’ – można zacząć np. od bezpłatnych wykładów z MIT lub narzędzi typu coursera.com . W sam raz zajęcie na najbliższy wieczór, kiedy poczujesz, że się nudzisz!

O czym każdy przedsiębiorca (nie tylko kobieta!) pamiętać powinien

Duża część osób pracujących w branży IT prędzej czy później zetknie się ze środowiskiem start-up’owym, część sama wykreuje pomysł który być może przekształci się w produkt. Największym problemem i powodem, dla którego takie przedsięwzięcia upadają jest brak doświadczenia – żadna praca nie przygotowuje do prowadzenia własnej firmy i kreowania swojego produktu, rynek jest jednak bezlitosny i wymagający. Dlatego warto uczyć się na doświadczeniu i błędach innych. Polecamy szczególnie poniższy artykuł, który punktuje 5 obszarów, w których najłatwiej się zagubić.

Artykuł w serwisie huffingtonpost.com

Szkolenie z UX w Krakowie

18 i 19 listopada w Krakowie będzie miało miejsce szkolenie z UX (User eXperience) organizowane przez inicjatywę Mamo Pracuj. Jako programiści często skupiamy się bardziej na funkcjonalności, niewiele myśląc o użyteczności – nawet dwudniowe warsztaty są w stanie naprawdę zmienić sposób, w jaki następnym razem podejdziesz do implementacji kolejnej funkcjonalności dla użytkownika!

Poza tym zachęcamy także do zapoznania się (i przekazania dalej!) ze świetną inicjatywą Mamo Pracuj – gorąco polecamy!

Informacja o szkoleniu na stronie mamopracuj.pl

Kiedy NIE tworzyć aplikacji mobilnej

Aplikacje mobilne są bardzo wygodnym sposobem korzystania z niektórych systemów – do tego stopnia, że myśląc o aplikacji webowej czy systemie, często nie zastanawiamy się nawet CZY powinna ona mieć aplikację mobilną, ale JAK ją zrobić. Efekt niestety czasami nie jest najlepszy – aplikacja mobilna, która ma błędy, nie działa w 100% czy jest po prostu trudna w użyciu może bardziej zniechęcić naszych użytkowników niż cokolwiek innego. Zachęcamy do zapoznania się z tekstem o tym, kiedy nie warto tworzyć aplikacji mobilnej i dlaczego.

Artykuł w serwisie jestem.mobi

Odpowiedź na pytanie z zeszłego tygodnia

A pytaliśmy o to: pytanie?

Oczywiście samo obliczenie jest proste – do ceny kawy dodajemy podatek oraz napiwek wyrażone w procentach. Nasze rozwiązanie znajdziesz tutaj: https://gist.github.com/jderda/2f451db734e8cfacaaa12c1094b8e3b1 .

Górna klasa korzysta z typu double, jednak rozwiązanie to nie jest prawidłowe! Pomimo tego, że dla danych testowych wynik będzie prawidłowy, w pewnych przypadkach z uwagi na zaokrąglenia możemy mieć problem (oczywiście będzie on występował tylko dla bardzo specyficznych wartości). Dlatego w rozwiązaniu jest też druga klasa, tym razem z poprawną implementacją – wykorzystującą typ liczbowy BigDecimal. BigDecimal nie używa zaokrągleń, dzięki czemu nie jesteśmy narażeni na błędy w skrajnych przypadkach.

W większości przypadków ma to niewielkie znaczenie jeśli używamy typu double tylko do przechowywania wartości (błędy pojawiają się na dalekich miejscach po przecinku), ale jeśli wykonujemy działania takie jak mnożenie czy dzielenie, stają się one bardziej istotne i zawsze należy brać je pod uwagę wybierając typ liczbowy w danym przypadku. Jeśli szukasz konkretnego przykładu, zerknij na pytanie na stackoverflow.com na ten temat.

Jak zwiększyć dostępność aplikacji (oraz odporność na problemy)

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! 

Douglas Engelbart

Początki internetu sięgają roku 1969, kiedy uruchomiono pierwsze węzły sieci ARPANET. Jednak już rok wcześniej ktoś pokazał hyperłącza (klikalne odnośniki pozwalające ‚przemieszczać się’ w inne części dokumentu / inne dokumenty). Tym kimś był Douglas Engelbart.

Douglas był osobą, której nie spotyka się na codzień – jako młody inżynier w latach 50 podjął decyzję, aby nie budować swojej kariery (pracując np. w NASA czy agencjach rządowych), a zamiast tego skupić się na uczynieniu tego świata lepszym (poprzez naukę oczywiście). To motto przyświecało jego dalszym pracom. Jeden z pierwszych wniosków i założeń jednocześnie, to fakt, że ówczesny świat staje się coraz bardziej skomplikowany, a więc najlepszym sposobem na pomoc dużej grupie ludzi jest pomaganie w rozumieniu tej złożoności i wykorzystaniu jej – np. poprzez wykorzystanie coraz potężniejszych komputerów do wspierania działań człowieka. Obecnie określamy to terminem augumented intelligence i właściwie dopiero teraz zaczynamy korzystać z tych konceptów w pełni (poprzez rzeczywistość rozszerzoną, personalnych asystentów itp). Douglas był jednak nie tylko wizjonerem, ale też pionierem w wielu dziedzinach.

Postulat jaki wysunął był dość odważny – komputer, który ówcześnie był jedynie postrzegany w kategoriach ‚automatycznego kalkulatora’, ma stać się platformą współpracy i opracowywania wiedzy przez człowieka. Doprowadziło to do powstania Augmentation Research Center – ośrodka badawczego skupiającego się na współpracy ludzi oraz wykorzystaniu komputerów jako narzędzi i platformy, a nie tylko maszyny liczącej. To właśnie jego badania doprowadziły do powstania NLS – określanego mianem ‚matek wszystkich demonstracji’. Był to system przełomowy pod każdym względem – jednym z jego elementów była np. mysz komputerowa (Douglas jest jej wynalazcą) czy pierwowzór interfejsu graficznego opartego o okna znane nam współcześnie (koncept ten przetrwał 50 lat i nadal ma się całkiem dobrze!). Co ważniejsze – była to nie tylko wizja i koncepcja, ale działający system, który był wykorzystywany w praktyce w licznych organizacjach. Jego główną osią była wymiana i opisywanie wiedzy – pozwalał na przechowywanie wiedzy oraz powiązań między poszczególnymi jej elementami (system ten wprowadził także koncept hiperłączy, który znamy współcześnie i z którego tak chętnie korzystamy).

Z uwagi na brak zainteresowania firm, które były sponsorem badań, Douglas stworzył niezależny ośrodek badawczy (początkowo noszący nazwę „Bootstrap Institute”, później przemianowany na „The Doug Engelbart Institute”), gdzie skupiał się na idei collective intelligence – współpracy wielu urządzeń w jednym celu.

Ciekawostka: hipertekst to nie tylko internet! Jedną z opcji na jego wykorzystanie są interaktywne ‚książki’, które pozwalają ‚wpływać’ na historie poprzez ‚decyzje’ (zgłębianie różnych hiperlinków). Jedna z aplikacji, która służy do budowania tego typu historii jest rozwijany już od 29 lat (od 1987 roku)! 

Notka biograficzna w serwisie wikipedia.com
Oficjalna strona
Wywiad przeprowadzony w New York Times
Opis systemu NLS w serwisie wikipedia.com

Pytanie na ten tydzień

W tym tygodniu nieco zmieniamy formułę – zamiast pytań od nas, czekamy na Twoje pytanie! Napisz w komentarzu, na FB lub w mailu do nas swoje pytanie, a my w każdym tygodniu wybierzemy jedno z nich!

  •  
  •  
  •  
  •  
  •  
  • Olaf Goj

    Brakuje pytania z zeszłego tygodnia. :)

  • Bartek

    Cześć.
    Od jakiego języka zacząć uczyć się programowania? W późniejszym czasie chciałbym się przesiąść na Jave (EE), lecz do zrozumienia jej brakuje mi składni, takiej bardzo podstawowej. Lepiej zacząć od C, czy może php? Które z nich da mi lepsze „zaplecze” wiedzy do zaczęcia nauki Javy?

    • Na większość pytań, z którymi borykają się początkujący odpowiadamy tutaj: http://kobietydokodu.pl/faq-chce-zaczac-programowac/
      Jeśli wiesz, że chcesz się uczyć Javy to od Javy właśnie zacznij. Mogłeś spotkać się z opinią, że C jest niezbędny do zrozumienia tego jak działa Java – nie jest to jednak prawdą. Jezyki niższego poziomu (C, C++) zmuszają do zajmowania się dużo większą ilością rzeczy, co przekłada się na rozumienie pewnych mechanizmów, natomiast nic nie stoi na przeszkodzie, by nauczyć się ich razem z nauką Javy.