QR کوڈ مضحکہ خیز ہیں، ٹھیک ہے؟ ہم ان سے پیار کرتے ہیں، پھر ان سے نفرت کرتے ہیں، پھر ان سے دوبارہ پیار کرتے ہیں۔ بہر حال، وہ حال ہی میں دوبارہ پاپ اپ ہو رہے ہیں اور اس نے مجھے یہ سوچنے پر مجبور کیا کہ وہ کیسے بنائے گئے ہیں۔ وہاں ایک گیزلین کیو آر کوڈ جنریٹرز کی طرح موجود ہیں، لیکن کہیں کہ یہ کچھ ایسا ہے جو آپ کو اپنی ویب سائٹ پر کرنے کی ضرورت ہے۔ یہ پیکج یہ کر سکتے ہیں. لیکن اس کا وزن بھی 180 KB ہے ہر اس چیز کے لیے جس کی اسے سامان پیدا کرنے کی ضرورت ہے۔ آپ اپنی باقی اسکرپٹس کے ساتھ یہ سب کچھ پیش نہیں کرنا چاہیں گے۔
اب، میں کلاؤڈ فنکشنز کے تصور کے لیے نسبتاً نیا ہوں، لیکن میں نے سنا ہے کہ مکھی کے گھٹنے کچھ اس طرح کے لیے ہیں۔ اس طرح، فنکشن سرور پر کہیں رہتا ہے جسے ضرورت پڑنے پر کال کیا جا سکتا ہے۔ فنکشن کو چلانے کے لیے تھوڑا سا API کی طرح ترتیب دیں۔
کچھ میزبان کسی قسم کی کلاؤڈ فنکشن کی خصوصیت پیش کرتے ہیں۔ DigitalOcean ان میں سے ایک ہے! اور، بوندوں کی طرح، فنکشنز کو تعینات کرنا کافی آسان ہے۔
مقامی طور پر ایک فنکشن فولڈر بنائیں
DigitalOcean کے پاس ایک CLI ہے جو ایک کمانڈ کے ساتھ ہے جو ہمارے لیے چیزوں کو سہارا دے گا۔ cd
جہاں بھی آپ چیزیں ترتیب دینا اور چلانا چاہتے ہیں:
doctl serverless init --language js qr-generator
نوٹ کریں کہ زبان واضح طور پر بیان کی گئی ہے۔ DigitalOcean فنکشنز PHP اور Python کو بھی سپورٹ کرتے ہیں۔
ہمیں ایک اچھا صاف ستھرا پروجیکٹ ملتا ہے۔ qr-generator
ایک /packages
فولڈر جو پروجیکٹ کے تمام افعال رکھتا ہے۔ وہاں ایک نمونہ فنکشن ہے، لیکن ہم اسے ابھی کے لیے نظر انداز کر سکتے ہیں اور ایک بنا سکتے ہیں۔ qr
اس کے بالکل ساتھ فولڈر:
وہ فولڈر وہ جگہ ہے جہاں دونوں qrcode
پیکج اور ہمارے qr.js
فنکشن زندہ رہے گا۔ تو، چلو cd
میں packages/sample/qr
اور پیکج انسٹال کریں:
npm install --save qrcode
اب ہم فنکشن کو ایک نئے میں لکھ سکتے ہیں۔ qr.js
فائل:
const qrcode = require('qrcode') exports.main = (args) => { return qrcode.toDataURL(args.text).then(res => ({ headers: { 'content-type': 'text/html; charset=UTF-8' }, body: args.img == undefined ? res : `<img src="${res}">` }))
} if (process.env.TEST) exports.main({text:"hello"}).then(console.log)
جو کچھ کر رہا ہے اس کی ضرورت ہے۔ qrcode
پیکیج اور ایک فنکشن برآمد کرنا جو بنیادی طور پر ایک پیدا کرتا ہے۔ <img>
ماخذ کے لیے base64 PNG کے ساتھ ٹیگ کریں۔ ہم اسے ٹرمینل میں بھی جانچ سکتے ہیں:
doctl serverless functions invoke sample/qr -p "text:css-tricks.com"
تشکیل فائل کو چیک کریں۔
ہمیں یہاں ایک اضافی قدم درکار ہے۔ جب پروجیکٹ کا سہارا لیا گیا تو ہمیں یہ تھوڑا سا ملا project.yml
فائل اور یہ اس کے بارے میں کچھ معلومات کے ساتھ فنکشن کو تشکیل دیتا ہے۔ یہ وہی ہے جو پہلے سے طے شدہ ہے:
targetNamespace: ''
parameters: {}
packages: - name: sample environment: {} parameters: {} annotations: {} actions: - name: hello binary: false main: '' runtime: 'nodejs:default' web: true parameters: {} environment: {} annotations: {} limits: {}
وہ نمایاں لائنیں دیکھیں؟ دی packages: name
جائیداد ہے جہاں میں packages
فولڈر میں فنکشن رہتا ہے، جسے فولڈر کہتے ہیں۔ sample
اس معاملے میں. The actions/ name
پراپرٹی خود فنکشن کا نام ہے، جو فائل کا نام ہے۔ یہ ہے hello
پہلے سے طے شدہ طور پر جب ہم پروجیکٹ کو گھماؤ، لیکن ہم نے اپنا نام رکھا qr.js
تو ہمیں اس لائن کو تبدیل کرنا چاہیے۔ hello
کرنے کے لئے qr
آگے بڑھنے سے پہلے
فنکشن کو تعینات کریں۔
ہم اسے براہ راست کمانڈ لائن سے کر سکتے ہیں! سب سے پہلے، ہم DigitalOcean سینڈ باکس ماحول سے جڑتے ہیں لہذا ہمارے پاس جانچ کے لیے ایک لائیو URL ہے:
## You will need an DO API key handy
doctl sandbox connect
اب ہم فنکشن کو تعینات کر سکتے ہیں:
doctl sandbox deploy qr-generator
ایک بار تعینات ہونے کے بعد، ہم ایک URL پر فنکشن تک رسائی حاصل کر سکتے ہیں۔ URL کیا ہے؟ اس کے لیے ایک حکم ہے:
doctl sbx fn get sample/qr --url
https://faas-nyc1-2ef2e6cc.doserverless.co/api/v1/web/fn-10a937cb-1f12-427b-aadd-f43d0b08d64a/sample/qr
ہیک ہاں! اس پورے پیکیج کو باقی اسکرپٹس کے ساتھ بھیجنے کی مزید ضرورت نہیں ہے! ہم اس URL کو مار سکتے ہیں اور وہاں سے QR کوڈ بنا سکتے ہیں۔
ڈیمو
We fetch
API اور واقعی میں بس اتنا ہی ہے!
آئیے بغیر سرور کے فنکشن کے ساتھ کیو آر کوڈ جنریٹر بنائیں! اصل میں شائع ہوا سی ایس ایس - ٹیکنیکس. تمہیں چاہئے نیوز لیٹر حاصل کریں.
- '
- "
- 9
- a
- ہمارے بارے میں
- تک رسائی حاصل
- اعمال
- تمام
- اے پی آئی
- بنیادی طور پر
- اس سے پہلے
- جسم
- تبدیل
- بادل
- کوڈ
- تصور
- رابطہ قائم کریں
- کنسول
- تخلیق
- تعیناتی
- تعینات
- ماحولیات
- سب کچھ
- نمایاں کریں
- پہلا
- سے
- تقریب
- افعال
- عجیب
- پیدا
- جنریٹر
- جا
- یہاں
- روشنی ڈالی گئی
- کی ڈگری حاصل کی
- کس طرح
- HTTPS
- معلومات
- انسٹال
- IT
- خود
- جاوا سکرپٹ
- کلیدی
- زبان
- لائن
- لائنوں
- تھوڑا
- رہتے ہیں
- محبت
- بنا
- بنا
- زیادہ
- منتقل
- ضروریات
- پیش کرتے ہیں
- خود
- پیکج
- خوبصورت
- عمل
- منصوبے
- جائیداد
- QR کوڈ
- RE
- باقی
- واپسی
- رن
- سینڈباکس
- بے سرور
- مقرر
- So
- کچھ
- کچھ
- کہیں
- سپن
- حمایت
- ٹرمنل
- ٹیسٹ
- ٹیسٹنگ
- ۔
- ماخذ
- چیزیں
- سوچنا
- us
- ویب
- ویب سائٹ
- اور