|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V iOS a OS X fatálna chyba
Od: gnzi
|
Pridané:
24.2.2014 10:53
goto? O_o
|
|
Re: V iOS a OS X fatálna chyba
Od: Ja.
|
Pridané:
24.2.2014 11:59
Keby len goto, za celý kód by som programátorovi nedal výplatu, ale bitku. Jeden z dôvodov, prečo je sprostosť používať if bez strapatých zátvoriek.
|
|
Re: V iOS a OS X fatálna chyba
Od: Ja.
|
Pridané:
24.2.2014 12:04
a ešte priradenie premennej v ife... to je hnus, velebnosti!
|
|
Re: V iOS a OS X fatálna chyba
Od: Anal Fabet
|
Pridané:
24.2.2014 12:17
https://git.kernel.org/ cgit/linux/kernel/git/torvalds/linux.git/ tree/kernel/cpuset.c?id=refs/tags/v3.14-rc4#n227
Fuuuuj, najpouzivanejsi program na svete, 9/10 superpocitacov pouziva priradenie premennej v ife!!! Skandal na predne stranky noveho casu!!!
Tato nova (de)generacia pseudo IT odbornikov vychovavana na vysokych skolach s pochybnou kvalitou. Kam som sa do dozil...
|
|
Re: V iOS a OS X fatálna chyba
Od: siirii
|
Pridané:
24.2.2014 12:40
A čo teraz? To, že je to súčasťou zdrojákov Linuxového jadra znamená, že je to správny programovací návyk?
Nie, priradenie v ife a nepoužívanie kučeravých zátvoriek je pach a vieš prečo? Presne kvôli chybám ako je tá, o ktorej je tento článok.
|
|
Re: V iOS a OS X fatálna chyba
Od reg.: gandor
|
Pridané:
24.2.2014 17:26
Nepouzivanie kuceravych zatvoriek ok. Ale priradenie v IF-e? Nevidim problem.
if (!(f=fopen('subor.txt')) {
echo 'subor sa nepodarilo otvorit';
}
Nechapem co na takomto kode nieje na prvy moment okamzite jasne (samozrejme dane priradenie musi byt kratke/jasne a okamzite pochopitelne)...
|
|
Re: V iOS a OS X fatálna chyba
Od: linuxak
|
Pridané:
24.2.2014 17:41
Pouzivat blok tam kde blok nie je je blbost.
if ()
a;
je uplne normalne.
|
|
Re: V iOS a OS X fatálna chyba
Od reg.: gandor
|
Pridané:
24.2.2014 17:49
Neni to blbost, ma to realne opodstatnenie kvoli nedbalosti/chybickam z nepozornosti/zaciatocnikom.
Riesi to 2 chyby:
a, budem pouzivat bodky miesto medzier -
if (podmienka)
....[prikaz v podmienke]
....[neskvor chybne pridany prikaz mimo podmienky]
b,
while(podmienka);
[toto sa nevykonava vo while, bodkociarka navyse]
Priradenie v podmienke tymto netrpy AK sa kazde priradenie uzatvorkuje navyse a ide o primitivnu podmienku. Napr.
if ((result=getErrorCode())) {
Je OK
}
if (result=getErrrorCode()) {
Je zamenitelny s porovnanim cez ==
}
|
|
Re: V iOS a OS X fatálna chyba
Od: kalkulacka 365
|
Pridané:
24.2.2014 22:41
tie zatvorky boli z medi, morgosi ich uz davno odovzdali ;)
|
|
Re: V iOS a OS X fatálna chyba
Od reg.: Trovaricon
|
Pridané:
24.2.2014 18:35
No napriklad using() v C# deklaruje prave v () - ono to by vzhladom na to, co ten vyraz robi ani neslo inak. Priradenie v If aj goto sa daju vpohode prezut aj v "modernejsich" jazykoch a praktikach za podmienky, ZE TO NEROBI DREVORUBAC NA KOLENE ALE ZE MAJU RIADNY PROCES CODE REVIEW a minimalne STATICKU ANALYZU KODU.
Uninitialized variable / unreachable code / statement always true - ved to su uplne zakladne kontroly.
Na to netreba ani drahy software Eclipse aj free Visualko Express vas posle do prdele s unreachable code (detto plati aj pre ine IDE ale tieto mam akurat otvorene).
Niekto (apple devs) riesi zakladne sluzby moderneho OS a prejde im tam takyto hovnokod? Pokusil by sa niekto na projekte spravit takyto commit s code unreachable koli "goto" zaraz by mu build server strucne odpisal "gtfo".
|
|
Re: V iOS a OS X fatálna chyba
Od reg.: Trovaricon
|
Pridané:
24.2.2014 18:36
Na druhej strane ked si clovek spomina ako sa na predmete Operacne systemy programovalo cez terminal v poondiatom texteditore tam ma ide j*bnut. Asi aby sme vyzerali ako haxxori alebo to mala byt hodina IT dejepisu... A ked sa clovek dozvedel, ze to nie je vysada len jeho univerzity, tak ostal bez slova...
|
|
Re: V iOS a OS X fatálna chyba
Od reg.: Kveri
|
Pridané:
24.2.2014 21:55
o goto bolo mnoho debat, ja som nazoru, ze samotna goto konstrukcia nie je zla, zli su len programatori, ktori ju pouzivaju ked je to nevhodne. V pripade tej funkcie je to podla mna priam vhodne pouzit, ale ta chyba je samozrejme trapna :D
|
|
Re: V iOS a OS X fatálna chyba
Od: foobar0_
|
Pridané:
24.2.2014 12:47
Ved pomocou goto sa jednoducho a dobre da nasimulovat koncept vynimiek v jazykoch ako C, ktore vynimky nemaju. Na samotnom goto nie je nic zle, ak sa pouziva s rozumom.
http://meyerweb.com/eric/comment/chech.html
|
|
Re: V iOS a OS X fatálna chyba
Od: dsadawqw
|
Pridané:
24.2.2014 15:36
nie, vynimky simuluju goto. bezpecnejsie.
|
|
Re: V iOS a OS X fatálna chyba
Od: linuxak
|
Pridané:
24.2.2014 17:41
Ty si ale riadny debil....
|
|
Titulok
Od: RIKK
|
Pridané:
24.2.2014 10:59
10 Print "fail"
20 Goto 10
|
|
Re: Titulok
Od: sgfgsdgsdg
|
Pridané:
24.2.2014 11:56
dik pohonil som
|
|
Re: Titulok
Od: RIKK
|
Pridané:
24.2.2014 12:22
ta aspon prezrad ktory riadok ta viac rajcuje
|
|
Re: Titulok
Od: jjjjjjjj
|
Pridané:
24.2.2014 14:21
30
|
|
?????
Od: Vyryvac
|
Pridané:
24.2.2014 11:04
Fatalny = osudny, osudovy
nema nic spolocne s programatorskou chybou. Ale osud toho programatora by som nechcel mat...
|
|
Re: ?????
Od: 34535
|
Pridané:
24.2.2014 11:07
je to osudova chyba
|
|
Re: ?????
Od: Amateur
|
Pridané:
24.2.2014 11:50
Definuj v IT terminologii "osud".
|
|
Re: ?????
Od: omfg wtf
|
Pridané:
24.2.2014 12:20
"Ak zavolas milionkrat funkciu rand(1000000) a ani raz nevrati jednotku, tak je to osud!" :)
|
|
Re: ?????
Od: Amateur
|
Pridané:
24.2.2014 12:21
Navrhujem premenovat statistiku a kryptografiu na osudologiu...
|
|
Re: ?????
Od reg.: K-NinetyNine
|
Pridané:
24.2.2014 13:05
ak zavolas funkciu rand(1000000) milion krat, tak mas cca 36,787925723164509428579812527037% (presnejsie ta win calc nepocita) pravdepodobnost, ze ti jednotku nevrati ani raz.
ak viac nez tretinovu pravdepodobnost povazujes za osud, kludne. ale nevnucuj tieto teologicke zvasty ostatnym :)
|
|
Re: ?????
Od: Neviem
|
Pridané:
24.2.2014 13:40
Prvým odstavcom si to vychytal,
druhým si to dojebal.
|
|
Re: ?????
Od reg.: K-NinetyNine
|
Pridané:
24.2.2014 13:43
druhy odstavec nie je mysleny nijak vazne, skor ako joke. ale teraz ked to citam, tak nebyt toho smajla na konci, vyznieva to fakt dost vazne.
|
|
Re: ?????
Od: omfg wtf
|
Pridané:
24.2.2014 13:51
Definicia je v pre-alpha verzii.. este musime vychytat mensie detaily, ako v apple-i :)
|
|
Re: ?????
Od: k77
|
Pridané:
24.2.2014 12:56
ostudova chyba
|
|
...........
Od: 1337
|
Pridané:
24.2.2014 11:05
34 if error return 23
23 return 34
|
|
nerozumiem?
Od reg.: 100k45h
|
Pridané:
24.2.2014 11:07
Nerozumiem ako presne ten dany zdvojeny riadok moze sposobit, ze sa certifikat neoveri? Ved pri prvom goto fail sa spravi return a koniec funkcie, dalej by to uz nemalo ist? Alebo mi nieco uniklo?
|
|
Re: nerozumiem?
Od reg.: 100k45h
|
Pridané:
24.2.2014 11:08
aha berem spat, chybaju zatvorecky
|
|
Re: nerozumiem?
Od: karolkooo
|
Pridané:
24.2.2014 11:48
Ja zas nerozumiem tomu, ze to posiela vzdy do bloku FAIL a pritom to vzdy prejde... A pouzivanie goto, no to je pekna vizitka Apple, tymto sa pekne zosmiesnili :)
|
|
Re: nerozumiem?
Od: Slavius
|
Pridané:
24.2.2014 12:01
Pouzivanim goto sa ciastocne chranis nespravnej kompilacii a nevhodnej optimalizacii pesudojazyka do assembleru kedze v ASM je kazde if, while, for, foreach, repeat/until len GOTO (citaj JE, JNE, JZ, JNZ, JG, JGE, JA, JAE, JL, JLE, CALL, JMP, SHORT, atd.)
|
|
Re: nerozumiem?
Od: robocop
|
Pridané:
24.2.2014 12:02
pretoze err zostane nastavene na 0 == ziadna chyba
|
|
Re: nerozumiem?
Od: karolkooo
|
Pridané:
24.2.2014 12:16
jaaaaj, som ja ale krepy :D
dakujem za vysvetlenie ;)
|
|
Re: nerozumiem?
Od: ch.
|
Pridané:
24.2.2014 12:21
podla tohto uryvku kodu to vyzera ze err ani nie je na nic nastavene, je len na zaciatku inicializovane
|
|
Re: nerozumiem?
Od: karolkooo
|
Pridané:
24.2.2014 12:25
No ved to. A na konci, ked checkuju, ci ma err nejaku hodnotu (0 je ok), tak to prejde ;)
|
|
Re: nerozumiem?
Od: ch.
|
Pridané:
24.2.2014 12:29
aha pardon tie priradenia v ifoch do err vzdy priradia vysledok checkovacej funkcie ktora asi vracia 0 ked ziaden problem nenastane
|
|
zatvorky
Od: Manu
|
Pridané:
24.2.2014 11:15
A ja ze preco nas na vysokej skole ucia nezabudat na zatvorky .... a hlavne vyhybat sa goto
|
|
Re: zatvorky
Od: vit
|
Pridané:
24.2.2014 13:26
Zo zátvorkami súhlasím, ale goto sa v C používa často. C nemá RAII (c++), try-finally (c#/java), scope(failure/exit) (D)... Takže na oddelenie error handlingu od zvyšku kódu ti ostáva goto.
http://dopice.sk/8Eo
|
|
Re: zatvorky
Od: Manu
|
Pridané:
24.2.2014 14:37
Ako jasne, ze sa goto obcas nevyhnes, ale ked sa da, radsej pouzit nieco ine :)
|
|
Re: V C nejestvuje error,
Od: Rudolf Dovičín
|
Pridané:
24.2.2014 15:23
skutočný programátor so všetkým sa ráta ako samozrejmým. :-)
|
|
Re: zatvorky
Od: linuxak
|
Pridané:
24.2.2014 17:43
Jasne, srat sa so zatvorkami, potom if je na tri riadky...
|
|
Re: zatvorky
Od: Manu
|
Pridané:
25.2.2014 3:06
to ma ten jeden riadok naviac uplne znici
|
|
Your article was exn
Od: Lorena
|
Pridané:
4.7.2014 8:32
Your article was exnclleet and erudite.
|
|
hovnokod.cz
Od: wwwwwwwwwww
|
Pridané:
24.2.2014 11:29
pekny hovnokod maju v Apple...
kod by mal byt v prvom rade citatelny pre cloveka a az potom pre nejaky pocitac...
|
|
Re: hovnokod.cz
Od: Slavius
|
Pridané:
24.2.2014 11:54
Mas jedno. V ASM sa GOTO aj tak nevyhnes a to je jedine co procesor ovlada.
|
|
Re: hovnokod.cz
Od: Ja.
|
Pridané:
24.2.2014 12:17
Nemáš jedno, pre človeka je goto ťažšie odhaliteľný vinník ako zátvorky
|
|
Re: hovnokod.cz
Od: karolkooo
|
Pridané:
24.2.2014 12:19
No nemas jedno. Pretoze Ccko vyuzivaju preto, aby to nemuseli pisat v ASM ako somari. Lenze oni to pisu aj v Ccku ako somari ;)
|
|
Diskusia k článku
Od: GGGcydia
|
Pridané:
24.2.2014 12:02
Pre tych, ktori maju jailbreak a nechce sa mi znova updatovat je dostupny patch cez Cydiu: http://dopice.sk/8Eh
|
|
Re: Diskusia k článku
Od: Radiator III
|
Pridané:
24.2.2014 12:06
To uz je len ironia, instalovat patch na kriticku zranitelnost z neoficialneho zdroja. Vitajte Trojania!
|
|
Re: Diskusia k článku
Od: dando1111
|
Pridané:
24.2.2014 12:55
radsej tam budes mat tu chybu s oficialneho zdroja?
|
|
Re: Diskusia k článku
Od: Slavius
|
Pridané:
24.2.2014 13:34
Kedze zranitelnost priamo umoznuje podvrhnut akykolvek kod na stranke, ktora sa moze tvarit ako doveryhodna bez akejkolvek moznosti obrany zo strany pouzivatela, otvara sa moznost zneuzit sirenie cervov a trojskych konov cez podvrhnute stranky bank, bezpecnostnych organizacii, oficialnych webov vyrobcov aj oblubenych obchodov aplikacii, hudby a obsahu.
Odporucam nenavstevovat stranky na tychto zariadeniach, nepouzivat ich na verejnych WiFi sietach a stiahnut a overit patch/fix na inom PC (ak je to mozne) pred instalaciou.
|
|
Re: Diskusia k článku
Od: reg.: x x l l
|
Pridané:
24.2.2014 20:13
Tak to sirenie trojanov bys musel najskor odsuhlasit. Sice ti utocnik moze napriklad navstevou www.tb.sk podsunut nejakeho trojana, ale stale ho musis downloadnut a spustit. Na iOS to ma este mensi dopad a utocnik by mohol napadnut max. sandbox danej aplikacie a to jedine ak by poznal aj zranitelnost aplikacie.
Je to samozrejme diera ako vrata a v podstate sa par mesiacov dala nerusene odpocuvat SSL komunikacia prakticky celeho iOS, ale zase takyto FUD ako tu predvadzas, by som nesiril. Apple navyse u svojich sluzieb dodatocne overuje fingerprint certifikatov, takze MITM na appstore a niektore dalsie sluzby sa velmi neda pouzit.
Drviva vacsina iOS aplikacii spolieha prave na tuto systemovy SSL implementaciu, pricom TLS1.1 a vyssie je v serverovych backendoch pre mobily skor zriedkavostou (vdaka starym androidom). V pripade OSX je ten zaber mensi, pretoze to sice postihuje snad vsetky aplikacie od apple, ale nie zakonite aplikacie inych vyrobcov. Vid napriklad Chrome, Mozilla...
|
|
Re: Diskusia k článku
Od: Hadimrska
|
Pridané:
25.2.2014 9:25
Toto je zatial prvy skutocne odborny prispevok k clanku. Dakujem.
|
|
Re: Diskusia k článku
Od: Slavius
|
Pridané:
25.2.2014 9:58
To nie je az tak pravda. Umiestnenim javaskriptu, flashu alebo java appletu, ktory bezne pouzivas pri svojej praci na tychto strankach spustis nieco o com si myslis ze pochadza z doveryhodneho zdroja. Takisto napr. slunecnice, filehippo alebo akykolvek iny zdroj open-source instalaciek. Vyber si.
|
|
Re: Diskusia k článku
Od: Slavius
|
Pridané:
25.2.2014 10:07
A zabudol si na Cydiu a ine nelegalne zdroje aplikacii. Rozhodne to nie je FUD. Je to opatrnost. Vynaliezavost utocnikov je nekonecna a naco im to ulahcovat?
|
|
Goto Text:
Od: Neprogramator
|
Pridané:
24.2.2014 12:25
Tak programatori sa zasmiali. Ale co my ostatni?
|
|
Re: Goto Text:
Od: karolkooo
|
Pridané:
24.2.2014 12:31
Ostatni mate prilezitost citat sme, cas a ine zaujimavosti ;)
|
|
Re: Goto Text:
Od: Slavius
|
Pridané:
24.2.2014 12:35
http://youtu.be/tIxDNo1jikE
|
|
Re: Goto Text:
Od: rms_
|
Pridané:
25.2.2014 0:16
Neboj, vy ostatní si aj tak nemožte dovoliť Apple produkty.
|
|
Backdoor
Od: Apple123321
|
Pridané:
24.2.2014 20:14
Co ak to apple urobil zamerne a chcel mat takyto krasny backdoor? Kod zvycajne prechadza rukami 2-3 ludi kym sa dostane do produkcie a neverim ze ani jeden clovek by si takuto viditelnu chybu nevsimol.
|
|
Re: Backdoor
Od: 'PPQ'
|
Pridané:
24.2.2014 20:32
NSA!!!
|
|
blaah
Od: prdlajs
|
Pridané:
25.2.2014 0:03
Odkedy je iOS open source?
|