>> | DAN Armendariz: হ্যালো, এবং স্বাগতম কাস্টমাইজ মেঘ 9 একটি CS50 সেমিনার,
এবং CS50 আইডিই.
তাই আজ আমরা চলুন শুধু অল্প কথা
কিছু সম্পর্কে প্রযুক্তিগত তথ্য যে
স্থাপত্য পিছনে যায় কিভাবে মেঘ 9, এবং
আমরা প্লাগইনগুলির কিছু বাস্তবায়িত হয়েছে মেঘ 9 অংশ হিসাবে এবং CS50 আইডিই প্রদান.
তাই আসুন শুধু সঠিক ঝাঁপ দেওয়া এবং প্লাগ-ইনের সম্পর্কে কথা বলা শুরু.
>> তাই প্লাগইন সত্যিই হয় মেঘ 9 অভিজ্ঞতার কোর.
মেঘ 9 অন্তর্নিহিত প্রযুক্তি যে আমাদের আইডিই প্রদান,
এবং টার্মিনাল উইন্ডোর এ workspace-- বরাবর নীচে,
উবুন্টু আমরা যে workspace-- আমাদের প্রকল্পের সব কম্পাইল ব্যবহার
এবং আমাদের সমস্যা সেট সঞ্চালন, আমাদের সমস্যা সেট সম্পন্ন.
কিন্তু সব অন্তরে এটা নিয়ে সব প্রযুক্তি
সত্যিই প্লাগইনগুলির মাত্র একটি গুচ্ছ হয়.
সবকিছুর একটা প্লাগ ইন যে পরিবর্তন করা যাবে,
বাড়ানো, আপনি তৈরি করতে পারেন আপনার নিজস্ব প্লাগ-ইনস,
আপনি অন্যান্য অপসারণ করতে পারেন প্লাগ-ইন, সত্যিই পরিবর্তন করতে
কার্যকারিতা বেশ অনেক বিদ্যমান মেঘ 9 আইডিই.
>> সুতরাং এই একটি বিদ্যমান নয় 9 পরিবেশ মেঘ.
এই সত্যিই ঠিক হয় মেঘ 9 পরিবেশ ডিফল্ট.
আর কটাক্ষপাত কিভাবে এটি আসলে এবং CS50 আইডিই থেকে ভিন্ন.
সুতরাং এই CS50 IDE হয়.
কিছু চাক্ষুষ আছে লক্ষ্য করুন নিয়মিত মেঘ 9 এর মধ্যে পরিবর্তন
পরিবেশ এবং CS50 আইডিই.
বিশেষ করে, আপনি হবে পরিবর্তন কয়েক লক্ষ্য.
প্রথম সব, তার চেয়ে কম নেই মেনু আইটেম দিয়ে শুরু করতে.
একটি উপায় আসলে নেই আপনি যে পরিবর্তন করতে পারে.
এটা সহজ মোড বলা হচ্ছে.
>> ডিফল্টরূপে, সরল মোড সক্রিয়, এবং হয় যে মেনু আইটেম কিছু সহজসাধ্য.
এটা কিছু মুছে ফেলা হয় আরো উন্নত বেশী,
অকপটে কারণ, অনেক আসছে যে ছাত্র
এবং কিছু সম্পর্কে জানা প্রয়োজন না আরো উন্নত বৈশিষ্ট্য
আবিষ্ট হয় না বিকল্প একটি গুচ্ছ সঙ্গে.
কিন্তু আমরা গ্রহণ করার ক্ষমতা প্রদান না যারা তথাকথিত প্রশিক্ষণ চাকার বন্ধ
এবং যে অপসারণ ভারা যাতে মানুষ
আরো অভ্যস্ত হয়ে যাবে আইডিই এর উন্নত বৈশিষ্ট্য.
অবিলম্বে সঠিক যে, আছে
একটি ডিবাগ বাটন, যা স্ট্যান্ডার্ড মেঘ
9 পরিবেশ কেবল রান বলা হয়.
কিন্তু ডিফল্টরূপে, আমরা কনফিগার করা এবং CS50 IDE তে ডিবাগ বাটন
ডিবাগার উদ্গীরণ, স্বয়ংক্রিয়ভাবে, সোর্স কোড কম্পাইল
ডিবাগার সংযোগ অন্তর্নিহিত GDB-- করতে
এবং যে যেহেতু সঞ্চালন চলমান debugging-- এবং আরও কিছু পদক্ষেপ
আরো.
এ টার্মিনাল উইন্ডোর very-- অথবা বরং টার্মিনাল
এ কনসোল বিভাগে এ ট্যাব পর্দার খুব নীচে উইন্ডো,
কেবলমাত্র টার্মিনাল হতে নামকরণ করা হয়.
স্ট্যান্ডার্ড যেহেতু মেঘ 9 পরিবেশ,
এটা আসলে দেখায় অ্যাপ্লিকেশন চলমান.
এই ভাবে, এটা, আবার সহজসাধ্য গ্রাফিক্যাল ইউজার ইন্টারফেস, অল্পমাত্র বিট.
>> আমরা কিছু বোতাম যোগ আইডিই উপরের ডান
কিছু মৌলিক তথ্য দেখানোর জন্য অন্তর্নিহিত উদাহরণস্বরূপ সম্পর্কে.
এবং বর্তমানে আমাদের এক সরিয়েছি আইটেম বিকল্প
দূরে ডান থেকে.
তাই এই সব না বাস্তবায়িত হয় মেঘ 9 অগত্যা পরিবর্তন করে
সোর্স কোড, কিন্তু পরিবর্তে একটি দম্পতি মাধ্যমে
আমরা বাস্তবায়িত হয়েছে যে প্লাগইনগুলির গত বছর বা তাই সারা.
এবং মেঘ 9 হোস্ট করেছে এবং এবং CS50 কর্মক্ষেত্র চলমান.
বরং বা ওয়ার্কস্পেস যে এবং CS50 আইডিস অফ হিসেবে মনোনীত করা হয়.
>> সত্যিই তাই যে প্রধান পার্থক্য মেঘ 9 এবং CS50 মধ্যে
ওয়ার্কস্পেস.
অন্তর্নিহিত, এর রয়েছে উদাহরণস্বরূপ, প্রাথমিক পরিবর্তন
আমরা কিছু ইনস্টল করে GDB মত প্রাক কনফিগার জিনিস,
এবং অন্য কিছু মৌলিক বিষয় যে আমরা আপডেট 50 মত, তৈরি করেছি,
এবং যে অন্য ধাপের একটি দম্পতি পুরো অভিজ্ঞতা একটি সামান্য বিট আরো
সমন্বিত.
কিন্তু সামগ্রিকভাবে, এই মাত্র হল একটি বিদ্যমান ব্যবস্থার পরিবর্তন
যে মেঘ 9 আমাদের জন্য সৃষ্টি করেছেন.
আমরা কি করতে যাচ্ছেন কিছুক্ষন পরে প্রদর্শন
আসলে একটি তৈরি কিভাবে হয় কিছুটা মৌলিক যে প্লাগ ইন
আমাদের মধ্যে এমন কিছু প্রবেশ করতে দেয় মেনু সিস্টেম, এবং একটি সংলাপ খুলুন.
আর আমরা যথেষ্ট আছে সময়, আমরা আসলে হবে
আমরা যে পূরণ করতে পারেন কিভাবে দেখতে কিছু তথ্য দিয়ে সংলাপ
অন্তর্নিহিত উদাহরণস্বরূপ থেকে.
যাতে আমাদের যে পেতে জন্য বিন্দু, প্রথম একটি অল্প কথা বলুন
মেঘ 9 আর্কিটেকচারের ওপর.
>> তাই আমরা ব্যবহার করছি যে ভাবে মেঘ 9 সাথে আলাপচারিতার
সম্পূর্ণরূপে ক্লায়েন্ট মাধ্যমে হয়.
আমরা একটি ওয়েব ব্রাউজার খুলুন, আমরা CS50.io. টাইপ
আমরা শেষ পর্যন্ত, অনুমোদনের পর, আইডিই সঙ্গে উপস্থাপন করা হয়.
কিন্তু আছে বুঝতে পারি যে ধাপের একটি দম্পতি
যে আসলে এই বিন্দু থেকে আমাদের পেতে.
খুব সর্বপ্রথম যে হয় আমার ক্লায়েন্ট, ওয়েব ব্রাউজার,
অনুরোধের ভিত্তিতে এবং অনুমোদনের পর, গ্রাফিক্যাল ইউজার ইন্টারফেস এবং প্লাগইন লোড
কিছু যা CDN থেকে, কিছু থেকে কনটেন্ট ডেলিভারি নেটওয়ার্ক.
এই যে কোন জায়গায় উন্মুক্তভাবে হতে পারে.
>> এবং এই আসলে পৃথক হয় অন্তর্নিহিত উদাহরণস্বরূপ থেকে.
এটা এই বুঝি যে গুরুত্বপূর্ণ স্ট্যাটিক ফাইল আসলে শুধু একটি গুচ্ছ.
এটা দয়া করে জাভাস্ক্রিপ্ট একটি গুচ্ছ যে যা CDN থেকে ডাউনলোড করা হয়
আমার ওয়েব ব্রাউজারে উপর, এবং গ্রাফিক্যাল ইউজার ইন্টারফেস সব যে আপনি
এই সত্যিই key-- হয় এখানে দেখতে আপনি এখানে দেখতে যে গ্রাফিক্যাল ইউজার ইন্টারফেস সব
ক্লায়েন্ট পাশ দিয়ে চালানো হয়.
আপনি দেখতে যে সবকিছু মেঘ 9 কর্মপরিসর
আসলে ব্রাউজারে চালানো হয়.
আপনি পাঠাতে যে আর কিছু অন্তর্নিহিত ইনস্ট্যান্স বরাবর
উদাহরণস্বরূপ সঙ্গে যোগাযোগ করা হয় এই দ্বিতীয় পৃথক চ্যানেল বরাবর,
এবং তারপর মধ্যে সংরক্ষিত হয় যে Docker উদাহরণস্বরূপ.
>> তাই আমি বলার অপেক্ষা রাখে না যে কারণে এই একটি Docker উদাহরণস্বরূপ হয়
যে অন্তর্নিহিত প্রযুক্তি ভার্চুয়াল মেশিন ব্যবহার করা হয় না,
কিন্তু এর পরিবর্তে একটি ব্যবহার করা হয় Docker বলা প্রযুক্তি,
যা মূলত নিকটস্থ allows-- উপমা একটি ভার্চুয়াল মেশিন.
কিন্তু এটা subtly বিভিন্ন হয় যে আছে
একটি চালানোর সুযোগ প্রচুর বিভিন্ন Docker সমন্বয়
একটি একক মেশিনে দৃষ্টান্ত.
এবং তারা কর্তিত করা যাবে খুব দ্রুত পারম্পর্য মধ্যে.
এটা বেশ বেশি কঠোর বিভেদ
বিভিন্ন Docker দৃষ্টান্ত মধ্যে ভার্চুয়াল মেশিন এ আছে,
কিন্তু এখনও অনেক আছে বিভেদ ও বিচ্ছিন্নতা
এইসব বিভিন্ন দৃষ্টান্ত মধ্যে.
ঠিক আছে.
এখানে যাতে দুই ধাপ বুঝতে গুরুত্বপূর্ণ
আমরা CS50.io যান, তখন আমরা হয় গ্রাফিক্যাল ইউজার ইন্টারফেস এবং প্লাগইন ডাউনলোড,
যা, দয়া করে জাভাস্ক্রিপ্ট লেখা হয় ব্রাউজারে ব্রাউজারে বা.
আর এই হয়তো একটি দম্পতি তথ্য মূল্য মেগাবাইটে.
এই মুহুর্তে, একবার গ্রাফিক্যাল ইউজার ইন্টারফেস আছে লোড এবং প্লাগইন শুরু করেছেন,
তারপর এর সাথে যোগাযোগ করতে শুরু না, যা Docker উদাহরণস্বরূপ,
অগত্যা একই সার্ভারে হতে হবে.
>> এখন এই একটি ব্যতিক্রম আছে.
আমরা আসলে উভয় থাকতে পারে গ্রাফিক্যাল ইউজার ইন্টারফেস নিজেই জন্য বিতরণ প্রক্রিয়া
এবং Docker ইনস্ট্যান্সের মধ্যে একই সার্ভারে, সব যা
আমরা কি আসলে এমন কিছু বিষয় মেঘ 9 অফলাইন সংস্করণ জন্য.
এই আমরা করেছি এমন কিছু নয় খুব এই পতন প্রচারিত,
কিন্তু আমরা একটি আছে না অফলাইন সংস্করণ যে
আপনি একটি প্যাকেজ ডাউনলোড করতে পারবেন এইসব জিনিস সব সংস্করণ
এবং আপনি মেঘ চালানোর অনুমতি একটি অফলাইন পরিবেশে 9.
>> মেঘ বন্ধ এবং সম্মুখের এই চলমান আপনার স্থানীয় মেশিন কিছু প্রভাব রয়েছে.
বিশেষ করে, আপনি কোন আর ক্ষমতা আছে
অন্যদের সঙ্গে আপনার কর্মক্ষেত্র শেয়ার করুন.
আপনি আর, মেঘ 9 থেকে খুলতে পারে এবং যে কোনও কম্পিউটার থেকে এবং CS50 আইডিই,
এবং একই ফাইল দেখতে যে আপনি আগে সঙ্গে কাজ করা হয়েছে.
কিন্তু এর পরিবর্তে এটি বিলকুল কাজ আপনার নিজস্ব স্থানীয় মেশিনে
ইন্টারনেট অ্যাক্সেস প্রয়োজন ছাড়া.
কিন্তু এখনও এমনকি যে মডেল, এমনকি আমরা এক ভার্চুয়াল মেশিন আছে, যদিও
যে মূলত এই জিনিস চলমান.
>> আমরা যে একটি পৃথক সার্ভার আছে মেঘ 9 মূলত প্রদান
কন্টেন্ট, এবং তারপর আমরা একটি Docker উদাহরণস্বরূপ আছে
যে যোগাযোগ করার জন্য দায়ী ফিরে শেষ জন্য যে আইডিই সঙ্গে.
ঠিক আছে.
সুতরাং সমগ্র গ্রাফিক্যাল ইউজার ইন্টারফেস লেখা হয় সম্পূর্ণরূপে জাভাস্ক্রিপ্ট মধ্যে
Node.js এবং মেঘ 9 SDK ব্যবহার করে, যা আমরা মাত্র একটি মিনিট পাবেন.
এবং প্লাগইন সব ক্লায়েন্ট পাশ দিয়ে চালানো হয়.
সুতরাং আসুন তাহলে নজরদারি দিন অভিমানী দ্বারা সামান্য বিট
এই প্রথম ধাপ আছে আসলে সফলভাবে সম্পন্ন,
এবং এই Docker উদাহরণস্বরূপ এ শুধুমাত্র চেহারা.
>> এই ক্ষেত্রে, এই তাই স্ট্যান্ডার্ড উপায়
মেঘ 9 প্লাগ ইন করছেন সম্পর্কে চিন্তা উন্নয়ন আপনাকে যাচ্ছি হয়
যে করবে কোড লেখার করা ব্যবহারকারীর ব্রাউজারে রান করা,
এবং আপনাকে সুযোগ আছে কিছু API গুলি ব্যবহার করে যোগাযোগ করতে
অন্তর্নিহিত Docker নিদর্শনের সঙ্গে, সেখানে কিছু কোড রান, এবং কিছু না
আপনাকে যা করতে চাইবে.
তাই এই হতে যাচ্ছে প্রেক্ষাপটে যে আমরা করব
এই আলাপ বাকি জন্য ব্যবহার করা.
আর শুধু মনে এই মডেল রাখা.
এটি খুবই গুরুত্বপূর্ণ হতে হবে মাত্র কয়েক মিনিটের মধ্যে.
একটি দম্পতি আছে লিঙ্ক আমি আপনাকে দেখাতে চাই.
প্রথম সব, মেঘ 9 জুগিয়েছেন ডকুমেন্টেশন বেশ অনেক
যে যে কিভাবে দেখায়, বেশ ভাল মৌলিক প্লাগ ইন ডেভেলপমেন্ট করতে.
তাই আপনি যদি এই URL- এ যান তাহলে, cloud9-sdk.readme.io,
আপনি সেখানে ডকুমেন্টেশন দেখতে পাবেন.
আর এই তথ্য অনেক আপনি দেখতে চলেছেন যে
সেখানে পাওয়া, প্লাস বেশি হতে পারে.
এছাড়াও আপনি ওপেন সোর্স খুঁজে পেতে পারেন এই URL- এ মেঘ 9 সংস্করণ,
আমরা হিসাবে ব্যবহার যা github.com/c9/core, আইডিই অফলাইন সংস্করণ অংশ,
যাতে আপনি করতে সক্ষম হবে একই মেঘ 9 অভিজ্ঞতা,
কিন্তু একটি অফলাইন ভাবে.
ঠিক আছে.
সুতরাং আসুন একটি কটাক্ষপাত করা যাক এখানে প্রকৃত মেঘ 9 কর্মক্ষেত্র.
এবং আবার, আমি বলতে চাই জিনিষ কয়েক আউট.
এই, এখানে ডান, একটি স্বাভাবিক এবং CS50 IDE হয়.
আর আমি একটা কম নিষ্ক্রিয় করা আছে ভিউ মেনুর অধীনে আরামদায়ক মোড
তাই আমি সব দেখতে পারেন যে মেনু অপশন.
আমি ডান দেখাতে চান কি এখন জিনিষ কয়েক হয়.
প্রথম আমি ঢোকা, বন্ধ পছন্দসমূহ এবং তারপর
ম্যানেজার প্লাগ-তে ক্লিক করুন এবং, এখানে CS50 টাইপ
আমরা, আসলে, আছে দেখতে পারেন এবং CS50 প্লাগ-ইনের একটি দম্পতি যে
ইনস্টল এবং আমাদের চলমান ছিল আমরা করেছি যে পরিবর্তন সক্রিয়
এবং CS50 আইডিই জন্য দেখা.
>> রাইট এখন মূলত আছে চলমান হয় যে দুটি প্লাগইন.
বলা সহজ এক, আছে যা সরলীকৃত মোড যে
আপনি সংখ্যা কমাতে পারবেন শীর্ষ বরাবর মেনু অপশন,
এবং এই তথাকথিত আছে কম আরামদায়ক মোড.
আর তারপর, CS50 পরিসংখ্যান রয়েছে, যা হতে পারে শুধুমাত্র সামান্য misnamed হয়.
এই কি কারণ আপনি তথ্য দেখায়
অন্তর্নিহিত কর্মক্ষেত্র সম্পর্কে.
এটা এই বোতাম injects উপরের ডান বরাবর.
এটি শুধুমাত্র একটি মেনু আইটেম injects উইন্ডো মেনু মধ্যে উইন্ডো আইটেমটি,
এখানে ডান, এবং CS50 আইডিই তথ্য.
আর এটা instantiating জন্য দায়ী আমরা এখানে দেখা করেছি যে এই সংলাপ,
আমরা যে সব তথ্য দিয়ে একটি CS50 IDE তে দেখে অভ্যস্ত
কর্মক্ষেত্র.
ঠিক আছে.
তাই আসলে আরো এক প্লাগ ইন আছে যে আমরা পাশাপাশি বিকশিত হয়েছে.
এবং অন্যদের একটি দম্পতি আছে যে আমরা উদাহরণ প্রকাশ্যে মুক্তি নি.
কিন্তু তাদের মধ্যে একজন সামগ্রিক প্লাগ ইন, GDB কাজ করতে পারবেন.
মেঘ 9 দিক তাই এক তারা ইতিমধ্যে দেওয়া হয়েছে যে হয়
এই গ্রাফিক্যাল ইউজার ইন্টারফেস একটি ডিবাগার বাস্তবায়ন.
এবং প্লাগইন এক যে আমরা মূলত তৈরি করেছেন
এই গ্রাফিক্যাল ইউজার ইন্টারফেস সঙ্গে, GDB আঙ্গুলসমূহ একটি ডিবাগার ভিত্তিক সংস্করণ.
আর সব মধ্যস্থতার জন্য দায়ী একটি ব্যবহারকারী থাকতে পারে যে অনুরোধের,
পদবিন্যাস বা মধ্যে ব্রেকপয়েন্ট অথবা কিছু তৈরি
যারা লাইন বরাবর, যে অনুবাদ , GDB বুঝতে পারেন যে কমান্ড,
যাও GDB ঐ কমান্ড.
এবং যত তাড়াতাড়ি GDB নামে তারপর, একটি প্রতিক্রিয়া সমস্যা
আমরা যে ব্যাখ্যা এবং প্রয়োজন হিসাবে গ্রাফিক্যাল ইউজার ইন্টারফেস আপডেট.
>> যে সম্ভবত এক আরো জটিল
প্লাগ-ইন, তাই আমরা করছি কি আজ ফোকাস যাচ্ছে আসলে
পরিসংখ্যান প্লাগ ইন, এবং আমরা আলোচনা করব একটু সহজ সম্পর্কে বিট, পাশাপাশি.
তাই আমি আগে উল্লেখ করেছে, এবং আমি সত্যিই চাই খুব, খুব স্পষ্ট, যে আবার করতে,
আমরা করছি যে এই সব এখানে দেখা মূলত
ক্লায়েন্ট পাশ অপারেটিং.
আমরা একটি টার্মিনাল উইন্ডো দেখতে না নীচে, এবং যে, অবশ্যই,
আমরা শুধুমাত্র কমান্ড টাইপ হলে তারপর জারি করা হবে, যে যে
অন্তর্নিহিত ইনস্ট্যান্স.
একইভাবে, আমরা একটি নতুন ফাইল খুলুন এবং তা কিছু কাপড় লিখে তা সংরক্ষণ করুন,
সেই ফাইলে সংরক্ষণ করা হবে অন্তর্নিহিত উদাহরণস্বরূপ.
>> কিন্তু সম্পাদক নিজেই, এই টার্মিনাল উইন্ডোর নিজেই,
সব বাস্তবায়িত হয় জাভাস্ক্রিপ্ট এবং সমস্ত একটি প্লাগ ইন
আমরা সঙ্গে যোগাযোগ করতে পারবেন যে, এবং এর ফলে পরিবর্তন.
এখানে extensibility একটি অনেক আছে.
আমি সুপারিশ কটাক্ষপাত গ্রহণ মেঘ 9 এর গিটহাব অ্যাকাউন্ট এ
সুবিশাল পরিমাণ দেখতে পাওয়া যায় যে প্লাগ-ইনস,
এবং শুধু ভাল কিভাবে অনেক লেখা কোড extensibility জন্য.
তাই কিছু আছে আমি উল্লেখ করতে চাই যে
যা, পাশাপাশি এই সম্পর্কে আছে র অনেক আছে
যে কার্যকারিতা অনেক পছন্দে প্রদান
আমরা শুধু দেখা করেছি, যা উইন্ডো, মাত্র কয়েক মিনিট আগে উল্লিখিত.
>> আমরা আইডিই হিসাবে কাজ করতে পারেন যে জিনিস এক ডেভেলপারদের, বা মেঘ 9 ডেভেলপার হিসেবে,
আসলে কিছু উদ্বুদ্ধ হয় আমাদের নিজস্ব পছন্দের প্যানেল.
তাই সহজ মোড, বা কম আরামদায়ক মোড,
এবং আইডিই তথ্য, বা পরিসংখ্যান প্লাগ ইন,
প্রতিটি কিছু পক্ষপাত আছে আমাদের পরিবর্তন করার অনুমতি দেয় যে প্যানেল
যারা প্রতিটি আচরণ.
আপনি বিজ্ঞপ্তি পাবেন যে আমি যেতে হলে পছন্দগুলি এবং ব্যবহারকারীর সেটিংস এ যান,
একটি CS50 ট্যাব এক, আছে যে আইডিই তথ্য বলেছেন.
আর আমি পরিবর্তন করতে পারেন তথ্য রিফ্রেশ রেট.
>> কার্যকরভাবে, কি ঘটছে পরিসংখ্যান প্লাগ ইন
যে ভাষার এন-সেকেন্ড, যেখানে এন-সেকেন্ড এই পক্ষপাত দ্বারা সংজ্ঞায়িত করা হয়
প্যানেল, তথ্য সংগ্রহ করা হচ্ছে হয় অন্তর্নিহিত উদাহরণস্বরূপ থেকে, পাঠানো হচ্ছে
ফিরে ক্লায়েন্ট দিকে, প্লাগ-ইন তারপর হয়
তথ্য দোভাষীর অন্তর্নিহিত উদাহরণস্বরূপ থেকে
এবং প্রয়োজন হিসাবে গ্রাফিক্যাল ইউজার ইন্টারফেস আপডেট.
আমরা এই মুহূর্তে এই সেট করা হয় দেখতে পারেন 30 সেকেন্ড, এবং এটা ডিফল্ট.
কিন্তু আমি স্পষ্টভাবে পরিবর্তন করতে পারেন কিভাবে দ্রুত এই মাত্র ঘটে
এই মান পরিবর্তন করে.
>> কৌতূহলোদ্দীপক এখন এক যে এই পক্ষপাত প্যানেল, গ্রাফিক্যাল ইউজার ইন্টারফেস,
সত্যিই শুধু একটি GUI সংস্করণ অন্তর্নিহিত সেটিংস অনেক
যে JSON উপস্থাপন করা হয়.
আমি অধীন, উদাহরণস্বরূপ, যান যদি তাই এবং CS50 আইডিই মেনু, বা মেঘ 9 মেনু,
যার উপর নির্ভর করে আপনি এ খুঁজছেন সংস্করণ,
এবং এই এক যান এই ক্ষেত্রে settings--,
প্রকল্প settings-- এই ক্ষেত্রে প্রকল্প সেটিংস
সেটিংস সব ক্ষেত্রে প্রযোজ্য এই এক কর্মক্ষেত্র জন্য.
ইউজার সেটিংস প্রয়োগ যেহেতু ওয়ার্কস্পেস সব
আপনি আপনার একাউন্টে থাকতে পারে.
>> তাই শুধু একটি সরাইয়া হিসাবে এখানে, অতিরিক্ত স্পষ্ট করা
মধ্যে বিচ্ছেদ আছে দুটি কারণ ডিফল্ট আমরা যদিও
এক কর্মক্ষেত্র আছে, যা এবং CS50 আইডিই, হয় আপনি যদি
আপনার সামান্য উপর ক্লিক করা হয়েছে এখানে আপ অবতার এবং ড্যাশবোর্ড এ যান,
আপনি আসলে করতে পারেন যে পাবেন পাশাপাশি অতিরিক্ত কর্মপরিসর তৈরি.
তুমি আমার না যে এখানে দেখতে পারেন একটি IDE 50 কর্মক্ষেত্র, এবং
এই উদ্দেশ্যে সেমিনার, একটি কর্মক্ষেত্র
ডান এখানে, যা, কর্মক্ষেত্র বলা.
তাই যাহাই হউক না কেন, আমি বিভিন্ন অভিরুচি আছে.
এই প্রত্যেকটি এক থাকতে পারে পৃথক প্রকল্প পছন্দ,
কিন্তু ব্যবহারকারী অভিরুচি হয় সব আমার ওয়ার্কস্পেস মধ্যে ভাগ.
যাইহোক, এই হল এছাড়াও খুব সহজ যখন আপনি যদি
সঙ্গে একটি কর্মক্ষেত্র তৈরি করতে চান বিভিন্ন স্বনির্ধারণ অপশন.
আর এটা খুব সুবিধাজনক একটি নতুন কর্মক্ষেত্র তৈরি.
আর হতে পারে যে কোন একটি বেছে নিন অন্য কিছু ভাবে কনফিগার প্রাক,
সম্ভবত বিশেষভাবে পিএইচপি জন্য, বা জ্যাঙ্গো বিশেষভাবে.
অথবা কেবল নিজস্ব.
এবং CS50 কর্মক্ষেত্র টেমপ্লেট এক যে আমরা
যে স্বয়ংক্রিয়ভাবে ইনস্টল ব্যবহার আপডেট 50 এবং সেটিংস সব
যে আমরা সব সহ, সেখানে আছে প্লাগ-ইনের আমরা CS50 আইডিই জন্য আছে.
ঠিক আছে.
কিন্তু এর এই ফিরে আসা যাক.
তাই আবার, প্রকল্প আছে সেটিংস, এবং যারা ওগুলো
যে আমরা এখানে এ খুঁজছেন.
সেখানে যে বিজ্ঞপ্তি সেটিংস একটি গুচ্ছ আছে,
তাদের অনেক পছন্দের মিলা প্যানেল, কিন্তু তাদের সব.
কিন্তু আমরা ওহ আপাততঃ, যে এখানে দেখতে পারেন না, আমি এটা ইউজার সেটিংস করা হয়নি?
সম্ভবত আমি ইউজার সেটিংস লাগাতে হবে.
আর এই, আমরা শুরু করছি.
ইউজার সেটিংস, আমরা যা করতে পারেন আমরা একটি CS50 অধ্যায় আছে দেখতে,
এবং এই লেখা হচ্ছে এই মেঘ 9 প্লাগ-ইনের দ্বারা
আমরা প্রয়োগ করেছি যে.
সহজ এক আছে যে সহজ প্লাগ ইন সঙ্গে সংগতিপূর্ণ,
এবং পরিসংখ্যান এক যা ভিত্তি করে গ্রাফিক্যাল ইউজার ইন্টারফেস অনুরূপ
পছন্দের প্যানেলের সংস্করণ.
এই রিফ্রেশ রেট, কেস, 20 সেকেন্ড থেকে সেট করা হয়.
>> এই সব, আশা, কিছু তথ্য সূত্রপাত
আমরা আসলে একটু দেখতে পাবেন যে বিট আরো বিস্তারিত, প্রতিমুহূর্তে.
ঠিক আছে.
সুতরাং আসুন আমরা সেটি যাক আসলে এটা করতে নামা.
আমরা পণ্যদ্রব্য যে সব বুঝতে যে ক্লায়েন্ট দিকে ঘটছে
ব্রাউজার, আসলে যা ঘটছে তা সবই কোনো প্লাগ-ইনের আমি লিখতে যে মানে
লেখা হতে যাচ্ছে মনের মধ্যে ব্রাউজার দিয়ে.
আর আমি আসলে কাজ করতে চান তাহলে কর্মক্ষেত্র উপর কিছু,
আমি সম্ভবত শুরু করতে হবে যোগাযোগ কিছু বাছাই
ব্রাউজার থেকে কর্মক্ষেত্র নিশ্চিত করতে
যে আসলে সম্পন্ন হয় যে.
কিন্তু এখন যে বলা যাক আমি এটা করতে নামা করতে চান
এবং আসলে আমার প্রথম প্লাগ ইন তৈরি.
ওয়েল, আপনি সক্ষম উপায় হবে কি যে আসলে বেশ সহজ.
এটা মেঘ 9 SDK এর মধ্যে দেওয়া হচ্ছে.
কিন্তু তা গ্রহণ করা হচ্ছে আপনার বিদ্যমান কর্মক্ষেত্র নাম, যা
আপনি উপরের আছে URL টি আপনার দণ্ড, এবং এটি করার জন্য নিম্নলিখিত যোগ করুন.
?
SDK = 1 & Debub = 2.
এখন কি এই সচল যাচ্ছে SDK যে = 1 আসলে SDK এর সেট হবে
সচল হবে, যা সত্য মোড, অতিরিক্ত জিনিস একটি দম্পতি.
এবং ডিবাগ = 2 ত্রুটি বার্তা অনুমতি দেবে একটি সামান্য বিট আরো বাগাড়ম্বরপূর্ণ হতে.
>> আর তাই আপনি দয়া করে জাভাস্ক্রিপ্ট উদ্গীরণ যদি আপনার ক্রোম ডেভেলপার ট্যাবে কনসোল,
আপনি আসলে করতে সক্ষম হবে আরো অনেক তথ্য দেখতে
তুলনায় আপনি অন্যথায় would.
তাই আমি এই উভয় সুপারিশ বাঁক একই সময়ে, এটি, কারণ সত্যিই
এই সব আছে দরকারী অতিরিক্ত তথ্য.
এটা যে, যাইহোক, খেয়াল করা জরুরী 2 এর মান ডিবাগ বাঁক
এটা খুব যে মানে বাগাড়ম্বরপূর্ণ, এবং আসলে এটি
কিছুটা লক্ষণীয়ভাবে মন্দীভূত হবে আপনার আইডিই, বিশেষ করে যখন লোডিং
অথবা যখন ভারী কাজগুলো করছেন.
সুতরাং শুধু যে কথা মনে রাখবেন.
এটি উন্নয়নের জন্য দরকারী, কিন্তু আপনি সব সময় এটা করতে চান না পারে.
>> সুতরাং আসুন আসলে তা করতে দেওয়া.
কিন্তু এই ক্ষেত্রে, আমি আসলে আছে ইতিমধ্যে এই সঙ্গে একটি কর্মক্ষেত্র সেট আপ.
সুতরাং আসুন, SDK = 1 & ডিবাগ = 2 দেখতে দিন.
প্লাগ-ইনের একটি দম্পতি সঙ্গে আশা ইতিমধ্যে ইনস্টল.
ঠিক আছে.
তাই এখন আমি SDK এর ডিবাগ চালু করেছেন যে মোড, আমরা ডিবাগ মোডে হয় বিজ্ঞপ্তি
তাই আমরা দেখতে দেব সরঞ্জাম তাকান পারেন যদি কোনো ত্রুটি, আমি offscreen করবেন না যা.
আমরা সেখানে দেখতে পারেন এখানে ত্রুটি একটি গুচ্ছ.
এখন এটা আসলে জন্য বেশ সাধারণ মেঘ 9 ত্রুটি কয়েক আছে,
এবং আমি চিন্তা করতে হবে না তাদের সম্পর্কে আপনি পর্যন্ত
কিছু যে হতে পারে দেখতে প্লাগ-ইন নির্দিষ্ট হতে
আপনি তৈরি করা কি যে.
>> তাই এখানে, উদাহরণস্বরূপ, আমরা পেতে 404s-- কয়েক পাওয়া যায়নি.
আমরা কিছু লোড করতে অক্ষম হন দেখতে অন্তর্নিহিত উদাহরণস্বরূপ বন্ধ তথ্য
নিজেই.
আর অতিরিক্ত একটি গুচ্ছ আছে তথ্য, কিন্তু এই অধিকাংশ আমরা আছেন
আসলে এখন জন্য উপেক্ষা করা যাচ্ছে.
এই সুন্দর হয় কারণ একটি কর্মক্ষেত্র জন্য সাধারণ
ত্রুটি মাত্র কয়েক আছে.
ঠিক আছে.
আমি এই আউট সরানো যাচ্ছি পথ এবং এখানে ফিরে আসা.
এবং এখন সহজ উপায়, চমৎকার এই ডেভেলপার থাকার বিষয়ে জিনিস
সক্রিয় মোড এটা আমার পারবেন সহজেই একটি নতুন প্লাগ-ইন নির্মাণ করা হয়.
>> আমি আসলে না আগে, যেহেতু তাই এই নতুন প্লাগ ইন বিকল্প আছে,
যা আমি ফিরে যেতে চান, দেখতে পারেন আমার অ বিকাশকারী মোড এখানে ওভার,
কোন নতুন প্লাগ ইন আছে.
SDK এর মোড সক্রিয় দ্বারা, আমি একটি নতুন প্লাগ-ইন আছে উপলব্ধ
এবং আমি সহজেই তৈরি করতে পারেন.
এই ক্ষেত্রে, একটি দম্পতি আছে সহজ বিভিন্ন অপশন,
একটি খালি প্লাগ ইন, একটি পূর্ণ প্লাগ ইন, ইনস্টলার, মেঘ 9 বান্ডিল.
শুধু একটি চয়ন করা যাক খালি প্লাগ ইন এখন জন্য
আমরা একটি খুব দেখতে পারেন, যাতে এক সহজ সংস্করণ.
>> এখন বরাবর যে লক্ষ্য যে বাম দিকে এখন নেই
পছন্দসই অধীন কিছু, যা প্লাগ-ইনের একটি দম্পতি তালিকা করা হয়
এখন আমার কাছে পাওয়া যায় যে.
আমি যে প্রসারিত করে, আমরা আমাদের কাজ করি যারা দেখতে পাবে.
এখন আমি আপনাকে লক্ষ্য করতে চাই এখানে কিছু, যা
আসলে এই অন্তর্ভুক্ত করা হয় না কর্মক্ষেত্র ডিরেক্টরির মধ্যে
আমার অন্তর্নিহিত উবুন্টু উদাহরণস্বরূপ, কিন্তু এটা হার্ড ড্রাইভে অন্তর্ভুক্ত করা হয়.
আর এই কারণে, অবস্থিত এই, জানা খুবই দরকারী
আপনি যাচ্ছেন, বিশেষ করে যদি এলেবেলে সাথে কিছু কাজ করা,
এই হল যেখানে অবস্থিত একটি .c9 ফোল্ডারে, / প্লাগিন.
আমি সেখানে যেতে হলে তাই, এখন আমরা দেখতে পারেন এখানে আছে প্লাগইনগুলির তালিকা
তালিকায় প্লাগ-ইনের সাথে মেলে এমন আমি আমার কর্মক্ষেত্র বামদিকে দেখেছি.
>> বর্তমানে ডিফল্টরূপে, এবং এই ধরনের অদ্ভুত হয়
ডিফল্টরূপে আমি তৈরি করার সময় একটি একটি কর্মক্ষেত্র নতুন প্লাগ ইন,
এটা এই প্লাগ-ইন দ্বারা যে সৃষ্টি ডিফল্ট একটি আন্ডারস্কোর একটি নাম আছে.
সাধারণত যে প্রতাপ কিছু সমস্যার সৃষ্টি.
পরের ধাপে তাই আমি সাধারণত সঞ্চালন যে
শুধু যে সরিয়ে দেওয়ার জন্য বিশেষ প্লাগ ইন
এবং শুধুমাত্র সহজ প্লাগ ইন ছেড়ে যে plugin.simple, প্রথমে ছিল.
এবং যে যে কেবল এক.
ঠিক আছে.
>> তাই কি আসলে এই লিঙ্কটি দেখতে চান?
ওয়েল, এই আবার হয়, একটি জাভাস্ক্রিপ্ট বাক্স
যে, কিছু ফাইল রয়েছে , যেখানে একটি plugin.js ফাইল সহ
প্রধান কন্টেন্ট আমার প্লাগ ইন, অবস্থিত
একটি package.json ফাইল, যা আসলে নির্দিষ্ট করে
এই প্লাগ-ইন সম্পর্কে কিছু মেটাডেটা লেখক কে যেমন,
এটি একটি সম্পর্কে জন্য কোন অতিরিক্ত তথ্য তাই প্লাগ ইন, এবং বর্ণনা.
এবং এছাড়াও ডিফল্ট, এটা একটি ফাঁকা README ফাইলের সৃষ্টি
এবং আপনার জন্য একটি খালি পরীক্ষা ফাইলে কিছু অতিরিক্ত ডকুমেন্টেশন তৈরি,
এবং একটি পরীক্ষামূলক জোতা যদি আপনি যে কাজ করতে চাই.
>> তাই আসুন শুধু প্রথম কটাক্ষপাত করা যাক, খুব দ্রুত, package.json ফাইল এ.
এটা শুধু মধ্য দিয়ে যেতে যথেষ্ট সহজ এটা এবং এই এলাকায় ভরাট
আপনার মত, পূরণ করতে চান যে , এটি একটি নাম প্রদান একটি বর্ণনা দিতে,
সংস্করণ সংখ্যা পুনরুক্তি মাঝে মাঝে, প্রদান
ভাষার জন্য একটি লেখক অবদান যে ব্যক্তি,
অবদানকারী জুড়তে অধ্যায়, এবং এই আপনি বাকি
পারেন কাছাকাছি শুধু এটা এখন জন্য হিসাবে ছেড়ে.
>> যে এক জিনিস আছে লক্ষ্য করা গুরুত্বপূর্ণ,
প্লাগ-ইনের ধারার অধীন যে, প্লাগ-ইন নামক একটি কী আছে.
আর এই নামে মিলেছে হয় জাভাস্ক্রিপ্ট ফাইল plugin.js বলা.
সুতরাং এই মেঘ 9, যখন এটা জানে কিভাবে হয় এই package.json ফাইল, যা সার্চ
জাতীয় ফাইল আসলে লোড.
আমি অতিরিক্ত জাতীয় ফাইল তৈরি বা চান প্লাগ-ইন থেকে যে জাতীয় ফাইল নামান্তর,
আমি এটি পরিবর্তন করতে হবে package.json ফাইলে.
>> শ্রোতাদের কাছ থেকে কোন প্রশ্ন?
না.
যিনি যে এক ব্যক্তি এ পর্যন্ত আমার সঙ্গে বরাবর অনুসরণ.
>> ঠিক আছে.
তাই আমি আসলে আপনার তৈরিকৃত একটি ইতিমধ্যে প্লাগইনগুলির স্বামী ও স্ত্রী,
আমি এই কর্মক্ষেত্র, মনে.
তাই আসুন এই কিছু পরিত্রাণ পেতে যাক, যোগ SDK = 1 & ডিবাগ = 2, এই কর্মক্ষেত্র রিলোড,
এবং যদি দেখতে দিন আমরা এখন যারা প্লাগইন আছে.
C9 / প্লাগিন.
আমরা শুরু করছি.
আমরা এই নিয়ে আমার C9 / প্লাগিন এখন দেখতে পারেন এক, আমরা plugin.1 এবং plugin.2 আছে.
তাই আমরা ঠিক the-- আপ পইঠা চলুন শুধু অসুবিধা পরিমাণ বৃদ্ধি
এই প্ল্যাগ-ইনগুলি প্রত্যেকটিতে.
কিন্তু এখানে আমি একটি নতুন প্লাগ-ইন তৈরি হলে, আমি আমার পছন্দসই এটি যোগ করতে পারেন.
আর আমি শুধু থেকে যারা মুছে দিতে হবে মূল ফাইল সিস্টেমের.
>> এর যে অপসারণ করা যাক.
এখন আমি আমার প্রথম খুলুন প্লাগ ইন, এবং উদার plugin.js,
আমরা অন্তর্নিহিত এখানে দেখতে পারেন একটি প্লাগ ইন এর সহজ সংস্করণ.
আমাকে আসলে ফিরে যাওয়া যাক এই অন্যান্য কর্মক্ষেত্র
আপনি অন্তত, এখানে দেখতে পারেন, কারণ, তা একটি ফাঁকা প্লাগ ইন আসলে মত দেখায়.
সুতরাং ফণা নীচে, এই দেখায় বলা প্রযুক্তি অনুরূপ,
আমি এটা RequireJS এর, মনে.
এই না যে লক্ষ্য করুন সত্যিই সম্ভবত, চেহারা,
অন্য কিছু করে জাভাস্ক্রিপ্ট হিসাবে একই আমরা দেখা হতে পারে যে ফাইল.
কিন্তু এর পরিবর্তে, শুধু একটি দম্পতি আছে মৌলিক লাইন এটি আসলে আছে.
>> এই জিনিস সব প্রথম আইডিই দ্বারা ব্যাখ্যা,
কিন্তু এটি আসলে না নির্দিষ্ট পর্যন্ত চালানোর.
আর আমি যখন যে বিষয়ে আপনাকে জানানো হবে আসলে মাত্র কয়েক মিনিটের মধ্যে মানে.
কিন্তু এখানে একটি আছে বিজ্ঞপ্তি লাইন 2 main.consumes লাইন,
এবং এই প্লাগ-ইনের সমস্ত তালিকা এই প্লাগ-ইন উপর নির্ভরশীল যে.
ডিফল্টরূপে তাই, আমরা সম্ভবত আছে না অন্যান্য প্লাগ-ইনের উপর কোন নির্ভরতা,
কিন্তু আমরা আসলে প্রয়োজন হলে সরবরাহকৃত বৈশিষ্ট্য উপর নির্ভর
আইডিই অন্যান্য প্লাগ-ইন দ্বারা আমরা যারা প্লাগ-ইনের তালিকায় প্রয়োজন
main.consumes লাইনে.
এবং তারপর আমরা প্রয়োজন কোড তাদের লিঙ্ক
আমি শুধু আপনাকে দেখাব যা, নীচের আমরা তা করতে পারে সে বিষয়ে একটি মুহূর্ত.
>> Main.provides দেয় একটি এই প্লাগ-ইন করার নাম
অন্যান্য প্লাগ-ইনের পারা তাদের হ্রাস লাইন ব্যবহার.
তাই এই ক্ষেত্রে, আমার প্লাগ ইন শুধু ডিফল্টরূপে আছে সেট করা হয়,
এবং আমরা হতে পারে পরিবর্তন করা উচিত আমাদের নিজস্ব প্লাগ ইন জন্য প্রযোজ্য,
হিসাবে আমরা শুধু মুহূর্ত দেখতে পাবেন.
এখন এখানে ফাংশন প্রধান, এই ফাংশন প্রধান
আসলে, চালানো এবং ব্যাখ্যা করা হয় কিন্তু এটা আসলে খুব বেশি কিছু না.
এটা শুধু সবকিছু সেট আপ, কিন্তু পায় এটা আসলে প্লাগ ইন শুরু হয় না,
নামের মত শোনাচ্ছে কি সত্ত্বেও.
এটা আসলে এর মাধ্যমে যেকোনো পদ্ধতি একটি ক্রম যে
এই প্লাগ-ইন সর্বত্র অন্তর্ভুক্ত করা হয়.
>> যদি আমি নিচে স্ক্রল, আমরা দেখতে পারেন, তাই আমরা একটি জীবনচক্র যেখানে আছে
কিছু ঘটনা বলা লোড, বা আন বলা কিছু ঘটনা,
কিছু ঘটনা আসলে ঘটতে.
এটা এখানে সত্যিই যেখানে প্লাগ ইন হিসাবে ঐ পদ্ধতি বলা হয় যে শুরু হয়.
সুতরাং আসুন একটি সামান্য বিট আরো জমাটবদ্ধ হতে দিন এবং এই সম্পর্কে একটি উদাহরণ তাকান.
সুতরাং এখানে plugin.1 জন্য, কি আমরা মূলত না করতে যাচ্ছি
একটি মেনু আইটেম তৈরি করতে হয় এবং CS50 সেমিনার ডায়লগ বলা 1 টি
আমরা দুটি আছে, কারণ them-- এবং আমরা চলুন
উইন্ডো মেনু সেটিকে উদ্বুদ্ধ করা.
আমরা এটা উপর ক্লিক করা হলে, আমরা করছি একটি সংলাপ খুলুন যাচ্ছে যে
আমাদের কিছু খুব মৌলিক তথ্য দেখায়.
>> এই ক্ষেত্রে, শুধু একটি হ্যালো দুনিয়া.
তাই এটি একটি খুব সহজ হ্যালো দুনিয়া সংলাপ
আমরা বাস্তবায়ন করতে পারে একটি প্লাগ-ইন মেঘ 9 হিসাবে.
তাই আসুন এই আসলে দেখায় কিভাবে দেখতে দিন.
আমরা শুধু, এটা মাধ্যমে পইঠা করব অপেক্ষাকৃত দ্রুত আমরা তাই
পাশাপাশি পরের প্লাগ ইন তাকান পারেন.
এখানে আমরা যে লক্ষ্য করুন প্লাগ-ইনের একটি বিভিন্ন গ্রাসকারী.
আমরা একটি সংলাপ গ্রাসকারী করছি প্লাগ ইন, কমান্ড, মেনু, এবং UI 'তে.
আমি আসলে গ্রাসকারী করছি দেখে মনে হচ্ছে সংলাপ দু 'বার, তাই আমি যে সরাতে পারেন.
>> আর ভাবে যে লক্ষ্য আমি তাদের সাথে আছি যে,
এই বলছে যে মেটাডাটা সাজানোর কি প্রয়োজনীয়তা প্লাগ-ইন সিস্টেম
আসলে প্রয়োজন হয় এই প্লাগ-ইন লোড করার জন্য.
এটা খেয়াল করা জরুরী প্লাগ-ইন লোড করা হয়, যাতে
নিশ্চিত করা হয় না.
কিন্তু তা নিশ্চিত করা হয় যে যদি আমি প্রয়োজন হিসাবে কিছু প্লাগ-ইন উল্লেখ,
যে প্লাগ ইন লোড করা হবে আগে এই এক লোড করা হয়.
>> সুতরাং তার মানে যে আপনার প্লাগ ইন তাহলে প্রদত্ত কিছু কার্যকারিতা প্রয়োজন
IDE তে অন্য কিছু দ্বারা, আপনি উচিত নিশ্চিত যে আপনার প্লাগ ইন হ্রাস
যে প্লাগ ইন যাতে সংক্রান্ত নির্ভরতা আপনার প্লাগ ইন তৈরি করতে নির্দিষ্ট হয়
অথবা শুধুমাত্র আপনার প্লাগ ইন instantiate যে বিদ্যমান কাঠামো বিদ্যমান পরে.
তাই এখানে আমি উল্লেখ করেছি প্লাগ-ইন ম্যানেজার মিটা,
যা আমি গ্রাস যাচ্ছি বেশী.
আর এখানে প্রধান ফাংশন, আমি তারপর সংযোগ যাচ্ছি
যারা আমদানি প্লাগ-ইনের আমার কোড.
>> তাই আমি ঠিক করতে যাচ্ছি কিছু ভেরিয়েবল তৈরি করে
যারা প্রতিটি নাম মেলে তাই আমি খুব দ্রুত তাদের উল্লেখ করতে পারেন যে
আমার কোড জুড়ে.
আমি সংলাপ আমদানি করছি কারণ আমি আমার প্লাগ ইন চান কারণ হল
একটি সংলাপ প্লাগ ইন হিসাবে কাজ করতে.
আর আমি সক্ষম নই যে ভাবে যে করতে করতে, অবশ্যই,
সংলাপ আমার কোড সংযোগ প্লাগ ইন এটি আমদানি করে
এবং তারপর দ্বারা নির্দিষ্ট করে একটি নতুন সংলাপ পরিবর্তনশীল তৈরি
এবং এটা সংযোগ যে আমদানি করা প্ল্যাগ-ইন.
এবং তারপর নির্ধারণ করে আমার প্লাগ ইন একটি নতুন সংলাপ.
>> আমি আরম্ভের তাই আমার প্লাগ ইন সংজ্ঞায়িত করতে চান.
আর এই পরিবর্তনশীল নামক প্লাগ ইন আপনি দেখতে পাবেন
শুধু সাধারণভাবে ব্যবহৃত হয় মেঘ 9 প্লাগ-ইনের জুড়ে.
আমি একটি নতুন instantiate যাচ্ছি কিছু গুণাবলী সঙ্গে সংলাপ,
এটি একটি নির্দিষ্ট নাম দিতে, এটা বলে ব্যবহারকারীদের এটি বন্ধ করার জন্য সম্ভব.
এটি একটি সামান্য X দেখাব যে উপরের ডান দিকের কোণায়,
অথবা একটি সামান্য বাটন পর্দার নীচের অংশে ডানদিকে কোণায় অবস্থিত.
আমি থেকে টেক্সট নির্বাচন করতে পারেন কিনা বা না এটা যে সংলাপ কি শিরোনাম
তাই হতে পারে, এবং হবে.
এখন এই মাত্র সংলাপ সংজ্ঞায়িত, কিন্তু এটি এখনও এটি প্রদর্শন করা হয় না.
আমি আসলে একটি সংজ্ঞায়িত আছে এটা জন্য কর্ম দেখানো হবে.
>> এবং আবার, আমি করতে উত্সাহিত মেঘ 9 SDK এর কটাক্ষপাত,
বিভিন্ন সংলাপ আছে, কারণ এবং তারা সত্যিই ভাল নথিভুক্ত করা হয়.
আপনি বিভিন্ন ধরনের দেখতে পারেন যে আছে, এবং তাদের ব্যবহার
যাই হোক না কেন প্লাগ ইন আপনি মনে আছে.
এখন একটি হতে যাচ্ছে এর লোড অধ্যায়, এবং এই চাপের
ফাংশন আপনি প্রত্যাহার হিসাবে প্লাগ-ইন জীবনচক্র ব্যবহৃত
আসলে সবকিছু instantiate করতে এবং যেতে প্রস্তুত পেতে.
এখন এই প্লাগ-ইন লোড, আমি না যখন তা অবিলম্বে একটি সংলাপ প্রদর্শন করতে চান,
এই প্লাগ-ইন লোড করা হবে না, কারণ আইডিই বাকি বরাবর.
আর আমি যে আইডিই লোড করা হলে, আমি চাই না সংলাপ স্বয়ংক্রিয়ভাবে দেখা করতে.
আমি শুধুমাত্র আমার উপর ক্লিক করা হলে এটা দেখাতে চান আমার জানালা মেনু আইটেমটি মেনু অপশন
আমি কিছুক্ষণের জন্য এটি যোগ করা হবে.
>> সুতরাং দুটি স্বতন্ত্র পদক্ষেপ আছে এখানে ঘটতে আছে.
আমি একটি তৈরি করা আছে কমান্ড, এবং কমান্ড
আসলে এর জন্য দায়ী হতে হবে মেঘ 9 আইডিই সংলাপ দেখাচ্ছে.
এবং তারপর আমি সংযোগ স্থাপন করা আছে, আমি একটি নতুন উইন্ডোতে মেনু তৈরি করা আছে
আইটেম, যে কমান্ড চালানো হয়.
যাতে আমি যে উইন্ডো উপর ক্লিক করা হলে মেনু আইটেম, যে কমান্ড তারপর চালান হয়
এবং সেইজন্য আমার সংলাপ তারপর দেখানো হয়.
তাই আসলে এই একটি প্রশংসনীয় এটা সম্পর্কে চিন্তা চমৎকার উপায়.
>> প্রথম আমি একটি কমান্ড তৈরি করতে পারেন কারণ যার নাম হয় এবং CS50 সেমিনার ডায়লগ 1,
যে কিছু প্রদান করে এটা জন্য সাধারণ প্রেক্ষাপটে.
এবং এখানে গুরুত্বপূর্ণ বিট হয় পাগলের সংখ্যা বাড়ছে অ্যাট্রিবিউট, লক্ষ্য, যা
বলা হবে যে একটি ফাংশন তালিকা আমার প্লাগ ইন এই কমান্ড চালানো.
তাই এই কমান্ড সাজানোর মত হয় ছাগু karigor.com এটা শুধু একটি অবাধ মেঘ 9
পাওয়া যায় যে কমান্ড কোনো মেঘ 9 প্লাগ ইন করার.
কিন্তু প্রকৃত ফাংশন যে এটি এই কমান্ডটি প্রয়োগ করা হয় যখন আপনি কল করতে যাচ্ছে
শো সংলাপ ফাংশন আমার plugin.js ফাইলে.
>> আমরা আসলে দেখতে পারেন এই প্ল্যাগ-ইনগুলি এবং তালিকা
আমাদের সাথে পাওয়া যায় যে কমান্ড পছন্দসমূহ, সব পথ স্ক্রল down--
আসলে আমরা এই এখন তো দেখি, যদি দেখা যাক?
প্লাগ-ইন ম্যানেজার, না, আমি এটা I-- মনে স্পষ্টভাবে প্রায় এখানে কোথাও.
ওয়েল, কমান্ডের তালিকা আছে কোথাও, কিন্তু আমি থাকতে হবে
যেখানে এটা আমি ভুলে থাকেন.
তাই ঠিক আছে, আমরা এগিয়ে যেতে হবে.
ঠিক আছে.
সুতরাং আমরা কমান্ডের তালিকা আছে , আমাদের জন্য উপলব্ধ রয়েছে
এবং যারা কমান্ড এই মাত্র নির্বিচারে মেঘ 9
নির্দিষ্ট কোড রান কমান্ড.
সুতরাং শুধু যে, যে কথা মনে রাখবেন আমরা শো ডায়ালগ চালানো চলুন
প্রতিমুহূর্তে কাজ.
এখন আমি আসলে একটি মেনু যোগ করতে চান যখন আইটেম, আমি পথ করে যে আইটেম যোগ করতে পারেন
এবং ঠিক ঠিক আমি চাই যেখানে উল্লেখ এটা, উইন্ডো / CS50 সেমিনার ডায়লগ 1 হতে.
এবং যে সময়ে, আমি চাই একটি নতুন আইটেম তৈরি করা যে
একটি কমান্ড চালানো যাচ্ছে না, এবং CS50 সেমিনার ডায়লগ 1.
এই মেঘ হয়, আবার যে লক্ষ্য করুন 9 কমান্ড আমি শুধু উপরে তৈরি করেছি.
>> এখন আমি চাই একটু বিভাজক তৈরি,
এবং তাই আমি একই কাজ করতে পারেন পরবর্তী লাইনে.
এখন আপনি যে লক্ষ্য করা হতে পারে এই মেনু আইটেমটি সংজ্ঞা অংশ,
একটি সংখ্যা আছে এর সাথে জড়িত, যা
আসলে ঠিক যেখানে বলছেন আমি মেনু আইটেমটি তুলতে চাই
মেনু তালিকা অবস্থিত.
কিন্তু আপনি লক্ষ্য করা হতে পারে আমি আসলে না যে
সঙ্গে কোনো নম্বর দেখুন ডিফল্টরূপে এই মেনু,.
তাই একটু গোপন জিনিস আছে যে আমরা, আমাদের URL- এ একটু পরিবর্তন করতে পারেন.
সুতরাং ছাড়াও, = 1 & ডিবাগ = 2 SDK এর আমি 1 টি মেনু সেট করব
এবং আশা করি এটি মেনু, না মেনু আছে.
ওহ, এটা মেনু = 1 এর.
অপেক্ষা কর.
>> আর আমরা যে পুনরায় লোড করার পরে তা দেখতে হবে আইডিই, আমি ডিবাগ মোড এখনও থাকি যে হয়
কিন্তু এখন সংখ্যা আছে সমস্ত মেনু যুক্ত.
আর এই আপনি বলে ঠিক কি সংখ্যা
আপনি উদ্বুদ্ধ করার চেষ্টা করছেন যখন হয় কোথাও এই মেনু সিস্টেমের মধ্যে কিছু.
তাই উইন্ডো মেনু, আমি যা করতে পারেন 45 সহযোগিতা যে আইটেমটি দেখতে
এবং এটা আগে আইটেমটি 38 ইনস্টলার.
তাই আমি উদ্বুদ্ধ করতে চান যখন ঐ দুই মধ্যে একটি আইটেম,
আমি শুধু একটি সংখ্যা নির্বাচন হবে ঐ দুটি আইটেম মধ্যে.
তাই আমি 41 নির্বাচিত এবং আমার সেমিনার ঢোকানো যে অবস্থানে ডায়লগ 1 মেনু আইটেম.
>> এবং যে কেন এই সংখ্যা যে এখানে প্রদর্শিত সংখ্যা 41.
যে যে অবস্থান হয় মেঘ 9 মেনু মেনু আইটেম.
এখন একইভাবে, আমি চেয়েছি একটি বিভাজক তৈরি করতে
একটা চমৎকার আছে যাতে এটি যোগ এই মেনুর মধ্যে প্রতিটি বিভাগ
আইটেম.
তাই আমি যোগ পাঁচ 43 এ যে.
এ পর্যন্ত সব ঠিকই আছে, আমি আশা করি?
তাই এখন আমি কি আসলে তাকান শো ডায়ালগে নির্দিষ্ট কোড
যে আসলে দায়ী এই ডায়লগ উইন্ডো খোলার জন্য.
>> নিচে স্ক্রলিং, আমি চাই দেখতে এই ফাংশন শো ডায়ালগ আছে,
এবং এটি অত্যন্ত সহজ.
আমি শো চালানো যাচ্ছে না প্লাগ-ইন চলক পদ্ধতি.
আর আমরা এই সংজ্ঞায়িত মনে রাখবেন প্লাগ-ইন পরিবর্তনশীল একটি সংলাপ হিসাবে উপরে.
তাই বার প্লাগ ইন, এই ক্ষেত্রে, এই হল আমরা অন্ত নির্ধারিত করেছি যে বস্তু.
এবং এটি একটি নতুন সংলাপ হতে যাচ্ছে এই প্লাগ-ইন মধ্যে অন্তর্ভুক্ত.
তাই আসলে আমরা এই রেফারেন্সড প্লাগ-আমেরিকার অনেক জায়গায় পরিবর্তনশীল
একটি টিপিক্যাল মেঘ 9 উন্নয়ন পরিবেশ.
>> আমরা এখানে তা দেখতে পাবেন.
লক্ষ্য করুন আমরা নিচে স্ক্রল হিসাবে যে, অতিরিক্ত জীবন চক্র আছে.
সুতরাং এই যে সাড়া লক্ষ্য বহিস্কার করা হয় যে ঘটনা
এই বস্তু, এই সংলাপ বস্তুর দ্বারা.
ডিফল্টরূপে, আছে লোড এবং আন যা
সব মেঘ 9 প্লাগইন পাওয়া যায়.
কিন্তু ঘটনা এই সংলাপ, আছে
আরেকটি ঘটনা যে ফায়ার পাশাপাশি বলা
যখন যে বহিস্কার করা হয়, যা ড্র পর্দায় আকৃষ্ট করা হয়
প্রথমত এ সংলাপ দেখাচ্ছে.
>> সুতরাং এটা আসলে যখন প্রদর্শিত করা যাচ্ছে,
সেখানে যাচ্ছে আমাদের কিছু HTML প্রদান.
আর শুধু স্ট্যান্ডার্ড ব্যবহার এইচটিএমএল চর্চা আমরা করতে পারেন
কিছু খুব সহজ তথ্য উদ্বুদ্ধ, আমাদের হ্যালো দুনিয়া, যে সংলাপ.
আমরা তখন স্ক্রল আপ, আমরা করতে পারেন, তাই জিনিস তারপর মিছিল দেখতে
যে এটা ঘটছে.
আমরা প্রথমে একটি মেঘ 9 কমান্ড তৈরি মেঘ 9 দ্বারা মৃত্যুদন্ড কার্যকর হলে যে,
এই ফাংশন ফায়ার যাচ্ছে.
এটা এই ফাংশন চালানো যাচ্ছে আমি করেছি যে, শো সংলাপ বলা
আমার কোড লেখা.
>> আমি একটি মেনু আইটেম তৈরি এবং এটা যে একই কমান্ড সংযুক্ত
যে আইটেমের মধ্যে ক্লিক করা হলে যে তারপর রান কমান্ড যে মেনু,
এবং যে ফাংশন তারপর চালানো হয়.
আর ফাংশনের ভিতর আমি আছি শুধু আমি নই the-- কল যাচ্ছে
শুধু দেখান চালানো যাচ্ছে এই প্লাগ-ইন, পদ্ধতি যা
প্রথম কল করতে যাচ্ছে ড্র পদ্ধতি, এবং যাচ্ছে
নীচের এই পদ্ধতি নিচে জ্বালান আমাদের জীবন চক্র, ইভেন্ট হ্যান্ডলার সঠিক নয় আঁকা.
এবং তারপর এটি আসলে হবে সংলাপ প্রদর্শন.
>> একটি আড়াল পদ্ধতি, যাতে রয়েছে আমি আড়াল করার সুযোগ প্রয়োজন হলে
আমার সংলাপ, আমি একই জিনিস করতে পারেন.
সুতরাং যে বেশ অনেক এটি কাজ করার জন্য এই সব পেতে.
যদি আমরা নিচে স্ক্রল করে লক্ষ্য করুন আরও একটি নিশ্চল জন এপিআই আছে.
এটি মূলত শুধু বলেছেন যে আমি এই পদ্ধতি করতে চান কার্যকরভাবে
প্রকাশ্য, কিন্তু overwriteable না হতে এই প্লাগ-ইন প্রেক্ষাপটে বাইরে.
আর নিচে, খুব নীচে, সম্ভবত শেষ জিনিস
আমরা সত্যিই দিতে চাইবে এখানে অনেক মনোযোগ, যা
আমরা নিবন্ধন করতে যাচ্ছি হয় আমাদের প্লাগ-ইন C9 সেমিনার 1 নামের সঙ্গে,
এবং বস্তুর প্লাগ ইন.
>> যা আপনি প্রত্যাহার করব হিসাবে, হয় যে যে প্লাগ ইন প্লাগ ইন
আমরা সংজ্ঞায়িত করে থাকেন যে বস্তু এই উৎস সম্পূর্ণতা জুড়ে
কোড.
আর C9 সেমিনার 1 আমরা প্রতিশ্রুত যে স্ট্রিং
উপরের প্রদান এই সংজ্ঞার.
ঠিক আছে.
সুতরাং আসুন একটি সামান্য বিট এটি আপ ঢালু দিন আমরা কিছু করতে পারেন এবং যদি দেখতে
একটি সামান্য বিট আরো আকর্ষণীয়.
এখন এই মাত্র তাই মহান.
আমি বলতে চাচ্ছি, এই, এটি আসলে সুন্দর যে কোড তাই কয়েক লাইনে ঠান্ডা,
আমরা বিদ্যমান আইডিই পরিবর্তন করতে পারেন এবং একটি বিদ্যমান মেনু আইটেম যোগ
অথবা একটি নতুন মেনু আইটেম যোগ, একটি যোগ কমান্ড, এবং একটি সংলাপ প্রদর্শন
এবং শুধু একটি গুচ্ছ যে বিদ্যমান কার্যকারিতা.
এটা সত্যিই প্রশংসনীয় দারুণ.
>> কিন্তু এটা অনেক কাজ হয় না, কারণ এটা করতে পারেন না অন্তর্নিহিত উবুন্টু সাথে যোগাযোগ
উদাহরণস্বরূপ.
সুতরাং আসুন যে আমি বলতে দিন আসলে জানতে চাই
সম্পর্কে কিছু তথ্য উবুন্টু উদাহরণস্বরূপ অন্তর্নিহিত,
পরিসংখ্যান প্লাগ ইন মত আছে.
সুতরাং আসুন একটি কটাক্ষপাত করা যাক সামান্য বিট আরো তথ্য
পরিসংখ্যান প্লাগ ইন কিভাবে কাজ সম্পর্কে.
এবং বাস্তবিকই, এটা এই অনুরূপ.
আপনি যে প্রত্যাহার করা হতে পারে একটি সংলাপ আছে.
আপনি যে আছে প্রত্যাহার করা হতে পারে যে কিছু তথ্য
বরাবর শুধু মেনু বার সহ দেখানো আশা করি আপনি এখন যা উপরে,
কিভাবে একটি গন্ধ পেয়ে আমরা, এই বাস্তবায়িত
শুধু নির্দিষ্ট সময়ে মেনু আইটেম ঢোকাতে পয়েন্ট এবং একটি সংলাপ instantiating দ্বারা
এবং যে সংলাপ প্রদর্শন.
>> কিন্তু আমরা এখনো দেখানো হয়নি আপনি আমরা এটি সংযুক্ত হতে পারে কিভাবে
একটি কমান্ড করার অন্তর্নিহিত উবুন্টু উদাহরণস্বরূপ.
সুতরাং আসুন plugin.2 তারপর কটাক্ষপাত করা যাক, যা অবিকল এই জিনিস আছে.
আমরা, plugin.js খুলতে যাচ্ছেন যা এই কোড.
কিন্তু উইন্ডো মেনু অধীনে, আমি 2 ডায়লগ উপর ক্লিক করুন,
আমরা এটা এই বলে দেখতে পারেন পরিবর্তে, হ্যালো এবং CS50, যা
ঠিক আছে, যে খারাপের দেখাচ্ছে না?
ছাড়া, এই ঘড়ি.
আমাকে এখানে কিছু নিচে পরিবর্তন করা যাক.
>> আমি যেতে যাচ্ছি আমার কর্মক্ষেত্র এবং পরিবর্তনের সেমিনার
হ্যালো, ড্যান মত অন্য কিছু, বলতে.
আমি এটা বন্ধ করা এবং এটি সংরক্ষণ করতে যাচ্ছি.
আর এখন আমি পুনরায় চালনা করতে যাচ্ছি আমার সংলাপ মেনু আইটেম.
এবং এটি যে লক্ষ্য এখন এটা বলছেন তা পরিবর্তন.
হ্যালো, ড্যান.
আমি নিচে কিছু কাজ আছে বলে মনে হচ্ছে এখানে অন্তর্নিহিত উবুন্টু ইনস্ট্যান্সের মধ্যে
কোনো কাজে ব্যবহৃত থাকলে আবার শুধুমাত্র চলমান যে কোড
ক্লায়েন্ট পাশ দিয়ে.
তাই সম্ভবত কিছু বাছাই আছে এখানে ঘটছে যে কমিউনিকেশন.
>> এখন এই হল যেখানে অনেক মেঘ 9 SDK এর ক্ষমতা, এ আসে
যে, এই plugin.2 হয় আমরা আসলে হতে পারে
একটা কল ঘটতে অন্তর্নিহিত উদাহরণস্বরূপ,
এবং কিছু অবাধ কমান্ডটি প্রয়োগ.
তাই এই ক্ষেত্রে, আমি আসলে আছে একটি খুব সহজ ব্যাশ স্ক্রিপ্ট তৈরি
আমার কর্মক্ষেত্র সেমিনার বলা.
তাই আমাকে যে খুলুন.
আর আমরা এটা ভালো দেখায় দেখতে পারেন.
এটি শুধু একটি খুব সহজ ব্যাশ এর স্ক্রিপ্ট যার একমাত্র উদ্দেশ্য জীবনে
প্রতিধ্বনি করা যাচ্ছে এই লেখা, হ্যালো, ড্যান.
অথবা এটা আগে, এটা CS50, হ্যালো বলল.
আর এটা করতে যাচ্ছে সব.
>> এখন এই একটি কারণ আমি রান করতে পারেন যে কমান্ড.
আমি আসলে এখানে নিচে চালাতে পারেন.
আমরা এটা আসলে শুধু দেখতে পারেন আমি স্বাভাবিকভাবেই চালানোর যে একটি কমান্ড.
আমি এই চালানো আমার প্লাগ ইন অনুরোধ করতে পারেন অন্তর্নিহিত কর্মক্ষেত্র কমান্ড
এবং তথ্য বিশ্লেষণ যে, তা থেকে ফিরিয়ে দেয়া হয়
এবং এটা দিয়ে কিছু করতে, এবং পরিবর্তন আমার প্লাগ ইন ও আচরণ যে আমি
আমার প্লাগ ইন এর ফলে এ আছে. ঠিক আছে.
তাই আসুন এই ঘটবে কিভাবে দেখতে দিন.
আমরা এই অত্যন্ত সহজ দেখেছি সেমিনার ব্যাচ স্ক্রিপ্ট যে আমি
[শ্রবণাতীত] এটা আসলে চালাতে পারেন.
>> এবং এখন এর পরিবর্তন দেখতে দিন একসঙ্গে এই গিঁট প্রয়োজন আছে
ডায়লগ উইন্ডো সঙ্গে, এবং এটি চালানোর জন্য.
তাই আমরা এখানে বেশ কাজ করতে যাচ্ছেন একই জিনিস আমরা আগে দেখেছি.
কিন্তু মধ্যে যে লক্ষ্য আমি এখন আমি খাওয়া করেছি যে কিছু
সংলাপ, ছাড়াও যা আবার আমি দুবার সম্পন্ন করেছেন ঘটতে,
যা ছাড়াও necessary-- না হয় সংলাপ এবং কমান্ড
এবং মেনু প্লাগইন, যা ছিল আমার জন্য প্রথম এক প্রয়োজন
একটি নতুন কমান্ড সংজ্ঞায়িত এবং মেনুর মধ্যে একটি আইটেম উদ্বুদ্ধ,
আমি এই proc প্লাগ-ইন আছে.
>> আর এই proc প্লাগ-ইন করার অনুমতি দেয় আমাদের প্রসেস নিপূণভাবে
অন্তর্নিহিত ইনস্ট্যান্সের.
আমি করেছি পরে আমি এটা সংযুক্ত থাকেন আমার প্লাগ ইন এটি প্রয়োজন যে বলেন.
আমি তখন, কোড থেকে এটি সংযুক্ত করেছি আমরা প্রধান ফাংশন দেখেছি.
আবার, আমি যাচ্ছি আমার সংলাপ আরম্ভ.
আর আমরা এখন নিচে নামার চেষ্টা করলে, আমরা এই ভিন্ন কিভাবে দেখতে পারেন.
লোড ফাংশন তাই, একই এটা মাত্র একটি কমান্ড তৈরি করতে যাচ্ছে
এবং একটি মেনু আইটেম তৈরি এবং সংযোগ সেই আদেশের যে মেনু আইটেম.
কিন্তু আমরা এখন স্ক্রল নিচে সংলাপ প্রদর্শন,
আমরা যেখানে দেখতে শুরু করতে পারেন পার্থক্য উঠা.
>> আমরা ফাংশন শো সংলাপ, আছে যা শুধু সংলাপ প্রদর্শন করতে যাচ্ছে.
কিন্তু আমি এই সংলাপ প্রদর্শন যখন, এবং শো পদ্ধতি বলা হয়,
এটা ড্র ফাংশন বন্যা.
আর আমি তখন উল্লেখ করা যাচ্ছে না যে এর ভিতরে কিছু কন্টেন্ট.
তাই আমি ঠিক করতে যাচ্ছি এটা প্রদান একটি div তৈরি
কিছু মৌলিক লেখা, হ্যালো, দুনিয়া.
কিন্তু আমি আছি এখানে যে লক্ষ্য এটা একটি আইডি অবশ্যই যুক্ত করতে যাচ্ছে.
আর ঠিক পরের লাইনে আমি যাচ্ছি জাভাস্ক্রিপ্ট ব্যবহার করে যে আইডি এটি,
এবং যে বস্তু দোকান অন্য পরিবর্তনশীল মধ্যে
আমি শুধু কন্টেন্ট কল যাচ্ছি যে.
>> তাই এখন আমি যখনই কন্টেন্ট, সব আমি যা করতে হবে
শুধু এই বস্তু এর ভেতরের এইচটিএমএল পরিবর্তন হয়.
এবং সংলাপ এইচটিএমএল হবে তারপর পাশাপাশি পরিবর্তন করা.
তাই এই প্লাগ-ইন পাবো তারপর ঘটতে পারে, যা দেখানো
এবং এই একটি নতুন ঘটনা যে এই প্লাগ-ইন নতুন,
কিন্তু ভাষার মধ্যে ঘটে প্লাগ ইন সাথে সংলাপ, এই এখন প্রদর্শিত হয় যখন,
আমি একটি কল করা যাচ্ছে না বলা ফাংশন তথ্য আনা.
এবং এই ফাংশন হয় এখানে এটা মাংস.
আমি যে যে proc প্লাগ ইন ব্যবহার করা যাচ্ছে না আমরা, যা যাইহোক, আগে বর্ণনা করা
সত্যিই শুধু একটি Node.js লাইব্রেরি মেঘ 9 এখানে ব্যবহার করা হয় যে.
>> সুতরাং আপনি আসলে করতে পারেন কিভাবে এই সম্পর্কে সন্ধান
আপনি ঢোকা কাজ Node.js ডকুমেন্টেশন
এবং Exec ফাইল খোঁজা সেখানে প্রসেসের জন্য পদ্ধতি.
আমি এই নির্দিষ্ট চালানো যাচ্ছে না কমান্ড, বাড়ি উবুন্টু কর্মক্ষেত্র
যে একই এক যা সেমিনার, যে আমি আগে নির্মিত যে একই কমান্ড.
এটি একটি বর্তমান প্রদান শুধু, ডিরেক্টরির কাজ
শর্তাবলী আল্ট্রা নিরাপদ হতে যেখানে এই প্রেক্ষাপটে চলমান.
আর যে হয়েছে একবার সম্পন্ন এবং ফিরে,
আমি এই চালানো যাচ্ছে না পারসে আউটপুট বলা ফাংশন.
ঠিক আছে.
তাই এই তারপর চালানো যাচ্ছে বরং স্থানীয়, বা একটি কমান্ড
রিমোট উবুন্টু উদাহরণস্বরূপ.
আমি ফিরে পেতে হলে কিছু তথ্য, আমি তখন নই
একটি পৃথক ফাংশন কল করা যাচ্ছে যে, পারসে আউটপুট বলা
এখানে এই স্বাক্ষর হয়েছে মানুষ মাত্রই ভুল, stdout- এ, stderr,
এবং এই প্রথম কিছু গুনতি সঞ্চালন.
সুতরাং যদি আমি একটি ত্রুটি পেয়েছি এ সব কিছু ধরনের,
আমি আসলে কিনা তা পরীক্ষা করতে হবে ত্রুটি আসলে কিছু তথ্য আছে.
আর যদি তাই হয়, তাহলে আমি ভেতরের পরিবর্তন হবে যে কন্টেন্ট বস্তুর এইচটিএমএল যা
আপনি, আমরা প্রত্যাহার করা হয় সংলাপ সংযুক্ত
যে instantiattion এ সংলাপ, বা প্রথম অঙ্কন এ
যে সংলাপ.
আমি শুধু বলতে যাচ্ছি কিছু ত্রুটি ঘটেছে.
>> এখন এই মাত্রাতিরিক্ত সরল হয়.
ত্রুটি মান সাধারণত হবে , দরকারী কিছু ছিল ধারণ
সম্ভবত একটি ত্রুটি সংখ্যা এবং একটি স্ক্রিপ্ট থেকে নিজেই ত্রুটি.
অথবালিপি লিখেছিলেন তাহলে স্ট্যান্ডার্ড ত্রুটির কিছু,
যে তথ্য পূরণ করা হবে যে পরামিতি হিসাবে ভাল.
এবং আমি একটি সামান্য বিট হতে পারে কি ত্রুটি সম্পর্কে আরো সতর্কতা অবলম্বন
আমি আসলে লোক দেখানো করছি.
কিন্তু এই সহজ উদাহরণ এখন জন্য যথেষ্ট ভাল
অন্তত কিভাবে সব এই ফাংশন দেখতে.
অন্যথা নেই তাহলে কোন ত্রুটি, তাহলে আমি ঠিক আছি
কাঁচা প্রদান যাচ্ছে যে ফাংশন আউটপুট
এই বিষয়বস্তুতে ভেতরের এইচটিএমএল মধ্যে উপাদান, এবং তারপর আমার প্লাগ ইন আপডেট
এবং এখানে এটা দেখাতে.
এবং যে অনেক সুন্দর সব যে এর প্রয়োজন এই চালানোর পেতে.
আর তাই এর পরে চিন্তা করে দেখি কিভাবে এই কাজ করে, সামগ্রিক.
যখন আমি প্রথম এই প্লাগ-ইন লোড করা, শুধু প্রথম প্লাগ ইন মত,
আমি যে একটি কমান্ড যোগ করা যাচ্ছে না কোনো প্লাগ-ইন করতে, কিছু পাওয়া
মেঘ 9, এবং CS50 সেমিনার বলা যার দায়িত্ব ডায়লগ 2,
এই শো চালানোর হতে হবে আপনি পুনরাহ্বান যা সংলাপ,
আসলে সংলাপ প্রদর্শন করবে আমি নিচে যে অনুরোধ.
>> তারপর আমি যে যোগ হবে একটি উইন্ডো মেনু মধ্যে কমান্ড
যাতে আমি যে এক্সেস আছে.
আর যখন যে সংলাপ দেখানো যেতে অনুরোধ করা হয়,
আমি থেকে কিছু তথ্য আনা হবে অন্তর্নিহিত উবুন্টু উদাহরণস্বরূপ
Exec ফাইল কমান্ড ব্যবহার করে.
মাফ করবেন.
যে ফিরে আসেন এবং আমি কিছু গ্রহণ করা হলে তথ্য, তারপর ক্লায়েন্ট দিকে
আবার, আমি বিশ্লেষণ করতে সক্ষম হবে যে কমান্ডের আউটপুট
এবং ভিতরের আপডেট উপাদানের এইচটিএমএল
আমরা আগে সংযুক্ত ছিল.
>> এবং সেই সঙ্গে, আমরা তখন আছে এই সম্পূর্ণরূপে কার্যকরী প্লাগ ইন
যে আমাকে তথ্য সংগ্রহ করার অনুমতি দেয় এই অবাধ স্ক্রিপ্ট থেকে
আমরা তৈরি করেছেন যে আমাদের অন্তর্নিহিত উদাহরণস্বরূপ.
কিন্তু আবার, এটা সত্যিই গুরুত্বপূর্ণ এবং সত্যিই কী
যেখানে প্রতিটি পৃথক আউট এই জিনিস ঘটছে,
আমরা এই ক্লায়েন্ট সাইড সব আছে ব্রাউজারে চালানো হচ্ছে যে কোড,
এবং এখনো প্রবেশাধিকার নেই মূল ফাইল সিস্টেমের সাথে
আমরা আসলে এই কিছু না হওয়া পর্যন্ত মেঘ দ্বারা উপলব্ধ করা হয় যে কমান্ড
9 proc মত SDK এর, এবং অন্যান্য কিছু বেশী যে আমাদের কিছু তথ্য পড়তে অনুমতি,
আমরা প্রয়োজন হলে বা কিছু ফাইল পড়তে ধরনের কিছু করতে.
>> এখন এই একটি কিছুটা সহজ উদাহরণ.
অন্যান্য জিনিস আছে যা আমরা সম্ভবত হিসাবে ভাল করতে চায়.
উদাহরণস্বরূপ, সম্ভবত আমরা আসলে কিছু তথ্য সংরক্ষণ করতে চান
পছন্দ.
অথবা সম্ভবত আমরা চাই একটি নতুন পক্ষপাত পেন যোগ
অথবা যারা লাইন বরাবর কিছু.
তারপর এমন কিছু বিষয় যা আপনি মেঘ 9 SDK এর কটাক্ষপাত পারেন
আরও তথ্য পেতে.
কিন্তু এই সত্যিই হয় যথেষ্ট শুরু.
তাই শুধু একটি সামান্য বিট আরও কংক্রিট হতে উপায় সম্পর্কে যে এই জিনিস কিছু
ফাংশন, আমি শুধু দেখাতে চান হয়নি শুধু কিছু যা আরও একটি উদাহরণ,
পরিসংখ্যান 50 প্লাগ ইন থেকে কোড নিয়ে.
>> আর এই কোড মূলত এই উদাহরণ উপর ভিত্তি করে
আপনি আসলে দেখা করেছি যে, কিন্তু আরো কিছু রক্ষাকবচ আছে
এবং যাতে আরো কিছু জটিলতা আছে অতিরিক্ত কিছু অর্জন
আমরা অর্জন করতে চান.
উদাহরণস্বরূপ, আমি হতে চাই, তাহলে কিছু সেটিংস সংরক্ষণ করতে পারবেন,
তারপর আমি এক্সেস আছে প্রয়োজন সেটিংস প্লাগ ইন,
এবং প্রত্যেক সময় আমি চাই কিছু সেটিংস পড়তে,
আমি উদাহরণস্বরূপ, বিভিন্ন সংযুক্ত করতে পারেন সেটিংসে ঘটনা প্লাগ ইন.
তাই সেটিংস লাল হয় প্রতিটি সময়, উদাহরণস্বরূপ, আমার নিজের প্লাগ ইন,
আমি কিছু পড়তে যাচ্ছি তাহলে সংরক্ষিত স্টোরেজ থেকে সেটিংস
ব্যবহারকারীর অভিরুচি, তারপর আমি যা করতে পারেন একটি নির্দিষ্ট স্থান জন্য ডিফল্ট সেট,
যে নির্দিষ্ট পছন্দের জন্য আমরা করেছি যে JSON শৈলী অপশন ফাইল
আমরা আগে দেখা করেছি যে, তার আগে সংরক্ষিত.
>> এবং আমি লিখতে যাচ্ছি তাহলে এটা কিছু সেটিংস,
তারপর আমি যত তাড়াতাড়ি আমরা সনাক্ত হিসাবে can-- বা সেটিংস লেখা হয়েছে যে
চাচ্ছি উদাহরণস্বরূপ, যারা কারণ সেটিংস ব্যবহারকারীর দ্বারা পরিবর্তন করা হয়েছে
সরাসরি তাদের সেটিংস ফাইল, বা পক্ষপাত পেন
সেটিংস পরিবর্তিত হয়েছে তারপর, সরাসরি ফাইল
আমি আসলে কিছু কোড আপডেট করতে পারেন অথবা আমার প্লাগ ইন আচরণ আপডেট
আছে যারা পরিবর্তনের উপর ভিত্তি করে পাশাপাশি সেটিংস ফাইল ঘটেছে.
কিন্তু সত্যিই, এটা বাকি বেশ হয় অনেক মানে আপনি ইতিমধ্যে দেখা করেছি যে.
>> আমরা সম্ভবত, কিছু যোগ নতুন কিছু যে.
তাই আমরা একটি পছন্দের ফাইল যোগ অথবা বরং একটি পক্ষপাত পেন,
যা আবার পছন্দে উইন্ডো, যাও আপনি আরও তথ্য জানতে পারবেন
মেঘ 9 SDK এর আমার পড়া.
কিন্তু অন্য সব কিছুর সুন্দর, অনেক সুন্দর হয়
আমরা আগে দেখেছি কি অনুরূপ শুধু কিছু অতিরিক্ত ত্রুটি পরীক্ষা দিয়ে
এবং কিছু অতিরিক্ত সুরক্ষা এবং কিছু অতিরিক্ত কার্যকারিতা
বিভিন্ন সব বৈশিষ্ট্য যে আমরা দেখা করেছি কিছু.
আপনি না আসলে থাকে এখনো এটি দেখা যায়, আপনি পারে
অন্তর্নিহিত ভাবছি কি হতে কমান্ড পরিসংখ্যান 50 উইন্ডোতে হয়.
এটা আসলে ফাংশন.
ওয়েল, ওতে আছেটাই ওহ হচ্ছে ÑÑ.
এক সেকেন্ড.
অপেক্ষা কর.
ঠিক আছে.
আমাকে এই পর্যন্ত সরানো যাক যাতে আমরা আসলে যা করতে পারেন আমি পরিসংখ্যান 50 টাইপ হলে কি দেখতে.
এই ক্ষেত্রে যে লক্ষ্য, আমি নির্বাণ খুঁজে না যে কমান্ড
সত্যিই আবার যে শুধু স্ক্রিপ্ট আউটপুট তথ্য একটি গুচ্ছ যাচ্ছে
JSON বিন্যাসে.
এবং আমরা তা বোঝে না যে এই ভাবে যে আমরা কারণ
আমরা লিখিত করেছি কারণ, অপারেটিং হয় জাভাস্ক্রিপ্ট ক্লায়েন্ট সাইড কোড,
আমরা যা করতে পারেন খুব সহজেই মাত্র , দয়া করে জাভাস্ক্রিপ্ট বস্তু বিশ্লেষণ
এবং সত্যিই নিপূণভাবে পাবে ঐ বস্তু শুধু আমরা চাই
অন্য কোন জাভাস্ক্রিপ্ট অবজেক্ট.
>> আর তাই এটি একটি খুব সুবিধাজনক হয় কিছু তথ্য প্রদান প্রণালী
অন্তর্নিহিত উবুন্টু উদাহরণস্বরূপ থেকে, যেমন সংস্করণ সংখ্যা, হোস্ট হিসাবে
একটি সার্ভার শুনছে কিনা, নাম, সার্ভার তাই ঘোষণা, তাই এবং কি,
এবং যে খুব বিশ্লেষণ সহজে এবং খুব দ্রুত
প্লাগ-ইন করে তারপর যাচ্ছে আমাদের যে সব তথ্য দেখানোর জন্য.
তাই আবার, কী অন্তর্দৃষ্টি এখানে মনে রাখা
এই বিচ্ছেদ মধ্যবর্তী সবকিছু অন্তর্নিহিত উদাহরণস্বরূপ,
এবং কোড লোড করা হচ্ছে যেখানে.
যে আমি একটি ক্লায়েন্ট আছে, এটা প্রথম লোডিং এর.
থেকে শুধু এই স্ট্যাটিক জাভাস্ক্রিপ্ট ফাইল কোথাও, কিছু ধরনের সম্ভবত যা CDN.
আমরা সত্যিই যত্নশীল হবে না এই প্রথম পদক্ষেপ সম্পর্কে খুব বেশী.
>> আমরা শুধু এটা জানি যে ক্লায়েন্ট পাশ দিয়ে চলমান
আমি যাচ্ছি এবং যে যখন এই Docker উদাহরণস্বরূপ সঙ্গে যোগাযোগ করি.
আমরা এটা করতে যাচ্ছেন যে মেঘ 9 SDK এর মাধ্যমে.
আমরা আসলে ক্ষমতা থাকে না, জাভাস্ক্রিপ্ট বা Node.js ব্যবহার,
এটা সরাসরি লিখতে.
আমরা শুধুমাত্র সেই বিদ্যমান SDK ব্যবহার API গুলি আমাদের জন্য যে কর্ম করতে.
এবং আবার, এক সত্যিই গুরুত্বপূর্ণ বিষয়
আমি এই তৈরি করেছেন যে যখন আমি এই প্লাগ-ইন তৈরি করেছি যখন,
এবং আমি এটা উপর কাজ করছি, এক করতে গুরুত্বপূর্ণ জিনিস
JavaScript কনসোল আসা হয়.
>> এই সব কারণ দেখাও জাভাস্ক্রিপ্ট অপারেটিং,
ক্লায়েন্ট পাশ দিয়ে, আমি ব্যবহার করা হলে একটি console.log method-- তাই শুধু
এখানে একটি উদাহরণ দেখানোর জন্য.
এর এই সহজ পরিবর্তন চেষ্টা করা যাক প্লাগ-ইন কিছু তথ্য লগ ইন করুন.
আর আমরা মান আউট যুক্ত করতে হবে.
সুতরাং আসুন যে অধিকার এখানে করা পরিবর্তন করা যাক.
এখন আমি চালাতে console.log, মনে রাখবেন
এই থেকে চলমান যে ক্লায়েন্ট পাশ দিয়ে,
আমি আমার নিজের মধ্যে এই দেখতে হবে JavaScript কনসোল, যা
আমি তারপর সক্ষম হবে কিভাবে ট্রাবলশুট ডিবাগ করার চেষ্টা
আমি যে সমস্যার কিছু.
>> লক্ষ্য করুন যে, কারণ আমি আছি, SDK এর মোডে am
নিপূণভাবে তারপর পারবেন এই ইনস্ট্যান্সের মধ্যে প্লাগইন.
তাই এমনকি যদিও এই ইনস্ট্যান্সের মধ্যে সংরক্ষিত,
এই যে আগের এক উদাহরণ নিয়ম লঙ্ঘন করা হচ্ছে, যেখানে মেঘ 9
SDK এর আসলে থেকে প্লাগ-ইনের টান হবে উদাহরণস্বরূপ অন্তর্নিহিত এবং তারপর তাদের রান.
এই ভাবে, আমি তখন নই সুতরাং যে নিপূণভাবে এবং গঠন করা সক্ষম
এখানে কিছু প্লাগইন.
কিন্তু যাতে আমাকে দেখার জন্য এই প্লাগ-ইন, আপডেট
এটা ক্লায়েন্ট পাশ কারণ, আমি যে প্লাগ ইন সংরক্ষণ করা প্রয়োজন
এবং তারপর সমগ্র কর্মক্ষেত্র রিলোড, নতুন প্লাগ ইন তারপর যাতে
সম্মুখের, আমার ক্লায়েন্ট সম্মুখের ডাউনলোড আমার এরপর ওয়েব ব্রাউজার, এবং ব্যবহৃত হচ্ছে.
>> এখন আমি এই সেমিনার এ ক্লিক করলে ডায়লগ 2, আমরা এখনও এই দেখুন.
কিন্তু এখন আশা আমার জাভাস্ক্রিপ্ট মধ্যে সংলাপ, আমরা my-- অপেক্ষা দেখতে পাবেন,
অপেক্ষা কর.
আমি সংলাপ তাজা খুলতে থাকতে পারে.
আমরা এখানে আমার প্রাপ্ত তথ্য দেখতে পাবেন.
প্রাপ্ত তথ্য, হ্যালো, আপনি পুনরাহ্বান যা ড্যান,
একটি console.log অপারেশন ছিল আমরা প্লাগ ইন অনুরোধ.
তাই এই বিবরণ তারপর আমি আগে উল্লেখ যে
এই সংলাপ, বা এই চিত্রটি বরং, যে আমি
আগে উল্লেখ কি ঘটবে.
কিন্তু একটি গুরুত্বপূর্ণ আছে শুধুমাত্র উন্নয়নের জন্য ব্যতিক্রম,
যা যে প্লাগ ইন নিজেই আসলে প্রতাপ
Docker উদাহরণস্বরূপ সংরক্ষণ করা সাময়িকভাবে, সম্ভবতঃ আপনি যেহেতু মেঘ 9
আমাদের পাবে চান না তাদের যা CDN উপর বস্তু নিপূণভাবে.
>> এবং মেঘ 9 ক্লায়েন্ট, লোড করার পরে, যে যারা প্লাগ-ইনের পাবেন.
C9 ফোল্ডারে প্লাগ-, এবং যারা লোড.
কিন্তু যারা এখনও ঘটছে শুধুমাত্র ক্লায়েন্ট দিকে.
আমি তখন এই মাত্র একটি হল শুধুমাত্র দেখা যায় যে এর ব্যতিক্রম
মেঘ 9 প্লাগইনগুলির উন্নয়নের জন্য.
কিন্তু বাকি সময়ের মধ্যে এবং কারণে
আমরা কি সত্যিই চান যে এই home-- হাতুড়ি
অধিকাংশ সময় এই কারণ হয় যা CDN থেকে চলমান করা যাচ্ছে,
এবং শুধু চালানো হতে যাচ্ছে বিশুদ্ধরূপে ক্লায়েন্ট সাইড থেকে.
>> সাধারণত কোন সেখানে থাকব প্লাগ-ইন সাথে মিথস্ক্রিয়া,
অথবা এমনকি কোন করা আছে নেই নিজেদের প্লাগ-ইনের যে কারণে
আসলে সংরক্ষণ করা হয় Docker উদাহরণস্বরূপ অন্তর্নিহিত,
ক্ষেত্রে ছাড়া এই SDK উন্নয়ন.
তাই আবার, এই মাত্র পরিবর্তন সামান্য কারণ সত্য
যে আমরা SDK মোড দৌড়াচ্ছে.
এর পরে ঐ লোড যাচ্ছে উন্নয়ন থেকে প্লাগইন,
এবং এখানে একমাত্র উদ্দেশ্য যাতে হয় আমি উন্নয়ন করতে মেঘ 9 ব্যবহার করতে পারেন
মেঘ 9 প্লাগ জন্য.
কিন্তু তা সত্ত্বেও, এই পরিবর্তন করা হয় না এই কোন কাজ আবার কিভাবে.
এটা এখনও চালানো হচ্ছে সম্পূর্ণরূপে ক্লায়েন্ট দিকে.
>> এটা শুধু আমি চাই যখনই যে মানে মেঘ 9 মেঘ 9 প্লাগ-ইনের তৈরি,
আমি ঐ প্লাগ-ইনের তৈরি আমার মধ্যে তাদের করা.
আমার বাড়িতে C9 / প্লাগিন ফোল্ডার ডিরেক্টরি, আমি SDK এর মোডে আছি নিশ্চিত
আমি আসলে পৃষ্ঠা প্রত্যেক সময় রিলোড যে প্লাগ ইন পরিবর্তন করতে,
এবং কি ঘটবে দেখতে আমার JavaScript কনসোল.
শুধু আমার জাভাস্ক্রিপ্ট পরিচালনা নিশ্চিত কনসোল
কোনো সমস্যা সমাধান যে আমি সান্ত্বনা দেবার জন্য লিখুন যে তথ্য,
অথবা অন্য কিছু ঘটতে পারে আমি লিখেছি যে ত্রুটি কারণে
আমার কোড বা মত, সেখানে উপস্থিত হয়.
>> এবং সেই সঙ্গে, এটা সত্যিই যথেষ্ট শুরু, আমি মনে করি,
মেঘ 9 প্লাগ-ইনের সাথে.
বিশেষ করে SDK এর কটাক্ষপাত গ্রহণ মেঘ 9 প্রদান করে ডকুমেন্টেশন.
এটি পেতে একটি দুর্দান্ত উপায় খুব সহজে শুরু, এবং
মেঘ 9 জন্য কিছু প্লাগইন তৈরি.
এবং সেই সাথে, আমি ধন্যবাদ জানাতে চাই আমার সাথে যোগ দেওয়ার জন্য সবাইকে অনেক অনেক.
আমি আপনি মজা পাবেন আশা করি মেঘ 9 জন্য প্লাগ-ইন লেখা.
সম্ভবত প্লাগ-ইনের উন্নতি আমরা এখন, হয়তো বা এমনকি আছে
আপনার নিজের কিছু কার্যকারিতা যোগ.
আমরা দেখা সানন্দে এটা কি আপনি তৈরি.
তখন পর্যন্ত, Bye.