Akụkọ abụọ gbasara otu ANKI ga-esi nyere gị aka ịmụta asụsụ mba ọzọ wee kwado maka ajụjụ ọnụ

Ekwenyere m mgbe niile na onye mmemme ume ume bụ ezigbo mmemme. Gịnị kpatara? N’ihi na ịrịọ onye na-arụsi ọrụ ike ka o mee ihe, ọ ga-aga mee ya. Na onye mmemme umengwụ ga-etinye oge 2-3 karịa, mana ọ ga-ede edemede nke ga-emere ya. Ọ nwere ike were ogologo oge na-enweghị isi ime nke a nke mbụ, mana site n'ịrụ ọrụ ugboro ugboro, usoro a ga-akwụ ụgwọ ngwa ngwa. M na-ewere onwe m dị ka onye umengwụ mmemme. Nke ahụ bụ okwu mmalite, ugbu a, ka anyị gbadaa n'azụmahịa.

Akụkọ nke mbụ

Afọ ole na ole gara aga, echere m ka m ga-esi meziwanye Bekee m. Ọ dịghị ihe dị mma bịara n'uche karịa ịgụ akwụkwọ. Azụtara m onye na-agụ eletrọnịkị, budata akwụkwọ m wee malite ịgụ ya. Ka m na-agụ akwụkwọ, m nọgidere na-ahụ okwu ndị m na-amaghị. Eji m akwụkwọ ọkọwa okwu ndị e wuru n’ime onye na-agụ ya sụgharịa ha ozugbo, ma achọpụtara m otu akụkụ: okwu ndị ahụ achọghị ka e cheta ha. Mgbe m nwetara okwu a ọzọ ihu akwụkwọ ole na ole ka e mesịrị, na-enwe ike 90% m chọrọ ntụgharị asụsụ ọzọ, nke a na-eme kwa oge. Nkwubi okwu ahụ bụ na o zughị oke ịsụgharị okwu ndị ị na-amaghị mgbe ị na-agụ, ọ dị gị mkpa ime ihe ọzọ. Nhọrọ kacha mma ga-abụ ịmebata ya na ndụ kwa ụbọchị wee malite iji ya, mana anaghị m ebi na mba na-asụ Bekee na nke a agaghị ekwe omume. Mgbe ahụ, echetara m na m gụrụ banyere ya Nkwugharị oghere.

Kedu ihe ọ bụ na gịnị ka e ji eri ya? Na nkenke, enwere nke a mgbanaka na-echefu, kwuo okwu n'ihu site na Wikipedia:

Ugbua n'ime awa mbụ, a na-echefu ihe ruru 60% nke ozi niile enwetara; 10 awa mgbe ebuchara n'isi, 35% nke ihe mmụta na-anọgide na nchekwa. Mgbe ahụ usoro nke ichefu na-aga n'ihu nwayọọ nwayọọ, na mgbe 6 ụbọchị ihe dị ka 20% nke ngụkọta ọnụ ọgụgụ nke mbụ mụtara syllables na-anọgide na ebe nchekwa, na otu ego na-anọgide na ebe nchekwa mgbe otu ọnwa.

Na nkwubi okwu si ebe a

Nkwubi okwu a nwere ike ịbịaru dabere n'okirikiri a bụ na maka iburu n'isi dị irè ọ dị mkpa ịmegharị ihe ndị e bu n'isi.

Ya mere, anyị chepụtara echiche ugboro ugboro ugboro.

ONKI bụ mmemme n'efu na nke mepere emepe nke na-emejuputa echiche nke ikwugharị oghere. N'ikwu ya n'ụzọ dị mfe, kaadị flash kọmputa nwere ajụjụ n'otu akụkụ yana azịza n'akụkụ nke ọzọ. Ebe ọ bụ na ị nwere ike ịme ajụjụ / azịza site na iji oge niile html/css/javascript, mgbe ahụ, anyị nwere ike ịsị na ọ nwere n'ezie na-akparaghị ókè ohere. Tụkwasị na nke ahụ, a na-agbasa ya na pụrụ iche plugins, na otu n’ime ha ga-abara anyị uru n’ọdịnihu.

Iji aka ịmepụta kaadị dị ogologo, na-agwụ ike, na nke nwere ike dị elu, mgbe obere oge gasịrị, ị ga-echefu ọrụ a, ya mere, n'oge ụfọdụ, ajụrụ m onwe m ajụjụ ahụ, ọ ga-ekwe omume ịmegharị ọrụ a. Azịza ya bụ ee, ị nwere ike. M wee mee ya. Aga m asị ozugbo, ọ bụ karịa POC (Ihe akaebe nke echiche), mana nke enwere ike iji. Ọ bụrụ na enwere mmasị sitere na ndị ọrụ na ndị mmepe ndị ọzọ na-etinye aka, mgbe ahụ enwere ike weta ya na ngwaahịa emechara nke ndị ọrụ na-agụghị akwụkwọ na teknụzụ nwere ike iji. Ugbu a, iji ọrụ m chọrọ ụfọdụ ihe ọmụma nke mmemme.

Eji m mmemme na-agụ akwụkwọ Onye isi oche. Ọ nwere ike ijikọ ọkọwa okwu dị n'èzí, mgbe ị tụgharịrị otu okwu, ọ na-echekwa okwu ị kpọrọ maka ntụgharị asụsụ na faịlụ ederede. Naanị ihe fọdụrụ bụ ịtụgharị asụsụ okwu ndị a wee mepụta kaadị ANKI.

Na mbụ agbalịrị m iji ntụgharị asụsụ ntụgharị google, API Lingvo wdg. Mana ihe anaghị arụ ọrụ na ọrụ efu. Emechara m oke n'efu n'oge usoro mmepe, na mgbakwunye, dị ka usoro nke ikike ahụ si dị, enweghị m ikike ịchekwa okwu. N'oge ụfọdụ, achọpụtara m na ọ dị m mkpa ịtụgharị okwu ahụ n'onwe m. N'ihi ya, e dere modul dsl2html nke ị nwere ike jikọọ Akwụkwọ ọkọwa okwu DSL na onye maara otú e si tọghata ha n'ime HTML usoro.

Nke a bụ ihe ntinye akwụkwọ ọkọwa okwu dị na *.html, Nhọrọ m tụnyere nhọrọ GoldenDict

Akụkọ abụọ gbasara otu ANKI ga-esi nyere gị aka ịmụta asụsụ mba ọzọ wee kwado maka ajụjụ ọnụ

Tupu ịchọọ otu mkpụrụ okwu n'ime ọkọwa okwu ejikọrọ, ewetara m ya ụdị ọkọwa okwu (lemma) iji ụlọ akwụkwọ Ụlọ ọrụ Stanford CoreNLP. N'ezie, n'ihi ọbá akwụkwọ a, amalitere m ide na Java na atụmatụ mbụ bụ ide ihe niile na Java, ma na usoro a, ahụrụ m ụlọ akwụkwọ ahụ. ọnụ-java nke ị nwere ike iji ya mee ngwa ngwa Java koodu site na nodejs ma dee ụfọdụ koodu na Javascript. Ọ bụrụ na m hụrụ n'ọbá akwụkwọ a na mbụ, ọ dịghị otu ahịrị agaraghị ede na Java. Ọrụ ọzọ dị n'akụkụ nke a mụrụ na usoro ahụ bụ ihe okike ebe nchekwa nwere akwụkwọ DSL nke achọtara na netwọkụ n'ụdị *.chm, tọghatara wee weta n'ụdị Chineke. Ọ bụrụ na onye dere faịlụ mbụ bụ onye ọrụ site na aha otutu yozhic Mgbe ọ hụrụ isiokwu a, ana m ekele ya nke ukwuu maka ọrụ ọ rụworo; ma e wezụga akwụkwọ ya, o yikarịrị ka m agaraghị enwe ihe ịga nke ọma.

Yabụ, enwere m okwu na Bekee, ntinye akwụkwọ ọkọwa okwu ya n'ụdị *.html, Naanị ihe fọdụrụ bụ ijikọta ihe niile, mepụta akụkọ ANKI site na ndepụta okwu ma tinye ha na nchekwa data ANKI. Maka nke a, e kere oru ngo a data2anki. Ọ nwere ike were ndepụta okwu dị ka ntinye, tụgharịa, mepụta ANKI *.html akụkọ ma dekọọ ha na nchekwa data ANKI. Na njedebe nke isiokwu ahụ enwere ntuziaka maka otu esi eji ya. Ka ọ dị ugbu a, akụkọ nke abụọ bụ ebe ugboro ugboro nwere ike ịba uru.

Akụkọ nke abụọ.

Ndị mmadụ niile na-achọ ọpụrụiche erughị eru, gụnyere ndị mmemme, chere mkpa ọ dị ịkwado maka ajụjụ ọnụ. Ọtụtụ n'ime echiche ndị a na-ajụ na ajụjụ ọnụ ị na-adịghị eji na-eme kwa ụbọchị na-echefu ha. Mgbe ị na-akwadebe maka ajụjụ ọnụ, na-atụgharị site na ndetu, akwụkwọ, akwụkwọ ntụaka, enwere m ihu na ọ na-ewe oge dị ukwuu na nlebara anya iji wepụ ozi ị maralarị n'ihi na ọ bụghị mgbe niile ka ọ na-apụta ìhè ma ị ga-emerịrị ya. gụọ ya nke ọma ka ịghọta ihe ọ bụ. Mgbe ị bịarutere n'isiokwu nke kwesịrị ka emeghachi ya ugboro ugboro, ọ na-abụkarị na ike agwụla gị na ogo nkwadebe gị na-ata ahụhụ. N'oge ụfọdụ, echere m, gịnị kpatara na ị gaghị eji kaadị ANKI maka nke a kwa? Dị ka ihe atụ, mgbe ị na-edetu isiokwu, mepụta ndetu ozugbo n'ụdị ajụjụ na azịza, mgbe ahụ, mgbe ị na-emegharị ya, ị ga-ama ozugbo ma ị maara azịza ajụjụ a ma ọ bụ na ị maghị.

Naanị nsogbu bilitere bụ na ide ajụjụ dị ogologo ma na-agwụ ike. Iji mee ka usoro ahụ dị mfe, data2anki oru ngo m gbakwunyere ngbanwe ọrụ markdown ederede na kaadị ANKI. Naanị ihe ị ga-achọ bụ ide otu nnukwu faịlụ ebe a ga-edobe ajụjụ na azịza ya na usoro mkpụrụedemede eburu ụzọ kpebie, nke onye nyocha ga-aghọta ebe ajụjụ dị na ebe azịza ya dị.

Ozugbo emepụtara faịlụ a, ị na-agba data2anki wee mepụta kaadị ANKI. Faịlụ mbụ dị mfe dezie ma kesaa, naanị ịkwesịrị ihichapụ kaadị (s) kwekọrọ na mmemme ahụ ọzọ, a ga-emepụta ụdị ọhụrụ.

Nwụnye na ojiji

  1. Ịwụnye ANKI + AnkiConnect

    1. Budata ANKI si ebe a: https://apps.ankiweb.net/
    2. Wụnye ngwa mgbakwunye AnkiConnect: https://ankiweb.net/shared/info/2055492159

  2. ọnọdụ data2anki

    1. Budata data2anki site na ebe nchekwa github
      git clone https://github.com/anatoly314/data2anki
    2. Wụnye ndabere
      cd data2anki && npm install
    3. Budata ndabere Java https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. Iwepu ngwongwo jar-dependencies.zip ma tinye ihe dị n'ime ya data2anki/java/jars

  3. Jiri iji tụgharịa asụsụ okwu:

    1. Na faịlụ data2anki/config.json:

      • na igodo mode tinye uru dsl2anki

      • na igodo modul.dsl.anki.deckAha и modul.dsl.anki.model Aha dee ya Aha oche и model Name (a ghaghị ịmepụtarịrị tupu ịmepụta kaadị). Ugbu a naanị ụdị ihe nlereanya a na-akwado Basic:

        Nwere ogige ihu na azụ, ọ ga-emepụta otu kaadị. Ederede itinye n'ihu ga-apụta n'ihu kaadị ahụ, ederede itinye na azụ ga-apụta n'azụ kaadị ahụ.

        ebee ka okwu izizi di? Mpaghara ihu, na ntụgharị asụsụ ga-adị na Ogige azụ.

        Enweghị nsogbu ịgbakwunye nkwado Isi (na kaadị tụgharịa), ebe a ga-emepụta kaadị ntụgharị maka okwu na ntụgharị asụsụ, ebe dabere na ntụgharị asụsụ ị ga-achọ icheta okwu mbụ. Ihe niile ị chọrọ bụ oge na ọchịchọ.

      • na igodo modul.dsl. akwụkwọ ọkọwa okwu Ụzọ debanye aha n'usoro nwere njikọ *.dsl akwụkwọ ọkọwa okwu. Akwụkwọ ọkọwa okwu ọ bụla ejikọrọ bụ akwụkwọ ndekọ aha nke faịlụ ọkọwa okwu dị n'ime ya dịka usoro ahụ siri dị: Ọdịdị akwụkwọ ọkọwa okwu DSL

      • na igodo modul.dsl.wordToTranslatePath tinye ụzọ gaa na ndepụta okwu ịchọrọ ịtụgharị asụsụ.

    2. Malite na ngwa ANKI na-agba ọsọ
      node data2ankiindex.js
    3. Uru!!!

  4. Na-eji maka ịmepụta kaadị si markdown

    1. Na faịlụ data2anki/config.json:

      • na igodo mode tinye uru markdown2anki
      • na igodo modul.markdown.anki.deckAha и modul.dsl.anki.model Aha dee ya Aha oche и model Name (a ghaghị ịmepụtarịrị tupu ịmepụta kaadị). Maka markdown2anki naanị ụdị ụdị ka akwadoro Basic.
      • na igodo modul.markdown.selectors.startQuestionSelectors и modul.markdown.selectors.startAnswerSelectors ị na-ede ndị nhọpụta nke ị na-eji akara mmalite nke ajụjụ na azịza, n'otu n'otu. A gaghị atụgharị ahịrị ya na onye nhọpụta n'onwe ya ma ọ gaghị ejedebe na kaadị ahụ; parser ga-amalite ịrụ ọrụ site na ahịrị na-esote.

        Dịka ọmụmaatụ, kaadị ajụjụ/aza ajụjụ a:

        Akụkọ abụọ gbasara otu ANKI ga-esi nyere gị aka ịmụta asụsụ mba ọzọ wee kwado maka ajụjụ ọnụ

        Ọ ga-adị ka nke a na markdown:
        #AJỤJỤ# ## Ajụjụ 5. Dee ọrụ mul nke ga-arụ ọrụ nke ọma mgbe ejiri syntax ndị a kpọọ ya. ``` javascript console.log(mul(2)(3)(4)); // mmepụta: 24 console.log(mul(4)(3)(4)); // mmepụta : 48 ``` #AZZA# N'okpuru ebe a bụ koodu na-esochi nkọwa ka o si arụ ọrụ: ``` javascript function mul (x) { return function (y) {// anonymous function return function (z) { // ọrụ na-amaghị aha nloghachi x * y * z; }; }; } ``` N'ebe a, 'mul' ọrụ na-anabata arụmụka nke mbụ wee weghachi ọrụ amaghị aha nke na-ewe paramita nke abụọ wee weghachi ọrụ amaghị aha nke na-ewe paramita nke atọ wee weghachi ọtụtụ arụmụka nke a na-agafe n'usoro n'usoro Javascript akọwapụtara. n'ime nwere ohere ịrụ ọrụ dị n'èzí na ọrụ bụ ihe klas nke mbụ ka ọ nwee ike weghachite ya site na ọrụ ahụ ma gafere dị ka arụmụka na ọrụ ọzọ. - Ọrụ bụ ihe atụ nke ụdị ihe - Ọrụ nwere ike inwe ihe onwunwe ma nwee njikọ azụ na usoro nhazi ya - Enwere ike ịchekwa ọrụ dị ka mgbanwe - Ọrụ nwere ike ịgafe dị ka paramita na ọrụ ọzọ - Ọrụ nwere ike ịbụ. lọghachiri site na ọrụ ọzọ
        

        Ihe atụ e si na ebe a: 123-JavaScript-Ajụjụ-ajụjụ ọnụ

        Enwekwara faịlụ nwere ihe atụ na nchekwa ọrụ examples/markdown2anki-example.md

      • na igodo modul.markdown.pathToFile
        dee ụzọ na faịlụ ebe *.md faịlụ ajụjụ/aza

    2. Malite na ngwa ANKI na-agba ọsọ
      node data2ankiindex.js
    3. Uru!!!

Nke a bụ ka ọ dị na ekwentị mkpanaaka:

N'ihi

A na-emekọrịta kaadị enwetara na ụdị desktọpụ nke ANKI n'enweghị nsogbu na igwe ojii ANKI (n'efu ruo 100mb), yabụ ị nwere ike iji ha ebe niile. Enwere ndị ahịa maka gam akporo na iPhone, ma ị nwekwara ike iji ya na ihe nchọgharị. N'ihi ya, ọ bụrụ na ị nwere oge ị na-enweghị ihe ọ bụla na-emefu na, mgbe ahụ kama ịgagharị na Facebook ma ọ bụ nwamba na Instagram na-enweghị isi, ị nwere ike ịmụta ihe ọhụrụ.

Epilogue

Dịka m kwuru, nke a bụ POC na-arụ ọrụ nke ị nwere ike iji karịa ngwaahịa emechara. Ihe dị ka 30% nke ọkọlọtọ DSL adịghị emejuputa ya, ya mere, dịka ọmụmaatụ, ọ bụghị akwụkwọ ọkọwa okwu niile dị na akwụkwọ ọkọwa okwu ka enwere ike ịchọta, enwekwara echiche idegharị ya na ya JavaScript, n'ihi na m chọrọ "nkwenye", ma e wezụga, ugbu a, ọ na-adịghị e dere nke ukwuu optimally. Ugbu a parser na-ewu osisi, ma n'echiche m, nke a adịghị mkpa na ọ dịghị mkpa ka ọ dị mgbagwoju anya koodu. N'ime markdown2anki mode, a naghị atụgharị ihe onyonyo a. M ga-agbalị igbubi nke nta nke nta, ma ebe ọ bụ na m na-ede maka onwe m, m ga-ebu ụzọ dozie nsogbu ndị m onwe m ga-esi na ya pụta, ma ọ bụrụ na onye ọ bụla chọrọ inyere aka, mgbe ahụ, ị ​​nabatara gị. Ọ bụrụ na ị nwere ajụjụ gbasara mmemme ahụ, m ga-enwe obi ụtọ inye aka site na okwu ndị mepere emepe na ọrụ ndị dị mkpa. Dee nkatọ na aro ndị ọzọ ebe a. Enwere m olileanya na ọrụ a ga-abara mmadụ uru.

PS Ọ bụrụ na ị chọpụta njehie ọ bụla (na, ọ dị mwute ikwu, e nwere ụfọdụ), degara m ozi na ozi nkeonwe, m ga-edozi ihe niile.

isi: www.habr.com

Tinye a comment