|
51 | 51 |
|
52 | 52 | উদাহরণস্বরূপ, ব্রাউজারে জাভাস্ক্রিপ্ট যা করতে সক্ষম:
|
53 | 53 |
|
54 |
| -- ওয়েবপেজে নতুন HTML যুক্ত করা, বিদ্যমান সামগ্রী পরিবর্তন করা, ডিজাইনে সংশোধন করা । |
55 |
| -- ব্যবহারকারীর ক্রিয়াগুলির প্রতিক্রিয়া জানান, মাউস ক্লিকগুলিতে চলা, মাউস পয়েন্টার এর গতিবিধি, কীবোর্ড ব্যবহার করা। |
56 |
| -- নেটওয়ার্কের মাধ্যমে দূরবর্তী সার্ভারগুলিতে রিকোয়েস্ট পাঠানো, ফাইল ডাউনলোড এবং আপলোড করা (উল্লেখযোগ্য [AJAX](https://bn.wikipedia.org/wiki/Ajax_(programming) এবং [COMET](https://bn.wikipedia.org/wiki/Comet_(programming)) technologies). |
57 |
| -- কুকিজ আনা এবং সেট করা, ব্যবহারকারীদের কাছে প্রশ্ন জিজ্ঞাসা করা, বার্তা দেখান। |
58 |
| -- ক্লায়েন্ট-সাইড ("লোকাল স্টোরেজ") তথ্য সংরক্ষণ করবে । |
| 54 | +- ওয়েবপেজে নতুন HTML যুক্ত করা, পেইজ এর কন্টেন্ট পরিবর্তন করা, ডিজাইনে সংশোধন করা । |
| 55 | +- ব্যবহারকারীর একশন, মাউসের ক্লিক, মাউস পয়েন্টার এর নড়াচড়া এবং কীবোর্ড এ কি চাপলে প্রতিক্রিয়া জানানো। |
| 56 | +- রিমোট সার্ভার এ রিকুয়েস্ট পাঠানো, ফাইল ডাউনলোড এবং আপলোড করা (উল্লেখযোগ্য [AJAX](https://bn.wikipedia.org/wiki/Ajax_(programming) এবং [COMET](https://bn.wikipedia.org/wiki/Comet_(programming)) technologies). |
| 57 | +- কুকিজ আনা এবং সেট করা, ব্যবহারকারীদের কাছে প্রশ্ন জিজ্ঞাসা করা, ম্যাসেজ দেখানো। |
| 58 | +- ক্লায়েন্ট-সাইড ("লোকাল স্টোরেজ") এ ডেটা সংরক্ষণ করা। |
59 | 59 |
|
60 | 60 | ## জাভাস্ক্রিপ্ট ব্রাউজারে কী করতে পারে না?
|
61 | 61 |
|
62 | 62 | ব্রাউজারে জাভাস্ক্রিপ্টের ক্ষমতাগুলি ব্যবহারকারীর সুরক্ষার জন্য সীমাবদ্ধ। উদ্দেশ্যটি হ'ল কোনও খারাপ ওয়েবপেজকে ব্যক্তিগত তথ্যে প্রবেশ করা বা ব্যবহারকারীর ডেটা ক্ষতিগ্রস্থ করা থেকে বিরত রাখা।
|
63 | 63 |
|
64 | 64 | এই জাতীয় বিধিনিষেধের উদাহরণগুলির মধ্যে রয়েছে:
|
65 | 65 |
|
66 |
| -- একটি ওয়েবপেজে জাভাস্ক্রিপ্ট হার্ড ডিস্কে স্বেচ্ছাসেবী ফাইলগুলি পড়তে / লিখতে, সেগুলি কপি করতে বা প্রোগ্রামগুলি চালাতে পারে না। এটির ওএস সিস্টেমের কার্যগুলিতে সরাসরি প্রবেশাধিকার নেই। |
| 66 | +- একটি ওয়েবপেজে জাভাস্ক্রিপ্ট হার্ড ডিস্কে যেকোনো ফাইল পড়তে / লিখতে, সেগুলি কপি করতে বা প্রোগ্রামগুলি চালাতে পারে না। এটির ওএস এর সিস্টেম ফাংশন গুলির সরাসরি এক্সেস নেই। |
67 | 67 |
|
68 |
| - আধুনিক ব্রাউজারগুলি এটিকে ফাইলগুলির সাথে কাজ করার অনুমতি দেয়, তবে প্রবেশাধিকার সীমাবদ্ধ এবং কেবলমাত্র যদি ব্যবহারকারী নির্দিষ্ট কিছু কাজ করেন যেমন ব্রাউজার উইন্ডোতে একটি ফাইল "ড্রপ" করা বা একটি "<input>" `ট্যাগের মাধ্যমে নির্বাচন করা। |
| 68 | + আধুনিক ব্রাউজারগুলি এটিকে ফাইল নিয়ে কাজ করার অনুমতি দেয়, তবে এর এক্সেস সীমাবদ্ধ এবং কেবলমাত্র যদি ব্যবহারকারী নির্দিষ্ট কিছু কাজ করেন যেমন ব্রাউজার উইন্ডোতে একটি ফাইল "ড্রপ" করা বা একটি "<input>" `ট্যাগের মাধ্যমে ফাইল সিলেক্ট করা। |
69 | 69 |
|
70 |
| - ক্যামেরা / মাইক্রোফোন এবং অন্যান্য যন্ত্রগুলির সাথে ইন্টারঅ্যাক্ট করার উপায় রয়েছে তবে তাদের ব্যবহারকারীর সুস্পষ্ট অনুমতি প্রয়োজন। সুতরাং একটি জাভাস্ক্রিপ্ট-সক্ষম ওয়েবপেজে সাধারণ ভাবে কোনও ওয়েব-ক্যামেরা সক্ষম করতে পারে না, পার্শ্ববর্তী স্থানটি পর্যবেক্ষণ করে এবং তথ্যটি [NSA](https://bn.wikedia.org/wiki/National_Security_Agency) তে প্রেরণ করতে পারে। |
71 |
| -- বিভিন্ন ট্যাব / উইন্ডো সাধারণত একে অপরের সম্পর্কে জানে না। কখনও কখনও তারা যা করে, উদাহরণস্বরূপ যখন একটি উইন্ডো থেকে অন্যটি খুলতে জাভাস্ক্রিপ্ট ব্যবহার করে। তবে এই ক্ষেত্রেও, যদি একটি সাইট থেকে জাভাস্ক্রিপ্ট অন্য সাইটে (অন্য কোনও ডোমেন, প্রোটোকল বা পোর্ট থেকে) আসে তবে অন্যটির কোন প্রবেশের অনুমতি থাকে না। |
| 70 | + ক্যামেরা / মাইক্রোফোন এবং অন্যান্য যন্ত্রগুলির সাথে ইন্টারঅ্যাক্ট করার উপায় রয়েছে তবে তাদের ব্যবহারকারীর সুস্পষ্ট অনুমতি প্রয়োজন। সুতরাং একটি জাভাস্ক্রিপ্ট-সক্ষম ওয়েবপেজ চাইলেই কোনও ওয়েব-ক্যামেরা চালু করতে পারে না, আশেপাশের কোন কিছু দেখতে পারে না এবং [NSA](https://bn.wikedia.org/wiki/National_Security_Agency) এর কাছে সেগুলি পাঠাতে পারে না। |
| 71 | +- ভিন্ন ভিন্ন ট্যাব / উইন্ডো সাধারণত একে অপরের সম্পর্কে জানে না। কখনও কখনও তারা জানে, যেমন, যখন একটি উইন্ডো জাভাস্ক্রিপ্ট ব্যবহার করে আরেকটি উইন্ডো খুলে। তবে এই ক্ষেত্রেও, যদি ভিন্ন কোন সাইট থেকে (অন্য কোনও ডোমেন, প্রোটোকল বা পোর্ট থেকে) আসে তবে এক পেইজের জাভাস্ক্রিপ্ট অন্য পেইজের এক্সেস পায় না। |
72 | 72 |
|
73 | 73 | একে "same source policy" বলা হয়। এই কাজটি করার জন্য, * উভয় পেজে * অবশ্যই ডেটা আদান-প্রদান এর সাথে সম্মতি থাকতে হবে এবং একটি বিশেষ জাভাস্ক্রিপ্ট কোড থাকতে পারে যা এটি পরিচালনা করে। আমরা এগুলো টিউটোরিয়ালে আলোচনা করব।
|
74 | 74 |
|
75 | 75 | এই সীমাবদ্ধতাটিও ব্যবহারকারীর সুরক্ষার জন্য। এই সাইটটির `http: // anysite.com` একটি পেজে যা ব্যাবহারকারী খুলে রেখেছে অবশ্যই তা অন্য কোনো ট্যাবে খুলে রাখা সাইটে URL- `http: // gmail.com` প্রবেশ করতে এবং সেখান থেকে তথ্য চুরি করতে সক্ষম হবে না।
|
76 |
| -- জাভাস্ক্রিপ্ট সহজেই ইন্টারনেট থেকে সার্ভারে যোগাযোগ করতে পারে যেখান থেকে বর্তমান পেজটি এসেছে। তবে অন্যান্য সাইট / ডোমেন থেকে ডেটা গ্রহণের ক্ষমতা বেমানান। যদিও সম্ভব,তবে এটির দূরবর্তী দিক থেকে সুস্পষ্ট চুক্তি (HTTP প্রোটোকলের হেডারে বর্ণনা করা হয়েছে) প্রয়োজন। এটিও একটি সুরক্ষা সীমাবদ্ধতা। |
| 76 | +- জাভাস্ক্রিপ্ট সহজেই ইন্টারনেট এর মাধ্যমে সার্ভারে যোগাযোগ করতে পারে যেখান থেকে বর্তমান পেজটি এসেছে। তবে অন্যান্য সাইট / ডোমেন থেকে ডেটা গ্রহণের ক্ষমতা এর নেই। যদিও এটি সম্ভব, তবে এর জন্যে রিমোট সার্ভার এর সাথে আলাদা চুক্তি (HTTP headers এ বর্ণনা করা হয়েছে) থাকতে হবে। এটিও একটি সুরক্ষা সীমাবদ্ধতা। |
77 | 77 |
|
78 | 78 | 
|
79 | 79 |
|
80 |
| -জাভাস্ক্রিপ্ট যদি ব্রাউজারের বাইরে ব্যবহার করা হয় তবে কোনও সার্ভারেই এই জাতীয় সীমাবদ্ধতা নেই। আধুনিক ব্রাউজারগুলি প্লাগইন / এক্সটেনশনের অনুমতি দেয় যা বর্ধিত অনুমতি চাইতে পারে। |
| 80 | +জাভাস্ক্রিপ্ট যদি ব্রাউজারের বাইরে ব্যবহার করা হয় তবে এসব সীমাবদ্ধতা থাকে না, যেমন সার্ভার। আধুনিক ব্রাউজারগুলি প্লাগইন / এক্সটেনশন গুলিকে অতিরিক্ত পার্মিশন চেয়ে নিতে দেয়। |
81 | 81 |
|
82 | 82 | ## কী জাভাস্ক্রিপ্টকে অতুলনীয় করে তোলে?
|
83 | 83 |
|
|
90 | 90 | ```
|
91 | 91 | জাভাস্ক্রিপ্ট একমাত্র ব্রাউজার প্রযুক্তি যা এই তিনটি জিনিসকে একত্রিত করে।
|
92 | 92 |
|
93 |
| -এটিই জাভাস্ক্রিপ্টকে অনন্য করে তোলে। এ কারণেই এটি ব্রাউজার ইন্টারফেস তৈরির জন্য সর্বাধিক বিস্তৃত সরঞ্জাম। |
| 93 | +এটিই জাভাস্ক্রিপ্টকে অনন্য করে তোলে। এ কারণেই এটি ব্রাউজার ইন্টারফেস তৈরির জন্য সবচেয়ে জনপ্রিয় টুল। |
94 | 94 |
|
95 |
| -বলা হয়ে থাকে, জাভাস্ক্রিপ্ট দিয়ে সার্ভার, মোবাইল অ্যাপ্লিকেশন ইত্যাদি তৈরি করা যাই। |
| 95 | +বলা হয়ে থাকে, জাভাস্ক্রিপ্ট দিয়ে সার্ভার, মোবাইল অ্যাপ্লিকেশন ইত্যাদি তৈরি করা যায়। |
96 | 96 |
|
97 | 97 | ## জাভাস্ক্রিপ্ট এর "উপর" প্রোগ্রামিং ভাষাগুলো
|
98 | 98 |
|
99 |
| -জাভাস্ক্রিপ্টের শব্দবিন্যাস সবার প্রয়োজনের সাথে খাপ খায় না। বিভিন্ন লোক বিভিন্ন বৈশিষ্ট্য চায়। |
| 99 | +জাভাস্ক্রিপ্টের সিনট্যাক্স সবার প্রয়োজনের সাথে খাপ খায় না। বিভিন্ন লোক বিভিন্ন বৈশিষ্ট্য চায়। |
100 | 100 |
|
101 |
| -এটি প্রত্যাশা করা উচিত, কারণ প্রজেক্ট এবং প্রয়োজনীয়তা সবার জন্য আলাদা। |
| 101 | +এটাই অবশ্য স্বাভাবিক, কারণ প্রজেক্ট এবং প্রয়োজনীয়তা সবার জন্য আলাদা। |
102 | 102 |
|
103 | 103 | সুতরাং সম্প্রতি নতুন ভাষাগুলির আধিক্য উপস্থিত হয়েছে, যা ব্রাউজারে চালানোর আগে জাভাস্ক্রিপ্টে *ট্রান্সপাইল* (রূপান্তরিত) হয়।
|
104 | 104 |
|
105 |
| -আধুনিক সরঞ্জামগুলি এই প্রতিস্থাপনটিকে খুব দ্রুত এবং স্বচ্ছ করে তোলে, যা আসলে ডেভেলপার দের অন্য প্রোগ্রামিং ভাষায় কোড করার অনুমতি দেয় এবং এটিকে অভ্যন্তরে ("Under the hood") স্বয়ংক্রিয়ভাবে রূপান্তরিত করে। |
| 105 | +আধুনিক টুলগুলি এই ট্রান্সপাইলেশনকে খুব দ্রুত এবং স্বচ্ছ করে তোলে, যা আসলে ডেভেলপার দের অন্য প্রোগ্রামিং ভাষায় কোড করার সুযোগ দেয় এবং এটিকে অভ্যন্তরে ("Under the hood") স্বয়ংক্রিয়ভাবে রূপান্তরিত করে। |
106 | 106 |
|
107 | 107 | এই জাতীয় প্রোগ্রামিং ভাষার উদাহরণ:
|
108 | 108 |
|
|
0 commit comments