Jump to content
php.lv forumi

bubu

Administratori
  • Posts

    8,897
  • Joined

  • Last visited

Everything posted by bubu

  1. stulbs variants: 1) atvērt failu lasīšanai 2) nolasīt visu faila saturu stringā 3) aizvērt failu 4) kopēt stringa saturu no 3-šās pozīcijas uz jaunu stringu 5) atvērt failu rakstīšanai 6) ierakstīt failā jaunā stringa saturu 7) aizvērt failu gudrāks variants (ātrāks): 1) atvērt failu lasīšanai 2) nostādīt faila lasīšanas pozīciju uz 3 baitu 3) nolasīt failu līdz beigām uz stringu 4) aizvērt failu 5) atvērt failu rakstīšanai 6) ierakstīt failā stringa saturu 7) aizvērt failu
  2. Kas tie par slima suņa murgiem? Nu ja nesaglabājas tas ķeksis, tad nodzēsīsi BOM simbolus pats vēlāk ar pavisam vienkāršu php skriptu (pirmos trīs baitus failam tik jānovāc).
  3. Ko nozīmē "uzlikt datubāzi"? Uzinstalēt datubāzes serveri? Izveidot jaunu datubāzi? Importēt datubāzes datus? P.S. pacenties izdomāt turpmāk sakarīgus topika nosaukumus. Šoreiz pievēršu acis. http://catb.org/~esr/faqs/smart-questions.html
  4. Protams jālasa. Tas ir protokols - speciālā formātā formatēts pieprasījums/atbilde. Tieši tāpat kā ar HTTP headeriem, piemēram. Un tas viss ir aprakstīts torrent protokola specifikācijā: http://www.bittorrent.org/protocol.html http://wiki.theory.org/BitTorrentSpecification Manuāļi IR jālasa. Zināšanas no tukša gaisa nerodās.
  5. Vai tad visvienkāršākā N:N tabulas struktūra? torrents (torrent_id, hash, name, size...) <-> torrent_peers (torrent_id, peer_id, down_bytes, up_bytes, up_speed, down_speed, ...) <-> peers (peer_id, ip_address, username, email, ...) Ja tu to par tabulas struktūru prasīji. Vai arī par ko citu?
  6. Gan jau tas ir ļoti atkarīgs no tavām spējām un prasmes. Katram kautkas cits varbūt liekās "pats grūtākais".
  7. Neps, a moš izlasi vēlreiz, ko autors prasa? (Hint: tam nav nekāda sakara ar MySQL).
  8. php varbūt arī nē, bet c++'ā gan. Man ir gadījies uzrakstīt, jeb pareizāk sakot uzģenerēt, tik viltīgu kodu (tb case nosacījumus), ka kompilētājs tos optimizējot izdomāja salikt tos branch tabulā. Taču šī tabula iznāca tik liela - vairāki simti kilobaitu, ka šis kods, kurš izsaucās diezgan bieži kompilēšanas laikā čakarēja dzīvi kešatmiņai. Dēļ tā visa programma strādāja lēnāk. Pārveidojot vairākus cases uz if'iem pirms switch binārā kokā panācu to, ka branč tabula sanāca vairākas kārtas mazāka - tikai daži kilobaiti, un programma tā rezultātā strādāja vismaz divas reizes ātrāk.
  9. bubu

    CLI redirekts

    Nu redz kā iet, ka nelasa dokumentāciju: http://www.w3.org/TR/2006/REC-xml11-200608...sec-well-formed [1] document ::= ( prolog element Misc* ) - ( Char* RestrictedChar Char* ) ... [22] prolog ::= XMLDecl Misc* (doctypedecl Misc*)? [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' Tātad pirms deklarācijas nedrīkst atrasties NEKAS. Arī atstarpes: [3] S ::= (#x20 | #x9 | #xD | #xA)+ Es nezināju, ka tu nezināji neko par xml deklarācijām. Domāju tu ar "pirms xml sākuma" domāji par atrašanos pirms kautkādas nodes, nevis deklarācijas.
  10. A kas ir INT13 ? BIOS interrupts heksā, kas atbild par operācijām ar disku zemā līmenī? :)
  11. bubu

    CLI redirekts

    Enteri? wtf? Tam nu gan es neticēšu, pirms man kāds parādīs strādājošu piemēru, kādas tad kļūdas tiek mestas ārā. xml standartā enteris ir tas pats, kas atstarpe - nekas. To var ignorēt (sākumā, beigās un vairākus pēc kārtas atkārtojošus).
  12. bubu

    CLI redirekts

    Vai tad tas nav normāli, ka malformed xml's netiek parsēts? (cik saprotu - invalīda xml sintakse) Kāpēc jālabo citu bugi? Ja tiešām xmls ir nekorekts, tad raksti tam gnt, lai salabo. Dīvaini ir tas, ka simplexml neko nesaka par kļūdām.. Es tādam parserim īsti nemaz negribetu uzticēties - kas zin, šis varbūt pilnīgi greizi kautko noparsēs un pateiks, ka viss ok.
  13. Ne jau viņš lika. Viens paziņa viņam visu lika.
  14. bubu

    CLI redirekts

    Vai nevar vienkārši parsēt ar SAX parseri? SAX jau tieši ir domāts šādiem gadījumiem, kad negrib ielādēt visu xml faila saturu atmiņā, bet tikai pa maziem gabaliem - katru atsevišķo elementu noparsē un izsauc callbacku uz tavu funkciju. SimpleXML ir jau DOM-veida parseris, tas ielādē pilnīgi visu xml faila saturu atmiņā. Atceros kautkad senāk vecajā darbā bija kautkāds vecs kods (ne php, ne manis rakstīs), kurš importēja xml failu, tur tika izmantots DOM parseris. Importētie faili bija lieli - desmitos megabaitu. Un tas imports strādāja dikti ilgi - desmitiem sekunžu, ja pat ne minūšu. Un atmiņas patēriņš arī bija nevājš. Apnika man vienmēr uz to importu gaidīt. Pārrakstīju importu izmantojot SAX parseri. Rezultāti bija iespaidīgi. Imports tagad ilga <10sekundēm arī pat uz vislielākajiem xml failiem un atmiņas patēriņš bija praktiski nekāds.
  15. bubu

    CLI redirekts

    Tāpēc, ka katra child-procesa izveidošanai sistēma patērē kautkāus OS resursus (atmiņa, handļi, threadi, utt). Ja tev jāizveido tikai vienu līmeni dziļš "rekursīvs" izsaukums (mans kods), tad vajadzēs atmiņā turēt tikai divas instances no šiem resursiem (sevi + childu). Ja tev vajadzēs 100 reizes izsaukt to skriptu, tad tavā kodā OS'ei vajadzēs turēt atmiņā līdz pat 101 šīm instancēm (sevi + katru childu) - resursu patēriņš ir lielāks.
  16. bubu

    CLI redirekts

    Rekursīvi diez vai būs labāk. Tad jau var uztaisīt vienu citu mazu skriptiņu, kurš dara apmēram šādi: for ($i=0; $i<100; $i+=10) { system("iistais_skripts.php $i"); } http://php.lv/f/index.php?showtopic=7591 ?
  17. Domāju, ka tikai retajam vajag tādas perversības..
  18. A kam tur if's? public function isValid () { return @include('Javascript.js') && @include('Database.sql'); }
  19. config.log failā nav nekādas informācijas par kļūdu saistībā ar --with-java?
  20. un nevis vienkārši die, bet die(mysql_error()). Arī labi redzēsi, kur ir vaina.
  21. Tavu vajadzīgo lietu sauc par Singleton pattern'u. Design pattern'i (hvz kā latviski) ir noderīga lieta. Ja redzi, ka tavā gadījumā der kāds patterns, tad daudz nebūs jādomā par koda uzbūvi, jo katram patterna koda realizācija ir diezgan skaidra. Pamata patternus der iemācīties - interface, facade, delegate, composition. Drusku krutākus ar der zināt - factory, lazy initialization, singleton, proxy, observer, visitor, strategy, state, utt
  22. Nu un ka ir iekšā. Tam tak nav nekāda sakara ar to, kādas vērtības tu php kodā piešķir $page mainīgajam. Redz kā, es pareizi teicu - tu mūs sākumā gribēji piemānīt, sakot, ka nav nekādu txt failu. Tu nemaz txt failus nemeklē, tu tukšu stringu meklēji.
  23. Kā tu to zini? Mēģināji echo "pages/$page"; ? Tiešām ir? Es tev neticu. Manuprāt tu te mūs gribi apmānīt!
×
×
  • Create New...