Jump to content
php.lv forumi

Roze

Administratori
  • Posts

    1,561
  • Joined

  • Last visited

Everything posted by Roze

  1. Tas bija sen un vairāk kā joks.. bet arodbiedrību mērķis jau ir vairāk izsist labumu indivīdam un to aizstāvēt.. tākā uzņēmumam tur tā labuma mazāk :)
  2. Uz IE6 neizdevās neko tādu novērot..
  3. Vajadzētu būt ok tagad datumam..
  4. Kādas problēmas? GW manuprāt tu tagad kaut ko ne tā te raksti :) Gan par paypalu gan bankām..
  5. A kāds Paypal donations ir pakalpojums? Pakalpojuma tak nav nekāda.. cilvēki var "ziedot" man kautvai tikai tāpēc ka es esmu ne tā? :) http://www.paypal.com/cgi-bin/webscr?cmd=p...e-intro-outside Nekādiem apgrozījumiem vai ilgstošai klienta esamībai afaik nav jābūt.. Par opcionāliem formas laukiem var palasīt šeit https://www.paypal.com/us/cgi-bin/webscr?cm...ns_help_outside viņi sen jau to visu ir uztaisījuši.. Konkrētais gadijums gan, manuprāt, vismaz LV robežās vienkāršāk ir risināms ar maksas SMS .. reti kuram tīnim ir kredītkarte ;)
  6. A kapēc ne otrādi? :) Izdomājam vispirms ko mēs gribam uztaisīt un tad sākam to mēģināt skatoties uz sampļiem.. Nav jēgas būt html ekspertam un css guru (protams jauki) ja gribās guestbooku bet iepriekš jāiekaļ xhtml :) Proti ja ir vēlēšanās (un lasītprasme) var visu (pamazām) apgūt vienlaicīgi, jo neviens no elementiem/tēmām nav obligāti pakārtots otram, manuprāt. Svarīgākais ir saprast principus nevis obligāti zināt sintaksi no galvas..
  7. Nu ja tavs hostinga provaideris to pieļauj tad jau nav problēma: index.php ieliec <? if($_SERVER['SERVER_NAME'] == 'peteris.domain.lv') { echo 'Te ir Petera lapa'; } elseif($_SERVER['SERVER_NAME'] == 'fedja.domain.lv') { include('fedja.php'); } else { echo 'Juzera nav'; } ?> Tas protams nav nekāds virtualhostings pēc būtības, bet nu var bakstīties ar dažādiem (sub)domēniem.. jo PHP nevar mainīt documentrootu apachei, to var tikai pati apache.
  8. Apaches conf failu ir jāmaina tikai vienu reizi. http://httpd.apache.org/docs/2.0/vhosts/mass.html
  9. Roze

    Opensocial

    Nu pats arī atbildēji uz savu jautājumu - pārējie gaida.. Kas attiecas uz dr.lv visdrīzāk ar būs savs API.. ko tad iespējams varēs (vai nevarēs) savienot ar minēto opensocial.. p.s. no otras puses mani ideja par "pasaules servisi ir pieejami vienā vietnē" biku kretinē.. kaut kāds globālisma shits.. Individualitātes nekādas :) Aiz kam pasaulē ir pietiekami daudz piemēru kur sākotnēji nav novērojams vispār nekāds virziens un tad tiek kaut kas "izlaists" .. Viss nav obligāti jāsāk ar "buzzošanu" n-gadus iepriekš.. "It will be done when it's done"
  10. Roze

    Opensocial

    Tu vispār pats esi kaut ko palasījis? Vairāk par draftu tur nekā reāli nav.. Gatavie kode sampļi aka 'hello my world' uz katru trešo requestu ir errori (so ir krietni vēl jāgaida kamēr tas viss būs kaut cik lietojamā kondīcijā).. Tākā pirms izlem kurš un ko nebūs spējīgs varbūt pats kaut ko "iespējo" ..
  11. Nedaudz grūti saprast kveriju (nezinot tabulas relācijas un vēlamo rezultātu), bet ja pareizi uztveru tad tu gribi tos divus laukus aliasot kā 'topic'? Nu tad workarounds varētu būt concatenot ... (SELECT CONCAT(z.`added`, z.`name`) FROM `table2` AS z WHERE z.`cat_id`=ca.`id` LIMIT 1) topic .... Un būs viens lauks subselectā.. Bet ja savādāk savādāk drizāk kaut kā šādi: SELECT z.`added`, z.`name`, ca.name FROM `table2` AS z, `table1` AS ca WHERE z.`cat_id`= ca.`id` Tb netaisīt subselectus bet joinus.. lai gan tad ar jāzin kādi dati ir tabulā.
  12. Nē gone away vajadzētu būt response uz mysql_query() vai mysql_error() izdruka (paskaties kur tev tādi ir). Testa nolūkos var salikt mysql_connect pirms visiem kverijiem un tad paskatīties kas notiek.. vai arī pa vienam un skatīties vai pazūd, taču vienkāršāk jau padrukāt laukā kaut ko echo 'rindas 10'.mysql_error();
  13. Nē šo settingu nevar nomainīt no PHP.. un visdrīzāk konkrētā wait_timeout 20 sekunžu maksimālais idle laiks konkrētā gadijumā arī iedarbojas.. Risinājums: ieliec vienkārši mysql_connect() (ar visiem parametriem protams) pirms katra sql kverija (pēc katra ilgā izpildes procesa - proti tajās vietās kur tev izmet to 'Gone away') un php vajadzētu rekonektēties ja būs pazaudējis konekciju... Nekādus multithreading vipendronus nav jātaisa :)
  14. Nu 10.3 ir jauna un pavisam jauka.. desktop useriem varētu patikt.. Protams neko sliktu nesaku par Ubuntu distributīviem.
  15. OpenSuse 10.3 .. lai dotu kādu atbildi un būtu vienkāršāk ;)
  16. Roze

    ip lock

    1. SQL kverijs tāds jocīgs.. tas 'AND where' vispār izpildās (slinkums pārbaudīt)? bet pareizāk būtu - .. ip = $ip AND un_id = {$_GET['go']} ... ( vispār mainīgos vajag eskeipot (mysql_escape) vai vismaz typejugglēt (int)$var ) 2. Kas ir $time = mysql_result($result, 0, 'she'); ??? Es tur kverijā neredzu tādu lauku kā 'she' nav jābūt 'time' ? Proti pirms tā if() { die(); } izvadi tos $locked un $time un paskaties kādas tu faktiski vērtības dabū.. Otrs pēc kverijiem vari ielikt echo mysql_error(); un paskatīties vai MySQLam viss patīk :)
  17. Nē nu nevaig sabeigt cilvēkam domu pašā pamatā.. Faktiski tikai tāpēc letiņiem ir baigi maz jēdzīgu projektu un dalība arī citos kopprojektos un tikai tāpēc ka pārējie (kaut paši neko nav paveikuši) sāk "apriet" pirms vispār vēl kaut kas ir noticis. Paskatoties, piemēram, uz igauņiem vai lietuviešiem - viņi ir N visādos opensource projektos.. Lielākajai daļai *ix distributīvu (suse,rh,ubuntu) ir tulkojumi, bet latviešu valoda - nevienā (izņemot varbūt kaut kādus pāris lokalizētos). Brīnums ka Skypē ir parādijusies katviešu valoda. Labi var jau teikt ka "komjunitijs" mazs (lai gan php.lv ta kaut kā piemēram veseli ~2.5K ir sareģistrējušies) un tiem kam vajag to visu var izlasīt citvalodu resursos, bet nu man personīgi ļoti nepatīk, ka cilvēku sūta 3 mājas tālāk ar kaut kādiem tējkannas manuāļiem.. šis nav jautājums "Kā man uztaisīt CS serveri?" .. Tākā mans viedoklis - ja ir laiks un vēlēšanās taisi augšā .. Jo vairāk būs dažādu resursu jo vairāk atsijāsies tie kuri būs kvalitatīvi un noderīgi. Pie kam ja ne citiem tad pats gūsi pieredzi un zināšanas..
  18. Tādas, ka kopš kādas MySQL 5.0.2x versijas šī problēma vairs nav ne aktuāla ne interesanta. Tagad tas izskatās apmēram šādi: mysql> EXPLAIN SELECT * FROM tabula WHERE uid1 = 2323 OR uid2= 234234; +----+-------------+-------+-------------+---------------+---------------+---------+------+------+-----------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------------+---------------+---------------+---------+------+------+-----------------------------------------+ | 1 | SIMPLE | tabula| index_merge | PRIMARY,uid2 | PRIMARY,uid2 | 4,152 | NULL | 2 | Using union(PRIMARY,uid2); Using where | +----+-------------+-------+-------------+---------------+---------------+---------+------+------+-----------------------------------------+ 1 row in set (0.00 sec) Līdz ar to uniona izmantošana ir sekundāra.. Tākā nav ko rakt vecus topicus (ja neesi pārbaudijis vai problēma vēl eksistē.. un principā nepasaki neko jaunu kā tikai atkārto to kas sākotnējā topicā jau ir) :) Proti divu gadu laikā mainās gan produkti gan cilvēku zināšanas :) p.s. Šis gan aizvien ir patiesi.. MySQL prot kverijā izmantot faktiski tikai 1 indeksu (manā piemērā gan māk concatenot divus) :)
  19. Mok vēl vecākus postus nevarēja izrakt? -> Posted 2005. gada 12. Sep 18:04
  20. Var izmantot RETURN FALSE teorētiska sample: delimiter // CREATE TRIGGER taable_check_values BEFORE INSERT ON taable FOR EACH ROW BEGIN IF NEW.lauks > 30 OR NEW.lauks < 10 THEN RETURN FALSE; END IF; END; // delimiter;
  21. Ai nu.. programmētājs vienreiz izlabo patērējot 5min un tiek ieekonomēts CPU stundas uz ļimons requestiem .. :) Aiz kam nekas nav jākonvertē: echo 'Eat some '.$cookies.' for a change'; Kurā galā lai viņš keshotos? Vienīgā iespēja ir likt kāda acceleratoru (piem eA) un pateikt viņam lai ignorē mtime pārbaudi, taču tad pēc katras izmaiņas php failos manuāli jatīra keš..
  22. A kas tad tur ir? p.s. MySQL ir dažādas modes.. atkarīgi no tās izmainās kas tiek un teiek enforcēts :) http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html
  23. Nu uz pašiem laukiem šāda veida restrikciju uzlikt nevar, taču teorētiski ir iespējams uzrakstīt BEFORE trigeri kas izpildās pirms INSERT un pārbauda attiecīgās lietas: http://dev.mysql.com/doc/refman/5.0/en/using-triggers.html Bet vienkāršāk jau to ir pārbaudīt klienta (ar php vai javascriptu).
  24. Izskatās ka neesi saskāries ar lieliem projektiem un ātrdarbības problēmām ;) Nepārkomentēšu visu, bet tos kuri tiešām sāp.. Uz 4.x šī ir ļoti "dārga" (salīdzinoši) funkcija attiecībā uz ātrdarbību.. Pārbaudes var būt ātras gan lēnas, konkrētajā gadijumā php jātur saraksts/mapings ar includētajiem failiem utt.. Uz 5.2.x jau ir krietni labāk un konkrētais punkts varbūt vairs nav tik aktuāls. 100% patiesi.. Uz relatīviem failiem PHP jaizpildi papildus stat() operācijas uz failistēmu un tas ir laikietilpīgi. Ļoti labi to var redzēt un padebugot ar strace. Ja runājam konkrēti par MySQL tad katra konekcija ir diezgan resursprasīga. Formula pēc kuras aprēķina MySQL patērēto atmiņu = key_buffer_size + (read_buffer_size + sort_buffer_size) * max_connections Tas nozīmē ka katra lieka vaļēja konekcija lieki aizņem sortēšanas buferi (kas parasti ir ap 1Mb) un read buferi.. Un tad padomājam ja mums ir 100-1000 idlējošas konekcijas (teiksim php kaut ko citu dara ilgāk 2-3) uz DB serveri 1Gb rama ir wasted.. Ir gan ķēpīgi to darīt pašā php pusē.. Es to risinu ar mazu wait_timeout uz paša DB servera. Spožums un posts.. PHP ir zināmā mērā jauks un viss nav jādefinē :) Kad rodas vajadzība pārvērst ' par " ? Ja tu nesaprati tad minētie ieteikumi ir samērā zema līmeņa (ņemot vērā valodas īpatnības).. Par vispārīgām optimizāciju tur nekas daudz nav rakstīts un tas jālasa citur :)
  25. Roze

    serveri

    Nu bet par ko es žēlojos? :) Mēs jau gribētu uz savu DC kādu megavatu vai divus ievilkt.. bet Latvenergo grib par to ļimonu(s) (pāris) :)
×
×
  • Create New...