Jump to content
php.lv forumi

Toms

Reģistrētie lietotāji
  • Posts

    427
  • Joined

  • Last visited

Everything posted by Toms

  1. Tieši tāpēc man ir atsevišķa funkcija, kuru var lietot gadījumos, kad nav DB klases! Man nav vēlēšanās padarīt kodu grūtāk lasāmu (un rakstāmu) dēļ optional parametriem. Salīdzini: htmlentities($var,ENT_QUOTES,'utf-8'); makeSafe($var); Datus nečakarē - kā sauc to koderi, kas sabojā lietotāja inputu tad, ja tekstā bijuši kaut kādi < vai ' ?
  2. Kas tie par argumentiem?? DB klase to visu automātiski apstrādā, tā, ka nav nekas sarežģītāks. Un tavs OOP "arguments".. Vēl pamēģini apgalvot, ka tabulāru informāciju es taisu iekš CSS un <div>! Uzmini, kāpēc man atsevišķa funkcija tam htmlentities() ? Users nedrīkst čakarēt tavus datus, bet tu drīksti čakarētu viņējos? Outputam eksistē visādu veidu cachingi. Bez tam izvaddatu apstrāde nebūs "bottleneck".
  3. "..saglabajot datus DB izmantot kaadu no funkcijam kas apgriezj HTML tagus.." A es saglabāju iekš DB novēršot SQL injekcijas, bet datus neaiztieku. Apstrādāju tikai pie izvades ar makeSafe() function makeSafe($var){ return htmlentities($var,ENT_QUOTES,'utf-8'); } /* makeSafe */ Edit: kādi jums ir argumenti izmainīt lietotāja ievadīto info?
  4. Vai esi mēģinājis CodeIgniter? Ja jā - kāpēc ZF ir pārāks? Ja nē - iesaku uzmest aci. User guide ir tik labs, ka bez domāšanas tiek uztverts viss, kas jāsaprot kā strādāt. Man learning curve bija ~20h (kopā ar lapas izstrādi).
  5. Kristabs, varbūt tev ir zināms arī labs koda piemērs? Tāds, kas būtu rakstīts pēc "best practices"? Kā izskatās tests un kā pats kods..
  6. Man līdzīgs stāsts kā Endijam. Bubu labu domu pameta - sanāk, ka testos uzraksti reālo situāciju pieprasījumus (scenārijus) un tad raksti klasi, kas tos apstrādās? Man iepatikās šī doma.
  7. Toms

    izvēlnes klase

    Noģenerē menu HTMLu - to noģenerēto saglabā failā uz HDD. Pie katras lapas ielādes pārbaudi, vai šis fails eksistē. Ja nē - noģenerē no jauna un saglabā, bet ja eksistē - ielādē faila saturu un viss.. Cache sistēma gatava :)
  8. Toms

    izvēlnes klase

    Objektorientētā stilā jāprogrammē tur, kur tas atvieglo darbu. Menu 99% gadījumu ir pārāk prasta lieta, lai veidotu klasi...
  9. Toms

    izvēlnes klase

    Menu cache expire var likt mūžīgu. Un cache nodzēst kad iekš CMS tiek labots/dzēsts/pievienots menu saturs.
  10. Stulbāku atbildi neesmu dzirdējis pēdējā pusgada laikā!
  11. Ar jQuery to var panākt vienkāršāk un ātrāk nekā ar pliku JS. Ielādējam bildītes (ar php) un padodam JS kā masīvu. Palaižam JS funkciju, kas izpilda sevi ik pēc 3 sekundēm - funkcija izvēlas randomā vienu masīva elementu un ieleik to iekš attiecīgā img taga src attrībūta. Pašā funkcijas sākumā uztaisam fade efektu, kas pataisīs laukumu tumšu un funkcijas darba beigās fade efektu, kas atgriezīs sākotnējo stāvokli. Sīkāku info atradīsi, ja meklēsi pēc atsēlgvārdiem: jQuery fadeTo, jQuery attr, setTimeout Pastāsti labāk, kur ir tava problēm - loģika nestrādā, JS nemāki, vispār kodēt nemāki? Un neprasi kā sauc skriptu!!!
  12. Sieva ir tukša vieta, kas piepelna tev naudu? :D 1000 / 2 = 500 Ls
  13. $signature = shell_exec('openssl dgst -sha1 -sign ' . $keyLocation . ' ' . $filename); $VK_MAC = base64_encode($signature); Kur $keyLocation ir tavas atslēgas atrašanās vieta un $filename ir tas fails, kurš satur visu saģenerēto info. Domāju, ka to info, ko tu šeit domāji:
  14. Izmantoju Win32OpenSSL, lai uzģenerētu visu nepieciešamo. Uzģenerēt sertifikātu un privāto atslēgu: openssl req -newkey rsa:1024 -x509 -out certificate.pem -keyout private_key.pem -sha1 -nodes No privātās atslēgas uzģenerēt publisko atslēgu, kas jāsūta prom: openssl rsa -pubout -in private_key.pem -out public_key.pem Lai uzģenerētu sertifikāta request: Openssl req –new –out certificate_request.pem –key private_key.pem No sertifikāta iegūt publisko atslēgu (PHP): die(shell_exec('openssl x509 -in hanzanet/bank-cert.pem -pubkey -noout -out bank-pub-key.pem 2>1')); Ar šo info būtu jāpietiek..
  15. Nesanāk atslēgu uztaisīt vai ko..? # SIGN # make binary signature /usr/local/ssl/bin/openssl dgst -sha1 -out sample.sig -sign keyfile.pem sample.txt # encode signature with base64 /usr/local/ssl/bin/openssl enc -base64 -in sample.sig -out sample.b64 # VERIFY # extract public key from certificate /usr/local/ssl/bin/openssl x509 -in certfile.pem -pubkey -noout -out pubkey.pem # decode signature /usr/local/ssl/bin/openssl enc -d -base64 -in sample.b64 -out sample.sig # verify signature /usr/local/ssl/bin/openssl dgst -sha1 -verify pubkey.pem -binary -signature sample.sig sample.txt /** * Verifies opensll signature. * * @param string $str Data to verify * @param string $signature Signature to check * @return boolean <code>true</code> if signature matches */ function _verify($str, $signature) { $filename1 = tempnam('hanzanet/', 'hansanet1-'); $fd = fopen($filename1, 'w+'); fwrite($fd, $str); fclose($fd); $filename2 = tempnam('hanzanet/', 'hansanet2-'); $fd = fopen($filename2, 'w+'); fwrite($fd, $signature); fclose($fd); $return = shell_exec('openssl dgst -sha1 -verify hanzanet/bank-pub-key.pem -binary -signature ' . $filename2 . ' ' . $filename1); unlink($filename1); unlink($filename2); return strstr($return, 'Verified OK'); } Varbūt noder..
  16. Tie 60 Ls/h gan nav par 8h darbadienu, bet gan freelancerim izvelkot vidējo: projekta cena / pavadītās stundas izstrādē = X Ls/h
  17. andrisp, tu pārspīlē. Te iet runa par koderiem iekš LV - darbaspēku. Es zinu web programmētājus (LAMP, CSS, Strict valid xhtml), kas pelna 25 - 60 Ls/h, tā, ka nav ko cepties (Drupal), ja saņem maz un nemāki saņemt vairāk.
  18. Paulinjsh - tāda sistēma, manuprāt, der tad, ja visi serveri atrodas lokālā tīklā (viens otram blakus - domājot par ātrdarbību). Vēl jāatceras, ka katrai no DB daļa datu atšķirsies. Mans variants ir līdzīgs Alekseja ieteiktajam, bet bez replikācijām. Saziņa starp serveriem notiks (tie atradīsies dažādās valstīs) ar XML-RPC for PHP palīdzību. Būs viena centrālā DB (un CMS) ar pilnīgi visu info. Visi pārējie serveri no centrāles saņems pieprasījumus par izmaiņām (preču maiņa, tekstu maiņa). Centrālei tiks doti pieprasījumi, kad reģistrēsies lietotājs un notiks pirkums. Tas viss darbosies arī tad, ja kāds no serveriem būs off - viņu "pingos", un kā būs online, tā izpildīs pending pieprasījumus. Nezinu vai labākais risinājums, tāpēc vispirms izstrādāšu nelielu prototipu. Jautājumi/ieteikumi?
  19. The most brilliant idea, with no execution, is worth $20.
  20. Skaidrs. Pāris gadu laikā uz 1.5 - tas nav vienas nakts laikā. Nekorekti argumenti. Atgriežoties pie tēmas - ja to ideju var izkustināt ar 1.5M, tad kāpēc lai to nestāstītu? Tāpēc, ka katram trešajam ir 1.5M, lai to uzsāktu? Ideja, kas tiek paturēta pie sevis = nulles peļņa. Dažiem patiks ideja - pietiks ar 1% un 2K algu. Dažiem neliksies tik laba - tiem vajadzēs 6K Ls bez tā procenta..
  21. Vēreiz saku - man liekas, ka EUR kurss jau kādu pusotru gadu ir nemainīgi 0.702804 santīmi par vienu ēriku.
  22. Man liekas, ka LVL ir piesaistīts EUR un nekas nekur neko nevar kristies vai celties - tie abi mainās poporcionāli. Tā ir vai nav?
  23. Es domāju līdzīgi Endijam par šo tēmu.
×
×
  • Create New...