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.