Stranica: 11/15.

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 25 lis 2013, 11:28
Postao/la hightech
Situacija !

Napisali ste opaku aplikaciju u php, python, ruby ... Desava se sledece - neki manijak vam upadne na podrucje kernela i pokazivacima (pointers) se igra sa samo dva broja menjajuci im mesta u memoriji ... Mozete biti i najbolji programer i sve to, ali izgubicete narednih 10 dana debagujuci samu aplikaciju .... Ovde se radi o poznavanju samog binarnog sistema i ovde se mora poznavati C jer je sve sto je krucijalno na danasnjim sistemima pisano je u C-u , kao i sam UNIX, Linux kernel ...

Kada su aerodromi u pitanju mislim da se tu pristupa upravo WaterFall metodom samog razvoja jer je u takvim slucajevima bas birokratija jedan od sigurnosnih aspekata ...

Da se ne lazemo, programeri danas imaju veoma zapetljan pristup projektovanju i tu se gubi smisao same sigurnosti ... Gde je nestao onaj "glupi" model razmisljanja - if not true then false ... nego danas programeri ispituju gomilu situacija kroz neke petlje i raznolike metode gotovih resenja ... da se tu ostavi milion rupa za razdor same aplikacije i sistema ... Onog trenutka kada jednostavnost nestane, dolazi do nesigurnosti ...

Sama specifikacija UNIX-a kaze sledece:
UNIX je toliko jednostavan i potrebna je genijalnost da bi se razumela ta jednostavnost

Objective-C, COCOA, JavaScript, html5 i css3 su takodje zanimljivi za razvoj smartphone aplikacija ....

...

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 25 lis 2013, 12:34
Postao/la jurastublic
hightech je napisao/la:Situacija !
Napisali ste opaku aplikaciju u php, python, ruby ... Desava se sledece - neki manijak vam upadne na podrucje kernela i pokazivacima (pointers) se igra sa samo dva broja menjajuci im mesta u memoriji ... Mozete biti i najbolji programer i sve to, ali izgubicete narednih 10 dana debagujuci samu aplikaciju .... Ovde se radi o poznavanju samog binarnog sistema i ovde se mora poznavati C jer je sve sto je krucijalno na danasnjim sistemima pisano je u C-u , kao i sam UNIX, Linux kernel ...
Baljezgaš bez veze. Ako ti "manijak upadne u područje kernela" a kernel to ne registrira i uspaničari se, svejedno je kojim su jezicima programi napisani. (Da, čak i C).

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 25 lis 2013, 13:17
Postao/la shrike
Zajebavanje sa pointerima lako može skršiti čitavi sustav tako da će bii vjerojatnije da će netko nakon par sat ijednostavno restartati komp nakon čega će se najvjerojantiej sve vratiti u normalu.

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 14:55
Postao/la krofna
shrike je napisao/la:Zajebavanje sa pointerima lako može skršiti čitavi sustav.
Pointeri su opasni samo u kernelu. U user space možeš ti raditi što god hoćeš s pointerima, ali ništa se nikada neće skršiti osim tvog programa. (Prosječni) Web dev svejedno ne zna ni kompajlati kernel :lol:

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 16:18
Postao/la jurastublic
krofna je napisao/la:Pointeri su opasni samo u kernelu. U user space možeš ti raditi što god hoćeš s pointerima, ali ništa se nikada neće skršiti osim tvog programa. (Prosječni) Web dev svejedno ne zna ni kompajlati kernel :lol:
Nije to baš tako. Evo ti jednostavan način da skršiš kernel iz komandne linije:

Kod: Označi sve

su
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger
Drugi način mi pada na pamet, da napišeš driver s ludim pokazivačima pa ga modprobaš tj. učitaš kao driver.

Ako netko unatoč zaštiti virtualnom memorijom upadne u kernel, puno je veća vjerojatnost da će zafrkavanje s pointerima u kernelu završiti u blokadi sustava tj. panici, nego da će samo praviti problema u debugiranju nekih programa, kako tvrdi Hitech gore.

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 16:25
Postao/la krofna
jurastublic je napisao/la:
krofna je napisao/la:Pointeri su opasni samo u kernelu. U user space možeš ti raditi što god hoćeš s pointerima, ali ništa se nikada neće skršiti osim tvog programa. (Prosječni) Web dev svejedno ne zna ni kompajlati kernel :lol:
Nije to baš tako. Evo ti jednostavan način da skršiš kernel iz komandne linije:

Kod: Označi sve

su
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger
Nema veze s pointerima.... to je ručno induciran kernel panic koji je zapravo značajka linuxa.

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 16:52
Postao/la jurastublic
krofna je napisao/la: U user space možeš ti raditi što god hoćeš s pointerima, ali ništa se nikada neće skršiti osim tvog programa...
Nema veze s pointerima.... to je ručno induciran kernel panic koji je zapravo značajka linuxa.
Iz user spacea je, priznajem, s pointerima nije.
Sa smuljanim pointerima u učitanom driveru kernel uglavnom samo "oopsa" i uglavnom ne blokira ali ako smuljaš neke hardverske registre na priključenim uređajima ili matičnoj, možeš indirektno zablokirati sustav.

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 17:41
Postao/la shrike
Super stranica za usporedbu performansi jezika. Stavio sam i python vs. ruby i ispada da je py3 brži od ruby2. Možete odabratibrdo jezika za usporebu na vrhu stranice.

http://benchmarksgame.alioth.debian.org ... 3&data=u32

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 17:52
Postao/la jurastublic
Za programe s puno računanja pitonaši normalno koriste posebno optimizirane module koji su prilično brži od sirovog pythona.

Re: Novi jezici, njihove paradigme i web programiranje :)

Postano: 26 lis 2013, 17:54
Postao/la shrike
Module pisane u C-u :D Ako radiš usporedbu jezika mora biti čisti jezik vs. čisti jezik.