Kāpēc pēc nl2br() paliek n zīmes?

Sākumlapa Forumi Mājas lapu izstrāde Servera puse (php, java, ruby, perl, python) Kāpēc pēc nl2br() paliek n zīmes?

Tiek skatīts 41 ieraksts (no 50 kopumā)
  • Autors
    Ieraksti
  • #289305
    Wuu
    Participant

    Evu, čaļi mierīgāk es tikai paprasīju par nl2br() funkciju, te jau kaut kādas sazvērestības un mērīšanās ar diplomiem un krāniņiem, skat ka nesākās masveida klapē 😀

    #289306
    ruukjis
    Participant

    Kuš Wuu! Es gribu asinis, te iet vaļā tādas daiļliteratūras pērles, ka drīz no savstarpējiem apvainojumiem vien varēs sarakstīt Zaļo zemi 2. 😀

    P.S. No tēmas nejēdzu neko, bet izklausās svarīgi, piedāvāju strīdu atrisināt ringā, kā ieročus drīkst izmantot klavieres un peles. Noteikumi vienkārši: katrs sitiens ar klvau/peli pa pretinieka viepli – 1 punkts, ja izdodas ar peli iegāzt pretiniekam pa degunu tā lai būtu dubultklikšķis – 2 punkti. Uzvar tas kurš pēdējais stāv kājās. 😀

    #289307
    Inspektors_Caps
    Participant

    Kad būtu runa par nopietnu sistēmu izstrādi, tad par Taviem biznesa IS izstrādes diplomiem u.c. atziņām vienkārši pasmaidītu un Tu tos varētu iestādīt “atkritnē” vai nolikt mājās plauktā lai zīmētos tiem, kas nesaprot kāds mākslīgs fufelis tas ir. Papīrīši, kas apliecina EXTENSĪVAS zināšanas n-to abstrakcijas slāņu frameworkos, kas šodien ir, bet rīt vairs nebūs, jo kāds būs uzcepis kārtējo jauno variāciju ar vēl augstāku abstrakciju, kas globāli ilgtermiņā sekmēs tikai vēl trulāku “speciālistu” radīšanu mācību iestādēs un nākošo pārabstrakcijas truluma vilni industrijā.

    Quote:

    Klients maģiski teleportējies ārā no servera skopes, nd/nnd vairs maģiski vērtības neapstrādā un ļauj tik barot iekšās visu, kas ienāk prātā un problēmas pārcelšana no punkta A uz punktu B pēkšņi maģiskā kārtā atrisina visas problēmas. Wow, esi atklājis pirmo universālo un vienmēr korekto atbildi uz senu programmēšanas jautājumu.


    Protams, ka bināru datu saturu nekāds draiveris nepārbauda, jo tas nemaz nezin kam tur jābūt un ko pārbaudīt. Bināriem datiem pārraidē ir jāzin tikai izmērs baitos. Jau n-to reizi atkārtoju, ka, lai kaut ko sāktu saprast, Tev vajadzētu teleportēties ārā no savas līko web risinājumu aprobežotās pasaulītes! Tagad līkākā datu bāze MySQL par piemēru viņam… Speciāli sameklēju informāciju “dļa osobo tupih”, kuriem lietas būtība bez praktiskiem piemēriem nemaz nepielec!

    Izrādās, ka MySQL izstrādātāji tiešām ir TIK lieli auni, ka kopš iznākšanas 1995. gadā client/server protokolā visi datu tipi ir tikuši pārraidīti tekstā. Astoņu gadu laikā gan ir sapratuši, ka kantaini kluči TOMĒR neripo uz priekšu, un 2003. gadā izlaiduši 4.1 versiju, kurā izgudrojuši riteni – bināru datu pārraidi. Jauki – tagad arī MySQL brauc ar apaļiem riteņiem! 😀

    https://dev.mysql.com/doc/refman/4.1/en/news-4-1-0.html

    “New faster client/server protocol that supports prepared statements, bound parameters, and bound result columns, binary transfer of data, warnings.”

    Quote:

    Marš lasīt mysqlnd un mysqld sources.


    Sources te nav jālasa, pietiek ar klienta/servera protokola dokumentāciju:

    https://dev.mysql.com/doc/internals/en/parameter-packet.html

    https://dev.mysql.com/doc/internals/en/row-data-packet-binary.html

    Par piemēru varam paskatīties normālā protokolā – Tabular Data Stream, ko izstrādā un izmanto savos produktos Sybase un Microsoft:

    https://www.sybase.com/content/1040983/Sybase-tds38-102306.pdf

    291. lpp. – bināri, optimāli, vienkārši un eleganti.

    Bez augstāk minētā stringu protokola idiotisma, vēl pāris MySQL izstrādātāju “līmeni” norādoši sviesti:

    * PDO, kas ar PHP 5 beidzot tika ieviests tikai 2004. gadā, pat vēl šodien neatbalsta viena pieprasījuma tiešu izpildi (netaisot prepare/execute) kopā ar parametru bindošanu. Piemēram, ODBC tas tikai ieviests ar 2.0 versiju 1994. gadā! Tur ir gan SQLExecDirect, gan SQLPrepare+SQLExecute, bet abas izpildes strādā ar SQLBindParameter.

    * Tāpat kā PHP – slikta dokumentācija. Tam pašam 2003. gadā izlaistajam binārajam protokolam vēl stāv rakstīts klāt “(Tentative Description)”, un arī visa pārējā dokumentācija ir nožēlojama.

    * Caurs kā Holandes siers. Tāpat kā PDO, uz ko pats vēl devi linku!

    * Licence – stulbais juridiskais trojānis GPL.

    Nu, nu, nebāz galvu smiltīs, kad sākas pats interesantākais – tas kā Tu pierādīsi, ka kantains ritenis ripo labāk!

    #289308
    root
    Participant

    Inspektors_Caps wrote:

    Nu, nu, nebāz galvu smiltīs, kad sākas pats interesantākais – tas kā Tu pierādīsi, ka kantains ritenis ripo labāk!


    [img]https://upload.wikimedia.org/wikipedia/commons/e/e5/Rolling-Square.gif[/img]

    #289309
    Inspektors_Caps
    Participant

    Aplausi! Tu esi atrisinājis seno riteņa problēmu! Līdz šim tas bija dabas un matemātikas optimālākajā formā un vienkārši ripoja. Tagad ar uzlaboto riteni mūs sagaida:

    * Pilnīga transportlīdzekļu nelietojamība ārpus šiem speciālajiem ceļiem.

    * Pilnīga transportlīdzekļu nelietojamība sniega, ledus, dubļu un tamlīdzīgos laikapstākļos.

    * Lielāki ceļu, transportlīdzekļu un ceļu būves tehnikas izstrādes un uzturēšanas resursi.

    Ideāli atbilstošs piemērs stringu konkatenācijai – samazināta lietojamība un lielāks resursu parētiņš jeb “Lose-Lose” situācija.

    Ikdienā 90% gadījumu dati nāk un iet uz datu bāzi, kas ir bināra. Ja klients ne-teksta datus apstrādā, tad tas tāpat notiek bināri. Vienīgais gadījums, kad nepieciešama šādu datu pārvēršana teksta formā, ir lai tekstu renderētu un attēlotu cilvēkam. Attiecīgi parsēšana arī ir nepieciešama tikai lai ielasītu cilvēkam lasāmo formātu, vai arī datus masveida idiotisma XML un tā līdzinieku paskatā dēļ tā, ka daudz citu sistēmu rada tādi paši nejēgas kā Tu.

    Bez vecām līkā MySQL versijām un vispārējās tukšās gvelšanas būs kāds objektīvs arguments kādēļ normālā sistēmā būtu jāveic lieka bināru datu muļļāšana uz tekstu un atpakaļ?

    #289310
    root
    Participant

    Apsveicu. Lieliska argumentācija. Visi interpetējamo valodu lietotāji pašlaik sajūsmā lauž krēslus.

    Quote:

    Ikdienā 90% gadījumu dati nāk un iet uz datu bāzi, starp sistēmām kas ir bināra binārā formā. Ja klients ne-teksta datus apstrādā, tad tas tāpat notiek bināri. Vienīgais gadījums, kad nepieciešama šādu datu pārvēršana teksta formāizvade, ir lai tekstu renderētu un attēlotu cilvēkam.


    Nu tad beidzot arī šo izpīpeji. Gandrīz. Pasēdi, padomā kādu stundu vai divas un varbūt pieleks, ko es tev te pēdējās dienas mēģinu ieskaidrot.

    P.S Vispirms bija ceļš – un tad ritenis. Padomā par to.

    #289311
    natolv
    Participant

    Ja jau Tu, cien. root esi tik gudrs, tad es tik nesaprotu vienu lietu – ko Tu dari šajā portālā kur visi ir tādi dulburi(atvainojos, ja kādu aizvainoju), bet Tu te esi tāds vienīgais ģēnijs ar viedokli – “Man vienmēr taisnība, visi pārējie idioti!”.

    Sāc saprast arī to, ka ir dažādas situācijas kur ir dažādi risinājumi, un kā jau viens cilvēks te augstāk minēja – nav tāda ideālā risinājuma!

    Jā, es esmu jauns, man vēl daudz jāmācās, WEB programmēšanas(tik tiešām programmēšanas jomā, neesmu nekāds WPists vai Joomlists u.t.t.) jomā strādāju nedaudz vairāk par gadu, bet nu to, ka nav ideāla risinājuma – sapratu pēc pirmā nostrādātā mēneša(tikai nevajag pārprast)!

    Īsumā – cieni citus un citi cienīs Tevi. Pateikt ka otrs ir idiots padara Tevi pašu par tādu.

    #289312
    Kon
    Participant

    cik labi, ka tomēr visus studiju gadus piedrāzu programmēšanu ^^

    #289313
    Element
    Participant

    Eu, pag, lietotaajs root ir tas pats – Roberts Marshaal, TavaMaate vai arii es kko jaucu?

    #289314
    Inspektors_Caps
    Participant

    root, mī un žē… Pārveidoji manu tekstu tā kā pašam labpatīk un cerēji, ka nepamanīšu? 😀

    Š eit runa bija par SQL un parametru bindošanu – tātad jebkurā gadījumā par datu bāzēm, nevis citām sistēmām. Un tajā kontekstā es arī teicu to “nāk un iet uz datu bāzi” – t.i. sistēmā ar datu bāzi 90% datu ceļo starp klienta programmu un datu bāzi, nevis, piemēram, tiek importēti klienta programmā no faila cietajā diskā vai kādas iekārtas (un tāpat arī tie pēc tam ceļo uz datu bāzi).

    Un pričom te interpretējamās valodas? Runa ir par datu pārraidi! Tu atšķir KODU no DATIEM? To, ka tās ir divas pilnīgi neatkarīgas lietas, ko NEDRĪKST salaist kopā, spēj saprast? Es Tev augšā jau parādīju reālus DB klienta/servera protokolus. Visos normālajos protokolos SQL jeb kodu pārraida tekstā, bet parametrus jeb datus atsevišķi bināri. Kas Tev nepielec? Beidz vienreiz izvairīties no pamata jautājuma un atbildi – kādēļ šādā sistēmā dati ir jāmuļļā uz tekstu un otrā galā atpakaļ?

Tiek skatīts 41 ieraksts (no 50 kopumā)
  • Jums ir jāpieslēdzas sistēmai, lai varētu komentēt šo tēmu.
Jaunākais portālā