Secret Santa for busy office

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

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

বাছাই অবশ্যই এলোমেলো হতে হবে

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

একটি নতুন কনসোল অ্যাপ্লিকেশন শুরু করা খালি ফোল্ডারের ভিতরে টাইপ করার মতোই সহজ, এটি একটি একক কোড ফাইল সহ একটি নতুন প্রকল্প তৈরি করে এবং নির্ভরতা পুনরুদ্ধার করে।

$ এমকিডির সিক্রেট্যান্ট
$ সিডি সেক্রেসেন্টা $ ডটনেট
নতুন কনসোল
তারপরে প্রত্যেকের প্রিয় সম্পাদক, ভিজ্যুয়াল স্টুডিও কোডটি কী হওয়া উচিত, যদি এটি আপনার পাঠ্যপথের মধ্যে থাকে তবে আপনি “কোড” টাইপ করতে পারেন। অ্যাপ্লিকেশন তৈরির পরে কমান্ড প্রম্পটে, একক পয়েন্টটি গুরুত্বপূর্ণ কারণ এর অর্থ “এই ডিরেক্টরি”।

ভিজ্যুয়াল স্টুডিও কোড

ভিজ্যুয়াল স্টুডিও কোডটি মাইক্রোসফ্টের ক্রস-প্ল্যাটফর্ম কোড সম্পাদক, আপনি এক্সটেনশন মার্কেটপ্লেসের মাধ্যমে প্রচুর কাজ করতে এবং নতুন ক্ষমতা যুক্ত করতে পারেন।

আপনি যদি প্রোগ্রাম.এস ফাইলটি খোলেন, আপনি একটি সাধারণ হ্যালো ওয়ার্ল্ড প্রোগ্রাম দেখতে পাবেন, যা আপনি সরাসরি ভিজ্যুয়াল স্টুডিও কোডে চালাতে পারেন, বা কমান্ড লাইন (বা সংহত টার্মিনাল) থেকে “ডটনেট রান” দিয়ে। এটি প্রোগ্রাম তৈরি করবে এবং প্রোগ্রামটি কার্যকর করবে। এখান থেকে আপনি আপনার অ্যাপ্লিকেশন তৈরি করতে শুরু করতে পারেন, নতুন বিভাগের ফাইল যুক্ত করতে পারেন, ন্যুগেট থেকে প্যাকেজ ইনস্টল করতে এবং ডিবাগিংয়ে যেতে পারেন।

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

সান্তার বস্তা ভিতরে

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

যা হবার দরকার ছিল তা হ’ল যে লোকেরা বাছাই করতে পারে (টুপি) তাদের বর্তমানে সেই পুলটি সেই ব্যক্তিকে বাদ দেওয়া দরকার যিনি বর্তমানে নির্বাচিত এবং অন্য কেউ যিনি পূর্বে নির্বাচিত ছিলেন।

ই-মেইল পাঠানো হচ্ছে

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

এই সাধারণ কাজের জন্য 3 য় পক্ষের গ্রন্থাগারের উপর নির্ভর করার পরিবর্তে আমি System.Net.Mail এ ফিরে এসেছি।

এটি এর মতো ছোট অ্যাপ্লিকেশনগুলির জন্য দুর্দান্ত, তবে আপনি যদি সমান্তরাল প্রক্রিয়া নিয়ে কাজ করছেন তবে আপনাকে সতর্ক হওয়া দরকার কারণ এসএমটিপি ক্লায়েন্টকে অন্যকে প্রেরণের অনুরোধ নেওয়ার আগে অবশ্যই একটি ইমেল অবশ্যই পাঠাতে হবে। আপনি যদি সাবধান না হন তবে এটি আপনার অ্যাপ্লিকেশনটিতে বোতল ঘাড় তৈরি করার সম্ভাবনা রয়েছে।

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

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

Leave a Comment