DAVID MALAN: Tervetuloa takaisin, kaikille.
Joten eilen, sinun muistaa ettцє keskityimme nцєistцє aiheista tцєцєllцє.
Joten meillцє oli neljцє yleistцє topics-- yksityisyys, turvallisuus ja yhteiskunta;
internet-teknologioita; pilvilaskenta; ja lopulta, web-kehitystцє.
>> Onko kellцєцєn kaistanleveys tai aika
katsella vцєhцєn John Oliver viime yцІnцє?
Se on oikeastaan Б─▀Б─▀aika huvittavaa, jos ei hieman pelottavaa.
Kaikki kysymykset mitцєцєn teimme eilen?
Tцєsmentцєnyt?
Kaikki kysymykset, jotka haluat varma, ettцє me kцєsitellцє tцєnцєцєn jossakin muodossa?
Joten puhtaalta pцІydцєltцє.
>> Joten mitцє esityslistalla tцєnцєцєn?
Joten ajattelin olimme alkaa tцєnцєцєn kanssa katsomaan mitцє yleensцє
tunnettu laskennallinen thinking-- at riski oversimplifying, ajattelu
kuten tietokoneen, ehkцє ajatella kuin insinцІцІri,
ja yrittцєцє alkaa jцєrjestцєцє ajatuksiasi
tai antaa sinulle paremman kцєsityksen mitцє mukana varsinaisessa komentava
tietokone tehdцє jotain Poiketen ohjelmointia.
Ja pidцєmme sitцє melko korkea, melko paljon Englanti,
vaan yrittцєцє kцєyttцєцє tuttujen esimerkkejцє virallistaa miten
voit mennцє noin ratkaista ongelmia.
>> Ja me uudelleen joitakin CS aiheita, kuten abstraktio,
joka tuli pari kertaa eilen,
algoritmeja, ja sitten edustus.
Ja siellцє me aloitamme tцєnцєцєn vain hetken.
Sitten me katsomaan ohjelmoinnin.
Me katsomaan joitakin perustavanlaatuinen konstruktioita
jolla saatat tuntea ja ehkцє jopa lцІytцєцє melko intuitiivinen.
>> Me tarkastelemme, itse asiassa, at nцєytteen ohjelmointi
ympцєristцІ, joka on hyvin saatavilla, hyvin leikkisцє, ja todellakin kohdennettu
12-vuotiaille ja ylцІspцєin.
Tulemme viettцєцє muutaman minuutin siellцє ja sitten ottaa asiat alemmalle tasolle
ja oikeastaan Б─▀Б─▀puhua joistakin algoritmit ja tietorakenteet,
niin sanotusti, ettцє ohjelmoijat kцєyttцєvцєt yleensцє
ratkaista ongelmia paljon tehokkaammin kuin saatat
pystyцє tekemцєцєn ilman niitцє kokonaan.
Sitten lounaan jцєlkeen, me katsomaan at teknologia kasana, joka on vain
hieno tapa sanoa kokoelmien teknologioiden
ettцє saatat kцєyttцєцє ratkaista joitakin ongelmia.
Ja me puhumme aakkoset keitto kielten olemassa today--
Java ja Python ja C ++ ja PHP ja Ruby ja kaikenlaisia Б─▀Б─▀muita asioita.
>> Me katsomaan hetkeksi suunnitteluun malleja.
Ohjelmoijat, ajan mittaan, on hyvцєksytty menetelmцєt
jotka pyrkivцєt auttamaan heitцє ratkaisemaan ongelmia helpommin.
Kun alkaa nцєhdцє itse kirjoittamista samanlaista koodia uudestaan Б─▀Б─▀ja uudestaan,
ihmiset virallistaa kyseiset toistoja ja suoda nimet heille
ja sitten kцєyttцєцє niitцє ja edistцєцє niitцє, lopulta.
Ja me puhumme hieman noin mobiili strategioita,
kuin mitцє se tarkoittaa todella tee mobiilisovelluksen tai mobiilisivuston.
Teet sen Android?
Teet sen iOS?
Teet sen molemmille nцєistцє?
Ja mitkцє ovat kompromisseja?
Ja sitten lopuksi, otamme Katso Web-ohjelmointi, joka
on yhteisnimitys todella kuvaavat tahansa
kirjoittaa ohjelmisto, joka on tarkoitus ajaa verkossa,
joko puhelimet tai tyцІasemia tai kannettavia tietokoneita.
Otamme lyhyt katsaus tietokannat ja suunnittelu
siinцє, jos vain koska melkein mitцєцєn mielenkiintoinen web-pohjainen sovellus
nцєinцє pцєivinцє on jonkinlainen tietokannan.
Muussa tapauksessa se olisi vain olla staattisia kohteita.
Ja tietokannan avulla voit soittaa muuttuu ajan myцІtцє, onko itse
tai kцєyttцєjiцє.
Ja harkitsemme, miten menisi noin suunnittelussa
tietokantaan ja sellaista jargon jotka saattavat tulla esiin insinцІцІrin
keskustelun valkoinen lauta kun todellisuudessa tцєytцєntцІцІn
Sovelluksen ensimmцєistцє kertaa.
>> Me puhua lyhyesti API, hyцІdyllisiцє palveluja
ettцє voit seistцє olkapцєцєt toisten, ovatko yritykset
tai henkilцІille, ja ratkaisemaan omat ongelmansa nopeammin.
Ja sitten me harrastella kenties hieman JavaScript,
ohjelmointikieli, jota kцєytetцєцєn molemmat selaimet nцєinцє pцєivinцє, mutta myцІs
palvelimissa.
Ehkцє kцєymme uudelleen, aika sallii,
joitakin kцєytцєnnцІn web tavaraa me eilen ja yhdistцєцє kaksi
yhdessцє ennen kuin lykцєtцє.
>> Joten that-- mitцє ahead-- on jotain puuttuu, ettцє olet
haluaa varmistaa, ettцє meillцє lisцєtцє ja kцєsitellцє jossain vaiheessa.
Jos se on jouset mieleen, tuoda sen ennen pitkцєцє.
Mutta miksi emme alussa on katsokaa pцєцєttelyцє.
>> Ja haluaisin ehdottaa, ettцє laskennallinen ajattelu on, jцєlleen,
erцєцєnlainen korkean tason kuvauksen mitцє tietojenkцєsittelytieteessцє voisi tehdцє.
Ja todellakin, aloitamme kolme ainesosia, jotka
voisi mennцє pцєцєttelyцє.
Tцєmцє on vain yksi tapa kuvata sitцє.
Voisimme varmasti mцєцєritellцє tцєmцє monin tavoin.
>> Mutta minцєpцє ehdottaa, vuoksi tцєnцєцєn,
ettцє maailman ongelmia, kaikki maailman ongelmat,
kun lцєhestyi tietojenkцєsittelytieteessцє voisi
pidettцєvцє Mitцє me puhelun tuloa, joka
tцєytyy pцєцєstцє syцІtetцєцєn mitцє me kutsumme algoritmeja, joka sitten tuottaa lцєhdцІt.
Toisin sanoen, koko maailma ongelmanratkaisun I vaatimuksen
voidaan tislata nцєmцє kolme ainesosia.
Joten mitцє tarkoitan panoksia?
Tulot on juuri mitцє olet luovutti ratkaisemiseksi.
>> Esimerkiksi tцєssцє vanhan koulun ongelma.
Jos minulla on puhelinluettelo tцєцєllцє ja Haluan katsoa jotain siihen,
tцєmцє on minun panos.
Minulla on 1000 tai niin sivut puhelinluettelosta.
Tцєmцє on panos minun ongelma.
Ja Haluan lцІytцєцє jotain kuten Mike Smith, joten ystцєvцє
jonka nimi ja numero on toivottavasti tцєmцєn osoitekirjan.
>> Tцєmцє on ennen pцєivцєn solun puhelimissa, joten en voi vain etsiцє sitцє.
Joten minun tцєytyy tehdцє se vanha koulu ja todella haku
nцєmцє tulot joillekin vastausta.
Ja ettцє vastaus on juuri menossa kutsua lцєhtцІцІn.
Joten tulo on puhelinluettelossa.
Algoritmi on mitцє joukko vaiheet Kцєytцєn lцІytцєцє Mike Smith.
Ja lцєhtцІ on toivottavasti Mike Smith puhelinnumero.
Ja tцєmцє sitten olisi vain edustaja eniten ongelmia
ja jossa olet oikeakцєtinen panoksia ja haluavat tuottaa tuotoksia.
>> Joten ennen pidцєmme prosessin jonka avulla voimme ratkaista ongelman,
lцІytцєminen Mike Smith ja jotain sellaista,
Tarkastellaan ensimmцєistцє ja last-- tulot ja lцєhdцІt.
Fyysisesti tietenkin tulo tцєstцє on koko joukko paperi liimataan yhteen
muodossa puhelinluettelosta.
Mutta tietokoneet, on course-- kannettavat tietokoneet ja tyцІasemat ja jopa puhelimet
Nцєiden days-- ne ovat elektroniset laitteet.
>> Ja lopussa pцєivцєn, mitцє ainoa tulo tietokoneeseen?
No, se on jotain Tцєmцєn virtajohto tцєhцєn.
Liitцєn sen seinцєцєn, ja Saan virtaa elektroneja,
jossa voin ajaa konetta.
Tai ehkцє nuo elektronit ovat luoma tapa minun akku.
Mutta lopussa pцєivцє, joka on ainoa asia menee minun laptop.
Ja niin paljon mielenkiintoista tavaraa on lopulta
tulossa ulos, onko Poiketen tulostimen
tai nцєyttцІцє tai audially tai vastaavaa.
>> Joten jos kaikki olemme kuin meidцєn olennainen panos tietokoneeseen
on sцєhkцІцє, joten vain elektronit menossa ja tai ulos,
ja niin miten voimme kцєyttцєцє sitцє panos todella edustaa tietoa?
Toisin sanoen, miten pцєцєsemme yksinkertaisesta sцєhkцІvirtaa
edustamaan todellista numeroita tai todellinen kirjaimia
tai todellisia kuvia ruudulla tai todellinen elokuvia tai sцєhkцІpostiviestejцє
tai mitkцє tahansa nцєistцє korkeamman tason kцєsitteitцє,
jos haluatte, ettцє tцєllцє Pцєivцєn pцєцєtteeksi jotenkin
ovat tulee sцєilyttцєцє tцєmцєn elektroninen mekaaninen laite
kцєyttцєmцєllцє ainoastaan Б─▀Б─▀yksinkertaista ingredients-- elektronit tulossa sisцєцєn ja ulos?
>> Joten nцєyttцєцє siltцє, Б─▀Б─▀ettцє in yksinkertaisessa muodossa,
vain sellainen valtioiden Minulla on maailman, niin
ettцє speak-- olosuhteet minun world-- on joko
Minulla elektronit virtaa, sцєhkцІ virtaava, tai teen not-- niin edelleen, pois.
Ja nyt virallistaa pцєцєlle ja pois, kuin tietokone tiedemies voi,
vain 1 ja 0.
Katsotaan vain kuvata joitakin mielivaltaisia mutta johdonmukainen numeron mцєцєrittцєminen.
1 keinoja, 0 tarkoittaa pois.
Tai ehkцє myцІs tarkastella tцєtцє tosi vцєlinein ja vцєцєriцє keinoja.
Voit myцІs tehdцє musta ja valkoinen tai punainen ja sininen.
Tarvitset vain kaksi kuvaajia.
Ja tietotekniikan tutkijoita olisi yleensцє vain kцєyttцєцє 0 ja 1.
>> Joten jos nцєin on, minun ainoa aakkoset koostu 0: n ja 1: n, miten
voisinko mahdollisesti saada jopa niiden lukumцєцєrцєn 2 tietokoneessa, puhumattakaan numero 3
tai kirjain tai kuvan tai elokuvan?
Miten tavallaan bootstrap itseцєmme tцєstцє periaatteesta
0: n ja 1: n ja itse edustavat jotain mielenkiintoisempaa?
>> No, esittцєцє tцєmцєn kysymyksen pidossa vain hetken
ja harkita jotain toivottavasti tuttu,
vaikka et ole ajatellut sitцє yksityiskohtaisesti 10, 20, 30, 40, 50
vuotta.
Tцєmцє on mitцє?
Miten lausutaan?
Ei kompakysymys.
Useita, mutta mitцє se on?
1, 2, 3, tai 123.
Ja pidin miten sanoit 1, 2, 3, koska se on yksi tapa tarkastella sitцє.
1, 2, 3, se on sekvenssi kolme symbolia.
Se kuvaa, ettцє me nyt sanoja.
Ja jos sellainen lukea niitцє kaikkia yhdessцє, tyypillinen ihmisen in Englanti
sanoisi 123.
Ja se on erцєцєnlainen korkeamman tason kцєsite,
tuntuu melko suuri mцєцєrцє.
>> Mutta kuinka tцєhцєn pцєцєstцєцєn?
No, se voi olla jonkin aikaa, koska olet ajatellut sitцє nцєin,
mutta takaisin minun pцєivцє, minцє Tцєllainen oppinut tцєmцєn
kuten 1: n pylvцєs, 10: n sarake, ja 100: n sarakkeeseen.
Niin kuin Lakisa sanoo, se on 1, 2, 3, mutta se on myцІs 123.
Mutta miten saamme entinen jцєlkimmцєiseen?
>> No, te yleensцє tehdцє 100: n pylvцєs, olen 1.
Niin, ettцє on kuin sanoisi 100 kertaa 1.
Ja sitten 10: n sarakkeessa, olen 2.
Niin, ettцє on kuin sanoisi 10 kertaa 2.
Vuonna 1 sarake, olen 3.
Niin, ettцє on kuin sanonta 1 kertaa 3.
>> Ja jos voin lisцєtцє nцєmцє asiat yhdessцє, tцєmцє tietenkin,
on 100 plus 10 plus 3.
Ja oi, siksi saan tцєmцєn korkeamman tason kцєsite 123.
Se on vain perustiedot matematiikasta, jolloin nцєmцє symboleilla on painot heille jos
se, paikkamerkkikentцєt tai sarakkeen arvoja.
Ja kun minцє lisцєцєn kaiken out, saan tцєmцєn numeron.
>> Kuinka monet teistцє tietцєvцєt, miten puhua binary-- 0: n ja 1's-- kuin tietokone?
OK, tцєydellinen, kukaan, tai kukaan luulet tehdцє.
Haluan kuitenkin vцєitцєt oikeastaan Б─▀Б─▀tiedцє tцєtцє jo.
Meidцєn tцєytyy vain erцєцєnlainen nipistцєцє henkistцє malli hieman.
Mutta prosessi on tцєsmцєlleen sama.
>> Saanen jцєttцєцє tцєmцє sinne ja sen sijaan vetцєцє tцєmцєn syrjцєцєn hetkeksi.
Kun maailma tietokoneiden, meillцє on vain 0: n ja 1: n.
Ja niin asia, joka on tulee muuttumaan on mitцє?
No, minun ihmisen maailmassa, desimaalijцєrjestelmцєllцє, joulukuu merkitys 10,
Minulla on, kuinka monta numeroa kцєytettцєvissцєni?
10, eikцІ?
0 kautta 9, tietenkin.
>> Ja siksi meillцє on 10 paikka ja 100: n paikan.
Jos on, ettцє tulee?
No, tцєmцє on 10 potenssiin 0.
Tцєmцє on 10 potenssiin 1, 10 valtaa 2, ja niin edelleen.
Sinцє vain pitцєцє kertomalla sarakkeet 10, alkaen pois vain 1
oikeanpuoleisessa tцєцєltцє.
>> Joten maailmassa tietokoneet, jos vain
on binary-- bi merkitys 2-- tai 0: n ja 1: n, me vain
todellakaan tarvitse muuttaa pohjan, joka matematiikkaa.
Eli toisin sanoen, nyt me vain on 1 sarake ja tyylillisesti
missцє tцєmцє going-- 2 sarake, 4 sarake, ja ehkцє sen jцєlkeen.
Miksi niin?
No, tцєmцє on 2 0-th valtaa.
Tцєmцє on 2 1.
Tцєmцє on 2 2, ja niin edelleen.
>> Joten taas tцєцєllцє, meillцє on 1, 10: n, 100: n, 1000: n, 10000: n, 100000: n, 1
miljoonia, ja niin edelleen, tцєssцє Meillцє on 1, 2, 4, 8, 16, 32, 64.
Sinцє vain pitцєцє kertomalla 2, sijaan pitцєцє kertomalla 10.
Joten nyt, jos tavoitteena on kцєsi on edustaa
numeroita kцєytetцєцєn vain 0: n ja 1: n, Tarkastellaan miten me sinne.
>> Tцєmцє tietenkin on malli 0 0 0, mutta mitцє numero kцєsitteellisesti
se edustaa?
No, 4 kertaa 0 plus 2 kertaa 0 plus 1 kertaa 0, nyt lisцєtцє ne yhdessцє.
4 kertaa 0 on, tietenkin, 0, plus 2 kertaa 0 on tietenkin, 0 + 1 kertaa 0
on tietenkin, 0.
Niin ah, tцєmцє edustaa numero me ihmiset tunnemme 0.
>> No, nyt, nyt hyvin nopeasti eteenpцєin.
Jos en sen sijaan ole edustava 0 0 0, mutta tehkцєцєmme 1 0 1,
jotka saattavat olla kuinka Lakisa, aikaisemmin, olisi vain sana se 1 0 1.
Mutta nyt, miten voimme ottaa sen korkeammalle tasoittaa numero me ihmiset voisi tietцєцє?
Joten mikцє on tцєmцєn numeron?
Se on 5, numero tunnemme 5.
>> No, miksi nцєin on?
No, voimme todella tavallaan kulkea lцєpi jцєrjestelmцєllisesti
4 kertaa 1, 2 kertaa 0, 1 kertaa 1.
Lisцєtцє ne yhteen, niin Tцєmцє on 4 plus 0 plus 1.
Ja se tosiaankin 5.
Joten se alkaa vцєhцєn ikцєvцє nyt tekee aritmeettinen uudestaan Б─▀Б─▀ja uudestaan.
Mutta prosessi on tцєsmцєlleen sama.
>> Ainoa asia, joka on muuttunut maailmassamme
on se, ettцє sarakkeet ovat 1, 2, 4, 8, 16, ja niin edelleen, sijasta 1, 10, 100,
1000.
Ja juuri siksi meidцєn aakkoset on kutistuneet 0 kautta 9 vain 0-1.
>> Niin kuin pieni tietokilpailu tцєцєllцє, miten olisi te edustavat useita 7 binary?
0?
No, 0, tarkoitat 0 0 0?
Sano se uudestaan, Karina.
Tцєydellinen.
Miksi niin?
Se tehokkaasti 4 plus 2 plus 1.
Niin hyvцє.
>> Miten edustaa hieman another-- miten numero 2?
Lцєhellцє, mutta takaperin.
Joten mitцє tцєmцє on?
On 4 plus 1, niin se on 5 uudelleen.
>> Joten what's-- Anteeksi, Karina?
0 1 0.
0 1 0 olisivat 2, koska uudelleen, vaikka jos se tavallaan ei hyppцєцє ulos teille,
vain tehdцє matematiikka.
4 kertaa 0, 0, 2 kertaa 1 on 2, 1 kertaa 0 on 0.
Joten tцєmцє on numero tunnemme 2.
>> Entцє numero 8?
Hm?
Hyvцє.
Joten me sellaista tarvitsemme toisen paikkamerkki.
Tarvitaan 1 0 0 0.
Ja se on totta meidцєn lajitella vanhan koulun desimaalin jцєrjestelmцєцєn.
Miten edustavat useita 1000?
>> No, te nцєyttцєisi olevan erцєцєnlainen kova paikka,
jos pyytцєцє edustamaan numero 1000,
sillцє vaikka annat itsellesi kuten 9 nцєistцє, 9 nцєistцє, 0 nцєistцє,
joka on suurin numero on, et ole aivan pцєцєstцє 1000.
Joten jos 1000, sinun tцєytyy vain toisen asentoon, niin ettцє voit tehdцє 1 0 0 0,
ergo numero 1000.
>> Joten nyt, nyt kartta tцєllaista kцєsitteellinen keskustelu takaisin laitteisto,
jos taas tulo oli vain tцєmцє pieni virtajohto, sцєhkцІ
tulossa ja virtaa ulos.
Ja niin, ettцє on kartoitettava tцєцєltцє siellцє, hyvin, mitцє me todella tarvitsemme?
No, voit ajatella olemisen sisцєllцє tietokone, koko joukko hehkulamppuja,
jos haluat.
He todella kutsutaan transistoria.
Ja transistorit ovat vain kytkimet joka voi olla joko pцєцєlle tai pois pцєцєltцє.
Voit siis ajatella transistori, joka tцєllцє
sallii sцєhkцІцє virrata ja transistori, joka on pois lopettamalla
sцєhkцІцє virtaamasta.
Ja sen sijaan ottaa yli valot tцєцєllцє,
miksi en tee tцєllaista Uusien koulun tyyliin.
Joten tцєmцє voi olla 1, taskulamppu olemisesta, vain tuskin tosin.
Ja tцєmцє voi olla 0, ja nyt se on pois.
>> Joten tцєllцє fyysinen laite, I voivat nyt edustaa binary jцєrjestelmцєцєn.
Tarvitsen vain kaksi valtiota.
Sillцє ei ole vцєliцє, mitцє vцєri se on tai mitцє se on.
Tцєrkeцєцє on, ettцє minulla on yksi tilassa ja toisen valtion pois.
Joten kцєyttцєцє minun puhelinta tцєцєllцє, miten voin edustavat useita tunnemme 0?
Tai laittaa vastaavasti, mitцє numero olen edustavat nyt?
0, koska laite on pois pцєцєltцє.
>> Ja jos en tee tцєtцє?
Ja nyt, miten voin edustavat useita 2?
Voinko lainata puhelinta tцєцєllцє, kuten teimme eilen?
Katsotaanpa, joten jos haluan edustaa numero 2, on tцєmцє numero 2?
Ei.
Mikцє numero olen vahingossa edustavat tцєцєllцє?
Tцєmцє on itse asiassa numero 3.
>> Joten kumpi haluanko sammuttaa?
Musta puhelin or-- hyvin, jos they're-- musta puhelin tai valkoinen puhelin?
Valkoiset puhelin.
Jos siis kцєцєntцєцє tцєmцєn pois ja me line sen tцєnne, meillцє on 1
ettцє 2: n paikka ja 0 in 1 paikka.
Ja niin olen nyt edustaa numero 2.
Ja tцєmцє tietenkin olisi numero 3, koska nyt molemmat valot
ovat pцєцєllцє.
>> Ja minцє pysцєhtyцє tцєhцєn, mutta on aivan selvцєцє
jos haluan edustaa numero 4 tai 8 tai korkeampi,
Aion tarvitsevat enemmцєn puhelimia.
Mutta se kaikki mitцє on meneillцєцєn.
Joten jos olet koskaan kuullut, ettцє sisцєpuoli A-- kiitos sinцє-- tietokone
on miljoonia transistoreita, joka on vain miljoonia pikku kytkimiцє.
Ja ne eivцєt ole valoa sipulit, ettцє pцєцєlle ja pois pцєцєltцє,
mutta ne eivцєt myцІskцєцєn anna sцєhkцІцє virrata jonnekin tai lopettaa se.
Ja niin siellцє teidцєn kaksi states-- pцєцєlle tai pois, pцєцєlle tai pois pцєцєltцє.
>> Joten me nцєyttцєisi nyt on tцєmцє kyky
edustamaan tцєtцє kцєsitettцє ettцє haluaisimme todellisessa laitteisto.
Mutta meidцєn tцєytyy nyt on kyky edustamaan numeroita nцєyttцєisi.
Miten siis edetцє edustavat kirjaimet, jotka
tuntuu seuraavan sellaista ominaisuutta haluaisi lisцєtцє nykyaikaisen tietokoneen
kun olet numerot?
>> Ja todellakin, jos ajattelee se, historiallisesti, tietokoneet
esiteltiin todella palvella kuten laskimet numeerisesti.
Mutta tietenkin nцєmцє pцєivinцє, he tekevцєt paljon enemmцєn.
Vaikka he kцєynnistyцє, sinun tyypillisesti nцєhdцє yhden tai useamman sanan.
Joten miten edustavat sanoja, jos kaikki sinulla on, jцєlleen,
sцєhkцІцє lopussa pцєivцє, tai vastaavasti 0: n ja 1: n?
>> Joo.
Niin, tarkoitan, me tavallaan teki Tцєmцєn eilen jossain muodossa,
jossa jossain vaiheessa, Uskon mielivaltaisesti
sanoi, ettцє jos haluamme edustaa kirjain A, voisimme vain soittaa, ettцє 1.
Se oli yhteydessцє salakirjoituksen, jossa vain tarvitaan jonkinlaista koodia,
jonkinlainen kartoitus.
>> Joten ehkцє A olla edustettuna 1, ja B on edustettuna 2,
ja Z on edustettuna kuin 26, esimerkiksi.
Ja niin ainoa ehto on, ettцє jos olen menossa koodata kirjeet omassa sцєhkцІpostit
tai minun tekstiviestejцє numeroita, te kaikki
on sovittava kцєyttцєmцєцєn samoja sopimuksia.
Ja todellakin, maailma on tehnyt juuri nцєin.
>> On jцєrjestelmцє maailmassa nimeltцєцєn ASCII, American Standard
Code for Information Interchange, joka on yksinkertaisesti pцєцєtцІs joitakin vuosia
sitten, ettцє ihmisillцє tehdyt ettцє pцєцєtti, ettцє on menossa sama, ei
1, 2, ja 26, ja niin forth-- se on pikku different-- mutta 65, 66, 67.
Ja minцє vetцєцє ylцІs kaavio vain hetken.
Mutta se on mielivaltainen.
Mutta sillцє ei ole vцєliцє ettцє se on mielivaltainen.
Maailmassa on vain olla johdonmukaisia.
>> Nyt nyttemmin siellцє on jotain hienompaa
nimeltцєцєn Unicode, koska maailman laji toteutuneiden jцєlkeen keksimisestцє tietokoneet,
ettцє siellцє on enemmцєn kuin hyvin 256 symbolien maailmassa
ettцє voisimme haluta esittцєцє, varsinkin kun kцєyttцІцІn
Aasian kielten ja muiden symbologies jotka tarvitsevat enemmцєn ilmaisuvoimaa kuin te
mahtuu vanhimman version Tцєmцєn koodin, jota kutsuttiin ASCII.
Joten Unicode todella sallii voit kцєyttцєцє enemmцєn 0 n ja 2.
Erityisesti pidцєt kuulo sana tavua yhteiskunnassa ja jopa vain
eilen.
Ja tavu on mitцє taas?
>> Mikцє on tavu?
Se on vain 8 bittiцє.
Joten mitцє se oikeastaan Б─▀Б─▀tarkoittaa?
No, se tarkoittaa, aiemmin, kun olimme puhutaan binary ja kцєytin
mielivaltaisesti kolme bittiцє, kun olimme puhumme binary-- 1 paikka,
2 paikka, ja 4: n place-- hyvin, tavu vain tarkoittaa, ettцє puhut
ei yksikkцІinцє kolme, mutta neljцє, viisi, kuusi, seitsemцєn kahdeksan,
joka antaa meille 8 paikka, 16: n, 32: n, 64: n, ja 128: n.
>> Toisin sanoen, vцєhцєn ei ole kaikki ettцє hyцІdyllinen mittayksikkцІ,
koska se on aivan kuin yksi pikku tieto, pцєцєlle tai pois pцєцєltцє.
Joten joitakin vuosia sitten, maailmassa juuri pцєцєttцєnyt
se on hieman helpompaa puhua mitattuna tavua, kahdeksan asioita kerrallaan.
Ja niin nцєin syntyi kцєsite tavu.
Ja niin meillцє on kahdeksan bittiцє tцєцєllцє.
>> Ja se osoittautuu myцІs samankaltaisia syistцє maailma pцєцєtti vuosina
sitten, ettцє edustaa ASCII kirjain, aiot kцєyttцєцє yksikkцІцє 8 bittiцє.
Joten vaikka et tarvitsevat, ettцє monet, olet
aina menossa kцєyttцєцє 8 bittiцє edustavat aakkosten kirjain.
Ja tцєmцє on kцєtevцє, koska silloin jos
tulee sanoma, on 0 0 0 1 1 1 1 0 ja sen jцєlkeen vielцє 1 1 1 0 1 0
0 1, joten jos saat 16 bitit, maailma voi vain
oletetaan, ettцє ensimmцєinen 8 ovat yksi kirjain ja toinen 8 ovat toinen kirjain.
>> Ei ole vцєliцє kuinka monta niitцє on.
Se vain on merkitystцє, ettцє Olemme kaikki yhdenmukaisia
kun olemme tulkittaessa bittiцє.
Ja tцєmцє oli vain satunnainen.
Se tarkoittaa jotain, mutta en todella miettiцє, mitцє se tarkoittaa.
>> Joten se on pieni valkoinen valhe.
Alunperin ASCII todella kцєytetцєцєn vain 7 bittiцє.
Ja kahdeksas bitti on pidennetyt ASCII.
Mutta kohta on lopulta sama.
Maailman yleensцє standardoitu 8 bittiцє.
>> Joten tцєmцє nцєyttцєisi olevan hieman rajoittava, koska voin vain
edustavat pцєцєoma A, pцєцєoma B pцєцєomayhteyksien Z.
Mutta tosiaan ole, jos menen to-- siellцє on joukko resursseja
verkossa, esimerkiksi, asciitable.com, tцєmцє
tulee olemaan hieman ylivoimainen aluksi.
Mutta minцє huomauttaa mikцє on tцєrkeцєцє.
>> Tцєmцє sattuu be-- ja minцє walk-- katsotaanpa, jos menen tцєnne.
Tцєssцє on, ettцє desimaalin sarake, numero 65.
Ja oikealla palstalla kirjain merkki, Chr, on kirjain A.
Ja voit jцєttцєцє, nyt, kaikki keskellцє.
Tцєmцє on heksadesimaali, oktaali, ja HTML-koodia.
Jotta tцєmцє sivusto on vain yrittцєцє heittцєцє paljon tietoa sinulle heti.
Mutta kaikki vцєlitцєmme on desimaalin sarake ja merkki sarakkeeseen.
>> Joten tцєmцє logiikka, mitцє on numero ettцє maailma
on pцєцєttцєnyt esittцєцє pienet kirjaimet a?
Niin, 97.
Ja vain hцєmmentцєцє mahdollisesti hieman,
mitцє numero on maailman pцєцєttцєnyt edustaisi numero 1?
Oikea, koska we-- 49, se nцєyttцєцє tцєцєllцє, alas alhaalla vasemmalla.
>> Nyt, mitцє tarkoitan tцєllцє?
Joten kцєy ilmi, ettцє tietokonejцєrjestelmiin,
on yleensцє perustavanlaatuinen ero
vцєlillцє useita ja merkin.
Useita on asia, oppinut kasvaa, kun
olimme erittцєin nuori alakoulussa.
On asioita laskit kanssa.
Mutta hahmo on vain muoto, joka on glyph, niin sanotusti, ruudulla.
>> Nyt me ihmiset tavallaan nцєhdцє jotain, joka nцєyttцєцє tцєltцє.
Ja me sanomme, oi, ettцє on numero 2.
Mutta ei, se on vain symboli, joka nцєyttцєцє kuin mitцє me tiedцєmme kuin numero 2.
Ja niin on tцєmцє perusero
vцєlillцє todellisten numeroita ja kirjaimia.
Tцєmцє on numero.
Mutta yleisesti, ettцє yhteydessцє tietokoneeseen,
Jos sen sijaan nцєhdцє jotain tцєllaista quoted--
ja et aina tцєytyy nцєhdцє se lainattu,
mutta vuoksi discussion-- jos nцєet lainausmerkkeihin numero,
tцєmцє on nyt hahmo.
Joten tцєmцє numero 2 alla huppu sisцєllцє tietokoneen
olisivat edustettuina kuviolla bittien lukumцєцєrцєцє kuvaavat
50 kaavion mukaan verkossa.
>> Kuitenkin, jos tietokone juuri nцєkee tцєmцєn, tцєmцє
olisivat edustettuina kanssa kuvio bitti 0 0 0 0 0 0 1 0.
Katsovat, tцєmцє merkki olisi todella olla edustettuna as-- ja nyt,
Sain ajatella hieman harder-- joten tцєmцє luonne olisivat edustettuina 0
0 1-- mitцє tarvitsen tцєцєllцє?
0 0 1 1 0 0 1 0.
Miten teen tцєmцєn?
No tцєmцє on numero 50, jos moninkertaistaa sitцє kцєyttцєen nцєitцє sarakkeita,
tцєmцє on numero 2, ja niin siksi on tцєmцє kahtiajako.
>> Ja tцєmцє on vain teaser nyt ominaisuuksia
joita esiintyy ohjelmointikieliцє ettцє me kцєsitellцє lyhyesti myцІhemmin tцєnцєцєn.
Vuonna ohjelmointikielet, olet yleensцє,
mutta ei aina, asiat soittaa erilaiset tiedot.
Toisin sanoen, programmer-- kun hцєn kirjoittaa,
ohjelmoija saa pцєцєttцєцє, missцє formaatti tallentaa hцєnen tietoja.
Voit joko tallentaa tietoja raaka numerot, kuten numero 2.
Tai voit tallentaa ne jouset, tai merkkijonoja
ettцє voisitte yleensцє ilmaista kanssa lainauksia ohjelmointikielellцє.
>> Voi olla asioita called-- Minцє pelkistettyjen ja soita heille
real numbers-- niin numerot eivцєt ole kokonaislukuja, kuten numero 2,
mutta numerot kuten 4.56.
Joten todelliset luvut voivat myцІs on desimaaliin,
niin se on eri olennainen pala dataa tietokoneella.
Ja sitten voit jopa muita tietotyyppejцє edelleen.
Niin, ettцє on vain teaser todella on yksinkertaisin suunnittelu pцєцєtцІsten
ettцє ohjelmoija saattaa tehdцє alla huppu.
>> Joten kysymyksiцє aivan vielцє?
Joten yritцє tцєmцє hieman enemmцєn todellisia.
Tцєmцє laitteisto ei ole niin paljon enцєцє kцєytцІssцє.
Mutta useimmat jokainen tцєssцє huoneessa luultavasti kasvoin ja kцєyttцєцє edelleen kiintolevyt
jotenkin.
>> Vaikka useimmat lцєppцєreissцє ei enцєцє
on laitteita, jotka toimivat nцєin, sen sijaan kannettavat tцєnцєцєn yleisesti
on solid state drives jossa ei ole liikkuvia osia.
Ja ettцє yleensцє kalliimpia, valitettavasti mutta hieman nopeammin
ja A-- hyvin usein, paljon nopeammin, joka on yksi syy.
Ja se ei tuottaa niin paljon lцєmpцІцє.
Se voi olla pienempi, joten se on yleensцє on positiivinen.
>> Mutta tцєmцє antaa meille mahdollisuuden kartoittaa hieman konkreettisemmin mitцє
me puhumme klo 0: n ja 1: n taso nyt fyysinen laite.
Se on yksi asia minulle puhumaan noin 0: n ja 1: n suhteen
puhelimeni tai abstraktisti suhteen kytkimet olemisesta ja pois.
Mutta entцє kovalevyjцє?
Vuonna kannettavat tietokoneet, jos sinulla on vanhempi yksi tai pцІytцєtietokoneen,
tai varmasti palvelimissa tцєnцєцєn, missцє olet
kiintolevyt, jotka ovat teratavun tilaa,
4 teratavua tilaa, hyvin mitцє se tarkoittaa?
>> Kovalevy 1 teratavu tilaa keinoin
siellцє oli 1 biljoona tavua sen sisцєllцє jotenkin,
tai vastaavasti 8000 miljardia bittiцє sisцєllцє.
1 teratavu olisi 8 terabits tai 1000 miljardia bittiцє, joka
Jos siis on kova ajaa, olet jotenkin
tai muu biljoona 0: n ja 1: n sisцєlle.
Ja jos me vain katsomaan klo mielivaltainen kuva kovalevy
edustaja, tцєmцє on mitцє kova ajaa voisi tyypillisesti nцєyttцєцє sisцєlle.
>> Sekin on ikцєцєn kuin vanha levysoitin pelaaja
mutta yleensцє useita tietueita sisцєllцє, niin
ettцє speak-- useita Platters, koska niitцє kutsutaan,
metalli ympyrцєlevy, ja sitten hieman lukupцєцє,
paljon kuin vanha levysoitin.
Ja ettцє lukupцєцє liikkuu taaksepцєin ja esiin ja jotenkin lukee bittejцє.
Ja mikцє seuraavilla Platters, jopa vaikka me ihmiset nцєe niitцє,
joko todellisuudessa tai tцєssцє kuvassa, siellцє pikku magneettisia hiukkasia.
Ja vaikka olet pitkцє unohtanut kuinka sцєhkцІ toimii,
magneettipartikkeli joka on ladattu yleisesti
on pohjoispцєцєssцє ja etelцєцєn end-- niin pohjoiseen ja etelцєцєn.
Ja niin maailma juuri pцєцєtti jokin aika sitten
ettцє jos magneettinen protokolla olennaisesti tasataan nцєin, pohjois-etelцє,
kutsukaamme ettцє 1.
Jos se sen sijaan etelцє-pohjoinen, Haluan vain soittaa, ettцє 0.
Jos siis oltava kцєytettцєvissцєnne biljoona
pikku magneettinen particles-- ja toivottavasti,
laitteisto kekseliцєisyyttцє Jotta kцєцєntцєцє ympцєrillцєцєn
kuin nцєet fit-- jos haluat edustavat koko joukko 0: n, et
tarvitsee vain 8 magneettisia hiukkasia kaikki linjassa nцєin.
Ja jos haluat edustamaan Kahdeksan 1: n, juuri
tarvitsevat 8 magneettiset partikkelit linjassa takaisin takaisin takaisin nцєin.
>> Mitцє tarkoitan, ettцє magneettisia hiukkasia?
Suoraan sanottuna, kaikki nцєmцє vuotta myцІhemmin, asia, joka vielцє tulee mieleeni
se tyyppi, jos kasvoin tцєmцє asia.
Tцєmцє on little-- varten ne unfamiliar--
pikku lapsuuden lelu, joka on tцєmцє karvaton mies tцєцєllцє
joka on kaikki nцєmцє pikku mustat magneettiset partikkelit, jotka tulevat sen kanssa.
Ja kцєyttцєmцєllцє ettцє punainen tikku, joka on vain magneetti,
voit tavallaan antaa hцєnelle viikset tai kulmakarvat tai hiusten tai mitцєцєn hцєnelle.
Joten itse asiassa, jos me zoomata in, esimerkiksi tцєmцєn
on sellainen pelin voi pelata Wooly Willy.
>> Ja tцєmцє on vain sanoa, nцєmцє ovat paljon suurempia magneettisia hiukkasia
kuin todella kiintolevylle, ja paljon vцєhemmцєn magneettisia hiukkasia.
Mutta katsotaanpa itse nцєhdцє sitten jos ei ole
pieniцє magneettisia hiukkasia kiintolevy, miten voit itse
kцєyttцєцє nцєitцє edustamaan tietoja.
>> [VIDEOTOISTOSTA]
>> -The Kiintolevy on missцє tietokoneessa tallentaa useimmat sen pysyviцє tietoja.
Voit tehdцє sen, data kulkee RAM pitkin
ohjelmisto signaalien, jotka kertovat kovalevy miten tallentaa tietoja.
Kiintolevy piirit kцєцєntцєцє ne signaalit jцєnnitteen vaihtelut.
Nцєmцє puolestaan Б─▀Б─▀ohjaavat kiintolevyn liikkuva parts-- joitakin harvoja liikkuvia
osat jцєtetцєцєn nykyaikaisen tietokoneen.
>> Jotkin signaalit ohjaavat moottorin, joka pyцІrii Sinkityn Platters.
Tietosi on oikeastaan tallennetaan nцєmцє Platters.
Muut signaalit siirtцєцє luku / kirjoitus pцєцєtцє lukemaan tai kirjoittamaan tietoja Platters.
Tцєmцє kone on niin tarkka ettцє hiuksista voinut edes
kulkevat pцєiden ja spinning Platters.
Silti se kaikki toimii loistava nopeuksilla.
[END TOISTO]
Ja nцєet tцєllцє takapцєцєssцє videon,
on yleensцє useita Platters.
Ja niin, ettцє lukeminen pцєцє ei vain lukemalla alkuun.
Se on ikцєцєn kuin kolme tai neljцє tai useampia lukupцєцєt
jotka liikkuvat nцєin, datan lukemisen samanaikaisesti.
>> Joten siellцє on paljon monimutkaisuus ja tavallaan ajoitus
joka on mukana kiintolevylle.
Ja asia pyцІrii todella hiton nopea, joten siellцє on paljon monimutkaisuutta.
Mutta nyt zoomata hieman syvemmцєlle ja nцєhdцє, missцє nцєmцє magneettisia hiukkasia
ja miten saamme niitцє.
>> [VIDEOTOISTOSTA]
>> -Anna N katsoa, Б─▀Б─▀mitцє me Nцєin juuri hidastettuna.
Kun lyhyt pulssi sцєhkцІцє lцєhetetцєцєn luku / kirjoituspцєцє,
se kцєцєntцєцє pieni sцєhkцІmagneettinen murto toisen.
Magneetin luo kenttцє, joka muuttuu
napaisuus pieni, pieni osa metallihiukkasten
joka takki jokainen vati pintaa.
Kuviota sarja nцєitцє pieniцє peritцєцєn alueilla levylle
edustaa yhden databitin, ettцє binцєцєrilukujцєrjestelmцєn jota tietokoneet.
>> Nyt, jos nykyinen lцєhetetцєцєn yksi lцєpi luku / kirjoituspцєцє,
alue on polarisoitu yhteen suuntaan.
Jos nykyinen lцєhetetцєцєn vastakkaiseen suuntaan,
polarisaatio on pцєinvastainen.
Miten saat tietoja pois kiintolevyltцє?
Vain kцєцєntцєцє prosessi.
Joten se on hiukkasia levy, joka saa nykyisen
read / write head liikkuu.
Kokoa miljoonia Nцєiden magnetisoitu segmentit,
ja olet saanut tiedoston.
>> Nyt palaset yhteen tiedostoon voi olla hajallaan ympцєri ajaa n platters,
ikцєцєn kuin sotku paperit pцІydцєllцє.
Joten erityismerkki tiedosto pitцєцє Seuraa jossa kaikki on.
EtkцІ halua teillцє oli jotain sellaista?
>> [END TOISTO]
>> Joten on viitattu siellцє, ehkцє, on ettцє aihe eilisen poistamisesta.
Kun poistat tiedosto, eilen sanoimme
ettцє tietokone todella tekee mitцє, kun vedцєt jotakin
roskakoriin tai roskakori?
Se vain unohtaa sen.
Mutta 0: n ja 1: n, magneettiset partikkelit
ettцє nцєyttцєцє punaista ja sinistцє asioita tцєцєllцє, tai kцєteni tцєцєllцє,
ovat edelleen olemassa kiintolevylle.
>> Ja niin on olemassa software-- Norton Utilities ja Yesteryear
ja muut nykyaikaisempi software-- ettцє juuri
skannaa koko kiintolevyn etsii ollenkaan niitцє 0: n ja 1: n, koska se
Osoittautuu, ettцє useimmat tiedosto alustat-- Word-asiakirjoja, Excel-tiedostoja, kuvia,
video files-- kaikilla on tietty malleja, jotka ovat yhteisiцє joukossa.
Jokainen videotiedosto saattaisi olla eri video,
mutta muutamien ensimmцєisten bitit ovat yleensцє samat.
Tai viimeinen usean bitin ovat yleensцє samat.
>> Ja niin suurella todennцєkцІisyydellцє, voit etsiцє niitцє kuvioita.
Ja vaikka tiedosto on unohtunut, voit sanoa suurella todennцєkцІisyydellцє,
mutta tцєmцє nцєyttцєцє Word-asiakirjaan, lets palauttaa sen ja un-unohtaa sitцє,
jos haluat.
Ja niin se miten voit palauttaa data, joka on joko ollut vahingossa
poistettu tai poistettu tai tahallisesti Poistetaan jostain tarkoituksiin.
>> Sen sijaan turvallisen poisto tekee mitцє yhteydessцє kuvan nцєin?
Tцєsmцєlleen, tekee niistцє satunnaisesti.
Joten se tavallaan siirtцєцє joitakin ne alas, jotkut heistцє ylцІs,
jцєttцєцє jotkut heistцє ennallaan, ja yleensцє tekee kohinaa pois,
tai vain ehkцє tekee kaikki ne 0: n tai kaikki 1: n.
Ja sekin voi yleensцє hangata tiedot pois.
>> Joten palaa nyt kysymykseen Laskennallisen ajattelu, jolloin
olemme laskentakomponentit.
Ja algoritmit antaa te tuottaa lopulta.
Keskitymme nyt panoksiin ja lцєhdцІt, koska nyt, minцє
vaatimus meillцє on tapa edustavat tulot ja lцєhdцІt.
Olemme juuri menossa kцєyttцєцє binary.
>> Ja mitцє me haluavat edustaa tцєnцєцєn,
onko se numero tai kirjain tai tuhansia sen puhelinluettelosta
tai kuvia tai elokuvia, lopussa Pцєivцєn, se on kaikki 0: n ja 1: n.
Ja minцє vцєittцєvцєt, ettцє vaikka tцєmцє on erittцєin yksinkertainen maailma vain 0: n
ja 1: n, voimme rakentaa itse ylцІs.
Ja olemme nцєhneet yksi esimerkki ettцє kirjaimia toistaiseksi.
>> Joten keskittyцє nyt tцєhцєn keskimmцєinen ainesosa, algoritmi.
Ja nyt palata tцєhцєn Esimerkkinцє Mike Smith.
Joten tцєssцє puhelinluettelossa, joka tosin emme kцєytцє niin paljon enцєцє,
siellцє ongelma on ratkaistava.
Haluamme lцІytцєцє joku kuten Mike Smith.
>> Ja mitцє voisi teen lцІytцєцє Mike?
No, voisin vain avata tцєmцє kirja, alkavat ensimmцєisellцє sivulla,
ja ymmцєrtцєцє, oi, olen A-osassa.
Mike ei ole siellцє.
Tarvitsen S osio Smith.
Joten vain pitцєцє kцєцєntцєцє yksi sivu kerrallaan.
Saanen teeskennellцє, ettцє tцєmцє on kaikki valkoiset sivut eikцє keltaisia Б─▀Б─▀sivuja,
koska emme aio lцІytцєцє Mike keltaiset sivut muutenkin.
Mutta olen valkoisille sivuille.
Ja nyt, olen B osassa.
En ole vielцє lцІytцєnyt hцєntцє.
Joten pidцєn kцєцєntцєmцєllцє yksi sivu kerrallaan.
>> Tцєmцє on algoritmi.
Se on joukko ohjeita ratkaista joitakin ongelmia.
Toisin sanoen, katso sivu, jos Mike ei ole sitцє,
kцєцєnnцє sivua, ja toistoja uudestaan Б─▀Б─▀ja uudestaan Б─▀Б─▀ja uudestaan,
ihanteellisesti katselee kuin teet sen.
Joten tцєmцє algoritmi, Tцєmцєn prosessin oikea?
>> Anteeksi.
En kuulla nos.
OK, mutta se is-- joo, se on varmasti ikцєvцє.
Kuten, me olla tцєцєllцє koko pцєivцєn, jos I etsimme Mike tцєllцє nopeudella.
Haluan kuitenkin vцєittцєvцєt ettцє se oikein.
Se on typerцєцє, mutta se on oikein.
>> Lopussa pцєivцєn, kunhan se voisi ottaa, lцІydцєn Mike, jos hцєn on siellцє
ja olen kiinnittцєnyt huomiota.
Ja minцє lopulta saavuttaa hцєnen sivulla.
Ja jos saan liian pitkцєlle, jos Pцєцєsen T бї,
niin voin hieman optimoida ja vain sanoa, hm, kaikki tehdцєцєn.
En edes tarvitse tuhlata aika menossa Z: n.
Mutta tцєmцє on erittцєin lineaarinen lцєhestymistapa, jos
tulee, hyvin erцєцєnlainen vasen-to-oikeutta lцєhestymistapa, suora viiva.
Ja sen oikea mutta hidas.
>> Joten muistan asteella sort optimoinnin ensimmцєisestцє luokkalainen,
missцє Opin laskemaan ei mukaan ne vaan twos-- niin 2, 4, 6.
Se on, paljon vaikeampi do, mutta teoriassa, se on
faster-- 8, 10, 12, 14, ja niin edelleen.
Miten siitцє algoritmi?
Onko se tehokkaampi?
Onko se nopeampi?
>> YleisцІ: Se on tehokas.
>> DAVID MALAN: Joo, niin se def-- se kirjaimellisesti kaksi kertaa niin nopeasti, olettaen I
ц└lцє pцєцєstцє lauennut kanssa sormiani.
Se on kaksi kertaa niin nopeasti, koska Olen kцєцєntцєmцєllцє kahden
sivuja kerralla yhden sijasta, mutta se on mahdollisesti oikeassa, koska miksi?
>> YleisцІ: Sinцє ohita joitakin.
DAVID MALAN: Oikea, mitцє jos Mike tapahtuu voidaan sandwiched-- ehkцє kun olen myцІhemmin
puhelinluettelosta, Mike sattuu olemaan vцєlissцє nцєmцє kaksi sivua,
ja minцє vain sokeasti hypцєtцє sen yli.
Joten tarvitsemme hieman korjata siellцє.
Kun osuin T бї, I voi vain luottavaisesti sanoa,
emme lцІytцєneet Mike Smith.
Luultavasti tцєytyy taittaa.
Tai itse asiassa, kun en pцєцєse jonkun nimeltцєцєn S-N, sijasta S-M Smith,
heti, minцє voi kaksinkertaistua takaisin, koska ehkцє hцєn
oli edellisellцє sivulla.
>> Mutta en tarvitse taittaa pitkцєlle.
Teoriassa jos teen sen oikeaan aika, minцє vain mennцє takaisin yhdellцє sivulla.
Joten se lisцєцєmцєllцє vain yksi ylimцєцєrцєinen vaihe.
Joten olen mennyt kaksi kertaa niin nopeasti, mutta se maksaa minulle yksi ylimцєцєrцєinen sivu.
Mutta se tuntuu nettovoitto.
>> Mutta tцєmцє ei ole, miten useimmat ihmiset Tцєssцє huoneessa ratkaisisi tцєmцєn ongelman.
Mikцє olisi tyypillinen henkilцІ, ehkцє Muutama vuosi sitten tehdцє, lцІytцєцє Mike Smith?
Joo, ei lцІytцєnyt Mike.
Mitцє teen?
Joten hieman lцєhempцєnцє, mutta en soittaessaan mikцє on totta noin puhelinluettelosta?
YleisцІ: Se on perцєkkцєinen.
DAVID MALAN: Se on perцєkkцєinen.
Se on aakkosellinen.
Ja niin jos olen M osassa, Mike on selvцєsti oikealle,
Voin kirjaimellisesti repiцє ongelma half--
se on yleensцє helpompaa kuin that-- repiцє ongelma kahtia ja heittцєцє sen pois,
niin ettцє nyt, minulla on ongelma, joka on ei enцєцє 1000 pages-- joka oli kova,
koska mielestцєni olen itse repesi puhelinluettelon tцєmцє time-- ei
1000 sivua, mutta 500.
>> Joten ongelma on kirjaimellisesti puolta suurempi.
Ja se on aika vakuuttava, koska minun edellinen algoritmeja, versio
1 ja 2, olin vain tehdцє ongelma yhden sivun pienempi, kaksi sivua pienempцєцє
kerrallaan.
Kun taas nyt, tein sen 500 sivut pienempiцє kaikki kerralla.
>> OK, joten nyt, Karim ehdottaa ettцє menen oikea puoli.
Joten aion mennцє karkeasti keskelle, antaa tai ottaa.
Ja jos en tцєtцє matemaattisesti, Voisin mennцє oikealle keskelle.
Ja nyt, ymmцєrrцєn, OH, Olen T- osiossa.
Olen oikeastaan Б─▀Б─▀mennцє liian pitkцєlle.
>> Mutta voin jцєlleen repiцє ongelma kahtia, heitцє se pois.
Ja minun tavua ei ole niin suuri.
Se on vain, mitцє, 256 sivua tai 250 sivuja, antaa tai ottaa juuri nyt.
Mutta se on vielцє paljon enemmцєn kuin yhden sivun tai kaksi sivua.
>> Ja niin nyt, menen suunnilleen keskelle.
Voi, en mene aivan tarpeeksi pitkцєlle nyt.
Joten toistan, toista, toista, Toista, kunnes olen toivottavasti
jцєцє vain yhdellцє sivulla.
>> Niin ettцє on kysyttцєvцє, jos olen alkoi noin 1000 sivua,
kuinka monta askelta se kestцєцє minua version 1 minun algoritmi?
No, jos Mike on S jakso, pahimmassa tapauksessa,
se on aika lцєhellцє loppuun aakkoset.
Joten jos puhelinluettelo on 1000 sivua, LцІydцєn Mike sisцєllцє 1000 sivua,
ota tai jцєtцє.
Ehkцє se on kuin 800 tai niin, mutta se on melko lцєhellцє 1000.
>> Kun taas toisessa algoritmi, kuinka monta
sivu kцєцєntyy maksimaalisesti ehkцє I vaativat lцІytцєцє Mike Smith?
On 1000 sivua, mutta olen tehdцє niitцє kaksi kerrallaan.
Oikea, joten max kuten 500ish, koska jos menen lцєpi koko puhelinluettelon
jossa pisteessцє, voin lopettaa.
Mutta voin ajella pois muutaman by vain pysцєhtyen T бї.
Mutta se on pahimmassa tapauksessa 500 sivua.
>> Kuinka monta kertaa voin jakaa 1,00o-sivun puhelinluettelon kahtia uudelleen
ja uudelleen ja again-- alkaen 1000 500 ja 250-125?
Kuinka kauan ennen kuin osuin yhdellцє sivulla?
Joo, se on noin 10.
Riippuen pyцІristцєminen ja tцєllainen, se on noin 10 sivua yhteensцє tarvitse kцєцєntцєцє
tai puhelinluetteloita on revitty.
>> Niinpцє se on aika vahva.
Aloitimme 1000-sivuinen ongelma kaikissa kolmessa nцєistцє tarinoista.
Mutta ensin algoritmi, se Kesti, pahimmillaan 1000 sivu
kцєцєntyy lцІytцєцє Mike.
Toinen algoritmi, 500 Ohessa Mike.
Kolmanneksi algoritmi, 10 sivua lцІytцєцє Mike.
Ja se on vielцє enemmцєn tehokas kun ajatellaan
noin erцєцєnlainen vastakkaisen skenaario.
Oletetaan, ettцє puhelin yhtiцІ seuraava Vuoden ehkцє yhdistцєцє kaksi kaupunkia yhdessцє,
ja puhelinluettelosta on yhtцєkkiцє Tцєmцє paksu, tцєmцєn sijaan, ettцє
joten 2000-sivujen sijaan 1000.
No, ensimmцєinen algoritmi etsii Mike Smith on 2000-sivun puhelinluettelosta,
Pahimmassa tapauksessa, se vie kuinka monta sivua kцєцєntyy ensi vuonna?
>> Puhelinluettelo on 2000 sivua, so-- hyvin, ei yksi.
Jos puhelinluettelo on kaksi kertaa niin paksu ensimmцєinen algoritmi, ensimmцєinen algoritmi,
2000, eikцІ?
Pahimmassa tapauksessa, Mike on todella lцєhelle kirjan loppuun,
niin se on 2000 sivun kierrosta.
Toinen algoritmi menossa kaksittain, kuten 1000 sivua.
>> Mutta entцє kolmas ja viimeisin algoritmi?
Jos puhelin yhtiцІ kaksinkertaistaa useita sivuja 1000 2000,
kuinka monta kertaa tarvitse revin ettцє kirja puoli lцІytцєцє Mike?
>> YleisцІ: Vain yksi.
>> DAVID MALAN: Vielцє yksi, koska yhden sivun repiцє,
Voin kirjaimellisesti jakaa ja valloittaa, jos haluatte,
ettцє ongelma puoli tapahtuvassa massiivinen purema irti.
Ja niin tцєmцє on esimerkki tehokkuus ja todennцєkцІisesti algoritmin
jolla kaikki meistцє ovat tavallaan intuitiivisesti tuttuja.
Mutta se on aivan yhtцє oikea minun muita algoritmeja
kanssa nipistцєцє varten toinen algoritmi,
mutta se on niin paljon tehokkaampaa.
>> Ja itse asiassa, mitцє tietokone tiedemies, tai vuorostaan Б─▀Б─▀ohjelmoija,
tyypillisesti tehdцє, kun kirjoitat koodi on yrittцєцє selvittцєцє,
kunnossa, en halua minun ohjelma vain olla oikea,
Haluan myцІs sen olevan tehokas ja ratkaista ongelmia hyvin.
Kuvitella todellisessa maailmassa, kuten Google indeksoi, haut
kuten miljardeja sivuja, kuvittele jos he kцєytetyt ensimmцєinen algoritmi lцІytцєцє kissoille
keskuudessa miljardin pages-- katsomalla ensimmцєisellцє sivulla niiden tietokannassa,
Toisen, kolmannen, vain katsomalla kissa, etsii kissa.
Se on tosi hidas se nцєyttцєisi.
Ne voisivat sen sijaan kцєyttцєцє jotakin nimeltцєцєn Binцєцєrihaku, joka
ei coincidence-- bi eli kaksi, me pitцєцє jakamalla jotain 2, vuonna half--
he voisivat kцєyttцєцє binцєцєrihaku ja ehkцє lцІytцєцє kissat jopa nopeammin,
tai mikцє se on etsit.
>> Ja rehellisesti, on olemassa jopa harrastaja algoritmit
ettцє tehdцє paljon enemmцєn kuin vain jakamalla asioita kahtia
jotta lцІytцєцє tietoa nopeasti.
Ja me puhumme hieman niistцє lounaan jцєlkeen tцєnцєцєn.
Joten haluan vain yrittцєцє edustamaan tцєtцє.
Meidцєn ei tarvitse mennцє mitцєцєn matemaattisia tai todelliset luvut.
Voimme puhua tцєstцє abstraktisti.
>> Mutta haluan vain ehdottaa, jos oli ottaa keskustelun nyt
insinцІцІrien ehdottaa tцєmцє algoritmi
ja yritцєt tehdцє laskettu pцєцєtцІs,
koska ehkцє insinцІцІri sanoo sinulle,
tietцєvцєt, mitцє voin toteuttaa lineaarinen toimialalla kuin kaksi minuuttia.
Se on niin helppoa.
Binary haku ei ole kovin hieno, mutta se vie minua kuin 10 minuuttia,
jotta 5 kertaa niin kauan.
>> Siellцє on kauppa tцєцєllцє, jopa suhteen pцєцєttцєцє mitцє ohjelmia kirjoittaa.
Kirjoitatko yksinkertaisempi algoritmi, joka vain vie kaksi minuuttia?
Vai viettцєцє enemmцєn aikaa, 10 minuuttia, kirjallisesti harrastaja algoritmi?
Miten pцєцєttцєцє, ettцє tцєllainen kysymys?
Tai voit tehdцє siitцє hieman enemmцєn todellisia.
Kerron pomo se tulee viemцєцєn me joko viikon tai 10 viikkoa
toteuttamiseksi ohjelmisto tцєllцє tavalla, miten
pцєцєtцєtte, mikцє algoritmi vihreцєцє valoa?
Karim?
>> YleisцІ: YleisцІ, luulisin.
>> DAVID MALAN: YleisцІ.
Mitцє tarkoitat yleisцІ?
>> YleisцІ: Jos se menee voidaan kцєyttцєцє kцєyttцєjien
joka [tahtiimme] kцєyttцєjцєn [tahtiimme].
Mutta jos se on jotain olet juuri tekemцєssцє itse
helpottaa ongelmaa, [Tahtiimme] nopeammin.
DAVID MALAN: Joo, se on nopea ja likainen on hyvцє tapa kuvata sitцє.
Itse asiassa, jos olet kuvaavat paljon aikaani
grad koulussa, jolloin usein kertaa, Kirjoitin huono koodi tietoisesti so--
ainakin siltцє minusta rationalisoida it-- tietoisesti niin,
sillцє vaikka olin kirjoittamassa koodia joka oli suhteellisen hidas toteuttaa,
Pystyin kirjoittaa koodia itse melko nopeasti, menot vain muutaman minuutin
tai tuntia ei pцєiviцє.
Ja kцєvi ilmi, I joskus tarvitaan nukkumaan.
Joten vaikka minun koodi vaaditaan 8 tuntia ajaa, hyvin se sopii,
Minцє vain mennцє nukkumaan, kun se kulkee.
>> Joten tuolloin, ajattelin, ettцє tцєmцє oli erittцєin taitava, vaikka en ilmeisesti
kцєyneet lцєpi minun PhD hyvin hitaasti.
Mutta kцєцєnteinen joka on ettцє, jos olisin kirjoitusohjelmien
muille ihmisille, jotka mattered enemmцєn kuin minua, hyvin,
ottaa ne odota 8 tuntia saada takaisin niiden hakutulokset
ei ole kovin vakuuttava.
Ja niin enemmцєn aikaa edessцє kirjoittaa ohjelmistoja
joka on tehokkaampi, kuten meidцєn kolmas algoritmia,
luultavasti hyцІdyttцєцє kцєyttцєjцєt ajan.
Joten se riippuu oikeastaan Б─▀Б─▀yli aika, kuinka nцєmцє kustannukset tцєsmцєцє.
Jos aiot olla kirjallisesti ohjelmisto kцєyttцєцє sitцє kerran,
luultavasti voisi yhtцє hyvin tehdцє nopea ja likainen, kuten he sanovat.
Vain heittцєцє se yhdessцє.
On koodi, joka embarrasses te, se on niin huono,
mutta se saa tyцІtцє tehdцє oikein, vaikka se ei ole tehokasta.
Toisaalta, viettцєцє enemmцєn aikaa jotain, saada se juuri oikea.
Sitten poistetaan ajan, ettцє etukцєteen kustannukset aikaa
lienee hyцІdyllistцє, jos pitцєцє optimoimalla yhteisen asian.
>> Ja todellakin, se on teema ohjelmointi, tai tietojenkцєsittelytiede enemmцєn
yleisesti, pyrkivцєt optimoimaan ei harvinaista tapaus
mutta yhteinen case-- mitцє toimintaa tulee tapahtumaan uudestaan Б─▀Б─▀ja uudestaan?
Jos aiot olla miljardeja Kцєyttцєjien hakuja sivuston,
sinun pitцєisi luultavasti kцєyttцєцє ylimцєцєrцєistцє viikkoa etukцєteen kirjallisesti parempia ohjelmistoja,
niin ettцє kaikki kцєyttцєjцєt hyцІtyvцєt.
Nyt yritetцєцєn kaapata tцєtцє pikku kuvallisesti, mutta ei niin paljon
numeerisesti.
>> Joten tцєssцє on vain vanha koulu kaavio.
Ja haluan sanoa, ettцє tцєmцє on aika.
Ja sillцє ei ole vцєliцє what-- oikeastaan Б─▀Б─▀mitцєцєn, ei aikaa.
Laitetaan ettцє toisella akselilla.
Sanotaan, ettцє tцєmцє on aika, ja tцєmцє on koko ongelman.
>> Ja tietojenkцєsittelytieteessцє voisi yleensцє soittaa
tцєmцє vain n. n on kuin Go-to-muuttuja, jossa
n on luku, n numero, ja se on mцєцєrцє mitцє panoksia olet.
Joten tцєssцє tapauksessa, n on sivumцєцєrцє.
Niin se voisi olla 1,000 tapauksessa me vain kertoi.
>> Joten aika voi olla mikцє tahansa mittayksikkцІ.
Ehkцє, se on toinen.
Ehkцє se on pцєivцєцє.
Ehkцє, se on kuin sivu kierrosta.
Ei ole vцєliцє.
Mitцє haluat lasketa, ettцє on aikaa tai maksaa vastaavasti.
>> Niin, ettцє ensimmцєinen algoritmi, jos minцє esimerkiksi
oli 1000-sivun puhelinluettelosta, Aion piirtцєцє piste siellцє,
koska jos se on 1000 sivua, kesti noin 1000 sivua muuttuu, antaa tai ottaa.
Ja sitten jos olisin 2000-sivun puhelinluettelosta,
ja aion tehdцє toisen piste tцєцєllцє, koska 2000 sivua,
se on kuin 2,000 sekuntia tai sivun muuttuu tai mitцє tahansa.
Ja niin kun sanoin aiemmin, se on Tцєllainen lineaarinen suhde,
joka oli tahallinen, koska halusin myцІhemmin on-- oikeus now-- vetцєцє raja.
Se on tavallaan suoran linja suhdetta.
Kaltevuus on 1/1, jos haluatte.
>> Samaan aikaan, toinen algoritmi sanoi, jos sinulla 1000 sivua
ja kцєytit toista algoritmia, missцє Laskin 2: n, kцєцєntцєmцєllцє
kaksi sivua kerrallaan, minun pitцєisi tehdцє piste alle tai yli minun alkuperцєinen piste?
>> YleisцІ: Alle.
>> DAVID MALAN: Alla, koska kuten nцєimme, se vie vцєhemmцєn aikaa, puolet vцєhemmцєn aikaa.
Joten piste on puolet yhtцє suuri kuin toinen.
Ja sama juttu tцєцєllцє, tцєmцє piste pitцєisi varmaan olla suunnilleen siellцє.
Ja niin toinen algoritmi, vastaavasti on lineaarinen suhde aikaan.
Ja voimme tehdцє sitцє sellaisenaan.
>> Joten nyt, kolmas ja viimeinen algoritmi on hieman vaikeampi piirtцєцє.
Mutta intuitiivisesti, jos minulla 1000 sivut kolmas algoritmi,
se kestцєцє vain minua kuin 10 askelta.
Ja jos minulla 2000 sivua minun kolmas algoritmi,
sen olisi otettava minua ei 10 vaiheet, mutta 11, vain yksi.
Olemme siis vain hцєdin tuskin nцєkemцєцєn tцєmцєn.
>> Ja se kцєцєntyy pois, jos Olen zoomata tцєssцє, olen
menossa liioitella tehostesovelluksiin, muoto, joka linja, lopulta,
ei ole suora line-- koska todellakin jos se olisi,
se nцєyttцєцє enemmцєn others-- se on todella kaareva viiva
ettцє jos me zoomata, on menossa nцєyttцєцє paljon enemmцєn kuin tцєmцє.
It-- hyvin, OK, sivuuttaa tцєtцє osaa.
Se oli minun kynцє menee kulma.
Se on kaareva linja, joka on aina kasvaa, aina, aina, aina
kasvaa, mutta vain juuri ja juuri.
>> Ja niin ajan mittaan, olet suhde, joka on enemmцєn kuin tцєmцє.
Se melkein nцєyttцєцє suoraan.
Mutta se on aina niin hitaasti kasvaa.
Mutta lцєhes kaikissa kohdissa sinun x-akselin, vaaka-akselilla,
se on pienempi kuin muilla radoilla.
>> Joten tцєmцє voisi olla suhde n, jolloin jos olet n sivuja,
vie n sekuntia.
Tцєmцє saattaa olla suhde n / 2.
Sinulla on n sivuja, se kestцєцє te n / 2 sekuntia, puolet siitцє.
Ja tцєmцє on logaritminen suhdetta, joka
Jos muistatte, log pohja 2 n kaappaa tцєllainen kasvu, niin sanotusti.
Joten tцєmцє on erцєцєnlainen pyhцє malja joukossa kolme nцєistцє
tцєцєllцє, koska se on vain niin paljon enemmцєn tehokas, mutta luultavasti monimutkaisempi
toteuttaa.
Kysymyksiцє?
>> No anna minun tehdцє tцєmцєn, anna minulle avata teksti-ikkunaan
vain niin voimme yrittцєцє virallistaa jotain.
Joten anna minun mennцє eteenpцєin nyt ja toteuttaa tцєmцєn algoritmin
lцІytцєцє Mike Smith koodina, jos haluatte, pseudokoodit koodia.
En aio kцєyttцєцє Java tai C ++.
Olen juuri menossa kцєyttцєцє sellaista Englanti-syntaksi, jota
olisi yleensцє soittaa pseudokoodit koodia.
Tцєцєllцє, olen tyhjцє ikkuna.
Ja sanon vaiheessa 1 hyvin Ensimmцєinen algoritmi on poimia puhelinluettelosta.
Vaihe 2 on avoin kirja ensimmцєisen sivun.
Vaihe 3 on tarkastella sivun Mike Smith.
Jos sivulla, soita Mike.
muuten puolestaan Б─▀Б─▀sivulle ja siirry vaiheeseen 3.
Tehty, sanokaamme.
>> Ja niin se ei ole aivan tцєydellinen, joka nцєemme hetken.
Mutta Tarkastellaan mitцє kцєsitteet Olen esitteli tцєцєllцє.
Joten vaiheet 1 ja 2 ja 3 ovat melko verbejцє.
He lausunnot, actions-- tцєhцєn.
Ja niin on ohjelmointi kieli, olisimme yleensцє
soittaa heille lausuntoja tai toiminnoista,
soittaa heille tahansa mцєцєrцє asioita.
Mutta he vain actions-- tцєhцєn.
>> Vaihe 4 on tцєysin erilainen, koska se on tavallaan kysyy kysymyksen.
Se sanoo, ettцє olemme laji of klo tienhaaraan.
Jos Mike on sivulla, soita hцєntцє, niin kцєцєnny vasemmalle, jos haluatte.
Ja jos ei, mene takaisin joitakin muut page-- tai pikemminkin, anteeksi,
palata joitakin muita vaiheen, joka indusoi jonkinlainen silmukkarakenteen.
Ja me teemme sen uudestaan Б─▀Б─▀ja uudestaan Б─▀Б─▀ja uudestaan.
>> Ja itse asiassa, tiedцєtkцІ mitцє?
Joo.
if lopussa kirjan lopettaa.
Joten tarvitsemme sellaista kolmatta kunnossa, koska te
voi pitцєцє kцєцєntцєцє sivun mainos nauseum, koska lopulta, minцє
osuma kirjan loppuun.
Ja vian ohjelma voisi olla ei ennakoida, ettцє skenaario.
Ja sitten minцє vain ymmцєrtцєnyt, OH, odota minuutti, tarvitsen Kolmannessa skenaariossa.
Jos olen pois sivuja, I pitцєisi oikeastaan Б─▀Б─▀vain lopettaa.
Muuten se on mцєцєrittelemцєtцІn.
Mitцє tulee tapahtumaan, jos en pidцє sanomalla kцєцєntцєцє sivua ja palata,
tцєmцє on kun tietokoneet jцєцєdyttцєцє tai kaatuu, kun osut
ennakoimattomista kaltaisessa tilanteessa.
>> Nyt entцє Mike Smith kolmas algorithm--
poimia puhelinluettelosta, avoin kirja first-- kohteeseen
no, ei ensimmцєisellцє sivulla tцєllцє kertaa, ja middle-- oh, hyvin, ettцє had
on toinen algoritmi.
Toivotaan vain siirtyцє kolmanteen.
>> YleisцІ: Oi, olen pahoillani.
>> DAVID MALAN: Se on hyvцє.
Toivotaan vain siirtyцє third-- auki keski ja nyt etsiцє Mike Smith.
jos sivulla, soita Mike.
Ja sitten mitцє haluamme sanoa tцєцєllцє?
muuten mitцє?
Voimme ilmaista tцєtцє in monin tavoin.
Ei ole oikea vastaus.
OK, jos ei taas, mutta meidцєn on be-- OK, emme halua jakaa kahteen,
mutta haluamme mennцє vasemmalle tai mennцє oikealle?
Miten ilmaista, ettцє kцєsite?
No, Mike tapauksessa, kyllцє, se on reilua.
Mutta OK, niin ettцє on itse asiassa hyvцє piste.
Se on hyvцє.
Pidцєmme menossa tцєmцєn logiikan.
Niin--
>> YleisцІ: Alle puolet.
DAVID MALAN: Joo.
Joten if sivu on, me sanomme, vцєhemmцєn kuin Smith, vasemmalla puolella Smith,
then-- katsotaanpas, on tцєmцє menossa mutkistaa?
if sivu tulee ennen Smith, repiцє kahtia, heittцєцє pois josta puolet?
>> YleisцІ: Luulin joka oli [tahtiimme].
>> DAVID MALAN: Kuulen molempia vastauksia.
>> YleisцІ: Vasen.
DAVID MALAN: OK, heittцєцє pois vasen puoli, kuten Lakisa
sanoi aiemmin, vasen puoli, niin olen sellainen
haluavat vain mennцє to-- menen oikealle.
Tai vastaavasti, ja tein pienen hieman sekaisin alussa tцєцєllцє,
En tehokkaasti halua siirry vaiheeseen 2 uudelleen,
jossa avoin middle-- tai open-- joo, sanotaan vaikka, sivut keskelle.
Ja tцєmцє korjaa sen.
Se ei ole enцєцє varaa.
Se on vain puolet kirjan, joten avoimet sivut keski.
>> else-- olivat melkein siellцє.
Vaihe 6, muuta, jos sivu tulee sen jцєlkeen Smith, repiцє kahtia, heittцєцє pois oikea puoli,
siirry vaiheeseen 2.
muuten lopettaa neljцєs skenaario, jos meillцє ei ole sivuja jцєljellцє kцєцєntyцє.
Jotta voisimme puhdistaa tцєmцєn ylцІs.
Ja meidцєn tulisi puhdistaa tцєtцє ylцІspцєin.
Tцєmцє on hyvin pseudokoodi koodia, jos tulee, erittцєin korkean tason kuvaus.
Mutta se ei yleensцє vangita idea.
>> Ja taas tцєssцє skenaariossa on kцєsite ehdon,
sivuliikkeen, joka on tienhaaraan, mikцє decision-- jos tцєmцє, mennцє tцєllцє tavalla,
if, mennцє tцєllцє tavalla, if, mene nцєin.
Ja tцєmцє on hyvin yleinen ohjelmointitekniikkaan
pцєцєttцєцє, mihin suuntaan mennцє, niin sanotusti.
Ja meillцє on myцІs jonkinlainen silmukoiden rakenne, jossa
olemme tekemцєssцє jotain uudestaan Б─▀Б─▀ja uudestaan.
>> Nyt on kцєynyt ilmi, paljon kuten tцєssцє esimerkissцє,
ettцє Super tarkka on tцєrkeцєцє.
Mutta olemme myцІs nцєhneet jotain ettцє pidцєmme soittamalla abstraktio.
Mitцє se tarkoittaa poimia puhelinluettelosta?
Olemme juuri sellainen ottaen itsestцєцєnselvyytenцє tцєssцє huoneessa
ettцє on joitakin semanttinen merkitys.
Kaikki meistцє juuri sellainen tietцєvцєt, OH, hyvin, poimia puhelinluettelosta.
Mitцє se oikeastaan Б─▀Б─▀tarkoittaa?
No, se todella tarkoittaa ulottuvat kцєsi, kumarru, laajentaa sormia,
purista kirja sormien vцєliin, seisomaan, vedцє kцєsi pцєin.
Ja voisimme olla todella pikkutarkka tцєstцє,
todella on Super tarkka siitцє, mitцє olen tekemцєssцє.
Mutta kaikki nцєmцє vaiheet yhdessцє ovat mitцє tarkoittaa poimia puhelinluettelosta.
>> Ja niin aikaisemmin, kun sanoin, kukin Nцєiden kahden ensimmцєisen lausunnot
voidaan ajatella edetцє tai toiminto,
oikeastaan Б─▀Б─▀se edustaa mitцє me jatkaa katsomista abstraktio.
Se on kuin korkean tason kцєsitteellinen kuvaus ongelma, ettцє
oikeastaan Б─▀Б─▀tarkoittaa aivan muutaman askeleen.
Ja niin tцєmцєkin on toistuva aihe ohjelmointi,
jolloin voisin kirjoittaa ohjelma kцєyttцєmцєllцє syntaksin tцєmцєn kaltaisia Б─▀Б─▀osia
pick_up_phone_book ().
Ja sitten syntaktisesti, olen menossa varastaa jotain
useimmista ohjelmointikieliцє.
>> Nyt vaihe 1 nцєyttцєцє vielцєkin enemmцєn kuin funktio,
ohjelmoijana kutsuisin sitцє.
Nцєyttцєцє siltцє koodin ettцє joku on antanut nimensцє ja tietyn
minulle kцєyttцєmцєцєn somehow-- muissa Eli mitцє linjaa olen korostanut
edustaa toimintoja, jotka ehkцє En edes toteuttaa itseцєni.
Joku vanhempi, viisaampi minut jo selville
miten ilmaista kцєsite poimien puhelinluettelosta.
Ja se on kuin viisi vaihetta Sain kolahti, pцєцєltцє pцєцєni.
>> Mutta hцєn on jo toteutettu Tцєmцєn, antoi ne useita vaiheita
nimi, pick_up_phone_book.
Ja suluissa on juuri mitцє useimmat ohjelmoijat
do lopussa lausuntoja, kuten tцєmцєn.
Olen nyt voi seisoa hцєnen olkapцєцєt ja koskaan enцєцє,
miettiцє, mitцє se tarkoittaa poimia puhelinluettelosta.
Voin vain sanoa, poimia puhelinluettelosta.
Ja juuri nцєin me kaikki ihmiset tekivцєt tцєцєllцє.
>> Kun olimme luultavasti 1 vuotias, 2 vuotta vanha,
jonkun tцєytyi opettaa meille, mitцє se tarkoitus poimia puhelinluettelosta.
Ja siitцє lцєhtien, olemme hajamielinen pois
sellaisilta mielenkiinnoton mekaaninen vaihe.
Ja me vain on intuitiivinen kцєsitys
mitцє se merkitsee poimia puhelinluettelosta.
>> Ja voit ekstrapoloida nyt monimutkaisempi things--
rakentaa rakennus.
Like, joillekin ihmisille, joka todella on merkitystцє.
Urakoitsijoille, arkkitehdeille, ettцє on jokin merkitys.
Ja he tietцєvцєt, mitцє tehdцє, jos Sanoin, mene rakentaa rakennus.
>> Mutta useimmat meistцє huoneessa voinut kцєsitellцє tцєmцєn tason abstraktio.
Sinun tцєytyy kertoa meille pidцє mennцє pцєцєstцє lapion ja mene saada konkreettisia
ja kynsien puunpalasia yhteen ja mitцє muuta
on mukana rakentamassa rakennuksessa.
Ja se on, koska meillцє ei ole vielцє ohjelmoitu ymmцєrtцєцє
mitцє se tarkoittaa rakentaa rakennukseen.
Meillцє ei ole, ettцє abstraktio.
Meillцє ei ole vastaavia toimintoja.
>> Ja niin mitцє nцєet in ohjelmointikielet, yleensцє,
varsinkin enemmцєn nykykieliin, kuten Java, PHP, Ruby ja Python,
ne ovat paljon kypsempi kuin vanhemmat kieliцє,
kuten C ja C ++ ja vielцє toiset.
Ja niin he tulevat enemmцєn toiminnallisuus rakennettu.
Lisцєцє koodi on kirjoitettu ihmiset menneisyydessцє
ettцє voimme nyt soittaa tai kutsua tai kцєyttцєцє, koska olen vihjaa
klo tцєmцєn korostettu viiva tцєцєllцє.
Ja joten vaikka emme puhu noin ohjelmointikielet sinцєnsцє,
vain pseudokoodi koodi, kaikki ideat ovat vielцє tцєssцє keskustelussa.
Ja se osoittautuu tarkkuus on Super tцєrkeцєцє, koska on abstraktio.
Ja koetamme vцєlitettцєvцє seuraavasti.
>> Olen vahingossa saattanut pilaantunut tцєmцє vilkuttamalla dia ruudulla
ennenaikaisesti.
Mutta haluaisin pyytцєцє rohkea vapaaehtoinen, jos et mielessцє tulossa.
Olisit edessцє kamera, jos olet OK kanssa.
Haluaisiko kukaan keksiцє ja antaa ohjeet tyцІtovereiden tцєцєllцє?
Tцєytyy vain tulla tцєnne ja seisoa tцєцєllцє ja sanoa joitakin sanoja.
>> Victoria hymyilee eniten ja vцєlttцєцє silmцєni eniten.
Olisitko valmis tulemaan ylцІs?
OK.
Ja jos kaikki muutkin omalla paikkaa voisi ottaa pala jцєtepaperille,
jos haluat.
Vuorattu paperilla on hieno.
Tullut noin tцєllцє tavalla.
Tai jotkut paperin sait eilen,
mitцє tahansa Arkkiaihioon paperia, jos voisi.
Ja jos sinulla ei ole mitцєцєn, vain kysy naapuri, jos voisi.
>> Joten tцєllцє hetkellцє, sillцє Tцєssцє esimerkissцє Victoria
aikoo nцєytellцє ohjelmoija, insinцІцІri, joka
tarvitsee ohjelmoida teille kaikille, niin tietokoneet, tehdцє jotain.
Ja katsotaan mitцє oletuksia pцєцєtцєt tehdцє.
Nцєemme kuinka tarkka hцєn haluaa olla.
Ja jos tцєmцє esittelyn menee pedagogisesti hyvin, paljon virheitцє
tehdцєцєn, ettцє me sitten ettцє mahdollisuutena keskustella.
Mutta haaste sinun pitцєisi on vцєlttцєцє nцєmцє virheet,
olla hyvцє ohjelmoija.
Ja niin haasteen kцєsillцє, jos olisit halunnut kцєvellцє tцєnne,
on edessцє Victoria ruudulla here-- ja toivottavasti kukaan teistцє
muistaa tцєmцє, kun minцє vцєlцєhti ruudulla.
Ja цєlцє kцєцєnny ympцєri ollenkaan, koska on toinen nцєyttцІ tцєssцє huoneessa
ettцє voin sammuttaa.
Joten цєlцє kцєцєnny ympцєri.
>> Edessцє Victoria on, ettцє sama huuto.
Ja tyцІnsцє on nyt kertoa teille kaikille oman paperille mitцє tehdцє.
Ja nцєemme, perustuvat suullisia ohjeita yksin,
tietokonekoodeja, jos haluatte, kuinka tarkka piirustukset
are-- oman toteutukset ovat.
Kцєydцє jцєrkeen?
>> YleisцІ: Kyllцє.
DAVID MALAN: OK, suorita.
>> YleisцІ: Piirrцє neliцІ.
>> [NAURU]
>> DAVID MALAN: Eikцє kysymykset voidaan pyytцєцє.
Voi vain tee mitцє kцєsketцєцєn.
Niin, ja jos olet pцєivцєn dioja avata vцєlilehti, цєlцє katso vцєlilehden.
OK?
>> YleisцІ: OK, piirtцєцє ympyrцєn.
Slope-- voin sanoa kaltevuus?
DAVID MALAN: Jopa sinulle.
YleisцІ: rinteessцє.
Ja kolmio.
>> DAVID MALAN: Selvцє.
Ja tцєцєllцє vain hetken.
Ja aion tulla noin vain hetken.
Ja ei tarvitse laittaa nimiцє sitцє.
Voinen ympцєri ja kerцєtцє piirustukset,
jos et mielessцє revittiin niitцє.
>> Tцєssцє on mitцє saimme takaisin.
Minцє heijastaa sen ruudulla.
Nцєen neliцІ, ympyrцє, rinteessцє, ja kolmio.
Tцєmцє oli yksi vastaus siellцє.
Ja let's-- oho.
Kiitos.
Tцєssцє toinen lajitelma, ja yksi takana.
>> Joten ne kaikki nцєyttцєvцєt kaapata henkeцє.
Kiitos.
On toinenkin, ja tцєssцє on toinen.
Kulmakerroin tulkinta on hieman erilainen, vцєhцєn kurvikas.
Ja lцєhin, joko siksi, ettцє ihana spesifisyys jolla olet
kuvattu, tai ehkцє sellaista Nцєin sen ennen, tцєmцє on todellakin
mitцє Victoria oli todella kuvataan.
>> Mutta nyt, ne teistцє, jotka ei saanut sitцє aivan oikein,
nyt tarjota joitakin vastavцєitteitцє tцєцєllцє.
Joten Victoria sanoi ensin piirtцєцє neliцІn.
Nyt voimme olettaa vuoksi tцєnцєцєn
ettцє kaikki tietцєvцєt miten tehdцє neliцІn.
Mutta se ei ole tцєysin selvцє, eikцІ?
Miten muuten voisi olet piirretцєцєn neliцІn tai jos
saattaa olla joitakin epцєselvyyksiцє tцєцєllцє tietokone?
YleisцІ: sijainti ja koko.
DAVID MALAN: Location, eikцІ?
Te kaikki oli paperilla noin muodon, yleensцє suorakulmiot, mutta hieman
eri kokoja.
Mutta te varmasti olisivat voineet saada aikaan, jos halusi, valtava neliцІ, ehkцє
pieni neliцІ.
Ehkцє se on kцєцєnnetty.
En usko nцєimme.
Mutta se olisi voinut olla timantti kuten mutta silti kuitenkin,
Matemaattisesti neliцІ.
Joten se oli luultavasti epцєselvцє.
>> Sitten hцєn sanoi, piirtцєцє ympyrцєn.
Jotkut teistцє ei piirtцєцє vieressцє se, joka ei ole kohtuuton,
koska ihmiset tapana ajatella tai lukea oikealta vasemmalle useimmilla kielillцє, joten ei
huono arvaus.
Mutta se ympyrцє voi olla ollut sisцєllцє neliцІ,
olisi ollut noin neliцІ, olisi voinut olla muuallakin
arkin, niin luultavasti epцєselvцє.
>> Slope olisi ollut ehkцє ottaen eniten vapauksia suullisesti
mitцє se tarkoittaa.
Ja jotkut teistцє tulkitaan se vцєцєristynyt linja
tai suora tai vastaavaa.
Ja sitten kolmio myцІs voisi olla on suunnattu monin tavoin.
Joten lyhyt, vaikka jotain, joka te silmцєyksellцє ja olet kuten, wow, niin
yksinkertainen, lapsi voisi vetцєцє tцєtцє, hyvin ei
todella, ellet super, super vakuuttava
ja kertoa tietokone tarkalleen, mitцє tehdцє.
Joten jos voisimme, jos olet toinen paperiarkki, katsotaanpa
kokeile tцєtцє vielцє kerran.
Ja minцє aion antaa Victoria yhteen Toinen esimerkki ruudulla tцєцєllцє.
Ja vielцє, цєlцє kцєцєnny ympцєri ja цєlцє katso diojen.
Ja minцє annan hцєnelle hetken miettiцє, miten kuvata tцєtцє.
ц└lцє anna heidцєn nцєhdцє pelko silmiin.
>> [NAURU]
>> Ja jцєlleen, tцєllцє kertaa vipuvaikutus joitakin nцєistцє takeaways
ja yrittцєцє saada lцєhes kaikille ainakin oikea vastaus.
>> YleisцІ: OK, ota paperille, katso
keskellцє ettцє paperinpala.
Keskellцє ettцє pala paperia, piirtцєцє kuutio.
>> [NAURU]
DAVID MALAN: Mitцє olemme oppineet?
Olimme niin lцєhellцє.
OK, toista jos voisit, kaikille.
>> YleisцІ: Keskellцє on paperille, piirtцєцє objekti,
joka nцєyttцєцє kuutio.
>> DAVID MALAN: OK, se kaikki saat toimimaan.
Saanen olla analyyttinen ja ei niin paljon kriittinen,
vaan tehdцє vцєite ettцє Victoria varmasti
tuntuu ajatella hyvin korkean tason abstraktioita, jotka
ei ole kohtuuton.
Koska muuten olisimme kaikki melko huonosti,
jos meillцє olisi oltava aina niin tarkka kaiken teemme maailmassa.
>> Mutta sanonta mene middle-- I ajatellut olimme niin hyvцє rata
siellцє, kuten mene hyvin keskelle sivun, ja sitten piirtцєцє kuutio.
Niinpцє hцєn ajattelua vedenotto koska hцєn on edelleen katseluun
mitцє ruudulla todellakin kuutio.
Mutta on niin paljon mahdollisuuksia tulkintaa siellцє.
Ja itse asiassa, on niin paljon muita tapoja voisitte ilmaista
ettцє mikцє minцє ehdottaa hetken.
Joten tцєssцє meillцє on yksi inkarnaatio ja picture-- whoops-- yksi
inkarnaatio kuvan, joten pikku kolmiulotteisuutta sitцє,
mikцє on mukavaa.
>> Tцєssцє toinen, missцє on Sama, vaikka se on erцєцєnlainen avoimen kuution.
Jotkut ihmiset ottivat sitцє hieman tasaisempi, kaksiulotteinen.
Ja se kцєy hyvin.
Joten siellцє, todellakin paperin keskelle.
Tцєmцє yksi Luulen kuten, sillцє jos menemme tцєцєllцє,
tцєmцє on mitцє hцєn kuvaili.
Joten nyt, haluan ehdottaa miten muuten voisimme kuvata tцєtцє tilannetta.
>> Takaisin pцєivцє, yksi yleisempiцє tapoja oppia ohjelmoinnin
oli kirjoittaa koodia, kirjoittaa riviцє ohjeet,
ettцє ohjattu hieman kilpikonna ruudulla.
Logo ja muut muunnelmia tцєstцє oli kielen nimi.
Ja kilpikonna eli maailmassa.
>> Joten kai tцєmцє suorakulmainen tila on hцєnen maailman.
Ja te aloittaa assuming-- I eivцєt todellakaan tiedцє miten tehdцє kilpikonna,
niin tehdцєцєn se nцєin.
Sitten hцєn sai kuori ja sitten ehkцє joitakin jalkaa.
Joten saatat olla tцєssцє vцєhцєn hahmo ruudulla.
>> Ja kohde tцєmцєn ohjelmointikieli
oli pakottaa kilpikonna mennцє ylцІs, alas, vasemmalle, oikealle
ja laittaa kynцєn tai poimia hцєnen kynцєцє ylцІs,
jotta hцєn voisi itse piirtцєцє nцєytцІlle tцєssцє erittцєin tasainen suorakulmainen maailmassa.
Joten missцє Luulin, ettцє saatat olla menossa, ja missцє kannattaa harkita sukellus
alas henkisesti, kun kuvataan ohjeet yleisemmin
Vцєittцєisin, on laittaa kynцє alas middle--
ja me pцєцєstцє eroon kilpikonna, koska en voi oikeastaan
vetцєvцєt hцєnet hyvin.
>> Ja nyt, miten muuten voisi Sanon piirtцєцє kuutio?
No, voimme sanoa jotain piirtцєцє poikkiviiva koilliseen, esimerkiksi
tai 45 asteen kulmassa ylцІspцєin.
Ja ehkцє saanut minut tцєnne.
Ja olen melko kaukana kuutio.
Mutta nyt, voisin sanoa jotain kuten kцєцєntyцє 90 astetta vasemmalle
ja piirtцєцє linja samanpituiset luoteeseen.
Ja voisin jatkaa kanssa samansuuntaisia.
Ja se ei tule olemaan helppoa.
Ja rehellisesti, emme todennцєkцІisesti olisi ovat olleet tцєцєllцє viisi minuuttia.
Mutta ehkцє olisimme mennyt jotain, ettцє lopussa pцєivцє,
pцєцєtyy kuutiossa, mutta me sukelsi sisцєllцє ettцє vedenotto
tehdцє se niin alhaiselle tasolle, et voi oikeastaan
mitцє teet, kunnes koko asia on todella olemassa sivulla.
Ja niin tцєmцє on yleinen periaate, jцєlleen, ja programming-- tцєmцє ajatus
abstraktio.
Se on niin ihanan voimakas, koska uudelleen,
hцєn vain sanoi, piirtцєцє kuutio, jonka kaikki meitцє aika paljon olisi grok hyvin nopeasti.
Haluamme vain ymmцєrtцєцє, OK, piirtцєцє kuutio.
Emme ehkцє tiedцє suuntaa, jotta voisimme olla hieman tarkempi,
mutta voimme yleensцє kuvan tai tiedцє, mitцє kuutio on.
Ja se on hyцІdyllinen, koska jos aina
istui kuin ohjelmoija nцєppцєimistцІn kirjoittaa koodia,
jos oli ajateltava niin alhainen, kukaan meistцє
ei koskaan saada mitцєцєn aikaiseksi.
Ja varmasti, kukaan meistцє olisi nauttia prosessista kirjallisesti koodin.
Se olisi sama kuin kirjallisesti 0: n ja 1: n, joka suoraan sanottuna ei ole kovin kauan sitten
ihmiset olivat kirjallisesti koodi 0: n ja 1: n.
Ja me nopeasti keksi nцєmцє korkeamman tason languages--
C ++ ja Java ja muut.
>> Joten kokeile vielцє kerran vain kцєцєnnцє taulukot, jotta me kaikki
on mahdollisuus ajatella melko samalla tavalla.
Voisimmeko saada yhden vapaaehtoinen tцєstцє aika keksiцє hallitukselle ja piirtцєцє,
ei lausu?
Joo, OK.
Ben, tule ylцІs.
Ja Ben, tцєssцє tapauksessa, kun kohtaavat aluksella, цєlцє katsoa vasemmalle,
eivцєt nцєytцє oikealta.
Vain tehdцє mitцє kollegojen kertoa.
Ja kaikki muutkin huone, nyt on ohjelmoija.
Hцєn on tietokone.
Ja kuva olen valinnut tцєцєllцє etukцєteen on tцєmцє yksi tцєцєllцє.
He just-- he ajattelevat hauska vitsi on kaikki.
>> Joten se ei joku halua vapaaehtoinen ensimmцєinen ohje
tai ilmoitus, ettцє pitцєisi komento Ben kynцє?
Ja me teemme tцєtцє yhdessцє, ehkцє yksi ohjeita jokaiselle henkilцІlle.
Olen pahoillani?
>> YleisцІ: Piirrцє ympyrцє.
DAVID MALAN: Piirrцє ympyrцє on ensimmцєinen asia, josta olen kuullut.
>> YleisцІ: ylцІs.
>> DAVID MALAN: ylцІs.
OK, voimme voit poistaa, kumota.
Ja nyt, joku muu.
Dan, olisitteko mukava tarjoten seuraavaan kцєskyyn?
>> YleisцІ: Toki, piirtцєцє keskellцє pohjan ympyrцєn,
joiden small-- hieman pienessцє tilassa siitцє,
piirtцєцє suoran viivan alas kolme neljцєsosaa alas linjan
pienessцє kulmassa vasemmalla.
>> DAVID MALAN: Hyvцє.
>> YleisцІ: Lievцє kulma.
>> DAVID MALAN: Kumoa Ctrl-Z. OK.
Andrew, haluat tarjota up seuraavaan kцєskyyn?
>> YleisцІ: Toki.
Pohjasta ettцє linja, edelleen hieman angle--
whoops-- ehkцє noin kolmannes pituudesta [tahtiimme],
pienessцє kulmassa alaspцєin ja kuten kolmannen pituudesta [tahtiimme].
Niin joo, tuosta kohdasta, piirtцєцє viivan kolmannen
pituudesta edellisen rivi edelleen vasemmalle.
>> DAVID MALAN: Ettцє OK?
Suora viiva, se on OK?
OK, Olivier, haluat uhrata seuraavaksi?
>> YleisцІ: [tahtiimme] alkaen pohjaan ympyrцє, [tahtiimme].
Piirrцє oikealla puolella ja [tahtiimme] senttimetriцє.
>> [NAURU]
>> DAVID MALAN: Luulen aiot tцєytyy muuntaa se tuumaa tцєцєllцє.
>> YleisцІ: Lopeta.
>> [NAURU]
>> DAVID MALAN: OK.
[? Ara,?] Haluat uhrata seuraavaksi?
>> YleisцІ: Piirrцє [tahtiimme] ylempi [tahtiimme] sama.
[Tahtiimme] ympyrцє, piirtцєцє sen [Tahtiimme] ja piirtцєцє [tahtiimme].
>> DAVID MALAN: OK, ei enцєцє kumota.
Tehdцєцєn yksi tai kaksi ohjeita.
Chris, haluat tarjota yhden?
>> YleisцІ: Alareunassa ympyrцєn, [tahtiimme]
piirtцєцє yhtцє viiva loiskumiseen alaspцєin vasemmalle [tahtiimme].
>> DAVID MALAN: OK.
Andrew?
Me did-- Karim?
>> YleisцІ: Alkaen oikealta linja, loppuun vasemman linjan, pohja,
aiot mennцє oikeassa samanpituinen kuin ettцє linja
olet, piirustus oikea [tahtiimme].
[Tahtiimme] astetta, joten [tahtiimme] astetta oikealla puolella.
>> DAVID MALAN: Selvцє.
Katsotaan tauko.
ц└lцє kцєцєnny ympцєri vielцє.
Katsotaan tauko, ja lцєhdetцєцєn kokeile yritettцєvцєt
ennen kuin paljastaa Ben mitцє hцєn on piirustus.
Voitko sekoittaa Ben right-- tai oikeastaan,
no, nyt vain antaa sinulle laudan, jopa parempi.
Joten olisi joku nyt pidцє ottaa enemmцєn lцєhestymistavan
ettцє Victoria otti aiemmin, missцє puhumme korkeammalla tasolla abstraktio
ja vain lauseen tai kaksi kuvailla Ben
mitцє tehdцє ilman joutumassa rikkaruohot,
niin sanotusti, tцєllцє alemmalla tasolla?
Victoria.
[NAURU]
YleisцІ: Piirrцє kuva ja kцєvely ihmisen.
Ja hцєnen jalat ja kцєdet tцєytyy olla oikealla puolella.
>> DAVID MALAN: OK, siinцє kaikki saat.
Selvцє.
Miksi emme paljasta Ben, mitцє hцєn teki.
Joten aplodit.
Se oli vaikein ehkцє.
>> Joten vaikka me puhumme melko typerцє kannalta
noin vain piirustus kuvia, toivottavasti
voi todella arvostaa aste ilmaisukyky, jotka saattavat olla tarpeen
jotta kertoa tietokoneeseen, mitцє tehdцє.
Ja itse asiassa se, ettцє Ben pystyi tekemцєцєn tцєmцєn niin nopeasti
on erцєцєnlainen osoitus kцєyttцєmцєllцє kieli, ehkцє korkeampi
version Englanti, joka sallii hцєnen vain kцєyttцєцє sanoja, tai kuulla sanoja
Victorian, jotka mahdollistavat hцєnen Nцєiden abstractions-- vain vetцєцє
luku kцєvelemцєllцє right-- ettцє sellainen on
jotkut semanttinen merkitys sille, joka ei ole lцєhes yhtцє ilmeinen, kun olet juuri
sanomalla, laita kynцєn, piirtцєцє oikealle, vetцєцє vasemmalle.
>> Ja niin tцєmцєkin on hyvin yleinen ohjelmointi.
Tцєmцє voidaan sanoa olevan kuin hyvin alhainen kieli, ohjelmointi
in 0: n ja 1: n jos tahtoa.
Ja tцєmцє olisi korkeampi kieli ohjelmointi Java,
Tai jotain sellaista.
Hieman sellaisen yksinkertaistus, mutta se
sellainen kuten emotionaalinen tunne, ettцє tuntuu kun
jollakin sellainen asia tai toisella.
Hieman turhautumista tцєssцє tarpeella tцєllaisella tarkkuudella, mutta mahdollisuus
olla hieman vцєljempцєцє tulkinnan tцєцєllцє.
Mutta tietenkin, bugeja voi aiheutua.
>> Jos haluat at home-- me ei tee tцєtцє yksi class--
mutta jos haluat tuoda tцєmцє koti,
Luulin olisimme sukeltaa tцєhцєn.
Joten jos haluat pelata tцєtцє pelin kanssa muita huomattavia
tai lapset tai vastaavaa, te voisi nauttia siitцє, ettцє samoin.
>> Joten mene eteenpцєin ja katsoa viimeisen asia tцєцєllцє pцєцєttelyцє.
Ja tцєmцє tuo meidцєt John Oliver, ei leikkeen
ehkцє nцєhneet viime yцІnцє, mutta jonkin verran ajankohtaiseen.
Muutama kuukausi sitten, Volkswagen kesti melko vцєhцєn luodinkestцєvцєt
mistцє syystцє, jos tiedцєt?
Mitцє he saavat vaikeuksiin?
>> Niin, emissions-- ne yrittцєvцєt voittaa pцєцєstцІjen
testejцє olennaisesti joiden autot saastuttavat ympцєristцІцє vцєhemmцєn
kun niiden autoja testataan ja saastuttaa ympцєristцІцє enemmцєn
kun autoja ei testattu.
Ja mitцє enemmцєn mielenkiintoinen maailmassa, koska voi olla johdettua
alkaen keskusteluihin like-- mikцє on it-- CarPlay, Applen ohjelmisto autoihin
ja se, ettцє monet meistцє yhцє
on kosketusnцєytцІt automme, siellцє pelottava mцєцєrцє
Ohjelmistojen ihmisten autoja tцєnцєцєn, mikцє
rehellisesti avaa koko voi matoja, kun se tulee luotettavuuteen ja fyysiseen riski.
Mutta tцєnцєцєn, nyt keskittyцє vain mitцє
mukana kirjoitusohjelmiston joka olisi saattanut gamed jцєrjestelmцє.
>> Sillцє mцєцєritelmцє ongelma, niille tuntemattomia,
katsotaanpa katsomaan John Oliver.
Ja niille tuttuja ongelma, katsotaanpa sitцє
hauska linssin kautta John Oliver samoin.
Joten anna minun osuma pelata tцєssцє, I ajatella, kolmen minuutin kцєyttцІцІnottoa.
Perkele.
[VIDEOTOISTOSTA]
-Cars--
DAVID MALAN: On selvцєцє, YouTubessa, it's--
- --The Fiksuin merkkiцє Fast and Furious elokuvia.
Tцєllцє viikolla, saksa automaker Volkswagen joutui
keskellцє skandaali mahdollisesti rikollista mittasuhteet.
>> -Volkswagen On piristцєvцє miljardien Sakkojen mahdollista rikossyytteitцє
sen johtajat, kuten yhtiцІ pahoittelee
for takila 11 miljoonaa autoa auttaa se voittaa pцєцєstцІjцє testejцє.
>> -Certain Diesel mallit suunniteltiin hienostunut ohjelmisto,
kцєytetyt tiedot, mukaan lukien asema OhjauspyцІrцєn ja ajoneuvon
nopeus, mцєцєrittцєцє auto oli kцєynnissцє pцєцєstцІjentestausvirasto.
Tцєmцєn seikan, moottori vцєhentцєisi myrkyllisiцє pцєцєstцІjцє.
Mutta auto oli vцєцєrennetty ohittaa ettцє kun se oli ajetaan.
PцєцєstцІt kasvoivat 10-40 kertaiseksi hyvцєksyttцєvцєt EPA tasolle.
>> -Wow, 10-40 kertaa suurempi kuin EPA sallii.
Se on pahinta Volkswagen on koskaan tehnyt,
on jotain voisi sanoa, jos et ikinцє kuullut toisen maailmansodan.
Mutta ehkцє varmin merkki siitцє, kuinka paljon vaivaa Volkswagen on,
on, ettцє ihmiset aivan ylhцєцєltцє ovat astuneet alas.
Toimitusjohtaja erosi keskiviikkona jцєlkeen muokkaamisella tehdцє vahinkoa ohjaus,
ettцє hцєn oli loputtomasti anteeksi, joka kuulosti suuri kunnes se osoittautui
Hцєn oli vain 10% anteeksi mutta oli vцєцєrennetty suunsa
keinotekoisesti hцєnen sorriness.
Ja sillцє vцєlin, Volkswagenin US pцєцєtoimittaja oli anteeksipyyntцІ oman.
>> -Anna N olla selvillцє tцєstцє, yritys oli epцєrehellinen.
Ja minun saksan sanoen, me ovat tцєysin mokannut.
>> -Joo, Mutta tцєysin ruuvattu up eivцєt ole Saksaksi.
Ja saksan kieli on monia kauniita lauseita
kuvaamaan tilanteita aivan kuten tцєmцє, kuten [Saksan], mikцє tarkoittaa suurin piirtein,
surua, joka tulee liiketoiminnan liittyviцє valheita,
tai [Saksan], joka kцєцєntцєцє kuten shaming niistцє isцє mukana
pilviцє bensiiniцє.
Se on kaunis kieli.
Se vain purjeet pois kielen.
Ja muuten, kun taas miehen anteeksipyyntцІ saattaa kuulostaa vilpitцІn,
on syytцє huomata, hцєn oli puhumassa virallisen kцєynnistцєцє osapuoli 2016
Volkswagen Passat, mikцє tarkoittaa, ettцє pian jцєlkeen sanomalla pahoillani, hцєn sanoi.
>> -Kiitos Hyvin paljon tulossa.
Nauti illalla.
Seuraavaksi on Lenny Kravitz.
>> [MUSIIKKIA]
>> -OK, OK, pцєцєttyy sinun anteeksipyyntцІ kanssa seuraavaksi
Lenny Kravitz ei huutaa raittiina katumuksen.
Se kirkuu, kysyimme Bon Jovi, ja hцєn sanoi ei.
Volkswagenin brцєndi on pahoin vaurioitunut.
Ja rehellisesti, heidцєn uusi mainos kampanja ei ole tarkalleen auttaa.
>> - [Saksan], me Volkswagen haluaisimme anteeksi pettцєцє teitцє
automme.
>> [END TOISTO]
DAVID MALAN: Eli tцєmцє oli kiertoteitse soita nцєin sorry--
tцєmцє oli liikenneympyrцє tapa kцєyttцІцІn perusongelma
ohjelmisto, joka on, ettцє tцєytyy valvomaan olosuhteita.
Ja niin kysymys kцєsillцє tцєцєllцє on, miten auto mahdollisesti
kuten ohjelmistossa Nцєiden ohjelmoijat,
havaita, ettцє se on todella testataan?
Joten on erittцєin selvцє, mitцє he olivat tekemцєssцє
oli, ympцєristцІissцє, joissa ohjelmoijat tajunnut
auto oltiin testattu, ne jotenkin
auton tuottavat vцєhemmцєn pцєцєstцІjцє, vцєhemmцєn pцєцєstцІt, joten vцєhemmцєn myrkyllisiцє hцІyryjцє
ja tцєllaisia.
Mutta kun se on yleensцє Ajamiseen,
se olisi vain pцєцєstцєvцєt mahdollisimman paljon saastuminen kuin se halusi.
>> Joten miten voisimme kirjoittaa pseudokoodi tцєmцє algoritmi?
Miten kirjoitamme pseudokoodit ohjelmiston kцєynnissцє autossa?
Siis, pцєhkinцєnkuoressa, se kiehuu alas jotain tцєllaista.
jos testataan, tuottavat vцєhemmцєn.
muu sцєteilee enemmцєn.
Mutta se on hieman liian korkea, eikцІ?
>> Yritetцєцєn sukeltaa siitцє, mitцє tцєmцє ottoon Testattavana keinoin.
Toisin sanoen, vaikka et tiedцє mitцєцєn autoista, millaisen kysymyksiцє
saattaa kysyцє, jotta voidaan mцєцєrittцєцє, jos olet testataan, jos olet auton?
Mitkцє ominaisuudet saattavat olla esitettцєvцє jos auto testataan?
>> YleisцІ: testauslaitteet.
>> DAVID MALAN: testauslaitteet.
Joten jos testauslaitteet lцєhellцє, sitten sцєteilevцєt vцєhemmцєn.
Joten en voisi kuvitella tцєytцєntцІцІn ettцє jonkinlainen kameroiden
tai havaitsemaan, mitцє ympцєrillцєsi.
Ja haluan ehdottaa, ettцє vain tuntuu liian monimutkainen
todella on muita laitteisto juuri tцєtцє tarkoitusta varten.
>> YleisцІ: Jos olet park, jos huppu on auki.
>> DAVID MALAN: In park tai konepelti auki, niin se on hyvцє.
>> YleisцІ: Ja auto kцєynnissцє.
>> DAVID MALAN: Niin, ettцє vцєhцєn enemmцєn concrete-- ja auto kцєynnissцє.
Joten tцєmцє olisi yhdessцє jonkin muutama eri olosuhteet, jos haluatte.
Joten jos auto on puistossa, ja jopa vaikka tцєmцє on erittцєin mekaaninen asia
tyypillisesti, voisin kuvitella kirjoitusohjelmistosta,
varsinkin koska siellцє usein kevyt siellцє nцєinцє pцєivinцє,
Voisin kuvitella, ettцє on ohjelmisto, joka voi kyselyn vaihdetta
tai mitцє ei, oletko puistossa, ovat teitцє ajaa, olet pцєinvastaisessa.
Ja voin saada takaisin vastata tцєhцєn on joko kyllцє
tai ei tuollaiset kysymykset.
>> Ja niin voisin todennцєkцІisesti myцІs vastata kysymys kuin, on konepelti auki.
Ehkцє on olemassa jonkinlainen anturi ettцє joko antaa minulle takaisin 1 tai 0,
tosi tai epцєtosi, kupu on auki.
Ja sitten auto kцєynnissцє, voisin havaita ettцє jotenkin kautta mitцє mekanismi?
Kuten, auto on kцєynnissцє, I voi havaita, ettцє se on pцєцєllцє,
voisin havaita jotenkin ettцє auto liikkuu?
>> YleisцІ: RPM.
>> DAVID MALAN: Joo, niin siellцє aina, ettцє neula
kertoo, kuinka monta kierrosta minuutti pyцІrцєt ovat kokeneet.
Ja jotta voisin katsoa, Б─▀Б─▀ettцє.
Ja jos se ei ole 0, ettцє luultavasti tarkoittaa auto liikkuu.
Meidцєn on kuitenkin oltava vцєhцєn varovainen siellцє,
because-- nyt yksinkertaistaa this-- jos me vain sanoi, jos auto kцєynnissцє,
emme halua vain tuottavat vцєhemmцєn, Haluamme jos auto on kцєynnissцє
ja se testataan.
>> Joten on olemassa muutamia muita ainesosia, ettцє ihmiset
ovat hypothesized ohjelmisto tekee, koska poissa todellinen lцєhdekoodia,
voit vain erцєцєnlainen pцєцєtellцє fyysiset vaikutukset auton, mitцє
saattaa olla kцєynnissцє alla huppu ohjelmisto.
Joten jos auto kцєynnissцє ja ehkцє, vaikkapa takapyцІrцєt ei liiku,
tцєmцє voisi olla osoitus jonkinlaisen testi?
Mitцє minцє vihjaten tцєцєllцє?
Joo, ehkцє, se on yhtцє Nцєiden rullan asioita,
jossa kuten pyцІrцєt pyцІrivцєt edessцє tai takana,
riippuen siitцє, onko se etupyцІrцє tai takaveto, joten puolet pyцІristцє
ovat liikkuvia, mutta muut kaksi eivцєt ole, mikцє
on outo tilanne todellisessa maailmassa.
Jos olet ajo tie, joka ei pitцєisi tapahtua.
Mutta jos olet varastoon jonkinlaista rullajцєrjestelmцє,
jotka saattavat todellakin tapahtua.
>> Uskon, ihmiset myцІs ehdottanut, ettцє ehkцє, jos auto on kцєynnissцє ja ohjauksen
pyцІrцєn ei liiku, ettцє liian voisi olla signaali,
koska se on kohtuullista kuten heti tiellцє.
Mutta silloinkin, ihmisen on luultavasti siirtцєmцєllцє sitцє hieman tai varmasti
muutaman sekunnin kuluessa.
Tai jonakin minuutti, kertoimet ovat se ei ole
aiotaan kiinnittynyt tцєsmцєlleen samassa asemassa.
>> Eli toisin sanoen, me voi vцєhennys-,
oletko testataan, ja murtaa ettцє toiminnallisuus
nцєihin komponentti ainesosia.
Ja se todella mitцє Volkswagenin insinцІцІrit jotenkin teki.
He kirjoittivat ohjelmisto tietoisesti havaita, jos auto testataan,
Siksi tuottavat vцєhemmцєn, muuten emittoivat tavalliseen tapaan.
>> Ja ongelma tцєцєllцєkin, on, ettцє ohjelmisto ei ole
jotain voi todella nцєhdцє, jos olet ns lцєhdekoodia.
Joten ei kahta erilaista code-- ainakin kahta eri tyyppiцє
koodin maailmassa.
On jotain kutsutaan lцєhde koodi, joka ei ole toisin kuin
olemme kirjoittaneet, lцєhdekoodia.
>> Tцєmцє on lцєhdekoodi kirjoitettu kieli nimeltцєцєn pseudokoodilla,
joka on vain jotain Englanti kaltainen.
Ei ole virallista mцєцєritelmцєцє siitцє.
Mutta C, ja Java, C ++, ne kaikki viralliset kielet, jotka,
Kun kirjoitat ne, mitцє on on tekstitiedosto, joka sisцєltцєцє lцєhdekoodia.
>> Mutta on myцІs jotain maailman kutsutaan konekieli.
Ja konekielelle, valitettavasti, on vain 0: n ja 1: n.
Joten kone koodi on mitцє koneet ymmцєrtцєцє, tietenkin.
Lцєhdekoodi on mitцє ihmiset ymmцєrtцєvцєt.
>> Ja yleensцє, mutta ei aina, on ohjelman
ettцє ohjelmoija kцєyttцєцє joka vie lцєhde koodin ja muuntaa sen konekielelle.
Ja ettцє ohjelma on yleensцє kutsutaan kцєцєntцєjцє.
Joten syцІte on lцєhdekoodi, oman tuotannon on koneen koodi,
ja kцєцєntцєjцє on pala ohjelmisto, joka tekee tцєtцє prosessia.
Joten tцєmцє todella kartat hienosti meidцєn tuloa, algoritmit, lцєhdцІt.
>> Mutta tцєmцє on hyvin erityinen inkarnaatio siitцє, mikцє on sanoa, ettцє
vaikka sinulla yksi Volkswagenin autoja, jotka on syyllinen tцєhцєn,
se ei ole kuin voit vain avata huppu tai avata kцєyttцєjцєn kцєsikirja tai etsi
lцєhdekoodia, koska siihen mennessцє se tavoittaa autosi teidцєn ajotieltцє,
se on jo ollut muutetaan 0: n ja 1: n.
Ja se on erittцєin vaikea, jopa mahdoton mutta erittцєin vaikea poimia paljon mitцєцєn
vain katsomalla taustalla 0: n ja 1: n.
Joten voit tajuta se lopulta jos ymmцєrrцєt kuinka kone operates--
Intel inside-- jos ymmцєrrцєt Intel arkkitehtuuri,
mutta se on hyvin aikaa vievцєцє.
Ja siellцєkin, saatat ei voi nцєhdцє kaiken
ettцє koodi voi itse tehdцє.
>> Kysymyksiцє tцєstцє tai tцєstцє tцєllainen prosessi yleisemmin?
Ja itse asiassa, voimme sitoa tцєhцєn keskusteluun eilisen keskustelun Apple.
Tцєmцєkin syystцє FBI voi vain mene ja katso epцєillyn puhelinta
ja lцІytцєцє riviцє koodia, sillцє Esimerkiksi jotka mahdollistavat salasana
tai mahdollistavat, ettцє 80 millisekunnin viive.
Koska mennessцє sen on mies iPhone,
se on jo ollut muutetaan 0: n ja 1: n.
>> No, Pysцєhdynpцє meidцєn katsokaa pцєцєttelyцє.
Miksi emme ota 15 minuutin tauko.
Ja kun palaamme kцєymme katsomaan ohjelmointi
itse ja alkaa kartoittaa joitakin Nцєiden korkean tason kцєsitteitцє
tosiasialliseen, jos leikkisцє, ohjelmointikieli.