Залхуу програмист бол сайн програмист гэдэгт би үргэлж итгэдэг. Яагаад? Яагаад гэвэл ажилсаг хүнээс юм гуй, тэр хүн очоод хийнэ. Залхуу програмист 2-3 дахин их цаг зарцуулах боловч түүнд зориулж хийх скрипт бичих болно. Эхний удаад үүнийг хийхэд үндэслэлгүй удаан хугацаа шаардагдаж магадгүй ч давтан даалгавруудыг хийснээр энэ арга нь маш хурдан үр дүнгээ өгөх болно. Би өөрийгөө залхуу програмист гэж боддог. Энэ бол оршил байсан, одоо ажилдаа орцгооё.
Нэгдүгээр түүх
Хэдэн жилийн өмнө би англи хэлээ яаж сайжруулах вэ гэж бодож байсан. Уран зохиол унших шиг сайхан зүйл санаанд орж ирсэнгүй. Би цахим уншигч худалдаж аваад, ном татаж аваад уншиж эхлэв. Уншиж байхдаа танихгүй үгстэй тааралдсаар л. Уншигчдад суулгасан толь бичгүүдийг ашиглан би тэр даруй орчуулсан боловч би нэг онцлог шинжийг анзаарсан: үгс нь санахыг хүсээгүй. Хэдэн хуудасны дараа би энэ үгтэй дахин таарахад 90% магадлалтайгаар дахин орчуулга хийх шаардлагатай болсон гэх мэт. Уншиж байхдаа танихгүй үгсийг орчуулах нь хангалтгүй, өөр зүйл хийх хэрэгтэй гэсэн дүгнэлт гарсан. Үүнийг өдөр тутмын амьдралдаа нэвтрүүлж, ашиглаж эхлэх нь хамгийн тохиромжтой сонголт байх болно, гэхдээ би англиар ярьдаг улсад амьдардаггүй бөгөөд энэ нь боломжгүй юм. Тэгээд нэг удаа уншсанаа санав
Энэ юу вэ, юугаар хооллодог вэ? Товчхондоо ийм байна
Эхний нэг цагийн дотор хүлээн авсан бүх мэдээллийн 60 хүртэлх хувийг мартдаг бол цээжилснээс хойш 10 цагийн дараа сурсан зүйлийн 35% нь санах ойд үлддэг. Дараа нь мартах үйл явц аажмаар үргэлжилж, 6 хоногийн дараа анх сурсан үгсийн нийт тооны 20 орчим хувь нь санах ойд үлдэж, сарын дараа мөн адил хэмжээ нь санах ойд үлддэг.
Тэгээд эндээс дүгнэлт
Энэ муруй дээр үндэслэн хийж болох дүгнэлтүүд нь үр дүнтэй цээжлэхийн тулд цээжилсэн материалыг давтах шаардлагатай байдаг.
Тиймээс бид нэг санаа олсон
Гараар карт үүсгэх нь урт, уйтгартай бөгөөд хэсэг хугацааны дараа та энэ даалгаврыг мартах магадлал өндөр тул хэзээ нэгэн цагт би энэ ажлыг автоматжуулах боломжтой юу гэсэн асуултыг өөрөөсөө асуув. Хариулт нь тийм ээ, та чадна. Тэгээд би үүнийг хийсэн. Би шууд хэлье, энэ нь илүү их юм
Би программыг ашиглан ном уншдаг
Эхэндээ би орчуулга хийх гэж оролдсон
*-д толь бичгийн оруулга ийм харагдаж байна..html, миний сонголтыг сонголттой харьцуулсан
Холбогдсон толь бичгүүдээс үг хайхын өмнө би үүнийг авчирдаг
Тиймээс, надад англи хэл дээр нэг үг байна, түүний толь бичиг нь форматтай *.html, бүх зүйлийг нэгтгэж, үгсийн жагсаалтаас ANKI нийтлэл үүсгэж, ANKI мэдээллийн санд оруулах л үлдлээ. Үүний тулд дараах төслийг бий болгосон
Хоёр дахь түүх.
Программист гэх мэт илүү их / бага мэргэшсэн мэргэжил хайж байгаа бүх хүмүүс ярилцлагад бэлтгэх шаардлагатай тулгардаг. Ярилцлагын үеэр асуудаг олон ойлголтыг өдөр тутмын амьдралдаа ашигладаггүй бөгөөд мартагддаг. Ярилцлагад бэлдэж, тэмдэглэл, ном, лавлах номыг эргүүлж байхдаа аль хэдийн мэддэг байсан мэдээллийг шүүж авах нь маш их цаг хугацаа, анхаарал шаарддаг тул энэ нь үргэлж тодорхой байдаггүй тул та үүнийг хийх ёстой гэсэн асуудалтай тулгарсан. энэ нь юу болохыг ойлгохын тулд анхааралтай уншина уу. хамааралгүй. Та үнэхээр давтагдах шаардлагатай сэдэв дээр ирэхэд та аль хэдийн ядарч, бэлтгэлийн чанар муудах тохиолдол гардаг. Хэзээ нэгэн цагт би ANKI картыг яагаад ашиглаж болохгүй гэж бодсон юм бэ? Жишээлбэл, ямар нэгэн сэдвээр тэмдэглэл хөтлөхдөө асуулт хариултын хэлбэрээр нэн даруй тэмдэглэл үүсгэж, дараа нь үүнийг давтах үед та энэ асуултын хариултыг мэддэг эсэхээ шууд мэдэх болно.
Асуулт бичих нь маш урт бөгөөд уйтгартай байсан нь цорын ганц асуудал байсан юм. Үйл явцыг хөнгөвчлөхийн тулд,
Энэ файлыг үүсгэсний дараа та data2anki-г ажиллуулж, ANKI картуудыг үүсгэдэг. Анхны файлыг засах, хуваалцахад хялбар, та тохирох карт(ууд)-ыг устгаад програмыг дахин ажиллуулахад л шинэ хувилбар үүснэ.
Суурилуулалт, ашиглалт
-
ANKI + AnkiConnect суулгаж байна
- ANKI-г эндээс татаж авна уу:
https://apps.ankiweb.net/ - AnkiConnect залгаасыг суулгана уу:
https://ankiweb.net/shared/info/2055492159
- ANKI-г эндээс татаж авна уу:
-
тохиргоо
өгөгдөл2анки - Татаж авах
өгөгдөл2анки github репозитороосgit clone https://github.com/anatoly314/data2anki
- Хамаарал суулгах
cd data2anki && npm install
- Java хамаарлыг татаж авах
https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip - Савлаж байна jar-dependencies.zip болон агуулгыг нь байрлуул data2anki/java/jars
- Татаж авах
-
Үгсийг орчуулахдаа ашиглана уу:
-
Файлд data2anki/config.json:
-
түлхүүр дээр горим утгыг оруулна уу dsl2anki
-
түлхүүр дээр modules.dsl.anki.deckName и modules.dsl.anki.modelName дагуу бичих
Тавцангийн нэр изагвар нэр (карт үүсгэхээс өмнө аль хэдийн үүсгэгдсэн байх ёстой). Одоогоор зөвхөн загварын төрлийг дэмждэг үндсэн:Урд болон хойд талбаруудтай бөгөөд нэг карт үүсгэх болно. Урд хэсэгт оруулсан бичвэр картны нүүрэн талд гарч ирэх ба арын хэсэгт оруулсан текст картны ард гарч ирнэ.
эх үг хаана байна? Урд талбар, орчуулга нь дотор байх болно Арын талбай.
Дэмжлэг нэмэхэд асуудал байхгүй Үндсэн (болон урвуу карт), үг болон орчуулгын урвуу картыг үүсгэх бөгөөд орчуулгад үндэслэн та эх үгийг санах хэрэгтэй. Танд хэрэгтэй зүйл бол цаг хугацаа, хүсэл юм.
-
түлхүүр дээр modules.dsl.dictionariesPath холбогдсон массивыг бүртгэх *.dsl толь бичгүүд. Холбогдсон толь бичиг бүр нь толь бичгийн файлуудыг форматын дагуу байрлуулсан лавлах юм.
DSL толь бичгийн бүтэц
-
түлхүүр дээр modules.dsl.wordToTranslatePath Орчуулахыг хүссэн үгсийнхээ жагсаалтад хүрэх замыг оруулна уу.
-
- ANKI програм ажиллаж байгаа үед ажиллуулна уу
node data2ankiindex.js
- АШИГ!!!
-
-
Markdown-аас карт үүсгэхэд ашигладаг
-
Файлд data2anki/config.json:
- түлхүүр дээр горим утгыг оруулна уу markdown2anki
- түлхүүр дээр modules.markdown.anki.deckName и modules.dsl.anki.modelName дагуу бичих
Тавцангийн нэр изагвар нэр (карт үүсгэхээс өмнө аль хэдийн үүсгэгдсэн байх ёстой). Учир нь markdown2anki горимын зөвхөн загварын төрлийг дэмждэг үндсэн. -
түлхүүр дээр modules.markdown.selectors.startQuestionSelectors и modules.markdown.selectors.startAnswerSelectors та асуулт, хариултын эхлэлийг тэмдэглэсэн сонгогчдыг бичнэ. Сонгогчтой мөр нь өөрөө задлан шинжлэгдэхгүй бөгөөд картанд дуусахгүй; задлан шинжлэгч дараагийн мөрөөс ажиллаж эхэлнэ.
Жишээлбэл, энэ асуулт/хариултын карт:
Энэ нь тэмдэглэгээнд иймэрхүү харагдах болно:
#АСУУЛТ# ## Асуулт 5. Дараах синтаксаар дуудагдсан үед зөв ажиллах mul функц бичнэ үү. ```javascript console.log(mul(2)(3)(4)); // гаралт: 24 console.log(mul(4)(3)(4)); // гаралт : 48 ``` #Хариулт# Энэ нь хэрхэн ажилладаг талаар тайлбар бүхий кодыг доор харуулав: ```javascript функц mul (x) { буцах функц (y) { // нэргүй функц буцаах функц (z) { // нэргүй функц буцах x * y * z; }; }; } ``` Энд `mul` функц нь эхний аргументыг хүлээн авч, хоёр дахь параметрийг авах нэргүй функцийг буцаана, гурав дахь параметрийг авч, дараалан дамжуулж буй аргументуудын үржүүлгийг буцаана Javascript-д тодорхойлогдсон функцийг буцаана. inside нь гадаад функцийн хувьсагч руу хандах эрхтэй бөгөөд функц нь нэгдүгээр зэрэглэлийн объект тул функцээр буцаан өгч, өөр функцэд аргумент болгон дамжуулж болно. - Функц нь Объектын төрлийн жишээ юм - Функц нь шинж чанартай байж болох ба түүний үүсгэгчийн арга руу буцах холбоос байна - Функцийг хувьсагч болгон хадгалах боломжтой - Функцийг өөр функцэд параметр болгон дамжуулж болно. өөр функцээс буцаж ирсэн
Эндээс авсан жишээ:
123-JavaScript-Ярилцлагын асуултууд Төслийн хавтсанд жишээнүүдтэй файл бас бий
examples/markdown2anki-example.md
- түлхүүр дээр modules.markdown.pathToFile
файл руу очих замыг бичнэ үү..md асуулт/хариултын файл
- ANKI програм ажиллаж байгаа үед ажиллуулна уу
node data2ankiindex.js
- АШИГ!!!
-
Энэ нь гар утсан дээр иймэрхүү харагдаж байна.
үр дүн
ANKI-ийн ширээний хувилбар дээр хүлээн авсан картууд нь ANKI үүлэнд ямар ч асуудалгүйгээр синхрончлогдсон (100 mb хүртэл үнэгүй), дараа нь та тэдгээрийг хаана ч ашиглах боломжтой. Android болон iPhone-д зориулсан үйлчлүүлэгчид байдаг бөгөөд та үүнийг хөтөч дээр ашиглах боломжтой. Үүний үр дүнд, хэрэв танд зарцуулах зүйлгүй цаг байгаа бол Facebook эсвэл Instagram дээр муурыг зорилгогүйгээр гүйлгэхийн оронд та шинэ зүйл сурч болно.
Эпилог
Миний дурьдсанчлан, энэ нь бэлэн бүтээгдэхүүн гэхээсээ илүүтэй ажиллах боломжтой POC юм. DSL задлагч стандартын 30 орчим хувь нь хэрэгжээгүй тул
Жич Хэрэв та ямар нэг алдаа анзаарсан бол (харамсалтай нь зарим нь байгаа) надад хувийн мессежээр бичээрэй, би бүгдийг засах болно.
Эх сурвалж: www.habr.com