Nyaya mbiri dzekuti ANKI ingakubatsira sei kudzidza mutauro wekunze uye kugadzirira kubvunzurudza

Ndaigara ndichitenda kuti ane usimbe programmer munhu akanaka programmer. Sei? Nokuti kumbira munhu anoshanda nesimba kuti aite chimwe chinhu, achaenda achichiita. Uye mugadziri ane usimbe achapedza 2-3 nguva yakawanda, asi achanyora script iyo ichamuitira. Zvinogona kutora nguva yakareba zvisina musoro kuita izvi kekutanga, asi nemabasa akadzokororwa nzira iyi inobhadhara nekukurumidza. Ndinozviona ndiri simbe programmer. Ndiyo yaive nhanganyaya, zvino ngatiburukei kubhizinesi.

Nyaya yekutanga

Makore mashoma apfuura ndainetseka kuti ndingavandudza sei Chirungu changu. Hapana chinhu chakauya mumusoro kupfuura kuverenga mabhuku. Ndakatenga electronic reader, ndakadhaunirodha mabhuku ndikatanga kuverenga. Pandaiverenga, ndaingosangana nemashoko andisingazivi. Ndakabva ndaashandura ndichishandisa maduramazwi akavakirwa muverengi, asi ndakaona chinhu chimwe chete: mazwi aisada kuyeukwa. Pandakasangana neshoko iri zvakare mapeji mashoma gare gare, paine mukana we90% ndaida zvakare kududzirwa, uye izvi zvaiitika nguva dzese. Mhedziso yaive yekuti hazvina kukwana kungoshandura mazwi asina kujairika uchiverenga, unofanirwa kuita chimwe chinhu. Sarudzo yakanaka ingave yekuisa muhupenyu hwemazuva ese uye kutanga kuishandisa, asi ini handigari munyika inotaura Chirungu uye izvi hazvigoneke. Ndakabva ndarangarira kuti ndakamboverenga nezvazvo Kudzokororwa kwakasiyana.

Chii uye chinodyiwa nei? Muchidimbu, pane izvi kukanganwa curve, mamwe mazwi kubva kuWikipedia:

Nechekare mukati meawa yekutanga, kusvika ku60% yeruzivo rwese rwakagamuchirwa rwakanganwa; Maawa gumi mushure mekudzidzira nemusoro, 10% yezvakadzidzwa inoramba iri mundangariro. Zvadaro nzira yekukanganwa inoenderera mberi zvishoma nezvishoma, uye mushure memazuva matanhatu inenge 35% yehuwandu hwemashoko ekutanga akadzidzwa anoramba ari mundangariro, uye huwandu hwakafanana hunoramba huri mundangariro mushure memwedzi.

Uye mhedzisiro kubva pano

Mhedziso dzinogona kutorwa zvichibva pane iyi curve ndedzekuti kuti udzidzire nemusoro zvinofanirwa kudzokorora zvinhu zvakadzidzwa nemusoro.

Saka takafunga zano kudzokorora kwakasiyana.

АNKI ndeye yemahara uye yakavhurika sosi chirongwa chinoisa iyo pfungwa yezvakapatsanurwa kudzokorora. Zvichitaurwa zviri nyore, makadhi epakombiyuta ane mubvunzo kune rimwe divi uye mhinduro kune rimwe. Sezvo iwe uchigona kuita mibvunzo / mhinduro uchishandisa nguva dzose html/css/javascript, saka tinogona kutaura kuti ine mikana isina muganhu zvechokwadi. Mukuwedzera, inowedzerwa neakakosha plugins, uye chimwe chazvo chichatibatsira zvikuru mune ramangwana.

Kugadzira makadhi nemaoko kurefu, kunonetesa, uye nepamusoro-soro, mushure mechinguva iwe uchakanganwa nezvebasa iri, uye saka pane imwe nguva ndakazvibvunza mubvunzo, zvinogoneka kuita otomatiki basa iri. Mhinduro ndeyokuti hongu, unogona. Uye ndakazviita. Ini ndichataura pakarepo, zvakanyanya POC (Uchapupu hwepfungwa), asi iyo inogona kushandiswa. Kana paine kufarira kubva kune vashandisi uye vamwe vanogadzira vajoinha, saka inogona kuvandudzwa kuita chigadzirwa chakapedzwa icho kunyange vashandisi vasina ruzivo rwehunyanzvi vanogona kushandisa. Zvino, kushandisa yangu yekushandisa kunoda imwe ruzivo rwekuronga.

Ndaiverenga mabhuku ndichishandisa purogiramu AI Reader. Inokwanisa kubatanidza maduramazwi ekunze, uye paunoshandura izwi, inochengetedza izwi rawakadaidza kuti rishandurwe kune faira remavara. Chasara kushandura mazwi aya uye kugadzira makadhi eANKI.

Pakutanga ndakaedza kushandisa shanduro Shandurudzo google, Lingvo API etc. Asi zvinhu hazvina kushanda nemasevhisi emahara. Ndakapedza muganho wemahara panguva yekuvandudza, mukuwedzera, maererano nemirairo yerezinesi, ini ndakanga ndisina kodzero yekuchengeta mazwi. Pane imwe nguva ndakaona kuti ndaifanira kushandura mazwi acho ini. Nekuda kweizvozvo, module yakanyorwa dsl2html kwaunogona kubatana nayo DSL maduramazwi uye ndiani anoziva kuzvishandura kuti zvive HTML format.

Izvi ndizvo zvinoita chinyoreso cheduramazwi mu*.tml, sarudzo yangu ichienzaniswa nesarudzo GoldenDict

Nyaya mbiri dzekuti ANKI ingakubatsira sei kudzidza mutauro wekunze uye kugadzirira kubvunzurudza

Ndisati ndatsvaga izwi mumaduramazwi akabatana, ndinoriunza kwariri duramazwi fomu (lemma) vachishandisa raibhurari Stanford CoreNLP. Muchokwadi, nekuda kweraibhurari iyi, ndakatanga kunyora muJava uye chirongwa chepakutanga chaive chekunyora zvese muJava, asi mukuita ndakawana raibhurari. node-java iyo iwe yaunogona kuita zviri nyore kuita Java kodhi kubva nodejs uye imwe yekodhi yakanyorwa muJavaScript. Dai ndakawana raibhurari iyi kare, hapana kana mutsara mumwe chete ungadai wakanyorwa muJava. Imwe purojekiti yepadivi yakazvarwa mukuita kusika repository ine DSL zvinyorwa iyo yakawanikwa pane network mune fomati *.chm, akashandurwa ndokuunzwa muchimiro choumwari. Kana munyori wefaira rekutanga ari mushandisi nezita remadunhurirwa yozhic Paanoona chinyorwa ichi, ndinomutenda zvikuru nebasa raaita; pasina zvinyorwa zvake, ndingadai ndisina kubudirira.

Saka, ndine izwi muChirungu, duramazwi raro mufomati *.tml, chasara kuisa zvese pamwechete, gadzira zvinyorwa zveANKI kubva pane zvinyorwa zvemashoko uye zviise mudura reANKI. Nechinangwa ichi chirongwa chinotevera chakagadzirwa data2anki. Inogona kutora rondedzero yemazwi sekuisa, shandura, kugadzira ANKI *.tml zvinyorwa uye zvirekodhe mudura reANKI. Pakupera kwechinyorwa pane mirayiridzo yekuti ingashandiswa sei. Zvichakadaro, nyaya yechipiri ndipo panogona kubatsira kudzokorora kwakapatsanurwa.

Nyaya yechipiri.

Vanhu vese vari kutsvaga humwe hunyanzvi / husina hunyanzvi, kusanganisira vanogadzira mapurogiramu, vakatarisana nekudiwa kwekugadzirira kubvunzurudzwa. Mazhinji emafungiro anobvunzwa mubvunzurudzo ausingashandise mukuita kwemazuva ese uye anokanganwika. Pakugadzirira kubvunzurudzwa, ndichipenengura manotsi, bhuku, bhuku remareferensi, ndakatarisana nenyaya yekuti zvinotora nguva yakawanda uye kutarisisa kupepeta ruzivo rwaunotoziva nekuti hausi pachena uye unofanirwa verenga zvakanaka kuti unzwisise kuti chii. Paunosvika kune imwe nyaya inoda kudzokororwa, zvinowanzoitika kuti iwe wakatoneta uye hutano hwekugadzirira kwako hunotambura. Pane imwe nguva ndakafunga, wadii kushandisa ANKI makadhi kune izvi zvakare? Semuyenzaniso, kana uchitora manotsi pamusoro wenyaya, pakarepo gadzira chinyorwa muchimiro chemubvunzo nemhinduro, uye kana ukachidzokorora, iwe unobva waziva kana iwe uchiziva mhinduro kumubvunzo uyu kana kwete.

Dambudziko rakamuka nderekuti kutaipa mibvunzo kwaive kwakarebesa uye kuchinetesa. Kuita kuti hurongwa huve nyore, data2anki purojekiti ndakawedzera kushandura kushanda markdown zvinyorwa mumakadhi eANKI. Chaunongoda kunyora faira hombe umo mibvunzo nemhinduro zvichamakwa nekutevedzana kwakafanotemerwa kwemavara, uyo muparidzi achanzwisisa kuti mubvunzo uripi uye kuti mhinduro iripi.

Kana iyi faira yangogadzirwa, unomhanyisa data2anki uye inogadzira makadhi eANKI. Iyo yepakutanga faira iri nyore kugadzirisa uye kugovera, iwe unongoda kudzima kadhi rinoenderana (s) uye mhanyisa chirongwa zvakare, uye shanduro itsva ichagadzirwa.

Kuiswa uye kushandiswa

  1. Kuisa ANKI + AnkiConnect

    1. Dhawunirodha ANKI kubva pano: https://apps.ankiweb.net/
    2. Isa AnkiConnect plugin: https://ankiweb.net/shared/info/2055492159

  2. Kuiswa data2anki

    1. Download data2anki kubva github repository
      git clone https://github.com/anatoly314/data2anki
    2. Isa zvinoenderana
      cd data2anki && npm install
    3. Dhawunirodha java dependencies https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. Kuburitsa jar-dependencies.zip uye isa zvirimo mukati data2anki/java/jars

  3. Shandisa kushandura mazwi:

    1. Mufaira data2anki/config.json:

      • mukiyi rudzi pinda kukosha dsl2anki

      • mukiyi modules.dsl.anki.deckName ΠΈ modules.dsl.anki.modelName nyora zvinoenderana Deck Name ΠΈ Model Name (inofanira kunge yatogadzirwa isati yagadzira makadhi). Parizvino chete mhando yemhando inotsigirwa Basic:

        Iine Front and Back minda, uye ichagadzira kadhi rimwe chete. Mameseji aunopinda kuMberi achaonekwa kumberi kwekadhi, uye mameseji aunopinza muKumashure anozoonekwa kuseri kwekadhi.

        izwi rekutanga riripi? Munda wepamberi, uye shanduro ichava mukati Back field.

        Hapana dambudziko rekuwedzera rutsigiro Basic (uye rakadzoserwa kadhi), apo kadhi reverse richagadzirwa nokuda kweshoko uye shanduro, apo zvichibva pakushandura iwe uchada kuyeuka shoko rekutanga. Chaunoda inguva nechishuwo.

      • mukiyi modules.dsl.dictionariesPath nyoresa rondedzero ine yakabatana *.dsl maduramazwi. Rimwe nerimwe duramazwi rakabatana idhairekitori umo mafaera eduramazwi anowanikwa zvinoenderana nefomati: DSL chimiro cheduramazwi

      • mukiyi modules.dsl.wordToTranslatePath isa nzira inoenda kune rondedzero yemazwi aunoda kushandura.

    2. Tanga ne ANKI application ichimhanya
      node data2ankiindex.js
    3. PROFIT!!!

  4. Zvishandiso zvekugadzira makadhi kubva kumarkdown

    1. Mufaira data2anki/config.json:

      • mukiyi rudzi pinda kukosha markdown2anki
      • mukiyi modules.markdown.anki.deckName ΠΈ modules.dsl.anki.modelName nyora zvinoenderana Deck Name ΠΈ Model Name (inofanira kunge yatogadzirwa isati yagadzira makadhi). For markdown2anki modhi chete mhando mhando inotsigirwa Basic.
      • mukiyi modules.markdown.selectors.startQuestionSelectors ΠΈ modules.markdown.selectors.startAnswerSelectors iwe unonyora vasarudziri vaunomaka navo kutanga kwemubvunzo nemhinduro, zvichiteerana. Mutsetse une sarukuri pachawo hauzoparurwa uye hauzopedze mukaradhi; muparadzi achatanga kushanda kubva pamutsetse unotevera.

        Semuenzaniso, kadhi remubvunzo/mhinduro iri:

        Nyaya mbiri dzekuti ANKI ingakubatsira sei kudzidza mutauro wekunze uye kugadzirira kubvunzurudza

        Ichaita seizvi mumarkdown:
        #MUBVUNZO# ## Mubvunzo 5. Nyora mul shandurudzo inozoshanda nemazvo kana yakumbirwa nechirevo chinotevera. ``` javascript console.log(mul(2)(3)(4)); // zvabuda : 24 console.log(mul(4)(3)(4)); // zvabuda : 48 ``` #MHINDURO // kusazivikanwa basa rekudzoka x * y * z; }; }; } ``` Pano izwi rekuti `mul` rinogamuchira nharo yekutanga uye rinodzosa basa risingazivikanwe rinotora parameter yechipiri uye rinodzosera basa risingazivikanwe rinotora parameter yechitatu uye rinodzosa kuwanda kwenharo dziri kupfuudzwa dzichitevedzana MuJavascript basa rinotsanangurwa. mukati mune mukana wekunze kwekuita kushanduka uye basa ndicho chinhu chekirasi yekutanga saka chinogona kudzoserwa nebasa zvakare uye ndokupfuura senharo mune rimwe basa. - A function is an object type - A function can have properties and has a link back to constructor method - A function can be kept as variable - A function can be pass as a parameter kune rimwe basa - A function can be akadzoka kubva kune rimwe basa
        

        Muenzaniso wakatorwa kubva pano: 123-JavaScript-Interview-Mibvunzo

        Kune zvakare faira ine mienzaniso mune purojekiti folda examples/markdown2anki-example.md

      • mukiyi modules.markdown.pathToFile
        nyora pasi nzira inoenda kufaira uko *.md mubvunzo/mhinduro faira

    2. Tanga ne ANKI application ichimhanya
      node data2ankiindex.js
    3. PROFIT!!!

Izvi ndizvo zvazvinoita parunhare mbozha:

mugumisiro

Makadhi anogamuchirwa padesktop vhezheni yeANKI anowiriraniswa pasina matambudziko neiyo ANKI gore (yemahara inosvika 100mb), uye ipapo unogona kuvashandisa kwese kwese. Kune vatengi veApple uye iPhone, uye iwe unogona zvakare kuishandisa mubrowser. Nekuda kweizvozvo, kana iwe uine nguva yausina chekushandisa pairi, saka panzvimbo pekupenengura zvisina chinangwa kuburikidza neFacebook kana katsi pa Instagram, unogona kudzidza chimwe chinhu chitsva.

Epilogue

Sezvandambotaura, iyi yakawanda yePOC inoshanda yaunogona kushandisa kupfuura chigadzirwa chakapedzwa. Inenge 30% yeDSL parser standard haina kuitwa, uye nekudaro, semuenzaniso, hazvisi zvese zvinyorwa zveduramazwi zviri mumaduramazwi zvinogona kuwanikwa, panewo pfungwa yekuinyora zvakare mukati JavaScript, nokuti ndinoda "kuwirirana", uye kunze, ikozvino haina kunyorwa zvakanyanya. Iye zvino muparadzi ari kuvaka muti, asi mukuona kwangu izvi hazvina basa uye hazvidi kuomesa kodhi. IN markdown2anki mode, mifananidzo haina kuparadzaniswa. Ini ndichaedza kucheka zvishoma nezvishoma, asi sezvo ndiri kunyora ndega, ini ndichatanga kugadzirisa matambudziko ini pachangu, asi kana pane anoda kubatsira, iwe unogamuchirwa. Kana iwe uine mibvunzo nezve chirongwa, ini ndichafara kubatsira kuburikidza neakavhurika nyaya mumapurojekiti akakodzera. Nyora kumwe kushoropodza uye mazano pano. Ndinovimba kuti chirongwa ichi chichabatsira mumwe munhu.

PS Kana ukacherechedza chero zvikanganiso (uye, zvinosuruvarisa, pane zvimwe), nyora kwandiri mumashoko ega, ndichagadzirisa zvose.

Source: www.habr.com

Voeg