Pereiti prie turinio

luknei

Patvirtinti nariai
  • Pranešimai

    336
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    100%

luknei Pranešimai

  1. Ne visai šitas skaičiavimas tinka, jeigu žiūrėt, pagal tų visų ministerijų reikalavimus. Štai mano klasė (trimina iki 3 sk, poto apvalina pagal matematika. Taip pat išvengta php float'o bajerių):

     

    <?php
    class EUR{
    
    public $ratio = array(
    	'LTL' => 3.45280
    );
    
    private function clearAmount($amount){
    
    	if ( strpos($amount, '.') !== false){
    		$amount = str_ireplace(',', '', $amount);
    	}
    	$amount = str_ireplace(',', '.', $amount);
    
    	return floatval($amount);
    }
    public function convert($amount, $from='LTL', $round=2){
    	$converted = (float)-1.00;
    	if(array_key_exists($from, $this->ratio)){
    		$amount = $this->clearAmount($amount);
    
    
    		$converted = floatval($amount/$this->ratio[$from]);
    		//echo $converted.'\n';
    		return $this->roundAmount($converted, $round);
    
    	}
    
    	return $converted;
    
    }
    
    public function reconvert($amount, $to='LTL', $round=2){
    	$converted = (float) -1.00;
    	if(array_key_exists($to, $this->ratio)){
    		$amount = $this->clearAmount($amount);
    		$converted = floatval($amount*$this->ratio[$to]);
    		return $this->roundAmount($converted, $round);
    
    	}
    
    	return $converted;
    
    }	
    public function roundAmount($amout, $round=2){
    
    	$num = 1;
    	$n = $round+1;
    	for($i=1;$i<=$n;$i++){
    		$num = $num*10;
    	}
    	$c_amount = round(intval($amout*$num)/$num, $round);
    	return (float) number_format($c_amount, $round , '.', '');
    
    }
    }
    
    ?>

     

    Kokie tie PHP float'u bajarei? :)

  2. O kas keičiasi? Ar PHP tapo strongly-typed kompiliuota kalba (neskaitant išvedinių, kaip Hack)? :) Aišku, tobulėja kažkiek, core lieka ir tokie dalykai nesikeitė per metų metus. Vis dar:

    php > var_dump('3 little pigs' + 1);
    int(4)
    

     

    Visiškai validus argumentas. :) Kitos interpretuojamos kalbos tiek su tipais nesimėto, bet kažkokių trūkumų išlieka (tas pats null, metodų tikrinimas runtime, ir kt.). Kompiliuojama tuo atžvilgiu visad bus tikresnė, kol nepradėsi daryt magijų.

     

    Iš esmės čia jau ne pačios kalbos problema, sutinku, jog su 'strongly-typed' kalbom padaryti klaidų, tiek loginių, tiek saugumo yra sudetingiau, nei tarkim PHP ar kitom interpretuojamom kalbom, bet manau tas argumentas, jog php kalba yra nesaugi tai yra pakankamai juokingas :)

  3. O kas keičiasi? Ar PHP tapo strongly-typed kompiliuota kalba (neskaitant išvedinių, kaip Hack)? :) Aišku, tobulėja kažkiek, core lieka ir tokie dalykai nesikeitė per metų metus. Vis dar:

    php > var_dump('3 little pigs' + 1);
    int(4)
    

     

    Visiškai validus argumentas. :) Kitos interpretuojamos kalbos tiek su tipais nesimėto, bet kažkokių trūkumų išlieka (tas pats null, metodų tikrinimas runtime, ir kt.). Kompiliuojama tuo atžvilgiu visad bus tikresnė, kol nepradėsi daryt magijų.

     

    Iš esmės čia jau ne pačios kalbos problema, sutinku, jog su 'strongly-typed' kalbom padaryti klaidų, tiek loginių, tiek saugumo yra sudetingiau, nei tarkim PHP ar kitom kompiliuojamom kalbom, bet manau tas argumentas, jog php kalba yra nesaugi tai yra pakankamai juokingas :)

  4. Jeigu tęstume pokalbį apie PHP tinkamumą didelėms sistemoms, tai reiktų turėti omeny tokius dalykus:

    • Mažiems projektams tinka beveik bet kokia kalba, nes dažniausiai maži projektai neturi nei didžiulių spartos reikalavimų, nei didžiulių duomenų kiekių, nei daug eilučių kodo. Šiuo atveju net neverta diskutuoti „PHP: būti ar nebūti“, imi tai, kas mažiausiai pareikalaus laiko ar išlaidų (dėl standartinės Web hosto konfigūracijos PHP yra priimtiniausias pasirinkimas piniginės atžvilgiu; tai prisideda ir prie to, kad daugelis populiarių TVS parašyta su PHP).
    • Nesąmonė yra lyginti kalbas, pagal tai, kiek tau kainuos parašytą programą pasileisti serveryje. Čia tas pats, kas sakyti, jog duona yra geriau už batoną, nes kai darausi sumuštinius, ant duonos dedu dešros, o ant batono – lašišos. Kadangi lašiša brangesnė už dešrą, tai duona yra kur kas geresnis maisto produktas...
    • Grįžkim prie didelių sistemų, nuo ko ir prasidėjo diskusija. Didelėms sistemoms itin svarbus yra kalbos saugumas (čia turima omeny ne prevenciją nuo įsilaužimų, bet kalbos savybę leidžiančią rašyti programą be bug'ų ir kuo anksčiau surasti esančias klaidas). Jeigu sistema neveikia (downtime, netinkamai veikiantis funkcionalumas) – prapandamas pelnas, smunka reputacija. Saugios kalbos padeda to išvengti. PHP nėra saugi kalba.

     

    Trečias punktas visiškas bullshit, galėjai imest ir 15m senumo straipsni :)

  5. Keli pastebėjimai iš mano pusės.

    1)Niekas nemeta rar'o su vendoriais;

    2)Contollerius, klases, failus, namespace vadink anglškai;

    3)Rašyk DB seederius ir migracijas, o ne dumpink viską į vieną SQL failą;

    4)Naudok before filtrus, apskritai jokios apsaugos nepastebėjau.

    5)Venk tokių dalykų kaip "pakeisk ten truputi javascript'e kodą, kad veiktų" :)

    6)Base controlleryje kažkoks bardakas, reiktų praktiškai viską kelti į kokį servisą.

    7)Gyvenimo pasilengvinimuj, kaip minimum patariu naudot ardent, dbugbar, ide-helperi :)

     

    Čia pora pastebėjimų iš mano pusės, šiek tiek užmetus akį į kodą, nežiūrėjau nei DB nk, nes realiai dar labai yra kur tobulėt ir apie šito kodo panaudojimą, tai nlb gali būt minčių :)

  6. Ką turėtų žinoti PHP programuotojui ieškant darbo?

    Ar viską patys žinote?

    Gal kažką pamiršau paminėti?

     

    Šio sąrašo esmė, padėti suprasti pradedantiems programuotojams ko jie dar nežino ir ko prašo geresnėse darbovietėse.

     

    <?php
    
    class Advanced_Php_Developer extends Php_Developer {
    
    /** BACKEND **/
    [b]1. Būti dirbusiam su MVC frameworku (yra ir ne MVC). Pvz.: CodeIgniter, Laravel[/b]
    2. Žinoti kodo rašymo standartus: PSR-0, PSR-1, ..., PSR-4, PEAR, Squiz, Symphony2, Zend
    3. Naudoti kodo kokybei skirtus užtikrinti įrankius: CodeSniffer, MessDetector, CopyPasteDetector
    4. Rašyti Unit testus (PHPUnit), funckinius testus (Selenium)
    5. Code deploymet. Žinoti apie CI servers. Jenkins, TeamCity, Bamboo, Capistrano. Kaip atnaujinti kodą keliuose serveriuose, kad sistema nenulūžtų? 
    6. Objektinis programavimas? 
    7. ORM/ODM (duomenų bazių abstrakcijos)? 
    [b]8. MySQL (reliacinė), MongoDB (noSQL)[/b]
    9. Git (GitHub), SVN - kodo versijavimas
    
    /** FRONTEND **/
    1. CSS: LESS, SASS, Cofee Script
    2. Template engines: Smarty, Twig
    3. JavaScript frameworks: Backbone.js, Angular.js, Ember.js
    4. JavaScript DOM manipulation libraries: jQuery, Dojo Toolkit

     

    Laravel ir CI nera MVC? :)

    Pataisyk, jeigu klystu, bet pvz InnoDb yra reliacine, bet MyIsam - nera.

    Prie tavo list'o dadeciau OOD.

  7. Na tai žinau, prieš tai jį ir minėjau, tačiau serveryje jis nėra įdiegtas ir serveriai.lt į bendro naudojimo serverį jo nediegia - siūlo pirkti hostingas.lt hostingą už 200lt/mėn, tai gal ačiū, bet jau tokiu atveju geriau kelsiu tą atskirą img. :D

    Tokiu atveju galiu rekomenduoti hostingasu visais extensionais, kol kas nenuvyle.

  8. O tai čia ta akademija bus php kontekste. Būna java kontekste kada, ar visada php? Ir šiaip ar ten ta akademija visai žaliems ar ir šiek tiek jau pažengusiems?

     

    Buna PHP ir Java grupės, rudenį PHP buvo ir Kaune, ir Vilniuje, o Java tik Kaune. Dėl Java lygio nelabai žinau, o php šiek tiek pažengusiems :)

  9. Man tai juokinga, kai framework'us pradeda lyginti pagal speed test'us, o dar geriau kai pradeda lyginti pagal 'hello world' testa, visu pirma - frameworko pagrindinis tikslas, nera greiciau isprininti 'hello world' ar ka kitka. susijunk visus privalumus (redis, memcache, ORM cache etc), kuriuos siulo tavo pasirinktas fw ir skirtmo jokio nebus.

    Mano nuomone pagrindiniai frameworku tikslai bei privalumai:

    *sumazinti sanaudas vystant projektus,

    *padeti programuotojams isvengti zmogiskuju klaidu paliekant very basic saugumo spragas,

    *uztikrinti/palengvinti projektu testinuma,

    *naudojant public frameworka tu is karto gauni gera (dazniausiai) dokumentacija didziajai projekto daliai,

    *naudojant fw, gauni supporta, kuris jau bus isprendes 95% problemu su kuriomis jau kazkas buvo susidures anksciau,

    *naudojant fw buni priverstas judeti kartu su PHP atnaujinimais ir netapti dinozauru,

    *mokant bent 2-3 frameworkus daug lengviau prisitaikyti darbo rinkoje ar net ismokti kita programavimo kalba,

    *padeda rasyti koda the right way :)

     

    manau butu galima rasti dar nemazai pliusu, o cia tik seip tokie kurie dabar sove i galva.

     

    P.S. O frameworku hateriams palinkeciau perimti kada koki didziuli projekta parasyta plain html. :)

×
×
  • Pasirinkite naujai kuriamo turinio tipą...