{"id":34845,"date":"2019-10-31T22:00:43","date_gmt":"2019-10-31T19:00:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu\/"},"modified":"2019-10-31T22:00:43","modified_gmt":"2019-10-31T19:00:43","slug":"dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu","title":{"rendered":"Tv\u00e5 ber\u00e4ttelser om hur ANKI kan hj\u00e4lpa dig att l\u00e4ra dig ett fr\u00e4mmande spr\u00e5k och f\u00f6rbereda dig f\u00f6r intervjuer","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jag har alltid ansett att en lat programmerare \u00e4r en bra programmerare. Varf\u00f6r? F\u00f6r att om du ber en flitig g\u00f6ra n\u00e5got, s\u00e5 g\u00e5r han och g\u00f6r det. Men en lat programmerare kommer att spendera 2-3 g\u00e5nger mer tid, men skriva ett skript som g\u00f6r det - detta f\u00f6r honom. Kanske g\u00e5r det att f\u00e5 detta att g\u00e5 i praktiken f\u00f6rsta g\u00e5ngen, men med upprepade uppgifter betalar sig denna metod mycket snabbt. Jag anser mig vara en lat programmerare. Det var en inledning, nu g\u00e5r vi till saken. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><\/p>\n<h2 id=\"istoriya-pervaya\">F\u00f6rsta historien<\/h2>\n<p><\/p>\n<p>F\u00f6r n\u00e5gra \u00e5r sedan funderade jag p\u00e5 hur jag skulle f\u00f6rb\u00e4ttra min engelska. Inget b\u00e4ttre \u00e4n att l\u00e4sa litteratur kom till mig. Jag k\u00f6pte en elektronisk l\u00e4sare, laddade ner b\u00f6cker och b\u00f6rjade l\u00e4sa. Under l\u00e4sningen st\u00f6tte jag st\u00e4ndigt p\u00e5 ok\u00e4nda ord. Jag \u00f6versatte dem omedelbart med hj\u00e4lp av de inbyggda ordb\u00f6ckerna i l\u00e4saren, men jag m\u00e4rkte en sak: orden ville inte fastna i minnet. N\u00e4r jag efter n\u00e5gra sidor \u00e5terigen st\u00f6tte p\u00e5 detta ord, s\u00e5 beh\u00f6vde jag med 90% sannolikhet \u00f6vers\u00e4tta det igen, s\u00e5 h\u00e4r var det varje g\u00e5ng. Slutsatsen som dras var att det inte bara r\u00e4cker med att \u00f6vers\u00e4tta ok\u00e4nda ord under l\u00e4sningen, man m\u00e5ste g\u00f6ra n\u00e5got mer. Den perfekta l\u00f6sningen skulle vara att inf\u00f6ra det i det vardagliga spr\u00e5ket och b\u00f6rja anv\u00e4nda det, men jag bor inte i ett engelsktalande land och det \u00e4r sv\u00e5rt att f\u00e5 till. H\u00e4r kom jag ih\u00e5g att jag n\u00e5gon g\u00e5ng hade l\u00e4st om <noindex>Intervallupprepningar<\/noindex>.<\/p>\n<p><\/p>\n<p>Vad \u00e4r det och hur anv\u00e4nds det? Kort sagt, det finns en s\u00e5dan <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D1%80%D0%B8%D0%B2%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B1%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F\">gl\u00f6mskekurva<\/a><\/noindex>, h\u00e4r \u00e4r ett citat fr\u00e5n Wikipedia:<\/p>\n<p><\/p>\n<blockquote><p>Inom en timme gl\u00f6ms upp till 60 % av all information som mottagits, och efter 10 timmar kvarst\u00e5r 35 % av det inl\u00e4rda i minnet. D\u00e4refter g\u00e5r gl\u00f6mningsprocessen l\u00e5ngsamt, och efter 6 dagar kvarst\u00e5r cirka 20 % av det totala antal initialt inl\u00e4rda stavelser, och lika mycket finns kvar i minnet efter en m\u00e5nad.<\/p><\/blockquote>\n<p>Och slutsatsen h\u00e4r <\/p>\n<p><\/p>\n<blockquote><p>Slutsatserna som kan dras fr\u00e5n denna kurva \u00e4r att f\u00f6r effektiv inl\u00e4rning \u00e4r det n\u00f6dv\u00e4ndigt att repetera det inl\u00e4rda materialet.<\/p><\/blockquote>\n<p>Nu har vi kommit fram till id\u00e9n <noindex>intervallupprepning<\/noindex>.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/\">ANki<\/a><\/noindex> detta \u00e4r ett helt gratis program med \u00f6ppen k\u00e4llkod som implementerar id\u00e9n om intervall\u00e5tergivning. Enkelt sagt, datoriserade flash-kort, d\u00e4r ena sidan \u00e4r en fr\u00e5ga och den andra ett svar. Eftersom du kan skapa fr\u00e5gor\/svar med hj\u00e4lp av vanlig <em>html\/css\/javascript<\/em>, s\u00e5 kan man s\u00e4ga att den har verkligen o\u00e4ndliga m\u00f6jligheter. Dessutom kan den ut\u00f6kas med s\u00e4rskilda <noindex><a rel=\"nofollow\" href=\"https:\/\/ankiweb.net\/shared\/addons\/\">plugins<\/a><\/noindex>, och en av dem kommer att bli mycket anv\u00e4ndbar f\u00f6r oss senare.<\/p>\n<p><\/p>\n<p>Att manuellt skapa kort \u00e4r tidskr\u00e4vande och tr\u00e5kigt, och det \u00e4r stor risk att du efter ett tag ger upp, s\u00e5 jag st\u00e4llde mig fr\u00e5gan om detta kan automatiseras. Svaret \u00e4r ja, det kan det. Och jag gjorde det. Jag s\u00e4ger direkt, detta \u00e4r mer <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Proof_of_concept\">POC (Proof of concept)<\/a><\/noindex>, men som g\u00e5r att anv\u00e4nda. Om det finns intresse fr\u00e5n anv\u00e4ndarna och andra utvecklare s\u00e5 kan det utvecklas till en f\u00e4rdig produkt som \u00e4ven tekniskt okunniga anv\u00e4ndare kan anv\u00e4nda. Just nu kr\u00e4ver anv\u00e4ndningen av mitt verktyg dock vissa kunskaper i programmering.<\/p>\n<p><\/p>\n<p>Jag l\u00e4ser b\u00f6cker med hj\u00e4lp av programmet <noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.neverland.alreader&amp;hl=en\">AIReader<\/a><\/noindex>. Den har m\u00f6jlighet att ansluta externa ordlistor, och dessutom, n\u00e4r den \u00f6vers\u00e4tter ett ord, sparar den ordet som du beordrade \u00f6vers\u00e4ttningen av i en textfil. Nu \u00e5terst\u00e5r bara att \u00f6vers\u00e4tta dessa ord och skapa ANKI-kort.<\/p>\n<p><\/p>\n<p>F\u00f6rst f\u00f6rs\u00f6kte jag anv\u00e4nda f\u00f6r \u00f6vers\u00e4ttning <noindex><a rel=\"nofollow\" href=\"https:\/\/translate.google.com\/\">Google Translate<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.lingvolive.com\/en-us\">Lingvo API<\/a><\/noindex> osv. Men med gratis tj\u00e4nster gick det inte. Jag n\u00e5dde den gratis gr\u00e4nsen redan under utvecklingen; dessutom hade jag enligt licensvillkoren inte r\u00e4tt att cacha orden. Vid ett tillf\u00e4lle ins\u00e5g jag att jag beh\u00f6vde \u00f6vers\u00e4tta orden sj\u00e4lv. Resultatet blev en modul <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/dsl2html\">dsl2html<\/a><\/noindex> som kan kopplas till <noindex><a rel=\"nofollow\" href=\"http:\/\/lingvo.helpmax.net\/en\/troubleshooting\/dsl-compiler\/dsl-dictionary-structure\/\">DSL-ordlistor<\/a><\/noindex> och som kan konvertera dem till <em>HTML<\/em> format. <\/p>\n<p><\/p>\n<p>S\u00e5 h\u00e4r ser en ordboksartikel ut i *<em>.html<\/em>, min version i j\u00e4mf\u00f6relse med versionen <noindex><a rel=\"nofollow\" href=\"http:\/\/goldendict.org\/\">GoldenDict<\/a><\/noindex><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Tv\u00e5 ber\u00e4ttelser om hur ANKI kan hj\u00e4lpa dig att l\u00e4ra dig ett fr\u00e4mmande spr\u00e5k och f\u00f6rbereda dig f\u00f6r intervjuer\" src=\"\/wp-content\/uploads\/2019\/06\/98317e694331c5764fe890827d59e3b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Innan jag s\u00f6ker efter ett ord i de anslutna ordlistorna, omvandlar jag det till <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\">ordform (lemma)<\/a><\/noindex> med hj\u00e4lp av biblioteket <noindex><a rel=\"nofollow\" href=\"https:\/\/stanfordnlp.github.io\/CoreNLP\/\">Stanford CoreNLP<\/a><\/noindex>. Faktum \u00e4r att det var p\u00e5 grund av detta bibliotek som jag b\u00f6rjade skriva i Java, och den ursprungliga planen var att skriva allt i Java, men under processen hittade jag biblioteket <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/joeferner\/node-java\">node-java<\/a><\/noindex> genom vilket man relativt enkelt kan k\u00f6ra Java-kod fr\u00e5n nodejs och en del av koden \u00e4r skriven i JavaScript. Om jag hade hittat det h\u00e4r biblioteket tidigare, skulle inget ha skrivits i Java. Ett annat sidoprojekt som f\u00f6ddes under processen \u00e4r att skapa <noindex><a rel=\"nofollow\" href=\"https:\/\/anatoly314.github.io\/dsl-manual\/\">ett repository med DSL-dokumentation<\/a><\/noindex> som hittades p\u00e5 n\u00e4tet i formatet *<em>.chm<\/em>, konverterades och gjordes l\u00e4sbart. Om skaparen av den ursprungliga filen, en anv\u00e4ndare med namnet <strong>yozhic<\/strong> ser den h\u00e4r artikeln s\u00e5 vill jag rikta ett stort tack f\u00f6r det arbete som gjorts, utan hans dokumentation skulle jag troligen inte ha lyckats.<\/p>\n<p><\/p>\n<p>S\u00e5, jag har ett ord p\u00e5 engelska, dess ordboksartikel i formatet *<em>.html<\/em>, det \u00e5terst\u00e5r att sammanst\u00e4lla allt, skapa ANKI-artiklar fr\u00e5n listan av ord och f\u00f6ra dem till ANKI-databasen. F\u00f6r detta \u00e4ndam\u00e5l skapades f\u00f6ljande projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex>. Det kan ta emot en lista av ord, \u00f6vers\u00e4tta, skapa ANKI *<em>.html<\/em> artiklar och skriva dem till ANKI-databasen. I slutet av artikeln finns en instruktion om hur man anv\u00e4nder dem. Men f\u00f6r nu \u00e4r det den andra historien d\u00e4r intervall\u00e5terkomster kan vara anv\u00e4ndbara.<\/p>\n<p><\/p>\n<h2 id=\"istoriya-vtoraya\">Den andra historien.<\/h2>\n<p><\/p>\n<p>Alla m\u00e4nniskor s\u00f6ker mer eller mindre kvalificerade yrken, inklusive programmerare, vilket inneb\u00e4r att de m\u00e5ste f\u00f6rbereda sig f\u00f6r intervjuer. M\u00e5nga koncept som fr\u00e5gas om under intervjun anv\u00e4nder man inte i sin dagliga praktik, och de gl\u00f6ms bort. Vid n\u00e4sta f\u00f6rberedelse f\u00f6r intervjun, n\u00e4r jag bl\u00e4ddrade igenom anteckningar, b\u00f6cker och handb\u00f6cker, ins\u00e5g jag att det tog mycket tid och uppm\u00e4rksamhet att s\u00e5lla bort information som jag redan k\u00e4nde till, eftersom den inte alltid \u00e4r uppenbar och det kr\u00e4vs noggrant l\u00e4sande f\u00f6r att f\u00f6rst\u00e5 att den \u00e4r irrelevant. N\u00e4r man sedan n\u00e5r \u00e4mnet som verkligen beh\u00f6ver repeteras, h\u00e4nder det ofta att man redan \u00e4r tr\u00f6tt och kvaliteten p\u00e5 f\u00f6rberedelserna p\u00e5verkas negativt. Vid n\u00e5got tillf\u00e4lle t\u00e4nkte jag, varf\u00f6r inte anv\u00e4nda ANKI-kort f\u00f6r detta? Till exempel n\u00e4r man sammanfattar ett \u00e4mne, att direkt skapa en sammanfattning i form av fr\u00e5ga \u2013 svar, och sedan vid repetitionen vet man direkt om man kan svaret p\u00e5 den fr\u00e5gan.<\/p>\n<p><\/p>\n<p>Problemet uppstod bara i att skriva fr\u00e5gor var mycket tidskr\u00e4vande och tr\u00e5kigt. F\u00f6r att underl\u00e4tta processen har jag <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex> lagt till funktionalitet i projektet f\u00f6r att konvertera <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Markdown\">markdown<\/a><\/noindex> Text i ANKI-kort. Allt du beh\u00f6ver g\u00f6ra \u00e4r att skriva en stor fil d\u00e4r fr\u00e5gor och svar \u00e4r markerade med en f\u00f6rutbest\u00e4md sekvens av tecken som parsaren kommer att f\u00f6rst\u00e5, var fr\u00e5gan och svaret finns.<\/p>\n<p><\/p>\n<p>N\u00e4r denna fil har skapats k\u00f6r du data2anki och det skapar ANKI-kort. Den ursprungliga filen \u00e4r l\u00e4tt att redigera och dela, du beh\u00f6ver bara ta bort den aktuella kortet\/den och k\u00f6ra programmet igen, s\u00e5 kommer en ny version att skapas.<\/p>\n<p><\/p>\n<h2 id=\"ustanovka-i-polzovaniyu\">Installation och anv\u00e4ndning<\/h2>\n<p><\/p>\n<ol>\n<li>\n<p>Installera ANKI + AnkiConnect<\/p>\n<p><\/p>\n<ol>\n<li>Ladda ner ANKI h\u00e4rifr\u00e5n: <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/\">https:\/\/apps.ankiweb.net\/<\/a><\/noindex><\/li>\n<li>Installera AnkiConnect-plugin: <noindex><a rel=\"nofollow\" href=\"https:\/\/ankiweb.net\/shared\/info\/2055492159\">https:\/\/ankiweb.net\/shared\/info\/2055492159<\/a><\/noindex><\/li>\n<\/ol>\n<p>\n<\/li>\n<li>\n<p>Installation <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex><\/p>\n<p><\/p>\n<ol>\n<li>Ladda ner <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex> fr\u00e5n github-repositoryt\n<pre><code class=\"plaintext\">git clone https:\/\/github.com\/anatoly314\/data2anki<\/code><\/pre>\n<\/li>\n<li>Installera beroenden\n<pre><code class=\"plaintext\">cd data2anki &amp;&amp; npm install<\/code><\/pre>\n<\/li>\n<li>Ladda ner java-beroenden <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\/releases\/download\/0.1.0\/jar-dependencies.zip\">https:\/\/github.com\/anatoly314\/data2anki\/releases\/download\/0.1.0\/jar-dependencies.zip<\/a><\/noindex><\/li>\n<li>Packa upp <strong>jar-dependencies.zip<\/strong> och placera dess inneh\u00e5ll i <strong>data2anki\/java\/jars<\/strong><\/li>\n<\/ol>\n<p>\n<\/li>\n<li>\n<p>Anv\u00e4ndning f\u00f6r att \u00f6vers\u00e4tta ord:<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>I filen <strong>data2anki\/config.json<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>i nyckeln <strong>mode<\/strong> ange v\u00e4rdet <strong>dsl2anki<\/strong><\/p>\n<p>\n<\/li>\n<li>\n<p>i nyckeln <strong>modules.dsl.anki.deckName<\/strong> och <strong>modules.dsl.anki.modelName<\/strong> ange, enligt f\u00f6ljande, <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#decks\">Deck Name<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#note-types\">Model Name<\/a><\/noindex> (ska redan ha skapats innan korten skapas). F\u00f6r n\u00e4rvarande st\u00f6ds endast modellen av typen <strong>Basic<\/strong>:<\/p>\n<p><\/p>\n<blockquote><p>Har fram- och baksidor, och skapar ett kort. Texten du skriver in i Fram kommer att visas p\u00e5 framsidan av kortet, och texten du skriver in i Bak kommer att visas p\u00e5 baksidan av kortet. <\/p><\/blockquote>\n<p>d\u00e4r det ursprungliga ordet \u00e4r <em>Front field<\/em>, och \u00f6vers\u00e4ttningen kommer att vara i <em>Back field<\/em>. <\/p>\n<p><\/p>\n<p>Det finns inget problem med att l\u00e4gga till st\u00f6d f\u00f6r <strong>Basic (och omv\u00e4nd kort)<\/strong>, d\u00e4r ett ord och dess \u00f6vers\u00e4ttning kommer att skapa och ett omv\u00e4nt kort, d\u00e4r du utifr\u00e5n \u00f6vers\u00e4ttningen m\u00e5ste komma ih\u00e5g det ursprungliga ordet. Det kr\u00e4vs bara tid och vilja.<\/p>\n<p>\n<\/li>\n<li>\n<p>i nyckeln <strong>modules.dsl.dictionariesPath<\/strong> ange en array med anslutna *<em>.dsl<\/em> ordlistor. Varje ansluten ordlista \u00e4r en katalog d\u00e4r ordfilerna finns i enlighet med formatet: <noindex><a rel=\"nofollow\" href=\"https:\/\/anatoly314.github.io\/dsl-manual\/#dict.html\">Struktur av DSL-ordlistan<br \/>\n<\/a><\/noindex><\/p>\n<p>\n<\/li>\n<li>\n<p>i nyckeln <strong>modules.dsl.wordToTranslatePath<\/strong> ange s\u00f6kv\u00e4gen till listan med ord som du vill \u00f6vers\u00e4tta.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p>\n<\/li>\n<li>K\u00f6r vid en fungerande ANKI-app \n<pre><code class=\"plaintext\">node data2ankiindex.js<\/code><\/pre>\n<\/li>\n<li>PROFIT!!!<\/li>\n<\/ol>\n<p>\n<\/li>\n<li>\n<p>Anv\u00e4ndning f\u00f6r att skapa kort fr\u00e5n markdown<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>I filen <strong>data2anki\/config.json<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li>i nyckeln <strong>mode<\/strong> ange v\u00e4rdet <strong>markdown2anki<\/strong><\/li>\n<li>i nyckeln <strong>modules.markdown.anki.deckName<\/strong> och <strong>modules.dsl.anki.modelName<\/strong> ange, enligt f\u00f6ljande, <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#decks\">Deck Name<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#note-types\">Model Name<\/a><\/noindex> (ska redan ha skapats innan korten skapas). F\u00f6r <strong>markdown2anki<\/strong> mode st\u00f6ds endast modellen av typen <strong>Basic<\/strong>.<\/li>\n<li>\n<p>i nyckeln <strong>modules.markdown.selectors.startQuestionSelectors<\/strong> och <strong>modules.markdown.selectors.startAnswerSelectors<\/strong> ange selektorer som markerar b\u00f6rjan av fr\u00e5ga och svar, respektive. Sj\u00e4lva raden med selektorn kommer inte att parsa och komma med i kortet, parsaren b\u00f6rjar arbetet med n\u00e4sta rad. <\/p>\n<p><\/p>\n<h5 id=\"naprimer-vot-eta-kartochka-voprosotvet\">Till exempel, det h\u00e4r kortet med fr\u00e5ga\/svar:<\/h5>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Tv\u00e5 ber\u00e4ttelser om hur ANKI kan hj\u00e4lpa dig att l\u00e4ra dig ett fr\u00e4mmande spr\u00e5k och f\u00f6rbereda dig f\u00f6r intervjuer\" src=\"\/wp-content\/uploads\/2019\/06\/1d32d4c8b44e62027350031090405dd2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h5 id=\"budet-vyglyadet-v-markdown-sleduyuschim-obrazom\">Kommer att se ut i markdown p\u00e5 f\u00f6ljande s\u00e4tt:<\/h5>\n<pre>\n#QUESTION#\n## Question 5. Write a mul function which will work properly when invoked with following syntax.\n\n```javascript\nconsole.log(mul(2)(3)(4)); \/\/ output : 24\nconsole.log(mul(4)(3)(4)); \/\/ output : 48\n```\n#ANSWER#\nBelow is the code followed by the explanation of how it works:\n\n```javascript\nfunction mul (x) {\n  return function (y) { \/\/ anonymous function\n    return function (z) { \/\/ anonymous function\n      return x * y * z;\n    };\n  };\n}\n```\n\nHere the `mul` function accepts the first argument and returns the anonymous function which takes the second parameter and returns the anonymous function which takes the third parameter and returns the multiplication of arguments which is being passed in successive\n\nIn Javascript function defined inside has access to outer function variable and function is the first class object so it can be returned by the function as well and passed as an argument in another function.\n- A function is an instance of the Object type\n- A function can have properties and has a link back to its constructor method\n- A function can be stored as variable\n- A function can be pass as a parameter to another function\n- A function can be returned from another function\n<\/pre>\n<blockquote><p>Exemplet \u00e4r taget h\u00e4rifr\u00e5n: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ganqqwerty\/123-Essential-JavaScript-Interview-Questions\">123-JavaScript-Interview-Questions<\/a><\/noindex><\/p><\/blockquote>\n<p>Det finns ocks\u00e5 en fil med exempel i projektmappen <code>examples\/markdown2anki-example.md<\/code><\/p>\n<p>\n<\/li>\n<li>i nyckeln <strong>modules.markdown.pathToFile<\/strong><br \/>\nange s\u00f6kv\u00e4gen till filen d\u00e4r * ligger<em>.md<\/em> fil med fr\u00e5gor\/svar<\/li>\n<\/ul>\n<p>\n<\/li>\n<li>K\u00f6r vid en fungerande ANKI-app\n<pre><code class=\"plaintext\">node data2ankiindex.js<\/code><\/pre>\n<\/li>\n<li>PROFIT!!!<\/li>\n<\/ol>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"vot-tak-eto-vyglyadit-na-mobilnom-telefone\">S\u00e5 h\u00e4r ser det ut p\u00e5 mobiltelefonen:<\/h4>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"D35VtcTtxrs\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/D35VtcTtxrs\/hqdefault.jpg\" alt=\"Spela video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2 id=\"rezultat\">Resultat<\/h2>\n<p><\/p>\n<p>De kort som skapades i desktopversionen av ANKI synkroniseras utan problem med ANKI-molnet (gratis upp till 100 MB), och sedan kan du anv\u00e4nda dem var som helst. Det finns klienter f\u00f6r Android och iPhone, och de kan \u00e4ven anv\u00e4ndas i webbl\u00e4saren. D\u00e4rf\u00f6r, om du har tid som du inte vet vad du ska g\u00f6ra med, ist\u00e4llet f\u00f6r att scrolla igenom Facebook eller katter p\u00e5 Instagram, kan du l\u00e4ra dig n\u00e5got nytt. <\/p>\n<p><\/p>\n<h2 id=\"epilog\">Epilog<\/h2>\n<p><\/p>\n<p>Som jag redan n\u00e4mnde \u00e4r detta mer ett arbets-POC som kan anv\u00e4ndas snarare \u00e4n en f\u00e4rdig produkt. Ungef\u00e4r 30 % av DSL-parserstandarden \u00e4r inte implementerad, och d\u00e4rf\u00f6r <noindex><a rel=\"nofollow\" href=\"https:\/\/anatoly314.github.io\/dsl-manual\/#tag_service.html#alt\">till exempel kan inte alla ordboksartiklar som finns i ordb\u00f6cker hittas<\/a><\/noindex>, det finns ocks\u00e5 en id\u00e9 att skriva om det i <em>JavaScript<\/em>, eftersom man vill ha &#171;consistency&#187;, och dessutom \u00e4r det just nu inte skrivet p\u00e5 ett s\u00e4rskilt optimalt s\u00e4tt. Just nu bygger parsern ett tr\u00e4d, vilket enligt mig \u00e4r \u00f6verfl\u00f6digt och komplicerar koden. <strong>markdown2anki<\/strong> bildl\u00e4gen parsa inte. Jag kommer att f\u00f6rs\u00f6ka att sm\u00e5tt jobba med det, men eftersom jag skriver f\u00f6r mig sj\u00e4lv just nu, kommer jag f\u00f6rst och fr\u00e4mst att l\u00f6sa de problem som jag sj\u00e4lv st\u00f6ter p\u00e5, men om n\u00e5gon vill hj\u00e4lpa till, \u00e4r ni varmt v\u00e4lkomna. Om det finns fr\u00e5gor om programmet s\u00e5 \u00e4r jag glad att hj\u00e4lpa till via \u00f6ppna \u00e4renden i motsvarande projekt. Skriv g\u00e4rna \u00f6vrig kritik och f\u00f6rslag h\u00e4r. Jag hoppas att detta projekt kommer att vara till nytta f\u00f6r n\u00e5gon.<\/p>\n<p><\/p>\n<p>P.S. Om ni m\u00e4rker n\u00e5gra fel (vilket tyv\u00e4rr finns), skriv till mig privat, s\u00e5 fixar jag dem.<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/454236\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u043b, \u0447\u0442\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442. \u041f\u043e\u0447\u0435\u043c\u0443? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438 \u0442\u0440\u0443\u0434\u043e\u043b\u044e\u0431\u0438\u0432\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u043e\u043d \u043f\u043e\u0439\u0434\u0435\u0442 \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u0442. \u0410 \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442 \u0432 2-3 \u0440\u0430\u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u043d\u0430\u043f\u0438\u0448\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u2014 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430 \u043d\u0435\u0433\u043e. \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043d\u0430 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043e \u043d\u0435\u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26237,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u043b, \u0447\u0442\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442. \u041f\u043e\u0447\u0435\u043c\u0443? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438 \u0442\u0440\u0443\u0434\u043e\u043b\u044e\u0431\u0438\u0432\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u043e\u043d \u043f\u043e\u0439\u0434\u0435\u0442 \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/news\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0432\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043a\u0430\u043a ANKI \u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u044b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u043e\u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u043b, \u0447\u0442\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442. \u041f\u043e\u0447\u0435\u043c\u0443? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438 \u0442\u0440\u0443\u0434\u043e\u043b\u044e\u0431\u0438\u0432\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u043e\u043d \u043f\u043e\u0439\u0434\u0435\u0442 \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:00:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Tv\u00e5 historier om hur ANKI kan hj\u00e4lpa dig att l\u00e4ra dig ett fr\u00e4mmande spr\u00e5k och f\u00f6rbereda dig f\u00f6r en intervju | ProHoster","description":"Jag har alltid ansett att en lat programmerare \u00e4r en bra programmerare. Varf\u00f6r? F\u00f6r att om du ber en flitig person att g\u00f6ra n\u00e5got, s\u00e5 g\u00e5r han och g\u00f6r det.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0432\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043a\u0430\u043a ANKI \u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u044b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u043e\u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e | ProHoster","og:description":"\u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u043b, \u0447\u0442\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442. \u041f\u043e\u0447\u0435\u043c\u0443? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438 \u0442\u0440\u0443\u0434\u043e\u043b\u044e\u0431\u0438\u0432\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u043e\u043d \u043f\u043e\u0439\u0434\u0435\u0442 \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u0442.","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:00:43+00:00","article:modified_time":"2019-10-31T19:00:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34845","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:49:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:14:05","updated":"2026-01-21 20:49:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/34845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=34845"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/34845\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/26237"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=34845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=34845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=34845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}