เรื่องราวสองเรื่องเกี่ยวกับวิธีที่ ANKI สามารถช่วยให้คุณเรียนรู้ภาษาต่างประเทศและเตรียมตัวสำหรับการสัมภาษณ์ได้อย่างไร

ฉันเชื่อมาโดยตลอดว่าโปรแกรมเมอร์ที่ขี้เกียจก็คือโปรแกรมเมอร์ที่ดี ทำไม เพราะขอให้คนทำงานหนักทำอะไรเขาก็จะไปทำ และโปรแกรมเมอร์ขี้เกียจจะใช้เวลามากกว่า 2-3 เท่า แต่จะเขียนสคริปต์ที่จะทำเพื่อเขา อาจใช้เวลานานเกินสมควรในการทำเช่นนี้ในครั้งแรก แต่การทำงานซ้ำๆ วิธีนี้จะให้ผลเร็วมาก ฉันคิดว่าตัวเองเป็นโปรแกรมเมอร์ที่ขี้เกียจ นั่นคือคำนำ ทีนี้มาลงลึกเรื่องธุรกิจกันดีกว่า

เรื่องที่หนึ่ง

ไม่กี่ปีที่ผ่านมา ฉันสงสัยว่าจะพัฒนาภาษาอังกฤษของฉันได้อย่างไร ไม่มีอะไรดีไปกว่าการอ่านวรรณกรรม ฉันซื้อเครื่องอ่านอิเล็กทรอนิกส์ ดาวน์โหลดหนังสือ และเริ่มอ่าน ในขณะที่อ่าน ฉันมักจะเจอคำศัพท์ที่ไม่คุ้นเคย ฉันแปลทันทีโดยใช้พจนานุกรมที่มีอยู่ในเครื่องอ่าน แต่ฉันสังเกตเห็นคุณสมบัติหนึ่ง: ไม่ต้องการจดจำคำศัพท์ เมื่อฉันเจอคำนี้อีกครั้งในสองสามหน้าต่อมา ด้วยความน่าจะเป็น 90% ที่ฉันจำเป็นต้องแปลอีกครั้ง และสิ่งนี้ก็เกิดขึ้นทุกครั้ง สรุปก็คือการแปลคำที่ไม่คุ้นเคยขณะอ่านนั้นไม่เพียงพอ คุณต้องทำอย่างอื่น ทางเลือกที่เหมาะสมที่สุดคือการแนะนำมันในชีวิตประจำวันและเริ่มใช้มัน แต่ฉันไม่ได้อยู่ในประเทศที่พูดภาษาอังกฤษและไม่น่าเป็นไปได้ แล้วฉันก็จำได้ว่าครั้งหนึ่งฉันเคยอ่านเกี่ยวกับ การเว้นระยะการทำซ้ำ.

มันคืออะไรและกินกับอะไร? สรุปมีเท่านี้ครับ ลืมโค้งอ้างเพิ่มเติมจาก Wikipedia:

ภายในชั่วโมงแรกข้อมูลมากถึง 60% ที่ได้รับจะถูกลืม และ 10 ชั่วโมงหลังจากการท่องจำ 35% ของสิ่งที่เรียนรู้จะยังคงอยู่ในความทรงจำ จากนั้น กระบวนการลืมดำเนินไปอย่างช้าๆ และหลังจาก 6 วัน ประมาณ 20% ของจำนวนพยางค์ที่เรียนเริ่มแรกทั้งหมดจะยังคงอยู่ในความทรงจำ และจำนวนเท่ากันจะยังคงอยู่ในความทรงจำหลังจากผ่านไปหนึ่งเดือน

และบทสรุปต่อจากนี้

ข้อสรุปที่สามารถสรุปได้ขึ้นอยู่กับเส้นโค้งนี้คือเพื่อการท่องจำที่มีประสิทธิภาพจำเป็นต้องทำซ้ำเนื้อหาที่จดจำ

เราก็เลยเกิดไอเดียขึ้นมา การเว้นระยะห่าง.

อังกิ เป็นโปรแกรมโอเพ่นซอร์สฟรีที่ใช้แนวคิดการเว้นระยะห่าง พูดง่ายๆ ก็คือ แฟลชการ์ดที่ใช้คอมพิวเตอร์จะมีคำถามอยู่ด้านหนึ่งและคำตอบอีกด้านหนึ่ง เนื่องจากคุณสามารถถามคำถาม/คำตอบได้ตามปกติ html/css/จาวาสคริปต์แล้วเราก็บอกได้เลยว่ามันมีความเป็นไปได้ที่ไร้ขีดจำกัดอย่างแท้จริง นอกจากนี้ยังสามารถขยายความพิเศษได้อีกด้วย ปลั๊กอินและหนึ่งในนั้นก็จะเป็นประโยชน์ต่อเราอย่างมากในอนาคต

การสร้างการ์ดด้วยตนเองนั้นใช้เวลานาน น่าเบื่อ และมีความเป็นไปได้สูง หลังจากนั้นไม่นาน คุณจะลืมงานนี้ และเมื่อถึงจุดหนึ่ง ฉันก็ถามตัวเองว่า เป็นไปได้ไหมที่จะทำให้งานนี้เป็นแบบอัตโนมัติ คำตอบคือใช่ คุณทำได้ และฉันก็ทำมัน ฉันจะพูดทันทีมันมากขึ้น POC (หลักฐานแนวคิด)แต่อันไหนใช้ได้.. หากมีความสนใจจากผู้ใช้และนักพัฒนารายอื่นเข้ามามีส่วนร่วม ก็สามารถนำผลิตภัณฑ์ดังกล่าวมาสู่ผลิตภัณฑ์สำเร็จรูปที่แม้แต่ผู้ใช้ที่ไม่มีความรู้ด้านเทคนิคก็สามารถใช้ได้ ตอนนี้การใช้ยูทิลิตี้ของฉันต้องมีความรู้ด้านการเขียนโปรแกรมบ้าง

ฉันอ่านหนังสือโดยใช้โปรแกรม AI Reader. มีความสามารถในการเชื่อมต่อพจนานุกรมภายนอก และเมื่อคุณแปลคำใดคำหนึ่ง ระบบจะบันทึกคำที่คุณเรียกให้แปลเป็นไฟล์ข้อความ สิ่งที่เหลืออยู่คือการแปลคำเหล่านี้และสร้างการ์ด ANKI

ตอนแรกฉันพยายามใช้ในการแปล Google Translate, ลิงโว API ฯลฯ แต่สิ่งต่างๆ ไม่ได้ผลกับบริการฟรี ฉันหมดขีดจำกัดฟรีในระหว่างกระบวนการพัฒนา นอกจากนี้ ตามเงื่อนไขของใบอนุญาต ฉันไม่มีสิทธิ์แคชคำ เมื่อถึงจุดหนึ่งฉันก็รู้ว่าต้องแปลคำเหล่านั้นด้วยตัวเอง เป็นผลให้มีการเขียนโมดูล dsl2html ที่คุณสามารถเชื่อมต่อได้ พจนานุกรมดีเอสแอล และใครจะรู้วิธีแปลงพวกมันให้เป็น HTML รูปแบบ.

นี่คือลักษณะรายการพจนานุกรมใน *. htmlตัวเลือกของฉันเมื่อเทียบกับตัวเลือก โกลเด้นไดคัท

เรื่องราวสองเรื่องเกี่ยวกับวิธีที่ ANKI สามารถช่วยให้คุณเรียนรู้ภาษาต่างประเทศและเตรียมตัวสำหรับการสัมภาษณ์ได้อย่างไร

ก่อนจะหาคำในพจนานุกรมที่เชื่อมโยงกันก็นำมาให้ รูปแบบพจนานุกรม (บทแทรก) การใช้ห้องสมุด สแตนฟอร์ด CoreNLP. ที่จริงแล้วเพราะไลบรารีนี้ ฉันจึงเริ่มเขียนด้วยภาษา Java และแผนเดิมคือเขียนทุกอย่างด้วยภาษา Java แต่ในกระบวนการฉันพบไลบรารี โหนด-java ซึ่งคุณสามารถรันโค้ด Java จาก nodejs ได้อย่างง่ายดาย และโค้ดบางส่วนเขียนด้วย JavaScript หากฉันพบไลบรารี่นี้ก่อนหน้านี้ คงไม่มีการเขียนบรรทัดใดในภาษา Java เลย โปรเจ็กต์ด้านอื่นที่เกิดขึ้นระหว่างกระบวนการคือการสร้างสรรค์ พื้นที่เก็บข้อมูลพร้อมเอกสาร DSL ซึ่งพบบนเครือข่ายในรูปแบบ *.ชมดัดแปลงและนำมาสู่ร่างอันศักดิ์สิทธิ์ หากผู้เขียนไฟล์ต้นฉบับเป็นผู้ใช้ตามชื่อเล่น โยชิก เมื่อเขาเห็นบทความนี้ ฉันขอบคุณเขามากสำหรับงานที่เขาทำ หากไม่มีเอกสารประกอบของเขา ฉันก็คงจะไม่ประสบความสำเร็จ

ฉันมีคำเป็นภาษาอังกฤษรายการพจนานุกรมอยู่ในรูปแบบ *. htmlสิ่งที่เหลืออยู่คือรวบรวมทุกอย่างเข้าด้วยกัน สร้างบทความ ANKI จากรายการคำแล้วป้อนลงในฐานข้อมูล ANKI เพื่อจุดประสงค์นี้โครงการต่อไปนี้จึงถูกสร้างขึ้น data2anki. สามารถนำรายการคำศัพท์มาป้อน แปล สร้าง ANKI ได้*. html บทความและบันทึกไว้ในฐานข้อมูล ANKI ในตอนท้ายของบทความมีคำแนะนำวิธีใช้งาน ในระหว่างนี้ เรื่องที่สองคือจุดที่การเว้นระยะห่างซ้ำๆ จะเป็นประโยชน์

เรื่องที่สอง.

ทุกคนที่กำลังมองหาความเชี่ยวชาญพิเศษที่มีคุณสมบัติไม่มากก็น้อย รวมถึงโปรแกรมเมอร์ ต้องเผชิญกับความจำเป็นในการเตรียมตัวสำหรับการสัมภาษณ์ แนวคิดหลายประการที่ถูกถามในการสัมภาษณ์ที่คุณไม่ได้ใช้ในชีวิตประจำวันและถูกลืมไป เมื่อเตรียมตัวสัมภาษณ์ พลิกดูบันทึก หนังสือ หนังสืออ้างอิง ผมต้องเผชิญกับความจริงที่ว่ามันต้องใช้เวลาและความเอาใจใส่อย่างมากในการกรองข้อมูลที่คุณรู้อยู่แล้ว เพราะมันไม่ชัดเจนเสมอไปและคุณต้อง อ่านให้ละเอียดเพื่อทำความเข้าใจว่ามันคืออะไร ไม่เกี่ยวข้อง เมื่อคุณมาถึงหัวข้อที่ต้องทำซ้ำจริงๆ มักจะเกิดขึ้นว่าคุณเหนื่อยแล้วและคุณภาพในการเตรียมตัวก็แย่ลง เมื่อถึงจุดหนึ่ง ฉันคิดว่าทำไมไม่ใช้การ์ด ANKI เพื่อสิ่งนี้ด้วยล่ะ ตัวอย่างเช่น เมื่อจดบันทึกหัวข้อใดหัวข้อหนึ่ง ให้สร้างบันทึกในรูปแบบคำถามและคำตอบทันที จากนั้นเมื่อคุณทำซ้ำ คุณจะรู้ได้ทันทีว่าคุณรู้คำตอบสำหรับคำถามนี้หรือไม่

ปัญหาเดียวที่เกิดขึ้นคือการพิมพ์คำถามยาวและน่าเบื่อมาก เพื่อให้กระบวนการง่ายขึ้น data2anki โครงการที่ฉันเพิ่มฟังก์ชันการแปลง markdown ข้อความในการ์ด ANKI สิ่งที่คุณต้องมีคือเขียนไฟล์ขนาดใหญ่หนึ่งไฟล์ซึ่งคำถามและคำตอบจะถูกทำเครื่องหมายด้วยลำดับอักขระที่กำหนดไว้ล่วงหน้า ซึ่ง parser จะเข้าใจว่าคำถามอยู่ที่ไหนและคำตอบอยู่ที่ไหน

เมื่อไฟล์นี้ถูกสร้างขึ้น คุณจะเรียกใช้ data2anki และสร้างการ์ด ANKI ไฟล์ต้นฉบับนั้นง่ายต่อการแก้ไขและแชร์ คุณเพียงแค่ต้องลบการ์ดที่เกี่ยวข้องและรันโปรแกรมอีกครั้ง จากนั้นเวอร์ชันใหม่จะถูกสร้างขึ้น

การติดตั้งและการใช้งาน

  1. กำลังติดตั้ง ANKI + AnkiConnect

    1. ดาวน์โหลด ANKI จากที่นี่: https://apps.ankiweb.net/
    2. ติดตั้งปลั๊กอิน AnkiConnect: https://ankiweb.net/shared/info/2055492159

  2. การติดตั้ง data2anki

    1. ดาวน์โหลด data2anki จากพื้นที่เก็บข้อมูล GitHub
      git clone https://github.com/anatoly314/data2anki
    2. ติดตั้งการพึ่งพา
      cd data2anki && npm install
    3. ดาวน์โหลดการพึ่งพา Java https://github.com/anatoly314/data2anki/releases/download/0.1.0/jar-dependencies.zip
    4. กำลังแกะกล่อง jar-dependencies.zip และใส่เนื้อหาลงไป data2anki/java/jars

  3. ใช้ในการแปลคำศัพท์:

    1. ในไฟล์ data2anki/config.json:

      • ในคีย์ โหมด ป้อนค่า dsl2anki

      • ในคีย์ modules.dsl.anki.deckName и modules.dsl.anki.modelName เขียนตามนั้น ชื่อเด็ค и ชื่อรุ่น (ต้องสร้างไว้แล้วก่อนสร้างการ์ด) ปัจจุบันรองรับเฉพาะประเภทโมเดลเท่านั้น ขั้นพื้นฐาน:

        มีช่องด้านหน้าและด้านหลัง และจะสร้างการ์ดใบเดียว ข้อความที่คุณป้อนไว้ด้านหน้าจะปรากฏที่ด้านหน้าของการ์ด และข้อความที่คุณป้อนไว้ด้านหลังจะปรากฏที่ด้านหลังของการ์ด

        คำเดิมอยู่ที่ไหน? สนามหน้าและคำแปลจะเข้ามา สนามหลัง.

        ไม่มีปัญหาในการเพิ่มการสนับสนุน บัตรพื้นฐาน (และบัตรกลับด้าน)โดยที่บัตรย้อนกลับจะถูกสร้างขึ้นสำหรับคำและการแปล โดยที่คุณจะต้องจดจำคำต้นฉบับตามการแปล สิ่งที่คุณต้องมีคือเวลาและความปรารถนา

      • ในคีย์ modules.dsl.dictionariesPath ลงทะเบียนอาร์เรย์ด้วยการเชื่อมต่อ *.ดีเอสแอล พจนานุกรม พจนานุกรมที่เชื่อมต่อแต่ละพจนานุกรมคือไดเร็กทอรีที่ไฟล์พจนานุกรมอยู่ตามรูปแบบ: โครงสร้างพจนานุกรม DSL

      • ในคีย์ modules.dsl.wordToTranslatePath ป้อนเส้นทางไปยังรายการคำที่คุณต้องการแปล

    2. เปิดโดยที่แอปพลิเคชัน ANKI ทำงานอยู่
      node data2ankiindex.js
    3. กำไร!!!

  4. ใช้สำหรับสร้างการ์ดจากมาร์กดาวน์

    1. ในไฟล์ data2anki/config.json:

      • ในคีย์ โหมด ป้อนค่า markdown2anki
      • ในคีย์ modules.markdown.anki.deckName и modules.dsl.anki.modelName เขียนตามนั้น ชื่อเด็ค и ชื่อรุ่น (ต้องสร้างไว้แล้วก่อนสร้างการ์ด) สำหรับ markdown2anki รองรับโหมดเฉพาะรุ่นเท่านั้น ขั้นพื้นฐาน.
      • ในคีย์ modules.markdown.selectors.startQuestionSelectors и modules.markdown.selectors.startAnswerSelectors คุณเขียนตัวเลือกที่คุณทำเครื่องหมายจุดเริ่มต้นของคำถามและคำตอบตามลำดับ บรรทัดที่มีตัวเลือกจะไม่ถูกแยกวิเคราะห์และจะไม่จบลงในการ์ด parser จะเริ่มทำงานจากบรรทัดถัดไป

        ตัวอย่างเช่น การ์ดคำถาม/คำตอบนี้:

        เรื่องราวสองเรื่องเกี่ยวกับวิธีที่ ANKI สามารถช่วยให้คุณเรียนรู้ภาษาต่างประเทศและเตรียมตัวสำหรับการสัมภาษณ์ได้อย่างไร

        มันจะมีลักษณะเช่นนี้ในมาร์กดาวน์:
        #QUESTION# ## คำถามที่ 5. เขียนฟังก์ชัน mul ซึ่งจะทำงานอย่างถูกต้องเมื่อเรียกใช้ด้วยไวยากรณ์ต่อไปนี้ ```จาวาสคริปต์ console.log(mul(2)(3)(4)); // เอาต์พุต : 24 console.log(mul(4)(3)(4)); // เอาต์พุต : 48 ``` #ANSWER# ด้านล่างนี้คือโค้ดตามด้วยคำอธิบายวิธีการทำงาน: ```ฟังก์ชัน javascript mul (x) { return function (y) { // ฟังก์ชัน anonymous return function (z) { // ฟังก์ชั่นที่ไม่ระบุชื่อส่งคืน x * y * z; }; }; } ``` ในที่นี้ ฟังก์ชัน `mul` ยอมรับอาร์กิวเมนต์แรกและส่งกลับฟังก์ชันนิรนามซึ่งรับพารามิเตอร์ตัวที่สอง และส่งกลับฟังก์ชันนิรนามซึ่งรับพารามิเตอร์ตัวที่สาม และส่งกลับการคูณของอาร์กิวเมนต์ที่ถูกส่งต่อไปตามลำดับ ในฟังก์ชัน Javascript ที่กำหนด inside มีสิทธิ์เข้าถึงตัวแปรฟังก์ชันภายนอก และฟังก์ชันเป็นอ็อบเจ็กต์คลาสแรก ดังนั้นฟังก์ชันจึงสามารถส่งคืนได้เช่นกัน และส่งผ่านเป็นอาร์กิวเมนต์ในฟังก์ชันอื่น - ฟังก์ชันเป็นตัวอย่างหนึ่งของประเภท Object - ฟังก์ชันสามารถมีคุณสมบัติและมีลิงก์กลับไปยังวิธี Constructor - ฟังก์ชันสามารถจัดเก็บเป็นตัวแปรได้ - ฟังก์ชันสามารถส่งผ่านเป็นพารามิเตอร์ไปยังฟังก์ชันอื่นได้ - ฟังก์ชันสามารถ กลับจากฟังก์ชันอื่น
        

        ตัวอย่างที่นำมาจากที่นี่: 123-JavaScript-สัมภาษณ์-คำถาม

        นอกจากนี้ยังมีไฟล์พร้อมตัวอย่างอยู่ในโฟลเดอร์โปรเจ็กต์ examples/markdown2anki-example.md

      • ในคีย์ modules.markdown.pathToFile
        จดเส้นทางไปยังไฟล์โดยที่ *.md ไฟล์คำถาม/คำตอบ

    2. เปิดโดยที่แอปพลิเคชัน ANKI ทำงานอยู่
      node data2ankiindex.js
    3. กำไร!!!

นี่คือลักษณะที่ปรากฏบนโทรศัพท์มือถือ:

ผล

การ์ดที่ได้รับบน ANKI เวอร์ชันเดสก์ท็อปจะถูกซิงโครไนซ์โดยไม่มีปัญหากับคลาวด์ ANKI (ฟรีสูงสุด 100mb) จากนั้นคุณสามารถใช้การ์ดเหล่านั้นได้ทุกที่ มีไคลเอนต์สำหรับ Android และ iPhone และคุณสามารถใช้ในเบราว์เซอร์ได้ เป็นผลให้หากคุณมีเวลาโดยไม่มีอะไรจะใช้จ่าย แทนที่จะเลื่อนดู Facebook หรือแมวบน Instagram อย่างไร้จุดหมาย คุณสามารถเรียนรู้สิ่งใหม่ ๆ ได้

ถ้อยคำส

ดังที่ได้กล่าวไปแล้ว นี่เป็น POC ที่ใช้งานได้ซึ่งคุณสามารถใช้ได้มากกว่าผลิตภัณฑ์สำเร็จรูป ประมาณ 30% ของมาตรฐานตัวแยกวิเคราะห์ DSL ไม่ได้ถูกนำมาใช้ ดังนั้น ตัวอย่างเช่น ไม่พบรายการพจนานุกรมทั้งหมดที่อยู่ในพจนานุกรมก็ยังมีความคิดที่จะเขียนมันขึ้นมาใหม่ด้วย JavaScriptเพราะฉันต้องการ "ความสม่ำเสมอ" และยิ่งไปกว่านั้น ตอนนี้ยังเขียนได้ไม่เหมาะที่สุดอีกด้วย ตอนนี้ parser กำลังสร้างต้นไม้ แต่ในความคิดของฉัน สิ่งนี้ไม่จำเป็นและไม่จำเป็นต้องทำให้โค้ดซับซ้อน ใน markdown2anki โหมดรูปภาพจะไม่ถูกแยกวิเคราะห์ ฉันจะพยายามตัดทีละเล็กทีละน้อย แต่เนื่องจากฉันเขียนเองก่อนอื่นฉันจะแก้ไขปัญหาที่ตัวเองจะก้าวไป แต่ถ้าใครต้องการความช่วยเหลือก็ยินดี หากคุณมีคำถามเกี่ยวกับโปรแกรม เรายินดีที่จะช่วยเหลือผ่านประเด็นที่เปิดอยู่ในโครงการที่เกี่ยวข้อง เขียนคำวิจารณ์และข้อเสนอแนะอื่น ๆ ที่นี่ ฉันหวังว่าโครงการนี้จะเป็นประโยชน์กับใครบางคน

ป.ล. หากคุณสังเกตเห็นข้อผิดพลาดใด ๆ (และน่าเสียดายที่มีข้อผิดพลาดอยู่บ้าง) โปรดเขียนถึงฉันทางข้อความส่วนตัว ฉันจะแก้ไขทุกอย่างให้ถูกต้อง

ที่มา: will.com

เพิ่มความคิดเห็น