1 00:00:00,000 --> 00:00:02,570 [Powered by Google Translate] [সপ্তাহ 9] 2 00:00:02,570 --> 00:00:04,740 [ডেভিড জে Malan - হার্ভার্ড বিশ্ববিদ্যালয়] 3 00:00:04,740 --> 00:00:07,170 [এটি CS50. - CS50.TV] 4 00:00:07,170 --> 00:00:12,350 ঠিক আছে. ফিরে আসার জন্য স্বাগতম. এটি CS50, এবং এই সপ্তাহে 9 শুরু. 5 00:00:12,350 --> 00:00:16,600 বিশেষ করে আজ আমরা C-এর প্রেক্ষাপটে ফোকাস নকশা, আর উপর 6 00:00:16,600 --> 00:00:20,010 কিন্তু মধ্যে PHP 'র কনটেক্সট এবং এসকিউএল একটি বিট এবং জাভাস্ক্রিপ্ট একটি বিট, 7 00:00:20,010 --> 00:00:23,730 বিশেষ করে উভয় দিকে pset 7 শেষ এবং আপনার চূড়ান্ত প্রকল্প. 8 00:00:23,730 --> 00:00:26,310 বস্তুত, যদি এক পর্যায়ে আপনি আপনার চূড়ান্ত প্রকল্প আছে 9 00:00:26,310 --> 00:00:30,100 যেখানে সম্ভবতঃ হিসাবে একটি ঘন্টা বা তাই আগে আপনি অন্তত কিছু চিন্তার দিতে শুরু 10 00:00:30,100 --> 00:00:33,730 আপনার চূড়ান্ত প্রকল্প এবং আপনি 1 বা 2 সহপাঠীদের সাথে সহযোগিতা চাই চিন্তা করছি, 11 00:00:33,730 --> 00:00:36,150 যদি আপনার সমস্যা হয় সংযোগ সহপাঠীদের সঙ্গে বলেন, 12 00:00:36,150 --> 00:00:40,570 যাও cs50.net/partners/form এ ফর্মটি পূরণ দ্বিধা বোধ করবেন না. 13 00:00:40,570 --> 00:00:42,880 এটি শুধু অনুরোধ আপনি কে, কি ধরনের প্রকল্পের আপনি চিন্তা করছেন, 14 00:00:42,880 --> 00:00:44,870 যেখানে আপনি শুধু যৌক্তিক কারণে বাস. 15 00:00:44,870 --> 00:00:49,510 এবং আপনি যদি পরের সপ্তাহে তাই বা স্প্রেডশীট সেখানে URL-এর উপর নজর রাখতে চাই, 16 00:00:49,510 --> 00:00:53,520 তারপর আপনি একটি গুগুল ডক এর শুধুমাত্র পাঠযোগ্য সংস্করণ দেখতে পারেন 17 00:00:53,520 --> 00:00:56,010 যা আমরা যে তথ্য সংগ্রহ করছি. 18 00:00:56,010 --> 00:00:58,930 সব উপায়ে যদি আপনি কারও সাথে কাজ করতে চান, মনে ব্যক্তিদের কাছে পৌঁছাতে বিনামূল্যে 19 00:00:58,930 --> 00:01:00,480 এর মাধ্যমে যে প্রক্রিয়া. 20 00:01:00,480 --> 00:01:02,690 কিন্তু লোকেরা অধিকাংশ কাজ একাকী না. এটা সম্পূর্ণই সূক্ষ্ম. 21 00:01:02,690 --> 00:01:06,120 তাই যে কোন ভাবেই এই বাধ্যতামূলক হয় না মনে. 22 00:01:06,120 --> 00:01:09,680 এটি শুক্রবার ঠিক ছিল আমার এবং দলের কোনো এখানে খুব কম, 23 00:01:09,680 --> 00:01:11,100 অধিকাংশ অংশ জন্য খালি থিয়েটার. 24 00:01:11,100 --> 00:01:14,600 হয় 3 পর্যটকদের বসা পর্যন্ত উঠে আসে, যাতে ছিল একটু অসুবিধাজনক. 25 00:01:14,600 --> 00:01:18,970 কি আমরা স্বপ্ন ছিল উপাত্ত এবং আমরা pset 7 সামান্য বিট সম্পর্কে বললাম. 26 00:01:18,970 --> 00:01:22,200 এবং যদি আপনি ভিডিওতে যে এখনও পারিনি ঘটেছে, যে সূক্ষ্ম. 27 00:01:22,200 --> 00:01:26,770 আমি যে কোন শর্ত সংজ্ঞায়িত যা অন্যথায় আমরা নিতে জন্য দেওয়া হবে চেষ্টা করব 28 00:01:26,770 --> 00:01:28,840 শুক্রবার বক্তৃতা এর উপর ভিত্তি করে. 29 00:01:28,840 --> 00:01:32,550 >> কিন্তু আজ আমরা বিন্দু থেকে আপনি পেতে চেষ্টা করে যাচ্ছেন 30 00:01:32,550 --> 00:01:34,990 হচ্ছে শুধুমাত্র pset 7 ভালো কিছু করতে পারবেন না 31 00:01:34,990 --> 00:01:37,360 কিন্তু সত্যিই বুঝতে কি ফণা এর নীচে যাওয়া, 32 00:01:37,360 --> 00:01:41,910 বিশেষত abstractions যে জায়গায় আমরা functions.php ফাইল রাখা কিছু 33 00:01:41,910 --> 00:01:45,780 আপনার জীবনের একটি বিট সহজতর করে তুলতে যাতে কিন্তু যে শেষ পর্যন্ত আপনি বুঝতে 34 00:01:45,780 --> 00:01:48,760 যাতে যখন প্রশিক্ষণের চাকার কয়েক সপ্তাহ আসা বন্ধ করতে এখনও বেঁচে থাকতে পারে 35 00:01:48,760 --> 00:01:53,750 বাস্তব জগতে কোনো এবং আপনি পুনরায় নীচের স্তরের CS50 ফ্রেমওয়ার্ক ছাড়া এই উপাদান না. 36 00:01:53,750 --> 00:01:57,500 এই $ আপনাদের মধ্যে যারা পরিচিত জন্য _SESSION, 37 00:01:57,500 --> 00:02:01,960 অথবা যারা ইতিমধ্যে শুক্রবার ভিডিও ধরা কি, আমাদের সময় কি না দেওয়া 38 00:02:01,960 --> 00:02:04,330 একটি পিএইচপি ভিত্তিক ওয়েব অ্যাপ্লিকেশন? 39 00:02:04,330 --> 00:02:09,650 এটি একটি superglobal পরিবর্তনশীল, যার অর্থ এটি আত্মা মধ্যে অনুরূপ এবং GET পোস্ট 40 00:02:09,650 --> 00:02:13,970 এবং কয়েক অন্যদের, কিন্তু কি জিনিস এই জন্য দরকারী? 41 00:02:13,970 --> 00:02:18,320 >> কি সেশনের জন্য ব্যবহৃত হয়? হাঁ. [ছাত্রদের] লগ ইন 42 00:02:18,320 --> 00:02:21,040 দুঃখিত? [ছাত্রদের] লগ ইন লগিং প্রকৃতপক্ষে ইন. 43 00:02:21,040 --> 00:02:25,100 Pset 7 ইঞ্চি আমরা এই সময় superglobal যাও লগ ইন করার সুবিধার্থে ব্যবহার করছেন 44 00:02:25,100 --> 00:02:28,600 এবং কি এই superglobal সম্পর্কে চমৎকার হয় যে এটা একটা মিশুক অ্যারে. 45 00:02:28,600 --> 00:02:33,190 একটি এসসিয়েতিভ আরে, রিকল, শুধুমাত্র একটি অ্যারের তবে যাদের সূচকসমূহ নেই সংখ্যা হতে হবে 46 00:02:33,190 --> 00:02:37,670 ভালো 012. তারা সংখ্যা হতে পারে অথবা তারা এমনকি স্ট্রিং হতে পারে. 47 00:02:37,670 --> 00:02:44,890 এবং তাই আপনি যদি এখনো pset 7 মধ্যে dived করেছি, আপনি যে আমরা একটি কী বলা আইডি সংরক্ষণ করা হয় প্রত্যাহার করা হতে পারে 48 00:02:44,890 --> 00:02:50,330 এই এসসিয়েতিভ আরে যার মান 123 মত কিছু ভিতর - 49 00:02:50,330 --> 00:02:53,780 যাই হোক না কেন বর্তমানে এর ইউজার আইডি লগ ইন করা হয়. 50 00:02:53,780 --> 00:02:59,470 এই জন্য প্রেরণার এমনকি পরে ব্যবহারকারী localhost পরিদর্শন করেনি 51 00:02:59,470 --> 00:03:02,720 আমার ওয়েবসাইট বা আরো সাধারণভাবে এবং তারপর তারা লগ ইন করেছি, 52 00:03:02,720 --> 00:03:07,320 এমনকি যদি তারা ক্লিক না করেন অথবা কোনো লিঙ্ক 5 মিনিটের জন্য আমার ওয়েবসাইট ফিরে 53 00:03:07,320 --> 00:03:10,730 অথবা এমনকি একটা ঘন্টা বা দিনের কিন্তু তারা তাদের ব্রাউজার উইন্ডোতে খোলা ছেড়ে, 54 00:03:10,730 --> 00:03:14,370 আমি এই superglobal মাধ্যমে মনে করতে পারেন যে তারা লগ ইন 55 00:03:14,370 --> 00:03:21,140 >> অন্য কথায়, এটা সম্পর্কে সামান্য কিছু আমি একটি দীর্ঘমেয়াদী ব্যবহারকারী সম্পর্কে চান স্টোর করতে পারবেন. 56 00:03:21,140 --> 00:03:24,390 এবং আপনি কি সত্যিই এটি একটি শপিং কার্ট এর আবির্ভাব হিসাবে মনে করতে পারেন. 57 00:03:24,390 --> 00:03:27,740 আমাজন মত জায়গা সম্ভবত আপনাকে একটি শপিং কার্ট মধ্যে জিনিষ করা, 58 00:03:27,740 --> 00:03:32,230 কিন্তু যে HTTP, প্রোটোকলের সাহায্যে ওয়েব ক্ষমতা, হয় আড়ম্বরহীন 59 00:03:32,230 --> 00:03:34,230 এ অর্থে যে আপনি যখন একটি ওয়েবসাইট দেখুন, 60 00:03:34,230 --> 00:03:37,290 অধিকাংশ অংশ জন্য আপনি কিছু ধ্রুবক নেটওয়ার্ক সংযোগ না 61 00:03:37,290 --> 00:03:39,270 মধ্যে আপনার ব্রাউজার এবং সার্ভার. 62 00:03:39,270 --> 00:03:42,190 যত তাড়াতাড়ি আপনি HTML এবং JPEGs এবং gifs ডাউনলোড করেছি এবং সকল যে, 63 00:03:42,190 --> 00:03:48,200 সংযোগ দূরে চলে যায় এবং আপনি কেবল HTML এবং যাবদ্ধর একটি সার্ভার থেকে কপি আছে. 64 00:03:48,200 --> 00:03:53,000 কিন্তু যদি সার্ভারে আপনার সম্পর্কে কিছু মনে রাখতে চায়, 65 00:03:53,000 --> 00:03:57,580 বোঝা সার্ভারের প্রকৃতপক্ষে যে তথ্য রেকর্ড করা হয়. 66 00:03:57,580 --> 00:04:00,130 এবং যাতে আপনি প্রোগ্রামার কে সার্ভারের উপর নিয়ন্ত্রণ আছে 67 00:04:00,130 --> 00:04:04,400 এই superglobal এসসিয়েতিভ আরে অধিকাংশ আপনি যা চান, এর ভিতরে বসাতে পারেন 68 00:04:04,400 --> 00:04:06,850 এবং সেখানে পরবর্তী সময় ফিরে আসে ব্যবহারকারী হতে হবে, 69 00:04:06,850 --> 00:04:12,070 এটি মিনিট বা এমনকি দিনের পরে, যদি না তারা তাদের ব্রাউজার উইন্ডো বন্ধ, 70 00:04:12,070 --> 00:04:14,360 এ সময় বিন্দু দেখা যাবে না. 71 00:04:14,360 --> 00:04:17,779 এটা ক্ষণজীবী স্টোরেজ, এটা পরিবর্তিত, এবং এটা ভাগো সেসব 72 00:04:17,779 --> 00:04:22,360 যত তাড়াতাড়ি তাদের ব্রাউজার ব্যবহারকারী প্রচেষ্টা - ট্যাব, শুধু যে প্রায়ই সমগ্র ব্রাউজার, 73 00:04:22,360 --> 00:04:24,930 যার ফলে কার্যকরীভাবে ইউজার লগ আউট করে দিচ্ছি. 74 00:04:24,930 --> 00:04:28,000 সুতরাং কিভাবে আসলে এই ব্যাপার প্রয়োগ? 75 00:04:28,000 --> 00:04:31,360 যাক এর একটি সহজ উদাহরণ আমরা শুক্রবার দিকে তাকিয়ে এ দ্রুত কটাক্ষপাত. 76 00:04:31,360 --> 00:04:33,340 যারা অপরিচিত জন্য, এটি ছিল এই হিসাবে হিসাবে সহজ. 77 00:04:33,340 --> 00:04:35,910 এটি একটি ওয়েব পাতা যার একমাত্র উদ্দেশ্য জীবনের যাও সম্পর্কে বলতে হয় 78 00:04:35,910 --> 00:04:38,000 কতবার আমি এই পৃষ্ঠাটি পরিদর্শন করেছেন. 79 00:04:38,000 --> 00:04:41,670 এটি প্রথম সোমবার সময় এখানে যে আমি এটি পরিদর্শন করেন, তাই এটি 0 বার. 80 00:04:41,670 --> 00:04:46,940 >> কিন্তু যদি আমি শুরু করে এই পৃষ্ঠাটি পুনরায় লোড করার সময় এটি 1, 2, 3, 4, 5 বলছেন, 81 00:04:46,940 --> 00:04:49,800 এবং অবশেষে এই গণনা পর্যন্ত মাত্র, রাখতে হবে আপ, আপ, আপ, আপ 82 00:04:49,800 --> 00:04:53,130 প্রতিটি সময় জন্য আসলে আমি পুনঃ লোড করুন ক্লিক করুন. 83 00:04:53,130 --> 00:04:58,830 সুতরাং কিভাবে এই কাজ? আমাকে ভিতরে এই ফাইলটি নামক counter.php অফ যান. 84 00:04:58,830 --> 00:05:02,490 এটি উপরের ভাগে সব মতামত নীল, কিন্তু আকর্ষণীয় অংশ এখানে দেওয়া হল. 85 00:05:02,490 --> 00:05:06,670 লাইন 13 আমরা এই ফাংশন কল session_start, 86 00:05:06,670 --> 00:05:09,600 এবং যে আক্ষরিক অর্থ হল সমস্ত আপনাকে যদি আপনি অ্যাক্সেস থাকতে চান 87 00:05:09,600 --> 00:05:13,610 এই বিশেষ superglobal $ নামক _SESSION. 88 00:05:13,610 --> 00:05:17,430 যে এটি সব সম্ভব, এবং আমরা একটি মুহূর্ত কিভাবে যে সমস্ত সম্ভাব্য মধ্যে দেখতে পাবেন. 89 00:05:17,430 --> 00:05:20,350 ইন লাইন 16 বিজ্ঞপ্তি আমি কি করছি. 90 00:05:20,350 --> 00:05:25,960 যদি কী, বলা পাল্টা - অন্য কথায়, সূচক মান - "প্রতি" 91 00:05:25,960 --> 00:05:32,310 এই অ্যারের ভিতরে বিদ্যমান সময় বলা হয়, তাহলে কি আমি এটা দিয়ে কাজ নীচের লাইনে? 92 00:05:32,310 --> 00:05:36,650 লাইন 18 কি করছে? 93 00:05:36,650 --> 00:05:40,360 >> [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] কি যে? [ছাত্রদের] মান স্টোরিং. গুড. 94 00:05:40,360 --> 00:05:45,800 এটা মান সময় যে সংরক্ষণকারী একটি নতুন স্থানীয় অস্থায়ী পরিবর্তনশীল এর মধ্যে ডান এখন, 95 00:05:45,800 --> 00:05:48,250 সব ছোট হাতের মধ্যে $ পাল্টা. 96 00:05:48,250 --> 00:05:50,770 উল্লেখ্য, ইতিমধ্যে পিএইচপি হচ্ছে একটু অলস এখানে. 97 00:05:50,770 --> 00:05:55,550 আমরা int বা float অথবা পংক্তি বা ভালো কিছু কোন উল্লেখই নেই উল্লেখ্য 98 00:05:55,550 --> 00:06:00,480 কারণ স্বাস্থ্যহীন পিএইচপি টাইপ করা হলে, যেখানে আপনি একটি পরিবর্তনশীল ধরণ উল্লেখ করতে হবে না, 99 00:06:00,480 --> 00:06:03,310 এবং এখানে এই ক্ষেত্রে আমি এটা ঘোষণা করেছেন এমনকি না এখনো. 100 00:06:03,310 --> 00:06:08,980 আমি এটি প্রকাশক ভিতরে এইসব কোঁকড়া ধনুর্বন্ধনী এর করছি এবং সি অসদৃশ, এই আসলে ঠিক আছে. 101 00:06:08,980 --> 00:06:13,800 কোন ব্যাপার কিভাবে গভীরভাবে একটি পরিবর্তনশীল এর ঘোষণা নেস্টেড পিএইচপি হয় - 102 00:06:13,800 --> 00:06:16,650 কোঁকড়া কোঁকড়া ভিতরে বক্রবন্ধনী এবং মত বক্রবন্ধনী, ভেতরে - 103 00:06:16,650 --> 00:06:21,230 যে মুহূর্তে এটি সময় বিদ্যমান প্রোগ্রাম অবশিষ্টাংশ হবে, 104 00:06:21,230 --> 00:06:22,680 ভালো বা খারাপ জন্য. 105 00:06:22,680 --> 00:06:26,930 তাই অবিলম্বে তা বিশ্বব্যাপী যত তাড়াতাড়ি আপনি এটি হিসাবে এখানে আমরা সংজ্ঞায়িত করছেন. 106 00:06:26,930 --> 00:06:31,620 >> অন্যথায়, যদি আমি যে সময় superglobal মধ্যে কিছু আছে না খুঁজে, 107 00:06:31,620 --> 00:06:34,680 আমি দৃশ্যত 0 করছি এই পরিবর্তনশীল পাল্টা আরম্ভ করা, 108 00:06:34,680 --> 00:06:37,580 যার ফলে শুধু অভিমানী ব্যবহারকারী এখানে করেনি আগে কখনো ছিল না. 109 00:06:37,580 --> 00:06:40,030 এবং অবশ্যই এই তারপর পাল্টা বৃদ্ধিশীল কিভাবে হয়? 110 00:06:40,030 --> 00:06:44,480 আমি এই মিশুক অ্যারের মান যে এর ভিতরে আপডেট করছি 111 00:06:44,480 --> 00:06:49,530 দ্বারা সেট যাই হোক না কেন এটি পাল্টা বর্তমানে + 1 টি সমান. 112 00:06:49,530 --> 00:06:53,520 যদি আমি স্ক্রল পৃষ্ঠার HTML এখানে নিচে, এটা আসলে বেশ সহজ. 113 00:06:53,520 --> 00:06:58,920 সমস্ত আমি এই পাতা মূল অংশের মধ্যে আছে, না "আপনি তাই এবং তাই-বার এই সাইটটি পরিদর্শন করেন." 114 00:06:58,920 --> 00:07:00,350 এবং এই একটি পিএইচপি কনস্ট্রাক্ট. 115 00:07:00,350 --> 00:07:06,080 আপনি যদি না 00:07:12,600 এটা printf ভালো কিছু, যা আমরা সি অনেকবার করেছি দেখা যাও সত্যিই সমতুল্য, 117 00:07:12,600 --> 00:07:15,940 যদিও হিসাবে আপনি pset 7 বৈশিষ্ট থেকে ইতিমধ্যে জানতে পারেন, 118 00:07:15,940 --> 00:07:20,160 মুদ্রণ এছাড়াও একটি ফাংশন যে কিছু ছাপে আউট, এটা আসলে ফরম্যাট কোড ব্যবহার করে না, 119 00:07:20,160 --> 00:07:23,270 এবং আপনি আসলে প্রতিধ্বনি হিসাবে ভাল বলতে পারেন. 120 00:07:23,270 --> 00:07:27,460 এগুলি সব অত্যন্ত সামান্য ভিন্ন যদিও নেট প্রভাব পরিণামে একই. 121 00:07:27,460 --> 00:07:31,270 তাই এই চিহ্ন ব্যবহার সমান একটি এরকম মার্জিত ভাবে ঠিক সাজানোর 122 00:07:31,270 --> 00:07:34,910 আরো succinctly তুলনায় অন্যথায় আপনি সক্ষম হবেন. 123 00:07:34,910 --> 00:07:38,370 সুতরাং যে সব এই সাইট আছে. সেটা ছাপে কাউন্টার মান আউট. 124 00:07:38,370 --> 00:07:40,550 কিভাবে এই সব না আসলে কি ঘটছে? 125 00:07:40,550 --> 00:07:43,250 আপনি সপ্তাহে প্রত্যাহার বা তাই আগে আমরা শুরু ফণা নীচে খুঁজছেন হতে পারে 126 00:07:43,250 --> 00:07:47,910 এ কিভাবে একটি ওয়েব পাতা পরিদর্শক এই ট্যাবটি ব্যবহার করে কাজ করে. 127 00:07:47,910 --> 00:07:51,900 >> Chrome-এর ম্যাক সংস্করণ, Windows সংস্করণের, এমনকি এবং Linux সংস্করণের মধ্যে এই উভয় আছে, 128 00:07:51,900 --> 00:07:59,510 এবং ফায়ারফক্স এবং ইন্টারনেট অনুরূপ প্রক্রিয়া আছে যেখানে আপনি এই বিল্ট ইন ডিবাগার আছে 129 00:07:59,510 --> 00:08:01,400 ভিতর ব্রাউজার. 130 00:08:01,400 --> 00:08:03,040 চলুন নিম্নলিখিত কটাক্ষপাত করা. 131 00:08:03,040 --> 00:08:06,960 আমরা একটি ট্যাব আভা করেছি এখানে পেয়েছি, এবং leftmost একটি উপাদানসমূহ প্রত্যাহার, 132 00:08:06,960 --> 00:08:10,700 এবং কোন ব্যাপার কিভাবে godawful HTML এবং জাভাস্ক্রিপ্ট একটি পাতা আছে, 133 00:08:10,700 --> 00:08:15,710 পুনরাহ্বান যে উপাদানসমূহ ট্যাব সঙ্গে আপনি আসলে HTML এর hierarchically নেভিগেট করতে পারেন 134 00:08:15,710 --> 00:08:17,050 এবং সুন্দর এবং সুন্দরভাবে. 135 00:08:17,050 --> 00:08:19,370 তাই আপনি যদি Google বা Facebook-এর মতো একটি ওয়েবসাইট থেকে জানতে চেষ্টা করছেন 136 00:08:19,370 --> 00:08:22,370 অথবা সত্যিই কোনো ওয়েবসাইট, বুঝতে পারছি যে আপনি সম্ভবত বন্ধ ভাল 137 00:08:22,370 --> 00:08:26,360 খুঁজছি সোর্স কোড এই ভাবে কাঁচা উৎস দেখছেন উল্টোদিকে, 138 00:08:26,360 --> 00:08:29,580 যা একটি জগাখিচুড়ি, হতে পারে আমরা বিশেষত হিসাবে Google এর সাইট দেখা করেছি. 139 00:08:29,580 --> 00:08:32,220 সুতরাং যদি আমি পরিবর্তে নেটওয়ার্ক ট্যাবে ক্লিক করুন এখানে, 140 00:08:32,220 --> 00:08:34,830 এর দিন দেখতে কি যখন আমি এই পৃষ্ঠা পরিদর্শন করছেন. 141 00:08:34,830 --> 00:08:38,669 প্রথম আমাকে আমার ক্যাশে পরিষ্কার. 142 00:08:38,669 --> 00:08:43,570 আমি Chrome-এ সেটিংস মধ্যে এবং তারপর যেতে যেতে ইতিহাস চলেছি 143 00:08:43,570 --> 00:08:46,420 এবং তারপর সকল ব্রাউজিং ডেটা সাফ করুন. 144 00:08:46,420 --> 00:08:48,170 আপনি অন্য কোন উদ্দেশ্যে এই অনুরুপ হতে পারে ব্যবহৃত, [হাস্য] 145 00:08:48,170 --> 00:08:51,990 কিন্তু যখন এটি উন্নয়নশীল ওয়েবসাইটসমূহের সাথে আসে, এটি একটি প্রকৃত দরকারী - 146 00:08:51,990 --> 00:08:55,980 যদি আপনি হাসতে করছি আপনি জানেন. [হাস্য] 147 00:08:55,980 --> 00:08:59,310 এটা আসলে খুব দরকারী যখন ওয়েবসাইটের উন্নয়নশীল দৃষ্টিভঙ্গিই এর কারন হল 148 00:08:59,310 --> 00:09:04,100 কুকিজ ক্যাশে HTML ফাইল, ক্যাশে জাভাস্ক্রিপ্ট ফাইল এবং ভালো জিনিস ভালো জিনিস 149 00:09:04,100 --> 00:09:06,390 আসলে একজন বড় মাথা ব্যাথা হতে পারে, কারণ যদি কোন কারনের জন্য 150 00:09:06,390 --> 00:09:11,500 ব্রাউজারে কিছু ফাইল ক্যাশে করার সিদ্ধান্ত নেয় এবং এখনো আপনি সার্ভারের যে ফাইল পরিবর্তন করেছেন 151 00:09:11,500 --> 00:09:14,670 কিন্তু ব্রাউজার যে ফাইলটি পরিবর্তিত হয়েছে সত্যিই বুঝতে না করেনি 152 00:09:14,670 --> 00:09:19,060 এবং সেইজন্য আসলে না এটি পুনরায় ডাউনলোড করুন এমনকি যখন আপনি পুনঃলোড বাটন ক্লিক করুন, 153 00:09:19,060 --> 00:09:23,210 অধিকাংশ surefire উপায় ঠিক নিশ্চিত ফল্ট আপনার কোড সঙ্গে নয়, এক, 154 00:09:23,210 --> 00:09:26,480 এটি ব্রাউজারের সাথে এর ব্যবহার, এখানে আপনার ব্রাউজারে যেতে হয় 155 00:09:26,480 --> 00:09:29,950 এবং শুধু সমগ্র ইতিহাস যাতে কোন বিভ্রান্তির আছে পরিষ্কার. 156 00:09:29,950 --> 00:09:33,210 >> এবং আপনি যদি সত্যিই ভীতু হতে চান, ব্রাউজার, এটি পুনরায় আরম্ভ করা, 157 00:09:33,210 --> 00:09:35,660 এবং তারপর নিশ্চিত করুন যে সব আশানুরূপ কাজ করছে না. 158 00:09:35,660 --> 00:09:38,820 তাই সংক্ষিপ্ত, ক্লিয়ারিং ক্যাশে ভাল যখন উন্নয়ন করছেন. 159 00:09:38,820 --> 00:09:40,690 তাই আমরা এখানে নেটওয়ার্ক ট্যাব আছে. 160 00:09:40,690 --> 00:09:46,020 আমি আগে 9 বার সাইট পরিদর্শন করেন, তিনি কিন্তু আমার এখন এগিয়ে যান এবং পুনঃলোড ক্লিক দিন. 161 00:09:46,020 --> 00:09:47,500 এবং আমি ফিরে নিচে 0. 162 00:09:47,500 --> 00:09:52,100 চলুন আসলে কিভাবে এটা এই সময় superglobal হচ্ছে বাস্তবায়িত দেখুন. 163 00:09:52,100 --> 00:09:55,990 আমি 1 HTTP অনুরোধের যে হয়েছিল ক্লিক চলেছি, 164 00:09:55,990 --> 00:09:58,810 এবং এই ডিবাগিং উইন্ডো দেয় সম্পর্কে যে ভেতরের চেহারা. 165 00:09:58,810 --> 00:10:01,970 এখানে আমি শুধুমাত্র সার্ভার, যা আকর্ষণীয় হয় না থেকে প্রতিক্রিয়া দেখুন. 166 00:10:01,970 --> 00:10:04,030 আমি যে কোনো উপায়ে এই সংখ্যা করেছি দেখা যায়. 167 00:10:04,030 --> 00:10:06,350 কিন্তু কি টেকনিক্যালি আকর্ষণীয় হয় হেডার. 168 00:10:06,350 --> 00:10:11,770 যদি আমি এখানে স্ক্রল ডাউন এবং অনুরোধ হেডার ফোকাস এবং উৎস দেখুন ক্লিক করুন, 169 00:10:11,770 --> 00:10:14,400 আমি কি দেখতে যাচ্ছি আক্ষরিক হয় HTTP অনুরোধের 170 00:10:14,400 --> 00:10:17,250 যে সার্ভার থেকে আমার ব্রাউজার গিয়েছিলাম, 171 00:10:17,250 --> 00:10:21,400 হচ্ছে অপারেটিভ শব্দ GET এবং তারপর / counter.php হচ্ছে ফাইলের নাম, 172 00:10:21,400 --> 00:10:25,670 HTTP/1.1 ঠিক হচ্ছে HTTP-র সংস্করণ যে আমার ব্রাউজার ব্যবহার করা হয়. 173 00:10:25,670 --> 00:10:31,070 এই লাইন এখানে একটি ব্রাউজার থেকে সার্ভারে সামান্য অনুস্মারক কি সার্ভারের নাম 174 00:10:31,070 --> 00:10:33,020 যে কথা বলতে চায়. 175 00:10:33,020 --> 00:10:38,200 এবং তারপর এই বাকি কখনও আকর্ষণীয় কিন্তু প্রাসঙ্গিক নয় অধিকার এখন. 176 00:10:38,200 --> 00:10:40,090 >> এটি একটি কৌতুহল ঠিক ধরনের. 177 00:10:40,090 --> 00:10:43,530 রহস্যপূর্ণ যদিও এই স্ট্রিংটি, যে কোনো সময় আপনার ব্রাউজার একটি ওয়েবসাইট পরিদর্শন 178 00:10:43,530 --> 00:10:47,110 এটি সার্ভার হয় পরিচায়ক কি ব্রাউজার ব্যবহার করছেন 179 00:10:47,110 --> 00:10:50,040 এবং কি অপারেটিং সিস্টেম ব্যবহার করে এবং আপনি কি সংস্করণ উহার করছি. 180 00:10:50,040 --> 00:10:52,650 তাই কখনও যদি আপনি সিএনএন এবং যাবদ্ধর ভালো কিভাবে ওয়েবসাইটগুলি করেছি বিস্ময়ের উদ্রেক 181 00:10:52,650 --> 00:10:56,860 কি ম্যাক ব্যবহারকারীদের শতকরা ওয়েব, পিসি ব্যবহারকারীদের আছে জানি, 182 00:10:56,860 --> 00:11:00,820 ইন্টারনেট ব্যবহারকারী, ক্রোম ব্যবহারকারীদের এবং ভালো, কারণ এটি আমাদের ব্রাউজার সব 183 00:11:00,820 --> 00:11:04,300 প্রতি একক ওয়েবসাইট কহন আউট সেখানে কি আমরা. 184 00:11:04,300 --> 00:11:07,410 এটা ব্যক্তিগতভাবে সনাক্তকরণযোগ্য তথ্য অগত্যা থাকে না, 185 00:11:07,410 --> 00:11:13,060 কিন্তু এটি কি আপনার সার্ভারের IP ঠিকানা এবং কি ব্রাউজার এবং অপারেটিং সিস্টেম ব্যবহার করে আপনি তা বলার আছে. 186 00:11:13,060 --> 00:11:14,720 তাই যে যেখানে এই তথ্য. 187 00:11:14,720 --> 00:11:19,960 কিন্তু এখন কি আরো আকর্ষণীয় যখন এই সেশনে আসে প্রতিক্রিয়া হেডারের হয়. 188 00:11:19,960 --> 00:11:22,530 আমাকে উৎস দেখতে পরবর্তী প্রতিক্রিয়া ক্লিক করুন. 189 00:11:22,530 --> 00:11:24,590 কি এখানে একটি আকর্ষণীয় কিছু জিনিস. 190 00:11:24,590 --> 00:11:27,580 1, আমরা পেয়েছি একটি 200 অবস্থা ফিরে কোড. 191 00:11:27,580 --> 00:11:29,840 কারণ আমরা মানে সব ঠিক থাকে তা দেখতে এই অবস্থা কোড না. 192 00:11:29,840 --> 00:11:32,920 মানে অন্য কিছু বিপরীতে আক্ষরিক অর্থ ঠিক আছে. 193 00:11:32,920 --> 00:11:36,380 একটি সংখ্যা দেখতে যে আমরা কখনও কখনও এর জন্য খারাপ কি? [ছাত্রদের] 404. 194 00:11:36,380 --> 00:11:39,860 পাওয়া 404, ফাইল না, 403 আপনি ইতিমধ্যে আকস্মিকভাবে দেখা হতে পারে, 195 00:11:39,860 --> 00:11:43,660 যা নিষিদ্ধ করা হয়েছে, যার মানে আপনি chmod কিছু, সম্ভবত ভুলে গেছি. 196 00:11:43,660 --> 00:11:45,190 এবং অন্যদের একটি গুচ্ছ আছে. 197 00:11:45,190 --> 00:11:47,760 >> নিচে এখানে, এই সামান্য একটি ছবি. 198 00:11:47,760 --> 00:11:52,340 আমি সত্যিই শুধু লিখেছেন gedit পেস্ট দ্বারা এই ফাইল একটি মাত্র কয়েক মিনিট আগে. 199 00:11:52,340 --> 00:11:57,100 কেন 1981 সালে এই পৃষ্ঠার আগে সত্যিই একটি ওয়েব ছিল মেয়াদ শেষ? 200 00:11:58,010 --> 00:12:00,730 যাচ্ছে কি নেই এর? 201 00:12:00,730 --> 00:12:04,390 >> [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] সময় স্ট্যাম্প. কিন্তু কেন? 202 00:12:06,110 --> 00:12:09,120 এটা কিছুটা অবাধ, কিন্তু এটা প্রকৃত দরকারী. 203 00:12:09,120 --> 00:12:15,500 এই কি আমার ব্রাউজারে বলছে হয় এই পিএইচপি ফাইল আপনি এইমাত্র যেই অনুরোধ করেনি ইতিমধ্যে মেয়াদ শেষ. 204 00:12:15,500 --> 00:12:18,580 আসলে, এটি মেয়াদ শেষ 30 বছর আগে. 205 00:12:18,580 --> 00:12:20,260 যে কি সত্যিই কিন্তু এর মানে? 206 00:12:20,260 --> 00:12:22,500 এটা ঠিক পরের সময় ব্যবহারকারী এই পৃষ্ঠা পরিদর্শন মানে, 207 00:12:22,500 --> 00:12:25,540 দ্বারা পুনরায় লোড হচ্ছে কিনা বা ঠিকানা দণ্ডে টাইপ করা URL-এ, 208 00:12:25,540 --> 00:12:28,010 নিশ্চিত করুন যে আপনি যান এবং এটি একটি নতুন অনুলিপি আনা হয়েছে. 209 00:12:28,010 --> 00:12:30,840 এটি ক্যাশে কীট ধ্বংস দিবসে একটি উদাহরণ বাছাই করা, 210 00:12:30,840 --> 00:12:33,790 একটি মূঢ় শব্দ যে শুধু মানে ব্রাউজার নিরুত্সাহিত করার চেষ্টা 211 00:12:33,790 --> 00:12:37,260 আসলে ক্যাশে HTML থেকে যে একটি সার্ভার থেকে পাঠানো হয়েছে 212 00:12:37,260 --> 00:12:41,490 যাতে আপনি পুনঃলোডে আঘাত দূর্ঘটনাক্রমে না এবং তারপর ফাইল একই সংস্করণ দেখতে. 213 00:12:41,490 --> 00:12:43,730 আপনি আসলে একটি নতুন অনুলিপি প্রেরণ সার্ভার চান. 214 00:12:43,730 --> 00:12:47,440 তাই ঠিক যে এটা 1981 এর মানে হল যে এর কি যন্ত্রপাতি চয়ন করা হয় 215 00:12:47,440 --> 00:12:50,280 হিসাবে অতীতের একটি অবাধ তারিখ. 216 00:12:50,280 --> 00:12:53,380 কিন্তু বাস্তব সরস লাইন এখন এই এক. 217 00:12:53,380 --> 00:12:57,550 আপনি এমনকি 50 আগে সম্ভবত করছি কুকিজ অস্পষ্টভাবে সঙ্গে পরিচিত. 218 00:12:57,550 --> 00:13:01,820 হিসাবে ডান এখন, বিশেষত মধ্যে যারা কম আরামদায়ক বা মধ্যে, 219 00:13:01,820 --> 00:13:04,120 আপনার বোঝার মধ্যে একটি কুকি কি অধিকার এখন 220 00:13:04,120 --> 00:13:06,980 যদিও আমরা আপনার বোঝার আরো প্রযুক্তিগত করা সম্পর্কে? 221 00:13:08,150 --> 00:13:10,070 কুকি কি? হাঁ. 222 00:13:10,070 --> 00:13:13,890 [ছাত্রদের] ব্যবহারকারী সম্পর্কে তথ্য, যদি তারা তাদের ব্যবহারকারী নাম বা কিছু না করেছি চান. 223 00:13:13,890 --> 00:13:17,370 >> গুড. এটি ব্যবহারকারী সম্পর্কে তথ্য, তারা ইতিমধ্যেই তাদের ইউজার নাম টাইপ করেছি. 224 00:13:17,370 --> 00:13:21,190 কুকি হচ্ছে একটি পদ্ধতি যেখানে একটি সার্ভার ব্যবহারকারী সম্পর্কে কিছু মনে করতে পারেন না. 225 00:13:21,190 --> 00:13:25,810 এবং একটি কুকি কি সত্যিই একটি টেক্সট ফাইল বা বাইট কিছু ক্রম 226 00:13:25,810 --> 00:13:28,340 যে আপনার ব্রাউজারের ভিতরে সার্ভার দ্বারা নিবদ্ধ এর, 227 00:13:28,340 --> 00:13:31,960 এবং ভিতর যে ফাইল বা মধ্যে যারা বাইট হয় শনাক্তকারী কিছু. 228 00:13:31,960 --> 00:13:35,640 হয়তো এটা আক্ষরিক আপনার ব্যবহারকারী নাম, কিন্তু আরো প্রায়ই এটা আরো কিছু রহস্যপূর্ণ সুদর্শন 229 00:13:35,640 --> 00:13:43,700 এই যেমন এখানে বিষয় - bo8dal3ct এবং তাই ঘোষণা - এই বড় আলফানিউমেরিক স্ট্রিং 230 00:13:43,700 --> 00:13:47,050 যে সত্যিই শুধু এর জন্য আপনাকে একটি অনন্য শনাক্তকারী করা অভিপ্রেত. 231 00:13:47,050 --> 00:13:49,790 অথবা আপনি এটি একটি ভার্চুয়াল হাত স্ট্যাম্প ধরণের হিসাবে মনে করতে পারেন. 232 00:13:49,790 --> 00:13:53,020 যদি কিছু ক্লাব বা একটি চিত্তবিনোদন পার্ক আপনাকে যে আসলে আপনাকে অর্থ প্রদান করেছি মনে রাখবেন, যান 233 00:13:53,020 --> 00:13:55,850 এবং সর্বস্বান্ত মধ্যে, তারা কিছু ধরণের আপনার হাতের উপর একটু লাল স্টিকার করা, 234 00:13:55,850 --> 00:13:59,270 এবং যে পাল্টা যে ইতিমধ্যে আপনাকে অর্থ প্রদান করেছি লোকেরা মনে করিয়ে দেয় 235 00:13:59,270 --> 00:14:01,340 এবং আপনি এবং হিসাবে আপনি দয়া করে যেতে আসতে পারেন. 236 00:14:01,340 --> 00:14:04,250 কুকি হচ্ছে একটি মধ্যে আত্মা যে সামান্য অনুরূপ. 237 00:14:04,250 --> 00:14:08,070 প্রথমবার আমি এই ওয়েবসাইট পরিদর্শন করেন, হিসাবে আমি আমার ক্যাশে সাফ করার পরে কি, 238 00:14:08,070 --> 00:14:11,620 ওয়েব সার্ভার, এই ক্ষেত্রে প্রয়োগ, আমার হাতে একটা স্ট্যাম্প লাগাতে 239 00:14:11,620 --> 00:14:15,030 যার নাম হয় PHPSESSID, সেশন আইডি, 240 00:14:15,030 --> 00:14:18,260 যার মূল্য এই সত্যিই দীর্ঘ আলফানিউমেরিক স্ট্রিং. 241 00:14:18,260 --> 00:14:22,470 >> সুতরাং যে এখন আমার হাতে emblazoned ধরণের যাতে পরের বার আমি আঘাত পুনরায় লোড করুন 242 00:14:22,470 --> 00:14:25,230 অথবা নিজে একটি ব্রাউজারে এই URL-এ যান, 243 00:14:25,230 --> 00:14:29,230 HTTP-র সংজ্ঞা দ্বারা আমার ব্রাউজার হাতে স্ট্যাম্প উপস্থাপন করতে হবে 244 00:14:29,230 --> 00:14:31,940 আবার এবং আবার এবং আবার. 245 00:14:31,940 --> 00:14:34,550 সুতরাং যদিও সার্ভার আমি কে জানি অগত্যা না, 246 00:14:34,550 --> 00:14:39,610 তারা অন্তত জানেন যে আমি একই ব্যবহারকারী বা অন্তত, আরো নির্দিষ্টভাবে, একই ব্রাউজার. 247 00:14:39,610 --> 00:14:45,660 তাই শেষ পর্যন্ত এই ভাবে সময় superglobal বাস্তবায়িত হয়. 248 00:14:45,660 --> 00:14:51,200 সার্ভার কোন ধারণা আপনি কে যখন আপনি দ্বিতীয় জন্য একটি ওয়েবসাইট বা তৃতীয় সময় পরিদর্শন করেছে 249 00:14:51,200 --> 00:14:53,410 যদি না আপনি এই হাত স্ট্যাম্প উপস্থাপন. 250 00:14:53,410 --> 00:14:55,530 এবং যত তাড়াতাড়ি আপনি যে হাত স্ট্যাম্প উপস্থাপন, 251 00:14:55,530 --> 00:14:59,370 ওয়েব সার্ভার মূলত একটি তার নিজস্ব ডাটাবেসের মধ্যে সামান্য যায় 252 00:14:59,370 --> 00:15:06,040 এবং চেক, ঠিক আছে, শুধু আমি ব্যবহারকারী bo8dal3ct হাত স্ট্যাম্প আছে দেখা যায় এবং যাতে ঘোষণা. 253 00:15:06,040 --> 00:15:09,850 আমাকে কি তথ্য প্রোগ্রামার সঞ্চিত করেনি দেখুন 254 00:15:09,850 --> 00:15:12,380 ভিতর এই ব্যবহারকারী সম্পর্কে superglobal, 255 00:15:12,380 --> 00:15:17,000 এবং তারপর আমাকে নিশ্চিত যে ডেটা আবার সময় superglobal ভেতরে করা 256 00:15:17,000 --> 00:15:19,830 যাতে প্রোগ্রামার যে তথ্য পুনরায় অ্যাক্সেস করতে পারেন 257 00:15:19,830 --> 00:15:23,360 এমনকি যদি কিছু মিনিট বা ঘন্টা আগে সেট ছিল. 258 00:15:23,360 --> 00:15:26,150 তাই অন্য কথায়, কুকিজ, যা কিছু সময়ের জন্য খারাপ বকুনি না 259 00:15:26,150 --> 00:15:29,990 কারণ ব্রাউজারে নিরাপত্তাহীনতার এবং তারা সত্যিই আমাদের গোপনীয়তা এবং এই সব লঙ্ঘন করতে পারেন, 260 00:15:29,990 --> 00:15:31,900 তারা আসলে কারণ ছাড়া তাদের মহান উপযোগিতা আছে 261 00:15:31,900 --> 00:15:36,110 আপনি ক্রমাগত হবে প্রতি ফেসবুক পাতা আপনি যান লগিং ইন করার 262 00:15:36,110 --> 00:15:40,680 অথবা প্রতি জিমেইল আপনাকে ইমেইল পড়তে যদি ব্রাউজারে মনে করার একটি উপায় আছে কি না 263 00:15:40,680 --> 00:15:43,320 ইতিমধ্যে আপনি প্রামাণ করেছি. 264 00:15:43,320 --> 00:15:46,640 >> তাই এই ভাবে কুকিজ তারের জুড়ে পাঠানো হয় এবং পিছনে. 265 00:15:46,640 --> 00:15:52,470 কুকিজ সম্পর্কে আরেকটি কৌতূহল, বিশেষত, এই যে এই cleartext সম্পূর্ণ হয়. 266 00:15:52,470 --> 00:15:54,930 কোন এনক্রিপশন যাচ্ছে এখানে সবটা আছে, 267 00:15:54,930 --> 00:15:57,240 এবং নিশ্চয় আমি মুহূর্তে HTTP-র ব্যবহার করছি. 268 00:15:57,240 --> 00:16:00,890 CS50 মধ্যে আমাদের একজন পছন্দসই মুহুর্ত, যা এখন হয় 2 বছর আগে, 269 00:16:00,890 --> 00:16:04,750 ছিল একটি হাতিয়ার নামক Firesheep সময় বেরিয়ে আসেন. 270 00:16:04,750 --> 00:16:08,320 এটি ছিল একটি মুক্ত সফ্টওয়্যার টুকরা যে একটি নিরাপত্তা গবেষক দ্বারা সম্পাদিত হয়ে থাকে 271 00:16:08,320 --> 00:16:13,250 হিসাবে একটি সম্প্রদায়ের জন্য WAKE আপ কল ঠিক কিভাবে নৃশংসভাবে বাস্তবায়িত হয়নি বলে যাও 272 00:16:13,250 --> 00:16:17,900 নির্দিষ্ট ওয়েব প্রমাণীকরণ প্রক্রিয়া ছিল. 273 00:16:17,900 --> 00:16:22,880 তাই কিছু সময়ের জন্য, ফেসবুকে ব্যবহৃত HTTP, HTTPS দ্বারা কোন উপর ছিল প্রায় সম্পূর্ণ. 274 00:16:22,880 --> 00:16:25,640 এমনকি যদি আপনি কোন ধারণা ক্রিপ্টো কিভাবে কাজ করে, নিরাপদ, S 275 00:16:25,640 --> 00:16:27,950 তাই এটা মানে অন্তত কিছু এনক্রিপশন জড়িত আছে. 276 00:16:27,950 --> 00:16:30,610 ফেসবুক ব্যবহারকারীর নাম এবং পাসওয়ার্ড এনক্রিপ্ট করতে ব্যবহৃত হয়নি, 277 00:16:30,610 --> 00:16:33,560 কিন্তু যত তাড়াতাড়ি আপনি আপনার দিকে তাকিয়ে pokes অথবা আপনার বার্তা বা আপনার খবর ফিড, 278 00:16:33,560 --> 00:16:35,360 যে সমস্ত এনক্রিপশনবিহীন ছিল. 279 00:16:35,360 --> 00:16:37,870 তাই মাত্র এক বছর বা 2 আগে পর্যন্ত ছিল জিমেইল. 280 00:16:37,870 --> 00:16:41,100 কোন সময় আপনি লগ ইন, হ্যাঁ, তারা নিরাপদ এনক্রিপশন ব্যবহার করা, 281 00:16:41,100 --> 00:16:44,300 কিন্তু তারপর তারা না. এবং কেন যে হতে পারে? 282 00:16:44,300 --> 00:16:49,210 কেন শুধু ক্রিপ্টোগ্রাফি ব্যবহার না ভালো ব্যবহারের ক্ষেত্রে সব সময়? 283 00:16:49,210 --> 00:16:53,700 ওটা কি? আমি মনে করি আমি কিছু শুনেছেন. [ছাত্রদের] গতি. 284 00:16:53,700 --> 00:16:56,250 গতি, ডান? এই সমস্যা এড়ানোর পন্থা রয়েছে. 285 00:16:56,250 --> 00:16:59,610 কিন্তু যদি আপনি এটি সম্পর্কে ধরনের যুক্তি মনে হয়, যদি আপনি কিছু এনক্রিপ্ট, 286 00:16:59,610 --> 00:17:01,820 আপনি অন্তত একটা সামান্য আরো কাজ আছে. 287 00:17:01,820 --> 00:17:05,460 ইন pset 2 যখন সিজার বা Vigenere বাস্তবায়িত বা এমনকি ফাটল, 288 00:17:05,460 --> 00:17:07,760 শুধুমাত্র একটি স্ট্রিং মুদ্রণ তুলনামূলকভাবে সহজ. 289 00:17:07,760 --> 00:17:12,040 এনক্রিপ্ট করার এবং তারপর একটি স্ট্রিং ন্যূনতমরূপে একটি মুদ্রণ বিট আরো কাজের প্রয়োজন. 290 00:17:12,040 --> 00:17:14,520 >>  সুপার জন্য গুগল এবং ফেসবুকের মত জনপ্রিয় ওয়েবসাইট, 291 00:17:14,520 --> 00:17:18,839 আপনি যদি প্রত্যেক ব্যবহারকারীর জন্য প্রতি একক ওয়েব পৃষ্ঠা তারা যান জন্য আরো কাজ আছে, 292 00:17:18,839 --> 00:17:20,520 যে আরো CPU-র সময় লাগে. 293 00:17:20,520 --> 00:17:22,920 এবং যদি আপনি আরো CPU-র সময় প্রয়োজন, আপনি আরো সার্ভার প্রয়োজন হতে পারে, 294 00:17:22,920 --> 00:17:24,270 যার মানে আপনি আরো অর্থ প্রয়োজন হতে পারে. 295 00:17:24,270 --> 00:17:27,579 অনেক বছর, তাই জন্য এবং এই মাত্র সত্যিই ভাল অভ্যাস ছিল না. 296 00:17:27,579 --> 00:17:31,440 মানুষ যখন তারা শুধুমাত্র SSL এনক্রিপশন ব্যবহার করার প্রয়োজন হবে. 297 00:17:31,440 --> 00:17:34,960 কিন্তু পরিণত হয়, এবং Firesheep সঙ্গে এই সহকর্মী হিসাবে তৈরি সুপার পরিষ্কার, 298 00:17:34,960 --> 00:17:37,920 যখন আপনাকে বলছি যে ফেসবুক বর্তমানে ডান এখন - 299 00:17:37,920 --> 00:17:39,880 এর কৌতুহল আউট, আসুন যদি আপনি আপ fess দেখতে পাবেন. 300 00:17:39,880 --> 00:17:42,620 যদি আপনি ফেসবুক করছি এখনই কিছু ট্যাব, এমনকি যদি তা foregrounded না, 301 00:17:42,620 --> 00:17:46,610 হয় আপনার URL অথবা HTTP-র মধ্যে HTTPS? 302 00:17:46,610 --> 00:17:50,560 [একাধিক ছাত্র] এস, S? [হাস্য] 303 00:17:50,560 --> 00:17:55,510 ঠিক আছে. কোন HTTP-র? শুধু 1 টি? ঠিক আছে. 304 00:17:55,510 --> 00:17:58,940 সুতরাং আমাদের যে সমস্ত লোক এর ফেসবুক অ্যাকাউন্ট হ্যাক অধিকার এখন পারেন. 305 00:17:58,940 --> 00:18:04,100 অধিকাংশ ক্ষেত্রে এই জন্য অন্তত কিছু ওয়েবসাইটের হত্তয়া ডিফল্ট চালু, করেনি. 306 00:18:04,100 --> 00:18:08,120 এবং দীর্ঘ বিবরণ সংক্ষেপে, আপনার ওয়েব ট্রাফিক এনক্রিপ্ট হয় নি, 307 00:18:08,120 --> 00:18:12,960 না শুধুমাত্র HTML এর জন্য এনক্রিপশনবিহীন WiFis জুড়ে পিছনে যান, 308 00:18:12,960 --> 00:18:16,760 তাই কুকি ভালো জিনিস না বাতাস জুড়ে পিছনে যান 309 00:18:16,760 --> 00:18:18,940 বিনা এনক্রিপশনে কোনো ফর্ম. 310 00:18:18,940 --> 00:18:23,540 তাই আপনি যদি শুধুমাত্র একটি বিট প্রোগ্রামিং জ্ঞান বা দক্ষতা Googling একটি বিট আছে 311 00:18:23,540 --> 00:18:27,410 ফ্রি সফ্টওয়্যার যা এই আছে খুঁজে, সমস্ত আপনাকে যা করতে হবে starbucks বসতে হয় 312 00:18:27,410 --> 00:18:30,680 একটি এয়ারপোর্ট অথবা যেখানে সাধারণত এর ওয়াইফাই আছে এনক্রিপশনবিহীন বসতে 313 00:18:30,680 --> 00:18:36,070 অথবা PHPSESSID: এবং শুধু কিওয়ার্ড সেট-কুকি ভালো জন্য ঘড়ি 314 00:18:36,070 --> 00:18:39,300 কারণ শুধুমাত্র যদি আপনি প্রযুক্তিগত জ্ঞান আছে ওয়াইফাই যাও ঘড়ি 315 00:18:39,300 --> 00:18:43,010 জন্য বিট এই প্যাটার্ন জন্য বায়ু প্রবাহ জুড়ে যে সব, 316 00:18:43,010 --> 00:18:50,840 তারপর আপনি বলতে পারেন যে লোক এর PHPSESSID যাও bo8dal এবং তাই ঘোষণা করা হবে. 317 00:18:50,840 --> 00:18:53,890 এবং তারপর আবার যদি আপনি পর্যাপ্ত টেকনিক্যালি উপলব্ধি বা ডান টুল আছে, 318 00:18:53,890 --> 00:18:58,890 আপনি তারপরে শুধু পুনরায় কনফিগার করার জন্য আপনার নিজস্ব ব্রাউজার করতে পারি যে হাতে স্ট্যাম্প উপস্থাপন 319 00:18:58,890 --> 00:19:05,030 যাও, Facebook.com এবং ফেসবুক ঠিক হয় যে আপনি যে লোক অনুমান করা যাচ্ছে 320 00:19:05,030 --> 00:19:09,880 কারণ তারা সব জানতে হয় কিন্তু যে আপনাকে এই অনন্য শনাক্তকারী আছে. আপনি কে না 321 00:19:09,880 --> 00:19:14,650 সুতরাং যদি আপনি যে অনন্য শনাক্তকারী চুরি করা এবং আপনার নিজের ওয়েব সার্ভার হিসাবে এটি উপস্থাপন, 322 00:19:14,650 --> 00:19:16,860 তারা কেবল আপনার যে ব্যক্তি এর খবর ফিড প্রদর্শন করতে যাচ্ছে 323 00:19:16,860 --> 00:19:18,980 অথবা যে ব্যক্তি এর বার্তা বা pokes. 324 00:19:18,980 --> 00:19:23,190 >> এবং এখন আমি কিভাবে ফেসবুকে যাও সম্ভবত মধ্যে HTTPS Google-কে সক্রিয় করতে হবে. 325 00:19:23,190 --> 00:19:25,150 কিন্তু সত্যিই এটা হিসাবে হিসাবে সহজ. 326 00:19:25,150 --> 00:19:27,660 তাই ফেসবুক এবং Google এর মত এবং এই সময়ে অর্জিত সত্যিই ভাল আছে, 327 00:19:27,660 --> 00:19:31,870 কিন্তু সব কোনো ওয়েবসাইটের যে HTTP-র জন্য ব্যবহার করবেন না আরও বেশি নজর রাখা 328 00:19:31,870 --> 00:19:35,020 এবং তাদের সংবেদনশীল তথ্য কিছু আছে, 329 00:19:35,020 --> 00:19:37,490 এটি আর্থিক বা ব্যক্তিগত বা চান. 330 00:19:37,490 --> 00:19:43,180 যদি তারা এই ব্যবহার করছি না, খুব সম্ভবত ভালো কুকিজ হতে খুব সহজেই চুরি করতে পারেন 331 00:19:43,180 --> 00:19:46,270 এবং তারপর জাল, এবং যে ঠিক কি Firesheep করেছিল. 332 00:19:46,270 --> 00:19:48,250 আপনি একজন প্রোগ্রামার হতে হত না. 333 00:19:48,250 --> 00:19:51,680 আপনাকে যা করতে ছিল ছিল একটি ইন্টারনেট সংযোগ, এই বিনামূল্যে টুল ডাউনলোড করুন, 334 00:19:51,680 --> 00:19:56,490 এবং কি কি হল আপনাকে লগ ইন করুন এবং তারপর এটি ফেসবুক নামের আপনি দেখান 335 00:19:56,490 --> 00:20:00,170 Sanders মধ্যে সবাই, এই বিশেষ বিক্ষোভের মধ্যে আপনি চারপাশে, 336 00:20:00,170 --> 00:20:03,260 তাদের নামের উপর এবং সমস্ত আপনাকে হয়েছিল ক্লিক সফ্টওয়্যার প্রক্রিয়া স্বয়ংক্রিয়রূপে 337 00:20:03,260 --> 00:20:05,970 যে কুকি আঘ্রাণ, ফেসবুক আপনার নিজস্ব হিসাবে এটি উপস্থাপনা, 338 00:20:05,970 --> 00:20:07,990 এবং, voila, আপনি লগ ইন করছেন 339 00:20:07,990 --> 00:20:11,190 সুতরাং এই যে অন্য একটি আনুষ্ঠানিকভাবে "এই না". 340 00:20:11,190 --> 00:20:14,660 আপনি যদি আপনার নিজস্ব হোম নেটওয়ার্ক আছে এবং আপনি মেরামত করতে চান, সর্বথা, 341 00:20:14,660 --> 00:20:17,530 কিন্তু বুঝতে পারছি এটা একটি বিশ্ববিদ্যালয় পরিবেশের উপর লাইন ক্রুশ আছে. 342 00:20:17,530 --> 00:20:20,030 >> কিন্তু এখানে লক্ষ্য সত্যিই হয় না কিভাবে এই না জোর দেওয়া 343 00:20:20,030 --> 00:20:22,320 কিন্তু কিভাবে যে এই ধরনের বিরুদ্ধে রক্ষা করতে. 344 00:20:22,320 --> 00:20:26,180 এবং তুচ্ছ এখানে সমাধান, যদিও এটি নিজেই দ্বিধান্বিত, 345 00:20:26,180 --> 00:20:31,360 সত্যিই কোনো সাইট ব্যবহার করে যে ক্রমাগত মধ্যে HTTPS না হয় ব্যবহার হ্রাস করা হয়. 346 00:20:31,360 --> 00:20:34,520 সুতরাং ক্রমবর্ধমান ফেসবুক এবং Google-এর মতো সাইটের জন্য প্রযোজ্য চেকবক্স আছে 347 00:20:34,520 --> 00:20:36,200 যেখানে আপনি আর এই সাজানোর নেওয়ার যেতে পারে, 348 00:20:36,200 --> 00:20:40,000 এবং ব্যাংকের বছর জন্য অনুরূপ কারণে এই ছিল. 349 00:20:40,000 --> 00:20:43,580 তাই শুধু একটি ভয় ফ্যাক্টর যদি আমরা করতে পারেন সামান্য বিট. কিন্তু যে কথায় আছে এটি. 350 00:20:43,580 --> 00:20:46,420 যে কিভাবে একটি সার্ভার মনে আপনি কে. 351 00:20:46,420 --> 00:20:50,760 এবং যত তাড়াতাড়ি সম্ভব, যারা আপনি মনে করতে পারেন না, তারা আপনার সম্পর্কে কিছু মনে করতে পারেন 352 00:20:50,760 --> 00:20:56,140 এই যে প্রোগ্রামার বিশেষ superglobal নামক $ _SESSION এর ভিতরে সঞ্চিত করেনি. 353 00:20:56,140 --> 00:20:59,750 এবং pset 7 জন্য আমরা এটা ব্যবহার করছি মাত্র trivially কোন int মনে রাখবেন, 354 00:20:59,750 --> 00:21:02,260 যেমন ব্যবহারকারীর লগ ইন করেনি অনন্য আইডি, 355 00:21:02,260 --> 00:21:05,880 যাতে আমরা জানি সেখানে তারা হয়েছে আগে করেছি. 356 00:21:05,880 --> 00:21:12,450 তারপর সেশনগুলিতে বা কুকিজ বা এর মত কোন প্রশ্ন? 357 00:21:12,450 --> 00:21:15,130 Firesheep হিসাবে ভাল আর কোন কাজ হয় না, 358 00:21:15,130 --> 00:21:18,310 এবং আপনাকে একটি বিশেষ এলোমেলো মোডে আপনার কম্পিউটার দিতে হবে 359 00:21:18,310 --> 00:21:20,700 তাই আপনি আসলে নিজের ছাড়াও ট্রাফিকের জন্য করছি শোনা. 360 00:21:20,700 --> 00:21:23,940 সুতরাং আপনি যদি বর্তমানে Firesheep ডাউনলোড করছেন, তা বুঝতে পারছি না বেশ সহজ এর 361 00:21:23,940 --> 00:21:26,850 হিসাবে এটি একবার যাও প্রকট ছিল. 362 00:21:26,850 --> 00:21:29,070 ঠিক আছে. এবং Sanders না তা না. বাড়ীতে না. 363 00:21:29,070 --> 00:21:30,890 ডেটাবেস. 364 00:21:30,890 --> 00:21:33,580 জিনিস আমরা pset 7 করেছিল খুব ইচ্ছা এক 365 00:21:33,580 --> 00:21:37,780 আমরা ব্যবহারকারীদের যে কিছু আছে ব্যবহারকারী ID-র জন্য একটি স্যাম্পেল ডাটাবেসের তথ্য দিতে আপনি টেবিল, 366 00:21:37,780 --> 00:21:41,020 কিছু ব্যবহারকারীর নাম, এবং তাহাতে কিছু পাসওয়ার্ডগুলি এনক্রিপ্ট করা. 367 00:21:41,020 --> 00:21:44,520 এবং হিসাবে আপনি দেখতে পাবেন, যদি আপনার আগে থেকেই আছে না, আপনি একটি সামান্য বিট পরিবর্তন টেবিল আছে চলুন. 368 00:21:44,520 --> 00:21:47,710 আপনি যে টেবিল ব্যবহারকারীদের প্রতিটি ক্যাশে কিছু যোগ আছে চলুন, 369 00:21:47,710 --> 00:21:51,130 এবং আপনি অন্য কোনো ইতিহাস টেবিল, একটি পোর্টফোলিও টেবিল যুক্ত আছে চলুন, 370 00:21:51,130 --> 00:21:53,310 অথবা হয়তো অন্য কিছু কল. 371 00:21:53,310 --> 00:21:56,740 কিন্তু কিভাবে এই কাজ সম্পর্কে চিন্তা শর্তাবলী, আসুন এই টুল খুলুন 372 00:21:56,740 --> 00:22:00,570 যা আমরা শুক্রবার ব্যবহৃত, কিন্তু যদি অপরিচিত, প্রয়োগ একটি টুল আসে 373 00:22:00,570 --> 00:22:04,680 phpMyAdmin যা পিএইচপি কাকতালীয়ভাবে হয় না বলা, 374 00:22:04,680 --> 00:22:07,950 কিন্তু জীবন তার উদ্দেশ্য, পরে এখানে আমি অগ্নিবর্ণ সঙ্গে লগ ইন jharvard হিসাবে, 375 00:22:07,950 --> 00:22:15,160 আমাকে দেখছেন এবং আমার একটি ডাটাবেস পরিবর্তন ব্যবহারকারী বন্ধুত্বপূর্ণ ছাড় দেওয়া হয়. 376 00:22:15,160 --> 00:22:18,040 >> ডাটাবেস যে আমি প্রয়োগ চলমান করছি মাইএসকিউএল বলা হয়. 377 00:22:18,040 --> 00:22:23,420 এটি খুব জনপ্রিয়, এবং এটি একটি মুক্ত ওপেন সোর্স ডাটাবেস যে wonderfully ব্যবহার করা সহজ, 378 00:22:23,420 --> 00:22:25,620 বিশেষ করে ভালো সামনে শেষ হয়. 379 00:22:25,620 --> 00:22:29,350 উদাহরণস্বরূপ কি এই টুল সম্পর্কে না করতে পারবেন,, একটি টেবিল কাছাকাছি দেখিয়া কোন দ্রব্য. 380 00:22:29,350 --> 00:22:30,890 আমাকে এগিয়ে যান এবং এই কাজের জন্য. 381 00:22:30,890 --> 00:22:36,580 শুক্রবার আমরা একটি টেবিল বলা হয় যে ছাত্র ছিল সুপার সহজ তৈরি. 382 00:22:36,580 --> 00:22:41,680 আইডি, নাম, এবং ইমেল - - এটা 3 কলাম ছিল এবং আমি নিজে কয়েক সারি সন্নিবিষ্ট 383 00:22:41,680 --> 00:22:44,420 ভালো ডেভিড এবং মাইক এই বিশেষ উদাহরণ. 384 00:22:44,420 --> 00:22:47,290 এর এই একটু আরও চলুন, এবং এর যাক যে আমরা আরো স্মরণ করতে চান অনুমান 385 00:22:47,290 --> 00:22:49,660 শুধুমাত্র একটি ব্যবহারকারী নাম এবং ইমেল সম্পর্কে. 386 00:22:49,660 --> 00:22:53,090 আমাকে শীর্ষে গঠন ক্লিক করুন এখানে. 387 00:22:53,090 --> 00:22:55,440 এবং আবার, pset এখানে প্রয়োজনীয় পদক্ষেপের মধ্য দিয়ে পদচারনা, 388 00:22:55,440 --> 00:22:58,150 তাই যদি এই কিছু একটি বিট দ্রুত না চিন্তা. 389 00:22:58,150 --> 00:22:59,690 তারপর আমি এখানে ক্লিক করুন যাচ্ছি. 390 00:22:59,690 --> 00:23:02,270 আমি ইমেল পরে কিছু কলাম নম্বর যুক্ত করতে যাচ্ছি 391 00:23:02,270 --> 00:23:04,130 কারণ আমি বাড়িতে ভালো কিছু যোগ করতে চান. 392 00:23:04,130 --> 00:23:06,640 আমি একজন ছাত্র বাড়িতে রেকর্ড করতে ভুলে গেছি. 393 00:23:06,640 --> 00:23:11,400 সম্পর্কে যান ক্লিক করুন যাক, এবং এখন আমরা এই ফর্ম যে দুর্ভাগ্যবশত বাঁ দিক থেকে ডানদিকে একটি সামান্য চওড়া আছে, 394 00:23:11,400 --> 00:23:13,710 কিন্তু আমি এই ক্ষেত্রের বাড়ির নাম কল চলেছি, 395 00:23:13,710 --> 00:23:16,050 এবং তারপর টাইপ আমি এখন যাও চয়ন আছে. 396 00:23:16,050 --> 00:23:18,870 সুতরাং আসুন একটি মাইএসকিউএল বিভিন্ন ধরনের সম্পর্কে সংক্ষিপ্ত চ্যাট আছে 397 00:23:18,870 --> 00:23:24,590 কারণ যেহেতু স্বাস্থ্যহীন পিএইচপি টাইপ করা হলে এবং এটি ধরণের নাটকগুলি দ্রুত এবং ধরনের সঙ্গে শিথিল, 398 00:23:24,590 --> 00:23:29,430 ডাটাবেসের মধ্যে একটি বিশেষ করে এটি অতি গুরুত্বপূর্ণ আসলে আপনার সুবিধাজনক টাইপিং ব্যবহার 399 00:23:29,430 --> 00:23:33,260 কারণ জিনিষ মাইএসকিউএল এবং অন্যান্য ডাটাবেস ইঞ্জিনের একটি আপনার জন্য কী করতে পারেন 400 00:23:33,260 --> 00:23:37,910 কিনা তা নিশ্চিত করুন যে আপনি মিথ্যা তথ্য আপনার ডাটাবেসের মধ্যে কি করা উচিত. 401 00:23:37,910 --> 00:23:41,850 এটি বিনামূল্যে উপলব্ধ ত্রুটি আপনি চেক ধরণের. 402 00:23:41,850 --> 00:23:46,250 >> বাড়ির জন্য আমরা সম্ভবত এটি কোন int, যা একটি মাইএসকিউএল মধ্যে 32 বিট মান হতে না চান. 403 00:23:46,250 --> 00:23:49,810 আমরা শুক্রবার varchar, পরিবর্তনশীল দৈর্ঘ্য গৃহস্থালি জন্য যা দাঁড়িয়েছে সম্পর্কে সংক্ষেপে কথা বলা হয়নি. 404 00:23:49,810 --> 00:23:54,720 এটা কি? এই যে আপনি যে এই ধরণের কিছু একটা পংক্তি হতে চান নির্দিষ্ট করার অনুমতি দেয়. 405 00:23:54,720 --> 00:23:56,840 আপনি সত্যিই কি অগ্রিম কতদিন তা হল জানি না, 406 00:23:56,840 --> 00:24:00,100 তাই ইচ্ছামত আমরা বলবো একটি ঘর নামের 255 টি অক্ষর থাকতে পারে, 407 00:24:00,100 --> 00:24:04,190 কোনো নম্বর সত্যিই - কিন্তু আপনি 32, 64 দিয়ে যেতে পারে. 408 00:24:04,190 --> 00:24:10,700 কিন্তু একটি ক্ষেত্র নামক গৃহস্থালি উপর একটি varchar ব্যবহার করার সুবিধা হলো কি? 409 00:24:10,700 --> 00:24:15,110 শুধু intuitively যদি আমি নিচে স্ক্রোল করুন এখানে, গৃহস্থালির কাজ লক্ষ্য করা আছে এবং varchar আছে. 410 00:24:15,110 --> 00:24:19,520 Varchar পরিবর্তনশীল দৈর্ঘ্য গৃহস্থালির কাজ; গৃহস্থালির কাজ একটা নির্দিষ্ট দ্বারা গৃহস্থালির কাজ. 411 00:24:19,520 --> 00:24:24,730 শুধুমাত্র যে সংজ্ঞা দিতে ভিত্তি করে, কি এই প্রতিটি সুবিধা বা অসুবিধা? 412 00:24:24,730 --> 00:24:30,490 অন্য কথায়, যারা পার্থক্য বজায় রাখে, বা কেন আপনার পছন্দ করা উচিত? 413 00:24:31,660 --> 00:24:35,750 >> হাঁ. [ছাত্রদের] Varchar আরো নমনীয়তা আছে কিন্তু সময় লাগে আরো মেমরি আপ. 414 00:24:35,750 --> 00:24:40,730 গুড. Varchar লাগে আরো আপ - এর চলুন দেখা যাক. আমি নিশ্চিত যে যদি আমি সঠিক শুনেছেন নই. 415 00:24:40,730 --> 00:24:42,360 যে আপনাকে আরো একবার বলতে পারেন? 416 00:24:42,360 --> 00:24:45,850 [ছাত্রদের] আমি varchar সম্ভবত আরো নমনীয়তা আছে কিন্তু এটা লাগে আরো মেমরি আপ. 417 00:24:45,850 --> 00:24:51,170 আকর্ষণীয়. ঠিক আছে. Varchar সম্ভবত আরো নমনীয়তা দেয় কিন্তু আপনি লাগে আরো মেমরি আপ. 418 00:24:51,170 --> 00:24:53,220 পরেরটির অগত্যা সত্য নয়. 419 00:24:53,220 --> 00:24:56,290 এটা কনটেক্সট উপর নির্ভর করে, কিন্তু এর যে ফিরে আসা যাক. 420 00:24:56,290 --> 00:25:03,230 >> [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] যথাযথভাবে. 421 00:25:03,230 --> 00:25:06,900 এটা আসলে এর ক্ষেত্রে যে গৃহস্থালির কাজ সাধারণত আরো মেমরি ব্যবহার করা হবে 422 00:25:06,900 --> 00:25:10,950 কারণ C-এর মতো একটি গৃহস্থালি,, একটি স্ট্রিং মত হল, এটা অক্ষরের একটি অ্যারে. 423 00:25:10,950 --> 00:25:13,690 তাই আপনি যদি একটি দৈর্ঘ্য 255 গৃহস্থালির কাজ ক্ষেত্র বলে, 424 00:25:13,690 --> 00:25:16,910 ডাটাবেস আক্ষরিক হয় আপনি 255 অক্ষর দিতে যাচ্ছে. 425 00:25:16,910 --> 00:25:22,290 এবং যদি ঘর সমাপ্ত হচ্ছে মাথের এবং মোট 6 টি অক্ষর, 426 00:25:22,290 --> 00:25:25,090 আপনি 200 টি অক্ষর উপর নাশক করছি. 427 00:25:25,090 --> 00:25:29,640 >> সুতরাং একটি কার্যকরভাবে varchar শুধুমাত্র অনেক অক্ষর হিসাবে ব্যবহার হিসাবে প্রয়োজন 428 00:25:29,640 --> 00:25:31,590 আপ সর্বাধিক পরিমাণ. 429 00:25:31,590 --> 00:25:35,470 কিন্তু আপনি মূল্য পরিশোধ আসলে কর্মক্ষমতা, সম্ভাব্য. 430 00:25:35,470 --> 00:25:39,740 যদি আপনার জানা যে আপনার স্ট্রিং সব থেকে 8 অক্ষর ব্যবহার করা যাচ্ছে - 431 00:25:39,740 --> 00:25:43,090 উদাহরণস্বরূপ, অনুমান যে আপনি দৈর্ঘ্য 8 পাসওয়ার্ডের প্রয়োজন - 432 00:25:43,090 --> 00:25:47,350 অনুষ্ঠানে একটি গৃহস্থালি ক্ষেত্র ব্যবহার করে, যদিও না প্রায়ই এর উপর, 433 00:25:47,350 --> 00:25:51,100 একটি পাসওয়ার্ড মত একটা কিছু জন্য নির্দিষ্ট দ্বারা নির্দিষ্ট হয় 434 00:25:51,100 --> 00:25:53,300 কারণ এখন ডাটাবেস এমনকি স্মার্ট হতে পারেন. 435 00:25:53,300 --> 00:25:58,160 যদি দেখা যায় যে প্রতি ক্ষেত্র গৃহস্থালির কাজ জানে, একটি কলামে প্রতিটি স্ট্রিং একই দৈর্ঘ্য, 436 00:25:58,160 --> 00:26:00,780 আপনি পেতে র্যান্ডম এক্সেস বৈশিষ্ট্য ফিরে. 437 00:26:00,780 --> 00:26:05,110 আপনি বিভিন্ন গৃহস্থালির কাজ ক্ষেত্রগুলির মধ্যে তিড়িং লাফ আপনার ডেটাবেস টেবিলের চারপাশে পারেন 438 00:26:05,110 --> 00:26:07,940 একটি ডাটাবেসের কারণ সারি এবং কলাম হিসাবে মনে করি. 439 00:26:07,940 --> 00:26:11,670 তাই আপনি যদি স্ট্রিং প্রতি এক হয় একই দৈর্ঘ্য, 440 00:26:11,670 --> 00:26:17,820 আপনি কি জানেন যে প্রথম এক বাইট 0 হয়, পরবর্তী এক বাইট 8 এ 441 00:26:17,820 --> 00:26:20,240 এবং তারপর 16 এবং তারপর 24 এবং তাই ঘোষণা. 442 00:26:20,240 --> 00:26:24,500 সুতরাং যদি সমস্ত স্ট্রিং একই দৈর্ঘ্যের হয়, আপনার আশেপাশের আরো অনেক দক্ষতার তিড়িং লাফ পারেন. 443 00:26:24,500 --> 00:26:26,710 যাতে কার্যকারিতা পদ একটি বেনিফিট হতে পারে, 444 00:26:26,710 --> 00:26:29,420 কিন্তু সাধারণত আপনি আগাম বুদ্ধিমান বিলাসিতা না, 445 00:26:29,420 --> 00:26:32,170 তাই একটি varchar এভাবে যেতে. 446 00:26:32,170 --> 00:26:36,030 এখানে অন্য বিশদ এমনকি ফেসবুক অবশেষে গাড়ীতে আঘাত. 447 00:26:36,030 --> 00:26:39,670 Ints মহান হয়, এবং আমরা ধরণের ডিফল্ট দ্বারা তাদের কোন সময় আমরা একটি নম্বর ব্যবহার করতে চান, 448 00:26:39,670 --> 00:26:41,750 কিন্তু এটা কেবল 32 বিট. 449 00:26:41,750 --> 00:26:46,210 >> এবং যদিও ফেসবুক বেশ 4 বিলিয়ন ব্যবহারকারীদের নেই এখন, 450 00:26:46,210 --> 00:26:48,680 স্পষ্টভাবে এর একাধিক অ্যাকাউন্টের সাথে আছে কিছু লোক 451 00:26:48,680 --> 00:26:50,960 অথবা যে অ্যাকাউন্ট খোলা হয়েছে এবং তারপর বন্ধ করা হয়েছে, 452 00:26:50,960 --> 00:26:55,130 তাই ফেসবুক এবং নিজেকে আমি বিশ্বাস স্থানান্তর করতে কয়েক বছর আগে থেকে ছিল int 453 00:26:55,130 --> 00:27:00,010 যাও, যথাযোগ্যভাবে হিসাবে বলা হয়, bigint, যা কেবল 64 বিট এর পরিবর্তে. 454 00:27:00,010 --> 00:27:02,230 সুতরাং খুব এই একটি নকশা সিদ্ধান্ত. 455 00:27:02,230 --> 00:27:06,570 আপনি যদি আপনার amazingly ভাগ্যবান চূড়ান্ত প্রকল্পের প্রারম্ভে সক্রিয় হবে, 456 00:27:06,570 --> 00:27:10,010 করেনি 4 বিলিয়ন এবং 1 জন ব্যবহারকারী, বা দিতে নিতে, 457 00:27:10,010 --> 00:27:13,200 যে ক্ষেত্রে ints ব্যবহার করে একটু shortsighted হতে পারে. 458 00:27:13,200 --> 00:27:16,230 কিন্তু বাস্তবতা হল, আপনার ব্যবহারকারীদের টেবিল সম্ভবত ints সঙ্গে সূক্ষ্ম. 459 00:27:16,230 --> 00:27:19,340 কিন্তু জন্য pset 7 মত, আপনার মত ইতিহাস টেবিল, 460 00:27:19,340 --> 00:27:23,700 আপনি হাজার হাজার, লক্ষ লক্ষ ব্যবহারকারীদের আছে যদি আপনি etrade.com মধ্যে অভিব্যক্ত করা হতে পারে. 461 00:27:23,700 --> 00:27:26,020 সুতরাং যেহেতু আপনি আরো বেশী 4 বিলিয়ন ব্যবহারকারীদের না থাকতে পারে, 462 00:27:26,020 --> 00:27:30,070 ঐ ব্যবহারকারীদের কি আছে সময়ের তুলনায় আরো 4 বিলিয়ন লেনদেন থাকতে পারে - 463 00:27:30,070 --> 00:27:33,200 ক্রয় এবং বিক্রয় এবং তাদের ইতিহাস অনেক কিছু. 464 00:27:33,200 --> 00:27:38,090 তাই আপনি যদি কহা না - আবার, এই ভাল হয় যদি আপনি এই সমস্যার অনেক তথ্য আছে - 465 00:27:38,090 --> 00:27:40,920 যদি আপনি কোন int মাপ মাত্রাধিক তথ্য কহা না, 466 00:27:40,920 --> 00:27:47,740 bigint মত কিছু দিয়ে যাচ্ছে একটি অভিমুখ প্রায়শই যথেষ্ট গৃহীত ডিজাইনার না 467 00:27:47,740 --> 00:27:49,710 কারণ মানুষ তার চিত্রে যে একটা সমস্যা দেখা যাচ্ছে না, 468 00:27:49,710 --> 00:27:51,930 কিন্তু এই সহজ কিছু যে চেয়ে বড় চয়ন. 469 00:27:51,930 --> 00:27:55,380 আমরা pset দশমিক 7, যা স্থায়ী স্পষ্টতা নির্ধারণ মধ্যে ব্যবহার করছেন 470 00:27:55,380 --> 00:27:59,840 যাতে আপনি floats এবং টেনিস এবং reals এবং ভালো ঘটিত সমস্যা এড়াতে পারবেন. 471 00:27:59,840 --> 00:28:02,440 >> এবং তারপর এখানে আছে কিছু অন্যান্য ক্ষেত্রে. আমরা তাদের এ আমাদের হাত কিছুটা তরঙ্গ করব. 472 00:28:02,440 --> 00:28:07,270 কিন্তু সব তারিখ, বার মাইএসকিউএল বিন্যাসে নির্ধারিত আছে, 473 00:28:07,270 --> 00:28:10,830 এবং সংরক্ষণের তারিখগুলির তারিখগুলি এবং না varchars হিসাবে সুবিধা 474 00:28:10,830 --> 00:28:15,730 এর মানে হল যে ডাটাবেস আসলে বিভিন্ন ফরম্যাটের সেগুলি reformat করতে পারেন, 475 00:28:15,730 --> 00:28:18,800 কিনা একটি মার্কিন বিন্যাসে অথবা ইউরোপীয় বিন্যাস বা ভালো - তবে আপনি এটি করতে চান - 476 00:28:18,800 --> 00:28:22,700 অনেক অধিক কার্যকরী ভাবে যদি এটি ঠিক ছিল কিছু জেনেরিক varchar. 477 00:28:22,700 --> 00:28:25,150 এবং তারপর অন্য কিছু বাইনারি, varbinary, ব্লব আছে. 478 00:28:25,150 --> 00:28:28,580 এগুলি বাইনারি লার্জ অবজেক্ট, এবং আপনি এছাড়াও বাইনারি তথ্য সংরক্ষণ করতে পারেন 479 00:28:28,580 --> 00:28:30,750 পাশাপাশি ডাটাবেসের মধ্যে একটি জ্যামিতিক তথ্য. 480 00:28:30,750 --> 00:28:34,350 কিন্তু আমাদের জন্য সাধারণত আমরা ints এবং varchars এবং ভালো যত্নশীল হবেন. 481 00:28:34,350 --> 00:28:36,230 যাক এর সাথে ঘর এই উদাহরণ শেষ করার. 482 00:28:36,230 --> 00:28:40,030 হাউস আমি বলতে যাচ্ছি ইচ্ছামত 255 অক্ষরের হতে হবে. 483 00:28:40,030 --> 00:28:42,850 তারপর আমরা এই ডিফল্ট মান যেত না. 484 00:28:42,850 --> 00:28:47,440 ডিফল্টরূপে আমরা করা মাথের হাউস প্রত্যেকের উদাহরণস্বরূপ, পারে. 485 00:28:47,440 --> 00:28:49,710 এটা কিভাবে আমরা উল্লেখ করতে পারে যে ডাটাবেস 486 00:28:49,710 --> 00:28:52,460 যে কেউ সর্বদা একটি মান আছে নিশ্চিত করা উচিত. কিন্তু আমি যে করা ছেড়ে দেব. 487 00:28:52,460 --> 00:28:55,270 আসলে, একজন মানুষের বাস ক্যাম্পাস বন্ধ একটি বাড়িতে এবং হইনি, 488 00:28:55,270 --> 00:28:59,590 হয়তো আমি আসলে যে বাড়ির জন্য ডিফল্ট মান হল শূন্য নির্দিষ্ট করতে চান, 489 00:28:59,590 --> 00:29:04,890 এবং তারপর আমি এই চেক বক্স এবং ডাটাবেস এটা ঠিক যদি ইউজার এর ঘর শূন্য হয় বলা প্রয়োজন. 490 00:29:04,890 --> 00:29:07,270 >> আবার, এই একটি প্রতিরক্ষা যন্ত্রানুসঙ্গ আপনি জায়গায় বসাতে পারেন 491 00:29:07,270 --> 00:29:10,590 তাই আপনার পিএইচপি কোড প্রয়োজন তা দিতে হবে না. 492 00:29:10,590 --> 00:29:14,630 ডাটাবেস যে জিনিষ বা শূন্য হয় তা নিশ্চিত করা. 493 00:29:14,630 --> 00:29:17,310 এবং সর্বশেষে, তারপরে আরোপ করা. 494 00:29:17,310 --> 00:29:18,920 এর মধ্যে কোনোটিই সত্যিই প্রাসঙ্গিক. 495 00:29:18,920 --> 00:29:22,880 বাইনারি, স্বাক্ষরবিহীন - তাদের কেউ সাথে প্রাসঙ্গিক একটি varchar যাও. 496 00:29:22,880 --> 00:29:24,220 সূচক. 497 00:29:24,220 --> 00:29:27,320 কোনো ব্যক্তি বা জানি বা মনে রাখা কি একটি সূচক হিসেবে একটি অনুমান আছে 498 00:29:27,320 --> 00:29:29,510 জন্য ঘর মত কিছু? 499 00:29:29,510 --> 00:29:35,240 এই অত্যন্ত আসলে একটি গুরুত্বপূর্ণ এবং তুলনামূলকভাবে সহজ নকশা সিদ্ধান্ত. 500 00:29:35,240 --> 00:29:39,200 শুক্রবার যারা এটি এখনও দেখা যায় না, আমরা বললাম সংক্ষিপ্তভাবে প্রাথমিক নির্দেশক সম্পর্কে. 501 00:29:39,200 --> 00:29:43,240 একটি ডাটাবেস টেবিলের মধ্যে, একটি প্রাথমিক কী ক্ষেত্র বা কলাম 502 00:29:43,240 --> 00:29:46,270 যে একটি টেবিল থেকে সারি চিহ্নিত. 503 00:29:46,270 --> 00:29:49,150 তাই বর্তমান টেবিল আমরা ID উপস্থিত রয়েছে, আমরা নাম ও ইমেল আছে. 504 00:29:49,150 --> 00:29:52,050 যারা কোন ভাল প্রার্থী একটি প্রাথমিক কী হবে, 505 00:29:52,050 --> 00:29:55,810 যার ভূমিকা স্বতন্ত্র সারি সনাক্ত করা হয়? 506 00:29:55,810 --> 00:29:57,530 সম্ভবত আইডি. 507 00:29:57,530 --> 00:29:59,930 তর্কসাপেক্ষ, আমরা যদিও ব্যবহার কি হতে পারে? 508 00:29:59,930 --> 00:30:02,860 হতে পারে আপনি ইমেইল ব্যবহার কারণ এটি তত্ত্ব আছে অনন্য পারে 509 00:30:02,860 --> 00:30:05,380 যদি না মানুষ ইমেইল একাউন্ট ভাগ করা হয়. 510 00:30:05,380 --> 00:30:09,980 কিন্তু বাস্তবতা এই যে আপনি যদি 1234 এর মত একটি সাংখ্যিক আইডি ব্যবহার করছেন, হয় 511 00:30:09,980 --> 00:30:14,170 যে মাত্র 32 বিট, যেহেতু একটি ইমেল ঠিকানা এই অনেক বাইট বা এই অনেক বাইট হতে পারে. 512 00:30:14,170 --> 00:30:16,610 তাই অনন্য আইডিন্টিফায়ারগুলির জন্য দক্ষতা শর্তাদি, 513 00:30:16,610 --> 00:30:19,270 এটা ভাল অভ্যাস কোন int ব্যবহার হতে থাকে 514 00:30:19,270 --> 00:30:23,090 এমনকি আপনি যদি কিছু স্ট্রিং প্রার্থী যে যুক্তি দিয়ে বোঝানো যায় বা দেখানো বা বলা যায় আপনি ব্যবহার করতে পারেন আছে. 515 00:30:23,090 --> 00:30:26,760 >> বাড়িতে ভালো কিছু জন্য, এই একটি প্রাথমিক কী করা উচিত নয় 516 00:30:26,760 --> 00:30:30,770 কারণ তখন শুধুমাত্র 1 ব্যক্তি মাথের মধ্যে এবং চর্মার এবং ভালো 1 জন ব্যক্তির বাস. পারে 517 00:30:30,770 --> 00:30:32,790 একইভাবে, এই অনন্য হওয়া উচিত নয়. 518 00:30:32,790 --> 00:30:37,830 প্রাথমিক এবং অনন্য মধ্যে পার্থক্য হল আমাদের বর্তমান টেবিল ক্ষেত্রে যে, 519 00:30:37,830 --> 00:30:42,620 আইডি প্রাথমিক কিন্তু ইমেল কারণ আমরা শুধু উল্লেখ জন্য প্রাথমিক হয় না - 520 00:30:42,620 --> 00:30:44,740 কর্মক্ষমতা - কিন্তু এখনও এটি অনন্য করা উচিত. 521 00:30:44,740 --> 00:30:47,200 তাই আপনি এখনও দাবি না করে স্বতন্ত্রতা enforce পারেন 522 00:30:47,200 --> 00:30:49,520 এটা একটি গুরুত্বপূর্ণ সুপার প্রাথমিক ক্ষেত্র. 523 00:30:49,520 --> 00:30:52,610 কিন্তু এই এক অত্যন্ত সহায়ক: সূচক. 524 00:30:52,610 --> 00:30:56,180 আপনি যদি আপনার চূড়ান্ত প্রকল্পের জন্য আগাম জানতে জন্য pset 7, বা সাধারণ, 525 00:30:56,180 --> 00:30:59,480 যে এই ক্ষেত্রের বাড়িতে কিছু আপনি অনেক অনুসন্ধান করা হচ্ছে 526 00:30:59,480 --> 00:31:01,910 নির্বাচন অভিব্যক্তি বা অন্য কিছু ব্যবহার করে, 527 00:31:01,910 --> 00:31:05,180 তারপর আপনি preemptively ডাটাবেস তার যাদু কাজ বলতে পারেন 528 00:31:05,180 --> 00:31:10,510 এবং নিশ্চিত করুন যে যা মেমরির মধ্যে এটি কোন অভিনব ডাটা স্ট্রাকচার নির্মাণ করা প্রয়োজন 529 00:31:10,510 --> 00:31:13,770 যাও ঘর উপর ভিত্তি করে অনুসন্ধান সুবিধাযুক্ত. 530 00:31:13,770 --> 00:31:17,860 হতে পারে এটি একটি হ্যাশ টেবিল ব্যবহার করা হতে পারে, এটি একটি যুক্ত তালিকা ব্যবহার করা হবে. 531 00:31:17,860 --> 00:31:21,260 আসলে, এটি একটি ট্রি ব্যবহার করতে থাকে, প্রায়ই একটি কাঠামো একটি B-গাছ বলা হয় - 532 00:31:21,260 --> 00:31:24,090 বাইনারি গাছ নয় কিন্তু একটি B-গাছ - যা একটি অত্যন্ত ব্যাপক বৃক্ষ 533 00:31:24,090 --> 00:31:27,370 আপনি যে একটি বর্গ CS124, ডাটা স্ট্রাকচার বর্গ মত দেখতে হতে পারে. 534 00:31:27,370 --> 00:31:31,800 কিন্তু সংক্ষিপ্ত, আপনি যে যখন স্মার্ট ডাটাবেস সফ্টওয়্যার ব্যবহার সম্পর্কে চিন্তা করার প্রয়োজন হয় না. 535 00:31:31,800 --> 00:31:35,890 আপনি এটা, বলতে পারেন "সূচক এই ক্ষেত্রের তাই আমি আরো দক্ষতার সন্ধান করতে পারেন." 536 00:31:35,890 --> 00:31:40,250 >> যদি আপনি এই থামানো এবং আপনি ডাটাবেস মাথের জীবন প্রত্যেকের জন্য অনুসন্ধান চেষ্টা, 537 00:31:40,250 --> 00:31:42,710 এটি রৈখিক অনুসন্ধান মধ্যে বর্তা হবে. 538 00:31:42,710 --> 00:31:45,360 এবং যদি আপনি 6,000 undergrads পেয়েছিলাম কিছু বাড়ির সব জীবিত করেছি, 539 00:31:45,360 --> 00:31:47,900 আপনি সমগ্র টেবিলের Matherites অনুসন্ধান খুঁজে যাচ্ছেন, 540 00:31:47,900 --> 00:31:52,190 পক্ষান্তরে আপনি যদি সূচক বলে আশা, এটা কিছু ঘনিষ্ঠ একটি লগারিদমিক অনুসন্ধান করা হবে 541 00:31:52,190 --> 00:31:54,510 ঐ ধরণের ছাত্র খুঁজে. 542 00:31:54,510 --> 00:31:56,750 এই মাত্র একটি বিনামূল্যে বৈশিষ্ট্য চালু, 543 00:31:56,750 --> 00:31:59,530 যদিও এটি স্থান কিছু পরিমাণ একটি মূল্যে আসে না. 544 00:31:59,530 --> 00:32:02,690 সর্বশেষে, স্বয়ং বৃদ্ধি, এই এআই ক্ষেত্র, 545 00:32:02,690 --> 00:32:05,830 যা শুধু অর্থ যদি কোন int এবং আপনি তা বাড়ায় নিজের যত্ন না চান 546 00:32:05,830 --> 00:32:07,570 প্রত্যেক বার এক একটা নতুন ইউজার আছে, যে চেক, 547 00:32:07,570 --> 00:32:11,910 এবং প্রত্যেক ব্যবহারকারীর যে ঢোকানো পরার স্বয়ংক্রিয়ভাবে একটি নতুন আইডি পাবেন. 548 00:32:11,910 --> 00:32:15,620 চলুন শুরু করা যাক সংরক্ষণ করুন ক্লিক করুন, এবং এখন এর এই নকশা দোষান্বেষণ করা যাক. 549 00:32:15,620 --> 00:32:20,200 যদি আমি ব্রাউজ, যে বিজ্ঞপ্তি উভয় মাইক এবং আমার ঘর হয় শূন্য ঢোকা. 550 00:32:20,200 --> 00:32:22,420 আমি এই নিজে সম্পাদনা phpMyAdmin ব্যবহার করতে পারেন. 551 00:32:22,420 --> 00:32:25,110 আমি মাথের এ যান এখানে এবং তারপর টাইপ করতে পারেন এবং আঘাত লিখুন, 552 00:32:25,110 --> 00:32:27,740 এবং এখন লক্ষ্য করা টেবিল ভিন্ন. 553 00:32:27,740 --> 00:32:29,270 কিন্তু লক্ষ্য করা আমি অন্য কিছু কি ভাল হতে পারে. 554 00:32:29,270 --> 00:32:33,530 ডেভিড এর আইডি 1, তাই আবার phpMyAdmin শুধুমাত্র একটি প্রশাসনিক হাতিয়ার; 555 00:32:33,530 --> 00:32:35,970 এই কিছু আপনার ব্যবহারকারীদের কখনও হয় দেখতে যাওয়া হয় না. 556 00:32:35,970 --> 00:32:38,810 - যদি আমি বদলে উপরে এসকিউএল ট্যাব ক্লিক করুন 557 00:32:38,810 --> 00:32:41,450 এবং আবার, pset 7 আপনি এই কোয়েরি আরও পরিচয় করিয়ে দিতে হবে - 558 00:32:41,450 --> 00:32:45,260 আমি ম্যানুয়ালি এসকিউএল কোয়েরি কাঠামোবদ্ধ language কমান্ডটি নির্বাহ করতে পারেন 559 00:32:45,260 --> 00:32:56,410 আপডেট ব্যবহারকারীদের ঘর = 'Pfoho' কোথায় আইডি = 1 সেট করুন. 560 00:32:56,410 --> 00:33:00,830 এই SQL কোয়্যারিগুলোকে হয়, সুন্দরভাবে যথেষ্ট, বাঁ দিক থেকে ডানদিকে প্রশংসনীয় পাঠযোগ্য. 561 00:33:00,830 --> 00:33:04,350 ব্যবহারকারীদের তালিকা আপডেট করুন, Pfoho যাও ক্ষেত্র নামক ঘর সেট 562 00:33:04,350 --> 00:33:06,830 যেখানে ব্যবহারকারীর আইডি হল 1. 563 00:33:06,830 --> 00:33:11,480 বা এমন কি হতে পারে যেখানে ইমেল = 'malan@harvard.edu'. 564 00:33:11,480 --> 00:33:14,860 তাই দীর্ঘ স্বতন্ত্র চিহ্নিত সম্পর্কে যে, যে হিসাবে কাজ করবে. 565 00:33:14,860 --> 00:33:18,810 কিন্তু ভুলে যাও উচ্চতর পারফরম্যান্স হতে থাকে, তাই কিছু না যে. 566 00:33:18,810 --> 00:33:22,950 চলুন যান ক্লিক করুন. ঠিক আছে, lecture.users বিদ্যমান নেই. আমার ত্রুটি কি? 567 00:33:22,950 --> 00:33:26,220 টেবিল আসলে এখানে বলা কি? 568 00:33:26,220 --> 00:33:28,770 এটা ছাত্র নামক মাত্র কারণ যে কি আমরা কি উপরের বাম এখানে আপ এর. 569 00:33:28,770 --> 00:33:31,860 এটা ছাত্র ব্যবহারকারীরা, না বলা হচ্ছে. তাই এখন যান ক্লিক করুন. 570 00:33:31,860 --> 00:33:34,330 1 সারি প্রভাবিত. প্রশ্নের 0.01 যাও নেন. 571 00:33:34,330 --> 00:33:38,010 আমি যদি এখন, ব্রাউজ Pfoho মধ্যে এখন Malan জীবন ক্লিক করুন. 572 00:33:38,010 --> 00:33:42,070 যাতে এর এসকিউএল অন্য স্বাদ, কিন্তু pset যে একটি বিট আরো করতে পারবেন হবে. 573 00:33:42,070 --> 00:33:44,710 >> একটি মূঢ় সিদ্ধান্ত আমি ইতিমধ্যে এখানে তৈরি করা আছে. 574 00:33:44,710 --> 00:33:47,820 আমি যে এই ডাটাবেস ডিজাইন হয় অদক্ষ তর্ক করবে 575 00:33:47,820 --> 00:33:51,650 কারণ আরো মানুষ আমি ছাত্র টেবিল যুক্ত, 576 00:33:51,650 --> 00:33:54,730 আমাদের আরো আমি শুরু যোগ টিএফএস আমি শুরু যোগ করার আরো,, 577 00:33:54,730 --> 00:33:58,320 আমরা এই টেবিলের কি redundancies দেখতে শুরু যাচ্ছেন? 578 00:34:00,840 --> 00:34:06,020 >> হাঁ. [ছাত্রদের] দেখছেন যে এটা ছাত্র আছে, আমরা একই ব্যবহার করছেন [শ্রবণাতীত] 579 00:34:06,020 --> 00:34:07,360 একই - ঠিক আছে, ঠিক. 580 00:34:07,360 --> 00:34:10,400 তাই আপনি যদি 400 জনের মাথের বাস, বা দিতে নিতে, 581 00:34:10,400 --> 00:34:15,000 ঘটনাক্রমে এই টেবিলের 400 সারি যে "মাথের," "মাথের বলে, হবে" 582 00:34:15,000 --> 00:34:16,590 "মাথের," "মাথের," "মাথের." 583 00:34:16,590 --> 00:34:19,820 আমরা এই বাইট সমস্ত নাশক, এবং সেখানে আছে takeaways একটি দম্পতি. 584 00:34:19,820 --> 00:34:23,080 1, ছবি কোণার কেস আছে যেখানে যদি কেউ অর্থ অনেকটা বহন করেনা 585 00:34:23,080 --> 00:34:25,949 এবং renames মাথের, আমরা এখন আমাদের পুরো ডাটাবেস টেবিল পরিবর্তন আছে. 586 00:34:25,949 --> 00:34:29,730 যে প্রায়ই ঘটতে, যাচ্ছে না যদিও একবার Pfoho বলা হয়েছিল উত্তর হাউস 15 বছর আগে, 587 00:34:29,730 --> 00:34:32,310 তাই এটা. কিন্তু যে সমস্ত যে বাধ্যকারী না. 588 00:34:32,310 --> 00:34:36,000 একটি বাল্ক মধ্যে তথ্য আপডেট করা প্রয়োজন যে ভালো কোণ ক্ষেত্রে বেশী বাধ্যকারী 589 00:34:36,000 --> 00:34:41,150 একটি ডাটাবেসের জন্য কেন হয় আপনি মাথের সংরক্ষণকারী আবার এবং আবার এবং আবার এবং আবার? 590 00:34:41,150 --> 00:34:43,020 এটা অক্ষর, 6 অক্ষর অনেক. 591 00:34:43,020 --> 00:34:45,500 আমরা বিশেষত Pforzheimer তুলনায় আরও ভাল, না করতে পারেন? 592 00:34:45,500 --> 00:34:48,320 নিশ্চয় আমরা যে অনেক অক্ষরের চেয়ে ভাল করতে পারেন. 593 00:34:48,320 --> 00:34:51,790 কেন শুধু একটি প্রতিটি ঘর সঙ্গে অনন্য শনাক্তকারী সংযুক্ত না 594 00:34:51,790 --> 00:34:55,020 এবং প্রত্যেক ব্যবহারকারীর জন্য দোকান যে? তাই আসুন এই চেষ্টা. 595 00:34:55,020 --> 00:35:00,610 বরং শুধুমাত্র ছাত্র সারণি ব্যবহার করুন, আমাকে আমার বক্তৃতা ডাটাবেস পর্যন্ত যেতে উপরের বাম আপ এখানে. 596 00:35:00,610 --> 00:35:02,600 এখানে উল্লেখ্য, এটি টেবিল তৈরি করুন. 597 00:35:02,600 --> 00:35:04,550 আমাকে একটা নতুন টেবিল বলা ঘর নির্মাণ. 598 00:35:04,550 --> 00:35:08,880 কলাম সংখ্যা 2 হবে. লিখুন. 599 00:35:08,880 --> 00:35:11,200 এখন আমি 2 ক্ষেত্র আছে. 600 00:35:11,200 --> 00:35:14,600 আমি এই নামের কল যাচ্ছে, এবং করছি এটি একটি varchar দৈর্ঘ্য 255 হতে যাচ্ছে, 601 00:35:14,600 --> 00:35:18,770 >> কিন্তু যে বেশ নির্বিচারে. আমাকে এই ডাউন এখানে দ্বারা প্রচল করা. 602 00:35:18,770 --> 00:35:22,840 সুতরাং একটি আইডি আপ এখানে রাখুন. যাক এর একটি অনন্য শনাক্তকারী দিতে প্রত্যেক বাড়িতে. 603 00:35:22,840 --> 00:35:25,360 যাক এর একটি নাম দিন প্রত্যেক বাড়িতে. 604 00:35:25,360 --> 00:35:30,980 এর নির্দিষ্ট যে শনাক্তকারী ঠিক কনভেনশন দ্বারা হতে স্বাক্ষরবিহীন শুধুমাত্র ইতিবাচক সংখ্যা প্রয়োগ করা হবে. 605 00:35:30,980 --> 00:35:35,020 চলুন এগিয়ে যান এবং এখন এই জন্য একটি স্বয়ং - বর্ধন ক্ষেত্রের দিতে. 606 00:35:35,020 --> 00:35:38,160 এবং আমরা কোন কিছু জানার প্রয়োজন? 607 00:35:38,160 --> 00:35:41,010 চলুন এগিয়ে যান এবং সংরক্ষণ করুন ক্লিক করুন. 608 00:35:41,010 --> 00:35:42,480 এখন আমি দ্বিতীয় একটি টেবিল আছে. 609 00:35:42,480 --> 00:35:45,860 উল্লেখ্য, এই একটি সরাইয়া হিসাবে সামান্য রহস্যপূর্ণ SQL কমান্ড 610 00:35:45,860 --> 00:35:50,280 যে আপনি নিজে টাইপ করে যদি একটি phpMyAdmin ব্যবহার করে ভালো প্রশাসনিক হাতিয়ার না করে থাকতে পারে. 611 00:35:50,280 --> 00:35:51,990 তাই অন্য কোনো কারণে আমরা এটি ব্যবহার করার জন্য. 612 00:35:51,990 --> 00:35:55,480 এটা pedagogically এর wonderfully দরকারী সাজানোর কারণ আপনি চারপাশে ক্লিক করতে পারেন 613 00:35:55,480 --> 00:36:01,050 এবং জিনিসটা কিভাবে যে মাত্র কপি এবং পেস্ট phpMyAdmin কি কি কাজ করে. 614 00:36:01,050 --> 00:36:04,150 কিন্তু তৈরি টেবিল কমান্ড কি ঠিক ছিল মৃত্যুদন্ড কার্যকর করা, এবং এখানে আমার টেবিল. 615 00:36:04,150 --> 00:36:11,370 আমাকে এখন এগিয়ে যান এবং সন্নিবেশ ট্যাবে ক্লিক করে কাঁচা এসকিউএল বদলে ব্যবহার অতিসরল করে তোলা. 616 00:36:11,370 --> 00:36:15,040 আমাকে ঘরের মধ্যে ঢোকান না, 617 00:36:15,040 --> 00:36:22,230 এবং আমি ঘর নামের মধ্যে 'মাথের' একটি মান আছে যাচ্ছে বলে যাচ্ছি. 618 00:36:22,230 --> 00:36:24,790 এটা এটি. এই সিন্টেক্স হল একটি সামান্য আরো রহস্যপূর্ণ. 619 00:36:24,790 --> 00:36:26,660 এই ক্ষেত্র আমরা প্রবেশ করাতে চান তার নাম. 620 00:36:26,660 --> 00:36:30,390 এগুলি মান আমরা যারা ক্ষেত্রগুলির মধ্যে সন্নিবেশ করতে চান. আমাকে যান ক্লিক করুন. 621 00:36:30,390 --> 00:36:34,410 1 সারি সন্নিবিষ্ট 0.02 যাও নেন. আমাকে এখন ব্রাউজ ক্লিক করুন. 622 00:36:34,410 --> 00:36:42,020 >> যদি আমি ব্রাউজ ক্লিক করুন উল্লেখ্য, মাথের, যার আইডি স্বয়ংক্রিয়তা দ্বারা 1 নম্বর আছে. 623 00:36:42,020 --> 00:36:45,000 আমাকে অন্য এক না. আমাকে এসকিউএল ট্যাব ঢোকা. 624 00:36:45,000 --> 00:36:52,950 ঘরের মধ্যে ঢোকান. ঘর নামের Pfoho একটি মান আছে যাচ্ছে এবং তাই ঘোষণা করা হয়. 625 00:36:52,950 --> 00:36:56,350 যান. এবং আমি এই কাজ আবার এবং আবার এবং আবার রাখতে পারেন. 626 00:36:56,350 --> 00:36:59,470 অথবা যদি আপনি phpMyAdmin ব্যবহার করে উদাস করতে, আপনাকে শুধু সন্নিবেশ ট্যাব ব্যবহার করতে পারেন 627 00:36:59,470 --> 00:37:01,000 এবং কাঁচা SQL টাইপ না. 628 00:37:01,000 --> 00:37:04,690 উদাহরণস্বরূপ, আপনি শুধুমাত্র এটি টাইপ করে এক্ষুনি আউট করতে পারেন আরো দ্রুত,, চর্মার, লিখুন, 629 00:37:04,690 --> 00:37:07,610 এবং এখন যদি আমরা ব্রাউজ ক্লিক করুন, এর সঙ্গে একটি আইডি আছে 3 চর্মার. 630 00:37:07,610 --> 00:37:09,920 তাই এই কি আমরা স্বয়ং বৃদ্ধি দ্বারা অর্থ. 631 00:37:09,920 --> 00:37:12,280 কিন্তু এখন আমরা ছাত্র কিছু ঠিক করা আছে. 632 00:37:12,280 --> 00:37:16,240 ইন ছাত্র এখন কি ঘর ক্ষেত্রের তথ্য টাইপ করা উচিত? 633 00:37:16,240 --> 00:37:19,450 এটা কোন int, ডান হতে হবে? 634 00:37:19,450 --> 00:37:23,950 তাই এখানে লক্ষ্য আউট বিবেচনার হয়, অন্যথায় স্বাভাবিক হিসাবে পরিচিত, সারণী 635 00:37:23,950 --> 00:37:27,940 যাতে আমরা তথ্য আমার টেবিলের কোনো না redundantly সঞ্চয়. 636 00:37:27,940 --> 00:37:31,130 এবং আবার, পাথ আমরা এখানে ছিল যাও মাথের, মাথের বলতে হবে, 637 00:37:31,130 --> 00:37:34,220 মাথের, মাথের, Pfoho, Pfoho, Pfoho, Pfoho, যা খুবই অপ্রয়োজনীয় 638 00:37:34,220 --> 00:37:36,240 এর মধ্যে অক্ষর wastefulness শর্তাবলী. 639 00:37:36,240 --> 00:37:40,820 সুতরাং সম্পর্কে এগিয়ে যান এবং ক্লিক গঠন দ্বারা এই পরিবর্তন যাক, 640 00:37:40,820 --> 00:37:44,620 সম্পর্কে এবং এগিয়ে যান এবং ক্ষেত্র ঘর চেক নির্গমনপথ, পরিবর্তন এ ক্লিক করুন, 641 00:37:44,620 --> 00:37:46,990 এবং এখন আমি এই একটি int-এ পরিবর্তন করা যাচ্ছে না. 642 00:37:46,990 --> 00:37:49,490 255 আর প্রাসঙ্গিক. 643 00:37:49,490 --> 00:37:54,010 আমাকে এগিয়ে যান এবং যে সূক্ষ্ম যদি এটি এখনও শূন্য বলে. সংরক্ষণ করুন. 644 00:37:54,010 --> 00:37:55,870 এখন সফলভাবে টেবিল ছাত্র রদবদল করা হয়েছে, 645 00:37:55,870 --> 00:37:59,090 এবং আবার বিজ্ঞপ্তি বাড়িটিও কোন int. 646 00:37:59,090 --> 00:38:02,220 একটি সরাইয়া হিসাবে, বন্ধনী সংখ্যা যখন এটি ints আসে উপেক্ষা. 647 00:38:02,220 --> 00:38:03,770 >> এই পুরানো কারণে হয়. 648 00:38:03,770 --> 00:38:06,920 পিছনে দিন যখন আপনি GUIs আছে না করে থাকেন, তাহলে এর পরিবর্তে আপনি একটি কমান্ড লাইন পরিবেশ ছিল, 649 00:38:06,920 --> 00:38:11,580 10 এবং 11 যথাক্রমে নির্দিষ্ট কতগুলি অক্ষর আপনি দেখাতে হবে 650 00:38:11,580 --> 00:38:13,950 টার্মিনাল উইন্ডোর মধ্যে আসলে ক্ষেত্র প্রদর্শন. 651 00:38:13,950 --> 00:38:19,150 এটা প্রকৃত ক্ষেত্র বিট দৈর্ঘ্যের সঙ্গে না আছে, তাই আমরা ঠিক এখন জন্য যে উপেক্ষা করব. 652 00:38:19,150 --> 00:38:20,990 এখন আমি এই টেবিলের মধ্যে যেতে হবে. 653 00:38:20,990 --> 00:38:24,610 এবং যদি ডেভিড মাথের মধ্যে বসবাস করেন, হাউস 0 উচিত নয়, 654 00:38:24,610 --> 00:38:27,350 যা ডিফল্ট int মান NULL closest. 655 00:38:27,350 --> 00:38:29,810 তিনি বাড়িতে 1 থাকা উচিৎ. 656 00:38:29,810 --> 00:38:36,870 চলুন শুরু করা যাক ইচ্ছামত যে Pfoho মাইক জীবন, তাই ঘর সংখ্যা 2. 657 00:38:36,870 --> 00:38:40,160 এখন আমার টেবিল দেখায় একটু আরো রহস্যপূর্ণ. 658 00:38:40,160 --> 00:38:41,960 কিন্তু দক্ষতা বিবেচনা. 659 00:38:41,960 --> 00:38:44,860 আমি এখন করছি শুধুমাত্র 32 বিট ব্যবহার করে বাড়ি সনাক্ত করা, 660 00:38:44,860 --> 00:38:49,530 যার মানে শুধুমাত্র 1 আমার বাড়ির মাথের এবং Pfoho ক্যানোনিকাল সংজ্ঞা আছে 661 00:38:49,530 --> 00:38:52,090 এবং যে ঘর টেবিল আছে. 662 00:38:52,090 --> 00:38:55,880 তাই আমি যদি এখন এই সমস্ত টেবিলের পুনরায় যুক্ত করতে চান তা এই ভাবে, মনে হয়. 663 00:38:55,880 --> 00:39:01,980 এখানে আমি আমার ছাত্র টেবিল খালি আছে, এবং ডান দিকে এই সংখ্যা, 1 এবং 2 আছে. 664 00:39:01,980 --> 00:39:04,180 1 মাথের, 2 Pfoho. 665 00:39:04,180 --> 00:39:08,580 আমরা যারা এই অন্যান্য টেবিল একই সংখ্যা, যা ঘর বলা হয় আছে, 666 00:39:08,580 --> 00:39:11,020 1 এবং 2 3 যারা ঘরের জন্য এবং 3. 667 00:39:11,020 --> 00:39:14,990 আমরা এখন কি করতে চান কোড মধ্যে ক্ষমতা, পিএইচপি এবং এসকিউএল আছে, 668 00:39:14,990 --> 00:39:18,800 এর বাছাই এইসব সারণী, উত্তরে বলা যেখানে যদি এই হয় ছাত্র এবং এই ঘর, 669 00:39:18,800 --> 00:39:22,050 আমরা একরকম তাদের সঙ্গে মেশা 1 যাতে 1 লাইন আপ করতে চান, 670 00:39:22,050 --> 00:39:25,670 সঙ্গে 2 2 লাইন আপ, এবং যাতে আমরা যেখানে ডেভিড চিন্তা করতে পারেন 671 00:39:25,670 --> 00:39:28,000 এবং যেখানে যেখানে মাইক এবং বাকিদের জীবন. 672 00:39:28,000 --> 00:39:31,850 এই কাজের জন্য আমরা নিচের মত একটি SQL কোয়েরি নির্বাহ করতে পারেন. 673 00:39:31,850 --> 00:39:40,470 ছাত্রদের উপর ঘর থেকে যোগ দিন * SELECT - 674 00:39:40,470 --> 00:39:43,000 এবং এখন আমরা কি ক্ষেত্র যোগ দিতে চান? 675 00:39:43,000 --> 00:39:49,520 সুতরাং students.house = houses.id. 676 00:39:49,520 --> 00:39:54,150 >> একটু রহস্যপূর্ণ, কিন্তু এই অংশ আক্ষরিক অর্থ হল একটি নতুন অস্থায়ী টেবিল তৈরি 677 00:39:54,150 --> 00:39:56,690 যে ছাত্র এবং ঘর যোগদান ফলাফল. 678 00:39:56,690 --> 00:40:00,340 এবং কিভাবে আপনি এখানে আমার আঙ্গুলের মধ্যে টিপস একত্রিত করতে চান? 679 00:40:00,340 --> 00:40:05,280 ছাত্র 'ক্ষেত্রের সমান ঘর ঘর যাও' আইডি ক্ষেত্র নির্ধারণ করুন. 680 00:40:05,280 --> 00:40:10,220 এবং আমি যদি এখন যান ক্লিক করুন, আমি ফিরে পেতে ঠিক কি আমি আশা. 681 00:40:10,220 --> 00:40:15,890 ডেভিড মাথের হয়, মাইক Pfoho হয়, এবং আমি এও অনন্য আইডিন্টিফায়ারগুলির দেখুন. 682 00:40:15,890 --> 00:40:18,640 কিন্তু বিন্দু এখন আমি একটি সম্পূর্ণ টেবিল আছে. 683 00:40:18,640 --> 00:40:23,020 এবং তাই pset 7 জন্য এখানে takeaway বা সত্যিই চূড়ান্ত প্রকল্পের জন্য: 684 00:40:23,020 --> 00:40:25,830 যদি জানতে পারেন যে আপনি কোন তথ্য সংরক্ষণ টুকরা redundantly করছি, 685 00:40:25,830 --> 00:40:28,850 এটি একটি ঘর হয়তো, এটা একটা শহর, রাজ্য, এবং জিপ 686 00:40:28,850 --> 00:40:32,050 যেখানে সবসময় জিপ সাধারণতঃ না কিন্তু একটি স্বতন্ত্র আইডেন্টিফায়ার হিসেবে ব্যবহার করা যায়, 687 00:40:32,050 --> 00:40:35,810 ব্যায়াম দিয়ে যেতে phpMyAdmin ভালো কিছু মানসিক এবং পরে না 688 00:40:35,810 --> 00:40:40,660 যে সাধারণ তথ্য আউট ফ্যাক্টরিং কারণ হিসাবে বিশেষ করে আপনার ওয়েবসাইট পায় আরো ভাল ব্যবহৃত 689 00:40:40,660 --> 00:40:45,440 এবং আরো জনপ্রিয়, এটা কিভাবে নিশ্চিত যে সব সুপার ফাস্ট, 690 00:40:45,440 --> 00:40:51,930 দ্বারা যাও স্বতন্ত্রতা হিসাবে অনেক সম্ভাব্য হিসাবে ইঙ্গিত হিসাবে ডাটাবেস প্রদান. 691 00:40:51,930 --> 00:40:53,860 যে ছিল অনেক. 692 00:40:53,860 --> 00:40:59,010 কোন প্রশ্ন? ঠিক আছে. চলুন একটা 5 মিনিটের বিরতি নিতে এবং সংঘবদ্ধ করা. 693 00:41:01,600 --> 00:41:03,540 ঠিক আছে. 694 00:41:03,540 --> 00:41:08,680 নিম্নলিখিত উদাহরণ যে কিছু বছর আগে যখন আমি CS161 ব্যবহৃত হয়েছিল, 695 00:41:08,680 --> 00:41:10,960 যা অপারেটিং সিস্টেম কলেজে বর্গ 696 00:41:10,960 --> 00:41:15,160 যা হচ্ছে আশ্চর্যজনক জন্য কিন্তু পরিচিত একটি কাজের ছবি পরিমাণ হয়, 697 00:41:15,160 --> 00:41:19,810 এবং এটি নিম্নস্তরের সমস্যা অপারেটিং সিস্টেমে যে উঠা কিছু সত্যিই গুরুত্ত্ব দেয় 698 00:41:19,810 --> 00:41:22,700 এবং এছাড়াও এমনকি উপাত্ত বিশ্বের. 699 00:41:22,700 --> 00:41:27,040 >> বিবরণ যে আমার অধ্যাপক, Margo সেল্টসার, যে বছর বলা ছিল হিসাবে অনুসরণ করে. 700 00:41:27,040 --> 00:41:30,990 ধরুন যে আপনি একটু আপনি এবং আপনার জন্য একই ঘরে বাসিন্দা dorm রেফ্রিজারেটর আছে 701 00:41:30,990 --> 00:41:34,030 এবং সত্যিই আপনি দুটি দুধ চাই. 702 00:41:34,030 --> 00:41:36,360 সুতরাং আপনি বর্গ একদিন বাড়ি থেকে আসা, আপনার একই ঘরে বাসিন্দা এখনও আছে, 703 00:41:36,360 --> 00:41:39,650 আপনি রেফ্রিজারেটর খুলুন, এবং আপনি বুঝতে, "ওহ অভিশাপ, আমরা দুধ ফুরিয়েছে." 704 00:41:39,650 --> 00:41:42,070 সুতরাং আপনি রেফ্রিজারেটর বন্ধ, আপনি রাস্তা জুড়ে পদব্রজে ভ্রমণ CVS যাও 705 00:41:42,070 --> 00:41:45,830 ক্রমবর্ধমান দীর্ঘ লাইনে এবং CVS এ কিছু দুধ কিনতে পাবেন. 706 00:41:45,830 --> 00:41:48,470 এদিকে, আপনার একই ঘরে বাসিন্দা তার বা তার বর্গ থেকে বাড়িতে আসে, 707 00:41:48,470 --> 00:41:51,690 রুম মধ্যে আসে, প্রর্দশিত রেফ্রিজারেটর সত্যিই কিছু দুধ অনুপস্থিত, 708 00:41:51,690 --> 00:41:54,130 রেফ্রিজারেটর প্রর্দশিত হবে এবং, "অভিশাপ, কোন দুধ." 709 00:41:54,130 --> 00:41:57,890 তাই সে প্রচেষ্টা রেফ্রিজারেটর, পদচারনা দরজা আউট, এবং ABP যায় 710 00:41:57,890 --> 00:42:00,910 কোথাও বা CVS যেখানে আপনি অপরের মধ্যে আচমকা যাও চলুন না তুলনায় অন্যান্য 711 00:42:00,910 --> 00:42:02,790 কিছু দুধ পেতে যান. 712 00:42:02,790 --> 00:42:04,820 অবশ্য কয়েক মিনিট পরে, আপনার উভয় পেতে ফিরে হোম 713 00:42:04,820 --> 00:42:07,740 এবং এখন আপনি দুইবার যতটা দুধ হিসাবে আসলে আপনি যেমনটি আছে. 714 00:42:07,740 --> 00:42:10,670 এবং এখন হচ্ছে দুধ, এটি খারাপ যেতে যাচ্ছে না, কারণ আপনি দুধ পছন্দ এর 715 00:42:10,670 --> 00:42:14,200 কিন্তু আপনি কি দুধ ভালো, সত্যিই তাই না এখন আপনি খুব দুধ আছে, তাই এটা চুকা যাচ্ছে. 716 00:42:14,200 --> 00:42:16,830 এটি একটি ভয়ঙ্কর, ভয়ঙ্কর অবস্থা. 717 00:42:16,830 --> 00:42:22,920 যদি আপনি প্রথম একই ঘরে বাসিন্দা বাসা কি এই মীমাংসিত বিধেয় থাকতে পারে? হ্যাঁ. 718 00:42:22,920 --> 00:42:25,970 [ছাত্রদের] আপনি একটি নোট চলে উচিত. [হাস্য] 719 00:42:25,970 --> 00:42:28,090 গুড. আপনি একটি নোট চলে উচিত. 720 00:42:28,090 --> 00:42:32,320 আপনি বলছেন, একটা পোস্ট এটা নোট বা করা উচিত "দুধ জন্য Gone," 721 00:42:32,320 --> 00:42:36,830 এবং তারপর আপনার ধারণার দিক থেকে একই ঘরে বাসিন্দা গিয়েছিল আসলে যে করছেন লক আউট. 722 00:42:36,830 --> 00:42:38,010 অথবা আপনি আরও 1 ধাপে যেতে পারে. 723 00:42:38,010 --> 00:42:41,060 আপনি আক্ষরিক কুলুপ কিছু দিয়ে ফ্রিজ লক করতে পারে, 724 00:42:41,060 --> 00:42:44,870 এবং এখন আক্ষরিক আপনার একই ঘরে বাসিন্দা করা রেফ্রিজারেটর লক আউট. 725 00:42:44,870 --> 00:42:48,520 যদি আমরা ফিরে যাও প্রোগ্রামিং বিশ্বজনীন করা, 726 00:42:48,520 --> 00:42:51,610 আপনি প্রায় রেফ্রিজারেটর পরিবর্তনশীল কিছু অথবা একটি struct হিসাবে মনে করতে পারেন, 727 00:42:51,610 --> 00:42:53,500 তথ্যের জন্য ধারক কিছু. 728 00:42:53,500 --> 00:42:58,290 সমস্যা এখানে মৌলিকভাবে যে আপনি উভয় যাও পরিদর্শন করা অনুমোদিত হয়েছে 729 00:42:58,290 --> 00:43:02,370 অথবা এই তথ্য কাঠামো রাষ্ট্র পড়া, 730 00:43:02,370 --> 00:43:08,050 কিন্তু আপনি বিভিন্ন সময়ে দেখা যাবে এবং এটি এখনো আপনাদের উভয়ের একটি সিদ্ধান্ত 731 00:43:08,050 --> 00:43:11,920 ঐ সময় বিভিন্ন মুহূর্ত সময়ে বিশ্বের রাষ্ট্র উপর ভিত্তি করে. 732 00:43:11,920 --> 00:43:15,570 সুতরাং আপনি ফ্রিজ লক করে, আপনি অন্তত আপনার একই ঘরে বাসিন্দা হবে অপবারিত 733 00:43:15,570 --> 00:43:19,070 থেকে বিশ্বের রাষ্ট্র পরিদর্শন করা সক্ষম হয়ে যাবার, 734 00:43:19,070 --> 00:43:22,530 তাই সে একই সিদ্ধান্ত করতে পারে না. 735 00:43:22,530 --> 00:43:25,780 উপাত্ত, তাই হিসাবে এটি সক্রিয় আউট, ক্রমাগত এই সমস্যা আছে. 736 00:43:25,780 --> 00:43:31,050 >> চলুন আমরা যদি একটি দৃশ্যকল্প গড়া দেখতে পারেন. 737 00:43:31,050 --> 00:43:34,310 আপনি একজন খারাপ লোক বাছাই করা ধরুন এবং আপনি ব্যাঙ্ক অফ আমেরিকা যান 738 00:43:34,310 --> 00:43:37,950 বর্গক্ষেত্র অন্যান্য জায়গা যে একটি পার্শ্ব দ্বারা দম্পতি এটিএম সাইড আছে বা এক, 739 00:43:37,950 --> 00:43:41,200 এবং একরকম আপনি মূর্তিযুক্ত আউট কিভাবে একটি এটিএম কার্ড প্রতিলিপি - যে সমস্ত হার্ড না. 740 00:43:41,200 --> 00:43:42,730 এটি শুধু একটি চৌম্বক ফালা. 741 00:43:42,730 --> 00:43:45,180 তাই আপনি কি কি করতে চেষ্টা করতে হয় এই গেমটি খেলতে 742 00:43:45,180 --> 00:43:49,060 যেখানে আপনি 1 টি মেশিনের মধ্যে 1 কার্ড করা, অন্য মেশিনে আরেকটি কার্ড, 743 00:43:49,060 --> 00:43:51,980 এবং আপনি অপরিহার্যরূপে একযোগে টাকা তুলতে চেষ্টা করতে চান, 744 00:43:51,980 --> 00:43:54,930 কারণ কল্পনা করা যে বিবরণ নিম্নরূপ যায়. 745 00:43:54,930 --> 00:43:57,350 বাম মেশিন আপনার কার্ড এবং আপনার PIN লাগে, 746 00:43:57,350 --> 00:44:00,240 এবং তারপর আপনি বলে, "সম্পর্কে $ 100 দিন." 747 00:44:00,240 --> 00:44:04,790 এটিএম প্রথমে তার নিজস্ব ডাটাবেসের মধ্যে অথবা সমতূল্য একটি প্রোগ্রাম নির্বাচন না করা হয় - 748 00:44:04,790 --> 00:44:10,780 যাই হোক না কেন এর ডাটাবেস ব্যবহার করে এটা - দেখতে এই ব্যবহারকারীর জন্য তার একাউন্টে কমপক্ষে 100 $ আছে? 749 00:44:10,780 --> 00:44:16,180 যদি তাই হয় তাহলে, $ 100 থুতু আউট এবং তাদের ব্যালেন্স থেকে $ 100 বিয়োগ করা. 750 00:44:16,180 --> 00:44:20,470 তবে অবশ্যই যদি এখানে একাধিক মেশিনে বা পরিদর্শনের একাধিক উপায় 751 00:44:20,470 --> 00:44:23,560 বিশ্বের রাষ্ট্র, ব্যাংক খিলান, কত টাকা আছে আপনি দেখুন, 752 00:44:23,560 --> 00:44:26,780 বাম মেশিনের সম্ভাবনা দ্বারা যে শুধু অনুমান এবং অধিকার 753 00:44:26,780 --> 00:44:30,140 উভয় সময় প্রায় একই মুহূর্তে যে প্রশ্ন জিজ্ঞাসা করুন. 754 00:44:30,140 --> 00:44:34,160 >> এবং অবশ্যই এই ঘটতে পারে. এটিএম হয় কম্পিউটারের এই দিন. 755 00:44:34,160 --> 00:44:37,670 তাই আপনি যদি বাম মেশিন বলে, "হ্যাঁ, আপনি অন্তত $ 100 আছে," 756 00:44:37,670 --> 00:44:42,150 ইতিমধ্যে ডান মেশিন বলে, "হ্যাঁ, আপনি অন্তত $ 100 আছে," 757 00:44:42,150 --> 00:44:47,420 তারপর তাদের উভয় তাদের প্রোগ্রাম এবং শেষ এগিয়ে আসলে $ 100 থুতু আউট 758 00:44:47,420 --> 00:44:50,820 এবং বলবে ". পূর্বে আপনাকে $ 200 ছিল" 759 00:44:50,820 --> 00:44:54,890 "আমার একাউন্টে $ 100 এখন আদৌ পরিবর্তনশীল আপডেট করা যাক." 760 00:44:54,890 --> 00:44:58,780 কিন্তু যদি দুইটাই আপনার অ্যাকাউন্ট ব্যালেন্স চেক করা আছে এবং এটি পাওয়া যে এর $ 200 761 00:44:58,780 --> 00:45:02,000 100, - এবং তারপর তাদের উভয় গণিত এবং 200 বলে 762 00:45:02,000 --> 00:45:06,990 সম্ভাব্য মেশিন আছে প্রতিটি মেশিনের মধ্যে থুতু দুই $ 100 বিল আউট, 763 00:45:06,990 --> 00:45:11,360 কিন্তু তারা শুধুমাত্র আপনার সমষ্টি অ্যাকাউন্ট ব্যালেন্স করেছি $ 100 হতে আপডেট. 764 00:45:11,360 --> 00:45:15,130 অন্য কথায়, আপনি $ 200 নিয়ে যাওয়া, করেছি কিন্তু কারণ তারা বিশ্বের রাষ্ট্র পরিদর্শন 765 00:45:15,130 --> 00:45:18,840 একযোগে এবং তারপর একটি সিদ্ধান্ত যে মান উপর ভিত্তি করে তৈরি করা, 766 00:45:18,840 --> 00:45:21,930 পরিণামে তারা গণিত সঠিকভাবে কাজ করতে পারে. 767 00:45:21,930 --> 00:45:25,520 তাই খুব একটা ব্যাংক অবস্থায় আপনি তালাবন্দী কোন না কোন রকমের সত্যিই চান 768 00:45:25,520 --> 00:45:28,450 যাতে যত তাড়াতাড়ি আপনি কিছু ভেরিয়েবলের রাষ্ট্র চেক করেছি 769 00:45:28,450 --> 00:45:31,220 যে আপনার অ্যাকাউন্ট ব্যালেন্স মত সত্যিই গুরুত্বপূর্ণ,, 770 00:45:31,220 --> 00:45:36,070 না অন্য কেউ যে এর উপর ভিত্তি করে সিদ্ধান্ত না হওয়া পর্যন্ত আপনি আপনার জিনিস কাজ সম্পন্ন করা হয় না, 771 00:45:36,070 --> 00:45:38,920 যেখানে আপনি এই ক্ষেত্রে বাম এটিএম. 772 00:45:38,920 --> 00:45:41,160 বাকিদের লক আউট. 773 00:45:41,160 --> 00:45:44,650 আপনি আসলে বিভিন্ন উপায়ে একটি দম্পতি এই প্রভাব অর্জন করতে পারেন. 774 00:45:44,650 --> 00:45:48,660 >> মাইএসকিউএল মধ্যে সবচেয়ে সহজ উপায় হল এসকিউএল একটি লাইন যে আমরা আপনার দেওয়া 775 00:45:48,660 --> 00:45:52,030 সমস্যা সেট স্পেসিফিকেশন ঠিক ভালো যে দেখায়. 776 00:45:52,030 --> 00:45:57,420 যাহা বলা এর - - একটি আইডি, একটি প্রতীক, এবং একটি ভাগ, শেয়ারের একটি নম্বর, টেবিলের মধ্যে ঢোকান 777 00:45:57,420 --> 00:45:59,660 নিম্নলিখিত মানের, উদাহরণস্বরূপ. 778 00:45:59,660 --> 00:46:03,370 এখনো যদি আপনি পঠিত বৈশিষ্ট না, এই একটি উদাহরণ জড়িত তা আপনি কীভাবে সম্পর্কে যান 779 00:46:03,370 --> 00:46:07,340 রাষ্ট্রপতি Skroob জন্য এই টাকা স্টক 10 শেয়ার কেনার, 780 00:46:07,340 --> 00:46:10,340 যার ইউজার আইডি নম্বর 7 করা হয়? 781 00:46:10,340 --> 00:46:14,070 এই বলে টেবিলের নিম্নলিখিত আইডি, প্রতীক, এবং শেয়ারের মধ্যে নম্বর ঢোকান 782 00:46:14,070 --> 00:46:18,200 7, 'DVN.V', এবং 10. 783 00:46:18,200 --> 00:46:21,510 কিন্তু - কিন্তু, কিন্তু, কিন্তু - দ্বিতীয় লাইনটি গুরুত্বপূর্ণ এক. 784 00:46:21,510 --> 00:46:26,310 অন ​​সদৃশ KEY আপডেট শেয়ার = শেয়ার + মান (শেয়ার). 785 00:46:26,310 --> 00:46:28,350 তাই সম্পূর্ণভাবে প্রথম নজরে রহস্যপূর্ণ-খুঁজছি. 786 00:46:28,350 --> 00:46:31,990 কিন্তু এটা সত্য যে এই SQL কোয়েরি, যদিও এটি 2 লাইন সম্মুখের গোপন করে, 787 00:46:31,990 --> 00:46:35,920 1 টি দীর্ঘ কোয়েরি, এটি অর্থ এটি আনবিক 788 00:46:35,920 --> 00:46:41,000 এ অনুভূতি যে হয় এই প্রশ্নের সাথে সব একসঙ্গে বা না মৃত্যুদন্ড কার্যকর করা হবে এ সব হবে. 789 00:46:41,000 --> 00:46:45,100 এবং মাইএসকিউএল সংজ্ঞা দ্বারা, যে কিভাবে তারা এই প্রশ্নের সাথে বাস্তবায়িত হয়নি. 790 00:46:45,100 --> 00:46:51,010 এটি ম্যানুয়াল সকল চালানো সব একবারে বা না নিশ্চিত মধ্যে সংজ্ঞা হয়. 791 00:46:51,010 --> 00:46:54,020 এই জন্য প্রেরণার হিসাবে অনুসরণ করে. 792 00:46:54,020 --> 00:46:58,540 যদি এই ক্ষেত্রে আপনি স্টক 10 শেয়ার কেনার চেষ্টা করছেন, 793 00:46:58,540 --> 00:47:02,260 এটা দুধ হিসাবে একই ধরণের বিবরণ, এটা এটিএম হিসাবে বিবরণ একই ধরনের. 794 00:47:02,260 --> 00:47:04,970 >> যদি আপনি ভুল ব্যবহার করে এই বাক্য গঠন না 795 00:47:04,970 --> 00:47:09,610 কিন্তু ডাটাবেস থেকে নির্বাচনের পরিবর্তে এই টাকা স্টক যত শেয়ার দেখুন 796 00:47:09,610 --> 00:47:13,750 কিন্তু প্রেসিডেন্ট Skroob, আছে এবং অনুমান তিনি 10 শেয়ার আছে, 797 00:47:13,750 --> 00:47:19,330 এবং তারপর কিছু বিভক্ত দ্বিতীয় পরে তারপর আপনি একটি বিবৃতি আপডেট করবেন, 798 00:47:19,330 --> 00:47:24,810 যা এসকিউএল স্টেটমেন্ট অন্য যে এগিয়ে যান এবং 10 আরো শেয়ার যোগ করুন 799 00:47:24,810 --> 00:47:28,700 তার বর্তমান 10 নিয়মাবলী যাতে মোট 20, 800 00:47:28,700 --> 00:47:33,490 সমস্যার কারণ আজকের এর ডাটাবেস সিস্টেম এবং কারণ আজ এর কম্পিউটার 801 00:47:33,490 --> 00:47:35,990 আপনি একাধিক প্রসেসর, একাধিক কোর আছে - 802 00:47:35,990 --> 00:47:38,920 অন্য কথায়, আক্ষরিক কম্পিউটার করা যাবে একযোগে একাধিক জিনিসগুলি - 803 00:47:38,920 --> 00:47:44,270 কোন গ্যারান্টি আছে যে আপনার নির্বাচন করুন এবং এই ক্ষেত্রে আপনার আপডেট 804 00:47:44,270 --> 00:47:46,150 ফিরে যাও ব্যাক ঘটতে যাচ্ছে. 805 00:47:46,150 --> 00:47:49,140 তাই একটা দৃশ্যকল্প খারাপ হবে কি নির্বাচন করুন 806 00:47:49,140 --> 00:47:51,670 কতজন এই টাকা শেয়ার Skroob আছে দেখুন, 807 00:47:51,670 --> 00:47:54,710 এবং তারপর সুযোগ দ্বারা শুধু আরেকটি ডাটাবেস কোয়েরিটি বাস্তবায়ন করা হয় - 808 00:47:54,710 --> 00:47:57,740 হয়তো অন্য ব্রাউজার উইন্ডোতে তার Skroob যাও 10 শেয়ার কেনার চেষ্টা 809 00:47:57,740 --> 00:48:00,700 অন্য একটি উইন্ডোতে পুরাপুরি, অনেক ভালো এটিএম - 810 00:48:00,700 --> 00:48:05,410 এবং অনুমান যে অন্য কোয়েরি মধ্যে নির্বাচন করে Update মধ্যে পায়. 811 00:48:05,410 --> 00:48:10,210 এই ক্ষেত্রে যে এখন Skroob হারায় শেয়ারের কিছু সংখ্যা হতে পারে 812 00:48:10,210 --> 00:48:14,340 কারণ অন্য প্রসেস তার বিশ্বের রাষ্ট্র কার্যদর্শী হয়, 813 00:48:14,340 --> 00:48:17,800 অথবা তিনি আরো শেয়ার তুলনায় তিনি থাকা উচিত পায়. 814 00:48:17,800 --> 00:48:23,250 আমরা ঠিক কি যারা নির্দিষ্ট বিবরণ লাইন হবে বিবরণ মধ্যে যেতে হবে না, 815 00:48:23,250 --> 00:48:28,380 কিন্তু বিন্দু হয় যদি আপনি একটি ভেরিয়েবলের মান পরীক্ষা করুন এবং তারপর একটা সিদ্ধান্ত নেওয়া আছে, 816 00:48:28,380 --> 00:48:32,500 যদি কারোর মধ্যে যারা 2 বিবৃতির কিছু করার একটি ঝুঁকি আছে, 817 00:48:32,500 --> 00:48:36,220 হিসাবে মাল্টি সিস্টেম, সিস্টেম multicore মধ্যে ঘটতে পারে, 818 00:48:36,220 --> 00:48:41,220 ক্ষমতা এখন একযোগে একাধিক জিনিষ না কম্পিউটার, খারাপ ব্যাপার ঘটতে পারে 819 00:48:41,220 --> 00:48:44,530 ভালো ব্যাংক অ্যাকাউন্ট ভুল debited, দুইবার যতটা দুধ কেনা হচ্ছে, 820 00:48:44,530 --> 00:48:46,730 অথবা এই ক্ষেত্রে শেয়ারের ভুল নম্বর. 821 00:48:46,730 --> 00:48:48,370 কিন্তু একটি সহজ উপায় এই বিষয়ে চিন্তা আছে. 822 00:48:48,370 --> 00:48:53,290 >> এটি সক্রিয় যে এছাড়াও এসকিউএল সমর্থন করে, যদি আপনি সঠিকভাবে আপনার টেবিল কনফিগার, 823 00:48:53,290 --> 00:48:56,920 কিছু বলা লেনদেন, যা আমি তর্ক করে আসলে আরও সহজ বুঝতে 824 00:48:56,920 --> 00:49:00,650 তুলনায় এই, কিন্তু এটা, তাই একটি 1 অধি না এটা আসলে একটি বিট আরো জড়িত. 825 00:49:00,650 --> 00:49:04,960 হয় আক্ষরিক পর্যন্ত এসকিউএল মধ্যে একটি বিবৃতি বলা START লেনদেন. 826 00:49:04,960 --> 00:49:08,300 ঠিক, নির্বাচন করে Update, ঢোকান, মুছতে, এবং যোগ আছে এবং অন্যদের একটি গুচ্ছ, 827 00:49:08,300 --> 00:49:10,970 START লেনদেন ভালো কীওয়ার্ড আছে. 828 00:49:10,970 --> 00:49:13,560 আপনি কি এবং তারপর pset 7 পরিপ্রেক্ষিতে না - 829 00:49:13,560 --> 00:49:17,270 আপনি pset 7 জন্য এই করবেন না; এটি প্রয়োজন নেই হিসাবে স্পষ্টভাবে এর disclaimed, 830 00:49:17,270 --> 00:49:18,830 কিন্তু চূড়ান্ত প্রকল্পের জন্য এটি দরকারী হতে পারে - 831 00:49:18,830 --> 00:49:22,820 যদি আপনি এর START লেনদেনের একটি নথি প্রশ্নের সাথে মিলেছে এবং তারপর আরেকটি প্রশ্নের সাথে কল 832 00:49:22,820 --> 00:49:25,620 এবং তারপর আরেকটি প্রশ্নের সাথে এবং তারপর অন্য, অন্য, এবং অন্য, 833 00:49:25,620 --> 00:49:31,860 যারা কোয়েরি আসলে সঞ্চালিত হবে না যতক্ষণ না আপনি কল SQL স্টেটমেন্ট কমিট, 834 00:49:31,860 --> 00:49:37,220 যা সময়ে, এটি 2 বিবৃতি বা 20 বিবৃতি, সব তারা একযোগে মৃত্যুদন্ড কার্যকর করা হবে, 835 00:49:37,220 --> 00:49:42,770 যার অর্থ কোন কেউ ঘটনাক্রমে অত্যধিক দুধ বা ডেবিট অত্যধিক টাকা কিনতে পারে 836 00:49:42,770 --> 00:49:46,340 অথবা অনেকগুলি শেয়ার কারণ আপনার প্রশ্ন সব চালানো হবে কিনতে 837 00:49:46,340 --> 00:49:48,410 ফিরে যাও যাও যাও ব্যাক ব্যাক ব্যাক. 838 00:49:48,410 --> 00:49:51,580 এবং এই সুপার গুরুত্বপূর্ণ, বিশেষ করে যখন আপনি ভালো কিছু করছেন. 839 00:49:51,580 --> 00:49:54,900 এটি একটি ইচ্ছামাফিক উদাহরণস্বরূপ বলা let এর ব্যাংক অ্যাকাউন্ট আপডেট 840 00:49:54,900 --> 00:50:00,200 দ্বারা একটি ভারসাম্য সমান ভারসাম্য সেটিং - $ 1000 যেখানে অ্যাকাউন্ট নম্বর হল 2. 841 00:50:00,200 --> 00:50:04,260 এবং তারপর এখন দ্বিতীয় বিবৃতি এর যে $ 1000 জমা না দেওয়া 842 00:50:04,260 --> 00:50:07,310 মধ্যে অন্য কারো ব্যাংক অ্যাকাউন্ট যার অ্যাকাউন্ট সংখ্যা হল 1. 843 00:50:07,310 --> 00:50:10,400 >> অন্য কথায়, এই একটি যেখানে আপনি নিশ্চিত করতে চান নিখুঁত উদাহরণ 844 00:50:10,400 --> 00:50:13,590 যে এই বিবৃতির উভয় সব সময়ে ঘটতে হবে না 845 00:50:13,590 --> 00:50:15,450 কারণ অন্যথায় গ্রাহক পেতে মাতাল যাচ্ছে 846 00:50:15,450 --> 00:50:17,670 এবং আপনি তাদের টাকা নিয়ে অন্যত্র জমা না যাচ্ছেন, 847 00:50:17,670 --> 00:50:20,470 অথবা ব্যাংক পেতে মাতাল যাব যেখানে আপনার টাকা জমা চলুন না 848 00:50:20,470 --> 00:50:23,140 কিন্তু এর ব্যবহারকারী অ্যাকাউন্ট থেকে প্রকৃতপক্ষে এটি না বিয়োগ করা. 849 00:50:23,140 --> 00:50:25,810 সুতরাং আপনি দুইটাই একসাথে চালানো চাই. 850 00:50:25,810 --> 00:50:29,140 বিশ্বের লেনদেনের মধ্যে সুতরাং পদার্পন. 851 00:50:29,140 --> 00:50:31,360 সুতরাং যা কিছু আপনার মন ফিরে রাখতে, 852 00:50:31,360 --> 00:50:34,710 এত শুধু একটি চূড়ান্ত প্রকল্পের কাজের জন্য না, 853 00:50:34,710 --> 00:50:36,700 কিন্তু আপনি যদি কোথাও আপনার চূড়ান্ত প্রকল্প নিতে চান, 854 00:50:36,700 --> 00:50:39,040 যদি আপনি তা কাছাকাছি কিছু কোম্পানী শুরু আপ করতে চান, 855 00:50:39,040 --> 00:50:41,270 যদি আপনি ক্যাম্পাস কিছু ছাত্র গ্রুপ এর সমস্যা সমাধান করতে চান 856 00:50:41,270 --> 00:50:45,210 এবং প্রকৃতপক্ষে একটি লাইভ, সক্রিয় ওয়েবসাইট আছে, এই নিগূঢ় বাগ উঠা পারে সাজান 857 00:50:45,210 --> 00:50:49,480 যদি আপনি মনে মাধ্যমে পুরোপুরি না কি ঘটতে পারে যদি 2 জনের 858 00:50:49,480 --> 00:50:54,190 হয় আক্ষরিক সময় একই মুহূর্তে আপনার ওয়েবসাইট অ্যাক্সেস করার চেষ্টা, 859 00:50:54,190 --> 00:50:56,890 তদ্দ্বারা অন্যথায় তাদের কোয়েরি পেতে পারে খচিত. 860 00:50:58,840 --> 00:51:01,420 >> কিছু জাভাস্ক্রিপ্ট, উহার একটি টিজার জন্য প্রস্তুত? 861 00:51:01,420 --> 00:51:04,320 এটি আমাদের জন্য গত সেমিস্টারে ভাষা. ঠিক আছে. 862 00:51:04,320 --> 00:51:09,940 সৌভাগ্যক্রমে, জাভাস্ক্রিপ্ট দেখায় খুব খুব,, 2 ভাষায়, সি এবং পিএইচপি অনুরূপ, 863 00:51:09,940 --> 00:51:11,140 আমরা এ পর্যন্ত সম্পন্ন করেছি. 864 00:51:11,140 --> 00:51:14,340 Pset 7 কোন জাভাস্ক্রিপ্ট আছে, কিন্তু এটা একটা অবিশ্বাস্যভাবে দরকারী টুল 865 00:51:14,340 --> 00:51:18,840 যখন এটি ওয়েব ভিত্তিক প্রকল্প চূড়ান্ত করছেন বা সত্যিই শুধু ওয়েব প্রোগ্রামিং আরো সাধারণত আসে. 866 00:51:18,840 --> 00:51:20,950 তাই একটা কিছু বলা DOM সংক্ষিপ্ত বিবরণ. 867 00:51:20,950 --> 00:51:23,600 এখানে একটি সহজ ওয়েব পাতা সুপার যে সত্যিই বলছে হ্যালো, বিশ্ব 868 00:51:23,600 --> 00:51:25,970 উভয় ক্ষেত্রে শিরোনাম এবং শরীর. 869 00:51:25,970 --> 00:51:29,270 খাঁজ হিসাবে কিছু সময়ের জন্য করা হয়েছে পরামর্শ, 870 00:51:29,270 --> 00:51:31,380 প্রকৃত বন্ধুই সেখানে ওয়েব পেজে অনুক্রমের. 871 00:51:31,380 --> 00:51:34,220 আমি একটি ট্রি হিসাবে এই HTML একই স্নিপেট আঁকতে পারে, 872 00:51:34,220 --> 00:51:37,470 ডাটা স্ট্রাকচার আমাদের সি আলোচনাগুলি ফিরে চিন্তা, হিসাবে অনুসরণ করে. 873 00:51:37,470 --> 00:51:40,710 আমি কিছু বিশেষ রুট নোড নামে নথিটি নোড আছে, 874 00:51:40,710 --> 00:51:43,650 এবং আমরা শুধু একটি মুহূর্ত এই জাভাস্ক্রিপ্ট মধ্যে এনালগ দেখতে পাবেন. 875 00:51:43,650 --> 00:51:48,330 এই প্রথম সন্তানের ক্ষেত্রে এবং যে কেবল সন্তানের HTML ট্যাগটি. 876 00:51:48,330 --> 00:51:49,880 কোন doctype সরাসরি ম্যাপিং নেই. 877 00:51:49,880 --> 00:51:53,170 এটা একটি বিশেষ জিনিস, তাই আমরা ঠিক যখন এটা এই DOM আসে উপেক্ষা করা উচিত, 878 00:51:53,170 --> 00:51:55,810 এই ডকুমেন্ট অবজেক্ট মডেল গাছ. 879 00:51:55,810 --> 00:51:59,530 উল্লেখ্য যে HTML এর ট্যাগ, যা আমি একটি আয়তক্ষেত্র হিসাবে ফোটানো ইচ্ছামত করেছি, 880 00:51:59,530 --> 00:52:02,890 মাথা এবং শরীরের: 2 সন্তান রয়েছে. 881 00:52:02,890 --> 00:52:04,840 >> যারা rectangles হিসাবে একভাবে টানা হয়. 882 00:52:04,840 --> 00:52:08,970 এটা pictorially অর্থপূর্ণ যে শরীরের বাম যাও প্রধান. 883 00:52:08,970 --> 00:52:11,960 সংশ্লেষ হয় যে ট্রির মাথা আসে প্রথম. 884 00:52:11,960 --> 00:52:14,910 সুতরাং এর আসলে সেখানে একটি গাছ একটি ক্রম যখন আপনি ভালো এটি আঁকা, 885 00:52:14,910 --> 00:52:17,460 যদিও আকার এবং যাবদ্ধর হয় নির্বিচারে. 886 00:52:17,460 --> 00:52:20,360 হেড ইতিমধ্যে একটি একক সন্তানের শিরোনাম বলা হয়েছে, 887 00:52:20,360 --> 00:52:25,170 এবং প্রকৃতপক্ষে শিরোনাম নিজস্ব সন্তান, যা "হ্যালো, দুনিয়া" আছে, 888 00:52:25,170 --> 00:52:32,210 যা আমি ইচ্ছাকৃতভাবে এখানে একটি উপবৃত্তাকার এটি সামান্য আয়তক্ষেত্র থেকে আলাদা হিসাবে সৃষ্টি হয়েছে. 889 00:52:32,210 --> 00:52:37,420 এই rectangles উপাদান হল, যেহেতু হ্যালো, বিশ্বের সত্যিই একটি টেক্সট নোড. 890 00:52:37,420 --> 00:52:39,850 এটা ট্রি একটি নোড, কিন্তু এটি একটি নোডের মধ্যে বিভিন্ন টাইপ 891 00:52:39,850 --> 00:52:41,730 তাই আমি এটি সৃষ্টি ইচ্ছামত ভিন্নভাবে. 892 00:52:41,730 --> 00:52:45,000 একইভাবে শরীরের কোনো একটি শিশু হ্যালো বলা হয়, বিশ্বের হিসাবে ভাল আছে, 893 00:52:45,000 --> 00:52:47,910 তাই বিভিন্ন নোডের যদিও তারা হন কাকতালীয়ভাবে একই টেক্সট, 894 00:52:47,910 --> 00:52:52,100 কিন্তু আমি এটা টানা করেছি একই আকার ব্যবহার করে. সুতরাং যারা বজায় রাখে? 895 00:52:52,100 --> 00:52:56,820 ভাল, কি HTML এ সম্পর্কে চমৎকার হয় যে এটি এই হায়ারারকিকাল প্রকৃতি আছে. 896 00:52:56,820 --> 00:53:01,010 কি এবং জাভাস্ক্রিপ্ট এবং বিশেষ করে লাইব্রেরি যা সহজলভ্য সম্পর্কে চমৎকার 897 00:53:01,010 --> 00:53:07,120 এবং jQuery মত জনপ্রিয়, আপনি ট্রি তাই amazingly সহজ নেভিগেট করতে পারেন. 898 00:53:07,120 --> 00:53:11,790 কোন উপাদান সি আমরা পয়েন্টার এবং ঢোঁড়ন গাছ সঙ্গে করেছিল এবং নোডের recursing 899 00:53:11,790 --> 00:53:15,300 ডান বাম সন্তানকে শিশু, সব হঠাৎ মধ্যে আমরা সাজাতে পারেন জন্য দেওয়া গ্রহণ 900 00:53:15,300 --> 00:53:19,450 হিসাবে হচ্ছে amazingly জ্ঞানময় যদি হতাশাজনক একটি বিট না 901 00:53:19,450 --> 00:53:22,470 কিন্তু একটি কার্যকরী উপায় প্রোগ্রামিং সম্পর্কে যেতে. প্রায় না 902 00:53:22,470 --> 00:53:24,470 তাই সঙ্গে এই উচ্চ জাভাস্ক্রিপ্ট ভালো স্তরের ভাষা 903 00:53:24,470 --> 00:53:28,340 আমরা এই গাছ আরো অনেক intuitively নেভিগেট করতে পারবেন. 904 00:53:28,340 --> 00:53:30,430 >> এবং প্রকৃতপক্ষে সিনট্যাক্স অতি পরিচিত হতে যাচ্ছে. 905 00:53:30,430 --> 00:53:32,950 যদি আপনি আগে কখনও দেখা জাভাস্ক্রিপ্ট করেছি, এই একটি সত্যিই সুন্দর রেফারেন্স 906 00:53:32,950 --> 00:53:35,910 মোজিলা থেকে লোকেরা, যারা ফায়ারফক্স করা, 907 00:53:35,910 --> 00:53:38,370 তাই আপনার সুবিধার্থে এ যে ব্রাউজ বিনামূল্যে বোধ. 908 00:53:38,370 --> 00:53:41,590 এবং এই স্লাইডগুলি এক ও অভিন্ন কি আমরা ব্যবহৃত অন্যান্য দিন - কি আপনি খুঁজে পাবেন - 909 00:53:41,590 --> 00:53:44,030 একইভাবে, প্রধান সর্বস্বান্ত হয়. 910 00:53:44,030 --> 00:53:47,010 সুতরাং যখন আপনি জাভাস্ক্রিপ্ট একটি প্রোগ্রাম লিখতে, কোন প্রধান ফাংশন আছে. 911 00:53:47,010 --> 00:53:48,690 আপনি শুধুমাত্র কোড লেখা শুরু. 912 00:53:48,690 --> 00:53:51,660 কিন্তু একটি জাভাস্ক্রিপ্ট এবং C এবং পিএইচপি মধ্যে কী পার্থক্য 913 00:53:51,660 --> 00:53:55,890 যে যেহেতু C এবং পিএইচপি পর্যন্ত হয়েছে সার্ভার প্রান্তের মৃত্যুদন্ড কার্যকর 914 00:53:55,890 --> 00:53:59,180 এই ক্ষেত্রে প্রয়োগ বা আরো সাধারণভাবে দ্বারা একটি সার্ভার, 915 00:53:59,180 --> 00:54:04,270 নকশা দ্বারা জাভাস্ক্রিপ্ট একটি ব্রাউজার দ্বারা সাধারণত মৃত্যুদন্ড কার্যকর করা হয়. 916 00:54:04,270 --> 00:54:08,440 অন্য কথায়, আপনি জাভাস্ক্রিপ্ট কোড লিখতে পারে হিসাবে আমরা সম্পর্কে যাও, 917 00:54:08,440 --> 00:54:13,080 উপর প্রয়োগ সার্ভারের মধ্যে একটি, কিন্তু আপনি কি আপনার HTML মধ্যে এটি অন্তর্ভুক্ত করুন আপনার CSS এর মধ্যে,, 918 00:54:13,080 --> 00:54:16,100 আপনার এবং আপনার মধ্যে gifs PNGs এবং আপনার JPEGs 919 00:54:16,100 --> 00:54:19,170 যাতে ইউজার যখন আপনার ওয়েব পাতা পরিদর্শন, আপনি যদি জাভাস্ক্রিপ্ট ব্যবহার করছেন, 920 00:54:19,170 --> 00:54:21,770 যে সার্ভার থেকে ব্রাউজারের জাভাস্ক্রিপ্ট কোড আসে, 921 00:54:21,770 --> 00:54:24,540 এবং এটা ব্রাউজার যা প্রকৃতপক্ষে এটি করুন. 922 00:54:24,540 --> 00:54:27,960 তাই এই এমনকি মেধা সম্পত্তি জন্য অর্থপূর্ণ বিষয় রয়েছে. 923 00:54:27,960 --> 00:54:32,600 এটি নিরীহ ধরনের এমনকি আপনার IP রক্ষা করার বিষয়ে মনে যখন এটি জাভাস্ক্রিপ্ট কোড আসে 924 00:54:32,600 --> 00:54:37,560 কারণ ভাষা প্রকৃতি দ্বারা এটি ব্রাউজার পার্শ্ব সাধারণত মৃত্যুদন্ড কার্যকর করা হয়. 925 00:54:37,560 --> 00:54:40,360 >> আপনি এটা বিভ্রান্ত করতে পারেন, যার মানে আপনি এটি চেহারা ছবি এবং অরুপ করতে পারেন 926 00:54:40,360 --> 00:54:45,400 কোন হোয়াইটস্পেস, ভয়ঙ্কর পরিবর্তনশীল নাম, এটা কঠিন লোকেদের আপনার IP চুরি করা, 927 00:54:45,400 --> 00:54:48,120 কিন্তু কি যে এটি ব্রাউজার পার্শ্ব মৃত্যুদন্ড কার্যকর করা হয়. 928 00:54:48,120 --> 00:54:51,790 যদিও হিসাবে একটি সরাইয়া জাভাস্ক্রিপ্ট ব্যবহার করা যাবে সার্ভার প্রান্তের, 929 00:54:51,790 --> 00:54:54,480 সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে ডান এখন ব্রাউজারে এখনও. 930 00:54:54,480 --> 00:54:59,800 এবং তা এখানে মত দেখায়. এখানে একটি যদি-অন্যথায় শুধু C-এর মতো যদি-অন্যথায় শুধুমাত্র পিএইচপি মত গঠন করা,. 931 00:54:59,800 --> 00:55:02,420 এখানে একটি বুলিয়ান অভিব্যক্তি যখন আপনি "অথবা" 2 জিনিসগুলি নিয়ে একসাথে. 932 00:55:02,420 --> 00:55:04,330 এখানে যখন আপনি "এবং" একসঙ্গে 2 জিনিষ. 933 00:55:04,330 --> 00:55:08,300 এখানে একটি সুইচ বিবৃতি, যা অনুরূপ পিএইচপি যাও 934 00:55:08,300 --> 00:55:10,810 যে আপনাকে মান বিভিন্ন ধরনের প্রশ্ন ধরণে যেতে পারেন. 935 00:55:10,810 --> 00:55:15,180 Loops একভাবে loops জন্য আছে এখানে, যা কি আগে আমরা দেখা করেছি অভিন্নরুপে গঠিত হয়. 936 00:55:15,180 --> 00:55:18,110 যদিও loops; আমরা loops যখন করেছি কি আছে. 937 00:55:18,110 --> 00:55:20,290 ভেরিয়েবল কখনো, তাই কিছুটা ভিন্ন. 938 00:55:20,290 --> 00:55:24,560 আপনি ভেরিয়েবল কি ভালো আপনি পিএইচপি এবং সি কি ডিক্লেয়ার, 939 00:55:24,560 --> 00:55:27,860 কিন্তু জাভাস্ক্রিপ্ট একভাবে দুর্বলচিত্ত হয় টাইপ. 940 00:55:27,860 --> 00:55:32,730 আপনি int বা float অথবা পংক্তি বা যে সাধারণত মত কিছুই উল্লেখ না. 941 00:55:32,730 --> 00:55:34,240 আপনি var নির্দিষ্ট করতে পারেন. 942 00:55:34,240 --> 00:55:38,040 আপনি var উল্লেখ না, কিন্তু এটি বিষয় রয়েছে যদি আপনি না. 943 00:55:38,040 --> 00:55:42,000 সাধারণত আপনি যদি বর্জন করা var, আপনি দূর্ঘটনাক্রমে একটি পরিবর্তে স্থানীয় বিশ্ব পরিবর্তনশীল তৈরি. 944 00:55:42,000 --> 00:55:46,420 সুতরাং সম্পর্কে উত্থাপন করা যাক যে, আপনি শুধুমাত্র প্রায় সবসময় var বলতে এবং তারপর ভেরিয়েবলের নাম. 945 00:55:46,420 --> 00:55:48,740 এটি একটি টাইপ না, এটা পরিবর্তনশীল জন্য শুধু var. 946 00:55:48,740 --> 00:55:52,930 এই একটি উদাহরণ হতে পারে, এমনকি 123 বা "হ্যালো, দুনিয়া" হবে. 947 00:55:52,930 --> 00:55:58,910 অ্যারেগুলির উপস্থিত এবং পিএইচপি যাও চিহ্নগুলি সিন্টেক্সের অনুরূপ. 948 00:55:58,910 --> 00:56:03,690 আমি var সংখ্যা বলতে এবং তারপর আমি আবার বর্গাকার বন্ধনী একটি ভেরিয়েবল ডিক্লেয়ার ব্যবহার করব 949 00:56:03,690 --> 00:56:08,870 যার টাইপ হল যে এই অ্যারে এটি বিশেষ করে কমা দ্বারা পৃথকীকৃত নম্বর আছে. 950 00:56:08,870 --> 00:56:11,740 এবং সর্বশেষে, তাহলে এই শুধুমাত্র এক যে সত্যিই ভিন্ন দেখায়. 951 00:56:11,740 --> 00:56:16,700 পুনরাহ্বান যে পিএইচপি আমরা একটি ছাত্র জন্য একটি এসসিয়েতিভ আরে করে বাস্তবায়িত 952 00:56:16,700 --> 00:56:20,220 ভালো Zamyla যে ভালো, যেখানে পরিবর্তনশীল ছাত্র বলা হয় চেহারা হতে পারে. 953 00:56:20,220 --> 00:56:23,370 বর্গাকার বন্ধনী মানে এখানে আসে একটি অ্যারে. 954 00:56:23,370 --> 00:56:28,500 >> যে আমি সাংখ্যিক সূচক কিন্তু স্ট্রিং ব্যবহার করব না - আইডি, ঘর, এবং নাম - 955 00:56:28,500 --> 00:56:30,990 এর মানে হল যে এই একটি এসসিয়েতিভ আরে, 956 00:56:30,990 --> 00:56:34,490 এবং সাথে এই তীর চিহ্ন এবং কৌণিক বন্ধনী সমান 957 00:56:34,490 --> 00:56:37,310 এর মানে হল যে কি হয় "আইডি", মান হল 1; 958 00:56:37,310 --> 00:56:39,310 কী হয় "ঘর", মান Winthrop হাউস; 959 00:56:39,310 --> 00:56:41,800 কি হল "নাম", মান Zamyla চ্যান. 960 00:56:41,800 --> 00:56:47,110 তাই ভিতর এই এসসিয়েতিভ আরে, প্রতিটি যা তার নিজস্ব মান আছে 3 কি আছে. 961 00:56:47,110 --> 00:56:52,880 আমরা যে pset 7, অথবা আপনি শীঘ্রই মধ্যে জাভাস্ক্রিপ্ট একই ধারণা, ইচ্ছাশক্তি দেখা করেছি 962 00:56:52,880 --> 00:56:55,220 কিন্তু এটা ভালো সন্ধান করছেন. 963 00:56:55,220 --> 00:57:00,070 সুতরাং var ছাত্র - কোন ডলার সাইন এবং এখনও টাইপ কোনো উল্লেখ কিন্তু var - 964 00:57:00,070 --> 00:57:05,860 তারপর সমান এবং তরঙ্গায়িত ধনুর্বন্ধনী কারণ জাভাস্ক্রিপ্ট সালে যখন আপনি কী মান জোড়া খোলা আছে, 965 00:57:05,860 --> 00:57:08,900 আপনাকে আসলে কিছু নামক একটি বস্তুর ব্যবহার. 966 00:57:08,900 --> 00:57:13,490 এবং আপনাদের মধ্যে যারা APCS করেননি অথবা নিতে মত জাভা বস্তু থেকে প্রত্যাহার করা হতে পারে 967 00:57:13,490 --> 00:57:15,140 বা অনুরূপ ভাষা. 968 00:57:15,140 --> 00:57:17,880 জাভাস্ক্রিপ্ট হচ্ছে, প্রথমে সমস্ত জাভা না. 969 00:57:17,880 --> 00:57:21,600 এটা ছিল একটা ইচ্ছাকৃত নকশা সিদ্ধান্ত বছর আগে অন্য কিছু যে ছিল জনপ্রিয় ঠক্ঠক্ শব্দ বন্ধ, 970 00:57:21,600 --> 00:57:25,640 তার নাম, যদিও এটি কোনো নিজেকে জাভা মৌলিক সম্পর্ক আছে. 971 00:57:25,640 --> 00:57:31,490 জাভাস্ক্রিপ্ট বস্তু আছে, এবং আপনি কোঁকড়া বক্রবন্ধনী স্বরলিপি পথে দ্বারা সেগুলি তৈরি. 972 00:57:31,490 --> 00:57:36,710 জাভাস্ক্রিপ্ট অবজেক্টের হয় চমত্কার অনেক পিএইচপি মিশুক অ্যারে যাও সমতুল্য 973 00:57:36,710 --> 00:57:40,030 যখন এটি তাদের ভিতর সংরক্ষণের তথ্য আসে. 974 00:57:40,030 --> 00:57:44,100 >> এমনকি আরো জোরে মধ্যে জাভাস্ক্রিপ্ট ফাংশন সংযুক্ত আপনি খুব সহজেই করতে পারেন 975 00:57:44,100 --> 00:57:48,040 ভিতরে একটি অবজেক্ট, এবং যদিও আপনি অন্য ভাষায় এটা করতে পারেন, 976 00:57:48,040 --> 00:57:50,040 এটি বেশ একটি সাধারণ উদাহরণ, হিসাবে আমরা দেখতে পাবেন. 977 00:57:50,040 --> 00:57:54,380 সংক্ষেপে, এই বস্তু একটি ছাত্র প্রতিনিধিত্ব করে, যারা বিশেষভাবে Zamyla, 978 00:57:54,380 --> 00:58:00,380 এবং এটা ধারণার অনুরূপ, শুধু এই চিহ্নগুলি সিন্টেক্সের ক্ষেত্রে থেকে ভিন্ন. 979 00:58:00,380 --> 00:58:03,840 চলুন আসলে একটি ফাইলের মধ্যে জাভাস্ক্রিপ্ট ব্যবহার করা. 980 00:58:03,840 --> 00:58:05,570 এটি সক্রিয় আউট একটি স্ক্রিপ্ট ট্যাগ আছে. 981 00:58:05,570 --> 00:58:08,180 আমরা একটি শৈলী ট্যাগ দেখা করেছি এবং আমরা অন্যান্য HTML ট্যাগ করেছেন দেখা যায়. 982 00:58:08,180 --> 00:58:11,510 স্ক্রিপ্ট ট্যাগ আসলে কিছু জাভাস্ক্রিপ্ট কোড থাকতে হবে. 983 00:58:11,510 --> 00:58:15,500 যাক প্রয়োগ মধ্যে সম্পর্কে যেখানে আমরা কিছু সোর্স কোড পূব বানানো আছে যান. 984 00:58:15,500 --> 00:58:18,700 আমি ওয়েবসাইট থেকে এটি পোস্ট এখনো, কিন্তু আমি বর্গ পরে যে করব. 985 00:58:18,700 --> 00:58:21,770 চলুন এই এক খুলুন, blink.html. 986 00:58:21,770 --> 00:58:27,560 পিছনে 1990 সালে, সেখানে ছিল আক্ষরিক একটি HTML ট্যাগ নামক বিকল ট্যাগ, 987 00:58:27,560 --> 00:58:30,340 এবং এই ইন্টারনেট ছিল সবচেয়ে wonderfully overused ট্যাগ এক 988 00:58:30,340 --> 00:58:36,140 যেখানে আপনি কিছু 1990 শৈলী ওয়েব পৃষ্ঠাতে যান এবং টেক্সট এইজন্য ভালো আপনি ঝলকানি শুরু চাই, 989 00:58:36,140 --> 00:58:39,810 Marquis ট্যাগ ফলাফল, যা টেক্সট ভালো হয়ে যাচ্ছে. 990 00:58:39,810 --> 00:58:45,070 কয়েক বার যেখানে বিশ্বের আসলে একটি ওয়েব মান সম্মত হয়েছে এক, 991 00:58:45,070 --> 00:58:48,250 বোর্ড জুড়ে সবাই চোখ পিট পিট ট্যাগ নিহত কিছু বছর আগে. 992 00:58:48,250 --> 00:58:52,860 কিন্তু আমরা জাভাস্ক্রিপ্ট দিয়ে এটি ক্ষমতা আপনার আছে একটি বিক্ষোভের হিসাবে পুনঃপ্রচলন করতে পারেন 993 00:58:52,860 --> 00:58:56,660 যখন আপনি একটি ওয়েব পাতা ভিতরে একটি প্রোগ্রাম লিখতে পারেন. 994 00:58:56,660 --> 00:59:00,240 প্রথম দিন নতুন উপাদান এর উপর এবং থামিয়া পুরানো কেবল ফোকাস. 995 00:59:00,240 --> 00:59:01,780 >> এখানে এই উদাহরণে পুরানো জিনিস. 996 00:59:01,780 --> 00:59:06,350 আমি একটি HTML ট্যাগ, একটি head ট্যাগ, এবং একটি শিরোনাম ট্যাগ আছে. 997 00:59:06,350 --> 00:59:11,210 তারপর আমি একটি div ট্যাগ দিয়ে এখানে একটি শরীর, যা রিকল শুধুমাত্র একটি পৃষ্ঠার আয়তক্ষেত্রাকার বিভাগ 998 00:59:11,210 --> 00:59:14,720 যে আমি একটি অনন্য যাও "অভিবাদন" এর ইচ্ছামত আইডি দিয়েছি, 999 00:59:14,720 --> 00:59:18,320 ঠিক তাই আমি এটি একটি উল্লেখ করার একটি উপায় আছে, যে খুব সহজ কিছু লেখা আছে: 1000 00:59:18,320 --> 00:59:20,220 হ্যালো, দুনিয়া. 1001 00:59:20,220 --> 00:59:23,940 এখন আমাকে এই ফাইলটি উপরে উপরে স্ক্রোল করুন এবং নতুন কী আছে দেখতে. 1002 00:59:23,940 --> 00:59:27,710 প্রথম যে কাজটা নতুন আপ শীর্ষ হয় স্ক্রিপ্ট ট্যাগ, 1003 00:59:27,710 --> 00:59:31,280 স্ক্রিপ্ট ট্যাগ নোটিশ ভিতরে এবং আমি একটি ফাংশন ঘোষণা করেছি. 1004 00:59:31,280 --> 00:59:34,610 জাভাস্ক্রিপ্ট একটি ফাংশন, পিএইচপি যাও প্রশংসনীয় অনুরূপ ঘোষণা, 1005 00:59:34,610 --> 00:59:37,930 আপনি আক্ষরিক তাহলে ফাংশনের নাম, প্রথম বন্ধনী লিখুন ফাংশন, 1006 00:59:37,930 --> 00:59:40,400 এবং হয়তো কিছু আর্গুমেন্ট যদি এটি কোনো লাগে. 1007 00:59:40,400 --> 00:59:43,510 তারপর আমি আমার স্বাভাবিক হিসাবে কোঁকড়া বক্রবন্ধনী পেয়েছেন, এবং এখন আমরা সামান্য কিছু নতুন কোড আছে, 1008 00:59:43,510 --> 00:59:45,230 কিন্তু যাক এর মানে কি দেখতে. 1009 00:59:45,230 --> 00:59:48,670 Var div সুতরাং, এই মাত্র সম্পর্কে একটি পরিবর্তনশীল তথাকথিত div দিতে মানে. 1010 00:59:48,670 --> 00:59:50,530 আমি এটা বলা foo বিন্যাস থাকতে পারে, কিন্তু আমি চেয়েছি বলা করা div যাও 1011 00:59:50,530 --> 00:59:52,620 কারণ যে একটি দ্বিতীয় মধ্যে হতে হবে সুস্পষ্ট. 1012 00:59:52,620 --> 00:59:57,480 তারপর এটি জাভাস্ক্রিপ্ট সক্রিয় মধ্যে আউট - এবং এই জাভাস্ক্রিপ্ট কোড আমার ওয়েব পাতা এমবেড করা - 1013 00:59:57,480 --> 01:00:01,760 একটি বিশেষ নামক নথির প্রকারের গ্লোবাল ভেরিয়েবল আছে. 1014 01:00:01,760 --> 01:00:04,780 জাভাস্ক্রিপ্ট আসলে একটি অবজেক্ট ওরিয়েন্টেড ভাষা. 1015 01:00:04,780 --> 01:00:07,230 আমরা বিস্তারিত মধ্যে যেতে হবে না, কি যে মানে হিসাবে 50 সালে, 1016 01:00:07,230 --> 01:00:11,180 কিন্তু এখন জানি যে একটি বস্তু একটি struct ভালো হয় প্রায় কাছাকাছি. 1017 01:00:11,180 --> 01:00:14,740 ভালো লেগেছে আমরা বহুকাল আগে দেখেছি যখন নিকটতম সমস্যা এক সেট করে 1018 01:00:14,740 --> 01:00:17,150 যেখানে আমরা একটি struct তথ্য অনেক রাখা, 1019 01:00:17,150 --> 01:00:21,330 একভাবে একটি বিশেষ struct ব্রাউজার দিয়ে যে আসে না নথির, 1020 01:00:21,330 --> 01:00:24,810 যেকোন ওয়েব পাতা দিয়ে আসে. এটা কিছু আমার তৈরি না. 1021 01:00:24,810 --> 01:00:28,210 এই দস্তাবেজটি গঠন ভিতরে যদিও,, আপনি না শুধুমাত্র তথ্য আছে 1022 01:00:28,210 --> 01:00:30,010 কিন্তু আপনি ফাংশন আছে. 1023 01:00:30,010 --> 01:00:34,090 >> এবং যে কোনো সময় আপনার একটি কাঠামোর ভিতর একটি ফাংশন আছে ভিতরে একটি বস্তুর,, 1024 01:00:34,090 --> 01:00:36,490 এটি একটি পদ্ধতি বলা হয়. কিন্তু একই জিনিস. 1025 01:00:36,490 --> 01:00:40,110 একটি পদ্ধতি যাতে শুধুমাত্র একটি ফাংশন এর ভিতরে অন্য কিছু করা হবে. 1026 01:00:40,110 --> 01:00:42,990 তাই এই মানে এই বিশেষ বিশ্বব্যাপী পরিবর্তনশীল নথিটি বলা 1027 01:00:42,990 --> 01:00:47,690 করেনি একটি ফাংশন getElementById যে আক্ষরিক যে আছে বলা হয়. 1028 01:00:47,690 --> 01:00:52,460 এটা আপনি DOM থেকে একটি উপাদান, ডকুমেন্ট অবজেক্ট মডেল গাছ পেতে হবে, 1029 01:00:52,460 --> 01:00:55,520 এই ক্ষেত্রে অভিবাদন মধ্যে যার আইডি. 1030 01:00:55,520 --> 01:00:59,200 অন্য কথায়, যে সব সময় আমরা ডাটা স্ট্রাকচার খরচ করে এখানে আসে. 1031 01:00:59,200 --> 01:01:01,400 একটি DOM এই ছবি যে আমরা একটা মুহূর্ত আগে, 1032 01:01:01,400 --> 01:01:06,100 যদিও পাতা একটি সামান্য ভিন্ন, যদি আমি এই ছবি একটি div ছিল, 1033 01:01:06,100 --> 01:01:11,180 কি document.getElementById সম্পর্কে যাও ফিরে আসবে কার্যকরভাবে একটি পয়েন্টার হতে হবে 1034 01:01:11,180 --> 01:01:15,440 যাও গাছ, গাছের মধ্যে আয়তক্ষেত্র একটি রেফারেন্স মধ্যে আয়তক্ষেত্র. 1035 01:01:15,440 --> 01:01:18,410 সুতরাং যে কি তা আসলে ঐ কর্ম এক কল মানে. 1036 01:01:18,410 --> 01:01:21,960 এই ক্ষেত্রে আবার এটা একটি div. এটা একটা শরীর অথবা একটি শিরোনাম না. 1037 01:01:21,960 --> 01:01:26,480 সুতরাং আসুন কি আমি এই div সাথে এখন যে আছে আমি এই পরিবর্তনশীল নামক div ভেতরে এটা দেখুন. 1038 01:01:26,480 --> 01:01:32,580 এটা জাভাস্ক্রিপ্ট সঙ্গে সক্রিয় আউট আপনি পরিবর্তনশীলরূপে আপনার পৃষ্ঠার সিএসএস খামচি ক্ষমতা আছে. 1039 01:01:32,580 --> 01:01:39,060 আপ এখন পর্যন্ত, আমরা CSS এর সীমিত যদ্যপি করেছেন,, সব শৈলী বৈশিষ্ট্য হল, 1040 01:01:39,060 --> 01:01:41,730 যেখানে অন্য অথবা আমরা সিএসএস রাখেননি? 1041 01:01:42,730 --> 01:01:45,810 আমি যে নষ্ট এক ধরনের. ফাইল শীর্ষে শৈলী ট্যাগ. 1042 01:01:45,810 --> 01:01:49,180 বা তৃতীয় স্থানে হয়েছে? 1043 01:01:50,710 --> 01:01:54,590 >> বহিস্থিত ফাইল, কিছু. Css. 1044 01:01:54,590 --> 01:01:56,730 সুতরাং যারা আছে 3 জায়গা আমরা সিএসএস পর্যন্ত সম্পন্ন করেছি, 1045 01:01:56,730 --> 01:01:59,310 কিন্তু ধরা হয় আমরা এটাকে এটি সমস্ত কোডেড. 1046 01:01:59,310 --> 01:02:04,060 আপনি সিদ্ধান্ত হিসাবে আপনি pset 7 মধ্যে ঘুঘু, আমরা সিদ্ধান্ত আগে কি আমাদের সিএসএস হবে বক্তৃতা. 1047 01:02:04,060 --> 01:02:07,380 কিন্তু আপনি যদি আপনার CSS এর পরিবর্তন করতে চান, আপনি আসলে তা করতে পারে 1048 01:02:07,380 --> 01:02:09,370 একবার আপনি সত্যিই একটি প্রোগ্রামিং ভাষা আছে. 1049 01:02:09,370 --> 01:02:13,910 সিএসএস, এইচটিএমএল - না প্রোগ্রামিং ভাষার. জাভাস্ক্রিপ্ট হয়. 1050 01:02:13,910 --> 01:02:18,200 সুতরাং দেখা যাচ্ছে যে খুব শীঘ্রই হিসাবে হিসাবে আপনি গাছ থেকে যারা rectangles এক আছে 1051 01:02:18,200 --> 01:02:23,050 DOM বলা হয়, তা এর ভিতরে কিছু তথ্য নিজেই. 1052 01:02:23,050 --> 01:02:27,820 সুতরাং div যে আমি গাছ থেকে ধরলাম আছে কি আমরা তা ভিতরে একটি সম্পত্তি ডাকবো 1053 01:02:27,820 --> 01:02:34,390 বলা শৈলী, শৈলী এবং সম্পত্তি আছে একটি সম্পত্তি নামক দৃশ্যমানতা নিজেই. 1054 01:02:34,390 --> 01:02:37,330 আমি শুধুমাত্র খুঁজছি একটি CSS এর ইউজার এর ম্যানুয়াল আপ দ্বারা এই জানতে চাই. 1055 01:02:37,330 --> 01:02:41,160 এটি সক্রিয় আউট একটি দৃশ্যমানতা CSS এর সম্পত্তি আছে কি যে এটি আছে. 1056 01:02:41,160 --> 01:02:44,530 এটা কিছু দৃশ্যমান বা না, বা দৃশ্যমান করে তোলে. 1057 01:02:44,530 --> 01:02:46,810 কিভাবে যে কি হল এই. 1058 01:02:46,810 --> 01:02:50,510 আমি programmatically দিই যদি এই div দৃশ্যমানতা লুকানো হয় না, 1059 01:02:50,510 --> 01:02:53,390 আমি কি এটি পরিবর্তন করতে যাও? দৃশ্যমান. 1060 01:02:53,390 --> 01:02:58,840 অন্যথায় যদি এই পাতা দৃশ্যমানতা লুকানো না হয় যুক্তি, আমি এটা গোপন করা না. 1061 01:02:58,840 --> 01:03:04,070 আমি কোন ধারণা নেই কেন এটা দৃশ্যমান এবং অদৃশ্য লুকানো এবং এবং দৃশ্যমান থাকবে না. 1062 01:03:04,070 --> 01:03:06,000 এটি ছিল একটি দরিদ্র পথ বরাবর নকশা সিদ্ধান্ত. 1063 01:03:06,000 --> 01:03:09,530 কিন্তু যারা প্রকৃতপক্ষে হল CSS এর মধ্যে opposites: দৃশ্যমান এবং লুকানো. 1064 01:03:09,530 --> 01:03:15,520 এই সমস্ত অর্থ আমার সিএসএস ফাইল এবং বন্ধ পরিবর্তন হয়, এবং বন্ধ আছে 1065 01:03:15,520 --> 01:03:16,870 জন্য যে বিশেষ div. 1066 01:03:16,870 --> 01:03:20,630 কিন্তু আবার, এই একটি ফাংশন বলা হয় বিকল. যখন চোখ পিট পিট করার ফাংশন বলা হয়? 1067 01:03:20,630 --> 01:03:24,080 এটি সক্রিয় করে অন্য একটি বিশেষ বিশ্বব্যাপী পরিবর্তনশীল নামক উইন্ডো আছে, 1068 01:03:24,080 --> 01:03:28,220 অনুরূপ দস্তাবেজ আত্মা মধ্যে, কিন্তু যেহেতু এই দস্তাবেজটি আপনার ওয়েব পাতা বোঝায়, 1069 01:03:28,220 --> 01:03:31,700 DOM গাছ ভালো, আপনি HTML এর সার্ভার থেকে পাঠানো হয়েছে, 1070 01:03:31,700 --> 01:03:35,250 এটি প্রায় ক্রোম, ঠিকানা দণ্ড, শিরোনাম দণ্ড উইন্ডোটি বোঝায়, 1071 01:03:35,250 --> 01:03:37,880 এবং আপনার ওয়েব পাতা চারপাশে যে সমস্ত বিষয় নিয়ে. 1072 01:03:37,880 --> 01:03:42,800 >> এবং এটি সক্রিয় যে উইন্ডো বস্তু একটি বিশেষ এটি কার্যকারিতা ভিতর বলা setInterval আছে 1073 01:03:42,800 --> 01:03:44,360 কি যে আছে এটা বলছেন. 1074 01:03:44,360 --> 01:03:48,600 এই ক্ষেত্রে প্রতি 500 মিলিসেকেন্ড - এটি একটি ব্যবধান সেট করা - 1075 01:03:48,600 --> 01:03:52,270 এবং, একটি অনুমান গ্রহণ করা, যা থেকে প্রতি 500 মিলিসেকেন্ড কি করছেন? 1076 01:03:52,270 --> 01:03:55,240 এটা যে ফাংশন বিকল চালানো যাচ্ছে. 1077 01:03:55,240 --> 01:03:58,560 এবং কি এখানে সুন্দর হয় যে আমরা সি এই কাজ করে থাকতে পারে যদিও কি আমরা কখনও. 1078 01:03:58,560 --> 01:04:01,580 সি কিছু বলা ফাংশন পয়েন্টার যেখানে আপনি প্রায় ফাংশন পাস করতে পারে আছে 1079 01:04:01,580 --> 01:04:03,140 আর্গুমেন্ট হিসাবে. 1080 01:04:03,140 --> 01:04:07,620 একইভাবে মধ্যে জাভাস্ক্রিপ্ট ফাংশন মধ্যে অন্য একটি ফাংশন নাম আপনি পাস করতে পারেন. 1081 01:04:07,620 --> 01:04:10,630 এবং বিজ্ঞপ্তি আমি কি করছি. আমি এই কাজ করছি না. 1082 01:04:10,630 --> 01:04:14,380 যদি আমি চোখ পিট পিট করার পরে প্রথম বন্ধনী করা, যে চোখ পিট পিট করার ফাংশন কল মানে হবে. 1083 01:04:14,380 --> 01:04:17,430 যদি আমি তাদের উপেক্ষা করা, যে এখানে মানে হয় বিকল ফাংশন 1084 01:04:17,430 --> 01:04:21,330 যাতে setInterval এটি প্রতি 500 মিলিসেকেন্ড কল করতে পারেন. 1085 01:04:21,330 --> 01:04:28,200 তাই শেষ ফলাফল, নৃশংস যদিও এটা হয় তা হল যদি আমি localhost ঢোকা এবং blink.html যান, 1086 01:04:28,200 --> 01:04:32,120 আমি এখন এই ঘটনাকেই আছে আবার এবং আবার. 1087 01:04:32,120 --> 01:04:34,950 এবং যদি আসলে আমি এলিমেন্ট পরিদর্শন, আসুন যদি আমরা এই দেখতে দেখতে পারেন. 1088 01:04:34,950 --> 01:04:38,550 সম্পর্কে এলিমেন্ট পরিদর্শন করা যাক, আমাকে স্ক্রল অল্পমাত্র বিট ডাউন, 1089 01:04:38,550 --> 01:04:44,320 সম্পর্কে এখানে উপর উপাদানসমূহ চয়ন দিন, এবং Chrome-এর পরিদর্শক এর DOM ভিতরে বিজ্ঞপ্তি. 1090 01:04:44,320 --> 01:04:48,840 এটা আক্ষরিক পরিবর্তন এর প্রতি 500 মিলিসেকেন্ড এদিক ওদিক. 1091 01:04:48,840 --> 01:04:55,660 যদি আমরা আমাদের বন্ধু Nate যান, 1092 01:04:55,660 --> 01:05:00,020 কখনও যদি আপনি একটি বিরতি দিয়ে কিভাবে এই কাজ করছে, একই ধারণা তুলবেন, 1093 01:05:00,020 --> 01:05:04,810 কিন্তু প্রকৃতপক্ষে Nate হয় রং খুব কার্যকর এখানে এই বিশেষ ক্ষেত্রে ব্যবহার করে. 1094 01:05:04,810 --> 01:05:07,350 তাই এই সঙ্গে আরো আসলে আমরা কি করতে পারি? 1095 01:05:07,350 --> 01:05:09,990 যাক এর আরেকটি উদাহরণ খুলুন এবং কিছু চেষ্টা 1096 01:05:09,990 --> 01:05:12,940 যে programmatically এর জিনিষ এমনকি চোখ পিট পিট করার বেশী দরকারী. 1097 01:05:12,940 --> 01:05:17,990 যাক আমাদের ফর্ম ডিরেক্টরির মধ্যে সম্পর্কে আজ যান এবং form0 ঢোকা. 1098 01:05:17,990 --> 01:05:20,820 এই ছিল ugliest সম্ভব ফর্ম যে আমি সাথে আসতে হতে পারে, 1099 01:05:20,820 --> 01:05:23,290 এবং আমাকে মাত্র আপনি কি এটি একটি ব্রাউজার বলে মনে হচ্ছে প্রদর্শন করুন. 1100 01:05:23,290 --> 01:05:28,960 >> যাক localhost / ফর্ম মধ্যে সম্পর্কে যান এবং এই form0. 1101 01:05:28,960 --> 01:05:33,400 এটি একটি সুপার অরুপ এইচটিএমএল ফর্ম আছে যে জন্য একটি পাসওয়ার্ড ইমেইল জন্য কয়েক ক্ষেত্র,, 1102 01:05:33,400 --> 01:05:37,190 পাসওয়ার্ড, এবং তারপর একটি চেকবক্স সামান্য কিছু শর্তাবলী এবং সম্মত যাও. 1103 01:05:37,190 --> 01:05:41,350 ধরা হয় যদি আমি এই ফর্ম যান এবং আমি আপনাকে আমার ইমেল ঠিকানা দিতে না চান, 1104 01:05:41,350 --> 01:05:44,730 আমি এবং শর্তাবলী হয়তো সম্মত না চান, আমি ক্লিক করুন নিবন্ধন করতে পারেন 1105 01:05:44,730 --> 01:05:46,920 এবং এটি সম্পর্কে দেয় যাইহোক মাধ্যমে. 1106 01:05:46,920 --> 01:05:50,800 এটি একটি মূঢ় পিএইচপি ফাইল নামক dump.php যাও জমা ঘটবে. 1107 01:05:50,800 --> 01:05:58,420 সমস্ত এটি আছে শুধু কারণনির্ণয়ের জন্য $ _GET বিষয়বস্তু প্রিন্ট আউট. 1108 01:05:58,420 --> 01:06:01,580 যে ছিল কি ব্যবহারকারী দ্বারা শুধুমাত্র এখন জমা ছিল. 1109 01:06:01,580 --> 01:06:05,010 কিন্তু অনুমান আমরা আসলে ব্যবহারকারী এর ফর্ম জমা দেওয়ার বৈধতা যাচাই করতে চান. 1110 01:06:05,010 --> 01:06:06,530 আমাকে সংস্করণ 1 ঢোকা. 1111 01:06:06,530 --> 01:06:11,420 এটি form1.html. এটা খারাপ aesthetically হিসাবে দেখায়, কিন্তু কিভাবে অভিনব এটা লক্ষ্য করা. 1112 01:06:11,420 --> 01:06:15,450 যদি আমি সহযোগী ছাড়া নিবন্ধন ক্লিক করুন, আমি এ yelled পেতে. 1113 01:06:15,450 --> 01:06:17,320 "আপনি আপনার ইমেল ঠিকানা প্রদান আবশ্যক." 1114 01:06:17,320 --> 01:06:21,670 ঠিক আছে. তাই আমাকে যে চেষ্টা করুন. সুতরাং malan@harvard.edu. আমি একটা পাসওয়ার্ড প্রয়োজন হয় না. 1115 01:06:21,670 --> 01:06:25,100 রেজিস্টার. "আপনি একটি পাসওয়ার্ড প্রদান করা আবশ্যক." ঠিক আছে. 1116 01:06:25,100 --> 01:06:28,470 তাই আমি অগ্নিবর্ণ একটি পাসওয়ার্ড প্রদান করবে. রেজিস্টার. 1117 01:06:28,470 --> 01:06:32,300 "পাসওয়ার্ডগুলি. মেলে না" আমি এখন অগ্নিবর্ণ এখানে টাইপ আছে. 1118 01:06:32,300 --> 01:06:35,710 আমি ঘটনাক্রমে চেক যে. রেজিস্টার. 1119 01:06:35,710 --> 01:06:39,860 "আপনি এবং শর্তাবলী. সম্মত হতে হবে" ঠিক আছে. সেখানে সম্মত হন. রেজিস্টার. 1120 01:06:39,860 --> 01:06:43,700 এবং এখন এটা দেখায় ওইদিকে ডায়গনিস্টিক আউটপুট সম্পর্কে. 1121 01:06:43,700 --> 01:06:45,630 >> ঠিক কি ঘটেছে? 1122 01:06:45,630 --> 01:06:48,330 আমরা ফর্ম জমা সত্যতা প্রতিপন্ন করা এই ক্ষমতা আছে. 1123 01:06:48,330 --> 01:06:51,420 বস্তুত, যদি আপনি pset 7 মধ্যে ডুব করেছিল, একটি ক্ষমাপ্রার্থী ফাংশন নেই 1124 01:06:51,420 --> 01:06:54,620 যে তোলে তা প্রশংসনীয় পর্দায় একটি বার্তা সঙ্গে এ চিত্কার ব্যবহারকারী যাও সহজ. 1125 01:06:54,620 --> 01:06:57,580 আমি সামান্য বিভিন্ন প্রক্রিয়া, সতর্কতা ফাংশন ব্যবহার করছি, 1126 01:06:57,580 --> 01:07:03,690 যা একটি ফাংশন যে smiled উপর থেকে এটি খুব অরুপ ব্যবহারকারী বার্তা তোলে এর নয়. 1127 01:07:03,690 --> 01:07:05,710 কিন্তু যাক এর কি এখানে আমি যা করছি দেখতে. 1128 01:07:05,710 --> 01:07:09,620 এটি form1.html, এবং যে আমি কিছু প্রশংসনীয় পরিচিত সিনট্যাক্স আছে বিজ্ঞপ্তি: 1129 01:07:09,620 --> 01:07:12,920 শরীরের ট্যাগ, ফর্ম ট্যাগ, কর্মের বৈশিষ্ট্য, পদ্ধতির বৈশিষ্ট্য. 1130 01:07:12,920 --> 01:07:17,050 কিন্তু লক্ষ্য করা আমি একটি সুবিধার জন্য অনন্য আইডি দেওয়া আমার ফর্ম করেছি. 1131 01:07:17,050 --> 01:07:19,190 তারপর আমি একটি ইমেইল ক্ষেত্র যার ধরনের টেক্সট পেয়েছেন, 1132 01:07:19,190 --> 01:07:23,780 একটি পাসওয়ার্ড ক্ষেত্রের যার ধরনের পাসওয়ার্ড, নিশ্চায়ন ক্ষেত্রের যার ধরনের পাসওয়ার্ড, 1133 01:07:23,780 --> 01:07:28,070 এবং তারপর একটি চেকবক্স যার নাম এখানে বেশী চুক্তি, টাইপ করার জন্য প্রযোজ্য চেকবক্স হয়. 1134 01:07:28,070 --> 01:07:30,380 এবং তারপর আমি একটি submit 'বোতাম পেয়েছেন. 1135 01:07:30,380 --> 01:07:33,050 উপরের কিন্তু লক্ষ্য করা কি আমি আরো আছে. 1136 01:07:33,050 --> 01:07:35,810 প্রথম সব, স্ক্রিপ্ট ট্যাগ অন্য ব্যবহার আছে. 1137 01:07:35,810 --> 01:07:40,520 যদি আপনার অন্য কোন ফাইলে কিছু জাভাস্ক্রিপ্ট কোড আছে শুধু সঙ্গে CSS এর মত, আপনি এটি অন্তর্ভুক্ত করা যাবে. 1138 01:07:40,520 --> 01:07:44,530 এবং স্ক্রিপ্টটি উৎস না যে, আমি এবং তারপর দৃশ্যত সংযোগ চাই বিজ্ঞপ্তি 1139 01:07:44,530 --> 01:07:50,349 একটি দীর্ঘ পথ কিন্তু googleapis.com যার নামের ফাইলটি jquery.min শেষ 1140 01:07:50,349 --> 01:07:52,420 জন্য সর্বনিম্ন. js. 1141 01:07:52,420 --> 01:07:55,969 jQuery একটি সুপার জাভাস্ক্রিপ্ট জন্য জনপ্রিয় গ্রন্থাগারের যে শুধু জাভাস্ক্রিপ্ট তোলে 1142 01:07:55,969 --> 01:07:58,230 সব আরো ব্যবহারকারী বন্ধুত্বপূর্ণ ব্যবহার করার জন্য. 1143 01:07:58,230 --> 01:08:00,610 এটি কার্যকরভাবে এর হয়ে কার্যত একটি আদর্শ. 1144 01:08:00,610 --> 01:08:04,090 সুতরাং যদিও কি আপনি দেখতে সম্পর্কে খাঁটি জাভাস্ক্রিপ্ট অপরিহার্যভাবে হয় না, 1145 01:08:04,090 --> 01:08:09,340 এটা অনেক CS50 গ্রন্থাগারের ভালো জাভাস্ক্রিপ্ট উপরে একটি লাইব্রেরি একটি স্তর 1146 01:08:09,340 --> 01:08:13,670 নিম্নস্তরের সি কোড উপরে; বাস্তবতা হল ইন্টারনেটে প্রায় সবাই এটি ব্যবহার করে. 1147 01:08:13,670 --> 01:08:18,030 সুতরাং এই প্রশিক্ষণের চাকার নয়. এটি শুধুমাত্র শ্রেষ্ঠ এই দিন অভ্যাস. 1148 01:08:18,030 --> 01:08:22,830 এখন নীচের বিজ্ঞপ্তি যে আমার নিজের স্ক্রিপ্ট ট্যাগ, এবং কি এখানে আমি করেছেন বিজ্ঞপ্তি. 1149 01:08:22,830 --> 01:08:27,450 এটি সক্রিয় যে jQuery কিছু আছে একটু অভিনব. 1150 01:08:27,450 --> 01:08:29,660 জাভাস্ক্রিপ্ট ডলার চিহ্ন রয়েছে, কিন্তু তারা অর্থহীন. 1151 01:08:29,660 --> 01:08:32,870 >> তারা চিঠি A অথবা B বা C-এর মত 1152 01:08:32,870 --> 01:08:36,670 jQuery করেনি সহজভাবে সত্য যাও পাড়া দাবির কনভেনশন বা সাজানোর গৃহীত 1153 01:08:36,670 --> 01:08:40,280 যে 'তাদের বিশেষ চিহ্ন হতে হবে. 1154 01:08:40,280 --> 01:08:44,950 তাই যত তাড়াতাড়ি হিসাবে আপনি স্ক্রিপ্ট ট্যাগ সঙ্গে এই বিশ্বব্যাপী জাভাস্ক্রিপ্ট ফাইল লোড এখানে আপ, 1155 01:08:44,950 --> 01:08:49,080 আপনি একটি বিশেষ বিশ্বব্যাপী পরিবর্তনশীল যে $ এর আহ্বান এক্সেস আছে. 1156 01:08:49,080 --> 01:08:53,009 এটা আরো সঠিকভাবে বলা হয় jQuery এর, কিন্তু যে হিসাবে প্রায় $ হিসাবে সেক্সি না তাকান. 1157 01:08:53,009 --> 01:08:56,250 কিন্তু $ কোন বিশেষ অর্থ আছে. পিএইচপি এটি বিশেষ অর্থ ছিল. 1158 01:08:56,250 --> 01:08:58,440 আপনি একটি পরিবর্তনশীল এর সামনে আছে ছিল. 1159 01:08:58,440 --> 01:09:01,670 এই মাত্র একটি ছবি জিনিস যে তারা গ্রহণ করেন. 1160 01:09:01,670 --> 01:09:03,389 যাচ্ছে কি এখানে হয়? 1161 01:09:03,389 --> 01:09:08,830 আমি jQuery ফাংশন আমার বিশ্বব্যাপী পরিবর্তনশীল নথিটি পার করছি বিজ্ঞপ্তি 1162 01:09:08,830 --> 01:09:10,860 এবং তারপর আমি. কলিং প্রস্তুত করছি. 1163 01:09:10,860 --> 01:09:15,480 কি jQuery মূলত এটি আপনি কিছু ভ্যানিলা জাভাস্ক্রিপ্ট জিনিষ নিতে পারবেন না হয় 1164 01:09:15,480 --> 01:09:17,889 ভালো নথিটি অবজেক্ট, উইন্ডো বস্তু, 1165 01:09:17,889 --> 01:09:20,790 এবং যদি আপনি jQuery ফাংশন তা পাস - 1166 01:09:20,790 --> 01:09:24,429 এবং আবার, পরিষ্কার করা, এই একটি ফাংশন বলা হয় jQuery - 1167 01:09:24,429 --> 01:09:28,240 এটি কী জন্য প্রয়োজন হয় আপনি এটা দস্তাবেজের একটি বিশেষ সংস্করণ ফেরত্ 1168 01:09:28,240 --> 01:09:30,700 যে অধিক কার্যকারিতার সাথে জড়িত রয়েছে. 1169 01:09:30,700 --> 01:09:34,760 তাই কাঁচা জাভাস্ক্রিপ্ট কোন প্রস্তুত ফাংশন আছে, 1170 01:09:34,760 --> 01:09:37,810 কিন্তু যদি আপনি jQuery ফাংশন দস্তাবেজ প্রথম পাস, 1171 01:09:37,810 --> 01:09:40,960 আপনি এটি একটি নথি বস্তুর বিশেষ সংস্করণে প্রত্যাবর্তন 1172 01:09:40,960 --> 01:09:43,030 যে আরো অভিনব বৈশিষ্ট্য আছে. 1173 01:09:43,030 --> 01:09:48,230 এবং কেন যে মানুষ এটা পছন্দ. এটা ঠিক করে জিনিষ না সহজ, হিসাবে আমরা দেখুন. 1174 01:09:48,230 --> 01:09:49,820 কোড এই লাইন কি তাই মানে? 1175 01:09:49,820 --> 01:09:52,690 কোড এই লাইন এখানে মানে যখন নথি প্রস্তুত - 1176 01:09:52,690 --> 01:09:56,830 অন্য কথায় একবার, ব্রাউজার এই ফাইলটি নিচ পড়া সম্পন্ন করা হয় - 1177 01:09:56,830 --> 01:09:59,200 এগিয়ে যান এবং নিচের ফাংশন চালানো হয়. 1178 01:09:59,200 --> 01:10:03,540 জাভাস্ক্রিপ্ট মধ্যে সত্যিই আকর্ষণীয় কী - পিএইচপি এবং এই হিসাবে ভাল হয়েছে - 1179 01:10:03,540 --> 01:10:05,450 বেনামী হয় ফাংশন. 1180 01:10:05,450 --> 01:10:10,560 আপনাকে জাভাস্ক্রিপ্ট ফাংশন যে কোন নাম আছে কিন্তু তারা শরীরের না আছে ডিক্লেয়ার করতে পারেন. 1181 01:10:10,560 --> 01:10:12,570 উল্লেখ্য, এখানে কি ঘটছে. 1182 01:10:12,570 --> 01:10:16,220 >> এটি একটি ফাংশন বলা প্রস্তুত, এবং এটি শুধুমাত্র নিম্নলিখিত কাজগুলো অর্থ 1183 01:10:16,220 --> 01:10:20,220 যখন পুরো ওয়েব পেজ প্রস্তুত, যখন সব এটি করা হয়েছে এর সার্ভার থেকে পড়বেন না. 1184 01:10:20,220 --> 01:10:23,090 আপনি কি চান? আমি কোড একটি খণ্ড এক্সিকিউট করতে চান. 1185 01:10:23,090 --> 01:10:27,120 উল্লেখ্য যে আমরা এই কোড সরাসরি চালানো না চান. 1186 01:10:27,120 --> 01:10:34,350 যদি আমি এই বাদ, অবিলম্বে এই কোড এই লাইন এর অর্থ নির্বাহ শুরু করে. 1187 01:10:34,350 --> 01:10:39,040 কিন্তু এটা সত্য যে আমি কোন, নেই, কোন বলছে করছি, একটি ভালো বেনামী ফাংশনে এই মোড়ানো 1188 01:10:39,040 --> 01:10:43,000 মানে এখনও এটি চালানো না; এটি অবশেষে কল. 1189 01:10:43,000 --> 01:10:45,430 আমরা দেখেছি আমাদের ফর্ম পূর্ববর্তী উদাহরণে, এই একটি মুহূর্ত আগে. 1190 01:10:45,430 --> 01:10:49,990 ফাংশন কি আমরা অবশেষে কি কল, 500 মিলিসেকেন্ড পরে? নাচা. 1191 01:10:49,990 --> 01:10:51,480 সুতরাং একই ধারণা. 1192 01:10:51,480 --> 01:10:53,950 আবার, এমনকি যদি এই দেখায় একটু অদ্ভুত, শুধুমাত্র বিশ্বাসের উপর এখন জন্য গ্রহণ করা 1193 01:10:53,950 --> 01:10:57,060 যে একটি বেনামী ফাংশন যে অবশেষে নামক এর ডিক্লেয়ার, 1194 01:10:57,060 --> 01:11:01,720 আপনি কেবল ফাংশন () {লিখুন 1195 01:11:01,720 --> 01:11:05,380 তাই কোড আমরা অবশেষে চালানো যাচ্ছে? নিম্নলিখিত. 1196 01:11:05,380 --> 01:11:10,460 এই অতি সামান্য নতুন দেখায়, কিন্তু এই এখানে মানে jQuery এর ফাংশন, 1197 01:11:10,460 --> 01:11:13,430 এবং এখন এই একটি শর্টকাট. 1198 01:11:13,430 --> 01:11:18,830 HTML-এর এই কোর্সের পর্দায় নীচের অংশে স্নিপেট কিছু গাছ উপস্থাপনা আছে. 1199 01:11:18,830 --> 01:11:21,730 এই না. এই পৃষ্ঠাটি হল এই হ্যালো, যেমন বিশ্বের তুলনায় আরো আকর্ষণীয়. 1200 01:11:21,730 --> 01:11:25,210 কিন্তু কিছু গাছ এই HTML এ যে অনুরূপ আছে. 1201 01:11:25,210 --> 01:11:28,910 এটা যাও যাও recursive ফাংশন কিছু বাস্তবায়ন আছে ঘাড় ব্যাথা হবে 1202 01:11:28,910 --> 01:11:34,380 রুট নোড এ এবং তারপর শুরু নোড যার আইডি খুঁজে পেতে নিবন্ধন. 1203 01:11:34,380 --> 01:11:38,340 তাই jQuery তোলে সুপার সহজ জন্য আমাদের আক্ষরিক অর্থ হল এই. 1204 01:11:38,340 --> 01:11:43,000 এগিয়ে যান এবং সম্পর্কে পেতে সবটা div বা যাই হোক না কেন ফর্ম, যাই হোক না কেন HTML এলিমেন্ট 1205 01:11:43,000 --> 01:11:45,820 রেজিস্ট্রেশনের একটি আইডি আছে. 1206 01:11:45,820 --> 01:11:52,440 এই গতি document.getElementById ('রেজিস্ট্রেশন') যাও. 1207 01:11:52,440 --> 01:11:54,170 >> কেন না jQuery ভালো লেগেছে? 1208 01:11:54,170 --> 01:12:00,110 কারণ এটা খাটো যাও টাইপ করুন. কিন্তু যে সব হয়. এটি একই ধারণা. 1209 01:12:00,110 --> 01:12:02,630 সম্পর্কে ট্যাগ যার আইডি নিবন্ধন পান. 1210 01:12:02,630 --> 01:12:06,300 এবং যখন যে ট্যাগ, যা একটি ফর্ম হতে হবে, জমা হয়, 1211 01:12:06,300 --> 01:12:08,300 এগিয়ে যান এবং এই কোড এক্সিকিউট. 1212 01:12:08,300 --> 01:12:11,320 সুতরাং এর দেওয়া এক এখন আমরা কিভাবে ফর্ম যাচাইকরণ করছেন তাকান. 1213 01:12:11,320 --> 01:12:15,950 সিন্টেক্স হল প্রথম সর্বসম্মতভাবে রহস্যপূর্ণ, কিন্তু কি করছেন? 1214 01:12:15,950 --> 01:12:21,050 যদি এই কোড লাইন সত্য, আমি এ ব্যবহারকারী তার ইমেইল ঠিকানা প্রদান চিত্কার যাচ্ছি. 1215 01:12:21,050 --> 01:12:22,970 তাহলে কোড এই লাইন? 1216 01:12:22,970 --> 01:12:25,560 $ JQuery মানে. এখন এই বিজ্ঞপ্তি. 1217 01:12:25,560 --> 01:12:27,920 এটি CSS এর মত ধরনের. 1218 01:12:27,920 --> 01:12:33,370 আপনি যদি এখনো CSS এর মধ্যে dived করেছি, আপনি যে এই উপাদান যার আইডি নিবন্ধন অর্থ জানতে পারবেন. 1219 01:12:33,370 --> 01:12:39,840 স্থান মানে একটি শিশু বা নিবন্ধন একটি বংশধর যার নাম হল ইনপুট খুঁজে. 1220 01:12:39,840 --> 01:12:42,970 এবং তারপর বর্গাকার বন্ধনী এই জিনিষ একটু ফিল্টার. 1221 01:12:42,970 --> 01:12:47,010 এমনকি যদি এই রহস্যপূর্ণ দেখায়, ঠিক এই ফর্ম মানে যার আইডি নিবন্ধন যান, 1222 01:12:47,010 --> 01:12:51,230 যে যার নাম হল ইমেল ইনপুট উপাদান ভিতরে যান, 1223 01:12:51,230 --> 01:12:55,440 এবং তারপর তার মূল্য পেতে, যাই হোক না কেন তার মান হবে এরকম - 1224 01:12:55,440 --> 01:12:59,670 asdf যদি যে সমস্ত আমি টাইপ করা অথবা malan@harvard.edu যদি তাই আমি টাইপ করা. 1225 01:12:59,670 --> 01:13:05,250 তাই আপনি যদি ফর্ম এর ইমেল ক্ষেত্রের == কিছুই মান ব্যবহারকারী এ, চিত্কার. 1226 01:13:05,250 --> 01:13:09,700 অন্যথায় যদি পাসওয়ার্ড ক্ষেত্রের মান == কিছুই ব্যবহারকারী এ, চিত্কার. 1227 01:13:09,700 --> 01:13:19,520 >> অন্যথায় যদি পাসওয়ার্ড ক্ষেত্রের মান নিশ্চিতকরণ ক্ষেত্রের মান সমান হয় না, 1228 01:13:19,520 --> 01:13:22,850 যা ছিল অন্যান্য ফর্ম উপাদান ব্যবহারকারী এ, চিত্কার. 1229 01:13:22,850 --> 01:13:25,680 এবং সর্বশেষে তারপর - এবং এই এক খুব নিজস্ব কিছু নতুন বাক্য গঠন করা হয়েছে, 1230 01:13:25,680 --> 01:13:29,270 কিন্তু একবার আপনি এটা দেখা করেছি, এটা অন্তত একটু অধিক যুক্তিসঙ্গত - 1231 01:13:29,270 --> 01:13:34,060 অন্যথায় যদি যেটির আইডি নিবন্ধীকরণ একটি ইনপুট উপাদান যার নাম হল চুক্তি হয়েছে 1232 01:13:34,060 --> 01:13:39,720 এবং তা চেক করা হয়, এগিয়ে যান এবং ব্যবহারকারী এ চিত্কার. 1233 01:13:39,720 --> 01:13:42,520 তাই সম্পূর্ণভাবে আমি মানা এই প্রথম নজরে সম্পূর্নরুপে অপ্রতিরোধ্য. 1234 01:13:42,520 --> 01:13:46,530 এটা নতুন বাক্য গঠন অনেকটা. কিন্তু jQuery সমস্ত নিদর্শন এই ধরনের অনুসরণ করে. 1235 01:13:46,530 --> 01:13:49,880 এবং সত্যি বলতে, আমার এই অস্তিত্ব পর্যন্ত একটি মাত্র কয়েক মিনিট আগে এমনকি জানি না. 1236 01:13:49,880 --> 01:13:53,640 আমি Googled, "কিভাবে আপনি যদি একটি চেকবক্স jQuery মধ্যে চেক চেক করা হয়?" 1237 01:13:53,640 --> 01:13:55,680 এবং এই বাক্য গঠন, কারণ এরকম বিভিন্ন উপায় আছে 1238 01:13:55,680 --> 01:13:58,010 সঙ্গে প্রকৃত কাঁচা জাভাস্ক্রিপ্ট কোড. 1239 01:13:58,010 --> 01:14:01,030 সুতরাং সমস্যা হিসাবে সেট 7 খুব প্রথম পাতা উপর জোর দেয়, 1240 01:14:01,030 --> 01:14:04,500 pset 7 বহুলাংশেই নিজেকে bootstrapping একটি ব্যায়াম 1241 01:14:04,500 --> 01:14:08,650 যেখানে আমরা, আশা দেওয়া একটি ধারণাগত সঙ্গে যা pset জাহাজের দড়িদড়া ফ্রেমওয়ার্ক করেছি,. 1242 01:14:08,650 --> 01:14:12,280 >> কিন্তু প্রায়ই একটি ওয়েব ডিজাইনের সাথে ক্ষেত্রে, এটা সত্যিই প্রায় যাও অকর্মা আপনাকে আপ এর, 1243 01:14:12,280 --> 01:14:16,680 ওয়েব থেকে স্নিপেট কোড এবং উদাহরণ এতক্ষণ হিসাবে আপনি তাদের cite নিগমবদ্ধ 1244 01:14:16,680 --> 01:14:17,960 প্রতি যে প্রথম পত্রকে পদ, 1245 01:14:17,960 --> 01:14:21,460 এবং বুঝতে পারি যে এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট এবং এমনকি SQL শেখার 1246 01:14:21,460 --> 01:14:26,020 সত্যি সত্যি এই লোক ব্যায়াম হিসাবে আমরা এইসব প্রশিক্ষণ চাকার অপসৃত হতে শুরু বোঝানো. 1247 01:14:26,020 --> 01:14:29,150 এবং বুঝতে খুব যাতে আরও অনেক জিনিষ আপনি একটি ব্রাউজার দিয়ে করতে পারেন. 1248 01:14:29,150 --> 01:14:33,790 এই উপাদানের সবচেয়ে ইনসাইড অন্যান্য নামক ইভেন্ট হ্যান্ডলার জিনিষ আছে. 1249 01:14:33,790 --> 01:14:37,140 এবং যদিও আমরা ঠিক বেশী দিকে তাকিয়ে নামক onsubmit এবং onready, 1250 01:14:37,140 --> 01:14:40,310 আপনি onkeydown, onkeyup মত কাজ করতে পারেন, 1251 01:14:40,310 --> 01:14:43,410 ব্যবহারকারীরা যখন কোনো একটি কি স্পর্শ করতে চান, এবং আপনি যে কী আপ জন্য শুনতে পারেন. 1252 01:14:43,410 --> 01:14:45,940 Gmail এর কীবোর্ড শর্টকাট আছে. 1253 01:14:45,940 --> 01:14:49,490 কিভাবে Google তার জন্য রচনা C-এর মতো কীবোর্ড শর্টকাট বাস্তবায়ন? 1254 01:14:49,490 --> 01:14:54,120 তারা ঘটনা শোনার জন্য, হিসাবে তারা onkeypress বা onkeyup এবং onkeydown ভালো বলা করছি,. 1255 01:14:54,120 --> 01:14:56,360 আপনি যদি কখনও কিছু মেনু অপশন উপর করেছি আপনার মাউস hovered 1256 01:14:56,360 --> 01:15:00,180 এবং একটি আকস্মিক, voila সব, একটি মেনু প্রদর্শিত বা গ্রাফিক রং পরিবর্তন, 1257 01:15:00,180 --> 01:15:01,920 কিভাবে তারা যে করছে? 1258 01:15:01,920 --> 01:15:06,940 Onready বা onsubmit জন্য পরিবর্তে শুধুমাত্র শোনার জন্য, অথবা আপনি onmouseover onmouseout শোনার জন্য. 1259 01:15:06,940 --> 01:15:10,920 >> সুতরাং এইসব খুব সহজ বুনিয়াদি সঙ্গে সংক্ষিপ্ত, যে আমরা আজ পৃষ্ঠের স্ক্র্যাচ শুরু করেছি 1260 01:15:10,920 --> 01:15:13,940 এবং আমরা আরও মধ্যে বুধবার, আপনার আছে, ক্রমবর্ধমান আকর্ষণীয় করব, 1261 01:15:13,940 --> 01:15:17,530 ক্ষমতা যে সব জিনিষ আপনি ইতিমধ্যে পরিচিত ধরণের বাস্তবায়ন. 1262 01:15:17,530 --> 01:15:21,620 সুতরাং এর কোন শেষ হয়ে যাক, এবং আমরা বুধবার এই চালিয়ে যাব. 1263 01:15:22,690 --> 01:15:24,320 >> [CS50.TV]