ANKI آپ کو غیر ملکی زبان سیکھنے اور انٹرویوز کی تیاری میں کس طرح مدد کر سکتا ہے اس کی دو کہانیاں

میں نے ہمیشہ یقین کیا کہ ایک سست پروگرامر ایک اچھا پروگرامر ہے۔ کیوں؟ کیونکہ کسی محنتی سے کچھ کرنے کو کہو، وہ جائے گا اور کرے گا۔ اور ایک سست پروگرامر 2-3 گنا زیادہ وقت گزارے گا، لیکن اسکرپٹ لکھے گا جو اس کے لیے کرے گا۔ پہلی بار ایسا کرنے میں غیر معقول حد تک وقت لگ سکتا ہے، لیکن بار بار کام کرنے سے یہ طریقہ بہت جلد ادا ہو جائے گا۔ میں اپنے آپ کو ایک سست پروگرامر سمجھتا ہوں۔ یہ تمہید تھی، اب آتے ہیں کاروبار کی طرف۔

کہانی ایک

کچھ سال پہلے میں نے سوچا کہ میں اپنی انگریزی کو کیسے بہتر بنا سکتا ہوں۔ ادب پڑھنے سے بہتر کوئی چیز ذہن میں نہیں آئی۔ میں نے ایک الیکٹرانک ریڈر خریدا، کتابیں ڈاؤن لوڈ کیں اور میں نے پڑھنا شروع کیا۔ پڑھتے پڑھتے مجھے غیر مانوس الفاظ آتے رہے۔ میں نے فوری طور پر قارئین کے لیے بنائی گئی لغات کا استعمال کرتے ہوئے ان کا ترجمہ کیا، لیکن میں نے ایک خصوصیت دیکھی: الفاظ یاد نہیں رکھنا چاہتے تھے۔ جب میں نے چند صفحات کے بعد اس لفظ کو دوبارہ دیکھا تو 90% امکان کے ساتھ مجھے دوبارہ ترجمہ کی ضرورت پڑی، اور یہ ہر بار ہوا۔ نتیجہ یہ نکلا کہ پڑھتے ہوئے صرف غیر مانوس الفاظ کا ترجمہ کر دینا کافی نہیں ہے، آپ کو کچھ اور کرنے کی ضرورت ہے۔ مثالی آپشن یہ ہوگا کہ اسے روزمرہ کی زندگی میں متعارف کرایا جائے اور اسے استعمال کرنا شروع کیا جائے، لیکن میں انگریزی بولنے والے ملک میں نہیں رہتا اور اس کا امکان نہیں ہے۔ پھر مجھے یاد آیا کہ میں نے ایک بار پڑھا تھا۔ فاصلاتی تکرار.

یہ کیا ہے اور اسے کس چیز کے ساتھ کھایا جاتا ہے؟ مختصر میں، یہ ہے وکر کو بھولناویکیپیڈیا سے مزید اقتباس:

پہلے ہی ایک گھنٹے کے اندر، موصول ہونے والی تمام معلومات کا 60% تک بھول جاتا ہے؛ حفظ کرنے کے 10 گھنٹے بعد، جو کچھ سیکھا گیا تھا اس کا 35% میموری میں رہتا ہے۔ پھر بھولنے کا عمل دھیرے دھیرے آگے بڑھتا ہے، اور 6 دن کے بعد ابتدائی طور پر سیکھے گئے حرفوں کی کل تعداد کا تقریباً 20% میموری میں رہتا ہے، اور اتنی ہی مقدار ایک مہینے کے بعد بھی میموری میں رہتی ہے۔

اور یہاں سے نتیجہ

اس منحنی خطوط کی بنیاد پر جو نتائج اخذ کیے جا سکتے ہیں وہ یہ ہیں کہ مؤثر حفظ کے لیے ضروری ہے کہ حفظ شدہ مواد کو دہرایا جائے۔

تو ہم ایک آئیڈیا لے کر آئے وقفہ کی تکرار.

اینکی ایک مکمل طور پر مفت اور اوپن سورس پروگرام ہے جو وقفہ وقفہ سے تکرار کے خیال کو نافذ کرتا ہے۔ آسان الفاظ میں کمپیوٹرائزڈ فلیش کارڈز میں ایک طرف سوال اور دوسری طرف جواب ہوتا ہے۔ چونکہ آپ باقاعدگی سے سوالات/جوابات کر سکتے ہیں۔ html/css/javascriptپھر ہم کہہ سکتے ہیں کہ اس میں واقعی لامحدود امکانات ہیں۔ اس کے علاوہ، یہ خصوصی کے ساتھ قابل توسیع ہے۔ پلگ ان، اور ان میں سے ایک مستقبل میں ہمارے لیے بہت مفید ہو گا۔

دستی طور پر کارڈ بنانا لمبا، تھکا دینے والا، اور بہت زیادہ امکان کے ساتھ، تھوڑی دیر کے بعد آپ اس کام کو بھول جائیں گے، اور اس لیے کسی وقت میں نے خود سے سوال پوچھا، کیا اس کام کو خودکار کرنا ممکن ہے؟ جواب ہے ہاں، آپ کر سکتے ہیں۔ اور میں نے یہ کیا۔ میں فوراً کہوں گا، یہ زیادہ ہے۔ POC (تصور کا ثبوت)، لیکن جو استعمال کیا جا سکتا ہے۔ اگر صارفین کی طرف سے دلچسپی ہوتی ہے اور دوسرے ڈویلپرز اس میں شامل ہوتے ہیں، تو اسے ایک تیار شدہ مصنوعات تک لایا جا سکتا ہے جسے تکنیکی طور پر ناخواندہ صارفین بھی استعمال کر سکتے ہیں۔ اب، میری یوٹیلیٹی کو استعمال کرنے کے لیے پروگرامنگ کا کچھ علم درکار ہے۔

میں پروگرام کا استعمال کرتے ہوئے کتابیں پڑھتا ہوں۔ ایرائڈر. یہ بیرونی لغات کو جوڑنے کی صلاحیت رکھتا ہے، اور جب آپ کسی لفظ کا ترجمہ کرتے ہیں، تو یہ اس لفظ کو محفوظ کر لیتا ہے جسے آپ نے ترجمہ کے لیے بلایا تھا ٹیکسٹ فائل میں۔ بس ان الفاظ کا ترجمہ کرنا اور ANKI کارڈ بنانا باقی ہے۔

پہلے میں نے ترجمے کے لیے استعمال کرنے کی کوشش کی۔ گوگل مترجم, Lingvo API وغیرہ لیکن مفت خدمات کے ساتھ چیزیں کام نہیں کرتی تھیں۔ میں نے ترقی کے عمل کے دوران مفت کی حد کو ختم کر دیا، اس کے علاوہ، لائسنس کی شرائط کے مطابق، میرے پاس الفاظ کو کیش کرنے کا حق نہیں تھا۔ کسی وقت میں نے محسوس کیا کہ مجھے الفاظ کا ترجمہ خود کرنے کی ضرورت ہے۔ نتیجے کے طور پر، ایک ماڈیول لکھا گیا تھا dsl2html جس سے آپ جڑ سکتے ہیں۔ ڈی ایس ایل لغات اور کون جانتا ہے کہ انہیں کس طرح تبدیل کرنا ہے۔ HTML فارمیٹ

لغت کے اندراج * میں ایسا لگتا ہےایچ ٹی ایم ایل، آپشن کے مقابلے میں میرا اختیار گولڈن ڈکٹ

ANKI آپ کو غیر ملکی زبان سیکھنے اور انٹرویوز کی تیاری میں کس طرح مدد کر سکتا ہے اس کی دو کہانیاں

مربوط لغات میں کوئی لفظ تلاش کرنے سے پہلے، میں اسے لاتا ہوں۔ لغت کی شکل (lemma) لائبریری کا استعمال کرتے ہوئے اسٹینفورڈ کورین ایل پی. درحقیقت اس لائبریری کی وجہ سے میں نے جاوا میں لکھنا شروع کیا اور اصل منصوبہ یہ تھا کہ ہر چیز جاوا میں لکھوں، لیکن اس عمل میں مجھے لائبریری مل گئی۔ node-java جس کے ساتھ آپ نسبتاً آسانی سے جاوا کوڈ کو nodejs سے چلا سکتے ہیں اور کچھ کوڈ جاوا اسکرپٹ میں لکھا ہوا ہے۔ اگر مجھے یہ لائبریری پہلے مل جاتی تو جاوا میں ایک سطر بھی نہ لکھی ہوتی۔ ایک اور ضمنی منصوبہ جو اس عمل میں پیدا ہوا وہ تخلیق ہے۔ DSL دستاویزات کے ساتھ ذخیرہ جو نیٹ ورک پر فارمیٹ میں ملا تھا*.chmتبدیل کیا اور الہی شکل میں لایا۔ اگر اصل فائل کا مصنف عرفی نام سے صارف ہے۔ یوزک جب وہ اس مضمون کو دیکھتا ہے، تو میں اس کام کے لیے اس کا بہت شکریہ ادا کرتا ہوں؛ اس کی دستاویزات کے بغیر، میں غالباً کامیاب نہ ہوتا۔

تو، میرے پاس انگریزی میں ایک لفظ ہے، اس کی لغت میں اندراج فارمیٹ میں*ایچ ٹی ایم ایل, بس سب کچھ ایک ساتھ رکھنا ہے، الفاظ کی فہرست سے ANKI مضامین بنائیں اور انہیں ANKI ڈیٹا بیس میں داخل کریں۔ اس مقصد کے لیے مندرجہ ذیل پراجیکٹ بنایا گیا۔ data2anki. یہ الفاظ کی فہرست بطور ان پٹ، ترجمہ، تخلیق ANKI لے سکتا ہے*ایچ ٹی ایم ایل مضامین اور انہیں ANKI ڈیٹا بیس میں ریکارڈ کریں۔ مضمون کے آخر میں اس کے استعمال کے بارے میں ہدایات موجود ہیں۔ اس دوران، دوسری کہانی وہ ہے جہاں وقفے وقفے سے تکرار مفید ہو سکتی ہے۔

دوسری کہانی۔

پروگرامرز سمیت زیادہ/کم اہلیت کی تلاش میں تمام لوگوں کو انٹرویو کے لیے تیاری کرنے کی ضرورت کا سامنا ہے۔ انٹرویوز میں پوچھے جانے والے بہت سے تصورات آپ روزمرہ کے عمل میں استعمال نہیں کرتے اور وہ بھول جاتے ہیں۔ انٹرویو کی تیاری کرتے وقت، نوٹوں، کتابوں، حوالہ جاتی کتابوں کو پلٹتے ہوئے، مجھے اس حقیقت کا سامنا کرنا پڑا کہ جو معلومات آپ پہلے سے جانتے ہیں اسے نکالنے میں بہت وقت اور توجہ درکار ہوتی ہے کیونکہ یہ ہمیشہ واضح نہیں ہوتی ہے اور آپ کو یہ کرنا پڑتا ہے۔ یہ سمجھنے کے لیے اسے غور سے پڑھیں کہ یہ کیا ہے۔ غیر متعلقہ۔ جب آپ کسی ایسے موضوع پر آتے ہیں جسے واقعی دہرانے کی ضرورت ہوتی ہے، تو اکثر ایسا ہوتا ہے کہ آپ پہلے ہی تھک چکے ہوتے ہیں اور آپ کی تیاری کا معیار متاثر ہوتا ہے۔ کسی وقت میں نے سوچا، کیوں نہ اس کے لیے بھی ANKI کارڈز استعمال کیے جائیں؟ مثال کے طور پر کسی موضوع پر نوٹس لیتے وقت فوری طور پر سوال و جواب کی شکل میں ایک نوٹ بنائیں اور پھر جب آپ اسے دہرائیں گے تو آپ کو فوراً پتہ چل جائے گا کہ آپ کو اس سوال کا جواب معلوم ہے یا نہیں۔

صرف ایک مسئلہ یہ پیدا ہوا کہ سوالات کو ٹائپ کرنا بہت لمبا اور تھکا دینے والا تھا۔ عمل کو آسان بنانے کے لیے، data2anki پروجیکٹ میں نے کنورٹ فعالیت شامل کی۔ نشان لگانا ANKI کارڈز میں متن۔ آپ کو بس ایک بڑی فائل لکھنے کی ضرورت ہے جس میں سوالات اور جوابات کو حروف کے پہلے سے متعین ترتیب کے ساتھ نشان زد کیا جائے گا، جس سے تجزیہ کار سمجھ جائے گا کہ سوال کہاں ہے اور جواب کہاں ہے۔

ایک بار جب یہ فائل بن جاتی ہے، تو آپ data2anki چلاتے ہیں اور یہ ANKI کارڈز بناتا ہے۔ اصل فائل میں ترمیم اور اشتراک کرنا آسان ہے، آپ کو صرف متعلقہ کارڈ (کارڈز) کو مٹانے اور پروگرام کو دوبارہ چلانے کی ضرورت ہے، اور ایک نیا ورژن بنایا جائے گا۔

تنصیب اور استعمال

  1. ANKI + AnkiConnect انسٹال کرنا

    1. یہاں سے ANKI ڈاؤن لوڈ کریں: https://apps.ankiweb.net/
    2. AnkiConnect پلگ ان انسٹال کریں: https://ankiweb.net/shared/info/2055492159

  2. تنصیب data2anki

    1. ڈاؤن لوڈ کریں data2anki گیتوب ذخیرے سے
      git clone https://github.com/anatoly314/data2anki
    2. انحصار انسٹال کریں۔
      cd data2anki && npm install
    3. جاوا انحصار ڈاؤن لوڈ کریں۔ 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 آپ سلیکٹرز لکھتے ہیں جن کے ساتھ آپ بالترتیب سوال اور جواب کے آغاز کو نشان زد کرتے ہیں۔ خود سلیکٹر کے ساتھ لائن پارس نہیں ہوگی اور کارڈ میں ختم نہیں ہوگی؛ پارسر اگلی لائن سے کام کرنا شروع کردے گا۔

        مثال کے طور پر، یہ سوال/جواب کارڈ:

        ANKI آپ کو غیر ملکی زبان سیکھنے اور انٹرویوز کی تیاری میں کس طرح مدد کر سکتا ہے اس کی دو کہانیاں

        یہ مارک ڈاؤن میں اس طرح نظر آئے گا:
        # سوال# ## سوال 5۔ ایک mul فنکشن لکھیں جو درج ذیل نحو کے ساتھ استعمال کرنے پر ٹھیک سے کام کرے گا۔ ``جاوا اسکرپٹ کنسول ڈاٹ لاگ(mul(2)(3)(4))؛ // آؤٹ پٹ : 24 console.log(mul(4)(3)(4))؛ // آؤٹ پٹ : 48 ``` #ANSWER# ذیل میں کوڈ ہے جس کے بعد یہ وضاحت کرتا ہے کہ یہ کیسے کام کرتا ہے: ```جاوا اسکرپٹ فنکشن mul (x) { return function (y) { // anonymous function return function (z) { // گمنام فنکشن واپسی x * y * z؛ }; }; } ``` یہاں `mul` فنکشن پہلی دلیل کو قبول کرتا ہے اور گمنام فنکشن لوٹاتا ہے جو دوسرا پیرامیٹر لیتا ہے اور گمنام فنکشن لوٹاتا ہے جو تیسرا پیرامیٹر لیتا ہے اور آرگیومینٹس کی ضرب لوٹاتا ہے جو لگاتار پاس ہو رہا ہے جاوا اسکرپٹ فنکشن میں بیان کیا گیا ہے۔ اندر کو بیرونی فنکشن متغیر تک رسائی حاصل ہے اور فنکشن فرسٹ کلاس آبجیکٹ ہے لہذا اسے فنکشن کے ذریعہ بھی واپس کیا جاسکتا ہے اور کسی اور فنکشن میں دلیل کے طور پر پاس کیا جاسکتا ہے۔ - ایک فنکشن آبجیکٹ کی قسم کی ایک مثال ہے - ایک فنکشن میں خصوصیات ہوسکتی ہیں اور اس کا کنسٹرکٹر طریقہ سے ایک لنک ہے - ایک فنکشن کو متغیر کے طور پر اسٹور کیا جاسکتا ہے - ایک فنکشن کو پیرامیٹر کے طور پر دوسرے فنکشن میں منتقل کیا جاسکتا ہے - ایک فنکشن ہوسکتا ہے دوسرے فنکشن سے واپس آیا
        

        یہاں سے لی گئی مثال: 123-جاوا اسکرپٹ-انٹرویو-سوالات

        پروجیکٹ فولڈر میں مثالوں کے ساتھ ایک فائل بھی ہے۔ examples/markdown2anki-example.md

      • کلید میں modules.markdown.pathToFile
        فائل کا راستہ لکھیں جہاں *ایم ڈی سوال/جواب فائل

    2. ANKI ایپلیکیشن چلانے کے ساتھ لانچ کریں۔
      node data2ankiindex.js
    3. منافع!!!

یہ موبائل فون پر ایسا لگتا ہے:

نتیجہ

ANKI کے ڈیسک ٹاپ ورژن پر موصول ہونے والے کارڈز بغیر کسی پریشانی کے ANKI کلاؤڈ (100mb تک مفت) کے ساتھ مطابقت پذیر ہوتے ہیں، اور پھر آپ انہیں ہر جگہ استعمال کر سکتے ہیں۔ اینڈرائیڈ اور آئی فون کے کلائنٹس ہیں اور آپ اسے براؤزر میں بھی استعمال کر سکتے ہیں۔ نتیجے کے طور پر، اگر آپ کے پاس وقت ہے کہ آپ کے پاس خرچ کرنے کے لیے کچھ نہیں ہے، تو پھر بے مقصد فیس بک یا انسٹاگرام پر بلیوں کے ذریعے سکرول کرنے کے بجائے، آپ کچھ نیا سیکھ سکتے ہیں۔

اپسنہار

جیسا کہ میں نے ذکر کیا ہے، یہ ایک کام کرنے والا پی او سی ہے جسے آپ تیار شدہ مصنوعات کے مقابلے میں استعمال کرسکتے ہیں۔ ڈی ایس ایل پارسر معیار کا تقریباً 30 فیصد لاگو نہیں ہوتا ہے، اور اس لیے، مثال کے طور پر، ڈکشنری میں موجود تمام لغت کے اندراجات نہیں مل سکتے ہیں۔، اس میں دوبارہ لکھنے کا ایک خیال بھی ہے۔ جاوا سکرپٹ، کیونکہ میں "مستقل مزاجی" چاہتا ہوں، اور اس کے علاوہ، اب یہ زیادہ بہتر طور پر نہیں لکھا جاتا ہے۔ اب تجزیہ کار ایک درخت بنا رہا ہے، لیکن میری رائے میں یہ غیر ضروری ہے اور کوڈ کو پیچیدہ کرنے کی ضرورت نہیں ہے۔ میں markdown2anki موڈ، تصاویر کو پارس نہیں کیا جاتا ہے۔ میں تھوڑا تھوڑا کرنے کی کوشش کروں گا، لیکن چونکہ میں اپنے لیے لکھ رہا ہوں، اس لیے سب سے پہلے میں ان مسائل کو حل کروں گا جن پر میں خود قدم رکھوں گا، لیکن اگر کوئی مدد کرنا چاہتا ہے تو آپ کا استقبال ہے۔ اگر آپ کے پروگرام کے بارے میں سوالات ہیں، تو مجھے متعلقہ پروجیکٹس میں کھلے مسائل کے ذریعے مدد کرنے میں خوشی ہوگی۔ دوسری تنقید اور تجاویز یہاں لکھیں۔ مجھے امید ہے کہ یہ منصوبہ کسی کے لیے مفید ہو گا۔

PS اگر آپ کو کوئی غلطی نظر آتی ہے (اور، بدقسمتی سے، کچھ ہیں)، تو مجھے ذاتی پیغام میں لکھیں، میں سب کچھ درست کر دوں گا۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں