Tak tedy FLEX obehl vsemozne servery s ohlasovanim velke a pompezni (sve) budoucnosti, vsude se zatim setkal s neprilis nadsenym prijetim a tak zkousi dalsi server, kam protlacit oslavny PR clanek... Kam ta Lupa klesa?
Hmm, spis nez jako PR mi to pripada, ze Lupa sice zaregistrovala neco zajimaveho na scene, chtela o tom informovat, ale clanek uz moc nezvladla. Je to takova motanice - hlavne proto neverim, ze by to bylo zadano a proslo nejakym PR schvalenim..
Popravdě, skutečnost je spíš taková, že Flex nedoběhl na Lupu, ale Lupa doběhla za Flexem :) Není mi jasné, jakou používáte definici (oslavného) PR článku, ale pokud se do ní vejdou i věty jako
"Některé okolnosti, vzbuzující určitý odpor části programátorské komunity, by jistě bylo možné odstranit"
"To může být jistě překážkou rychlejšího rozšíření Flexu, protože jeho komerční verze stále není k dispozici a podle zástupců firmy není tento termín ani určený"
"...pro řadu programátorů bude jistě důležité vědět, že modFlex zatím není k dispozici ve verzi pro Linux"
nebo dokonce "...budoucnost plné verze (fullFlex) je do značné míry variabilní"
Tedy pokud se do Vašeho pojetí PR vejdou i podobná vyjádření, pak musíte žít ve světě plném PR :)
Neviem preco sa mi stale zda, ze LUPA tento clanok uz uverejnila len s inymi slovami. Nemyslim si, ze by sa FLEX nejako presadil predsa len trh je dost plny jazykov je ako maku.
kdyz kliknu na odkaz:
<a href=""http://www.modflex.com/buxus/web/cz/Products/Development-Tools/modFlex/Freehosting/">freehostingu</a> a i jine..
casto se mi zobrazi na poprve neuplny obsah (len leva cast) a az po reloadu take cast vpravo o freehostingu ? dela vam to take nebo je chyba na strane meho pocitace?
Rad bych se take zeptal v cem spociva nizka bezpecnost programovani v php ?
pr clanky mi nevadi jen mi vadi ze nejsou jako pr oznaceny - ze se jedna o pr soudim nejen podle zmince o soutezi..
Rad bych se take zeptal v cem spociva nizka bezpecnost programovani v php ?
IMHO v tom, ze PHP toleruje (pokud ne primo podporuje) neprilis bezpecne programatorske navyky a postupy (napriklad nedostatecnou kontrolu vstupnich dat). Jen mam pochybnosti, jestli to dokaze za programatora vyresit jazyk.
V takovém ASP.NET se všechna data z formulářů procházejí a pokud obsahují "nebezpečné" konstrukce typu "<br>", systém vyhodí chybu s popisem, jak tyto data povolit. Podle mne je to zajímavé řešení, protože začátečníka trkne fakt, že by se měl o tyto věci starat a pokročilejší programátor si to automaticky vypne ve web.config...
je nekde nejaky prehledny popis toho na co si davat pozor (aneb jak to psat) - jde mi o to, nastuduju-li si knizku (kosek) o php apod. budu vedet jak rizika eliminovat nebo je php nebezpecne i nadale (neni-li, nepovazuji to za chybu php)
Je pravda, že PHP ve standardní konfiguraci svádělo nezkušené programátory k tvorbě velmi snadno nabouratelných aplikací. A také je pravda, že tvůrci PHP si to uvědomili a snaží se situaci změnit. Jenže konfigurace (a vůbec verze) PHP závisí většinou na správci hostingu, tudíž bude ještě nějakou dobu trvat, než se PHP zbaví tohoto dědictví z minula.
Ale nic to nemění na tom, že jakkoliv děravě nakonfigurované PHP není překážkou pro budování velmi solidních aplikací, pokud to programátor UMÍ. Záleží jen a jen na jeho schopnostech. A kde nejsou schopnosti, nepomůže ani modFlex ;-)
no jasne, me slo o to, jestlize ja budu dodrzovat postupy ktere tvurci pozaduji tak jestli je php bezpecne nebo jestli postupy musim obchazet pro psani bezpecnych aplikaci, .. proste mi nesedela ta vina na strane php
(zvlaste takto nepredpokladam u lidi pisici aplikace internet bankingu..)
OT: nejaky solidni komplexni zahranicni(EN) zdroj pro vyuku byste prosim nedoporucily? diky
Ne, můžeš úplně klidně psát aplikace v PHP. Ale pomalu si projdi třeba tuto sérii článků a zjistíš, na které věci si dávat pozor. Tyto techniky se většinou netýkají jen PHP (nebo třeba MySQL), ale vlastně všech platforem nebo databází, včetně těch velmi velmi drahých.
Jde o to, ze jsme jenom lidi, takze nikdo neni "dobry programator" v tom smyslu, ze by nedelal zadne chyby. A pokud se v nejakem PHP preklepnu a misto "if (neplatnadata) die(x)" napisu "if(nwplatnadata) die(x)" tak to ma potencialne velmi neprijemne nasledky. (mod)Flex mi brani udelat podobnou chybu, cimz zvysuje tu bezpecnost. Ale otazka idealni miry takovych kontrol je evidentne veci osobniho vkusu.
ja nevim, pokud mam informace tak tohle se da vyresit pouzivanim nastroju pro psani kodu
(adekvatniho napr. html-kit u pro html.. ten pro php ted nemam na prstu.)
Promenou nemusite deklarovat. Na urovni nastaveneho hlaseni chyb zalezi, jestli Vas na to interpreter upozorni
- melo by se pouzivat pri vyvoji: error_reporting(E_ALL);
- zakaznikovi davat: error_reporting(0);
Vychozi nastaveni (asi E_NOTICE) je prasarna. Skoda, ze spousta PHPkaru bere zakladni nastaveni jako zaklad a nastaveni maximalni uroven povazuje za zbytecnou buzeraci.
Dalsi vtipne veci se v PHP daji provadet s register_globals=on, ale to je pomerne znama pohadka.
Nastavení error_reporting = E_ALL by mělo být i na produkčním serveru. Jen to chce nastavit display_error = Off, aby se ty hlášky nezobrazovaly na stránce ale jen do logů. A samozřejmě se čas od času do těch logů podívat.
Proboha jaky zkreslovani skutecnosti? Faktem je, ze v PHP nedelam (az na par trivialnich a zcela ne-mission-critical programku), takze se v jeho konfiguraci opravdu nijak zvlast nevyznam (i kdyz o error_reporting vim). Jenze ono to IIANM hlasi teprve ve chvili pouziti, ne ve chvili "kompilace".
Hlavni pointa je ovsem v tom, ze PHP (a obdobne dalsi skriptovaci jazyky) maji velice vysokou toleranci vuci programatorovym chybam, coz vede k tomu, ze az ji programator udela (ne kdyz, vsichni delaji chyby), vsimne si ji hure/pozdeji, nez kdyby ho kompilator okamzite serval. (Osobni priklad: v jednom ze svych skriptu jsem si napr. po ne zrovna kratke dobe vsimnul, ze v jedne velice zridka vyuzivane vetvi programu pisu dice0 misto dice[0]. Jenze se to projevi az ve chvili, kdy se tahle vetev bude provadet, coz uz muze byt "u zakaznika", kde je error_reporting vypnuty.)
A samozrejme nejde jenom o nedeklarovane identifikatory, to byl nejjednodussi priklad. Stejne tak me IIRC necha PHP do jedne promenne chvilemi prirazovat cisla, chvilemi retezce a pote z ni udelat pole. Atd. atd. Nikomu nenutim jazyky se striktnimi kontrolami jako zasadne lepsi, ale to, ze se takhle jazyky daji delit a ze to nejake vyhody ma, to snad uznavaji vsichni, ne?
Pokud aplikace v .NET delaji nedouci (presne ti sami co casto pobihaji po forech o PHP a zadaji kompletni kody) tak ta aplikace stoji za prd (uplne stejne jako kdyby ji delal v PHP). Coz ovsem neni problem jazyka.
Kompilovat cokoli za pochodu do .dll a spoustet na serveru je navic pomerne jista cesta k problemum, pouzivat virtualni stroj (jvm) je rozumejsi zpusob
Uz vidim zamestnavatele a personalni agentury, jak se rvou o znalce Flexu :))))
JSP stranka je servlet, ktery za Vas automaticky prelozi WebSphere nebo Tomcat + urcita optimalizace jako bonus
typova kontrola / nutnost deklarace zustava, jinak se to neprelozi
urcite neni daleko doba, kdy nekdo donuti gcj spolupracovat v ramci Tomcatu na prekladu, tedy ne do bytekodu a JIT kompilace, ale primo do nativniho kodu. Eclipse zpracovany timhle zpusobem se pri startu zrychlil dva az ctyrikrat, navic bezi i na procesoru pro ktery JVM zatim neexistuje.
Na druhou stranu pak za rychlost se bude platit vaznejsimi dusledky chyb v kompileru na spolehlivost serveru. U flexu bych ale hadal tyhle malery podstatne castejsi, preci jen to dela "firma o deseti lidech" a kod neni ani otevreny.
jiste prelozi.. ale je to dynamicka kompilace nebo se neshodneme? I kdyz souhlasim patri asi k dobre praxi udelat pozadavek na patr. JSP i na produkcnim prostredi (pokud to jde!) uz jen proto, ze proces kompilace nemusi byt zrovna casove nedulezita operace... no ale i tak mate vrstvu bytecodu..tady bych dll pokladal i za vyhodu..
oni se to nekdy neprelozi ani kdyz jde o korektni zdrojovy kod... nektere JSP preprocesory (a ze se mi to stalo urcite nejen s tomcatem) maji sve mouchy...
kdyz jsem se poprve docetl o jazyku modFlex, vzbudil u me jistou zvedavost a zajem, ktery vsak prudce ochladl, po te, co jsem poprve spatril ukazkovy program.
trend striktne oddelovat aplikacni data od prezencnich se jazyky vyhnul milovym obloukem. jeden z nejvaznejsi duvodu, proc je php a jsp natolik popularni, autorum jazyka modFlex zrejme nedosel a v pohodli prace se vraci k CGI.
kouzlo toho, ze do hotove stranky vlozime pouze nekolik tagu je pryc. uvedu priklad na vypsani casu pri reloudu stranky:
Zpusobu htmlhtmlhtmlhtml<?program?>htmlhtmlhtml (narozdil od programprogramprogram"html"programprogram) rikate oddeleni aplikacnich dat od prezen(ta?)cnich? To jsou mi veci...
Ja to ctu zase naopak - vetou "trend striktne oddelovat aplikacni data od prezencnich se jazyky vyhnul milovym obloukem" chtel autor rict "trend striktne oddelovat aplikacni data od prezencnich se jazyku (flex) vyhnul milovym obloukem". Ale pochybuju, ze htmlhtmlhtml<?kod?>htmlhtml se da povazovat za striktni oddeleni.
Ja myslim, ze je jasne, jak to puvodne autor myslel. Myslel tim to, ze v phpku si pohodlne napisete sablonu, do ktere vlozite vase dynamicke vypisy (tzn. oddeleni kodu a dat pomoci systemu napr. custom tagu jako v jsp to neni, ale muzete si udelat sablonu, ktera bude akorat do hmtl tagu na pozadovana mista vypisovat zadane udaje), coz ve Flexu nejde a priznam se, ze z predstavy "programovani" sablon pres write_line('tagyTadySamyTagy'); mi beha mraz po zadech.
Zpet k autorovo prikladu - formatovani datumu snad nikdo nepovazuje za aplikacni kod - to je naopak zalezitosti prezentacni vrstvy.
Pane "skl", co byste povazoval za striktni oddeleni? Pokud srovnate php, jsp a old-school CGI pristup, zjistite, ze pan "scolex" ma ve svem prispevku pravdu. PHP a JSP umoznuji michani html a vykonneho kodu (za vykonny si dosadte zobrazovaci, cunatka a mensi projekty snesou i aplikacni) pohodlnym escapovanim tam, kde je potreba. CGI aplikace fungovaly tak, ze server posilal do browseru standardni vystup binarni aplikace. A k tomu ma modFlex opravdu hodne blizko temi svymy write_line('...');
Ostatne mam pocit, ze si toto autori modFlexu uvedomuji (neverim, ze by jim to nevadilo) a jiste pro ne nebude problem vymyslet a implementovat "doprovodny" sablonovaci jazyk pro modFlex (pokud srovname s JSP a servlety, maji ted v podstate hotovou tu servletovou cast, virtualni masinu pekne obesli no a ted uz jen zbyva vymyslet ten ekvivalent JSP).
Samozrejme souhlasim s tim, ze htmlhtml<?kod?>htmlhtml z PHP a JSP je mnohem prehlednejsi, pohodlnejsi a cistsi nez CGI nebo Flex. Jenom bych tomu nerikal "striktni oddeleni". Vzdyt i vy sam tomu rikate "michani" :-)
Duslednejsi oddeleni umoznuje treba ASPX, kde sice porad muzeme psat htmlhtml<%kod%>htmlhtml, ale preferovana je moznost umistit kod do samostatneho souboru a do html vkladat jen zvlastni tagy jako <asp:label> a podobne, ktere ten oddeleny kod plni. Ma to vyhody (duslednejsi oddeleni, s sablonami lze pracovat nezavisle na kodu) i nevyhody (nekdy je takoveto oddeleni tezkopadne).
A v prostredi Unixu jsem videl i jiny zpusob duslednnejsiho oddeleni - kod stranky byl ciste v Perlu a vytvarel XML. Toto XML bylo pote (jeste na strane serveru) transformovano XSLT sablonou na HTML kod, ktery se poslal prohlizeci. Vizaz stranky byla v te sablone, jeji obsah generoval ten Perlovy skript. Toto reseni ale rozhodne neni pro kazdeho, sam bych se mu zatim vyhnul.
Ostatne mam pocit, ze si toto autori modFlexu uvedomuji (neverim, ze by jim to nevadilo) a jiste pro ne nebude problem vymyslet a implementovat "doprovodny" sablonovaci jazyk pro modFlex (pokud srovname s JSP a servlety, maji ted v podstate hotovou tu servletovou cast, virtualni masinu pekne obesli no a ted uz jen zbyva vymyslet ten ekvivalent JSP).
Máte naprostou pravdu. Uvědomujeme si to velmi dobře, ale modFLEX je ***BETA*** bez nároku na podporu X funkcí, po kterých v této diskusi všichni tak škytají. Nedělám si žádné iluze, že se z nás všichni posadí na zadek, budou na nás ohromeně koukat a PHP, Perlu, Pythonu, JSP, ASP a já nevím čeho všeho ještě se už ani nedotknout.
Flex míří směrem, na který si PHP a spol. ambice nedělají - jsou to jinak zaměřené, skriptovací jazyky. modFlex je meziprodukt a my jsme rádi, že na něj máme reakce. Pokud tu jsou lidi, kteří mají konkrétní připomínky nebo dotazy k samotnému jazyku Flex, dost to oceníme a pomůže nám to v dalším vývoji.
P.S. V tomto příspěvku jsem použil šestkrát tag <br>. Doufám, že tím teď něco neposeru ;-)
...vzali vidle nebo lopatu a dělali pořádnou práci, vy darmožrouti! S takovejhlema lehkoživkama, co furt jenom seděj u počítače, čuměj do tý televýze a myslej si, že pracujou, s těma brzo zatočíme.
V úvodu článku odkazujete článěk na Root.cz, který prý měl psát Aleš Procháska. Ale ať se koukám na ten článek na Rootu jak se koukám, pořád tam vidím, že ho psal Ondřej Tučný.
Jinak můj názor na Flex jako takový - poprvé jsem se o něm dozvěděl z článku na Root.cz už asi před měsícem - a už tehdy jsem si o něm myslel asi to, co většina lidí vyjádřila v diskusi pod článkem - že když to není open source a je to jen pro wokna, nestojí to za pozornost. :-) A taky jsem tehdy nechápal (a dodnes nechápu), co to takový článek dělá právě na serveru Root.cz.
Teď se holt snaží jazyk protlačit jinde - ale můj názor je stejný... Píšete, že ho můžu vyzkoušt zadarmo? Nemůžu, musel bych si nejdřív koupit Windows... A Windows na serveru se mi taky nezdá jako nejlepší řešení...
Máte pravdu, autora článku na Rootovi jsem opravdu zaměnil a velmi mne to mrzí. Ondřeji Tučnému i vám se omlouvám.
Jinak samozřejmě chápu Váš názor na Flex, já mám také nějaký :) Někomu se líbí, jinému ne a dát o tom vědět ostatním je myslím přesně to pravé pro Lupu.
Poznámky k licenci, opensource a Linuxu jsem do článku také zařadil... Ostatní je na vás (čtenářích).
Mozna by pri tom programovani pomohlo i sundat to zavazi z enteru. :-)
Jenom bych rad pozadal, abyste vyjasnili, co myslite tim PR, a autora, aby vyjasnil, proc (na ci popud/za ci penize/...) napsal clanek o Flexu.
OBTW jsem programator dost dlouho, abych poznal, ze clanek xyz na Lupe je bud -PR-, nebo je autor zainteresovanej v xxxxxxxInternetuxxx argh.
O svém pohledu na to, co (ne)patří do PR, jsem psal v diskusi výše. Byl jsem sice také programátorem, ale zřejmě ne dost dlouho na to, aby se naše porozumění PR shodovalo - no budiž :)
A k otázce "proc (na ci popud/za ci penize/...)" - budu věřit, že ji myslíte vážně, ale je mi jasné, že naopak vy si stejně budete věřit čemu chcete vy, ať já napíšu cokoliv. Vztah autora a čtenáře je holt navždy nevyrovnaný :) Tedy, je to prosté - téma na článek mi nabídnul Mirek Zeman z Lupy a mě přišlo natolik zajímavé, abych to přijal. Asi se vám to nebude líbit, ale to je vše. Žádné plnění ze strany autorů Flexu ke mě nedorazilo, naopak telefonáty s dotazy jsem hradil plně ze své kapsy. Za hotový článek pak pochopitelně platí Lupa (alespoň v to doufám :)
Myslim, ze jste mou otazku nepochopil. Jelikoz jsem _vedel_, ze se nejedna o zadne placene PR, chtel jsem, abyste to tady verejne vyjasnil. Coz se stalo a ja jsem spokojen. :-)