Dejjem emmint li programmatur għażżien huwa programmatur tajjeb. Għaliex? Għax itlob lil ħaddiem iebes biex jagħmel xi ħaġa, imur u jagħmel dan. U programmatur għażżien se jqatta '2-3 darbiet aktar ħin, iżda se jikteb b'kitba li se tagħmel dan għalih. Jista 'jieħu żmien twil mhux raġonevoli biex tagħmel dan l-ewwel darba, iżda b'kompiti ripetuti dan l-approċċ se jħallas malajr ħafna. Inqis lili nnifsi programmatur għażżien. Dak kien il-preambolu, issa ejja nieħdu għan-negozju.
Storja waħda
Ftit snin ilu staqsejt kif stajt intejjeb l-Ingliż tiegħi. Ma ġie f’moħħi xejn aħjar milli qari letteratura. Xtrajt qarrej elettroniku, niżżilt kotba u bdejt naqra. Waqt li qrajt, bqajt niltaqa’ ma’ kliem mhux familjari. Ittradujthom mill-ewwel bl-użu tad-dizzjunarji mibnijin fil-qarrej, imma ndunajt karatteristika waħda: il-kliem ma ridtx jiġi mfakkar. Meta erġajt iltqajt ma' din il-kelma ftit paġni wara, bi probabbiltà ta' 90% erġajt kelli bżonn it-traduzzjoni, u dan ġara kull darba. Il-konklużjoni kienet li ma kienx biżżejjed li sempliċement tittraduċi kliem mhux familjari waqt il-qari, trid tagħmel xi ħaġa oħra. L-għażla ideali tkun li nintroduċiha fil-ħajja ta’ kuljum u nibda nużaha, imma jien ma ngħix f’pajjiż li jitkellem bl-Ingliż u dan mhux probabbli. Imbagħad ftakart li darba qrajt dwar .
X'inhu u ma' xiex jittiekel? Fil-qosor, hemm dan , aktar kwotazzjoni mill-Wikipedija:
Diġà fl-ewwel siegħa, sa 60% tal-informazzjoni kollha riċevuta tintesa; 10 sigħat wara l-memorizzazzjoni, 35% ta 'dak li tgħallem jibqa' fil-memorja. Imbagħad il-proċess ta 'tinsa jipproċedi bil-mod, u wara 6 ijiem madwar 20% tan-numru totali ta' sillabi tgħallmu inizjalment jibqa 'fil-memorja, u l-istess ammont jibqa' fil-memorja wara xahar.
U l-konklużjoni minn hawn
Il-konklużjonijiet li jistgħu jinġibdu bbażati fuq din il-kurva huma li għal memorizzazzjoni effettiva huwa meħtieġ li tirrepeti l-materjal memorizzat.
Allura ħriġna b’idea .
huwa programm ta 'sors kompletament ħieles u miftuħ li jimplimenta l-idea ta' ripetizzjoni spazjata. Fi kliem sempliċi, il-flash cards kompjuterizzati għandhom mistoqsija fuq naħa u tweġiba fuq in-naħa l-oħra. Peress li tista 'tagħmel mistoqsijiet/tweġibiet bl-użu regolari html/css/javascript, allura nistgħu ngħidu li għandha possibbiltajiet tassew illimitati. Barra minn hekk, huwa espansibbli bi speċjali , u waħda minnhom se tkun utli ħafna għalina fil-futur.
Il-ħolqien ta 'karti manwalment huwa twil, tedious, u bi probabbiltà għolja, wara xi żmien tinsa dwar dan il-kompitu, u għalhekk f'xi punt staqsejt lili nnifsi l-mistoqsija, huwa possibbli li din il-ħidma tiġi awtomatizzata. It-tweġiba hija iva, tista '. U għamilt dan. Jien ngħid mill-ewwel, huwa aktar , iżda li jistgħu jintużaw. Jekk ikun hemm interess minn utenti u żviluppaturi oħra jinvolvu ruħhom, allura jista 'jinġieb għal prodott lest li anke utenti teknikament illitterati jistgħu jużaw. Issa, l-użu tal-utilità tiegħi jeħtieġ xi għarfien tal-ipprogrammar.
Naqra kotba bl-użu tal-programm . Għandu l-abbiltà li jgħaqqad dizzjunarji esterni, u meta tittraduċi kelma, issalva l-kelma li sejjaħt għat-traduzzjoni f’fajl ta’ test. Jibqa' biss li jittraduċu dan il-kliem u noħolqu karti ANKI.
Għall-ewwel ippruvajt nuża għat-traduzzjoni , eċċ. Iżda l-affarijiet ma ħadmux b'servizzi b'xejn. Eżawrijt il-limitu ħieles matul il-proċess ta 'żvilupp, barra minn hekk, skont it-termini tal-liċenzja, ma kellix id-dritt li nagħmel kliem fil-cache. F'xi ħin indunajt li kelli bżonn nittraduċi l-kliem jien stess. Bħala riżultat, inkiteb modulu li tista’ tikkonnettja magħha u min jaf jikkonvertihom fi HTML format.
Hekk tidher entrata fid-dizzjunarju f'*. Html, l-għażla tiegħi meta mqabbla mal-għażla

Qabel infittex kelma fid-dizzjunarji konnessi, inġibha tuża l-librerija . Fil-fatt, minħabba din il-librerija, bdejt nikteb bil-Java u l-pjan oriġinali kien li nikteb kollox bil-Java, iżda fil-proċess sibt il-librerija li biha tista' relattivament faċilment tesegwixxi kodiċi Java minn nodejs u xi wħud mill-kodiċi huwa miktub f'JavaScript. Kieku sibt din il-librerija qabel, ma kienet tkun miktuba linja waħda bil-Java. Proġett ieħor sekondarju li twieled fil-proċess huwa l-ħolqien li nstab fuq in-netwerk fil-format *.chm, konvertiti u miġjuba f'forma divina. Jekk l-awtur tal-fajl oriġinali huwa utent bil-laqam yozhic Meta jara dan l-artiklu, nirringrazzjah ħafna għax-xogħol li għamel; mingħajr id-dokumentazzjoni tiegħu, x'aktarx ma kontx nirnexxi.
Allura, għandi kelma bl-Ingliż, id-dħul fid-dizzjunarju tagħha fil-format *. Html, dak kollu li jibqa' hu li tpoġġi kollox flimkien, toħloq artikli ANKI mil-lista ta 'kliem u daħħalhom fid-database ANKI. Għal dan il-għan inħoloq il-proġett li ġej . Tista' tieħu lista ta' kliem bħala input, tittraduċi, toħloq ANKI *. Html artikoli u rreġistrahom fid-database ANKI. Fl-aħħar tal-artiklu hemm struzzjonijiet dwar kif tużah. Sadanittant, it-tieni storja hija fejn repetizzjonijiet spazjati jistgħu jkunu utli.
It-tieni storja.
In-nies kollha li qed ifittxu speċjalità aktar/inqas kwalifikata, inklużi l-programmaturi, huma ffaċċjati bil-ħtieġa li jippreparaw għal intervista. Ħafna mill-kunċetti li huma mitluba fl-intervisti ma tużax fil-prattika ta 'kuljum u huma minsija. Meta nipprepara għal intervista, naqleb noti, ktieb, ktieb ta’ referenza, kont iffaċċjat bil-fatt li tieħu ħafna ħin u attenzjoni biex tgħarbel informazzjoni li diġà taf għax mhux dejjem tkun ovvja u trid aqrah bir-reqqa biex tifhem x'inhu.irrelevanti. Meta tasal għal suġġett li verament jeħtieġ li jiġi ripetut, ħafna drabi jiġri li tkun diġà għajjien u l-kwalità tal-preparazzjoni tiegħek tbati. F'xi punt ħsibt, għaliex ma tużax kards ANKI għal dan ukoll? Pereżempju, meta tieħu noti dwar suġġett, immedjatament oħloq nota fil-forma ta 'mistoqsija u tweġiba, u mbagħad meta tirrepetiha, tkun taf immedjatament jekk tafx it-tweġiba għal din il-mistoqsija jew le.
L-unika problema li qamet kienet li l-ittajpjar tal-mistoqsijiet kien twil ħafna u tedjanti. Biex tagħmel il-proċess aktar faċli, proġett I miżjuda jikkonvertu funzjonalità test fil-karti ANKI. Kulma għandek bżonn huwa li tikteb fajl wieħed kbir li fih il-mistoqsijiet u t-tweġibiet se jkunu mmarkati b'sekwenza predeterminata ta 'karattri, li biha l-parser jifhem fejn hi l-mistoqsija u fejn tkun it-tweġiba.
Ladarba dan il-fajl jinħoloq, inti tmexxi data2anki u toħloq karti ANKI. Il-fajl oriġinali huwa faċli biex teditja u taqsam, għandek bżonn biss li tħassar il-karta(i) korrispondenti u tħaddem il-programm mill-ġdid, u tinħoloq verżjoni ġdida.
Installazzjoni u użu
Installazzjoni ta' ANKI + AnkiConnect
- Niżżel ANKI minn hawn:
- Installa l-plugin AnkiConnect:
Installazzjoni
- Niżżel mir-repożitorju ta' github
git clone https://github.com/anatoly314/data2anki - Installa dipendenzi
cd data2anki && npm install - Niżżel id-dipendenzi tal-Java
- Spakkjar jar-dependencies.zip u poġġi l-kontenut tiegħu ġo data2anki/java/vażetti
- Niżżel mir-repożitorju ta' github
Uża biex tittraduċi kliem:
Fil-fajl data2anki/config.json:
fiċ-ċavetta mod daħħal il-valur dsl2anki
fiċ-ċavetta modules.dsl.anki.deckName и modules.dsl.anki.modelName ikteb kif xieraq и (għandu jkun diġà maħluq qabel ma jinħolqu karti). Bħalissa t-tip ta' mudell biss huwa appoġġjat Bażiku:
Għandu oqsma ta 'quddiem u ta' wara, u se joħloq karta waħda. It-test li ddaħħal quddiem se jidher fuq in-naħa ta’ quddiem tal-karta, u t-test li ddaħħal lura jidher fuq in-naħa ta’ wara tal-karta.
fejn hi l-kelma oriġinali? Qasam ta' quddiem, u t-traduzzjoni tkun fi Post lura.
M'hemm l-ebda problema biex iżżid l-appoġġ Bażiku (u karta maqluba), fejn se tinħoloq karta b'lura għall-kelma u t-traduzzjoni, fejn ibbażat fuq it-traduzzjoni ser ikollok bżonn tiftakar il-kelma oriġinali. Kulma għandek bżonn huwa ħin u xewqa.
fiċ-ċavetta modules.dsl.dictionariesPath irreġistra firxa b'konnessi *.dsl dizzjunarji. Kull dizzjunarju konness huwa direttorju li fih jinsabu l-fajls tad-dizzjunarju skont il-format:
fiċ-ċavetta modules.dsl.wordToTranslatePath daħħal it-triq għal-lista ta' kliem li trid tittraduċi.
- Tnedija bl-applikazzjoni ANKI taħdem
node data2ankiindex.js - QLIGĦ!!!
Użi għall-ħolqien ta' karti mill-markdown
Fil-fajl data2anki/config.json:
- fiċ-ċavetta mod daħħal il-valur markdown2anki
- fiċ-ċavetta modules.markdown.anki.deckName и modules.dsl.anki.modelName ikteb kif xieraq и (għandu jkun diġà maħluq qabel ma jinħolqu karti). Għal markdown2anki mod biss tip ta 'mudell huwa appoġġjat Bażiku.
fiċ-ċavetta modules.markdown.selectors.startQuestionSelectors и modules.markdown.selectors.startAnswerSelectors tikteb seletturi li bihom timmarka l-bidu tal-mistoqsija u t-tweġiba, rispettivament. Il-linja bis-selettur innifsu mhux se jiġi parsed u mhux se jispiċċa fil-karta; l-parser jibda jaħdem mil-linja li jmiss.
Pereżempju, din il-karta mistoqsija/tweġiba:

Jidher bħal dan fil-markdown:
#MISTOQSIJA# ## Mistoqsija 5. Ikteb mul function li taħdem sew meta tiġi invokata bis-sintassi li ġejja. ```javascript console.log(mul(2)(3)(4)); // output : 24 console.log(mul(4)(3)(4)); // output : 48 ``` #RISPOSTA# Hawn taħt hemm il-kodiċi segwit mill-ispjegazzjoni ta’ kif taħdem: ```javascript function mul (x) { return function (y) { // funzjoni anonima return function (z) { // funzjoni anonima ritorn x * y * z; }; }; } ``` Hawnhekk il-funzjoni `mul` taċċetta l-ewwel argument u tirritorna l-funzjoni anonima li tieħu t-tieni parametru u tirritorna l-funzjoni anonima li tieħu t-tielet parametru u tirritorna l-multiplikazzjoni tal-argumenti li qed tiġi mgħoddija b'mod suċċessiv Fil-funzjoni Javascript definita ġewwa għandu aċċess għall-varjabbli tal-funzjoni ta 'barra u l-funzjoni hija l-oġġett tal-ewwel klassi sabiex tkun tista' tiġi rritornata mill-funzjoni wkoll u mgħoddija bħala argument f'funzjoni oħra. - Funzjoni hija eżempju tat-tip ta' Oġġett - Funzjoni jista' jkollha proprjetajiet u għandha rabta lura mal-metodu tal-kostruttur tagħha - Funzjoni tista' tinħażen bħala varjabbli - Funzjoni tista' tiġi mgħoddija bħala parametru għal funzjoni oħra - Funzjoni tista' tkun lura minn funzjoni oħraEżempju meħud minn hawn:
Hemm ukoll fajl b'eżempji fil-folder tal-proġett
examples/markdown2anki-example.md- fiċ-ċavetta modules.markdown.pathToFile
ikteb it-triq għall-fajl fejn *md fajl mistoqsija/tweġiba
- Tnedija bl-applikazzjoni ANKI taħdem
node data2ankiindex.js - QLIGĦ!!!
Dan huwa kif jidher fuq il-mowbajl:

Riżultat
Полученные на desktop версии ANKI карточки без проблем синхронизируются с ANKI облаком (бесплатно до 100mb), а дальше вы можете пользоваться ими уже везде. Есть клиенты под Android и iPhone, также можно пользоваться и в браузере. В результате, если у вас есть время, которое не на что потратить, то вместо того, чтобы бесцельно пролистывать фейсбук или котиков в инстаграм, можно учить что-то новое.
Epilogue
Kif semmejt, dan huwa aktar POC tax-xogħol li tista 'tuża milli prodott lest. Madwar 30% tal-istandard tal-parser DSL mhuwiex implimentat, u għalhekk, , hemm ukoll idea biex tiktebha mill-ġdid JavaScript, għax irrid "konsistenza", u barra minn hekk, issa ma tantx tinkiteb bl-aħjar mod. Issa l-parser qed jibni siġra, iżda fl-opinjoni tiegħi dan mhux meħtieġ u m'għandux għalfejn jikkomplika l-kodiċi. IN markdown2anki mod, l-immaġini mhumiex parsed. Nipprova naqta’ ftit ftit, imma peress li qed nikteb għalija nnifsi, l-ewwel nett se nsolvi l-problemi li jien stess se ngħaddi fuqhom, imma jekk xi ħadd irid jgħin, allura inti mistieden. Jekk għandek mistoqsijiet dwar il-programm, inkun kuntent li ngħin permezz ta' kwistjonijiet miftuħa fil-proġetti rilevanti. Ikteb kritika u suġġerimenti oħra hawn. Nispera li dan il-proġett ikun utli għal xi ħadd.
PS Jekk tinnota xi żbalji (u, sfortunatament, hemm xi wħud), iktebli f'messaġġ personali, nikkoreġi kollox.
Sors: www.habr.com

