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

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

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

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

Ako radiš usporedbu jezika mora biti čisti jezik vs. čisti jezik.