{"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\/it\/blog\/novosti-interneta\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu","title":{"rendered":"Due storie su come ANKI pu\u00f2 aiutarti a imparare una lingua straniera e prepararti per un colloquio.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ho sempre ritenuto che un programmatore pigro sia un buon programmatore. Perch\u00e9? Perch\u00e9 se chiedi a un programmatore diligente di fare qualcosa, lui andr\u00e0 e lo far\u00e0. Ma un programmatore pigro investir\u00e0 2-3 volte pi\u00f9 tempo, ma scriver\u00e0 uno script che far\u00e0 \u2014 questo per lui. Forse, la prima volta questo richieder\u00e0 un tempo ingiustificato, ma nel caso di compiti ripetitivi, questo approccio si ripaga molto rapidamente. Mi considero un programmatore pigro. Questa era una premessa, ora passiamo al sodo. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><\/p>\n<h2 id=\"istoriya-pervaya\">Storia prima<\/h2>\n<p><\/p>\n<p>Qualche anno fa, ho riflettuto su come migliorare il mio inglese. Non c'era niente di meglio della lettura di un buon libro. Ho acquistato un lettore elettronico, ho caricato dei libri e ho iniziato a leggere. Durante la lettura, mi trovavo sempre di fronte a parole sconosciute. Le traducevo subito grazie ai dizionari integrati nel lettore, ma ho notato una particolarit\u00e0: le parole non volevano rimanere impresse nella mia memoria. Quando, dopo alcune pagine, incontravo di nuovo quella parola, avevo il 90% di probabilit\u00e0 di aver bisogno di tradurla di nuovo, ogni volta. La conclusione che ne traevamo era che non bastava tradurre le parole sconosciute durante la lettura, bisognava fare qualcosa di pi\u00f9. L'ideale sarebbe stato introdurle nel mio vocabolario e iniziare ad usarle, ma non vivo in un paese di lingua inglese, quindi ci\u00f2 \u00e8 poco praticabile. A questo punto mi \u00e8 tornato in mente che un tempo avevo letto riguardo a <noindex>Ripetizioni spaziate<\/noindex>.<\/p>\n<p><\/p>\n<p>Che cos'\u00e8 e come funziona? In breve, esiste una <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\">curva dell'oblio<\/a><\/noindex>, successivamente citazione da Wikipedia:<\/p>\n<p><\/p>\n<blockquote><p>Gi\u00e0 nel primo ora si dimentica fino al 60% di tutte le informazioni ricevute, dopo 10 ore dalla memorizzazione rimane nel ricordo il 35% di ci\u00f2 che \u00e8 stato studiato. Successivamente, il processo di dimenticanza avviene lentamente, e dopo 6 giorni rimane nella memoria circa il 20% del numero totale di sillabe inizialmente apprese, la stessa quantit\u00e0 rimane in memoria anche dopo un mese.<\/p><\/blockquote>\n<p>E la conclusione da qui <\/p>\n<p><\/p>\n<blockquote><p>Le conclusioni che si possono trarre da questa curva sono che per una memorizzazione efficace \u00e8 necessaria la ripetizione del materiale appreso.<\/p><\/blockquote>\n<p>Ecco che siamo giunti all'idea <noindex>della ripetizione intervallata<\/noindex>.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/\">ANIKI<\/a><\/noindex> \u00e8 un programma completamente gratuito e open source che realizza l'idea della ripetizione intervallata. In parole povere, \u00e8 come utilizzare delle flash card informatizzate, con una domanda da un lato e una risposta dall'altro. Poich\u00e9 puoi creare domande\/risposte utilizzando semplice <em>html\/css\/javascript<\/em>, si pu\u00f2 dire che ha possibilit\u00e0 veramente illimitate. Inoltre, \u00e8 estensibile con appositi <noindex><a rel=\"nofollow\" href=\"https:\/\/ankiweb.net\/shared\/addons\/\">plugin<\/a><\/noindex>, e uno di essi ci sar\u00e0 molto utile in futuro.<\/p>\n<p><\/p>\n<p>Creare manualmente schede \u00e8 un processo lungo, noioso e c'\u00e8 una grande probabilit\u00e0 che, dopo qualche tempo, tu stia per abbandonare tutto. Cos\u00ec, a un certo punto, mi sono chiesto se fosse possibile automatizzare questa attivit\u00e0. La risposta \u00e8 s\u00ec, ed \u00e8 quello che ho fatto. Dico subito che \u00e8 pi\u00f9 <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Proof_of_concept\">POC (Proof of concept)<\/a><\/noindex>, ma utilizzabile. Se ci sar\u00e0 interesse da parte degli utenti e arriveranno altri sviluppatori, si potr\u00e0 portare a termine un prodotto finito, che potr\u00e0 essere utilizzato anche da utenti con scarse conoscenze tecniche. Attualmente, l'uso della mia utility richiede alcune conoscenze di programmazione.<\/p>\n<p><\/p>\n<p>Leggo libri utilizzando il programma <noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.neverland.alreader&amp;hl=en\">AIReader<\/a><\/noindex>. Ha la possibilit\u00e0 di connettere dizionari esterni e, durante la traduzione di una parola, salva la parola per la quale hai richiesto la traduzione in un file di testo. Adesso resta da tradurre queste parole e creare le schede ANKI.<\/p>\n<p><\/p>\n<p>Inizialmente ho cercato di utilizzare per la traduzione <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> e cos\u00ec via. Ma con i servizi gratuiti non \u00e8 andata. Ho esaurito il limite gratuito gi\u00e0 durante lo sviluppo, inoltre, a causa delle condizioni della licenza, non avevo il diritto di memorizzare le parole. A un certo punto ho capito che dovevo tradurre le parole da solo. Alla fine, ho scritto un modulo <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/dsl2html\">dsl2html<\/a><\/noindex> a cui posso collegare <noindex><a rel=\"nofollow\" href=\"http:\/\/lingvo.helpmax.net\/en\/troubleshooting\/dsl-compiler\/dsl-dictionary-structure\/\">dizionari DSL<\/a><\/noindex> e che \u00e8 in grado di convertire in <em>HTML<\/em> formato. <\/p>\n<p><\/p>\n<p>Ecco come appare un articolo del dizionario in *<em>.html<\/em>, la mia versione in confronto alla versione <noindex><a rel=\"nofollow\" href=\"http:\/\/goldendict.org\/\">GoldenDict<\/a><\/noindex><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Due storie su come ANKI pu\u00f2 aiutarti a imparare una lingua straniera e prepararti per un colloquio.\" src=\"\/wp-content\/uploads\/2019\/06\/98317e694331c5764fe890827d59e3b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Prima di cercare una parola nei dizionari collegati la riduco alla <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\">forma dizionario (lemma)<\/a><\/noindex> utilizzando la libreria <noindex><a rel=\"nofollow\" href=\"https:\/\/stanfordnlp.github.io\/CoreNLP\/\">Stanford CoreNLP<\/a><\/noindex>. In realt\u00e0, a causa di questa libreria ho iniziato a scrivere in Java e il piano iniziale era di scrivere tutto in Java, ma durante il processo ho trovato la libreria <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/joeferner\/node-java\">node-java<\/a><\/noindex> , che permette di eseguire codice Java da nodejs in modo relativamente semplice, e parte del codice \u00e8 scritta in JavaScript. Se avessi trovato questa libreria prima, non avrei scritto nemmeno una riga in Java. Un altro progetto secondario nato nel processo \u00e8 la creazione di <noindex><a rel=\"nofollow\" href=\"https:\/\/anatoly314.github.io\/dsl-manual\/\">un repository con la documentazione DSL<\/a><\/noindex> che \u00e8 stata trovata online in formato *<em>.chm<\/em>, convertito e sistemato. Se l'autore del file originale \u00e8 l'utente con il nickname <strong>yozhic<\/strong> vede questo articolo, gli sono molto grato per il lavoro svolto; senza la sua documentazione, probabilmente non ce l'avrei fatta.<\/p>\n<p><\/p>\n<p>Quindi, ho una parola in inglese, il suo articolo di dizionario in formato *<em>.html<\/em>, resta da mettere tutto insieme, creare articoli ANKI da un elenco di parole e inserirli nel database ANKI. A tal fine, \u00e8 stato creato il seguente progetto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex>. \u00c8 in grado di prendere in input un elenco di parole, tradurle, creare articoli ANKI *<em>.html<\/em> e registrarli nel database ANKI. Alla fine dell'articolo ci sono istruzioni su come usarlo. Per ora, per\u00f2, \u00e8 la seconda storia in cui le ripetizioni intermittenti possono essere utili.<\/p>\n<p><\/p>\n<h2 id=\"istoriya-vtoraya\">Seconda storia.<\/h2>\n<p><\/p>\n<p>Tutte le persone in cerca di una professione pi\u00f9 o meno qualificata, inclusi i programmatori, si trovano di fronte alla necessit\u00e0 di prepararsi per un colloquio. Molti dei concetti che vengono discussi durante un colloquio non sono utilizzati nella pratica quotidiana e tendono ad essere dimenticati. Durante la mia preparazione per un colloquio, sfogliando appunti, libri e guide, ho notato che molto tempo e attenzione vengono spesi nell'eliminare informazioni che gi\u00e0 conosco, poich\u00e9 non sono sempre evidenti e devo leggere attentamente per capire che sono irrilevanti. Quando poi ci si avvicina a un argomento che richiede davvero di essere ripassato, spesso si \u00e8 gi\u00e0 stanchi e la qualit\u00e0 della preparazione ne risente. A un certo punto ho pensato: perch\u00e9 non usare anche le schede ANKI per questo? Per esempio, durante il riassunto di un argomento, si potrebbe creare immediatamente un riassunto sotto forma di domanda e risposta, cos\u00ec durante il ripasso saprete subito se conoscete o meno la risposta a quella domanda.<\/p>\n<p><\/p>\n<p>Il problema \u00e8 sorto solo per il fatto che inserire le domande richiede molto tempo e pu\u00f2 essere noioso. Per facilitare il processo, in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex> ho aggiunto la funzionalit\u00e0 per convertire <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Markdown\">markdown<\/a><\/noindex> testo nella scheda ANKI. Tutto ci\u00f2 che devi fare \u00e8 scrivere un grande file in cui le domande e le risposte sono contrassegnate da una sequenza di simboli prestabilita, che il parser utilizzer\u00e0 per comprendere dove si trova la domanda e dove la risposta.<\/p>\n<p><\/p>\n<p>Dopo aver creato questo file, esegui data2anki e verranno generate le schede ANKI. \u00c8 facile modificare il file originale e condividerlo: basta eliminare la scheda o le schede corrispondenti e ripetere il programma, e verr\u00e0 creata una nuova versione.<\/p>\n<p><\/p>\n<h2 id=\"ustanovka-i-polzovaniyu\">Installazione e uso<\/h2>\n<p><\/p>\n<ol>\n<li>\n<p>Installazione di ANKI + AnkiConnect<\/p>\n<p><\/p>\n<ol>\n<li>Scarica ANKI da qui: <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/\">https:\/\/apps.ankiweb.net\/<\/a><\/noindex><\/li>\n<li>Installa il plugin AnkiConnect: <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>Installazione <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex><\/p>\n<p><\/p>\n<ol>\n<li>Scarica <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/anatoly314\/data2anki\">data2anki<\/a><\/noindex> dal repository github\n<pre><code class=\"plaintext\">git clone https:\/\/github.com\/anatoly314\/data2anki<\/code><\/pre>\n<\/li>\n<li>Installa le dipendenze\n<pre><code class=\"plaintext\">cd data2anki &amp;&amp; npm install<\/code><\/pre>\n<\/li>\n<li>Scarica le dipendenze java <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>Estrai <strong>jar-dependencies.zip<\/strong> e posiziona il suo contenuto in <strong>data2anki\/java\/jars<\/strong><\/li>\n<\/ol>\n<p>\n<\/li>\n<li>\n<p>Uso per la traduzione delle parole:<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Nel file <strong>data2anki\/config.json<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>nell'opzione <strong>mode<\/strong> definisci il valore <strong>dsl2anki<\/strong><\/p>\n<p>\n<\/li>\n<li>\n<p>nell'opzione <strong>modules.dsl.anki.deckName<\/strong> e <strong>modules.dsl.anki.modelName<\/strong> definisci, rispettivamente, <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#decks\">Nome del mazzo<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#note-types\">Nome del modello<\/a><\/noindex> (devono gi\u00e0 essere creati prima di creare le schede). Attualmente \u00e8 supportato solo il modello di tipo <strong>Basic<\/strong>:<\/p>\n<p><\/p>\n<blockquote><p>Ha campi Front e Back, e creer\u00e0 una scheda. Il testo che inserisci in Front apparir\u00e0 sul davanti della scheda, e il testo che inserisci in Back apparir\u00e0 sul retro della scheda. <\/p><\/blockquote>\n<p>dove la parola originale \u00e8 <em>Campo frontale<\/em>, e la traduzione sar\u00e0 in <em>Campo posteriore<\/em>. <\/p>\n<p><\/p>\n<p>Non ci sono problemi ad aggiungere supporto <strong>Base (e scheda inversa)<\/strong>, dove per ogni parola e traduzione verr\u00e0 creata anche una scheda inversa, in cui dovrai ricordare la parola originale in base alla traduzione. Serve solo un po\u2019 di tempo e voglia.<\/p>\n<p>\n<\/li>\n<li>\n<p>nell'opzione <strong>modules.dsl.dictionariesPath<\/strong> scrivi un array con i dizionari connessi *<em>.dsl<\/em> Ogni dizionario connesso \u00e8 una directory in cui si trovano i file del dizionario secondo il formato: <noindex><a rel=\"nofollow\" href=\"https:\/\/anatoly314.github.io\/dsl-manual\/#dict.html\">Struttura del dizionario DSL<br \/>\n<\/a><\/noindex><\/p>\n<p>\n<\/li>\n<li>\n<p>nell'opzione <strong>modules.dsl.wordToTranslatePath<\/strong> indichi il percorso dell'elenco di parole che desideri tradurre.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p>\n<\/li>\n<li>Avvia l'app ANKI in funzione \n<pre><code class=\"plaintext\">node data2ankiindex.js<\/code><\/pre>\n<\/li>\n<li>PROFITTO!!!<\/li>\n<\/ol>\n<p>\n<\/li>\n<li>\n<p>Utilizzo per la creazione di schede da markdown<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Nel file <strong>data2anki\/config.json<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li>nell'opzione <strong>mode<\/strong> definisci il valore <strong>markdown2anki<\/strong><\/li>\n<li>nell'opzione <strong>modules.markdown.anki.deckName<\/strong> e <strong>modules.dsl.anki.modelName<\/strong> definisci, rispettivamente, <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#decks\">Nome del mazzo<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.ankiweb.net\/docs\/manual.html#note-types\">Nome del modello<\/a><\/noindex> (dovrebbero gi\u00e0 essere stati creati prima di creare le schede). Per <strong>markdown2anki<\/strong> mode \u00e8 supportato solo il modello di tipo <strong>Basic<\/strong>.<\/li>\n<li>\n<p>nell'opzione <strong>modules.markdown.selectors.startQuestionSelectors<\/strong> e <strong>modules.markdown.selectors.startAnswerSelectors<\/strong> indicare i selettori che contrassegnano l'inizio della domanda e della risposta rispettivamente. La stringa con il selettore non sar\u00e0 analizzata e non entrer\u00e0 nella scheda; il parser inizier\u00e0 a lavorare dalla riga successiva. <\/p>\n<p><\/p>\n<h5 id=\"naprimer-vot-eta-kartochka-voprosotvet\">Ad esempio, questa scheda domanda\/risposta:<\/h5>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Due storie su come ANKI pu\u00f2 aiutarti a imparare una lingua straniera e prepararti per un colloquio.\" 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\">Si presenter\u00e0 in markdown nel seguente modo:<\/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>Esempio tratto da qui: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ganqqwerty\/123-Essential-JavaScript-Interview-Questions\">123-JavaScript-Interview-Questions<\/a><\/noindex><\/p><\/blockquote>\n<p>C'\u00e8 anche un file con esempi nella cartella del progetto <code>examples\/markdown2anki-example.md<\/code><\/p>\n<p>\n<\/li>\n<li>nell'opzione <strong>modules.markdown.pathToFile<\/strong><br \/>\nindicate, il percorso del file dove si trova *<em>.md<\/em> file con domande\/risposte<\/li>\n<\/ul>\n<p>\n<\/li>\n<li>Avvia l'app ANKI in funzione\n<pre><code class=\"plaintext\">node data2ankiindex.js<\/code><\/pre>\n<\/li>\n<li>PROFITTO!!!<\/li>\n<\/ol>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"vot-tak-eto-vyglyadit-na-mobilnom-telefone\">Ecco come appare su un telefono cellulare:<\/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=\"Riproduci 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\">Risultato<\/h2>\n<p><\/p>\n<p>Le schede ANKI ottenute dalla versione desktop si sincronizzano senza problemi con il cloud ANKI (gratuito fino a 100 MB), e in seguito puoi usarle ovunque. Ci sono client per Android e iPhone, e puoi anche utilizzarle nel browser. Pertanto, se hai del tempo da spendere, invece di scorrere senza meta su Facebook o su gatti su Instagram, puoi imparare qualcosa di nuovo. <\/p>\n<p><\/p>\n<h2 id=\"epilog\">Epilogo<\/h2>\n<p><\/p>\n<p>Come ho gi\u00e0 menzionato, questo \u00e8 pi\u00f9 un POC funzionale da usare piuttosto che un prodotto finito. Circa il 30% dello standard del parser DSL non \u00e8 implementato, e quindi, <noindex><a rel=\"nofollow\" href=\"https:\/\/anatoly314.github.io\/dsl-manual\/#tag_service.html#alt\">ad esempio non tutte le voci di dizionario disponibili possono essere trovate<\/a><\/noindex>, c'\u00e8 anche l'idea di riscriverlo in <em>JavaScript<\/em>, poich\u00e9 desideriamo la &#171;consistenza&#187;, inoltre, attualmente non \u00e8 scritto in modo molto ottimale. Attualmente il parser costruisce un albero, il che mi sembra superfluo e complica il codice. <strong>markdown2anki<\/strong> In modalit\u00e0 immagine non vengono elaborati. Cercher\u00f2 di andare avanti lentamente, ma poich\u00e9 sto scrivendo per me stesso, prima risolver\u00f2 i problemi su cui inciampo. Se qualcuno vuole aiutare, \u00e8 il benvenuto. Se avete domande sui programmi, sar\u00f2 felice di aiutare tramite issue aperti nei progetti pertinenti. Per l'altra critica e suggerimenti, scrivete qui. Spero che questo progetto possa essere utile per qualcuno.<\/p>\n<p><\/p>\n<p>P.S. Se notate errori (e purtroppo ci sono), scrivete in privato, corregger\u00f2 tutto.<\/p>\n<p>Fonte: <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-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - 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. \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\" \/>\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\/it\/blog\/novosti-interneta\/dve-istorii-kak-anki-mozhet-vam-pomoch-vyuchit-inostrannyj-yazyk-i-podgotovitsya-k-intervyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/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\udd47Due storie su come ANKI pu\u00f2 aiutarti a imparare una lingua straniera e prepararti per un colloquio | ProHoster","description":"Ho sempre pensato che un programmatore pigro sia un buon programmatore. Perch\u00e9? Perch\u00e9 se chiedi a un lavoratore di fare qualcosa, andr\u00e0 e lo far\u00e0. Ma un programmatore pigro impiegher\u00e0 2-3 volte pi\u00f9 tempo, ma scriver\u00e0 uno script che lo far\u00e0 \u2014 \u00e8 pi\u00f9 efficiente. Forse la prima volta ci vorr\u00e0 ingiustificatamente molto tempo, ma a condizione che si ripeta.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/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":"it_IT","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. \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","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=34845"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34845\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26237"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=34845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=34845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=34845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}