Vispārīgas darbības
Pieteikties
Reģistrēties
Lapas darbības:
Eksports
▼
:
Eksportēt kā PDF
Eksportēt kā RTF
Eksportēt kā HTML
Pārējās darbības
▼
:
Priekšskatīt
Skatīt pirmkodu
Meklēt
lv
Odo.lv
»
Apmācība
»
Ceļveži
»
Katedrāle un tirgus
»
Katedrāle un tirgus: Vēl dažas mācības no fetchmail
Katedrāle un tirgus: Vēl dažas mācības no fetchmail
viki pirmkods
Slēpt rindu numurus
1: 2: 3: <a name=’top’></a> 4: 5: 6: 7: #nav_head("cathedral_bazaar_ar01s08","cathedral_bazaar_ar01s10") 8: 9: 10: 11: 12: 13: 1 Vēl dažas mācības no fetchmail 14: 15: Pirms es atgriežos pie programmatūras izstrādes lietām, vajadzētu ņemt vērā vēl dažas mācības no manas fetchmail pieredzes. Netehniskie lasītāji var izlaist šo nodaļu. 16: 17: <code>rc</code> kontroles faila sintakse iekļauj dažus neobligātus "trokšņa" atslēgvārdus, kurus parsētājs pilnībā ignorē. Ja jums nākas iedziļināties, angļu valodai tuva sintakse ir daudz lasāmāka kā tradicionālie atslēgvārda -- vērtības pāri. 18: 19: Tas sākās kā vēla vakara eksperiments, kad es ievēroju, cik ļoti <code>rc</code> failu deklarācijas sāk atgādināt deklaratīvu minivalodu. (Tāpēc es arī nomainīju oriģinālo popclient "server" atslēgvārdu uz "poll"). 20: 21: Man likās, ja padarīšu šo deklarējošo valodu līdzīgu angļu valodai, to būs vieglāk lietot. Tagad, lai arī es esmu pārliecināts "padari to par valodu" dizaina skolas piekritējs (kā tas ir, piemēram, Emacs, HTML un daudzu datu bāzu dzinējiem), es parasti neesmu liels "English-like" sintakses piekritējs. 22: 23: Tradicionāli programmētāji sliecas izveidot vadības sintaksi ļoti precīzu, kompaktu un pilnīgi bez jebkādas pārpalicības. Tas ir to laiku mantojums, kad skaitļošanas resursi bija dārgi, un parsēšanai vajadzēja būt pēc iespējas vienkāršai un lētai. Angļu valoda ar apmēram 50% pārpalicību tad likās ļoti nepiemērota. 24: 25: Bet ne tāpēc es parasti neizvēlos angļu valodai līdzīgu sintaksi. Es to minēju tikai kā sliktu piemēru. Lai arī aparatūra un darbības cikli ir lēti, kodolīgums nav vienīgais iemesls. Mūsdienās daudz svarīgāk par lētu valodu datoram, ir tas, lai tā būtu saprotama cilvēkam. 26: 27: Te nu ir jāuzmanās. Viena lieta ir sarežģītības izmaksas parsēšanas laikā -- jūs nevēlēsities paaugstināt kļūdu skaitu un lietotāju apjukumu parsēšanas laikā. Cita lieta ir tā, ka mēģinājumi izveidot angļu valodai līdzīgu sintaksi parasti noved pie stipri izkropļotas "angļu valodas", un tās vienkāršs skaidrojums uz dabīgo valodu ir daudz nesaprotamāks, kā tradicionālas sintakses apraksts. (Jūs varat redzēt šo efektu daudzās t.s. "ceturtās paaudzes" un komerciālo datu bāzu pieprasījumu valodās.) 28: 29: Kā rādās, fetchmail vadības sintaksei tas nepiemīt, jo tā valoda ir pamatīgi ierobežota. Tā ir gandrīz vispārīga pielietojuma valoda; lietas tajā nav sarežģītas, līdz ar to ir maza iespēja neskaidrībām, lai domās pārietu no angļu valodas mazumiņa uz aktuālo vadības valodu. Domāju, ka šeit ir vietā vispārīgāka mācība: 30: 31: #message("16. Kad tava valoda ir praktiski Tjūringa pilna, sintakses cukurs par ļaunu nenāk.") 32: 33: Un vēl viena mācība ir par drošību no neziņas. Daži fetchmail lietotāji lūdza mani pārveidot fetchmail, lai tas glabātu paroles šifrētā <code>rc</code> failā, lai glūniķi tās nevarētu nejauši apskatīt. 34: 35: Es to nedarīju, jo patiesībā tas aizsardzību nepalielina. Katrs, kas ir ieguvis tiesības izlasīt jūsu <code>rc</code> failu, tik un tā varēs palaist fetchmail tāpat kā jūs -- un jūsu paroli pēc tam tik un tā var atšifrēt, izmantojot kodu no fetchmail. 36: 37: Visu <code>.fetchmailrc</code> paroļu šifrēšana dotu mānīgu drošības sajūtu tiem, kas kārtīgi neaizdomājas. Tāpēc galvenais likums ir: 38: 39: #message("17. Drošības sistēma ir tikai tik droša, cik drošs ir tās noslēpums. Izvairieties no pseidonoslēpumiem.") 40: 41: 42: 43: #nav_head("cathedral_bazaar_ar01s08","cathedral_bazaar_ar01s10")
Pakalpojumi
Tehniskais atbalsts
Risinājumu ieviešana
Konsultācijas
Sistēmu mitināšana
Openbravo ERP
Ubuntu Linux
Sadarbība
Kā piedalīties
Uzdevumi
Forums
Kontakti
Ātrās saites
Jaunumi
Emuāri
Lekciju materiāli
Praktiski padomi
Gnucash
Openbravo
LedgerSMB
Vietnes saturs
Tagi