suomi (automaattinen)
Suomi
WEBVTT Kind: captions; Language: fi
1
00:00:02.680 --> 00:00:04.520
Morjesta.
2
00:00:04.520 --> 00:00:08.900
Niemisen paavo ja mitkä se
jonnekin tuolla istuu nauhoitella
3
00:00:08.900 --> 00:00:13.410
aihepiirivideota
käyttöjärjestelmäkurssilla.
4
00:00:13.410 --> 00:00:17.930
Ja.
Jatketaan ainakin vielä yksi kerran.
5
00:00:17.930 --> 00:00:21.710
Sarjasta, joka on aiemmin
käynnistynyt ja siitä osat yksi
6
00:00:21.710 --> 00:00:27.070
ja 2 on saatavilla ja nyt tulee kolmasosa.
7
00:00:27.070 --> 00:00:30.890
Hei maailma ensimmäinen
koeputki esimerkki voisi olla
8
00:00:30.890 --> 00:00:37.960
esimerkiksi ckielisessä ohjelmoinnista.
Meillä on.
9
00:00:37.960 --> 00:00:46.330
Tehty kielisenä se ja ja tota otetaan se.
Auki tähän.
10
00:00:46.330 --> 00:00:49.840
Hei maailma se tässä ollaan oltu.
11
00:00:49.840 --> 00:00:51.800
Ja sitä ollaan kehitelty.
12
00:00:51.800 --> 00:00:55.460
Sitä ollaan käännelty ja
sitä ollaan suoritettu ja sitä
13
00:00:55.460 --> 00:01:01.880
ollaan jo tutkittu vähän republikaaneilla.
Nyt mennään.
14
00:01:01.880 --> 00:01:08.780
Vielä vähän syvemmälle ja ja tota jatkuvasti c
kieltä jumpataan ja nyt sitten tota debuggeria
15
00:01:08.780 --> 00:01:16.460
ja konekieltä katsellaan tarkemmin ja
sitten heti kärkeen jo laitetaan tuonne.
16
00:01:16.460 --> 00:01:21.390
Pikkuisen noita kääntäjän vipuja.
17
00:01:21.390 --> 00:01:27.060
Tukemaan tätä touhua koska tota
nyt mitä aikaisemmin ollaan tehty.
18
00:01:27.060 --> 00:01:28.860
Meillä ensinnäkin on.
19
00:01:28.860 --> 00:01:30.940
Ohjelman nimi on ollut
oletuksena artiste out.
20
00:01:30.940 --> 00:01:32.740
Mikä?
21
00:01:32.740 --> 00:01:37.220
Mikä tulee jos ei muuta pyydetä
ja sitten ollaanbussilla.
22
00:01:37.220 --> 00:01:41.320
Esimerkiksi katsottu pysähtymistä.
23
00:01:41.320 --> 00:01:45.650
Pääohjelman alkuun eli
selkokielisen maine ohjelman alkuun.
24
00:01:45.650 --> 00:01:49.610
Ja ja tota niin vahingossa komensi startti
joka on itse asiassa automaattisesti
25
00:01:49.610 --> 00:01:55.870
tekee saman eli pysähtyy mining
alkuun ja sitten ollaan katsottu.
26
00:01:55.870 --> 00:01:58.070
Katsottu.
27
00:01:58.070 --> 00:02:02.990
Alustavasti tätä konekieltä
takaisin käännöksellä.
28
00:02:02.990 --> 00:02:05.470
Eli missä assemblyillä.
29
00:02:05.470 --> 00:02:11.840
Konekieltä, joka on on syntynyt
siitä kielestä, mutta nyt tuota.
30
00:02:11.840 --> 00:02:16.710
Tässä on nyt pyytänyt
näyttämään sekä tavujon.
31
00:02:16.710 --> 00:02:20.410
Mistä jo käytiinkin läpi, että sitä
ei tarvitse huolehtia enää sen jälkeen
32
00:02:20.410 --> 00:02:25.720
kun ymmärretään, että että
jokainen konekieli käsky on.
33
00:02:25.720 --> 00:02:30.300
Pieni pieni jono tavu
ja tietokoneen muistissa.
34
00:02:30.300 --> 00:02:33.600
Joita joita se prosessori
suorittaa peräjälkeen.
35
00:02:33.600 --> 00:02:39.340
Sen nimi on suorituskyky elikkä elikkä tota
professori nautaa aina seuraavan käskyn ja seuraavan
36
00:02:39.340 --> 00:02:45.430
käskyn jos ei se käsky aiheuta hyppyä
johonkin eri paikkaan sitten tuolla.
37
00:02:45.430 --> 00:02:48.780
Ohjelmassa, mutta sitten toi toinen.
38
00:02:48.780 --> 00:02:53.240
Vipu jota jota jos ei ei
muista niin niin pystyy.
39
00:02:53.240 --> 00:02:55.200
Pystyy heistä pikkuisen katsomaan.
40
00:02:55.200 --> 00:02:59.390
Mä olisin tässä nyt kovasti halunnut
nähdä, että mitkä lähdekoodin rivit.
41
00:02:59.390 --> 00:03:01.970
On johtanut mihinkin.
42
00:03:01.970 --> 00:03:06.590
Mihinkin tota riviin tai tota
koneelliseen pätkään tuossa
43
00:03:06.590 --> 00:03:09.850
ja sitähän pyysin,
mutta niitä ei tässä näy.
44
00:03:09.850 --> 00:03:16.690
Syy on se että mitenkään mystisesti toi
bunkkeri ei voi tietää lähdekoodista mitään.
45
00:03:16.690 --> 00:03:22.310
Tää ainoa mitä voi saada
irti niin on tää konekieli.
46
00:03:22.310 --> 00:03:27.510
Tavuina ja sitten ihmisen paremmin
ymmärtämään symbolisena konekielenä, josta
47
00:03:27.510 --> 00:03:33.430
ollaan keskitytty tähän
mennessä yksi esimerkin oma se.
48
00:03:33.430 --> 00:03:37.610
Mut ei se lähde koodista tiedä mitään.
49
00:03:37.610 --> 00:03:42.370
Ellei mukana ole kyseinen tieto eli.
50
00:03:42.370 --> 00:03:49.040
Mennäänpäs nyt vielä pois täältä GDV, stä.
51
00:03:49.040 --> 00:03:54.220
Käännetään uudelleen tuo ohjelma.
Ja ja.
52
00:03:54.220 --> 00:03:56.950
Otetaan siihen tuo.
53
00:03:56.950 --> 00:04:03.270
Käännös komento ja pyydetään mä nyt
laitan tänne alkuun näitä vipuja– pikku
54
00:04:03.270 --> 00:04:10.250
niin on semmoinen joka niinku debug
laittaa dubbaustiedot eli virheenkorjaustiedot
55
00:04:10.250 --> 00:04:16.400
mukaan mukaan lukien se silloin laittaa
sinne käännökseen voi varmistaa että
56
00:04:16.400 --> 00:04:19.080
se käännös tapahtui niin niin.
57
00:04:19.080 --> 00:04:22.720
Nyt se laittaa mukaan
viitetiedot siitä, että mikä
58
00:04:22.720 --> 00:04:27.440
on lähdekooditiedostot ja mikä rivi on.
59
00:04:27.440 --> 00:04:30.650
Aiheuttanut minkäkin noista.
60
00:04:30.650 --> 00:04:35.450
Konekielisiä pätkistä ja nyt jos me
käynnistetään täällä GDP, llä tilanteen
61
00:04:35.450 --> 00:04:38.470
pitäisi olla erilainen ja nyt meillä
pitäisi olla mukana mahdollista saada
62
00:04:38.470 --> 00:04:43.550
tieto siitä lähdekoodin rivistä ja ja
nyt tota niinku sanottu start oli se
63
00:04:43.550 --> 00:04:48.290
joka pysähtyy automaattisesti
pääohjelman alku noin.
64
00:04:48.290 --> 00:04:56.380
Ja nyt disable ja pyydetään siltä nuo kaikki
Lisätiedot mitä voi niin nyt se näyttää.
65
00:04:56.380 --> 00:05:02.320
Nyt se näyttää tää debugkeri, koska siellä
suoritettavassa ohjelmatiedot jossa on mukana
66
00:05:02.320 --> 00:05:09.120
ja dubbaustiedot elikkä mistä lähdekoodi
tiedostottaja eli vista oli kyse elikkä nyt siellä
67
00:05:09.120 --> 00:05:17.990
on rivi 2 on ollut ollut tämmöinen
mistä lähtee se pääohjelma?
68
00:05:17.990 --> 00:05:21.050
Ja nyt me päästään katsomaan,
että esimerkiksi jo siitä rivistä
69
00:05:21.050 --> 00:05:24.970
on tullut tänne näitä
konekielisiä käskyjä.
70
00:05:24.970 --> 00:05:32.070
Ja tota erittäin erittäin tota.
71
00:05:32.070 --> 00:05:37.490
Tarkkaavaisia kysymyksiä on on hyvä
niinku hyvä niinku esittää että että
72
00:05:37.490 --> 00:05:42.220
mitähän mitähän nääkin rivit
esimerkiksi esimerkiksi.
73
00:05:42.220 --> 00:05:44.800
Nää konekieliset käskyt
tekee mitkä tuleekin ihan vaan
74
00:05:44.800 --> 00:05:48.740
siitä, että että tuossa ei vielä mitään.
75
00:05:48.740 --> 00:05:53.380
Mitään tapahtumia ohjelmoitu vaan ihan
vaan se että nyt tää on pääohjelma alku.
76
00:05:53.380 --> 00:05:55.420
Mä en nimisen funktion alku.
77
00:05:55.420 --> 00:05:59.260
No siitäkin on tullut koodia.
No nyt.
78
00:05:59.260 --> 00:06:04.280
Tossa näkyy että rivi 3 siinä olisi
tämmöinen sitten niinku silmukka rakenne.
79
00:06:04.280 --> 00:06:08.600
Ilmeisesti ohjelmoitu joka
käy tuota niin muuttujalla ei
80
00:06:08.600 --> 00:06:14.850
nolla kahteensataanviiteenkymmeneenkuuteen.
Niin luvut läpi.
81
00:06:14.850 --> 00:06:17.520
Ja siitä on tullut
sitten nyt tuosta forum.
82
00:06:17.520 --> 00:06:21.390
Rivistä rivistä 3 on tullut tullut sitten.
83
00:06:21.390 --> 00:06:26.300
Tämmöisiä nyt tuosta huomataankin miten tää nyt
toimii elikkä nyt kun mä pyysin start komennolla
84
00:06:26.300 --> 00:06:31.750
bunkkeria pysähtymään pääohjelman alkuun, niin
sehän osasi pysähtyäkin itse asiassa siihen
85
00:06:31.750 --> 00:06:34.910
missä on ensimmäinen rivi joka
tekee varsinaisesti jotain.
86
00:06:34.910 --> 00:06:38.130
Silti tietokone tekee
asioita siinä käännetyssä.
87
00:06:38.130 --> 00:06:41.450
Ohjelmassa on mukana jo asioita
jokaisen aliohjelman alussa
88
00:06:41.450 --> 00:06:45.070
tulee samannäköiset asiat pieniin eroihin.
89
00:06:45.070 --> 00:06:50.350
Ja siihen mennään myöhemmin myöhemmissä
aihepiirin videoissa ja harjoituksissa.
90
00:06:50.350 --> 00:06:55.830
Tutkitaan nyt tätä näkymää ja juhlitaan
sitä, että ollaan osattu laittaa sinne mukaan
91
00:06:55.830 --> 00:07:01.630
nää dubbaustiedot me päästään nyt näkemään,
että minkälaiseksi konekielen tuo kyseinen
92
00:07:01.630 --> 00:07:07.890
kääntäjä tällä kyseisellä prosessorin
arkkitehtuurilla tälle kyseiselle käyttöjärjestelmälle
93
00:07:07.890 --> 00:07:10.230
on on kääntänyt kunkin riviin.
94
00:07:10.230 --> 00:07:15.500
Tuossa on sitten tuo tuo
printf rivi tuo nelosrivi.
95
00:07:15.500 --> 00:07:19.670
No siitä on muodostunut.
Kokonaista 5.
96
00:07:19.670 --> 00:07:25.860
Konekielistä käskyä no niin ja
tää on nyt se haettava taito.
97
00:07:25.860 --> 00:07:28.130
Etsitään kokeilemaan itse.
98
00:07:28.130 --> 00:07:32.890
Yksinkertainen ohjelma ja katsomaan pystyykö
itse toistamaan tämän että että näkeekö sieltä,
99
00:07:32.890 --> 00:07:37.800
pystyykö ihmettelemään tätä niinku ensinnäkin,
että että minkälainen käännöstä että nyt
100
00:07:37.800 --> 00:07:43.210
tuli, kun kun pienen ohjelman
kirjoitti vaikka nyt hei maailma.
101
00:07:43.210 --> 00:07:46.340
Ja tämän näköjään sivuuttaa.
102
00:07:46.340 --> 00:07:48.330
Tätä on toki listauksessa.
103
00:07:48.330 --> 00:07:50.860
Nyt tulossa enemmän näitä
konekielisiä rivejä tässä.
104
00:07:50.860 --> 00:07:54.860
Onhan siinä ohjelmassakin
vielä tuon nelosrivin jälkeen.
105
00:07:54.860 --> 00:08:03.650
Asioita tuommoiset asiat siellä on.
Eli eli tuota.
106
00:08:03.650 --> 00:08:11.130
Myös.
Jotakin koneellista on tullut tuosta.
107
00:08:11.130 --> 00:08:15.410
Paluuarvon asettamisesta
pääohjelman kielessä pitää
108
00:08:15.410 --> 00:08:21.010
asettaa nolla jos kaikki meni hyvin.
109
00:08:21.010 --> 00:08:23.580
Tää jotain muuta kuin nolla.
Jos jos halutaan tiedottaa käynnistäjälle, että nyt
110
00:08:23.580 --> 00:08:25.380
tämä ohjelma päättyi virhetilanteeseen.
111
00:08:25.380 --> 00:08:34.010
Tää jo kertausta aiemmasta sen lisäksi
tossa on ihan vaan toi lohkon päättävä.
112
00:08:34.010 --> 00:08:38.130
Kihara sulku eli oikealta
nimeltään suomen kielessä.
113
00:08:38.130 --> 00:08:42.120
Aalto sulku.
Aalto sulku kiinni.
114
00:08:42.120 --> 00:08:45.200
Lainesuu aalto sulku virallinen nimi.
115
00:08:45.200 --> 00:08:47.310
Siitäkin on tullut jotain koodia.
116
00:08:47.310 --> 00:08:53.510
Siitä on tullut 2 konekielistä käskyjä
jotka ilmeisesti on tabut 9 ja 3.
117
00:08:53.510 --> 00:08:56.780
Mistä kuka meillä määrää,
että se on nimenomaan?
118
00:08:56.780 --> 00:09:02.780
C 9 jonkun tietyn
konekielisen käskyn tämä tabu.
119
00:09:02.780 --> 00:09:09.240
Joo.
Speksi joo speksi ja ja tota.
120
00:09:09.240 --> 00:09:11.410
Nyt on.
121
00:09:11.410 --> 00:09:17.710
Päättänyt näyttää tässä
tässä kurssilla niin.
122
00:09:17.710 --> 00:09:24.190
AMD.
Advanced micro devices.
123
00:09:24.190 --> 00:09:28.600
Yrityksen itse asiassa public house
elikkä ei haittaa tätä dokkaria
124
00:09:28.600 --> 00:09:31.200
näytellä siellä ja ihan
lukee julkiseen käyttöön.
125
00:09:31.200 --> 00:09:34.930
Hyvä jos luentomateriaaliksi
niin niin tota.
126
00:09:34.930 --> 00:09:39.770
Kyseisetvist micro devices
firman kirjoittamaan speksiä.
127
00:09:39.770 --> 00:09:45.560
Nythän myös ainakin intel
niminen yritys tekee prosessoreita
128
00:09:45.560 --> 00:09:47.550
jotka toimii ihan samalla lailla.
129
00:09:47.550 --> 00:09:51.710
Heillä on sitten oma manuaali
joka kuvaa hyvin pienin nyanssiero
130
00:09:51.710 --> 00:09:55.640
ennen kuin se että miten
heidän laitteet toimii.
131
00:09:55.640 --> 00:09:57.950
Konekieliset ohjelmat.
132
00:09:57.950 --> 00:10:05.270
Toimii molemmissa samalla lailla, koska AMD
päässyt ekana määrittämään tämmöisessä speksin
133
00:10:05.270 --> 00:10:10.260
ja nyt sitten intelin voi tehdä laitteita
jotka toimii saman rajapinnan mukaan että
134
00:10:10.260 --> 00:10:13.200
tää reaalimaailman dokumentaatio
voidaan käydä katsomassa.
135
00:10:13.200 --> 00:10:18.630
Täällä on general purpose instruction
referenssi aakkosllisessa järjestyksessä
136
00:10:18.630 --> 00:10:21.750
ja sieltä voidaan
höllätä vielä kertauksen.
137
00:10:21.750 --> 00:10:27.280
Varmisti että olisiko tuommoinen
leave niminen täällä löytyvissä ja.
138
00:10:27.280 --> 00:10:32.040
Onhan siellä.
Lead.
139
00:10:32.040 --> 00:10:35.850
On sen sen nimi isoilla kirjaimilla tässä.
140
00:10:35.850 --> 00:10:39.020
Dokkarin syntaxsissä ja sitten tuossa.
141
00:10:39.020 --> 00:10:41.300
Ensimmäisenä aina tärkeimmät yleiskuva.
142
00:10:41.300 --> 00:10:46.550
Mitä tää tekee tää poistaa.
143
00:10:46.550 --> 00:10:52.240
Proseduuri eli eli
aliohjelman eli funktion.
144
00:10:52.240 --> 00:10:58.930
Eli toiminnallisuuden, joka on
paketoitu tällaiseksi niin pinokehykseen.
145
00:10:58.930 --> 00:11:05.500
Se on myöhempien aihepiirivideoiden aihetta
ymmärtää syvällisemmin sitten se, että mikä on
146
00:11:05.500 --> 00:11:12.650
pinokehys eli starscream joka tapauksessa
mee niin sen tarkoitus on poistaa.
147
00:11:12.650 --> 00:11:18.230
Proseduuri.
Tämänhetkinen pinokehys.
148
00:11:18.230 --> 00:11:22.110
Tarkempi kuvaus yleensä sitten
seuraavana astetta tarkemmin suomennettuna
149
00:11:22.110 --> 00:11:28.210
sanottuna tuo vapauttaa pinokehyksen,
jonka edeltävä enter konekieli käsky
150
00:11:28.210 --> 00:11:33.270
on luonut ja tota vapauttaakseen kehyksen.
151
00:11:33.270 --> 00:11:40.960
Se kopioi pinon osoittimen
RBP nimisestä rekisteristä.
152
00:11:40.960 --> 00:11:44.980
Pino osoitti rekisteri RSP.
153
00:11:44.980 --> 00:11:48.210
Eri aihepiirin videoiden sisältöä sitten.
154
00:11:48.210 --> 00:11:52.630
Ja omatoimisen opiskelun asiaa
löytyy myös nyt spekseistä
155
00:11:52.630 --> 00:11:55.330
tietenkin mitä nää rekisterit sitten on?
156
00:11:55.330 --> 00:11:59.330
On rekisterit on nopeita muisteja
joilla on tietty nimi tietty erittäin
157
00:11:59.330 --> 00:12:05.150
nopeasti käytettävissä oleva sisältö,
mutta toi kertoo miten tää käytännössä
158
00:12:05.150 --> 00:12:12.590
tekee ja sitten poksauttaa
eli poppaa vanhan.
159
00:12:12.590 --> 00:12:18.040
Pino osoittimen pinosta.
RBP rekisteri.
160
00:12:18.040 --> 00:12:22.260
Palauttaen sitten kutsuvan
aliohjelman kehyksen.
161
00:12:22.260 --> 00:12:27.190
Kutsuvan proseduuri no kehys.
No niin.
162
00:12:27.190 --> 00:12:31.980
Siellä se kaikki löytyy ja ja mitä
meidän tästä piti muistaa niin voidaan
163
00:12:31.980 --> 00:12:35.970
tota luottaa siihen että nää
kaikki on tarkkaan määriteltyjä.
164
00:12:35.970 --> 00:12:38.870
Jos asia poikkeaa määritelmästä niin.
165
00:12:38.870 --> 00:12:42.350
Sitten jossain on virhe, joka
järjestelmässä kääntäjässä tai siinä,
166
00:12:42.350 --> 00:12:45.680
että se määritelmässä
tai siinä laitteessa.
167
00:12:45.680 --> 00:12:53.140
Ja, mutta nää on sopimuksia siitä, että kun
meillä on ops code operaatiokoodi eli tabu.
168
00:12:53.140 --> 00:12:55.120
C 9.
169
00:12:55.120 --> 00:13:02.960
Niin silloin tää on se toiminta
mikä tapahtuu ja tossa myös sanotaan.
170
00:13:02.960 --> 00:13:08.220
Sanotaan, että.
Kolmekymmentäkaksi bittisissä.
171
00:13:08.220 --> 00:13:14.960
Toiminta niin tota olisi ihan sama
olla 2 käskyä jotka olisi sitten nuo.
172
00:13:14.960 --> 00:13:19.160
Mutta tää on tämmöinen näppäryysky
mikä löytyy tästä prosessorista
173
00:13:19.160 --> 00:13:24.500
voidaan laittaa takuuseen 9 niin sitten.
Nää.
174
00:13:24.500 --> 00:13:28.620
Luvatut asiat tapahtuu.
Omatoimisen harjoittelun.
175
00:13:28.620 --> 00:13:32.420
Kautta sitten.
Joo hyvä.
176
00:13:32.420 --> 00:13:37.850
Tutkia näitä debussynäkymiä
tullaan huomaamaan, että.
177
00:13:37.850 --> 00:13:40.590
Aina tommoisen.
178
00:13:40.590 --> 00:13:46.950
Aliohjelma lopussa on tuommoinen
liivi ja sitten siellä alussa.
179
00:13:46.950 --> 00:13:50.490
On muutama konekielinen käsky.
180
00:13:50.490 --> 00:13:55.370
Jotka vastaavasti luo
tämmöisen menokehyksen?
181
00:13:55.370 --> 00:13:58.480
Tää on sitten oikeastaan
jo se syy siihen, että miksi
182
00:13:58.480 --> 00:14:02.560
kääntäjä on tehnyt koodia jo tästä.
183
00:14:02.560 --> 00:14:08.500
Rivistä, jossa pelkästään
kerrotaan, että nyt alkaa paljon.
184
00:14:08.500 --> 00:14:12.190
Käykö tää järkeä?
No niin studio ja yleensä nyökkäilee.
185
00:14:12.190 --> 00:14:17.470
Hyvä toista vaan.
Ja ja tota.
186
00:14:17.470 --> 00:14:21.440
Se, että täällä asia
kerrotaan, se tuntuu selvältä.
187
00:14:21.440 --> 00:14:27.000
Se ei ole selvää, kunnes pystyt itse.
Katsomaan kokeilemaan.
188
00:14:27.000 --> 00:14:30.480
Onko se oikeasti näin?
189
00:14:30.480 --> 00:14:34.320
Eli eli kaikki mitä aihepiiri
videoissa käydään niin pitää johtaa
190
00:14:34.320 --> 00:14:36.820
siihen että kokeilemaan
heti itse näitä taitoja.
191
00:14:36.820 --> 00:14:38.620
Pystynkö luomaan itse?
192
00:14:38.620 --> 00:14:43.160
Pystynkö toistamaan näitä mitä me tällä
hetkellä pystyn näistä ymmärtää mitä en vielä.
193
00:14:43.160 --> 00:14:53.590
Sitten kysymään se asia.
No sellaista oli tarkoitus käydä sitten.
194
00:14:53.590 --> 00:15:00.620
Mitä muuta?
Tuolle kääntäjälle niin vipuja niin.
195
00:15:00.620 --> 00:15:03.760
Voi antaa niin ensinnäkin voisi.
196
00:15:03.760 --> 00:15:08.100
Laittaa jonkun näppärän nimen
sitten jonka haluaa kun se a.
197
00:15:08.100 --> 00:15:12.740
Out niin se tulee ihan sillä lailla että
2 argumenttia peräkkäin joista yksi on–
198
00:15:12.740 --> 00:15:17.420
ole pikku ja sitten välilyönti ja sitten
seuraava argumentti tulee niin se on hei
199
00:15:17.420 --> 00:15:22.860
maailma ja nyt sitten tultiin tuossa
kääntäjässä on se, että tulostiedot eli käännetyn
200
00:15:22.860 --> 00:15:25.810
ohjelma tiedoston nimi
pitäisi olla hei maailma.
201
00:15:25.810 --> 00:15:29.890
No niin ja sitten vielä yksi
aika tärkeä voisi mielellään
202
00:15:29.890 --> 00:15:34.010
laittaa aina isow ja pienillä all.
203
00:15:34.010 --> 00:15:41.910
Tämä tarkoittaa että varoita nuo kaikista
pienimmistäkin ohjelmointiput tota
204
00:15:41.910 --> 00:15:45.910
erheestä, joita siellä ehkä näyttäisi
mahdollisesti olevan siinä koodissa
205
00:15:45.910 --> 00:15:49.010
elikkä tuo kääntäjä osaa
jonkun verran tutkailla.
206
00:15:49.010 --> 00:15:51.660
Varoittaa asioista jotka.
207
00:15:51.660 --> 00:15:56.540
Perhana soikoon on siellä kielessä
sallittuja speksin mukaisesti.
208
00:15:56.540 --> 00:15:58.590
Mutta jotka.
209
00:15:58.590 --> 00:16:02.710
Johtaa ongelmiin ja todennäköisesti ei ole sitä
mitä ottaa tarkoittanut niin kaikilta varuilta
210
00:16:02.710 --> 00:16:07.980
kannattaa tuommoinen rimpsu yleensä
olla olla että varoita kaikesta ja.
211
00:16:07.980 --> 00:16:11.370
Nyt siinä huh tähän asti
aihepiirin videossa nähdyt.
212
00:16:11.370 --> 00:16:17.200
Se ei ole pujahtanut sinne ohjelmaan
sellaisia varoituksen kohteita.
213
00:16:17.200 --> 00:16:19.020
Niitä voisi tulla.
214
00:16:19.020 --> 00:16:23.600
No joo käännellään vielä yksi mikä
auttaa näitä omatoimisia kokeiluja.
215
00:16:23.600 --> 00:16:29.420
Nytten niin on iso kirjain ja sitten
nolla niin manuaalista voi taas tarkistaa.
216
00:16:29.420 --> 00:16:34.800
Niin tää pyytää olemaan
optimoimaan sitä koodia.
217
00:16:34.800 --> 00:16:36.600
Niin niin.
218
00:16:36.600 --> 00:16:40.970
Silloin tota toi kääntäjä
mahdollisimman vähän.
219
00:16:40.970 --> 00:16:45.950
Etsii automaattisesti tämmöisiä
nopeutuisi tai pienennyskeinoja.
220
00:16:45.950 --> 00:16:47.750
Sitten sille konekielellä.
221
00:16:47.750 --> 00:16:49.990
Silloin me me nähdään niinku.
222
00:16:49.990 --> 00:16:55.230
Oppimisen kannalta
selkeämmin näitä asioita.
223
00:16:55.230 --> 00:16:58.650
Niin tuommoisella rimpuilla on varmaankin.
224
00:16:58.650 --> 00:17:02.520
Hyvä niinku kaikki käännökset
pyrkiä tekemään nyt tässä.
225
00:17:02.520 --> 00:17:09.400
Tässä kurssilla ja ja tota.
Tai harjoitellessa.
226
00:17:09.400 --> 00:17:13.050
Aihepiiri videossa ei puhuta
kurssista vaikka tää jollain kurssilla
227
00:17:13.050 --> 00:17:15.840
tapaa kun omatoimisesti harjoittelet.
228
00:17:15.840 --> 00:17:17.640
Laita tuoma streamista se on.
229
00:17:17.640 --> 00:17:23.120
Se on niinku hyvä jos haluaa vielä tuota
standardia niinku olla olla niinku sen kanssa tarkka
230
00:17:23.120 --> 00:17:28.000
niin sitten sitten tota muistelisin
että tämmöinen pedantti saattoi olla.
231
00:17:28.000 --> 00:17:32.620
Saattoi olla se se vipu jolla voi sitten
pyytää että jos jos nyt käytit uudempaa
232
00:17:32.620 --> 00:17:36.740
ominaisuutta mitä vielä vuonna
tuhatyhdeksänsataayhdeksänkymmentäyhdeksän neuvottelussa
233
00:17:36.740 --> 00:17:40.370
se standardissa ei ollut
niin sitten se vielä.
234
00:17:40.370 --> 00:17:43.990
Kirkui siitäkin, että
nyt nyt ette ole peräti.
235
00:17:43.990 --> 00:17:50.210
Haluamme siis standardin mukainen.
236
00:17:50.210 --> 00:17:54.550
No näillä sivuilla voidaan muuten
kokeilla vielä ihan vaan esimerkin
237
00:17:54.550 --> 00:18:00.960
vuoksi, että mitä tekisi vaikkapa
sitten tämmöinen 3 vipu mikä pyytää
238
00:18:00.960 --> 00:18:03.930
optimoimaan suorituskykyä
ihan tosi paljon.
239
00:18:03.930 --> 00:18:08.130
Siinä on tasoja 1, 2 ja 3.
240
00:18:08.130 --> 00:18:13.850
Ja ja tota nyt katsotaan,
DP ja hei, maailma oli nytten
241
00:18:13.850 --> 00:18:18.890
ohjelmatiedostot nimi ja diesel.
242
00:18:18.890 --> 00:18:22.560
Kautta MR min ihan ei
tarvinnut edes käynnistää.
243
00:18:22.560 --> 00:18:30.310
Niin niin.
Joo siellä nyt on on tota.
244
00:18:30.310 --> 00:18:35.650
Optimoinnin tuloksena tullut sellaisia
asioita, jotka ei ole ihan päivänselviä.
245
00:18:35.650 --> 00:18:39.910
Päivän selviää tuota niin niin.
246
00:18:39.910 --> 00:18:45.910
Se on se on osannut tehdä sinne sinne
tota poissulkevalla or operaatiolla
247
00:18:45.910 --> 00:18:47.980
esimerkiksi rekisteri itsensä kanssa.
248
00:18:47.980 --> 00:18:49.780
Niin tota tää on ihan tyypillistä.
249
00:18:49.780 --> 00:18:53.720
Tietysti myös jos konekielellä päätyy
ohjelmoimaan huviksi ja harrastukseksi,
250
00:18:53.720 --> 00:18:58.410
niin ilman muuta tuo on se
tapa jolla niinku saadaan nolla.
251
00:18:58.410 --> 00:19:04.620
Johonkin niin tota tehdäänx operaatio sen
sijaintipaikan itsensä kanssanne tota silloin
252
00:19:04.620 --> 00:19:10.690
tuloksena siihen muodostuu nolla siihen
paikalle elikkä elikkä olkoon me muuttuja ei
253
00:19:10.690 --> 00:19:15.530
nolla niin niin sehän oli tuollaiset sour
operaattorilla kun se optimoidaan suorituskyky
254
00:19:15.530 --> 00:19:19.990
se on silloin se on silloin lyhyempi käsky
ja sitten se on nopeampi suorittaa kun kun
255
00:19:19.990 --> 00:19:26.730
se että että oikeasti
kopioitaisiin nolla tuolta.
256
00:19:26.730 --> 00:19:31.440
Muistista käskyn osana sinne rekisteriin.
257
00:19:31.440 --> 00:19:34.900
Ei niin tähän kärryä, minkä takia
tuossa näyttäisi olevan tota.
258
00:19:34.900 --> 00:19:41.090
No ei ei niinku käsittääkseni ei operaatiota
ja tota sitten kuitenkin jotain tapahtuu.
259
00:19:41.090 --> 00:19:46.280
Ehkä niin tota aika mielenkiintoinen
mielenkiintoinen nää menee siis tää.
260
00:19:46.280 --> 00:19:50.230
Sumentaa kovasti sitä että että
että mitä oppimisen kauttakin
261
00:19:50.230 --> 00:19:55.240
kautta voidaan tehdä
tietysti plus ykkönen niin.
262
00:19:55.240 --> 00:20:07.080
Plus ykkönen on edelleen vaan at yks.
Sitten tota.
263
00:20:07.080 --> 00:20:11.620
Siellä on myös joo elikkä nyt verrattuna
äskeiseen näkymään tää optimoinut
264
00:20:11.620 --> 00:20:15.950
nätisti niin että tuossa on jo 3
rivin hyvien 5 6 7 toiminnasta on
265
00:20:15.950 --> 00:20:18.850
loppujen lopuksi oikeastaan tullut vaan.
Vaan tota käydä.
266
00:20:18.850 --> 00:20:20.650
2.
267
00:20:20.650 --> 00:20:26.500
20 elikkä ja ne tamara ihan
täysin nää niinku nää nää.
268
00:20:26.500 --> 00:20:31.020
Oppimisen kannalta alkuvaiheessa
relevantit youtube elikkä tää on sitten
269
00:20:31.020 --> 00:20:36.020
niinku sitä myöhemmän elämän asiaa jos
joudut tekemään vaikka näitä kääntäjiä
270
00:20:36.020 --> 00:20:39.180
jotka sitten optimoi koodia niin sitten.
271
00:20:39.180 --> 00:20:41.200
Sitten sitten tota tarvitsee.
272
00:20:41.200 --> 00:20:43.860
Tarvitsee palata näihin
elikkä elikkä tää nyt mitä se
273
00:20:43.860 --> 00:20:46.910
optimointi tekee niin tällaisia juttuja.
274
00:20:46.910 --> 00:20:53.260
Joo, ja nyt sitten meidän oli hyvä laittaa.
Se on ollut sitten niin.
275
00:20:53.260 --> 00:20:57.770
Ollaan.
Ollaan tota.
276
00:20:57.770 --> 00:20:59.690
Sample.
277
00:20:59.690 --> 00:21:06.960
Me ei kautta MR saikohan sillä että ei
saanut tohon laittaa vaan ennen mainio noin.
278
00:21:06.960 --> 00:21:13.290
No niin ku sitten.
Sitten meillä tota.
279
00:21:13.290 --> 00:21:17.740
Tapahtui oikeasti nolla siirtäminen.
280
00:21:17.740 --> 00:21:25.320
Vieläpä ei suoraan rekisteriin vaan
vaan tota pinokehyksen muistiin.
281
00:21:25.320 --> 00:21:28.410
Menee sitten.
Nolla.
282
00:21:28.410 --> 00:21:34.090
Ei tehokasta, mutta kaikki on
silloin sellaista kuin mitä voit ehkä.
283
00:21:34.090 --> 00:21:38.690
Löytää sitten jostain vaikkapa
suomenkielisestä oppimateriaalista,
284
00:21:38.690 --> 00:21:42.510
jota voi sitten jollain
kurssilla vaikka olla.
285
00:21:42.510 --> 00:21:47.350
Olla käytössä sitten niin
niin siellä voi olla sitten.
286
00:21:47.350 --> 00:21:53.830
Sitten tota.
287
00:21:53.830 --> 00:21:58.350
Jossain vaiheessa tulla vastaan sitten
tästä tietokoneen muistista esimerkiksi.
288
00:21:58.350 --> 00:22:01.660
Näistä pinokehyksestä niin.
289
00:22:01.660 --> 00:22:03.520
Kaikki vastaa paljon lähemmin.
290
00:22:03.520 --> 00:22:09.190
Nyt sitten näitä perusajattelumalleja
kun jätetään se optimointi pois.
291
00:22:09.190 --> 00:22:12.510
Joo no sitten kun alkaa uskoa
että siellä niitä tavuja on
292
00:22:12.510 --> 00:22:18.440
ja sieltä ne sieltä ne
spekseistä määräytyy.
293
00:22:18.440 --> 00:22:26.700
Niin sitten voi pitää ollauksessa
ottaa siitä pois sen sen mikä mikä tota.
294
00:22:26.700 --> 00:22:30.980
Pyytää sen tavun jonon
näyttämisen, elikkä se oli tuo
295
00:22:30.980 --> 00:22:34.390
kautta niin sitä ei tarvitse mutta.
296
00:22:34.390 --> 00:22:37.520
Tuo kautta niillä budjetilla niin se on.
297
00:22:37.520 --> 00:22:39.940
Se on hyvä olla koska sitten.
298
00:22:39.940 --> 00:22:45.230
Se, että pysytään kartalla siitä, että.
Mitä se on?
299
00:22:45.230 --> 00:22:47.120
Lähdekoodi oli?
300
00:22:47.120 --> 00:22:52.860
Synnytyksissä on sitten eroja ja tää
sitten aiheuttaa alussa päänvaivaa ja
301
00:22:52.860 --> 00:22:58.750
ja loppuelämän se päänvaiva
siellä pysyy että täällä niin.
302
00:22:58.750 --> 00:23:00.610
Tosiaan on on nää rekisterit.
303
00:23:00.610 --> 00:23:05.340
Esimerkiksi meillä on prosentti
merkille ja pienillä kirjaimilla kun kun.
304
00:23:05.340 --> 00:23:07.750
Kun ne tota tuolla.
305
00:23:07.750 --> 00:23:11.270
AMDN ja intelli dokumentaatiossa,
niin ne on isoilla
306
00:23:11.270 --> 00:23:15.940
kirjaimilla ilman prosenttimerkkiä.
307
00:23:15.940 --> 00:23:20.200
Eli samoista asioista
puhutaan, mutta sitten.
308
00:23:20.200 --> 00:23:24.540
Toinen olennainen juttu, että nää
eri päin elikkä nyt aina kun puhutaan
309
00:23:24.540 --> 00:23:27.320
ensimmäisestä operaatiosta
ja toisesta operaatioista.
310
00:23:27.320 --> 00:23:33.930
Tämä jo kertausta taas edellisestä,
mutta jos jos jossain on niinku.
311
00:23:33.930 --> 00:23:38.990
Tällaista seksissä on move
ESPEB, niin tuolla meidän meidän
312
00:23:38.990 --> 00:23:41.550
synnytyksissä niin niin niin se se onkin.
313
00:23:41.550 --> 00:23:45.550
Oikeastaan se on pikkuisella kirjaimilla.
314
00:23:45.550 --> 00:23:52.170
Ensinnäkin myös se se movi ja sitten siinä
olisi aina mukana sitten pikku ilmestymässä
315
00:23:52.170 --> 00:23:56.080
sitä, että tää on kolmekymmentäkaksi
bittinen operaatio.
316
00:23:56.080 --> 00:23:58.290
Ja se pikkuisen vielä.
317
00:23:58.290 --> 00:24:04.720
On on tuossa synnytyksissä alussa vähän häivää,
että siellä on pikku tai pikku kun se on
318
00:24:04.720 --> 00:24:11.010
kuusikymmentäneljä bittinen niinku 60
ne ei oikeasti se on niinku word eli eli.
319
00:24:11.010 --> 00:24:18.170
4 sanaa josta sitten sanaa on vähentää kun
mittainen ja silleen niin ja niinku long
320
00:24:18.170 --> 00:24:23.220
word elikkä elikkä se on pienillä kirjaimilla
siellä perässä jos puhutaan tuommoista
321
00:24:23.220 --> 00:24:27.370
kolmekymmentäkaksi bittistä rekisteriä
siirrosta ja sitten mikä tärkeintä on erittäin
322
00:24:27.370 --> 00:24:32.210
elikkä nyt tässä niinku se peilaus pitää
päässä tehdä, että nyt nyt kun me nähdään
323
00:24:32.210 --> 00:24:37.590
tota ATNTN sen taksin gnu varianttia.
324
00:24:37.590 --> 00:24:41.730
Niinku murretta, niin siinä meillä olisi
tuommoinen esimerkiksi niin se olisi
325
00:24:41.730 --> 00:24:46.370
pienillä kirjaimilla nuo rekisterin
nimet niinku pikku EBP ja.
326
00:24:46.370 --> 00:24:48.590
Tämä näet se.
327
00:24:48.590 --> 00:24:52.880
Lähde niin sanottu
lähde on ensimmäisenä ja.
328
00:24:52.880 --> 00:24:59.480
, on syntaksia sama sitten tota tuo
prosentti ja pienillä kirjaimilla niin.
329
00:24:59.480 --> 00:25:02.500
ESP.
330
00:25:02.500 --> 00:25:08.990
Tällaisia asioita pitää pärjätä syy
silleen, että näissä aihepiireissä käytetään
331
00:25:08.990 --> 00:25:13.340
tätä syntaksia, joka on peilikuvana ja
sisältää niitä prosenttimerkkejä ja pikku
332
00:25:13.340 --> 00:25:18.200
älliä ja pikku puuta ja
joitain tiettyjä muitakin eroja.
333
00:25:18.200 --> 00:25:23.570
Niin on se, että
ensinnäkin se on oletuksena.
334
00:25:23.570 --> 00:25:26.330
Käytössä se meidän työkaluissa.
335
00:25:26.330 --> 00:25:29.130
Ja sitten niin näiltä voisi
pyytää tuon sen taksin.
336
00:25:29.130 --> 00:25:33.870
Myöskin tuossa intel formaatissa.
337
00:25:33.870 --> 00:25:38.850
Mutta näiden reaalimaailman dokumentaatiot,
joita me nyt tutkitaan, niin me
338
00:25:38.850 --> 00:25:44.960
on näitä linuxin reaalimaailman
dokumentaatiota esimerkiksi.
339
00:25:44.960 --> 00:25:49.800
Jälleen täysin netistä
ladattavissa oleva syysve.
340
00:25:49.800 --> 00:25:55.760
Abi eli application dinerin interface AD sixty
for architecture processor supplement craft
341
00:25:55.760 --> 00:26:03.250
version share point ninety nine point
siksi niin täällä puhutaan kanssa tota.
342
00:26:03.250 --> 00:26:06.270
Samalla tällä syntaksilla eli siellä
on prosenttimerkkirekisterissä.
343
00:26:06.270 --> 00:26:11.930
Ne on pienillä kirjaimilla ja järjestys
on noin noin päin ja sitten lisää eroja
344
00:26:11.930 --> 00:26:18.220
tulee meillä vastaan elikkä
elikkä kun meillä on on sitten.
345
00:26:18.220 --> 00:26:22.720
Prosenttimerkillä pienillä
kirjaimilla rekisterin nimi suluissa.
346
00:26:22.720 --> 00:26:26.810
Ja sitten sen vasemmalla
puolella on joku luku.
347
00:26:26.810 --> 00:26:31.550
Niin niin tämä sitten
tarkoittaa rekisterin sisältöä.
348
00:26:31.550 --> 00:26:37.310
Plus sitten tämä vasemmalla oleva
luku ja ja tota tässä on siis semmoisia
349
00:26:37.310 --> 00:26:41.180
mitkä siinä toisessa synnytyksissä
mitä noissa manuaalissa taas on niin
350
00:26:41.180 --> 00:26:46.590
se olisi niinku tuossa olisi isoilla RBB.
Plus.
351
00:26:46.590 --> 00:26:50.160
16. Niin se
olisi näin päin.
352
00:26:50.160 --> 00:26:53.080
Nyt tässä mitä nähdään, niin
meillä on suluissa prosentti
353
00:26:53.080 --> 00:26:58.480
pienillä RB ja sitten vasemmalla on 16.
354
00:26:58.480 --> 00:27:01.360
Tuolla taas
tarkkaavaisuuskysymys manuaalissa.
355
00:27:01.360 --> 00:27:05.680
Mitä me nähdään?
Kun meidän työkaluissa nyt me nähdään.
356
00:27:05.680 --> 00:27:23.500
-8 suluissa prosenttia RVP.
357
00:27:23.500 --> 00:27:27.730
Joo joo, ei vaan meidän meidän tuolla.
358
00:27:27.730 --> 00:27:36.920
Manuaaleja and emanuel tuollainen
sanottaisiin tuota RBP isoilla kirjaimilla.
359
00:27:36.920 --> 00:27:39.400
Niin -8.
360
00:27:39.400 --> 00:27:46.670
Joo eli tää niinku tää syntaksi
syntaksi ero historiasta johtuvat joo.
361
00:27:46.670 --> 00:27:49.530
Muutama erilaista käytäntöä on
ollut ja edelleen on käytössä
362
00:27:49.530 --> 00:27:56.330
ja sitten työkalut käyttää näitä eri itse.
Harrastelen tuota niin.
363
00:27:56.330 --> 00:28:01.250
Sitä demoskenee ja niiden pienten ohjelmien
tekemistä ja uusimpana opettelin viime kesänä
364
00:28:01.250 --> 00:28:05.580
windowsille tekemään nyt sitten niihin
konekielellä yksi kilotavua tuotoksen.
365
00:28:05.580 --> 00:28:09.170
Se tuli kisassa viimeiseksi jonkun pitää
tulla kisassa viimeiseksi ja tuota ihan
366
00:28:09.170 --> 00:28:12.750
ansaittua oli kaikki se kommentointi
sieltä sieltä yleisestä, että nyt siinä
367
00:28:12.750 --> 00:28:17.270
on muumimamma laitettu ja mikä on helpoin
niinku graafinen efekti niin saadaan
368
00:28:17.270 --> 00:28:19.410
aikaan palloja jotka
vähän sulautuu toisiinsa.
369
00:28:19.410 --> 00:28:21.310
Voitte katsoa, se löytyy.
370
00:28:21.310 --> 00:28:26.290
Master assembly summer 2000
kaksikymmentäkaksi viimeinen sija yksi
371
00:28:26.290 --> 00:28:28.430
kilon kilpailussa, mutta
sinne kirjoitin ilman muuta.
372
00:28:28.430 --> 00:28:31.970
Tässä sitten niinku omasta mielestä
mukavammalla syntaksilla, joka on sitten
373
00:28:31.970 --> 00:28:36.600
toi manuaalienkin käyttämä
ja sitten semmoisella mm.
374
00:28:36.600 --> 00:28:42.470
Nimisellä.
Konekieli kääntäjällä sitten.
375
00:28:42.470 --> 00:28:44.380
Sitä on tehnyt vuodesta.
376
00:28:44.380 --> 00:28:49.090
Vuodesta toiseen tota
sitten myös linuxilla sitten.
377
00:28:49.090 --> 00:28:54.330
Omasta mielestä tein tein hienoimman yksi
kilon avun linux binäärin aikoinaan nimenomaan
378
00:28:54.330 --> 00:28:59.280
tällä sen taksilla, mikä on
sitten myös manuaalissa tota.
379
00:28:59.280 --> 00:29:02.770
Aikoinaan sen jälkeen tuli hienompi hieno,
mutta nyt mä oon takaisin mallinnuksella
380
00:29:02.770 --> 00:29:07.020
selvittänyt kikat siitä, että
jatkossa mä tulen tekemään.
381
00:29:07.020 --> 00:29:10.080
Jonain päivänä taas hienoa.
382
00:29:10.080 --> 00:29:13.260
Joo, mutta syyt silleen että käytetään
niin on se, että meidän työkalut
383
00:29:13.260 --> 00:29:18.130
oletuksena tukee ja sitten nää linux
maailmasta tulevat reaalimaailman dokumentaatiot
384
00:29:18.130 --> 00:29:23.200
niinku tää syysvehnäbi niin käyttää tota.
385
00:29:23.200 --> 00:29:25.180
Syntaksia mutta nää on
vaan synteettisiä eroja.
386
00:29:25.180 --> 00:29:29.960
Edelleen se laite joka toimii samalla
aina nyt sitten mitä näissä työkaluissa
387
00:29:29.960 --> 00:29:35.110
nähdään niin lähde on
vasemmalla kohde oikealla.
388
00:29:35.110 --> 00:29:38.780
Tuossa toisessa
synnytyksessä first operan.
389
00:29:38.780 --> 00:29:44.110
On kohde ja lähde on se toinen,
mutta tabujonot mitä voi kolata
390
00:29:44.110 --> 00:29:50.900
niin ne on samat kun se on samanlainen.
Sama speksiä.
391
00:29:50.900 --> 00:29:55.460
Joo, mikään näistä ei ollut
mainosta millekään firmalle
392
00:29:55.460 --> 00:29:58.380
ja en tiedä pitääkö
ruveta mainitsemaan kun.
393
00:29:58.380 --> 00:30:01.950
Kun kun minä ihan pienen sijoittajaksi
ryhdyin kun se oli niin hauskaa ja helppoa niin
394
00:30:01.950 --> 00:30:08.650
tota omistan muutamia osakkeita sekä
advanced mikrobincea että inteliä.
395
00:30:08.650 --> 00:30:11.380
Mutta tarkoittaa sitä, että
jos ostat kyseisen laitteen,
396
00:30:11.380 --> 00:30:14.360
niin saan siitä ehkä tätä miljardisosan.
397
00:30:14.360 --> 00:30:17.870
Dollarin sitten tuota vuoden
päästä osinkona että en koe.
398
00:30:17.870 --> 00:30:19.700
En koe että tämä vaikuttaa.
399
00:30:19.700 --> 00:30:24.170
Tuota vaikuttaa millään lailla nyt tähän
niinku vastuuseen näistä valinnoista.
400
00:30:24.170 --> 00:30:31.720
Mitä täällä tehdään että että että tota
mutta on tuotiin julki nyt sekin sekin asia.
401
00:30:31.720 --> 00:30:35.710
Nää miten manuaalit on hyvin kirjoitettu
ja on ne intiimit, mutta käytämme näitä.
402
00:30:35.710 --> 00:30:42.720
Nää on hyviä ja perusteella näiden käyttämiselle
on se, että AD tosiaan kerkesi ekana
403
00:30:42.720 --> 00:30:46.860
muodostaa tän kyseisen speksi kuusikymmentäneljä
viitisen, joka laajentaa intelin
404
00:30:46.860 --> 00:30:50.170
kylläkin tekemää kolmekymmentäkaksi
teknistä arkkitehtuuria.
405
00:30:50.170 --> 00:30:54.680
Kerro jos ei kuulu mitään.
406
00:30:54.680 --> 00:31:00.180
Ja kun kaikilla on taskussa saa armi niin armille
löytyy ihan vastaava kyseiset ja riskiveille
407
00:31:00.180 --> 00:31:05.860
löytyy kanssa ihan vastaavat kyseiset paperit
että just joo ja tää tää kaikki nyt näissä
408
00:31:05.860 --> 00:31:09.630
aihepiirin videoissa tää
on nyt esimerkki joka on.
409
00:31:09.630 --> 00:31:12.270
Sattumalta kaikille saatavissa
esimerkiksi siinä ympäristössä, missä
410
00:31:12.270 --> 00:31:17.100
me tehdään, mutta google
auki ja arm prosessor.
411
00:31:17.100 --> 00:31:26.290
Kiitos tuure, niin eiköhän se näyttäisi
sitten arm nimisen nimisen tota firman.
412
00:31:26.290 --> 00:31:30.570
Nettisivuilta varmasti pääsee taas
heidän prosessorin arkkitehtuuriin.
413
00:31:30.570 --> 00:31:35.420
Tota.
Manuaaleja.
414
00:31:35.420 --> 00:31:38.310
Jotka olennaisesti samanlaisia.
415
00:31:38.310 --> 00:31:43.200
Hierarkisesti jäsentyvät dokumentteja
niin monta 1000 sivua kun niitä tarvitaan.
416
00:31:43.200 --> 00:31:48.510
Ja ja tota.
Lopulta sieltä.
417
00:31:48.510 --> 00:31:52.040
Pystytään, pystytään sitten pääsemään.
418
00:31:52.040 --> 00:31:56.180
Pääsemään esimerkiksi jonkun tietyn.
Pitää äsken.
419
00:31:56.180 --> 00:32:01.410
Kohdalle.
Tuolla on enter sitten esimerkki.
420
00:32:01.410 --> 00:32:04.310
Joka on sitten vastinpari.
421
00:32:04.310 --> 00:32:09.840
Tolle leiville elikkä mä taas
rakentaa aliohjelman pinokehyksen.
422
00:32:09.840 --> 00:32:15.790
Ja siinä.
Oikeastaan toi speksi.
423
00:32:15.790 --> 00:32:19.960
Spoilaan pitkälti sitä mitä harjoitellaan
nyt tällä kurssilla pikkaisen itse.
424
00:32:19.960 --> 00:32:25.170
Rakentelemaan ja voidaan havaita
näistä ulosteista, että syntaksia
425
00:32:25.170 --> 00:32:30.000
vaille samoja juttuja täältä
tapahtuu eli kun vertaa.
426
00:32:30.000 --> 00:32:32.760
Niin täällä tapahtui.
427
00:32:32.760 --> 00:32:39.560
Tutun näköistä asiaa tuossa tilalla voisi
käyttää enter nimistä käskyä ja nyt pitää huomata
428
00:32:39.560 --> 00:32:43.820
että on kuusikymmentäneljä bittinen kun
näissä on täällä alussa ja kolmekymmentäkaksi
429
00:32:43.820 --> 00:32:49.200
bittinen on edelleen mahdollinen
sitten siinä tuossa alussa.
430
00:32:49.200 --> 00:32:52.960
Ja nää peilikuvana kaikki tällä
näillä näin niin tota mutta joo
431
00:32:52.960 --> 00:32:56.110
tää ei opi sillä että
katsot katsoit tämän videon.
432
00:32:56.110 --> 00:32:59.610
Hyvä että katsoit koska tää oli käynnistys
lähtölaukaus silleen että nyt kokeilemaan
433
00:32:59.610 --> 00:33:05.250
kun mä taidothan näpeissä
niin niin niin tätä tätä asiaa.
434
00:33:05.250 --> 00:33:12.610
Ja ja tota.
Päätteeksi tähän niin.
435
00:33:12.610 --> 00:33:19.500
Vielä siitä hei maailmasta niinku tota.
Tosiaan sitä.
436
00:33:19.500 --> 00:33:24.680
Päästään sitten sitten tota rakentelemaan
kokeilemaan mitenkä se kieli nyt toimi, että entäs
437
00:33:24.680 --> 00:33:29.350
jos meillä meillä olisi puretaan viritys ja
tehdään aliohjelmakutsu oikein suorastaan tuohon
438
00:33:29.350 --> 00:33:37.630
että että kutsutaan heippa ja
puretaan tuosta tuo viritys noista.
439
00:33:37.630 --> 00:33:43.450
Näistä tuota.
440
00:33:43.450 --> 00:33:46.330
Tosta varmaan pitäisi nyt tulla
käänteen varoituskin katsotaan
441
00:33:46.330 --> 00:33:50.460
tuleeko kun mä pyysin
varoittamaan niin joo.
442
00:33:50.460 --> 00:33:56.560
Niin niin se tota varoittaa paristakin
jutusta ja sen takia se olkin olla elikkä nyti.
443
00:33:56.560 --> 00:34:01.410
Tuossa on vähän sillä lailla,
että että tuollaista ei nyt siellä.
444
00:34:01.410 --> 00:34:06.830
Varmaan pitäisi olla kun ei tuossa
tarvittu ja sitten tässä oli ohjelmassa
445
00:34:06.830 --> 00:34:12.950
vielä niin tota oli sitä undefined
kaveria nyt että kun luvattiin että sieltä
446
00:34:12.950 --> 00:34:15.680
jotain palautetaan
esimerkiksi pitää tehdä ja.
447
00:34:15.680 --> 00:34:19.990
Tätä kautta ja tää on normaalia ja nuo
ystäviä nuo ilmoitusta ja tähdätään siihen
448
00:34:19.990 --> 00:34:24.600
että ymmärretään kaikki mitä tehtiin
päästään kokeilemaan päästään demokratialla
449
00:34:24.600 --> 00:34:29.490
katselemaan että mielikuvamallia
vastaa se nykyinen.
450
00:34:29.490 --> 00:34:34.140
Ja ja tota ymmärretään.
Mitä nää?
451
00:34:34.140 --> 00:34:36.020
Mitä nää sitten?
452
00:34:36.020 --> 00:34:40.410
Meille kannattaa kertoa, että
saadaan sen kysymyksiä sitten.
453
00:34:40.410 --> 00:34:42.970
Aukeamaan.
Tuossa on sitten.
454
00:34:42.970 --> 00:34:47.900
Kutsu jo heippa ali
ohjelmalle, joka voidaan sieltä.
455
00:34:47.900 --> 00:34:52.660
Pyytää myös näkymään ja tuossa me nähdään
yksi, mikä toivottavasti olisi tarttunut
456
00:34:52.660 --> 00:34:55.970
silmään, ehkä mahdollisesti
kauan sitten jo ensimmäisessä.
457
00:34:55.970 --> 00:35:00.940
Hei maailman esimerkissä tuo
kääntäjä on tehnyt vekkulin jutun.
458
00:35:00.940 --> 00:35:09.070
Mulla koodissa lukee printf tää oikeasti
kutsuu kirjastosta puh nimistä aliohjelma
459
00:35:09.070 --> 00:35:15.330
se on se on se on tota tehnyt jutun
joka toivottavasti heräsi kysymyksenä.
460
00:35:15.330 --> 00:35:19.780
Kun tämä tämä näkyi pieni tarkkaavaisia
kysymys ei haittaa jos ei se herännyt.
461
00:35:19.780 --> 00:35:23.250
Tää on sellainen juttu, että se keksii
tuossa että on tehokkaampaa kutsua
462
00:35:23.250 --> 00:35:28.370
puut vaikka käyttäjä haluaisi
printf käyttää ehkä näin.
463
00:35:28.370 --> 00:35:34.250
No tämä siis googletuksen kautta
sitäkö overflow kaivettu eilen
464
00:35:34.250 --> 00:35:38.710
no built in rinteen
niin nyt ei ehkä voisin.
465
00:35:38.710 --> 00:35:44.300
Kääntää siten, että nyt älä tee tämmöistä
tämmöistä temppua vaan vaan tota.
466
00:35:44.300 --> 00:35:47.750
Nyt.
Vertaa äkkiä.
467
00:35:47.750 --> 00:35:55.550
Tuota vielä, että saanko mielikuvan mallin
mukaisesti nyt sen heippa aliohjelman.
468
00:35:55.550 --> 00:35:57.510
Kutsumaan oikeasti printf aaltio.
469
00:35:57.510 --> 00:36:00.410
Sanoin, että tuossa niinku tässä
takaisin mallinnuksen kautta huomasin
470
00:36:00.410 --> 00:36:03.430
tämmöisen jutun, mikä on
kylläkin tuo gnu kääntäjän.
471
00:36:03.430 --> 00:36:07.600
Niin kyllä se niinku ihan luvatusti näin tekee
ja sprin täysin laittanut ja sitten vaan jotain
472
00:36:07.600 --> 00:36:13.940
ja rivinvaihdon niin se korvaa siihen
tilalle tehokkaamman tavan tehdä sama.
473
00:36:13.940 --> 00:36:17.110
No niin.
Mutta kaikki saa selityksen.
474
00:36:17.110 --> 00:36:22.250
Ihmisethän sen googlen
kautta ja kysymällä kaverille.
475
00:36:22.250 --> 00:36:27.370
No nyt on varmaan evästettä se mitä hei
maailmasta lähti, koska me päästiin tästä jo niinku
476
00:36:27.370 --> 00:36:31.790
aliohjelmakutsuihin ja nyt me voidaan eri
aihepiirin videoissa jo sitten jatkossa ajatella
477
00:36:31.790 --> 00:36:36.200
että CGN ollaan niinku tällä
tasolla ja bunkkeriin paastosta.
478
00:36:36.200 --> 00:36:42.970
Tai mennä näihin ilmiöihin tarkemmin.
Joo.
479
00:36:42.970 --> 00:36:47.370
Siinä varmaan, jos haluatte
kysyä jotain, mä pistän
480
00:36:47.370 --> 00:36:50.770
pauselle vaikka yliaikaa tänään ollaan.
481
00:36:50.770 --> 00:36:56.860
Joo hienosti studio yleisöstä osa jäi
vielä tänne niinku sparraamaan luokkaan.
482
00:36:56.860 --> 00:37:02.750
Osa vapautettiin, mutta hei kotikatsomoissa
voit jatkaa tästä kohtaa nyt meidän kanssa
483
00:37:02.750 --> 00:37:06.170
ja tuli hyviä tarkentavia kysymyksiä
vielä tähän tähän aihepiiriin.
484
00:37:06.170 --> 00:37:11.190
Eli eli nyt ensinnäkin tällainen,
että onko väliä, kutsuttaisiinko
485
00:37:11.190 --> 00:37:16.750
tässä sitä printf joka tässä lukee
vai sitä puts mitä se kääntäjä
486
00:37:16.750 --> 00:37:22.170
sinne niinku automaattisesti
halusi törkeätä.
487
00:37:22.170 --> 00:37:26.180
Niin.
Tota.
488
00:37:26.180 --> 00:37:29.320
Ehkä nyt.
Sanallisesti.
489
00:37:29.320 --> 00:37:31.650
Selitän.
490
00:37:31.650 --> 00:37:36.590
Että on väliä ja sillä on
väliä suorituskyvyn kannalta.
491
00:37:36.590 --> 00:37:41.020
Koska mistä reaalimaailman
dokumentaatiosta?
492
00:37:41.020 --> 00:37:43.470
Me voitaisiin, vaikka mehän
voitaisiin varmaan niinku vetäistä
493
00:37:43.470 --> 00:37:46.830
tuohon huvikseen se selattava postiksi.
494
00:37:46.830 --> 00:37:51.240
Auki ja sieltä printf koska se se niinku.
495
00:37:51.240 --> 00:37:56.040
Delegoi tota sinne se kirjastoon.
496
00:37:56.040 --> 00:38:02.760
Asioita muun muassa sitten ton
toi system interfaces osiossa
497
00:38:02.760 --> 00:38:07.390
on varmaan ollut sprint f. Ja tota.
498
00:38:07.390 --> 00:38:09.620
Kysymys siitä, löytyykö
sieltä myös se puts?
499
00:38:09.620 --> 00:38:18.920
Onko se missä määrin?
On se siellä joo eli eli tuossa otetaan.
500
00:38:18.920 --> 00:38:28.150
Mut speksi auki ja sitten se RPRN
kohdalta löytyminen se printf.
501
00:38:28.150 --> 00:38:34.020
Kun r.
R niinku printtasi tuossa.
502
00:38:34.020 --> 00:38:38.990
Noin mä tytön välilehti auki puts.
503
00:38:38.990 --> 00:38:42.070
Batch mutta yleensä se oli hyvä.
504
00:38:42.070 --> 00:38:46.150
Lähdetään jotain ennen kuin vatsa niinku
peput mutta muistisääntönä voi käyttää.
505
00:38:46.150 --> 00:38:51.750
Joo niin putsaa ja ja lyhyesti
kuvailtuna niin laittaa
506
00:38:51.750 --> 00:38:55.910
merkkijonon standardin ulostulo virtaa.
507
00:38:55.910 --> 00:38:59.640
Löytyy samasta paikasta
SDIO otsikkotiedot kun sekin
508
00:38:59.640 --> 00:39:02.840
printf ja toimii siten että se palauttaa.
509
00:39:02.840 --> 00:39:08.940
Kokonaisluvun nimi on puts
ja ottaa vakiona pysyvän.
510
00:39:08.940 --> 00:39:17.340
Merkkiin vakioina pysyin merkkeihin
osoittamaan tota muistiosoitteen nimeltä
511
00:39:17.340 --> 00:39:19.440
s.
512
00:39:19.440 --> 00:39:23.460
Tää on tämmöinen ja ja tota
tää tän tehtävän nyt on sen
513
00:39:23.460 --> 00:39:27.940
tulee tulee vaan kirjoittaa osoittamaan.
514
00:39:27.940 --> 00:39:33.120
Merkkijono ja sen jälkeen
.
515
00:39:33.120 --> 00:39:38.330
Standardin ulostulo pirtaan eli SD
on nimeltään sitten meillä cgens.
516
00:39:38.330 --> 00:39:42.110
Eli se on se, mikä sitten nähdään tuossa
konsolissa tai mikä voidaan ohjata seuraavan
517
00:39:42.110 --> 00:39:48.340
ohjelman tulosteeksi putkella tai
viedä tiedostoon kuoressa niin sillä.
518
00:39:48.340 --> 00:39:54.980
Suurempi kuin merkillä tai.
Ja ja tota.
519
00:39:54.980 --> 00:39:57.980
Ja sitten merkkijono kielessä.
520
00:39:57.980 --> 00:40:02.120
Tää on sitten speksin nyanssi niin
pitää vähän niinku ymmärretä että tätä
521
00:40:02.120 --> 00:40:07.580
kaipaa takaisin mallinnuksella niin
niin niin merkkijono loppuminen tietää
522
00:40:07.580 --> 00:40:10.130
siitä, että siellä tulee vielä tavu nolla.
523
00:40:10.130 --> 00:40:15.030
Ja tossa nyt vielä täsmentää toi
speksi että että sitä ei ei tulosteta.
524
00:40:15.030 --> 00:40:17.560
Se on tulkinta että yleensä se ei
niinku varsinaisesti kuulu merkkien
525
00:40:17.560 --> 00:40:19.630
ole sisältöä, mutta siellä
pitää se nolla olla lopussa.
526
00:40:19.630 --> 00:40:23.610
Siitä vasta tiedetään, että nyt se merkki on päättynyt.
Musta sitä ei tiedetäkään.
527
00:40:23.610 --> 00:40:26.050
Se on muistiosoite johonkin
mistä alkaa merkkejä ja sitten
528
00:40:26.050 --> 00:40:28.280
lopussa on nolla niin siihen asti.
529
00:40:28.280 --> 00:40:30.760
Olemme asiakirjojen merkkejä.
530
00:40:30.760 --> 00:40:35.230
Kaikki tämä kokeiltavissa sitten ja
kukkasilla varsinkin pidemmän päälle.
531
00:40:35.230 --> 00:40:37.750
No se on semmoinen tää tekee aika vähän.
532
00:40:37.750 --> 00:40:40.530
Tää vaan niinku tulostaa merkkejä.
533
00:40:40.530 --> 00:40:44.000
Ja nyt vertailun vuoksi
tuossa vieressä on toi.
534
00:40:44.000 --> 00:40:49.770
Toi printf.
Ja mitä tää taas tekee?
535
00:40:49.770 --> 00:40:56.380
Tää tulostaa tota muotoiltua.
Ulostuloa.
536
00:40:56.380 --> 00:41:03.120
Ja ja mikä siinä on nyt se idea sille
annetaan nyt ensinnäkin se muotoilumerkkijono
537
00:41:03.120 --> 00:41:09.360
ja sitten 3 pistettä tarkoittaa
että voi antaa sitten lisää.
538
00:41:09.360 --> 00:41:15.460
Noita parametreja tai argumentteja
niin niin niin sen verran kun tarvitsee
539
00:41:15.460 --> 00:41:19.440
elikkä siitä oli meille
se se esimerkki, että.
540
00:41:19.440 --> 00:41:23.100
Että.
Että jos haluttiin sinne.
541
00:41:23.100 --> 00:41:25.750
Hei, maailma.
542
00:41:25.750 --> 00:41:33.400
Paras luku on 1 2 3 mutta mä en haluaisi
sitä tuohon kirjoittaa vaan näin että.
543
00:41:33.400 --> 00:41:38.510
Että tota voisi aukko
täydellisessä olisi tuossa.
544
00:41:38.510 --> 00:41:43.010
Ja nyt mitä tää joutuu
aina tekemään tää printf.
545
00:41:43.010 --> 00:41:50.290
Se joutuu käymään läpi tuosta, että mitäs
täällä merkkijonossa on iso pikku EI, väli.
546
00:41:50.290 --> 00:41:53.440
Se joutuu käymään ensin läpi ennen
kun se mitään niinku voi oikeastaan
547
00:41:53.440 --> 00:41:56.890
niinku.
No kuulostaako se niitä saman tien vai ei?
548
00:41:56.890 --> 00:41:59.360
Sillä ei ole väliä, mutta joka
tapauksessa joutuu käymään läpi
549
00:41:59.360 --> 00:42:04.110
ja tarkistelemaan, että
onko siellä tota prosentti.
550
00:42:04.110 --> 00:42:06.890
Jos on prosentti niin se joutuu
tekemään lisää operaatiota.
551
00:42:06.890 --> 00:42:13.490
Se joutuu muotoilemaan siihen kohtaan.
Nyt sitten eri eri.
552
00:42:13.490 --> 00:42:19.300
Parametrina tulee tota.
Luvun esimerkiksi tuossa prosentti DL.
553
00:42:19.300 --> 00:42:24.690
Elikkä löytyy tietenkin sieltä sieltä
spekseistä sitten että että mitä nää.
554
00:42:24.690 --> 00:42:27.260
Nää voi olla sitten nää.
555
00:42:27.260 --> 00:42:32.580
Nää niinku prosentilla ilmaistava eli
tuossa on niinku esimerkki kellonajasta.
556
00:42:32.580 --> 00:42:38.410
Tunnit minuutit sekunnit niin
niin sitten siellä on tota.
557
00:42:38.410 --> 00:42:41.990
Sitten prosentilla.
Muotoilu sille.
558
00:42:41.990 --> 00:42:46.670
Example ja ja sitten tota speksiä
silleen, että mitä kaikkea voi olla, mutta
559
00:42:46.670 --> 00:42:51.300
pointti siihen että tää printf
tekee oleellisesti enemmän.
560
00:42:51.300 --> 00:42:54.800
Jotain put s.
561
00:42:54.800 --> 00:43:02.110
Ja ja tässä tulostaa
tuon rivinvaihdon aina.
562
00:43:02.110 --> 00:43:07.270
Eli nyt esimerkiksi koitetaan ihan niinku.
563
00:43:07.270 --> 00:43:11.750
Kaiken tavoite on se, että päästään kokeilemaan
ja nähdään tätä niin kokeillaan kielsin
564
00:43:11.750 --> 00:43:19.310
äsken tällä vivulla– no bildin print eli älä
käytä sisäänrakennettua jekkua tän prinsessan
565
00:43:19.310 --> 00:43:24.720
kanssa otetaan se pois se viritys
ja katsotaan mitä toi tekee.
566
00:43:24.720 --> 00:43:32.040
Ja ja otetaan sinne GDP ja
otetaan bisnesenkeli ja sitten se.
567
00:43:32.040 --> 00:43:38.110
Heippa.
Niin nyt siellä on.
568
00:43:38.110 --> 00:43:42.540
Printf koska nyt siinä toi kääntäjä
on katsonut läpi myös sen merkkijonon
569
00:43:42.540 --> 00:43:45.520
että nyt siellä on tämmöinen aukko
täydennys meneillään eli se tarvitsee
570
00:43:45.520 --> 00:43:49.330
sen prosentin että nyt ei voi.
571
00:43:49.330 --> 00:43:54.110
Niinku tehostaa asioita kutsumalla tuossa
putkassa nyt tehtiin printf, niinku
572
00:43:54.110 --> 00:43:59.060
ominais asioita jos se kestää
pidempään koska se käy läpi.
573
00:43:59.060 --> 00:44:04.960
Ja tota tietysti aina varmaan hyvä hyvä myös
kokeilla että se homma homma tekee niinku
574
00:44:04.960 --> 00:44:08.900
mitä mielikuvamalli oli, koska
muuten muuten toi olisi ollut ihan.
575
00:44:08.900 --> 00:44:11.890
Turha vilkaisu tuo siis asenne tuolla?
576
00:44:11.890 --> 00:44:17.100
No katsotaan sitten jos ei siinä
olisi sitä aukko täydennystä.
577
00:44:17.100 --> 00:44:19.050
Niin nyt.
578
00:44:19.050 --> 00:44:23.420
Mielikuvamalli olisi että nyt se laittaa
tuohon tilalle sen put koska se vaan
579
00:44:23.420 --> 00:44:27.120
heittää merkit joita ei tarvitse
tarkistaa että mitä siellä on.
580
00:44:27.120 --> 00:44:31.360
Ja rivinvaihdon.
Katsotaan nyt.
581
00:44:31.360 --> 00:44:34.660
Tossa varmaan voi niinku
pistää perään vielä tuonne.
582
00:44:34.660 --> 00:44:38.640
Kokeillaan nyt että se teki niinku
piti hei maailma paras luku on.
583
00:44:38.640 --> 00:44:40.680
No sitten ei ollut mitään.
584
00:44:40.680 --> 00:44:44.820
Lukua siellä koska äsken just pois
niinku koodista ja ja tota näin
585
00:44:44.820 --> 00:44:48.950
on ja nyt mennään katsomaan
sillä bussilla sitten.
586
00:44:48.950 --> 00:44:56.480
Että mitä nyt on kääntynyt sinne?
Leikkaa aliohjelman.
587
00:44:56.480 --> 00:45:01.660
No nyt siellä on se putkassa, elikkä
että se on tajunnut ton ja nyt niinku.
588
00:45:01.660 --> 00:45:06.520
Nyt mä nyt mä oon tonneissa nyt mä oon itse
tekemässä kokeilua josta mä en vielä tiedä mitäs
589
00:45:06.520 --> 00:45:11.100
käy nyt sitten näiden speksien valossa jos mä
poistan tuolta ton rivinvaihdon tuon lopuksi
590
00:45:11.100 --> 00:45:16.300
mikä on kanssa printf juttuja että jos siellä
tulee kenoviivalla on taas sitä mitä print FM
591
00:45:16.300 --> 00:45:19.460
pitää tehdä sen pitää tarkistaa
tuolta että onko tuossa keno.
592
00:45:19.460 --> 00:45:25.110
Ja mitä sen jälkeen tulee ja ne on on .
Tarvii vaihto.
593
00:45:25.110 --> 00:45:27.230
Niin niin tota.
594
00:45:27.230 --> 00:45:31.510
Nyt otin sen rivinvaihdon pois mun
mielikuvamalli perus pieni oletus voisi
595
00:45:31.510 --> 00:45:34.270
olla, että että ei nytkään
voi käyttää sitä put ässää.
596
00:45:34.270 --> 00:45:41.590
Miksipä?
597
00:45:41.590 --> 00:45:47.890
Siksi koska nyt siellä put assen spekseissä
oli että että sen pitää tulostaa merkkijono ja
598
00:45:47.890 --> 00:45:53.030
sen jälkeen Elikkä nyt se tekisi muuta
kuin mitä mä kirjoitin tuohon ohjelmaan.
599
00:45:53.030 --> 00:45:55.650
Elikkä nyt mun niinku oletus
olisi että ainakaan tota put ässää
600
00:45:55.650 --> 00:45:57.810
se ei voisi tuohon niinku
automaattisesti keksiä.
601
00:45:57.810 --> 00:46:02.690
Äsken se keksi kun oli printf
jotain ja ei aukko täydennyksiä,
602
00:46:02.690 --> 00:46:06.110
mutta rivinvaihtomerkki lopussa ja nanna.
603
00:46:06.110 --> 00:46:10.320
Mutta nyt niinku tää tämä speksin
valossa, niin ei se nyt saisi.
604
00:46:10.320 --> 00:46:15.300
Automaattisesti tehostaa
toimintaa tuolla katsotaan.
605
00:46:15.300 --> 00:46:20.500
Käännetään jotain toimii niinku oletin
eli nyt ei rivi vaihtunut vaan suoraan
606
00:46:20.500 --> 00:46:26.300
vaan tuohon niinku tuli tuo kehote OK
eli nyt voidaan mennä mennä katsomaan
607
00:46:26.300 --> 00:46:34.700
GDP, llä mitä te teki siis
jos sample heippa heippa.
608
00:46:34.700 --> 00:46:38.790
No niin näin se oli eli se ei
voinut sinne arpoa sitä put ässää,
609
00:46:38.790 --> 00:46:43.880
koska puut tulostaa
energianvaihdon loppuun.
610
00:46:43.880 --> 00:46:48.590
Näin olipa hyvä kysymys mistä päästiin niinku
nyt oikeasti tänne koneelle missä niinku alusta
611
00:46:48.590 --> 00:46:53.040
lähtien toki pitäisi olla koska näyttää
mallia siitä mitä pitää tehdä eli kokeilla niin
612
00:46:53.040 --> 00:46:58.900
tuli juuri sitä eli eli kokeilua ja speksejä
vertaamista koko aika näpeissä tää homma pienen
613
00:46:58.900 --> 00:47:02.220
muutoksen jälkeen ennen kuin
pyyhkiytyy ongelmat niin.
614
00:47:02.220 --> 00:47:04.120
Niin sitten.
615
00:47:04.120 --> 00:47:08.720
Nopealla syklillä tuo kokeilu ja vastaako se
mielikuvamalli jos haluaisi vielä nopeammin
616
00:47:08.720 --> 00:47:14.310
tuosta niinku niinku tehdä niin niin
niin toki sitten sitten varmaan tuosta.
617
00:47:14.310 --> 00:47:16.470
Voisi vastata.
618
00:47:16.470 --> 00:47:19.500
No joo, en lähde nyt tässä äkkiseltään sitä
yrittää miten scriptaisin netissä sitten on,
619
00:47:19.500 --> 00:47:24.950
että se aina aina tuo reportterit näyttää
siis asetusta tai sitten pyytäisin.
620
00:47:24.950 --> 00:47:30.960
Jo kääntäjä tulostamaan konekieltä ja nähdä
sen tuosta suoraan että mitäs nyt tuli.
621
00:47:30.960 --> 00:47:35.050
No niin hyvä.
Saatiinko me tähän nyt vastaus?
622
00:47:35.050 --> 00:47:40.920
Joo ja ja ja niin kun toi on ihan kiva
juttu että että että printf on on se mitä
623
00:47:40.920 --> 00:47:44.280
me niinku voidaan voidaan käytellä ja
sitten kun me vaan tiedetään että sitten
624
00:47:44.280 --> 00:47:50.200
että joo jos tilanne on
toi niin niin se arpoo tota.
625
00:47:50.200 --> 00:47:54.430
Siihen tilalle puhut tässä automaattisesti.
Kokeillaanpa huvikseni.
626
00:47:54.430 --> 00:47:56.300
Tuostahan tuli nyt se puhu
tässä, mutta entä jos siellä
627
00:47:56.300 --> 00:47:59.100
välissä olisi
Ja mä luulen että nyt.
628
00:47:59.100 --> 00:48:03.800
Edelleen niin kyllä tässä nyt printf
tarvittaisiin varmaankin, koska toi
629
00:48:03.800 --> 00:48:08.320
toi puut ässä ei niinku sitten käy
läpi tuota ja saa tonne väliin laittaa
630
00:48:08.320 --> 00:48:12.560
tuommoista hyvin vaihtoa että että
kyllä varmaan nyt nyt mielikuvamalli
631
00:48:12.560 --> 00:48:16.060
on nyt tulossa tullut hei maailma!
Välilyönti
632
00:48:16.060 --> 00:48:23.980
paras luku on ja Loppuun, mutta nyt se
kanssa niin ei se ei se ei se tossakaan saisi.
633
00:48:23.980 --> 00:48:28.120
No niin eli joo näin käy ja
sitten ei tässä kauaa kestä
634
00:48:28.120 --> 00:48:33.600
mennä tälläkään lailla
sitten asia ja tota.
635
00:48:33.600 --> 00:48:39.320
Tavulla, että niin se täydentää ja
heippa ja tabulaattorin täydentää ja.
636
00:48:39.320 --> 00:48:44.920
On on katsottu SOK no niin mielikuvamalli
niin ei vastannut sitä mitä tuolla tapahtuu.
637
00:48:44.920 --> 00:48:46.790
Eli OK.
638
00:48:46.790 --> 00:48:49.610
Ilmeisesti tässä tapahtuu
nyt sitten vielä jotain muuta.
639
00:48:49.610 --> 00:48:56.630
Eli se ei ole printa juttuja nyt
toi toi kenoa ennen käsittely.
640
00:48:56.630 --> 00:49:01.740
Vaan se kääntyi ja itse asiassa
tonne lyö tohon kohtaan merkkijonoon.
641
00:49:01.740 --> 00:49:05.020
Janne onko mä väärässä tässä?
642
00:49:05.020 --> 00:49:14.040
Oonko mä oisin merkkijonon joo eli toi keno
anna oli itse asiassa tuon sen jälkeen merkkijono
643
00:49:14.040 --> 00:49:19.220
sen takia niin se ei liity printf eikä puhuta
s niin täällä toi kenoa anna tohon tulee
644
00:49:19.220 --> 00:49:25.440
sitten hei jos me katsotaan tuolta niinku
me katsotaan dis assemblyillä hei niinku
645
00:49:25.440 --> 00:49:30.080
itseamin tutkitaan muistia
tutkitaan merkkijonona.
646
00:49:30.080 --> 00:49:36.250
Eli kautta jos ei muistaisi niin niin
sitten helppo niinku niin niin niin tuossa.
647
00:49:36.250 --> 00:49:42.070
Voi pyytää kautta niin
merkkijonona tutkimaan jotain.
648
00:49:42.070 --> 00:49:45.400
Ja.
649
00:49:45.400 --> 00:49:49.260
No OK mennään, pysähdytään sinne
heippaaan, niin sitten meillä
650
00:49:49.260 --> 00:49:53.000
on niinku se tilanne
ja ajetaan siihen asti.
651
00:49:53.000 --> 00:49:55.990
No niin nyt pysähdyttiin tänne.
652
00:49:55.990 --> 00:49:59.830
Tänne missä ollaan menossa?
653
00:49:59.830 --> 00:50:06.950
Heippa aliohjelmassa ja ja tota.
Tuossa on tuommoinen.
654
00:50:06.950 --> 00:50:11.320
Tuommoinen muistiosoite, jossa
varmaan pitäisi olla merkkijono.
655
00:50:11.320 --> 00:50:14.130
Joka on se kyseinen.
656
00:50:14.130 --> 00:50:18.880
400600 ihan kirjoitin tuohon,
katsotaan mitä tuosta tulee.
657
00:50:18.880 --> 00:50:23.040
Joo no niin elikkä nyt mä tutkin
debugerilla puteliaasti muistia
658
00:50:23.040 --> 00:50:25.450
ja pyysin että näytät
tätä muistia merkkijonona.
659
00:50:25.450 --> 00:50:30.540
No nyt ne pukkari siitä vastaavaa että
että mä halusin nähdä sieltä sieltä tota
660
00:50:30.540 --> 00:50:36.380
merkkijono nyt se myös tulkaa mulle että
siellä on nyt kenon paras luku on jo siellä
661
00:50:36.380 --> 00:50:40.000
taas ei ole kenon annaa koska nyt tuossa
merkkijonossa taas ei ole sitä mukana
662
00:50:40.000 --> 00:50:43.580
koska nyt se automaattisesti tehnyt
sinne semmoiseen kun sä puhut ässä vaihtaa
663
00:50:43.580 --> 00:50:48.520
sen sinne ja nyt me voidaan katsoa tästä
uteliaasti niin ei ei tota merkkijonona
664
00:50:48.520 --> 00:50:51.580
vaan tavuina ja vaikka montako tavua.
665
00:50:51.580 --> 00:50:55.930
Meille riittäisi tuosta niin.
Oho.
666
00:50:55.930 --> 00:51:01.370
En muistanut.
Muistanut helpx mä halusin näyttää.
667
00:51:01.370 --> 00:51:06.870
Mitä hexsana vaikka ja ja sitten
tabu ja joo eli oikea formaatti
668
00:51:06.870 --> 00:51:13.690
mitä halusin oli tutki ja 20
kappaletta ja hexa lukuina ja sitten
669
00:51:13.690 --> 00:51:18.340
niinku tavuja tommoisesta
osoitteesta alkaen.
670
00:51:18.340 --> 00:51:21.530
Tossa.
Äsken nähtiin se.
671
00:51:21.530 --> 00:51:30.240
Merkkijonona.
HEI, välilyönti.
672
00:51:30.240 --> 00:51:36.740
MAA
ilma. !
673
00:51:36.740 --> 00:51:39.140
.
674
00:51:39.140 --> 00:51:51.120
Todellakin on tietokoneen
muistissa osoitteessa 84006089 ABCD
675
00:51:51.120 --> 00:51:58.910
siellä on eikä ne olen hyvin vaihtomerkki.
9 a.
676
00:51:58.910 --> 00:52:03.150
Tuommoisessa osoitteessa merkkiin
on siitä eteenpäin voidaan katsoa.
677
00:52:03.150 --> 00:52:06.790
Jo osin on hyvin vaihto ja
sitten jotain voidaan katsoa
678
00:52:06.790 --> 00:52:13.230
tota hexana tajua mikä siinä on.
Voidaan pyytää.
679
00:52:13.230 --> 00:52:17.640
Formaatti ja sitten kertakaikkisesti
katsoo mitä muistissa on jossain kohti.
680
00:52:17.640 --> 00:52:23.660
Mitä siellä on tuon
merkkijonon jälkeen sitten?
681
00:52:23.660 --> 00:52:28.470
Katsotaan 2 merkkijonoa osoitteesta.
Tuolta alkaen.
682
00:52:28.470 --> 00:52:32.760
No ei siellä oikeasti ole
2 merkkijonoa mutta tota.
683
00:52:32.760 --> 00:52:36.210
Tämä merkkijono.
Tehdä mittainen ja.
684
00:52:36.210 --> 00:52:39.570
Sitten.
Siellä paikkeilla.
685
00:52:39.570 --> 00:52:43.910
Siinä pitää tulla se nolla tavu.
Tutkitaanpa uteliaasti.
686
00:52:43.910 --> 00:52:51.920
9 tavua joka olisi tuolla yks, d
kohdassa siellä on nolla edellisessä
687
00:52:51.920 --> 00:52:56.540
sielläkin on nolla mikä nolla se on, niin
se kuuluu oikeasti vaan tuohon merkkijonoon,
688
00:52:56.540 --> 00:53:02.120
jonka viimeinen varsinaisen merkki on
8 6 ja se on tuo pikku american act
689
00:53:02.120 --> 00:53:07.870
asti standardissa ja
UTF 8 korjatussa unicode.
690
00:53:07.870 --> 00:53:10.900
Ja se on 6 ja sen
jälkeen tuon merkin on.
691
00:53:10.900 --> 00:53:14.890
On ohi ja siinä pitää olla
vielä nollaisella muistissa.
692
00:53:14.890 --> 00:53:19.590
Sen jälkeen siellä muistissa on jotain,
mikä ei liity tuohon tutkittavaan asiaan.
693
00:53:19.590 --> 00:53:21.390
Jotain siellä on selkeästi.
694
00:53:21.390 --> 00:53:26.530
Joo siellä sattuu olemaan nolla ja sitten
jos me pyydängeria näyttämään mikä se on
695
00:53:26.530 --> 00:53:31.100
merkkijonon niin se on tyhjä
merkkijono kun siinä on vaan se nolla.
696
00:53:31.100 --> 00:53:37.270
Näin ei mystiikkaa.
Vaan kädentaitoja, joilla me voidaan.
697
00:53:37.270 --> 00:53:42.570
Aina niinku tutkija selvittää mistä
joku kimurantti ongelma johtuu niin.
698
00:53:42.570 --> 00:53:56.360
Sinne.
Joo debugrillä mitä tunteita tämä herättää?
699
00:53:56.360 --> 00:54:02.240
Vaikka jotain muistipaikkoja
ja että joku voi tehdä jo.
700
00:54:02.240 --> 00:54:09.790
Investoida sinne jotain koodia ja tai se tätä kautta
tajua millä joo sen löysit aivan sovelluskohteen
701
00:54:09.790 --> 00:54:16.260
näille asioille eli se tietoturva eli eli nyt
nämä injektion hyökkäykset niin tota kun vielä
702
00:54:16.260 --> 00:54:20.470
on näitä järjestelmiä käytössä ja pelittää tällä
periaatteella että sulla on merkkijono jonka
703
00:54:20.470 --> 00:54:28.860
pitää päättää
704
00:54:28.860 --> 00:54:31.180
nolla ja sitten tota mitä se joku onnistui tekemään sillä lailla
että että tota siinä ei ollutkaan nolla vaan jotain muuta vielä lisää.
705
00:54:31.180 --> 00:54:35.790
Ehkä sitten niinku.
Niinku pahantahtoista syötettä.
706
00:54:35.790 --> 00:54:39.830
Aijai aijai joo.
707
00:54:39.830 --> 00:54:43.430
Ja ja sitten loppujen lopuksi kun
se koneisto on niinku näin näin pirun
708
00:54:43.430 --> 00:54:46.740
yksinkertainen että siellä
on pötkössä tavuja ja.
709
00:54:46.740 --> 00:54:50.630
Se on se kaikki osa niistä
on suoritettavaa koodia.
710
00:54:50.630 --> 00:54:53.640
Osa niistä on merkkijonoja.
Ei hittolainen.
711
00:54:53.640 --> 00:54:56.760
Jos joku on päässyt syöttämään sinne
merkkijonoon, joka on sitten niinku mennyt
712
00:54:56.760 --> 00:55:01.380
tuosta alueesta vielä yli sinne
suoritettavaan ohjelmakoodin puolelle ja siellä
713
00:55:01.380 --> 00:55:06.490
on ollut merkit valittu
sopivasti, että ne on sitten näitä.
714
00:55:06.490 --> 00:55:10.560
Koneellisia julkisesta
spekseistä löytyviä tavuja.
715
00:55:10.560 --> 00:55:15.740
Niin sitten se ohjelma sen jälkeen
tekee ihan mitä se hyökkääjä halusi.
716
00:55:15.740 --> 00:55:20.350
No sepä sinikka mä annoin avut sinne
suoritettavan suoritettavan koodin puoleen.
717
00:55:20.350 --> 00:55:23.670
Tää kurssi ei ole tietoturvan kurssi,
mutta tää on ehdoton ensitieto niille
718
00:55:23.670 --> 00:55:27.400
koska sitten me lähdetään katsomaan
hyökkäämään täällä vekottimia katsomaan
719
00:55:27.400 --> 00:55:29.370
GDP, llä, että missä
tässä ohjelmassa on aukko.
720
00:55:29.370 --> 00:55:34.380
Aina me nähdään toi discuss
semmoinen sitä ei voi piilottaa.
721
00:55:34.380 --> 00:55:36.540
Järjestelmä on jossain käytössä.
722
00:55:36.540 --> 00:55:40.520
Voidaan ja se hyökkääjä voi takaisin
mallinnuksella selvittää, että
723
00:55:40.520 --> 00:55:47.650
missä se aukko paikka on,
jos mutta semmoinen siellä on.
724
00:55:47.650 --> 00:55:53.250
Joo.
Vau nyt ollaan suomessa.
725
00:55:53.250 --> 00:55:55.210
Nyt ollaan saaneessa.
726
00:55:55.210 --> 00:56:00.380
Ai jee no niin, tästä tulee erittäin hyvä
aihepiirivideo joka vielä niinku jatkuu eli eli
727
00:56:00.380 --> 00:56:06.690
nyt saatiin varmaan vastaus tähän ja
sitten vähän johonkin muuhunkin jo vielä.
728
00:56:06.690 --> 00:56:11.390
Ja toinen mihin tietysti tätä voi sitten
sitten tota tätä kaikkea ymmärrystä
729
00:56:11.390 --> 00:56:15.050
voi voi käyttää niin on vaikka ne hauskat
harrastukset jossa sitten pienennetään
730
00:56:15.050 --> 00:56:17.110
sitä koodia mahdollisimman pieneksi.
731
00:56:17.110 --> 00:56:21.530
Tehdään se niinku sitten tota mä vilautan
harrastusta se aina vääjäämättä tulee
732
00:56:21.530 --> 00:56:25.400
tähän elikkä niinku mä mä näytän miten
mä nyt esimerkiksi oon oon tehnyt tehnyt
733
00:56:25.400 --> 00:56:32.800
jonkun omasta mielestä siihen
asti maailman hienoimman tota.
734
00:56:32.800 --> 00:56:36.320
Linux.
Binääri.
735
00:56:36.320 --> 00:56:39.660
Taas diileri oli sen sen
tuotoksen nimi ja sitten tota.
736
00:56:39.660 --> 00:56:44.360
Toivottavasti mulla on ne koodit
jossa jossain järkevästi saatavilla.
737
00:56:44.360 --> 00:56:51.680
Saatavilla.
738
00:56:51.680 --> 00:56:57.170
Joo hetki piti etsiä että missä ne koodit oli,
koska täällä demoninen keskusteluryhmässä mä
739
00:56:57.170 --> 00:57:01.190
oon laittanut tänne että että lähdekoodit
on oudossa paikassa mutta saatavilla.
740
00:57:01.190 --> 00:57:03.380
Tää on niinkin oudossa paikassa
kuin meidän ikivanhassa jo
741
00:57:03.380 --> 00:57:06.200
poistuneensa järjestelmässä
kun juuso orsi.
742
00:57:06.200 --> 00:57:10.670
Mutta mutta tuosta mä tota pääsin sinne.
743
00:57:10.670 --> 00:57:14.710
Pääsin sinne tota niinku näyttämään
että että mitä hulluuksia on
744
00:57:14.710 --> 00:57:18.440
tullut tullut harjoiteltua
joskus niin tuossa on.
745
00:57:18.440 --> 00:57:22.760
Sen voi tuolta sitten kanssa diileri on
on tuotoksen nimiä ja se löytyy sitten
746
00:57:22.760 --> 00:57:27.520
video exporttena youtubesta ynnä muuta en
näytä sitä tässä, koska siitä muodostuisi
747
00:57:27.520 --> 00:57:31.080
kopioi tähän videolle ja se on täysi.
No no.
748
00:57:31.080 --> 00:57:37.910
Mutta joo mä oon tehnyt näin tota ihan.
Ja täällä.
749
00:57:37.910 --> 00:57:43.750
Näsman nimisellä tota assembler
eli konekieli kääntäjä ole tehnyt.
750
00:57:43.750 --> 00:57:47.430
Tuossa on niinku silleen, että tuon
lähdekoodin voisi kääntää tuolla lailla
751
00:57:47.430 --> 00:57:50.290
ja ja tota seitsemänneksi
sijoituin kaksituhattakuusitoista.
752
00:57:50.290 --> 00:57:56.260
Voi että aika rientää.
Tota tässä alussa tulee niinku kyseisen.
753
00:57:56.260 --> 00:58:01.830
Kääntäjän syntaksilla vähän määritelmiä
sitten tuosta lähtee niin tota.
754
00:58:01.830 --> 00:58:07.930
Täältä lähtee silleen, että olkoon meidän
tuo käännetyn tulostiedot ensimmäinen tavu
755
00:58:07.930 --> 00:58:13.210
7 ja sitten äskenhän ELF eli
speksin mukainen binääri tiedosto.
756
00:58:13.210 --> 00:58:17.250
Mä rupean tässä rakentelemaan ja sitten
tuntiin speksin muutamat tutoriaalit
757
00:58:17.250 --> 00:58:21.550
käyneenä niin mä väärin käytän sitä
nätisti täällä on huijattu ja koko
758
00:58:21.550 --> 00:58:25.230
ajan make leap väitetään tota ohjelmaa.
759
00:58:25.230 --> 00:58:30.910
Tota pituus on on tota pitempi se
oikeasti onkaan koska jostain syystä linux
760
00:58:30.910 --> 00:58:34.840
suostuu suorittamaan vaikka
vaikka nää tiedot olisi väärin.
761
00:58:34.840 --> 00:58:38.090
Ja tuossa itse, että tää lopulta vielä
pakataan zip pakettiin ei ole sinne on paljon
762
00:58:38.090 --> 00:58:42.710
nollia niin ne pakkautuu pienempään vielä
ja tota tää tää hoituu silleen että tää
763
00:58:42.710 --> 00:58:48.740
käsipelillä merkki merkiltä tehty tänne
tää ja tää se oli silloin kun en vielä
764
00:58:48.740 --> 00:58:52.630
takaisin mallintanut sen toisen kaverin
temppua niin tässä joutuu sitten selväkielisinä
765
00:58:52.630 --> 00:58:56.400
ja nää kirjastot ja aliohjelma
animet laittamaan ja tässä tässä
766
00:58:56.400 --> 00:58:58.840
mä tuskailin paljon
kuin siihen yksi kiloon.
767
00:58:58.840 --> 00:59:01.300
Ei meinaa että selväkielistä
tekstiä paljon mahtua ja
768
00:59:01.300 --> 00:59:04.710
tääkään ei pakkaudu hirmu hyvin niin.
Niin niin.
769
00:59:04.710 --> 00:59:08.970
Tää oli silloinen ongelma ja tuossa
on sitten open GLC eriä merkkeinä
770
00:59:08.970 --> 00:59:14.410
vaan pötkössä ja siellä se on ja tota
tää nyt käsipelillä tehtyä optimointia
771
00:59:14.410 --> 00:59:16.990
siis viimeisen päälle koko optimointia.
772
00:59:16.990 --> 00:59:21.550
Elikkä nyt se aiheeseen liittyvä kysymys oli,
että että vaikuttaako esimerkiksi optimointi
773
00:59:21.550 --> 00:59:27.690
binääri tiedoston kokoon, niin joo,
automaattisesti kääntäjä osaa tehdä koko optimointia
774
00:59:27.690 --> 00:59:33.650
ja ja me voidaan kokeilla näin pienessä hei
maailma esimerkissä veikkaan että että koko
775
00:59:33.650 --> 00:59:37.120
optimoinnin vaikutus on aika
pieni, mutta katsotaan silti.
776
00:59:37.120 --> 00:59:42.090
Eli l– pitkässä formaatissa
poistetaan sieltä tuo vanha a.
777
00:59:42.090 --> 00:59:44.960
Autti.
Kiinnostavaa.
778
00:59:44.960 --> 00:59:49.770
Nyt on kääntää tätä ohjelmaa ja
ehkä ei välttämättä suorittaa sitä
779
00:59:49.770 --> 00:59:54.370
vaan katsoa nimenomaan vaikka
noi tiedostojen pituudet.
780
00:59:54.370 --> 00:59:59.660
Eli nyt hei maailma suoritti suoritettava
koodi on 9500 kahdeksankymmentäneljä
781
00:59:59.660 --> 01:00:02.640
tavua pitkä, kun siinä ei ole optimointia.
782
01:00:02.640 --> 01:00:08.640
Me voidaan kokeilla tuosta, että
optimoi suorituskykyä pikkuisen.
783
01:00:08.640 --> 01:00:15.120
Joo suoritus optimaanit joskus aiheuttaa
sitä, että joku sama asia on nopeampaa
784
01:00:15.120 --> 01:00:19.940
tehdä useamman käskyn
niinku peräkkäisenä rimpsun.
785
01:00:19.940 --> 01:00:22.500
Eli nyt sitten suorituskyky
optimointi saattaa johtaa siihen,
786
01:00:22.500 --> 01:00:27.300
että sun ohjelmatiedot onkin pidempi.
787
01:00:27.300 --> 01:00:31.470
Kokeillaan kakkonen, mutta sen pitäisi
toimia nopeammin, koska ne temput on
788
01:00:31.470 --> 01:00:36.320
sellaisia että se vaihtoehtoinen
käskysarja syystä tai toisesta johtuen siitä
789
01:00:36.320 --> 01:00:38.800
laitteistosta on sille
laitteistolle tehokkaampaa.
790
01:00:38.800 --> 01:00:42.400
Ne olisi reaalimaailman dokumentaatiossa
on myös sitten omat osionsa,
791
01:00:42.400 --> 01:00:46.720
jotka kertoo optimoija että kuinka
sä voit hyödyntää meidän laitteen
792
01:00:46.720 --> 01:00:49.760
toiminta ja tehokkaan kohden tekemiseksi.
793
01:00:49.760 --> 01:00:56.270
Toi kakkonen teki pikkuisen vielä pitemmän,
eli ilmeisesti se teki lisää temppuja.
794
01:00:56.270 --> 01:00:58.760
Jotka jotka tota.
795
01:00:58.760 --> 01:01:01.660
Nähtävästi pidentänyt
kakkosen ja kolmosen välillä.
796
01:01:01.660 --> 01:01:03.460
Ei edes ollut eroa.
797
01:01:03.460 --> 01:01:07.220
Tuossa pituudessa voi olla sisällössäero,
koska tota sen pitäisi olla vielä
798
01:01:07.220 --> 01:01:11.880
tehokkaampaa suorituskykyä,
optimointia tämmöisessä keississä.
799
01:01:11.880 --> 01:01:17.350
On vaan hei maailma niin niin yksi aliohjelma
kutsulla, niin ei, ei ei ei tässä vielä näy kovin
800
01:01:17.350 --> 01:01:22.130
paljon ne ne erot, mutta meillä on
sitten vielä yks optimointimahdollisuus.
801
01:01:22.130 --> 01:01:27.830
Se on tää pikku eli optimaalisesti saa
eze elikkä nyt sen pitäisi yrittää ihan
802
01:01:27.830 --> 01:01:33.130
vaihtoehtoisia käsky, jotka olisi
kooltaan mahdollisimman pieniä.
803
01:01:33.130 --> 01:01:36.810
No se ei nyt ihan tässä tässä.
804
01:01:36.810 --> 01:01:40.810
Pikku esimerkissä niin se no syystä
tai toisesta jopa niinku pidempi.
805
01:01:40.810 --> 01:01:44.710
Nyt tota ohjelmatiedot on kokoa
tässä, mutta nää on vaan automaattisia
806
01:01:44.710 --> 01:01:47.610
temppuja joita se niinku
melko tyhmästi tekee.
807
01:01:47.610 --> 01:01:53.380
Että että vaikea sanoa jos mikrotasolla
katsottaisiin mitä toi koko optimointi teki.
808
01:01:53.380 --> 01:01:59.800
Ja ja me entäs sitten sinne sinne
tota DV, llä katselee ja ja vaikka
809
01:01:59.800 --> 01:02:03.860
niinku nyt me kiinnostaa ehkä ne
tavutkin koska niitä tavujen määrää
810
01:02:03.860 --> 01:02:06.900
se koko optimointi pyrkii niinku vähentää.
811
01:02:06.900 --> 01:02:10.000
Niin onhan tuo nyt jo aika paljon
pienempi noin mikrotasolla, että meillä
812
01:02:10.000 --> 01:02:14.720
äsken kun me nähtiin tässä videolla
niin optimoimattoman koodin pitkä rimpsu
813
01:02:14.720 --> 01:02:18.430
ja nyt meillä on koko
optimoitu rimpsu joka tota.
814
01:02:18.430 --> 01:02:25.420
Itse asiassa tää on todennut sen, että
mä koodin kirjoittanut aliohjelmakutsu.
815
01:02:25.420 --> 01:02:29.860
Että se on todennut.
Että.
816
01:02:29.860 --> 01:02:32.120
Tokkopa tuota toimintaa.
817
01:02:32.120 --> 01:02:37.000
Ei kun on se sinne koulu on siinä
koulussa eli OK sitä sitä se ei ole sieltä
818
01:02:37.000 --> 01:02:41.940
todennut että ettei tarvitsisi tehdä
sitä heippa paljoa mutta se tuossa mutta
819
01:02:41.940 --> 01:02:46.560
se on todennut että tähän ei tarvinnut
rakennella mitään pino kehyksiä eli
820
01:02:46.560 --> 01:02:50.100
eli sieltä on jätetty
pois pois niinku juttuja.
821
01:02:50.100 --> 01:02:53.980
Eli ja sitten katsotaan se
heikko nyt tähän olisi niinku
822
01:02:53.980 --> 01:02:56.860
tän optimoinnin kannalta tästä olisi.
823
01:02:56.860 --> 01:03:01.500
Jos tää kuuluisi tän kurssin aihepiiriin mitä se
ei liity, niin tästä olisi hyvä tehdä aihepiirivideo
824
01:03:01.500 --> 01:03:06.360
tästä lisää tästä optimoinnista ja katsoo joku
semmoinen esimerkki missä sillä on niinku selkeä
825
01:03:06.360 --> 01:03:10.620
niinku vaikutus nyt tää
vaikuttaa olevan melko mikrotason.
826
01:03:10.620 --> 01:03:15.770
Vaikutuksia tässä lähinnä liittyen siihen,
että tota pinokehystä tässä nyt ei niinku.
827
01:03:15.770 --> 01:03:19.410
Juuri tehdä, koska tässä ei tehdä paikallisia
muuttujia, joita varten se tarvitsee.
828
01:03:19.410 --> 01:03:22.100
Ja me palataan tietysti siihen,
että tällä kurssilla laitetaan
829
01:03:22.100 --> 01:03:25.270
se nolla, jotta me nähdään nää ilmiöt.
830
01:03:25.270 --> 01:03:28.890
Joita se kyllä piilottaa sekä
suorituskyky että koko syistä.
831
01:03:28.890 --> 01:03:32.930
Se automaattinen optimointi.
Ja nyt sitten.
832
01:03:32.930 --> 01:03:35.490
Kun me harrastellaan vielä
käsipelillä, niin tehdään törkeitä
833
01:03:35.490 --> 01:03:39.410
temppuja joita jotka
ei ole speksin mukaisia.
834
01:03:39.410 --> 01:03:47.050
Eli esimerkiksi tässä tota mun mun niinku
tää transfer tuotos niin niin tota täähän.
835
01:03:47.050 --> 01:03:51.080
Kun kun tää kutsuu jotain
saliohjelmaa joka joka tota.
836
01:03:51.080 --> 01:03:55.540
Abin eli application winnerin interfacen
mukaan, joka on tietysti sama kuin tällä
837
01:03:55.540 --> 01:04:00.190
kurssillakin käydään niin tota
se se tota täällä täällä tota.
838
01:04:00.190 --> 01:04:04.420
Kutsumalla puolella pitäisi hoitaa
menokehyksen vapautus kolmekymmentäkaksi
839
01:04:04.420 --> 01:04:06.390
biisissä formaatissa,
mutta sitä ei tehdä täällä.
840
01:04:06.390 --> 01:04:10.840
Elikkä tää rakentelee pino kehyksiä eikä
koskaan vapautta ole niitä elintään vuotaa
841
01:04:10.840 --> 01:04:16.930
muistia, niin ei tuo monta kertaa sekunnissa
kun onnistuu, koska mä en tarvitse sinne
842
01:04:16.930 --> 01:04:21.950
sitä käskyä joka sen tekisi ja nyt tavoitteena
oli tehdä audiovisuaalinen tuotos joka
843
01:04:21.950 --> 01:04:27.850
näytetään, se päättyy ja sitten äänestetään
kellä oli siistein että että että tietysti
844
01:04:27.850 --> 01:04:32.440
sitten on on hauska ja sitten on tietysti
kaikenlaista kaikenlaista muutakin muutakin
845
01:04:32.440 --> 01:04:34.630
temppua täällä on tehty, mutta niinku.
846
01:04:34.630 --> 01:04:38.470
Ja törkeitä temppuja nimenomaan.
847
01:04:38.470 --> 01:04:42.190
Joo, joita siis automaattinen optimointi
ei suostu tekemään, koska silloin
848
01:04:42.190 --> 01:04:49.220
mennään speksien ulkopuolelle
ja sitten sitten tota.
849
01:04:49.220 --> 01:04:51.340
Nyt.
850
01:04:51.340 --> 01:04:56.350
Optimointi ilman muuta vaikuttaa tilanteesta
riippuen sen kokoon ja sitten suorituskykyyn
851
01:04:56.350 --> 01:05:01.460
eli nopeuteen ja nää voi olla joskus
ristiriitaisia tavoitteita keskenään.
852
01:05:01.460 --> 01:05:05.920
Onko joskus erityisesti tarpeen
kieltää optimointia niin?
853
01:05:05.920 --> 01:05:12.680
Juuri nyt tässä ja tänään on hyvä syy.
Oppimisen.
854
01:05:12.680 --> 01:05:22.490
Avuksi pysyi selkeimpänä nuo ja sitten.
Tota.
855
01:05:22.490 --> 01:05:27.710
Jos optimointi.
Näyttää aiheuttavan.
856
01:05:27.710 --> 01:05:33.100
Jonkun jonkun.
Toiminnallisen ongelma.
857
01:05:33.100 --> 01:05:37.260
Niin ne on varmaan syytä kokeilla kääntää
ilman optimointia ja ja sitten tota
858
01:05:37.260 --> 01:05:40.460
katsoo että OK tuossa se toimii
niin mä pyydän optimoinnin päälle.
859
01:05:40.460 --> 01:05:46.490
Se ei toiminut.
Mikä on ero?
860
01:05:46.490 --> 01:05:51.120
Ja ja tota sieltä nyt voi
löytyä vaikka bugi käänteistä.
861
01:05:51.120 --> 01:05:55.110
Ja kun mä unohtanut jotain kun tehnyt
jonkun jonkun hienon optimointi automatiikan,
862
01:05:55.110 --> 01:05:57.880
jonka pitäisi olla käskysarja
joka tekee saman jutun.
863
01:05:57.880 --> 01:06:03.500
Mitä se niinku toinen?
Mutta sitten ei ihan teekään sitä.
864
01:06:03.500 --> 01:06:07.860
Koska?
Jotain vaan unohtunutta.
865
01:06:07.860 --> 01:06:14.310
Että että tota.
Tää on varmaan niinku toinen toinen syy.
866
01:06:14.310 --> 01:06:19.940
Sieltä optimointi.
867
01:06:19.940 --> 01:06:24.580
Ja ja tota aina aina jos siinä
käyttötarkoituksessa niinku tarvitaan
868
01:06:24.580 --> 01:06:28.950
se, että yksi riviä vastaan yksi pätkä.
869
01:06:28.950 --> 01:06:32.250
Sitä sitä käännettyä koodia,
koska nyt mä optimoinnin perustuu
870
01:06:32.250 --> 01:06:35.630
joskus myös siihen,
että nää menee lomittain.
871
01:06:35.630 --> 01:06:39.890
Suorituskykyä tulee siitä, että siinä
tapahtuu useamman gusin rivin asioita
872
01:06:39.890 --> 01:06:43.650
vähän niinku vuorotellen
niinku niinku samaan aikaan.
873
01:06:43.650 --> 01:06:48.090
Jos niillä ei ole vaikutusta sinänsä
toistensa niinku lopputulemaan niin joskus
874
01:06:48.090 --> 01:06:53.920
on tehokkaampaa lomittaa
niin se kivasti niitä käskyjä.
875
01:06:53.920 --> 01:06:58.910
Joka täytyy sitten estää niinku.
Näkemästä.
876
01:06:58.910 --> 01:07:04.450
Niinku sitä toiminnallista yhteyttä
lähdekoodin riviin ja sitten ton.
877
01:07:04.450 --> 01:07:07.110
Koneellisen reissun välillä.
878
01:07:07.110 --> 01:07:12.530
No niin oltiin zonessa vielä
niinku viimeiset täällä.
879
01:07:12.530 --> 01:07:14.430
Eturivissä istuu.
880
01:07:14.430 --> 01:07:19.700
Katsotaan saadaanko me vielä
lisää tässä nyt somessa aikaan.
881
01:07:19.700 --> 01:07:24.570
No niin nyt vaikutti siltä, että että
tämä studioyleisö tuota olisi halunnut
882
01:07:24.570 --> 01:07:29.220
jatkaa tätä niinku loputtomiin, mikä
tulikin todettua tuossa jo, että niinku
883
01:07:29.220 --> 01:07:31.830
että päätyy asti jos jatkettaisiin vähän.
884
01:07:31.830 --> 01:07:36.950
Ensin etappina oltaisi tämän kurssin asioiden
niinku lopussa mihin me mennään kyllä eikä muutenkin
885
01:07:36.950 --> 01:07:41.240
ja sitten niinku alkaisi seuraava
kurssi vaikka siitä tietoturva aiheesta.
886
01:07:41.240 --> 01:07:44.810
Etappi sen jälkeen sitten
jatkokurssille ja opinnäytteistä jossain
887
01:07:44.810 --> 01:07:48.280
sitten niinku töissä muutamia
vuosikymmeniä, että varsinainen päätyi
888
01:07:48.280 --> 01:07:50.590
tälle aihepiiriille
tulee päässyt eläkkeelle.
889
01:07:50.590 --> 01:07:57.880
Jos et halua jatkaa harrastelu vaiheen
parissa eli eli niinku niinku tota.
890
01:07:57.880 --> 01:08:03.660
Tältä päivältä päätettiin, että nyt on
aika mennä lounaalle reflektoida edellistä
891
01:08:03.660 --> 01:08:06.440
ja myös oli sitten niinku
kuulemma saatiin hyvin valoa.
892
01:08:06.440 --> 01:08:11.780
Esimerkiksi nyt semmoisia mitkä on ollut niinku
sanahelinä ja tähän asti niinku injektiohyökkäys
893
01:08:11.780 --> 01:08:15.710
niin tässä nyt nähdään niinku
ne keinot joilla on niinku.
894
01:08:15.710 --> 01:08:20.370
Pääset niinku varmistumaan siitä, kuinka
nää niinku esimerkiksi voi pelittää.
895
01:08:20.370 --> 01:08:23.430
Joo.
Mahtavaa.
896
01:08:23.430 --> 01:08:26.410
Nyt oltiin sanoissa ja tää nyt
kotikatsomossa niin ei muuta
897
01:08:26.410 --> 01:08:30.380
kun nyt lähde kokeilemaan
näitä juttuja tuota.
898
01:08:30.380 --> 01:08:33.530
Katsomaan niitä katsomaan niitä tota.
899
01:08:33.530 --> 01:08:38.590
Ihmeellisyyksiä mitään herää että mitä
mitä voi kirjoittaa ja miten se miten
900
01:08:38.590 --> 01:08:42.700
se tota kääntäjä sitten
mahdollisesti niistä varoittelee.
901
01:08:42.700 --> 01:08:45.970
Varoittelee kyllä, jos
sulla on reunassa olevaa.
902
01:08:45.970 --> 01:08:47.770
Sitten.
903
01:08:47.770 --> 01:08:51.580
Että on luvannut hei jes
tsemppiä innokkaaseen tekemiseen
904
01:08:51.580 --> 01:08:54.470
jatketaan muiden
aihepiirivideoiden parissa.
905
01:08:54.470 --> 01:08:57.350
Tänään täällä mennään lounaalle.
906
01:08:57.350 --> 01:08:59.300
Joo kiitos mielenkiinnosta kotikatsomossa.
Automaattisesti luotu tekstitysobjekti
Onko tämä tekstitys luotu automaattisesti