ওপেন ফাইন্যান্স: বাস্তবতা নাকি হাইপ?  প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আ.

ওপেন ফাইন্যান্স: বাস্তবতা নাকি হাইপ?

একটি নতুন প্রযুক্তি প্রয়োগ করার সময় সাধারণত কিছু উদ্বেগ থাকে যেমন আমরা যদি কোথাও আটকে যাই এবং আমাদের সময় এবং শ্রম নষ্ট করে তাহলে কী হবে। এটা সম্ভব যে আমাদের মূল সমাধানে ফিরে যেতে হবে। আমরা এক বছর আগে একই ধরনের সমস্যার মুখোমুখি হয়েছিলাম কিন্তু দীর্ঘ এবং গভীর গবেষণার পর, আমরা একটি সমাধান পেয়েছি যা আরও নিরাপদ এবং নিরাপদ ছিল-গোলং এবং এর কাঠামো। এটি নথিভুক্ত উপায় সত্যিই সহায়ক. যাইহোক, আমরা নিশ্চিত ছিলাম যে আমরা অনলাইনে সমস্ত উত্তর খুঁজে পাব না যা একটি চ্যালেঞ্জ যা আমরা গ্রহণ করেছি আত্মা লায়লা গিফটি আকিতা বিখ্যাত প্রবাদ, "প্রতিটি চ্যালেঞ্জিং পরিস্থিতির জন্য সর্বদা একটি সমাধান থাকে।"

এই ব্লগটি মূলত গোলং-বিগো ফ্রেমওয়ার্ক এবং এর প্রয়োগ সম্পর্কে কথা বলে। ওয়েব ডেভেলপমেন্টে গোল্যাং কীভাবে ব্যবহার করা হয় এবং কেন বেশিরভাগ ডেভেলপার পাইথন, নোড বা অন্যান্য ভাষা থেকে গো-তে স্থানান্তরিত হয় তা নিয়ে আমরা আলোচনা করব।

এটি কিভাবে কাজ করে তা জানতে গোলং ফ্রেমওয়ার্কটি বুঝুন।

গোলং কি?

2009 সালে প্রথম প্রদর্শিত, গোল্যাং (জনপ্রিয়ভাবে গো নামে পরিচিত) দ্রুত বিকাশকারীদের মধ্যে জনপ্রিয়তা অর্জন করে, এটি 90% এরও বেশি ব্যবহারকারীর পছন্দের ভাষা হয়ে ওঠে। এর পূর্বপুরুষ ভাষাগুলি হল C এবং C++ প্রোগ্রামিং ভাষা যা এর সিনট্যাক্স এবং কম্পাইলিং বৈশিষ্ট্যগুলি দেখে বেশ স্পষ্ট। 

প্রাথমিকভাবে ব্যাকএন্ড ডেভেলপমেন্টের জন্য ব্যবহার করা হয়, গো-তে আরও 4টি ব্যবহারের ক্ষেত্রে রয়েছে- 

  1. ক্লাউড এবং নেটওয়ার্ক পরিষেবা
  2. কমান্ড-লাইন ইন্টারফেস (CLIs) 
  3. ওয়েব ডেভেলপমেন্ট
  4. উন্নয়ন অপারেশন এবং সাইট নির্ভরযোগ্যতা প্রকৌশল. 

এখানে গোলং এর কিছু প্রধান বৈশিষ্ট্য রয়েছে যা এই কাঠামোটিকে ডেভেলপারদের পছন্দের পছন্দ করে তোলে:

1. সরলতা 

গো সিনট্যাক্স এখানে দেখানো হিসাবে সোজা এবং তার সংকলনকারী সমস্যা গন্ধ করতে পারে এবং বিল্ড প্রক্রিয়া চলাকালীন ত্রুটি বাড়াতে পারে - এটি প্রোগ্রাম চালানোর আগে।

Go এর পিছনে নমনীয়তা, ব্যবহারযোগ্যতা এবং অবিশ্বাস্যভাবে দুর্দান্ত ধারণা (এটি কীভাবে নেটিভ কনকারেন্সি, আবর্জনা সংগ্রহ এবং সুরক্ষা+গতি পরিচালনা করে) এমন কিছু বৈশিষ্ট্য যা বিকাশকারীদের জন্য বেশ কার্যকর।

2. গতি

বিল্ট-ইন কনকারেন্সি ( Goroutines এবং চ্যানেল ) এর উচ্চ কর্মক্ষমতার অন্যতম প্রধান কারণ। এই বিশ্লেষণ স্ট্যাক ওভারফ্লো আমাদের এর গতি অনুমান করার অনুমতি দেবে।

"আমি এটি ভুলভাবে প্রয়োগ করতে পারি কারণ ফলাফলের কোন মানে হয় না। আমার একটি গো প্রোগ্রাম আছে যা 1000000000 পর্যন্ত গণনা করে; এটি এক সেকেন্ডেরও কম সময়ে শেষ হয়। অন্যদিকে, আমার কাছে একটি পাইথন স্ক্রিপ্ট আছে; এটি কয়েক মিনিটের মধ্যে শেষ হয়। কেন গো সংস্করণ এত দ্রুত? তারা কি 1000000000 পর্যন্ত গণনা করছে নাকি আমি কিছু মিস করছি?" 

আপনি যদি এখনও গতি সম্পর্কে অনিশ্চিত হন তবে এখানে Go-এর মধ্যে একটি তুলনা রয়েছে, নোড জেএস, Java, এবং Python যা এর ব্যবহার সম্পর্কে আরও স্পষ্টতা অর্জনে সাহায্য করবে:

আমার ডিভাইস স্পেসিফিকেশন:

ডিভাইসের নাম- ল্যাপটপ-Q8U9LM8P

প্রসেসর- Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.10 GHz

ইনস্টল করা RAM- 16.0 GB (15.6 GB ব্যবহারযোগ্য)

সিস্টেমের ধরন- 64-বিট অপারেটিং সিস্টেম, x64-ভিত্তিক প্রসেসর

এন-বডি প্রিন্ট:

উৎস সময় গণনা 

যান: 6.34 সেকেন্ড

Python3: 545.25 সেকেন্ড

GO

আউটপুট:

কারখানা   ফ্যাক্টরিয়াল গণনা করার সময়

10000 0.008 সেকেন্ড

50000 0.506 সেকেন্ড

100000 3.154 সেকেন্ড

500000 82.394 সেকেন্ড

1000000 284.445 সেকেন্ড

নোডজেএস (জাভাস্ক্রিপ্ট)

আউটপুট:

ফ্যাক্টরিয়াল সময় ফ্যাক্টরিয়াল গণনা করার জন্য

10000 0.113 সেকেন্ড

50000 1.974 সেকেন্ড

100000 22.730 সেকেন্ড

500000 477.534 সেকেন্ড 

1000000 1175.795 সেকেন্ড 

পাইথন

আউটপুট:

ফ্যাক্টরিয়াল সময় ফ্যাক্টরিয়াল গণনা করার জন্য

10000 0.046 সেকেন্ড

50000 1.187 সেকেন্ড

100000 6.051 সেকেন্ড

500000 388.607 সেকেন্ড 

1000000 813.725 সেকেন্ড 

জাভা

আউটপুট:

ফ্যাক্টরিয়াল সময় ফ্যাক্টরিয়াল গণনা করার জন্য

10000 0.064 সেকেন্ড

50000 1.607 সেকেন্ড

100000 5.363 সেকেন্ড

500000 141.076 সেকেন্ড

1000000 585.868 সেকেন্ড

3. সুরক্ষা:

আবর্জনা সংগ্রহকারী:

যেতে পছন্দ করে বরাদ্দ করা স্ট্যাকের মেমরি, তাই বেশিরভাগ মেমরি বরাদ্দ সেখানে শেষ হবে। এর মানে হল যে এটির প্রতি গোরুটিনে একটি স্ট্যাক রয়েছে এবং যখন সম্ভব এটি এই স্ট্যাকে ভেরিয়েবল বরাদ্দ করবে।

গোলং চিহ্ন এবং ঝাড়ু আবর্জনা সংগ্রহকারীর দুটি পর্যায় রয়েছে: মার্ক এবং সুইপ। প্রথমে, এটি সমস্ত অব্যবহৃত এবং ব্যবহৃত ভেরিয়েবল চিহ্নিত করবে, তারপর অব্যবহৃতগুলিকে ঝাড়বে৷

পরিসংখ্যান এবং উপরের বর্ণনা থেকে বোঝা যায় কেন একজনকে Go এর সাথে কাজ করা উচিত। Golang ফ্রেমওয়ার্ক যা API তৈরির জন্য সর্বোত্তম এছাড়াও বিকাশকে ত্বরান্বিত করে এবং সহজতর করে।

কেন আমরা Beego ফ্রেমওয়ার্ক ব্যবহার করি?

গো বা বেগো হোক, উভয়ই উচ্চ-কর্মক্ষমতা REST API তৈরির জন্য দুর্দান্ত। 

Beego হল একটি "ব্যাটারি অন্তর্ভুক্ত" ফ্রেমওয়ার্ক, যার মধ্যে অন্তর্নির্মিত টুলস (মৌমাছি টুল), ORM, এবং লাইব্রেরিগুলি অন্যান্য ফ্রেমওয়ার্ক যেমন জিন-গনিকের সাথে তুলনা করা হয় যা "ব্যাটারি অন্তর্ভুক্ত" ধরনের নয় এবং সবচেয়ে প্রয়োজনীয় লাইব্রেরি এবং বৈশিষ্ট্যগুলি ধারণ করে সার্ভার-সাইড বৈশিষ্ট্য।

Beego একটি আদর্শ মডেল-ভিউ-কন্ট্রোলার (MVC) ফ্রেমওয়ার্ক ব্যবহার করে যা তাদের (আমাদের মত) যারা পাইথন-জ্যাঙ্গোতে আগে কাজ করে তাদের জন্য ভাল হতে পারে এবং Beego অনেকটা একই রকম।

কেন আমরা Beego ফ্রেমওয়ার্ক ব্যবহার করি?

উপসংহার: 

এভাবেই আমরা গোলং এবং বেগোর সাথে আমাদের আবেদন শুরু করেছি। আমরা PDF, ImageMagick এর সাথে ইমেজ হ্যান্ডলিং, AWS-SNS, AWS-SES SMTP, IVR কল, ফ্যাক্স, ডিজিটাল স্বাক্ষর, ORM এর সাথে রিপোর্ট তৈরি এবং আরও অনেক বিষয়ে কাজ করেছি। এবং Twilio বা AWS-এর মতো তৃতীয় পক্ষের বৈশিষ্ট্যগুলির সাথে কাজ করার সময় আমরা কোনো বাধা খুঁজে পাইনি। তাদের নির্মাতাদের দ্বারা উল্লিখিত গোলং-এ কোড লেখা সত্যিই সহজ। এই কাঠামোটি ব্যবহার করার ক্ষেত্রে কিছু চ্যালেঞ্জ রয়েছে তবে সমাধানও রয়েছে। আমরা এই কাঠামোতে কাজ করে সত্যিই এটি উপভোগ করেছি। আপনার আসন্ন গোলং অ্যাপ্লিকেশনের জন্য শুভকামনা।

লেখক সম্পর্কে

পীযূষ রাজ আইআইটি খড়গপুর থেকে রাসায়নিক বিভাগে স্নাতক হয়েছেন। তিনি এমএল এবং এআই দিয়ে তার কর্মজীবন শুরু করেছিলেন এবং এখন মন্ত্র ল্যাবসে একজন সফ্টওয়্যার বিকাশকারী হিসাবে কাজ করেন। তার অবসর সময়ে, তিনি ভ্রমণ এবং চিত্রকলার মাধ্যমে বাস্তব জগতে বা কাগজে নতুন পথ অন্বেষণ করতে পছন্দ করেন।

সময় স্ট্যাম্প:

থেকে আরো মন্ত্র ল্যাব