Tantara roa momba ny fomba ahafahan'ny ANKI manampy anao hianatra teny vahiny sy hiomana amin'ny dinidinika

Nino foana aho fa ny programmer kamo dia mpandrindra tsara. Nahoana? Satria angataho ny mpiasa mazoto hanao zavatra, dia handeha hanao izany izy. Ary ny programmer kamo dia handany 2-3 fotoana bebe kokoa, fa hanoratra script izay hanao izany ho azy. Mety haharitra ela be ny fanaovana an'io voalohany io, saingy amin'ny asa miverimberina dia ho voaloa haingana io fomba fiasa io. Mihevitra ny tenako ho programmer kamo. Izany no sasin-teny, andao isika hidina any amin'ny raharaham-barotra.

Tantara iray

Taona vitsy lasa izay dia nanontany tena aho hoe ahoana no hanatsarako ny teny anglisy. Tsy nisy tsara kokoa no tonga tao an-tsaina noho ny famakiana boky. Nividy mpamaky elektronika aho, naka boky ary nanomboka namaky. Teo am-pamakiana aho dia nahita teny tsy mahazatra. Nandika azy ireo avy hatrany aho tamin'ny fampiasana ireo rakibolana natsangana ho an'ny mpamaky, saingy nahatsikaritra zavatra iray aho: tsy te hotsaroana ireo teny. Rehefa nahita an'io teny io indray aho pejy vitsivitsy taty aoriana, miaraka amin'ny mety ho 90% dia nila fandikan-teny indray aho, ary mitranga izany isaky ny mandeha. Ny fehin-kevitra dia tsy ampy ny mandika teny tsy mahazatra fotsiny rehefa mamaky, mila manao zavatra hafa ianao. Ny safidy tsara indrindra dia ny hampiditra azy amin'ny fiainana andavanandro ary manomboka mampiasa azy, saingy tsy mipetraka amin'ny firenena miteny anglisy aho ary tsy azo inoana izany. Tadidiko avy eo fa namaky momba izany aho indray mandeha Famerenana amin'ny elanelana.

Inona izany ary inona no fihinanana azy? Raha fintinina dia misy izany manadino curve, teny fanampiny avy amin'ny Wikipedia:

Efa ao anatin'ny adiny voalohany dia hadino hatramin'ny 60% ny fampahalalana rehetra voaray; 10 ora aorian'ny fitadidiana dia mijanona ao anaty fitadidiana ny 35% amin'ny zavatra nianarana. Avy eo dia mandeha tsikelikely ny dingan'ny fanadinoana, ary aorian'ny 6 andro dia eo amin'ny 20% amin'ny fitambaran'ny vanin-teny nianarana tany am-boalohany dia mijanona ao anaty fitadidiana, ary ny vola mitovy dia mijanona ao anaty fitadidiana rehefa afaka iray volana.

Ary ny fehin-kevitra avy eto

Ny fanatsoahan-kevitra azo raisina mifototra amin'io curve io dia ny hoe ho an'ny fitadidiana mahomby dia ilaina ny mamerina ny fitaovana tsianjery.

Dia nahazo hevitra izahay famerimberenana misy elanelana.

АNKI dia programa maimaim-poana sy misokatra tanteraka izay mampihatra ny hevitra momba ny famerimberenan'ny elanelana. Raha tsorina, ny karatra flash informatika dia manana fanontaniana amin'ny lafiny iray ary valiny amin'ny ilany iray. Satria afaka manao fanontaniana/valiny amin'ny fampiasana tsy tapaka ianao html/css/javascript, dia afaka milaza isika fa tena manana fahafahana tsy manam-petra izy io. Ankoatra izany, dia azo mivelatra amin'ny manokana plugins, ary ny iray amin'izy ireo dia tena mahasoa antsika amin'ny ho avy.

Ny famoronana karatra amin'ny tanana dia lava, mandreraka, ary misy ny mety hitranga, rehefa afaka kelikely dia hanadino ity asa ity ianao, ary tamin'ny fotoana iray dia nanontany tena aho hoe, azo atao ve ny manamboatra an'io asa io. Ny valiny dia eny, azonao atao. Ary nataoko izany. Holazaiko avy hatrany fa mihoatra izany POC (Proof of concept), fa azo ampiasaina. Raha misy fahalianana avy amin'ny mpampiasa sy ny mpamorona hafa tafiditra, dia azo entina amin'ny vokatra vita izay azon'ny mpampiasa tsy mahay mamaky teny sy manoratra ara-teknika. Amin'izao fotoana izao, ny fampiasana ny utility dia mitaky fahalalana momba ny fandaharana.

Namaky boky aho tamin'ny fampiasana ilay programa AIRreader. Manana fahafahana mampifandray diksionera ivelany izy io, ary rehefa mandika teny ianao dia mitahiry ny teny nantsoinao handikana azy ho rakitra lahatsoratra. Ny hany sisa tavela dia ny mandika ireo teny ireo ary mamorona karatra ANKI.

Tamin'ny voalohany dia nanandrana nampiasa ny fandikana aho Dikanteny Google, Lingvo API Sns Saingy tsy nandeha ny zava-drehetra tamin'ny serivisy maimaim-poana. Nandany ny fetra maimaim-poana aho nandritra ny dingan'ny fampandrosoana, ankoatra izany, araka ny fepetran'ny fahazoan-dΓ lana, dia tsy nanan-jo hamafa teny aho. Nisy fotoana tsapako fa nila nandika ny teny ny tenako. Vokatr'izany dia nisy module iray nosoratana dsl2html izay ahafahanao mifandray DSL rakibolana ary iza no mahay mamadika azy ireo ho HTML endrika.

Toy izao ny fidiran'ny rakibolana ao amin'ny *.html, ny safidiko raha oharina amin'ny safidy GoldenDict

Tantara roa momba ny fomba ahafahan'ny ANKI manampy anao hianatra teny vahiny sy hiomana amin'ny dinidinika

Alohan'ny hikarohana teny amin'ny rakibolana mifandray dia entiko any endrika rakibolana (lemma) mampiasa ny tranomboky Stanford CoreNLP. Raha ny marina, noho io tranomboky io dia nanomboka nanoratra tamin'ny Java aho ary ny drafitra tany am-boalohany dia ny hanoratra ny zava-drehetra amin'ny Java, saingy tao anatin'izany dia nahita ny tranomboky aho. node-java izay ahafahanao manatanteraka mora foana ny code Java avy amin'ny nodejs ary ny sasany amin'ireo code dia nosoratana tamin'ny JavaScript. Raha hitako teo aloha ity tranomboky ity dia tsy nisy andalana iray nosoratana tamin'ny Java. Tetikasa lafiny iray hafa izay teraka tamin'ny dingana dia ny famoronana tahiry miaraka amin'ny antontan-taratasy DSL izay hita tao amin'ny tambajotra amin'ny endrika *.chm, niova fo sy nentina ho amin’ny endrik’Andriamanitra. Raha mpampiasa amin'ny anaram-bosotra ny mpanoratra ny rakitra voalohany yozhic Rehefa mahita ity lahatsoratra ity izy dia misaotra azy betsaka noho ny asa nataony; raha tsy nisy ny antontan-taratasiny dia azo inoana fa tsy nahomby aho.

Noho izany, manana teny amin'ny teny anglisy aho, ny fidirany amin'ny rakibolana amin'ny endrika *.html, ny hany sisa tavela dia ny manambatra ny zava-drehetra, mamorona lahatsoratra ANKI avy amin'ny lisitry ny teny ary ampidiro ao amin'ny tahiry ANKI. Ho an'ity tanjona ity dia noforonina ity tetikasa manaraka ity data2anki. Afaka maka lisitry ny teny ho fampidirana, handika, hamorona ANKI *.html lahatsoratra ary raketo ao amin'ny tahiry ANKI. Any amin'ny faran'ny lahatsoratra dia misy torolΓ lana momba ny fampiasana azy. Mandra-pahatongan'izany, ny tantara faharoa dia izay mety hahasoa ny famerimberenana misy elanelana.

Ny tantara faharoa.

Ny olona rehetra mitady manokana / tsy dia mahafeno fepetra manokana, anisan'izany ny programmer, dia miatrika ny fiomanana amin'ny tafatafa. Maro amin'ireo hevitra anontaniana amin'ny dinidinika tsy ampiasainao amin'ny fanao andavanandro ary adino. Rehefa manomana dinidinika, mamadika naoty, boky, boky reference aho, dia niatrika ny zava-misy fa mila fotoana sy fiheverana be ny manasivana ny vaovao efa fantatrao satria tsy miharihary foana izany ary tsy maintsy ataonao. vakio tsara mba ho azoko hoe inona ilay izy.tsy misy ifandraisany. Rehefa tonga amin'ny lohahevitra iray tena mila averina ianao dia matetika no mitranga fa efa reraka ianao ary miharatsy ny kalitaon'ny fanomananao. Nieritreritra aho indraindray, maninona raha mampiasa karatra ANKI ho an'ity koa? Ohatra, rehefa mandray an-tsoratra momba ny lohahevitra iray, dia manaova fanamarihana avy hatrany amin'ny endrika fanontaniana sy valiny, ary rehefa mamerina izany ianao dia ho fantatrao avy hatrany na fantatrao ny valin'io fanontaniana io na tsia.

Ny hany olana nipoitra dia ny fanoratana fanontaniana dia lava be sy mandreraka. Mba hanamora ny dingana, data2anki tetik'asa nampidiriko ny fonctionnaire markdown lahatsoratra amin'ny karatra ANKI. Ny hany ilainao dia ny manoratra rakitra lehibe iray izay asiana fanontaniana sy valiny miaraka amin'ny filaharan'ireo endri-tsoratra efa voafaritra mialoha, izay ahafahan'ny parser hahatakatra hoe aiza ny fanontaniana ary aiza ny valiny.

Raha vao noforonina ity rakitra ity dia mihazakazaka data2anki ianao ary mamorona karatra ANKI. Ny rakitra tany am-boalohany dia mora ovaina sy zaraina, mila mamafa ny karatra (s) mifanaraka amin'izany ianao ary mampandeha indray ny programa, ary hisy dikan-teny vaovao.

Fametrahana sy fampiasana

  1. Fametrahana ANKI + AnkiConnect

    1. Ampidino eto ny ANKI: https://apps.ankiweb.net/
    2. Mametraka plugin AnkiConnect: https://ankiweb.net/shared/info/2055492159

  2. fametrahana data2anki

    1. DOWNLOAD data2anki avy amin'ny tahiry github
      git clone https://github.com/anatoly314/data2anki
    2. Mametraka fiankinan-doha
      cd data2anki && npm install
    3. Download java dependencies https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. Famoahana jar-dependencies.zip ary apetraho ao anatiny ny ao anatiny data2anki/java/jars

  3. Ampiasao handikana teny:

    1. Ao anaty rakitra data2anki/config.json:

      • amin'ny lakile maody ampidiro ny sanda dsl2anki

      • amin'ny lakile modules.dsl.anki.deckName ΠΈ modules.dsl.anki.modelName manoratra araka izany Anarana deck ΠΈ Model Name (tsy maintsy efa noforonina alohan'ny hamoronana karatra). Amin'izao fotoana izao dia ny karazana modely ihany no tohana Basic:

        Manana saha Front sy Back, ary hamorona karatra iray. Ny lahatsoratra ampidirinao ao amin'ny Front dia hiseho eo anoloana amin'ny karatra, ary ny lahatsoratra ampidirinao ao aoriana dia hiseho ao ambadiky ny karatra.

        aiza ny teny original? saha anoloana, ary ny dikanteny dia ho ao saha miverina.

        Tsy misy olana ny manampy fanohanana Basic (sy karatra mivadika), izay hamoronana karatra mivadika ho an'ny teny sy fandikana, izay mifototra amin'ny dikanteny dia mila mitadidy ny teny tany am-boalohany. Ny hany ilainao dia ny fotoana sy ny faniriana.

      • amin'ny lakile modules.dsl.dictionariesPath misoratra anarana array miaraka amin'ny fifandraisana *.dsl rakibolana. Ny rakibolana mifandray tsirairay dia lahatahiry iray ahitana ny rakitra rakibolana mifanaraka amin'ny endrika: Rafitra rakibolana DSL

      • amin'ny lakile modules.dsl.wordToTranslatePath midira ny lalana mankany amin'ny lisitry ny teny tianao hadika.

    2. Alefaso miaraka amin'ny fampiharana ANKI mandeha
      node data2ankiindex.js
    3. TOMBONY!!!

  4. Ampiasaina amin'ny famoronana karatra avy amin'ny marika

    1. Ao anaty rakitra data2anki/config.json:

      • amin'ny lakile maody ampidiro ny sanda markdown2anki
      • amin'ny lakile modules.markdown.anki.deckName ΠΈ modules.dsl.anki.modelName manoratra araka izany Anarana deck ΠΈ Model Name (tsy maintsy efa noforonina alohan'ny hamoronana karatra). HO AN'NY markdown2anki mode karazana modely ihany no tohana Basic.
      • amin'ny lakile modules.markdown.selectors.startQuestionSelectors ΠΈ modules.markdown.selectors.startAnswerSelectors manoratra mpifidy izay hanamarika ny fiandohan'ny fanontaniana sy valiny ianao. Ny tsipika miaraka amin'ny mpifidy dia tsy ho voavaha ary tsy hiafara amin'ny karatra; ny parser dia manomboka miasa amin'ny andalana manaraka.

        Ohatra, ity karatra fanontaniana/valiny ity:

        Tantara roa momba ny fomba ahafahan'ny ANKI manampy anao hianatra teny vahiny sy hiomana amin'ny dinidinika

        Ho toy izao izany ao amin'ny markdown:
        #FANONTANIANA# ## Fanontaniana 5. Manorata asa mul izay hiasa araka ny tokony ho izy rehefa voantso miaraka amin'ity syntax manaraka ity. ```javascript console.log(mul(2)(3)(4)); // Output : 24 console.log(mul(4)(3)(4)); // Output : 48 ``` #valiny# Ity ambany ity ny kaody arahin'ny fanazavana ny fomba fiasa: ```javascript function mul (x) { return function (y) { // anonymous function return function (z) { // asa tsy mitonona anarana miverina x * y * z; }; }; } ``` Eto ny asa `mul` dia manaiky ny tohan-kevitra voalohany ary mamerina ny asa tsy mitonona anarana izay maka ny mari-pamantarana faharoa ary mamerina ny asa tsy mitonona anarana izay maka ny mari-pamantarana fahatelo ary mamerina ny fampitomboana ny tohan-kevitra izay ampitaina amin'ny manaraka Amin'ny asa Javascript voafaritra ao anatiny dia manana fahafahana miditra amin'ny fari-piadidiana ivelany ary ny fiasa dia ny zavatra kilasy voalohany ka azo averina amin'ny alΓ lan'ny asa ihany koa ary alefa ho adihevitra amin'ny fiasa hafa. - Ny fonction dia ohatra amin'ny karazana Object - Ny fonction iray dia afaka manana fananana ary misy rohy miverina amin'ny fomba fanamboarana azy - Ny fonction iray dia azo tehirizina ho miovaova - Ny fonction iray dia azo alefa ho parameter amin'ny fonction iray hafa niverina avy amin'ny asa hafa
        

        Ohatra nalaina avy eto: 123-JavaScript-interview-Questions

        Misy ihany koa ny rakitra misy ohatra ao amin'ny lahatahiry tetikasa examples/markdown2anki-example.md

      • amin'ny lakile modules.markdown.pathToFile
        soraty ny lalana mankany amin'ny rakitra misy *.md antontan-taratasy / valiny

    2. Alefaso miaraka amin'ny fampiharana ANKI mandeha
      node data2ankiindex.js
    3. TOMBONY!!!

Toy izao ny endriny amin'ny finday:

vokatra

Ny karatra voaray amin'ny desktop version an'ny ANKI dia atambatra tsy misy olana amin'ny rahona ANKI (maimaim-poana hatramin'ny 100mb), ary azonao ampiasaina na aiza na aiza. Misy mpanjifa ho an'ny Android sy iPhone, ary azonao ampiasaina amin'ny navigateur ihany koa. Vokatr'izany, raha manam-potoana tsy anananao na inona na inona ianao, dia afaka mianatra zava-baovao ianao raha tokony hivezivezy amin'ny Facebook na saka ao amin'ny Instagram.

epilogue

Araka ny nolazaiko, ity dia POC miasa izay azonao ampiasaina noho ny vokatra vita. Manodidina ny 30% amin'ny fenitry ny parser DSL no tsy ampiharina, ary noho izany, ohatra, tsy hita daholo ny diksionera rehetra ao amin'ny rakibolana, misy ihany koa ny hevitra hanoratana azy JavaScript, satria tiako ny "fifanarahana", ary ankoatra izany, ankehitriny dia tsy voasoratra tsara loatra. Ankehitriny dia manangana hazo ny parser, fa raha ny hevitro dia tsy ilaina izany ary tsy mila manasarotra ny code. IN markdown2anki fomba, ny sary dia tsy voavaha. Hiezaka aho hanapaka tsikelikely fa matoa aho manoratra ho an'ny tenako dia hovahako aloha ny olana izay hohitsahin'ny tenako fa raha misy te hanampy dia tongava. Raha manana fanontaniana momba ny programa ianao dia ho faly aho hanampy amin'ny alΓ lan'ny olana misokatra amin'ireo tetikasa mifandraika amin'izany. Manorata fanakianana sy soso-kevitra hafa eto. Manantena aho fa hahasoa olona iray ity tetikasa ity.

PS Raha mahatsikaritra fahadisoana ianao (ary, indrisy, misy ny sasany), manorata ho ahy amin'ny hafatra manokana, hanitsy ny zava-drehetra aho.

Source: www.habr.com

Add a comment