✉️ Saņem šito visu e-pastā. Tā vietā, lai palaistu garām kaut ko no tā, ko es rakstu savā blogā, tagad vari pierakstīties un saņemt e-pastā visu, ko es te rakstu. Tas nav bieži.

← Uz sākumu

Programmētāji

2006. gada 12. jūlijā, 40 komentāri

Iz bbPress konfigurācijas paraugfaila:

$bb->domain = 'http://bbpress.example.com'; // There should be no trailing slash here. $bb->path = '/support/'; // There should be both a leading and // trailing slash here. '/' is fine // if the site is in root.

In the name of Knuth! Cik ir grūti uztaisīt mazu mazu pārbaudīti, vai tā slīpsvītra tur ir, vai nav un pielikt/noņemt skriptoloģiski? Ar šādām lietām slimo teju vai visi. Mani tas pārsteidz.

Tu atbildi augstāk redzamajam komentāram. Atcelt

Gravatar esuntu

2006. gada 12. jūlijā, plkst. 09:23

Jo ir cilvēki, kas nemaz nevar iedomāties, ka tur varētu būt/nebūt slīpsvītra un nemaz nesaprot tās slīpsvītras būtību.

Gravatar nu jau gan

2006. gada 12. jūlijā, plkst. 09:52

Ja man kā uzturētājam būtu jāizvēlas, vai saņemt šādu kodu, vai arī kodu, kurā ir realizēta šī pārbaude, tad es izvēlētos pirmo.

Gravatar nu jau gan

2006. gada 12. jūlijā, plkst. 10:31

Lai kādu risinājumu arī izvēlētos, vienā brīdī tas noved pie tā, ka nepieciešama vienošanās par lietu kārtību.

Šajā konkrētajā gadījumā - "Izpildiet instrukciju (3 īsi teikumi) un vajadzētu būt ok."

Ja pierakstītu klāt vēl vienu funkciju, tad jau nāk klāt papildus jautājumi: "Ja to slash neievada/ievada par daudz, tad kurā brīdī izpildās skripts, kurš to pieliek klāt?" "Ja nu man ievajagas šo mainīgo izmantot kādā jaunā vietā, tad kura funkcija man jāizsauc, lai to formatētu"? "Kāpēc, saglabājot 2 dažādas vērtības, rezultāts pilnīgi ne ar ko neatšķiras?"

Kā arī papildus potenciālās problēmas:

Programmētāji katrs saraksta savu formatēšanas funkciju (nav garantijas, ka visi raksta pareizi). Programmētāji nav informēti par to, ka nepieciešama šāda formatēšana, un to neizmanto. Daļa programmētāju vienalga paļausies uz to, ka konfigurācija ir ievadīta noteiktā formātā.

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 10:39

nu jau gan: Tu nu tagad lej :)

Gravatar brutalis-vertikalis

2006. gada 12. jūlijā, plkst. 10:46

to nu jau gan @ 2006.07.12. 10:31, teica: Tu programmēt proti? Learn the Art of the Unix Programing! :)

Gravatar murmulis

2006. gada 12. jūlijā, plkst. 11:00

balsoju par to, ka kodam jaaspeej diagnosticeet ievaddatu kljuudas un zinaamaa meeraa taas labot arii - savaadaak var padomaat, ka rakstiits asmaa nevis c++, java, vai php...

Gravatar cx

2006. gada 12. jūlijā, plkst. 11:02

laacz, iedomajies ka tapat rakstita browseri(IE) kas safixo liki un nevalidi uzrakstitos tagus..tobish veic parbaudi vai ir valids vai nav un megina kko fixot.. pie kaa tas noved?

Ja ir nodefinets ka izskatas URL(URI) tad tadam tam ari jabut..

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 11:04

cx: Absolūti nekorekts salīdzinājums.

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 11:10

cx: Konkrētajā gadījumā, tā nav kļūda, ja es ievadu, teiksim, sava saita adresi kā http://laacz.lv, vai kā http://laacz.lv/.

Gravatar cx

2006. gada 12. jūlijā, plkst. 11:19

Es tomer nepiekritu par to, ka sitadas lietas butu jacheko.. jo kopaa tak tam visam javeido ir valids URL ja tur vel butu $bb-> port, tad ari butu jacheko vai ir :80 vai 80?

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 11:26

cx: Tādā gadījumā, mīļais cilvēk, būtu jāraksta tas URL vienā rindā. Tipa - $bb->domain = 'http://my.blog.com/path/to/my/blog/'. Un tāpat jāmin, ka beigās jāliek slešs, kas var arī nebūt pašsaprotami :)

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 11:27

cx: Pie kam, port ir numurs. Cipars, nevis kaut kas ar ":". Savukārt, ceļš var būt gan ar slešu, gan bez (ja tiek rewraitots, piem.).

Gravatar Roze

2006. gada 12. jūlijā, plkst. 11:28

Teorētiski jau var teikt priekš kam tāds settings tur vispār vajadzīgs. Domēns būs tāds ar kādu websterveri nokonfigurēsi un visi hrefi htmlā ir relatīvi..

Gravatar cx

2006. gada 12. jūlijā, plkst. 11:30

Nu bet teisi tapat ir domains www.kautkas.lv nevis http://

Nevar visu chekot.. jo katrak koda gabalinak pectam vajadzet testus uzturesanu utt peec KISS principa vieglak ir ierakstit isas un saprotamas instrukcijas konfig failaa.

Cita lieta, ka galaa ieguto URL gav vajadzetu novalidet.

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 11:36

cx: KISS princips kā reizi arī nosaka to, ka lietotājs var ierakstīt tieši tā, kā viņš pats to saprot. Tu viņam saki: "$uri contains your blog address. For example, 'http://my.site.com/my/blog/'." Un viņš var neierakstīt (pēc pieraduma) to /. Un tad nekas nestrādās. Vai nav vienkāršāk pārbaudīt ar parse_url() un miers? Protams, Rozes variants ir vispraktiskākais, kas arī atbilst patiesībai.

Gravatar Sm

2006. gada 12. jūlijā, plkst. 11:39

Viens no labākajiem risinājumiem ir izmantot f-ju, kas savieno šos datus. Pitonam tā ir standarta bibliotēkā ;-)

Gravatar Sm

2006. gada 12. jūlijā, plkst. 11:43

Galu galā, nevar tak programmētājs paredzēt visas operētājsistēmas un paveidus, kā ceļš līdz failam var tikt iekodēts.

(Es to lasu mazāk par http un forward slašiem, bet vairāk par relatīvajiem un absolūtajiem failu ceļiem un urļu viedošanu.)

Gravatar Roze

2006. gada 12. jūlijā, plkst. 11:52

Sm: nu idejiski PHP pats var noteikt kur atrodas (uz diska (neatkarīgi no OS)), ar kādu hostu/urli atvērts un tālāk jau pats saveidot dinamiski un relatīvi visu tālāk..

Vienīgais variants kur redzu šīs konfigurācijas parametra jēgu varbūt ir lai kaut ko overraidot - proti uz tavu webrootu norāda divi hosti, bet tu gribi izmantot tikai vienu (forwardējas uz tavu norādīto)..

Gravatar CiemaAidzins

2006. gada 12. jūlijā, plkst. 12:12

Visus gadījumus nepārbaudīsi un neizlabosi. Tapat varēs ierakstīt tā, ka nestrāda. Ja lietotājam taisa, tad taisa ar install skriptu, ja jāraksta configi, tad jau var arī prasiit viņus noteiktā formātā. Arī parametru maiņa, kas neizsauc izmaiņas darbībā tiešam ir nedaudz mulsinoša. Vēl - ieliktu abus variantus kā derīgus, tad sāktos mūžīgie - pārbaudiet vai nav slīpsvītras beigās dažās vecākās versijās (spraudņos domātos vecākām versijām) tas var sagraut sistēmas darbību. Atkal atbalta forumi būtu pilni.

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 13:02

Roze: Var jau ņemt pieprasītā vhosta nosaukumu ;]

Gravatar Kirils

2006. gada 12. jūlijā, plkst. 13:39

laacz, http://laacz.lv tiks redirekteets uz http://laacz.lv/ tas tikai noziimee to, ka browseris pret Tevi ir bijis visuzheeliigs.

augstaakmineetais koda gabals ir ljoti korekts. tas ir php! ja tiktu rakstiits atsevishkjs skripts, kas izbrauc cauri konfiguraacijas failam un to safikso, tad tas arii veel buutu pienjemami. tachu likt to pamatkodaa un izpildiit katru reizi, kad kaads pieprasa lapu ir vienkaarhsi lieka grezniiba.

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 13:43

Kirils: Nu bet protams, tas ir TIK sarežģīts un laikietilpīgs process, ka vai bail :) Un, piezīmēšu, browseris nav visužēlīgs. Apacis redirektē. Pie kam, piemērām, pie redirektiem zūd POST dati. Tie netiek pārforwardēti kopā ar lietotāju.

Gravatar Lafriks

2006. gada 12. jūlijā, plkst. 13:47

konfig failā vērtību tu ierakstīsi vienu reizi, tad kāpēc gan to, lai neierakstītu pēc noteikta formāta un pie tam komentāri pietiekoši precīzi to apraksta. Bet tā funkcija tiku tad izsaukta pie katras konfig nolasīšanas un lai arī viņa ātrdarbību īpašī nesamazinātu, bet tomēr tās būtu liekas darbības pie katras lapas ģenerēšanas. Tas arī manuprāt ir iemesls :)

Gravatar Kirils

2006. gada 12. jūlijā, plkst. 14:41

laacz: Tevi skeiloshanaas nemaz neuztrauc. suudiigs programmeetaajs esi. :D

nezinu, kaads Tev ir browseris, bet mana opera, ja ierakstu baaraa "www.lmt.lv" suuda pieprasiijumu GET / HTTP/1.1

es stipri shaubos vai pieprasiijums GET HTTP/1.1 vispaar ir pieljaujams. taa kaa - browseris tomeer ir visu zheeliigs. gaidu pretargumentus :)

Gravatar Kirils

2006. gada 12. jūlijā, plkst. 14:42

s/suuda/suuta/ atvainojiet.

Gravatar laacz Autors

2006. gada 12. jūlijā, plkst. 14:45

Kirils: pieprasot direktoriju (dziļāku nekā /), ja nav trailing sleša, pāradresē serveris. Piem., pieprasot http://laacz.lv/blog, serveris pāradresē uz http://laacz.lv/blog/. A par skeilošanu - bbPress un wordPress jau nu ir tāāā jāskeilo...

Gravatar Kirils

2006. gada 12. jūlijā, plkst. 15:05

laacz, jaa. ja nenoraadi direktorijai trailing-sleshu, tad visuzheeliiga ir apache. ja nenoraadi direktoriju vispaar, tad visuzheeliigs ir browseris. jebkuraa gadijumaa taa ir kljuuda un Tu tiec vienkaarshi pazheelots. gan browseris, gan apache to vareetu nemaz nedariit.

Gravatar Kaitnieks

2006. gada 12. jūlijā, plkst. 15:39

Es saprotu, kaapeec vinji taa ir dariijushi, bet cik tas labi/slikti - nenjemos spriest. Konfiguraacijas fails tiek izmainiits vienreiz un it kaa nav veerts taisiit paarbaudes uz konfiguraacijas parametriem pie katras skripta izpildes, ja konfiguraaciju var pieprasiit uzrakstiit korekti (pie tam konfigureeshanu parasti veic cilveeki ar skillu).

Gravatar Dep

2006. gada 12. jūlijā, plkst. 15:51

Mans viedoklis sakrīt ar Kaitnieks viedokli.

Gravatar archaic

2006. gada 12. jūlijā, plkst. 16:32

Tikko ar šo saskāros kā bugu programmatūrā. Vajag paredzēt, ka lietotājs var ievadīt ar vai bez slīpsvītras un apstrādāt. Punkts.

Gravatar Kāds

2006. gada 12. jūlijā, plkst. 16:44

Ak dies! Nu arī iespringuši, vai zināties. Konfigurācijas fails tam arī ir paredzēts - konstantām, predefinētām vērtībām. Ja kādai no vērtībām ir jāliek slash beigās, tad tas ir jādara! Ja nav jāliek, tad nav. Ja konfigurācijas failu veido aplikācija, tad pretimnākšana lietotājam "noformējot" mainīgos ir tikai pašsaprotama. Pretējā gadījumā - jāpielāgojas ir Tev!

Gravatar ZeaLot

2006. gada 12. jūlijā, plkst. 19:42

Es sliecos uz Kaitnieka & Kirila pusi. Un veel piemeers par tiem slashiem ir taisot aliasus ir jaapieskata, kaa uztaisa. Jo vienaa variantaa straadaa gan ar slashu, gan bez. Otraa variantaa straadaa tikai ar slashu.

Konfig failu aizietk reti, ja ir praatiigs, tapee arii labaak ir uztaisiit "paarbaudi" taisot konfigfailu, nekaa katru reizi pie izsaukuma.

Gravatar Kirils

2006. gada 12. jūlijā, plkst. 19:56

archaic: konfig failam ir jaaliek taadas permisijas, lai lietotaajs to nemaz nevar izmaniit!

Gravatar Aigaro

2006. gada 12. jūlijā, plkst. 21:36

Zhetons Kirilam. Un viss jaunais ir labi optimizeets vecais, tamdeelj izvairiisimies no liekaam darbiibaam un konfiguraacijai izveidosim atsevishkju portaalu :D:D:D, kas piedaavaas jaunaa softa iipashniekam nokonfigureet vinja config.inc.php. Nokonfigureet pareizi un taalaakai optimaalai weblapas darbiibai nav nepiecieshams vienreiz pareizi ievadiitu infu paarbaudiit 6000 (vai pat vairaak) reizes dienaa

Gravatar CSh

2006. gada 13. jūlijā, plkst. 01:02

Nu vot diskusija viena sleša dēļ.. Zem *BSD/nix'iem Apache uzskata, ka http://domain.tld/Dir/ un http://domain.tld/dir/ ir divas dažādas mapes uz servera, uz win - viena un tā pati (sorry, ko lai dara, tada šo OS uzbūve). Man kā end-useram (starp citu kā arī bbPress instalātoram, respektīvi NE viņa programmētājam) ir izdevīgāks moments, kad man 1) ir ērti to izdarīt nevis tāpēc, ka tas ir pareizi pēc visāda veida standartiem, bet vienkarši tāpēc, kā ērti ;), un 2) man negruzī prātu. Gadijumā, kad skaidri un gaiši saka - davaj ieliec te slašu, savādāk tev tas nestrādās - abi šie nosacījumi izpildās. Visi priecīgi, es par šo konfigurācijas vietu nestrādāšanas gadijumā neuztraucos, viss notiek...

Gravatar poni

2006. gada 13. jūlijā, plkst. 16:09

Es negribētu strādāt ar tavu kodu, Kaspar.

Gravatar Knaģis

2006. gada 15. jūlijā, plkst. 22:07

Visi domā tikai par to cilvēku, kas konfigurēs kaut kādu štrunta phpBB vai ko līdzīgu. Tam tiktiešām pietiek ar komentāriem config failā, jo citu vietu tas nekad neredzēs. Bet ir arī programmētāji, kam ir jāraksta kods, kas regulāri izmanto šo parametru. Un te nu it sevišķi ar php, kur intellisense vai ko tamlīdzīgu neredzēt kā savas ausis, ir grūti. Ja vairāki programmētāji izstrādā programmu, grūti prasīt, lai visi vienmēr zinātu, kādā veidā kāds cits paredzējis šo vai citu config faila vērtību. Tāpēc pareizāk ir veidot funkciju, piemēram, get_absolute_url($relative_url), kas atgriež uzreiz korektu vērtību (un patērē, ak vai, pāris procesora ciklus vairāk). Katrā ziņā pareizi ir datu ievadi (dajebkādu, vai tas ir konfigurācijas fails vai POST dati) veidot tā, lai tā maksimāli censtos datus pieņemt - neviens softs tev neteiks "tavā tekstā ir simbols ' - aizvieto to ar ' ", bet gan to izdarīs automātiski.