#main, 23 maja 2016

By 23 May 2016 #main

Lato zaczy­na się na dobre, a tu niespodzian­ka — poniedzi­ałek. Na pociesze­nie mamy dla Was kole­jnego #maina!

Cykl #main to punkt początkowy Waszego tygod­nia,  prasówka, w której zbier­amy ciekawe lin­ki, dzie­limy się infor­ma­c­ja­mi, a także podsyłamy pro­gramisty­czne zadanie. Mamy nadzieję, że w ten sposób umil­imy Wam poniedzi­ałkowy powrót do rzeczywistości ;)

Podsumowanie ankiety z zeszłego tygodnia

wyniki ankiety.001

Ubiegło­ty­god­niowa anki­eta nas trochę zaskoczyła — nie tylko miażdżącą przewagą Pythona (pon­ad 50% głosów!), ale także drugim miejscem. Jeśli potrze­bu­jesz na szy­bko nauczyć się jakiegoś języ­ka skryp­towego, żeby coś zau­tomaty­zować — więk­szoś­cią głosów pole­camy Pythona ;)

Parsee — bo Polacy nie gęsi, i świetne pomysły mają!

Kil­ka razy prezen­towal­iśmy na łamach #maina ciekawe pro­jek­ty i star­tupy z całego świa­ta — ale i w Polsce mamy prawdzi­we pereł­ki. Jed­na z nich to Parsee — pro­jekt oku­larów z wbu­dowanym mikrokom­put­erem, których przez­nacze­niem jest poma­gać osobom niewidomym i niedowidzą­cym samodziel­nie poruszać się np. po mieś­cie. Oku­lary mają wbu­dowaną kamerę, za jej pomocą oraz spec­jal­nego opro­gramowa­nia ‘opisu­ją’ na bieżą­co to, co ‘widzą’, poma­ga­jąc zori­en­tować się w przestrzeni, dostrze­gać zagroże­nia (np. ulicę czy jadą­cy samochód) ale także rozpoz­nawać oso­by wokół. Trzy­mamy moc­no kciu­ki za pro­jekt i zachę­camy do jego śledzenia!

Strona pro­jek­tu w por­talu indiegogo.com

Projekt ARA już wkrótce w sprzedaży!

Jak­iś czas temu pisal­iśmy o pro­jek­cie ARA — mod­ułowym tele­fonie, w którym możesz wymienić poszczególne kom­po­nen­ty (aparat, baterie, pamięć), a nie cały tele­fon. Pro­jekt ma się dobrze i co więcej — niedłu­go ma się pojaw­ić w sprzedaży! Póki co w wer­sji ‘devel­op­er­skiej’ do testów i w celach budowa­nia mod­ułów, ale ofic­jal­na sprzedaż dla sze­rok­iej grupy odbior­ców planowana jest już na 2017 rok! Z niecier­pli­woś­cią czekamy na pier­wsze recenzje!

Artykuł w ser­wisie geek.com
Strona pro­jek­tu ARA

Google I/O

Tego wydarzenia chy­ba żad­ne­mu geekowi przed­staw­iać nie trze­ba — jed­na z najważniejszych kon­fer­encji w branży IT. Jak zwyk­le wiele nowoś­ci, kil­ka klonów innych pro­duk­tów i kierunek na kole­jny rok — tym razem sztucz­na inteligenc­ja w aplikac­jach uży­wanych na codzień, mod­u­larne tele­fony i wirtu­al­na rzeczy­wis­tość. Zachę­camy do zapoz­na­nia się z kom­plet­ną relacją!

Relac­ja z kon­fer­encji w ser­wisie techcrunch.com

Odpowiedź na pytanie z zeszłego tygodnia

A pytal­iśmy o to: czym jest enkap­su­lac­ja?

Enkap­su­lac­ja to w uproszcze­niu ‘ukry­wanie’ wewnętrznych ele­men­tów obiek­tu i udostęp­ni­a­n­iu ich jedynie poprzez metody. Jest to jed­na z pod­sta­wowych zasad pro­gramowa­nia obiek­towego. O enkap­su­lacji mówimy wtedy, kiedy wszys­tkie pola klasy są niewidoczne na ‘zewnątrz’ (dla innych klas, poza dziedz­iczą­cy­mi) — czyli są np. pry­watne. Dostęp do nich odby­wa się jedynie poprzez metody — np. get­tery i set­tery — lub określone metody inter­fe­j­su. Założe­niem enkap­su­lacji jest to, że obiekt powinien udostęp­ni­ać jedynie metody — swój inter­fe­js — tak, aby moż­na było dowol­nie zmieni­ać jego imple­men­tację. Ponieważ jego stan wewnętrzny (czyli pola i ich wartość) nie są bezpośred­nio dostęp­ne i nie mogą być kon­trolowane z zewnątrz inaczej niż za pomocą metod tego obiek­tu, ma on pełną kon­trolę nad sposobem imple­men­tacji i dany­mi prze­chowywany­mi we włas­nych polach. W teorii pozwala nam to na pod­mi­anę imple­men­tacji określonej klasy bez zmi­any innych kom­po­nen­tów aplikacji. Przykła­dem zas­tosowa­nia mogą być np DAO — w ide­al­nym przy­pad­ku obiek­ty DAO udostęp­ni­a­ją jedynie ‘oper­ac­je’, a sposób imple­men­tacji (np. transakc­je na bazie danych czy też prze­chowywanie obiek­tu w pamię­ci) nie mają znaczenia dla innych obiektów.

O ile zasa­da ta jest częs­to mniej lub bardziej świadomie naduży­wana, jej założe­nia nadal są kluc­zowe dla tworzenia sta­bil­nych i zarządzal­nych systemów.

Czym jest (i do czego służy) interfejs java.lang.Comparable?

Oczy­wiś­cie zachę­camy do samodziel­nego odpowiedzenia na pytanie. Za tydzień nasza odpowiedź.

Więcej pytań tech­nicznych z poprzed­nich mainów wraz z linka­mi do odpowiedzi zna­jdziesz tutaj! 

Federico Faggin

Fed­eri­co Fag­gin to kole­j­na z osób, które zre­wolucjoni­zowały branżę elek­tron­i­ki, przy­czy­ni­a­jąc się do tego jak ona obec­nie wyglą­da. Jest on pro­jek­tan­tem i twór­cą pro­ce­so­ra Intel 4004. Dlaczego jest to tak ważne? Był to pier­wszy powszech­nie dostęp­ny mikro­pro­ce­sor ogól­nego zas­tosowa­nia. Do tego cza­su układy scalone były twor­zone pod konkretne zas­tosowanie — inny­mi słowy ‘pro­gram’ był zapisany jako fizy­cz­na struk­tu­ra układów wewnątrz pro­ce­so­ra. Stworze­nie takiego układu było nie tylko czasochłonne, ale także dro­gie i nie nadawało się do tworzenia krót­kich, pro­to­ty­powych serii. Intel 4004 był pier­wszym pro­ce­sorem, który łączył wszys­tkie układy w jed­ną całość — dzię­ki temu oper­ac­ja np. dodawa­nia czy mnoże­nia nie wyma­gała spec­jal­isty­cznej ‘kost­ki’ dołączanej do pro­ce­so­ra za pomocą spec­jal­nego układu. Wraz z tym pro­ce­sorem pro­dukowane były kom­ple­men­tarne układy — pamięć RAM, ROM oraz rejestr prze­suwny, które zas­tosowane razem pozwalały zbu­dować bard­zo prosty, uni­w­er­sal­ny komputer.

Oczy­wiś­cie nie było­by to możli­we, gdy­by nie przełom w pro­dukcji układów, którego autorem był także Fed­eri­co. W uproszcze­niu opra­cow­ał on sposób na zasąpi­e­nie miniatur­owych struk­tur alu­min­iowych odpowied­nika­mi zbu­dowany­mi z krze­mu. Poz­woliło to na umieszcze­nie dwukrot­nie więk­szej licz­by ele­men­tów na tej samej powierzch­ni, obniża­jąc jed­nocześnie straty mocy do 100 razy (!!) i zwięk­sza­jąc szy­bkość nawet pię­ciokrot­nie, przy tym nie zwięk­sza­jąc poboru energii. Sama przyz­nasz, że niemała rewolucja?

Wraca­jąc do osiąg­nięć w fir­mie Intel, pro­ce­sor 4004 był oczy­wiś­cie sukce­sem i przy­czynił się do opra­cow­a­nia kole­jnej udanej kon­strukcji — pro­ce­so­ra 8008 (8‑bitowego), który z kolei poz­wolił na opra­cow­anie pro­ce­so­ra 8080 — niezwyk­le udanej kon­strukcji, która poz­woliła na budowę pier­wszych kom­put­erów z prawdzi­wego zdarzenia dostęp­nych dla mas. Jed­nym z ulep­szeń tej kon­strukcji był pro­ce­sor 8086 (16-bitowy), który z kolei wye­wolu­ował w pro­ce­so­ry serii 80186, 80286, 386, 486 i późniejsze Pen­tium — wszys­tkie te pro­ce­so­ry są w pewnym stop­niu zgodne z architek­turą 8080, której sukces poz­wolił fir­mie Intel rozwinąć skrzy­dła i zdefin­iować de fac­to stan­dardy dla pro­ce­sorów na długie lata.

W kole­jnych lat­ach Fed­eri­co Fag­gin pra­cow­ał jeszcze przy kilku istot­nych pro­jek­tach, a w ostat­nich lat­ach skupił się na dzi­ałal­noś­ci fun­dacji swo­jego imienia, której celem jest wspieranie badań nad m.in. świadomością.

Not­ka biograficz­na na Wikipedii
Biografia w ser­wisie Ieee Glob­al His­to­ry Network

Pytanie na ten tydzień

Najlep­sza rozry­wka (bez prą­du) to wg Ciebie
  • Add your answer