Izindaba ezimbili zokuthi i-ANKI ingakusiza kanjani ukuthi ufunde olunye ulimi futhi ulungiselele izingxoxo

Ngangihlale ngikholelwa ukuthi umhleli oyivila ungumhleli omuhle. Kungani? Ngoba cela umuntu osebenza kanzima ukuthi enze okuthile, uyohamba akwenze. Futhi umklami ovilaphayo uzochitha izikhathi ezingu-2-3 ngaphezulu, kodwa uzobhala iskripthi esizomenzela sona. Kungase kuthathe isikhathi eside ngokungenangqondo ukwenza lokhu okokuqala, kodwa ngemisebenzi ephindaphindiwe le ndlela izokhokha ngokushesha okukhulu. Ngizibona ngingumdidiyeli oyivila. Leso kwakuyisethulo, manje ake sehlele ebhizinisini.

Indaba yokuqala

Eminyakeni embalwa edlule ngangizibuza ukuthi ngingasithuthukisa kanjani isiNgisi sami. Ayikho into efika engqondweni njengokufunda izincwadi. Ngathenga i-electronic reader, ngalanda izincwadi futhi ngaqala ukufunda. Ngesikhathi ngifunda, ngangilokhu ngihlangana namagama engingawajwayele. Ngawahumusha ngokushesha ngisebenzisa izichazamazwi ezakhelwe kumfundi, kodwa ngabona isici esisodwa: amagama ayengafuni ukukhunjulwa. Lapho ngiphinda ngihlangana naleli gama emakhasini ambalwa kamuva, ngamathuba angama-90% ngaphinde ngadinga ukuhunyushwa, futhi lokhu kwenzeka njalo. Isiphetho sasiwukuthi kwakunganele ukumane uhumushe amagama angajwayelekile ngenkathi ufunda, udinga ukwenza enye into. Inketho ekahle kungaba ukuyethula ekuphileni kwansuku zonke futhi uqale ukuyisebenzisa, kodwa angihlali ezweni elikhuluma isiNgisi futhi lokhu akunakwenzeka. Ngabe sengikhumbula ukuthi ngake ngafunda mayelana Ukuphindaphinda Okunezikhala.

Iyini futhi idliwa ngani? Ngamafuphi, kukhona lokhu ukukhohlwa ijika, ukucaphuna okunye okuvela ku-Wikipedia:

Kakade phakathi nehora lokuqala, kuze kufike ku-60% walo lonke ulwazi olutholiwe selikhohliwe; amahora angu-10 ngemva kokubamba ngekhanda, u-35% walokho okufundiwe uhlala enkumbulweni. Khona-ke inqubo yokukhohlwa iqhubeka kancane, futhi ngemva kwezinsuku ezingu-6 cishe amaphesenti angu-20 yenani eliphelele lamagama afundiwe ekuqaleni ahlala enkumbulweni, futhi inani elifanayo lihlala enkumbulweni ngemva kwenyanga.

Futhi isiphetho kusuka lapha

Iziphetho ezingafinyelelwa ngokusekelwe kuleli jika ukuthi ukuze ubambe ngekhanda ngempumelelo kuyadingeka ukuphinda izinto ezibanjwe ngekhanda.

Ngakho saqhamuka nombono ukuphindaphinda okuhlukene.

ANKI iwuhlelo lwamahhala noluvuleleke ngokuphelele olusebenzisa umqondo wokuphindaphinda ngokwezikhala. Kalula nje, amakhadi e-computer enziwe ngekhompyutha anombuzo ngakolunye uhlangothi kanye nempendulo kolunye. Njengoba ungenza imibuzo/izimpendulo usebenzisa njalo html/css/javascript, khona-ke singasho ukuthi inamathuba angenamkhawulo ngempela. Ngaphezu kwalokho, iyanwebeka ngezipesheli ama-plugin, futhi enye yazo izoba usizo kakhulu kithi esikhathini esizayo.

Ukwenza amakhadi mathupha kude, kuyisicefe, futhi kunethuba eliphezulu, ngemva kwesikhashana uzokhohlwa ngalo msebenzi, ngakho-ke ngesinye isikhathi ngazibuza umbuzo, kungenzeka yini ukwenza lo msebenzi ngokuzenzakalelayo. Impendulo inguyebo, ungakwazi. Futhi ngikwenzile. Ngizothi ngokushesha, kungaphezulu I-POC (Ubufakazi bomqondo), kodwa engasetshenziswa. Uma kunentshisekelo evela kubasebenzisi kanye nabanye onjiniyela bebandakanyeka, lapho-ke kungalethwa emkhiqizweni oqediwe ongawusebenzisa nabasebenzisi abangafundile. Manje, ukusebenzisa insiza yami kudinga ulwazi oluthile lokuhlela.

Ngifunde izincwadi ngisebenzisa uhlelo I-AIReader. Inekhono lokuxhuma izichazamazwi zangaphandle, futhi uma uhumusha igama, igcina igama olibizele ukuba lihunyushwe efayeleni lombhalo. Okusele nje ukuhumusha lawa magama bese udala amakhadi e-ANKI.

Ekuqaleni ngazama ukusebenzisela ukuhumusha ukuhumusha nge-Google, I-Lingvo API njll. Kodwa izinto azizange zisebenze ngezinsizakalo zamahhala. Ngiqede umkhawulo wamahhala ngesikhathi senqubo yokuthuthukiswa, ngaphezu kwalokho, ngokwemibandela yelayisense, angizange ngibe nelungelo lokulondoloza amagama. Ngesinye isikhathi ngabona ukuthi kwakufanele ngiwahumushe ngokwami ​​amagama. Ngenxa yalokho, kwabhalwa imojuli dsl2html ongaxhuma kuyo DSL izichazamazwi futhi ngubani owaziyo ukuthi zingaguqulelwa kanjani zibe i-HTML ifomethi.

Yile ndlela ukufakwa kwesichazamazwi kubukeka ngayo ku-*.html, inketho yami uma iqhathaniswa nenketho I-GoldenDict

Izindaba ezimbili zokuthi i-ANKI ingakusiza kanjani ukuthi ufunde olunye ulimi futhi ulungiselele izingxoxo

Ngaphambi kokubheka igama kuzichazamazwi ezixhunyiwe, ngiletha kuzo ifomu lesichazamazwi (lemma) usebenzisa umtapo wolwazi IStanford CoreNLP. Eqinisweni, ngenxa yalo mtapo wezincwadi, ngaqala ukubhala ku-Java futhi uhlelo lokuqala kwakuwukubhala yonke into ku-Java, kodwa ngenqubo ngathola umtapo wezincwadi. node-java lapho ungasebenzisa kalula ikhodi ye-Java kusuka kuma-nodejs futhi enye ikhodi ibhalwe ku-JavaScript. Ukube ngake ngathola lo mtapo wolwazi ngaphambili, akukho nowodwa umugqa obengabhalwa nge-Java. Enye iphrojekthi eseceleni eyazalwa kule nqubo ukudalwa inqolobane enemibhalo ye-DSL okutholwe kunethiwekhi ngefomethi *.chm, waguqulwa futhi walethwa esimweni saphezulu. Uma umbhali wefayela lokuqala engumsebenzisi ngesiteketiso yozhic Lapho ebona lesi sihloko, ngimbonga kakhulu ngomsebenzi awenzile; ngaphandle kwemibhalo yakhe, cishe bengingeke ngiphumelele.

Ngakho-ke, nginegama ngesiNgisi, ukufakwa kwalo kwesichazamazwi ngefomethi *.html, okusele nje ukuhlanganisa yonke into, udale ama-athikili e-ANKI ohlwini lwamagama bese uwafaka kusizindalwazi se-ANKI. Ngale njongo iphrojekthi elandelayo yakhiwe idatha2 nxa. Kungathatha uhlu lwamagama njengokufaka, ukuhumusha, ukudala i-ANKI *.html izindatshana bese uziqopha kusizindalwazi se-ANKI. Ekupheleni kwe-athikili kunemiyalelo yokuthi ungayisebenzisa kanjani. Okwamanje, indaba yesibili yilapho ukuphindaphinda kwezikhala kungaba usizo.

Indaba yesibili.

Bonke abantu abafuna ukuqeqeshwa okukhethekile / okuncane, okuhlanganisa nabahleli bezinhlelo, babhekene nesidingo sokulungiselela inhlolokhono. Imiqondo eminingi ebuzwa ezingxoxweni ongayisebenzisi emisebenzini yansuku zonke futhi isikhohliwe. Lapho ngilungiselela inhlolokhono, ngiphenya amanothi, incwadi, incwadi yereferensi, ngangibhekene neqiniso lokuthi kuthatha isikhathi esiningi nokunaka ukuhlunga ulwazi osulwazi kakade ngoba alubonakali ngaso sonke isikhathi futhi kufanele yifunde ngokucophelela ukuze uqonde ukuthi iyini. Uma ufika esihlokweni esidinga ukuphindaphindwa ngempela, ngokuvamile kwenzeka ukuthi usukhathele kakade futhi izinga lokuzilungiselela kwakho liyahlupheka. Ngesinye isikhathi ngacabanga, kungani ungasebenzisi amakhadi e-ANKI nalokhu? Isibonelo, lapho ubhala amanothi esihlokweni, ngokushesha udale inothi ngendlela yombuzo nempendulo, bese kuthi uma uyiphinda, uzokwazi ngokushesha ukuthi uyayazi impendulo yalo mbuzo noma cha.

Ukuphela kwenkinga eyavela ukuthi ukuthayipha imibuzo bekuyinde kakhulu futhi kuyisicefe. Ukwenza inqubo ibe lula, idatha2 nxa iphrojekthi ngingeze umsebenzi wokuguqula ukuphawula umbhalo emakhadini e-ANKI. Okudingayo nje ukubhala ifayela elilodwa elikhulu lapho imibuzo nezimpendulo zizomakwa ngokulandelana kwezinhlamvu ezinqunyiwe, lapho umhlaseli ezoqonda ukuthi umbuzo ukuphi nokuthi impendulo ikuphi.

Uma leli fayela selidaliwe, usebenzisa i-data2anki futhi idala amakhadi e-ANKI. Ifayela langempela kulula ukulihlela nokwabelana, udinga nje ukusula amakhadi ahambisanayo bese uqhuba uhlelo futhi, futhi kuzokwakhiwa inguqulo entsha.

Ukufakwa nokusetshenziswa

  1. Ifaka i-ANKI + AnkiConnect

    1. Landa i-ANKI kusuka lapha: https://apps.ankiweb.net/
    2. Faka i-plugin ye-AnkiConnect: https://ankiweb.net/shared/info/2055492159

  2. setting idatha2 nxa

    1. Landa idatha2 nxa kusuka ku-github repository
      git clone https://github.com/anatoly314/data2anki
    2. Faka okuncikile
      cd data2anki && npm install
    3. Landa ukuncika kwe-java https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. Ukuqaqa jar-dependencies.zip futhi ubeke okuqukethwe kuyo idatha2anki/java/izimbiza

  3. Sebenzisa ukuhumusha amagama:

    1. Kufayela idatha2anki/config.json:

      • kukhiye imodi faka inani dsl2 awu

      • kukhiye modules.dsl.anki.deckName ΠΈ modules.dsl.anki.modelName bhala ngokufanele Igama leDekhi ΠΈ Model Igama (kumele kudalwe kakade ngaphambi kokudala amakhadi). Okwamanje kusekelwa uhlobo lwemodeli kuphela Basic:

        Inezinkambu zangaphambili nezasemuva, futhi izodala ikhadi elilodwa. Umbhalo owufakayo Phambili uzovela ngaphambili ekhadini, futhi umbhalo owufaka Emuva uzovela ngemuva ekhadini.

        liphi igama lokuqala? Inkundla yangaphambili, futhi ukuhumusha kuzoba ngo Inkambu engemuva.

        Ayikho inkinga yokwengeza ukwesekwa Ikhadi eliyisisekelo ( nelihlehlisiwe), lapho kuzokwakhiwa khona ikhadi eliphambene legama nokuhumusha, lapho ngokusekelwe ekuhumusheni uzodinga ukukhumbula igama lokuqala. Okudingayo isikhathi nesifiso.

      • kukhiye modules.dsl.dictionariesPath bhalisa uhlu ngokuxhumene *.dsl izichazamazwi. Isichazamazwi ngasinye esixhunyiwe siwuhla lwemibhalo lapho amafayela esichazamazwi atholakala ngokuhambisana nefomethi: Isakhiwo sesichazamazwi se-DSL

      • kukhiye modules.dsl.wordToTranslatePath faka indlela eya ohlwini lwamagama ofuna ukuwahumusha.

    2. Yethula ngohlelo lokusebenza lwe-ANKI olusebenzayo
      node data2ankiindex.js
    3. INZUZO!!!

  4. Isetshenziswa ekudaleni amakhadi ukusuka ekubekeni phansi

    1. Kufayela idatha2anki/config.json:

      • kukhiye imodi faka inani markdown2anki
      • kukhiye modules.markdown.anki.deckName ΠΈ modules.dsl.anki.modelName bhala ngokufanele Igama leDekhi ΠΈ Model Igama (kumele kudalwe kakade ngaphambi kokudala amakhadi). Ngoba markdown2anki uhlobo lwemodeli kuphela olusekelwayo Basic.
      • kukhiye modules.markdown.selectors.startQuestionSelectors ΠΈ amamojula.markdown.selectors.startAnswerSelectors ubhala abakhethi omaka ngabo ekuqaleni kombuzo nezimpendulo, ngokulandelana. Ulayini onesikhethi ngokwawo ngeke uhlukaniswe futhi ngeke uphelele ekhadini, umhlaseli uzoqala ukusebenza emugqeni olandelayo.

        Isibonelo, leli khadi lombuzo/lempendulo:

        Izindaba ezimbili zokuthi i-ANKI ingakusiza kanjani ukuthi ufunde olunye ulimi futhi ulungiselele izingxoxo

        Kuzobukeka kanje uma kubhalwe phansi:
        #UMBUZO# ## Umbuzo 5. Bhala umsebenzi we-mul ozosebenza kahle uma ucelwa nge-syntax elandelayo. ```javascript console.log(mul(2)(3)(4)); // okukhiphayo : 24 console.log(mul(4)(3)(4)); // okukhiphayo : 48 ``` #IMPENDULO# Ngezansi ikhodi elandelwa yincazelo yokuthi isebenza kanjani: ``` umsebenzi we-javascript mul (x) {umsebenzi wokubuyisela (y) {// umsebenzi wokubuyisela umsebenzi ongaziwa (z) { // umsebenzi ongaziwa ubuyisela x * y * z; }; }; } ``` Lapha umsebenzi othi `mul` wamukela i-agumenti yokuqala bese ubuyisela umsebenzi ongaziwa othatha ipharamitha yesibili bese ubuyisela umsebenzi ongaziwa othatha ipharamitha yesithathu bese ubuyisela ukuphindaphindeka kwama-agumenti okudluliselwa ngokulandelana Kumsebenzi we-Javascript ochaziwe. ngaphakathi kunokufinyelela kokuguquguquka kokusebenza kwangaphandle futhi umsebenzi uyinto yesigaba sokuqala ngakho-ke ingabuyiswa umsebenzi futhi futhi iphasiswe njengokuphikisana komunye umsebenzi. - Umsebenzi uyisibonelo sohlobo Lwento - Umsebenzi ungaba nezakhiwo futhi ube nesixhumanisi esibuyela endleleni yomakhi wawo - Umsebenzi ungagcinwa njengokuguquguqukayo - Umsebenzi ungadluliswa njengepharamitha komunye umsebenzi - Umsebenzi ungenziwa ubuyile komunye umsebenzi
        

        Isibonelo esithathwe lapha: 123-JavaScript-Imibuzo-Ingxoxo

        Kukhona nefayela elinezibonelo kufolda yephrojekthi examples/markdown2anki-example.md

      • kukhiye amamojula.markdown.pathToFile
        bhala phansi indlela eya efayeleni lapho *.md umbuzo/impendulo ifayela

    2. Yethula ngohlelo lokusebenza lwe-ANKI olusebenzayo
      node data2ankiindex.js
    3. INZUZO!!!

Nansi indlela ebukeka ngayo kumakhalekhukhwini:

Umphumela

Amakhadi atholwe kunguqulo yedeskithophu ye-ANKI avumelaniswa ngaphandle kwezinkinga ngefu le-ANKI (mahhala afika ku-100mb), bese ungawasebenzisa yonke indawo. Kukhona amaklayenti e-Android ne-iPhone, futhi ungayisebenzisa kusiphequluli. Ngenxa yalokho, uma unesikhathi ongenalutho ongasichitha, esikhundleni sokuskrola ngokungenanjongo ku-Facebook noma amakati ku-Instagram, ungafunda okuthile okusha.

Epilogue

Njengoba ngishilo, lena ingaphezulu kwe-POC esebenzayo ongayisebenzisa kunomkhiqizo oqediwe. Cishe u-30% wezinga le-DSL lokuhlaziya alisetshenziswa, ngakho-ke, isibonelo, akuzona zonke izichazamazwi ezitholakala kuzichazamazwi ezingatholakala, kukhona nomqondo wokuphinda uwubhale kuwo i-JavaScript, ngoba ngifuna "ukuvumelana", futhi ngaphandle kwalokho, manje akubhaliwe kahle kakhulu. Manje i-parser yakha isihlahla, kodwa ngombono wami lokhu akudingekile futhi akudingi ukuhlanganisa ikhodi. IN markdown2anki imodi, izithombe azidluliswanga. Ngizozama ukusika kancane kancane, kodwa njengoba ngizibhalela, ngizoqala ngokuxazulula izinkinga mina ngokwami ​​engizozinyathela, kodwa uma kukhona ofuna ukusiza, wamukelekile. Uma unemibuzo mayelana nohlelo, ngizokujabulela ukukusiza ngezinkinga ezivulekile kumaphrojekthi afanele. Bhala okunye ukugxeka nokusikisela lapha. Ngethemba ukuthi le phrojekthi izoba usizo kumuntu.

I-PS Uma ubona noma yimaphi amaphutha (futhi, ngeshwa, akhona), ngibhalele umlayezo womuntu siqu, ngizolungisa konke.

Source: www.habr.com

Engeza amazwana