Żewġ stejjer ta’ kif ANKI jista’ jgħinek titgħallem lingwa barranija u tipprepara għall-intervisti

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 Ripetizzjoni Spazjata.

X'inhu u ma' xiex jittiekel? Fil-qosor, hemm dan tinsa kurva, 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 ripetizzjoni spazjata.

АNKI 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 plugins, 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 POC (Prova tal-kunċett), 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 AI Reader. 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 Google Translate, Lingvo API 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 dsl2html li tista’ tikkonnettja magħha dizzjunarji DSL 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 GoldenDict

Żewġ stejjer ta’ kif ANKI jista’ jgħinek titgħallem lingwa barranija u tipprepara għall-intervisti

Qabel infittex kelma fid-dizzjunarji konnessi, inġibha forma dizzjunarju (lemma) tuża l-librerija Stanford CoreNLP. 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 node-java 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 repożitorju b'dokumentazzjoni DSL 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 data2anki. 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, data2anki proġett I miżjuda jikkonvertu funzjonalità markdown 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

  1. Installazzjoni ta' ANKI + AnkiConnect

    1. Niżżel ANKI minn hawn: https://apps.ankiweb.net/
    2. Installa l-plugin AnkiConnect: https://ankiweb.net/shared/info/2055492159

  2. Installazzjoni data2anki

    1. Niżżel data2anki mir-repożitorju ta' github
      git clone https://github.com/anatoly314/data2anki
    2. Installa dipendenzi
      cd data2anki && npm install
    3. Niżżel id-dipendenzi tal-Java https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. Spakkjar jar-dependencies.zip u poġġi l-kontenut tiegħu ġo data2anki/java/vażetti

  3. Uża biex tittraduċi kliem:

    1. 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 Isem tal-Gverta и Isem Mudell (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: Struttura dizzjunarju DSL

      • fiċ-ċavetta modules.dsl.wordToTranslatePath daħħal it-triq għal-lista ta' kliem li trid tittraduċi.

    2. Tnedija bl-applikazzjoni ANKI taħdem
      node data2ankiindex.js
    3. QLIGĦ!!!

  4. Użi għall-ħolqien ta' karti mill-markdown

    1. 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 Isem tal-Gverta и Isem Mudell (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:

        Żewġ stejjer ta’ kif ANKI jista’ jgħinek titgħallem lingwa barranija u tipprepara għall-intervisti

        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ħra
        

        Eżempju meħud minn hawn: 123-JavaScript-Intervista-Mistoqsijiet

        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

    2. Tnedija bl-applikazzjoni ANKI taħdem
      node data2ankiindex.js
    3. QLIGĦ!!!

Dan huwa kif jidher fuq il-mowbajl:

Riżultat

Kards riċevuti fuq il-verżjoni desktop ta 'ANKI huma sinkronizzati mingħajr problemi mal-sħaba ANKI (b'xejn sa 100mb), u mbagħad tista' tużahom kullimkien. Hemm klijenti għal Android u iPhone, u tista 'wkoll tużaha fil-browser. Bħala riżultat, jekk ikollok ħin li m'għandek xejn x'tonfoq fuqu, allura minflok ma tiskrollja mingħajr għan Facebook jew qtates fuq Instagram, tista 'titgħallem xi ħaġa ġdida.

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, pereżempju, mhux l-entrati kollha tad-dizzjunarju li huma fid-dizzjunarji jistgħu jinstabu, 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

Żid kumment