1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> ג'ייסון הירשהורן: הברוך הבא, כולם, עד השבוע 10. 3 00:00:09,810 --> 00:00:15,130 זה שבוע מרגש, כי מחר הוא 1 חידון, שיהיה לנו 4 00:00:15,130 --> 00:00:16,400 בשני. 5 00:00:16,400 --> 00:00:21,770 היום בסעיף, אנחנו הולכים ללכת על כמה משאבים לחידון, ו 6 00:00:21,770 --> 00:00:24,890 אז אני אענה על כל וכל שאלות שיש לך חבר 'ה. 7 00:00:24,890 --> 00:00:27,880 ואנחנו סוף סוף יסתיימו עם כמה בעיות בפועל. 8 00:00:27,880 --> 00:00:30,940 >> אנחנו יכולים לבלות את כל הסעיף לענות על שאלות. 9 00:00:30,940 --> 00:00:33,240 אנחנו יכולים לבלות את כל הסעיף הולך על בעיות בפועל. 10 00:00:33,240 --> 00:00:36,890 אנחנו רק יתרחבו כדי למלא את מרחב ובזמן שיש לנו. 11 00:00:36,890 --> 00:00:40,590 >> אז שמתי את הרשימה הזאת עד בכל שבוע, אבל זה חשוב במיוחד בשבוע זה. 12 00:00:40,590 --> 00:00:44,980 ללימוד, אם יש לך לא התחיל כבר, הו ילד. 13 00:00:44,980 --> 00:00:46,400 אבל אני מקווה שהתחלת כבר. 14 00:00:46,400 --> 00:00:50,710 ואתה עובר חומרים ומשאבים המפורטים כאן. 15 00:00:50,710 --> 00:00:54,300 אני מאוד ממליץ מספרם של אלה. 16 00:00:54,300 --> 00:00:58,780 >> בפרט, סיכומי הרצאות הם חשוב מאוד ומועיל. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net מספק פריימר גדול בהרבה 18 00:01:02,880 --> 00:01:04,250 הנושאים שאנחנו מכוסים. 19 00:01:04,250 --> 00:01:07,810 כמו כן, יש כמה נהדר לתרגל בעיות. 20 00:01:07,810 --> 00:01:11,260 ולאחר מכן, גוגל היא גדולה, יותר מדי. 21 00:01:11,260 --> 00:01:12,360 אני לא יודע מה שהיית להשתמש בו. 22 00:01:12,360 --> 00:01:14,090 אבל גם להשתמש ב-Google,. 23 00:01:14,090 --> 00:01:16,680 >> להגיע אליי אם יש לך שאלות, הערות, או חששות. 24 00:01:16,680 --> 00:01:19,420 תסתכל על פגישת הביקורת שקופיות מאתמול בלילה. 25 00:01:19,420 --> 00:01:21,540 או, אם יש לך קצת זמן, לראות את הווידאו. 26 00:01:21,540 --> 00:01:24,930 הם מספקים הרבה מועילים חומר ומידע. 27 00:01:24,930 --> 00:01:29,730 ולנסות ולכסות אם לא כולם, רבים מן הנושאים שכיסינו ושאתה 28 00:01:29,730 --> 00:01:32,610 עשוי לראות בחידון. 29 00:01:32,610 --> 00:01:35,590 >> אם כבר מדברים על החידון, כי יהיה מחר. 30 00:01:35,590 --> 00:01:37,260 זה ארוך 75 דקות. 31 00:01:37,260 --> 00:01:40,740 רבים מכם לוקחים את זה ב1 בערב, וכמה מכם 32 00:01:40,740 --> 00:01:42,740 לוקח את זה בשעת 5:30. 33 00:01:42,740 --> 00:01:45,300 בפעם שאתה לוקח את זה ואת מיקום שאתה לוקח את זה, ודא 34 00:01:45,300 --> 00:01:49,400 לך לבדוק את המסמך בדף הבית של CS50.net. 35 00:01:49,400 --> 00:01:54,340 >> זכור כי אתה יכול לקבל אחד 8 1/2 על ידי 11 גיליון לקחת איתך. 36 00:01:54,340 --> 00:01:57,310 לעתים קרובות, אנשים לא משתמשים בזה גיליון כלל במהלך החידון. 37 00:01:57,310 --> 00:01:59,740 אבל באמת, זה לא ייאמן כלי מחקר מועילים. 38 00:01:59,740 --> 00:02:04,370 אז להרכיב גיליון שהוא מה ביליתי כנראה שלוש או ארבע שעות 39 00:02:04,370 --> 00:02:07,110 עושה כשלמדתי לCS50, ו זה היה בקלות מועילה ביותר 40 00:02:07,110 --> 00:02:08,740 דרך בה אני יכול ללמוד לחידון. 41 00:02:08,740 --> 00:02:10,949 אז גם אם יש לך כמה אנשים אחרים מחקר מדריך להסתכל ו 42 00:02:10,949 --> 00:02:14,740 להשתמש כאזכור, אני מאוד ממליץ מה שהופך את העיון במדריך שלך, לשים 43 00:02:14,740 --> 00:02:15,490 הדברים האלה ביחד. 44 00:02:15,490 --> 00:02:17,335 זה באמת עוזר לך ללמוד כל החומר. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> ואחרון חביב בחלק זה, אחרי מחר החידון יש אחד 47 00:02:24,810 --> 00:02:25,940 עוד הרצאה - 48 00:02:25,940 --> 00:02:26,960 ביום שני הבא. 49 00:02:26,960 --> 00:02:30,430 יש סעיף אחד נוסף, לא הבא יום שלישי שלפני חג ההודיה, אבל 50 00:02:30,430 --> 00:02:31,630 יום שלישי לאחר ש. 51 00:02:31,630 --> 00:02:36,600 אנחנו ניפגש יחד סופיים שלום מסיבה וגם עושה קצת קריר 52 00:02:36,600 --> 00:02:41,530 דברים כדי לקבל את החבר 'ה נרגש על מחקרים נוספים במדעי מחשב. 53 00:02:41,530 --> 00:02:45,040 >> יש פרויקט אחד יותר, אחד יותר hackathon הוגן, אחד יותר. 54 00:02:45,040 --> 00:02:47,900 אנחנו מתקרבים לסוף CS50, וזה מרגש - 55 00:02:47,900 --> 00:02:50,950 אלא גם, אם אתה אוהב את לי, קצת עצוב. 56 00:02:50,950 --> 00:02:53,950 לפני שאני ממשיך הלאה, למישהו יש כל שאלות על מה 57 00:02:53,950 --> 00:02:55,200 אנחנו כבר כיסינו עד כה? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> בסדר, גם בואו נעבור על כמה שאלות שיש לך לחידון ונושאים 60 00:03:08,730 --> 00:03:09,960 אולי אנחנו מכסים. 61 00:03:09,960 --> 00:03:11,540 אז זו רשימה שאני להרכיב. 62 00:03:11,540 --> 00:03:15,500 זה לא ממצה, אבל בתקווה לרענן את הזיכרון שלך, אם אתה 63 00:03:15,500 --> 00:03:20,310 יש לי כמה שאלות על כל אחד מאלה נושאים, או אם יש לך שאלות על 64 00:03:20,310 --> 00:03:23,260 בעיות בפועל מחידונים בשנים האחרונות. 65 00:03:23,260 --> 00:03:27,470 >> הייתה לי כמה שאלות שהיו בדוא"ל אותי, אבל אני רוצה לדחות את 66 00:03:27,470 --> 00:03:29,490 על אלה לשנייה. 67 00:03:29,490 --> 00:03:34,570 האם יש למישהו שאלות, בעיות שהם לא הבינו, 68 00:03:34,570 --> 00:03:38,100 תשובות שהם לא הבינו כדי לעזור לנו להתחיל? 69 00:03:38,100 --> 00:03:39,520 אבי. 70 00:03:39,520 --> 00:03:41,585 >> קהל: אתה יכול פשוט ללכת על DOM ו-Ajax באמת מהיר? 71 00:03:41,585 --> 00:03:46,540 כאילו, מה אנחנו צריכים לדעת או צריכים מבין עליהם? 72 00:03:46,540 --> 00:03:49,750 >> ג'ייסון הירשהורן: אני הולך לענות בדרך כלל שאלה זו של, מה לעשות אני 73 00:03:49,750 --> 00:03:52,100 צריך לדעת על x נושא נתון? 74 00:03:52,100 --> 00:03:55,280 כי יש לי הרגשה שרבים מכם הולכים לשאול אותי את זה, או שהם 75 00:03:55,280 --> 00:03:56,570 סקרן לגבי זה. 76 00:03:56,570 --> 00:04:02,920 אז במידה שהנושא היה מכוסה בהרצאה, או סעיף, או על 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, בעיה להגדיר, אתה צריך להיות מוכר עם זה. 78 00:04:06,460 --> 00:04:10,580 >> אז אתה לא צריך לדעת כל סוג תג זה זמין ב-HTML או 79 00:04:10,580 --> 00:04:15,950 כל סוג של תכונה או מאפיין אתה יכול לתת משהו ב-CSS. 80 00:04:15,950 --> 00:04:20,204 אבל אם אתה ראה את זה בדוגמא הרצאה, אם היית רואה אותו בבעיה 81 00:04:20,204 --> 00:04:23,290 סט, אתה כנראה צריך להיות מוכר עם זה, במיוחד דברים שאתה ראית 82 00:04:23,290 --> 00:04:24,260 בהרצאה. 83 00:04:24,260 --> 00:04:28,510 אז דנו במסמך מתנגד מודל קצת ב 84 00:04:28,510 --> 00:04:30,530 סעיף, יותר מכך בהרצאה. 85 00:04:30,530 --> 00:04:32,990 אתה צריך להיות מוכר עם כל כך הרבה ממנו. 86 00:04:32,990 --> 00:04:34,750 >> ואתה צריך להיות מוכר עם אייאקס באותה המידה. 87 00:04:34,750 --> 00:04:38,105 אנחנו אף פעם לא ראינו מתקדמים מאוד או דוגמאות מסובכות של אייאקס, כך 88 00:04:38,105 --> 00:04:40,920 אתה לא הולך לתתבקש לעשות משהו מסובך להפליא. 89 00:04:40,920 --> 00:04:45,180 אבל ייתכן שתתבקש, איך אני לבצע שיחת אייאקס באמצעות jQuery? 90 00:04:45,180 --> 00:04:47,350 וזה משהו שראית מספר פעמים בעבר, הן ב 91 00:04:47,350 --> 00:04:51,370 לסקור פגישה ובהרצאה, ו זה רק שני קווים, איש של קוד. 92 00:04:51,370 --> 00:04:53,190 >> אז זה משהו שאתה צריך להיות מוכר. 93 00:04:53,190 --> 00:04:55,550 אבל שוב, לכל הנושאים הללו, אם אתה ראית את זה 94 00:04:55,550 --> 00:04:59,220 לפני כן, זה משחק הוגן. 95 00:04:59,220 --> 00:05:01,540 ואנחנו יכולים לשאול אותך - כמובן, אנחנו הולך לשאול את הדברים שאתה אתה 96 00:05:01,540 --> 00:05:02,340 לא ראה קודם. 97 00:05:02,340 --> 00:05:04,240 קידוד משהו יש לך לא ראה בעבר. 98 00:05:04,240 --> 00:05:06,570 וזה לא אומר שיש לך לא ראה את הכלים כדי לפתור 99 00:05:06,570 --> 00:05:08,120 בעיה שלפני. 100 00:05:08,120 --> 00:05:09,200 אתם ראיתם את הכלים האלה. 101 00:05:09,200 --> 00:05:11,160 >> לדוגמא, ב -1 בחידון, אם אתה צריך לקודד strlen. 102 00:05:11,160 --> 00:05:12,790 לא קדדנו strlen לפני. 103 00:05:12,790 --> 00:05:14,980 אבל אתה יודע איך להשתמש בלולאה, אתה יודע איך להשתמש אם תנאים. 104 00:05:14,980 --> 00:05:18,570 אתה יודע איך לכתוב את המשתנים בג זה הולך להיות אותו הדבר כאן. 105 00:05:18,570 --> 00:05:22,350 אתה לא הולך לתתבקש לעשות שום דבר שלא ראה בעבר, אבל 106 00:05:22,350 --> 00:05:25,150 ייתכן שתתבקש, כמו, לשים משהו ביחד בדרך חדשה, או 107 00:05:25,150 --> 00:05:27,650 לפתור סוג של בעיה אחרת. 108 00:05:27,650 --> 00:05:30,830 >> סליחה, זה לא היה ספציפי לשלך שאלה, אבל אני לא יכול לענות על 109 00:05:30,830 --> 00:05:34,390 כל נושא את מה שאתה עושה או לא צריך לדעת. 110 00:05:34,390 --> 00:05:36,830 אלא גם, סליחה, הדבר אחרון על זה. 111 00:05:36,830 --> 00:05:42,900 יש לנו בילינו זמן משמעותי יותר על קישור רשימות מאשר יש לנו על אייאקס. 112 00:05:42,900 --> 00:05:46,160 אתה לא השתמשתי באייאקס בסט בעיה. 113 00:05:46,160 --> 00:05:48,510 אחד המאפיינים של שמרכזיים בעיה להגדיר שהייתה רשימות קישור. 114 00:05:48,510 --> 00:05:50,370 ובילינו הרבה זמן בהרצאה וסעיף שימוש בו. 115 00:05:50,370 --> 00:05:57,080 >> לכן, רוב הסיכויים הם קישור הרשימה יעלה יותר לעתים קרובות על החידון מרצון אייאקס. 116 00:05:57,080 --> 00:06:00,390 או השאלות שקשורות לקישור הרשימה תהיה שווה יותר נקודות. 117 00:06:00,390 --> 00:06:03,520 אז אתה בהחלט יכול להתמקד וצר על דברים שהם יותר 118 00:06:03,520 --> 00:06:06,720 צפוי לבוא כי יש לנו בילה זמן רב יותר עליהם. 119 00:06:06,720 --> 00:06:08,700 >> אישור שאלות אחרות? 120 00:06:08,700 --> 00:06:09,890 כן. 121 00:06:09,890 --> 00:06:13,660 >> קהל: אנחנו יכולים ללכת על השימוש פונקציות אנונימיות ב-JavaScript? 122 00:06:13,660 --> 00:06:17,140 אני נמצא קצת מבולבל בקשר לזה. 123 00:06:17,140 --> 00:06:20,180 >> ג'ייסון הירשהורן: אז ב-JavaScript - 124 00:06:20,180 --> 00:06:24,400 אני מנסה לחשוב איך אני אפשר לכתוב את זה על - 125 00:06:24,400 --> 00:06:27,590 אז בואו באמת לפתוח את הקוד הזה. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 אז זה קוד שעשינו בשבוע שעבר. 128 00:06:36,030 --> 00:06:41,400 ואתה ראית את זה בעבר אם אתה היו כאן בסעיף בשבוע שעבר. 129 00:06:41,400 --> 00:06:43,180 או שראית משהו דומה לזה בעבר. 130 00:06:43,180 --> 00:06:44,800 >> אבל אתה יכול להסתכל בשורה הראשונה. 131 00:06:44,800 --> 00:06:46,950 זה איך שאתה מתחיל - 132 00:06:46,950 --> 00:06:48,010 כולם ראו את זה קודם. 133 00:06:48,010 --> 00:06:51,930 אם אתה רוצה לשים קצת קוד JavaScript, אתה שם אותו בתוך זה, בהנחה 134 00:06:51,930 --> 00:06:53,520 אתה משתמש JQuery. 135 00:06:53,520 --> 00:06:56,940 שזה אומר, לא עושה שום דבר עד טעון של המסמך. 136 00:06:56,940 --> 00:06:59,940 >> ולאחר מכן, קורט, שאתה רואה כאן אנחנו עושים משהו כזה - 137 00:06:59,940 --> 00:07:02,560 paren הפתוח פונקציה, סגור סוגריים. 138 00:07:02,560 --> 00:07:05,250 אז אנחנו לא נותנים את זה לתפקד שם. 139 00:07:05,250 --> 00:07:09,160 אנחנו לא הולכים להגדיר פונקציה זו הוא אמור לרוץ ולאחר מכן 140 00:07:09,160 --> 00:07:10,830 קורא לזה חבורה של פעמים. 141 00:07:10,830 --> 00:07:15,140 אנחנו רק אומרים שמסמך זה כבר לוקחת פונקציה. 142 00:07:15,140 --> 00:07:16,690 כמה דברים לעשות. 143 00:07:16,690 --> 00:07:20,670 >> ואנחנו לא רוצים לבזבז את הזמן לתת לו שם או לשמור אותו ל 144 00:07:20,670 --> 00:07:21,650 לנצח. 145 00:07:21,650 --> 00:07:24,150 אנחנו רק רוצים להריץ כמה דברים. 146 00:07:24,150 --> 00:07:27,500 אז סוג פונקציה אנונימית של משרתת את המטרה. 147 00:07:27,500 --> 00:07:30,280 כשאתה לא הולך להשתמש במשהו שוב ושוב, כך שאתה לא צריך 148 00:07:30,280 --> 00:07:32,420 כדי לתת לה שם - אתה פשוט רוצה להשתמש בו פעם אחת - 149 00:07:32,420 --> 00:07:36,720 היית אומר רק פונקציה, עבור למשל, במקרה זה, ואתה רק 150 00:07:36,720 --> 00:07:38,280 הגדרת משהו ש אתה יכול לתת שם. 151 00:07:38,280 --> 00:07:40,920 >> כמו, אנחנו יכולים להוציא את התפקיד הזה מתוך ולתת לה שם, ואז קוראים לזה 152 00:07:40,920 --> 00:07:41,760 לתפקד כאן. 153 00:07:41,760 --> 00:07:44,270 אבל אנחנו לא צריכים כי אנחנו לא רוצה לבזבז את הזמן לתת לו שם או 154 00:07:44,270 --> 00:07:46,240 מבזבז משהו בשם שלנו בחלל. 155 00:07:46,240 --> 00:07:47,530 ואתם תראו את זה הרבה. 156 00:07:47,530 --> 00:07:52,810 לדוגמא, אנו רואים שהרבה בזה קוד, אבל שראית את זה בעבר כאשר 157 00:07:52,810 --> 00:07:54,010 אתה לוחץ על משהו - 158 00:07:54,010 --> 00:07:55,980 להפעיל סוג זה של קוד. 159 00:07:55,980 --> 00:07:59,850 >> אנחנו יכולים להגדיר את הקוד שאנחנו רוצים לרוץ כאשר אנו לחצו, במקרה זה, 160 00:07:59,850 --> 00:08:03,450 זיהוי זה, כפונקציה נפרדת ולאחר מכן להפעיל את הפונקציה. 161 00:08:03,450 --> 00:08:07,940 אבל במקרה הזה, אנחנו פשוט מדלגים וזה צעד ושיזיז אותו לכאן 162 00:08:07,940 --> 00:08:10,340 רק כדי להגדיר את כל מה שאנחנו רוצים שנקרה ו 163 00:08:10,340 --> 00:08:12,450 לא נותן לו שם. 164 00:08:12,450 --> 00:08:15,550 זה עדיין לא יכול להיות ענה על השאלה שלך. 165 00:08:15,550 --> 00:08:15,960 >> קהל: לא, היא עושה. 166 00:08:15,960 --> 00:08:18,290 אני מתכוון, אני מניח שאני עושה לא רק באמת מבין למה זה יהיה 167 00:08:18,290 --> 00:08:20,800 לתפקד בכל, אם כי. 168 00:08:20,800 --> 00:08:21,590 כי זה לא באמת נקרא. 169 00:08:21,590 --> 00:08:23,170 זה לא ממש יש לו שם. 170 00:08:23,170 --> 00:08:25,510 >> ג'ייסון הירשהורן: זה פונקציה ב מובן שזה בשורה של צעדים, 171 00:08:25,510 --> 00:08:28,460 כמו שהיית להכניס לפונקציה. 172 00:08:28,460 --> 00:08:29,970 ואז זה למה שאנחנו קוראים פונקציה אנונימית זה. 173 00:08:29,970 --> 00:08:30,815 אנחנו לא הולכים לתת לו שם. 174 00:08:30,815 --> 00:08:33,159 אנחנו לא הולכים לבזבז מנסים לשם זה, אבל אנחנו יכולים. 175 00:08:33,159 --> 00:08:34,890 >> פונקציות אנונימי, אתה תמיד יכול לתת לו שם. 176 00:08:34,890 --> 00:08:37,620 כך למשל, קוד זה ממש כאן, אנחנו יכולים לשים את הקוד הזה בתוך 177 00:08:37,620 --> 00:08:39,929 פונקציה ואז להתקשר פונקציה זו כאן. 178 00:08:39,929 --> 00:08:41,600 במקום זאת, אנחנו אומרים, אנחנו לא הולכים להתעסק עם זה. 179 00:08:41,600 --> 00:08:44,390 אנחנו רק הולכים לכתוב כל זה ממש כאן. 180 00:08:44,390 --> 00:08:49,840 >> זה כמו לפעמים כשאתה כותב ארבע לולאה ב-C - אתם 181 00:08:49,840 --> 00:08:51,630 ראיתי את זה בעבר - אולי אתה iterating דרך forloop 182 00:08:51,630 --> 00:08:53,090 לi שווה 0. 183 00:08:53,090 --> 00:08:54,830 אני הוא פחות מ strlen. 184 00:08:54,830 --> 00:08:59,520 או שאתה עובר מערך, אתה יכול להציל את מערך 185 00:08:59,520 --> 00:09:01,580 מדד i בכמה משתנה. 186 00:09:01,580 --> 00:09:02,830 ולך להשתמש במשתנה זה. 187 00:09:02,830 --> 00:09:06,550 אז אתה לא צריך לכתוב מחדש את המערך סוגר אני שוב ושוב ושוב. 188 00:09:06,550 --> 00:09:08,160 >> וזה כמו סוג של משתנה דמה. 189 00:09:08,160 --> 00:09:10,790 זה לא משרת הרבה מטרות אחרות מאשר כדי להפוך את הקוד שלך נקי יותר 190 00:09:10,790 --> 00:09:12,120 וקל יותר לקריאה. 191 00:09:12,120 --> 00:09:13,290 פונקציה דומה כאן. 192 00:09:13,290 --> 00:09:15,665 פשוט עושה את זה קצת יותר קל, אבל מבחינה פונקציונלית אין הבדל. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 האם זה עונה על השאלה שלך? 195 00:09:19,330 --> 00:09:19,970 >> קהל: כן. 196 00:09:19,970 --> 00:09:20,720 >> ג'ייסון הירשהורן: אישור .. 197 00:09:20,720 --> 00:09:21,880 מריו? 198 00:09:21,880 --> 00:09:25,380 >> קהל: אתמול הם לעתים קרובות את פונקצית סוגר אירוע. 199 00:09:25,380 --> 00:09:26,420 האם זה אומר משהו? 200 00:09:26,420 --> 00:09:30,500 או שזה לדברים כמו שהם יעשו 201 00:09:30,500 --> 00:09:35,100 document.ready אירוע פונקציה. 202 00:09:35,100 --> 00:09:37,130 >> ג'ייסון הירשהורן: אנחנו ראינו את זה, ו שוב, אלה הם דברים קטנים ש 203 00:09:37,130 --> 00:09:39,590 כנראה שאני לא רוצה מבלה יותר מדי זמן על. 204 00:09:39,590 --> 00:09:43,200 כי לפעמים אני לא רוצה שאנשים מתחרפן לגמרי, שיש להם לא 205 00:09:43,200 --> 00:09:44,220 שמע על הדברים האלה כל כך הרבה. 206 00:09:44,220 --> 00:09:46,200 אבל אנחנו דיברנו קצת על מטפלי אירועים. 207 00:09:46,200 --> 00:09:50,360 אז קורה משהו, ולאחר מכן פונקציה זו מבוצעת. 208 00:09:50,360 --> 00:09:53,210 ואז אנחנו גם רוצים לדעת כמה פרטים על מה 209 00:09:53,210 --> 00:09:54,450 קרה באירוע זה. 210 00:09:54,450 --> 00:09:55,730 >> אז תחשוב בחזרה לבעיה להגדיר 4. 211 00:09:55,730 --> 00:09:58,390 זאת כנראה הדרך הקלה ביותר להבין שבהפסקה החוצה. 212 00:09:58,390 --> 00:09:59,740 יש איזה קוד - 213 00:09:59,740 --> 00:10:01,980 כמו אירוע שיקרה, אבל אירוע יכול להיות הרבה דברים. 214 00:10:01,980 --> 00:10:06,240 אם יכול להיות העכבר נלחץ, זה יכול להיות שאתה מכה על מקש חץ, et 215 00:10:06,240 --> 00:10:07,190 וכולי, וכולי. 216 00:10:07,190 --> 00:10:09,800 >> אבל כל זה שמור בזה גנרי קרא דבר אירועים. 217 00:10:09,800 --> 00:10:12,340 ואז אנו יכולים לומר, הוא אירוע זה הדבר הזה? 218 00:10:12,340 --> 00:10:13,640 או שזה אירוע את הדבר הזה? 219 00:10:13,640 --> 00:10:15,500 או, איזה סוג של קרה עם האירוע הזה? 220 00:10:15,500 --> 00:10:18,660 אז בגלל זה אתה יוצר משתנה ש שם כדי לשמור את מידע נוסף 221 00:10:18,660 --> 00:10:21,420 על מה בדיוק קרה באותו אתה הולך רוצה 222 00:10:21,420 --> 00:10:24,840 לנצל בתפקוד. 223 00:10:24,840 --> 00:10:28,200 אבל שוב, זה כנראה אחד דברים פחות חשובים להיות סופר 224 00:10:28,200 --> 00:10:29,450 מכיר. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> בסדר, מה יש לאנשים אחרים על שאלות היה, או אבני נגף שהם 227 00:10:36,110 --> 00:10:37,360 נתקל בעת בדיקה? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 אנחנו חזרה לרשימה זו. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 מה לגבי במהלך חידונים בפועל, אם אנשים כבר לקחו אותם? 232 00:10:56,080 --> 00:10:59,110 מה היו בעיות ש הכשיל אתכם? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 אני יודע בוודאות ששנה שעברה חידון היה ממש קשה. 235 00:11:12,720 --> 00:11:15,670 >> קהל: אתה יכול להסביר מה התקפת הזרקת SQL היא? 236 00:11:15,670 --> 00:11:18,970 >> ג'ייסון הירשהורן: אוקיי, נהדר. 237 00:11:18,970 --> 00:11:20,440 אז דיברנו על זה קצת. 238 00:11:20,440 --> 00:11:22,050 יש הרצאה על ביטחון. 239 00:11:22,050 --> 00:11:25,670 ושוב, כפי שציינתי קודם לכן, זה בצד. 240 00:11:25,670 --> 00:11:30,010 אבל אתה יהיה מתוסכל על החידון כשאתה קורא כמה שתי נקודות קטנות 241 00:11:30,010 --> 00:11:33,040 שאלה, ואתה כמו, כאשר האם אי פעם שאני לומד את זה? 242 00:11:33,040 --> 00:11:35,560 >> כל הדברים האלה בהרצאות אלה כי אתה לא חושב שאתה צריך 243 00:11:35,560 --> 00:11:38,290 יודע, או שאתה יכול לחפות על כי הם לא צריכים לעשות עם 244 00:11:38,290 --> 00:11:41,860 סט בעיה, אלה סביר יהיו לבוא שוב בחידון. 245 00:11:41,860 --> 00:11:45,030 לכן, דברים מגניבים, כיף שאתה פשוט חשבתי דוד סיפר לך 246 00:11:45,030 --> 00:11:49,070 ליהנות, הוא היה אומר לך לך ליהנות וכדי לגרום לך רק להיות סופר 247 00:11:49,070 --> 00:11:50,550 מתרגש ללמוד כל מה יש ללמוד 248 00:11:50,550 --> 00:11:51,670 על מדעי מחשב. 249 00:11:51,670 --> 00:11:53,680 הדברים האלה גם לבוא בחידונים. 250 00:11:53,680 --> 00:11:56,440 לכן, גם אלה דברים קטנים שלא עשו זאת קשור באופן ישיר לבעיה שלך 251 00:11:56,440 --> 00:11:59,630 נקבע, כפי שאתם מכירים מ חידון 0, כנראה יעלה. 252 00:11:59,630 --> 00:12:01,530 וזו דוגמא טובה של משהו. 253 00:12:01,530 --> 00:12:10,140 >> אז הזרקת SQL התקפות היא כאשר אתה לקבל קצת מידע מהמשתמש ו 254 00:12:10,140 --> 00:12:15,090 אתה רוצה להכניס אותו לתוך טבלה באמצעות הכנס SQL הצהרה, אבל אתה 255 00:12:15,090 --> 00:12:17,680 לא לטהר את הקלט לפני הזמן. 256 00:12:17,680 --> 00:12:21,560 אז, כמובן שראינו משפטי SQL. 257 00:12:21,560 --> 00:12:22,810 אני רק פותח את - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 בואו נלך - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 נלך לביקורת - 262 00:12:31,960 --> 00:12:35,180 אני חושב, שכיסיתי אותו? 263 00:12:35,180 --> 00:12:36,350 אני חושב Samala עשה. 264 00:12:36,350 --> 00:12:39,292 אז אנחנו יכולים לקבל - 265 00:12:39,292 --> 00:12:41,270 >> קהל: איפה מצאת את זה? 266 00:12:41,270 --> 00:12:44,990 >> ג'ייסון הירשהורן: אז אם אתה הולך CS50.net, חידונים, ואז אתה יכול 267 00:12:44,990 --> 00:12:47,170 לגלול שוב ולקבל שקופיות מהפעלת הביקורת. 268 00:12:47,170 --> 00:12:49,860 אבל אתה יכול לראות את זה הוא דוגמא טובה של SQL injection attack. 269 00:12:49,860 --> 00:12:53,690 אנחנו לוקחים קצת מידע מהמשתמש והם נותנים לנו מחרוזת, ואז 270 00:12:53,690 --> 00:12:55,780 ברצונך להוסיף מחרוזת לתוך מסד נתונים. 271 00:12:55,780 --> 00:12:59,780 בדרך כלל אנחנו הולכים לטהר כי קלט, מה שאומר שיש כמה 272 00:12:59,780 --> 00:13:01,050 דמויות שהן מסוכנים. 273 00:13:01,050 --> 00:13:04,000 >> לדוגמא, במחרוזות SQL, ציטוטים אלה - 274 00:13:04,000 --> 00:13:05,000 גרשיים בודדים או במרכאות כפולות - 275 00:13:05,000 --> 00:13:05,620 אומר משהו. 276 00:13:05,620 --> 00:13:08,380 הם מתכוונים בסופו של מחרוזת זו כאן. 277 00:13:08,380 --> 00:13:13,090 וכן, אם המשתמש נותן לך אחד או ציטוט כפול, הם יכולים להיות 278 00:13:13,090 --> 00:13:18,970 מנסה להכשיל את שאילתת SQL שלך ו להוסיף כמה דברים רעים לתוכה. 279 00:13:18,970 --> 00:13:23,130 ואם הם עושים את זה, הם יכולים להשיג שליטה של ​​מסד הנתונים שלך או לעשות קצת 280 00:13:23,130 --> 00:13:24,760 דברים שאתה לא רוצה שהם יעשו. 281 00:13:24,760 --> 00:13:28,300 >> אז בגלל זה בכל פעם שאנחנו לוקחים SQL שאילתות, לטהר את הקלט לפני 282 00:13:28,300 --> 00:13:31,090 מכניס אותו לתוך מסד הנתונים, אשר אומר שאנחנו לברוח תווים אלה. 283 00:13:31,090 --> 00:13:32,590 נדבר על זה בשנייה. 284 00:13:32,590 --> 00:13:35,820 , הזרקת SQL אבל סיפור ארוך קצרה התקפה היא שאם אתה לא עושה את זה - 285 00:13:35,820 --> 00:13:39,760 אם אתה לא דואג לקלט הם נתנו לך לפני שמכניסים אותך 286 00:13:39,760 --> 00:13:46,830 מסד הנתונים, הם יכולים, כפי שאתה רואה למטה כאן, להריץ שאילתה כי, למעשה - 287 00:13:46,830 --> 00:13:52,470 הם שמו את הקוד שלהם לכאן ו הקו הזה בחר כאן למטה יבחר 288 00:13:52,470 --> 00:13:56,360 הכל מהשולחן ללא קשר של מה הסיסמה היא נתון. 289 00:13:56,360 --> 00:13:58,960 כי יש לך 1 או שווה 1. 290 00:13:58,960 --> 00:14:02,750 >> אז זה בעצם, סיפור ארוך קצר, דרך להשתלט על מסד הנתונים. 291 00:14:02,750 --> 00:14:07,570 השאלה, אם כן, בשבילכם, היא שבו בסטי עמ '7 עשו לך לטהר את כל 292 00:14:07,570 --> 00:14:10,010 התשומות לשאילתות SQL שלך? 293 00:14:10,010 --> 00:14:11,230 איפה שלב זה קרה? 294 00:14:11,230 --> 00:14:14,150 איפה אתה למנוע הזרקת SQL התקפות מקורים בעמ '7 שנקבעו? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 כן. 297 00:14:20,490 --> 00:14:21,870 >> קהל: קריפטה? 298 00:14:21,870 --> 00:14:23,120 >> ג'ייסון הירשהורן: אז זה לא היה קריפטה. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 לא לגרום לך לעשות את זה בשביל זה בעיה מסוימת שנקבע, אבל זה קורה 301 00:14:55,380 --> 00:14:58,190 בפונקצית השאילתה. 302 00:14:58,190 --> 00:15:00,930 אנחנו בעצם כתבנו אותו בשבילך, ואנחנו טיפלנו 303 00:15:00,930 --> 00:15:03,040 חיטוי תשומות בשבילך. 304 00:15:03,040 --> 00:15:07,790 אבל בשנים האחרונות, תלמידים היו לי להקליד את התשומות בעצמם. 305 00:15:07,790 --> 00:15:10,020 בסט עמ '7, הרבה מכם - 306 00:15:10,020 --> 00:15:11,270 הרשה לי לפתוח את קובץ אחד אחר. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> אז תוכל להבחין כאן הרבה אנשים, בבעיה להגדיר 7, לא קראו 309 00:15:22,590 --> 00:15:25,240 פונקציה זו על מיתרים. 310 00:15:25,240 --> 00:15:27,880 פונקציה זו, htmlspecialchars, שוב - 311 00:15:27,880 --> 00:15:31,410 מחרוזת זו אולי יש כמה דברים כי ב-HTML מתכוון למשהו אחר. 312 00:15:31,410 --> 00:15:36,160 כמו סד, מרובע, או זווית סוגר מתכוון למשהו ב-HTML. 313 00:15:36,160 --> 00:15:38,980 >> ולכן אם אתה מדפיס את זה כדי מסך או אם אתה פשוט לקחת את זה ו 314 00:15:38,980 --> 00:15:42,260 להדפיס את זה ל-HTML שלך, אולי כי לעשות משהו שאתה לא מצפה. 315 00:15:42,260 --> 00:15:45,180 אז htmlspecialchars עובר על כל אלה דמויות שיש לי מיוחד 316 00:15:45,180 --> 00:15:47,030 מפגש ובורח להם. 317 00:15:47,030 --> 00:15:51,450 אז הוא מקבל הדפיס כטקסט אתה רוצה לראות, ולא 318 00:15:51,450 --> 00:15:53,280 דופק את ה-HTML שלך. 319 00:15:53,280 --> 00:15:55,040 אנחנו קראנו לפונקציה שבכותרת. 320 00:15:55,040 --> 00:15:57,390 והרבה אנשים שכחו קורא לפונקציה זו ב 321 00:15:57,390 --> 00:15:58,700 קוד שאתה כותב. 322 00:15:58,700 --> 00:16:03,970 >> כך, לדוגמא, אם שם המניה היה סוגר זווית בזה ואתה שכחת 323 00:16:03,970 --> 00:16:06,675 כדי לקרוא לפונקציה זו, זווית ש סוגר יכול היה לזרוק את מה 324 00:16:06,675 --> 00:16:08,250 HTML שלך נראה. 325 00:16:08,250 --> 00:16:11,810 אבל קורא בפונקציה זו תימלט כי אז זה בעצם מדפיס כמו 326 00:16:11,810 --> 00:16:15,870 סוגר זווית ולא לזרוק את קוד ה-HTML שלך. 327 00:16:15,870 --> 00:16:18,760 >> מאותה הסיבה שראינו, לפעמים, לוכסנים לפני מרכאות כפולות ב 328 00:16:18,760 --> 00:16:22,310 שורת printf בגלל שאנחנו לא רוצים מרכאות כפולות במורד החוט. 329 00:16:22,310 --> 00:16:24,050 אנחנו רוצים להדפיס אותם אל המסך. 330 00:16:24,050 --> 00:16:26,920 אז כל זה הוא אותו הרעיון. 331 00:16:26,920 --> 00:16:28,260 האם זה עונה על השאלה שלך? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> קהל: סוג של. 334 00:16:33,870 --> 00:16:35,300 >> ג'ייסון הירשהורן: האם אתה יש מעקב? 335 00:16:35,300 --> 00:16:43,252 >> קהל: אני מניח שהזרקת SQL התקפה יש לעשות עם זה? 336 00:16:43,252 --> 00:16:45,720 אני לא מבין איך שתיים הם קשורים. 337 00:16:45,720 --> 00:16:47,610 למה שתעשה את specialchars? 338 00:16:47,610 --> 00:16:51,200 >> ג'ייסון הירשהורן: אוקיי, אז SQL התקפת הזרקה היא כאשר אתה מזריק 339 00:16:51,200 --> 00:16:59,180 כמה מחרוזות זדוניות לתוך של מישהו תכנית, והם פשוט לקחת את זה ולהפעיל 340 00:16:59,180 --> 00:17:01,230 שאילתת SQL עם מחרוזת אתה נתת להם. 341 00:17:01,230 --> 00:17:04,220 כפי שאתם יכולים לראות כאן למטה, כי יכול להיות בעייתי. 342 00:17:04,220 --> 00:17:07,480 אז כפי שאתה למנוע נגד שהוא אתה לוקח את המחרוזת שלהם שהם נותנים 343 00:17:07,480 --> 00:17:09,220 אתה - כך מחרוזת זה ממש כאן - 344 00:17:09,220 --> 00:17:11,240 ולך לטהר אותו. 345 00:17:11,240 --> 00:17:14,305 לך לברוח כל הדברים ש הם פוטנציאל בעייתי. 346 00:17:14,305 --> 00:17:18,626 אז אתה לא לפרש אותם כדבר זה אומר משהו. 347 00:17:18,626 --> 00:17:23,390 >> ודוגמה לכך עם HTML הוא פונקציה זו. 348 00:17:23,390 --> 00:17:26,060 אז זה אותו הרעיון כאן. 349 00:17:26,060 --> 00:17:27,579 ואני רק מראה לך אחר דוגמאות כאשר יש לך 350 00:17:27,579 --> 00:17:29,030 ראה את הרעיון הזה בעבר. 351 00:17:29,030 --> 00:17:33,913 להימלט קלט משתמש לפני ההדפסה אותו למסך או לשים אותו 352 00:17:33,913 --> 00:17:36,782 בתוך משפט SQL. 353 00:17:36,782 --> 00:17:40,790 >> קהל: אז במקרה הזה, המשתמש הוא מתעסק עם המתכנת. 354 00:17:40,790 --> 00:17:41,240 >> ג'ייסון הירשהורן: כן. 355 00:17:41,240 --> 00:17:44,800 עם כל התקפות אבטחה אלה, זה תמיד בדרך כלל למשתמש, או 356 00:17:44,800 --> 00:17:47,470 מישהו, מנסה בלגן איתך, המתכנת. 357 00:17:47,470 --> 00:17:51,038 ואלה הם דרכים שאתה יכול מניעה נגדם. 358 00:17:51,038 --> 00:17:54,280 >> קהל: אז יש לי שאלה על פונקציות חשיש. 359 00:17:54,280 --> 00:17:59,340 ב1 חידון מ2011, יש שני שאלות על אלגוריתמי Hash חד צדדיים. 360 00:17:59,340 --> 00:18:02,540 ואני רק תוהה מה זה אומר. 361 00:18:02,540 --> 00:18:03,660 >> ג'ייסון הירשהורן: אוקיי, איזה שאלון? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> קהל: כן. 364 00:18:04,705 --> 00:18:06,720 >> קהל: 1 חידון? 365 00:18:06,720 --> 00:18:08,620 >> קהל: [לא ברור]. 366 00:18:08,620 --> 00:18:09,940 זה כמו ליבון סיסמא. 367 00:18:09,940 --> 00:18:12,220 זה לא לשים דברים - 368 00:18:12,220 --> 00:18:13,440 >> ג'ייסון הירשהורן: מה דף זה היה? 369 00:18:13,440 --> 00:18:15,720 >> קהל: אני חושב שזה היה 9 או 10, או שניהם. 370 00:18:15,720 --> 00:18:16,720 >> ג'ייסון הירשהורן: בסדר, קדימה, קורט. 371 00:18:16,720 --> 00:18:17,780 אתה יכול לענות בזמן שאנחנו נראים. 372 00:18:17,780 --> 00:18:19,540 >> קהל: אני חושב שזה מדבר על ליבון סיסמא. 373 00:18:19,540 --> 00:18:24,430 כמו, כאשר מישהו נכנס סיסמא, שלך להפוך אותו למשהו מוצפן. 374 00:18:24,430 --> 00:18:27,395 זה חשיש הסיסמה, שהוא שונה מפונקציית hash כי 375 00:18:27,395 --> 00:18:30,900 מכניס משהו לשולחן חשיש. 376 00:18:30,900 --> 00:18:31,610 >> ג'ייסון הירשהורן: בוא נראה. 377 00:18:31,610 --> 00:18:33,930 תנו לי להרים את מה שהם לתת את התשובה. 378 00:18:33,930 --> 00:18:35,440 ואז לעבור את זה. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> אז קורט נתן דוגמא מצוינת של הצפנה לכיוון אחד. 381 00:18:45,400 --> 00:18:48,800 כשראינו את זה בעבר, אנחנו לקחת את הסיסמה ולהפוך - 382 00:18:48,800 --> 00:18:53,040 זוכר, בסט עמ '7, אולי מישהו יש סיסמא שרק סיסמא, 383 00:18:53,040 --> 00:18:55,300 אבל אז הוא מקבל מוצפן לתוך משהו באמת ארוך. 384 00:18:55,300 --> 00:18:59,830 ההצפנה לכיוון אחד אומרת שזה קל מאוד לעבור מדרך אחת לשנייה, אבל 385 00:18:59,830 --> 00:19:02,800 זה מאוד קשה לעבור מ אחרת בדרך חזרה. 386 00:19:02,800 --> 00:19:05,230 >> ואז אתה יודע, כשאתה בודק סיסמאות של אנשים בבעיה 387 00:19:05,230 --> 00:19:08,820 נקבע 7, היית לוקח שלהם - 388 00:19:08,820 --> 00:19:11,953 כך, למשל, אומר שהם רוצים לשנות את הסיסמה שלהם, אתה שואל אותם 389 00:19:11,953 --> 00:19:13,130 לסיסמא הישנה שלהם. 390 00:19:13,130 --> 00:19:13,910 לקח לך את הסיסמה הישנה שלהם. 391 00:19:13,910 --> 00:19:15,150 אתה מוצפן זה. 392 00:19:15,150 --> 00:19:19,240 ולאחר מכן בהשוואה שתי ההצפנות במקום unencrypting המקורי 393 00:19:19,240 --> 00:19:20,780 אחד, כי זה באמת קשה ללכת בדרך הזאת. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 כן. 396 00:19:28,035 --> 00:19:31,430 >> קהל: איך בעומק עושה הבנה של Telnet צריך להיות? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> ג'ייסון הירשהורן: אם זה הוזכר בקצרה בהרצאה, רק קצר 399 00:19:41,360 --> 00:19:43,260 הבנה. 400 00:19:43,260 --> 00:19:45,585 שוב, חזרה לתשובה לשאלתו של אבי - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 יותר הדברים לבוא, כך סביר יותר זה מה שאתה צריך להיות סופר 403 00:19:50,430 --> 00:19:51,530 מכיר אותם. 404 00:19:51,530 --> 00:19:54,730 אם הם רק באו בהרצאה, זה רק מקום אחד. 405 00:19:54,730 --> 00:19:57,180 אבל אם הם באים בהרצאה, סעיף, ולהגדיר את הבעיה, אז אתה 406 00:19:57,180 --> 00:19:58,710 כנראה צריך להיות סופר מכיר אותם. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> אז היה לי שאלה מ קודם לכן על - 409 00:20:03,960 --> 00:20:06,950 כלומר היה נפילה 2010 - 410 00:20:06,950 --> 00:20:08,520 חידון 1, בואו להרים את - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 שאלה זו על ערימות ותורים, זה מה שעשיתי לבלות מעט זמן 413 00:20:21,790 --> 00:20:23,720 מדבר על בהרצאה, אפילו למרות שאנחנו לא באמת 414 00:20:23,720 --> 00:20:26,020 אי פעם פגע בו בסעיף. 415 00:20:26,020 --> 00:20:33,190 אז שאלה זו היא נותנת לך סדרה של פקודות ושואל אותך מה 416 00:20:33,190 --> 00:20:35,560 מקבל מודפס במקרה זה. 417 00:20:35,560 --> 00:20:40,180 אז זו שאלה הגיונית לגמרי שאפשר לבקש מכם 418 00:20:40,180 --> 00:20:43,090 חבר 'ה, ולאחר מכן אתם צריכים להיות מסוגל לענות על זה. 419 00:20:43,090 --> 00:20:50,020 >> אז למה אתה לא מסתכל על זה ל30 שניות, ואז אם מישהו רוצה 420 00:20:50,020 --> 00:20:52,140 להציע את התשובות אליי, ו אז לעבור את זה. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 בסדר, שיש לו תשובה לשאלה 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 כן. 425 00:21:33,860 --> 00:21:40,250 >> קהל: האם זה 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> ג'ייסון הירשהורן: נכון. 427 00:21:40,780 --> 00:21:42,570 27 הוא 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 אז בואו נסתכל על איך הגענו לזה. 429 00:21:44,510 --> 00:21:48,930 >> ראשית, אנחנו אומרים, אם ים הוא תור, מה מקבל מודפס? 430 00:21:48,930 --> 00:21:53,360 אז q הוא ראשון, את הראשון. 431 00:21:53,360 --> 00:21:54,680 ראינו את זה לפני. 432 00:21:54,680 --> 00:21:56,820 ראינו את התמונה של האנשים מחכה באפל 433 00:21:56,820 --> 00:21:58,400 חנות כדי לקנות מוצר כלשהו. 434 00:21:58,400 --> 00:22:00,900 האנשים הראשונים בהם האנשים יוצאים הראשונים. 435 00:22:00,900 --> 00:22:02,940 הדברים הראשונים בתור הם את הדברים הראשונים. 436 00:22:02,940 --> 00:22:08,320 >> אז אם אנחנו דוחפים משהו לתוך תור, אתה דוחף את 1, אז אנחנו קופצים 1. 437 00:22:08,320 --> 00:22:09,630 פופ רק אומר להוציא. 438 00:22:09,630 --> 00:22:11,080 במקרה זה, פשוט לקחת משהו. 439 00:22:11,080 --> 00:22:12,910 אנחנו לוקחים את הראשון דבר, זה 1. 440 00:22:12,910 --> 00:22:15,200 אז אנחנו נשים את דברים שאנחנו להדפיס את כאן. 441 00:22:15,200 --> 00:22:18,110 כבר לא זה בתורנו. 442 00:22:18,110 --> 00:22:23,500 >> ואז אנחנו דוחפים ב2 ו 3, ו אנחנו קופצים מהדבר הראשון. 443 00:22:23,500 --> 00:22:25,030 שוב, בגלל שזה תור. 444 00:22:25,030 --> 00:22:33,320 אז אנחנו מקבלים 2, אז אנחנו שמים על זה 3 וקוראים לפופ שוב. 445 00:22:33,320 --> 00:22:34,980 3 שלנו הוא ראשון. 446 00:22:34,980 --> 00:22:40,940 >> ואז הייתה לנו חבורה של שלמה דברים אחרים ושיחת פופ. 447 00:22:40,940 --> 00:22:43,740 אבל שוב, שכן מדובר בתור, ראשון ב, יוצא ראשון. 448 00:22:43,740 --> 00:22:45,980 אנחנו לוקחים את הדבר הראשון שאי פעם היה מכניס פנימה 449 00:22:45,980 --> 00:22:47,100 זה 3 שלנו. 450 00:22:47,100 --> 00:22:50,060 וגם, במקרה הזה, אנחנו לא תדאגו על כל אותם דברים אחרים. 451 00:22:50,060 --> 00:22:51,310 אז זה אם זה תור. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 כל שאלות על תור? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> הערימה של שונה. 456 00:23:04,040 --> 00:23:07,782 מה היא ראשי התיבות יש לנו להבנת ערימה? 457 00:23:07,782 --> 00:23:08,750 >> קהל: אחרון נכנס, ראשון יוצא. 458 00:23:08,750 --> 00:23:10,130 >> ג'ייסון הירשהורן: LIFO, אני חושב. 459 00:23:10,130 --> 00:23:11,830 האחרון נכנס, ראשון יוצא. 460 00:23:11,830 --> 00:23:15,630 אז ראינו דוגמא של מחסנית מגשים בחדר אוכל. 461 00:23:15,630 --> 00:23:17,590 לא משנה מה הוא מגש על גבי מקבל הרים. 462 00:23:17,590 --> 00:23:19,550 ואז אם מגשים חדשים מגיעים ב, הם מקבלים לשים על ראש. 463 00:23:19,550 --> 00:23:21,070 ואז מה הוא על עליון מקבל הרים. 464 00:23:21,070 --> 00:23:24,010 אז אלה מגשים בכח התחתון להישאר שם לזמן מה. 465 00:23:24,010 --> 00:23:28,480 >> במקרה כזה, שוב, אנחנו לצייר את זה. 466 00:23:28,480 --> 00:23:31,770 אנחנו דוחפים על אחד, כך שאף אחד הוא ראשון בתור. 467 00:23:31,770 --> 00:23:32,790 ואנחנו קופצים משהו כבוי. 468 00:23:32,790 --> 00:23:37,280 ויש רק דבר אחד שם, כך אנחנו עוברים 1 כאן למטה. 469 00:23:37,280 --> 00:23:41,940 ואז אנחנו שמים על 2 ו -3 ו אנחנו קופצים משהו כבוי. 470 00:23:41,940 --> 00:23:43,650 >> אבל שוב, שכן מדובר בתור - 471 00:23:43,650 --> 00:23:45,010 או שזה ערימה, ולא - 472 00:23:45,010 --> 00:23:47,480 אנחנו לוקחים את כל מה שהיה במקום האחרון. 473 00:23:47,480 --> 00:23:49,300 לא משנה מה הוא באחרון יוצא ראשון. 474 00:23:49,300 --> 00:23:50,890 ו -3 הוא שבעבר. 475 00:23:50,890 --> 00:23:56,110 אז אנחנו שמים 3 שם למטה, ולאחר מכן אנחנו שמים על 3 אחר ואנחנו 476 00:23:56,110 --> 00:23:57,360 צץ משהו שוב. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 לבסוף, אנחנו שמים על 4, 5, 6, ו -7, והנה אנחנו קופצים. 479 00:24:05,710 --> 00:24:09,060 ובגלל שזה ערימה, אנחנו לוקחים כל מה ששם שבעברה ולכתוב 480 00:24:09,060 --> 00:24:10,240 כי כאן למטה. 481 00:24:10,240 --> 00:24:14,256 אז אנחנו בסופו של דבר עם 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 האם יש למישהו שאלות על ערימות או תורים, או דוגמא זו? 484 00:24:21,380 --> 00:24:27,540 485 00:24:27,540 --> 00:24:29,030 >> על אישור. 486 00:24:29,030 --> 00:24:30,440 בואו נחזור לרשימה של נושאים. 487 00:24:30,440 --> 00:24:32,510 לא ככה, בדרך זו. 488 00:24:32,510 --> 00:24:34,280 איזה עוד שאלות יש לאנשים? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> קהל: אני לא יודע כמה חשוב זה הוא, אבל אני היה מבולבל 491 00:24:39,480 --> 00:24:43,550 הבדל בין סוגים שונים של שפות כמו סימון, הידור, 492 00:24:43,550 --> 00:24:45,980 פירש. 493 00:24:45,980 --> 00:24:46,750 >> ג'ייסון הירשהורן: זה שאלה טובה. 494 00:24:46,750 --> 00:24:50,500 אני חושב שזה חשוב במידה מסוימת, אז בואו נלך על זה במהירות. 495 00:24:50,500 --> 00:24:56,850 השפות הגדולות שראינו עד כה הם C, PHP ו-JavaScript, במונחים 496 00:24:56,850 --> 00:24:58,330 של שפות תכנות. 497 00:24:58,330 --> 00:25:01,060 HTML, כפי שציינת, אינו שפת תכנות. 498 00:25:01,060 --> 00:25:02,260 זה שפת סימון. 499 00:25:02,260 --> 00:25:05,700 ואז יש לנו ב-CSS, שגם הוא לא שפת תכנות. 500 00:25:05,700 --> 00:25:10,330 >> כן, אנו רואים SQL, וזה לא שפת תכנות או. 501 00:25:10,330 --> 00:25:15,695 אז SQL מאפשר לך לכתוב שאילתות למסד נתונים. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML הוא שפת סימון. 504 00:25:20,140 --> 00:25:22,570 היא מגדירה איך דברים בנויים. 505 00:25:22,570 --> 00:25:26,250 ו-CSS מאפשר לך לעצב את הדברים. 506 00:25:26,250 --> 00:25:28,520 זה כנראה המידה על מה שאתה צריך לדעת על שלושה אלה. 507 00:25:28,520 --> 00:25:32,920 אבל זה יותר מעניין לדמות את ההבדלים בין C, PHP, 508 00:25:32,920 --> 00:25:34,320 ו-JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> אז אחד ההבדלים הגדולים ביותר, כפי שציינת, הוא איך הם 510 00:25:37,900 --> 00:25:40,550 מלוקט, או מה שלא שווה הערך הוא. 511 00:25:40,550 --> 00:25:42,580 אז C הוא הידור. 512 00:25:42,580 --> 00:25:43,950 אנחנו תמיד היינו רצים מהדר. 513 00:25:43,950 --> 00:25:51,100 ולאחר מכן שבו הן הטעויות שלך כאשר אתה מפעיל את מהדר C? 514 00:25:51,100 --> 00:25:55,740 איפה זה יראה לכם את שגיאות בקוד שלך? 515 00:25:55,740 --> 00:25:57,860 איך אתה יודע שיש שגיאה בקוד שלך ב-C? 516 00:25:57,860 --> 00:25:58,770 >> קהל: זה מראה לך בטרמינל. 517 00:25:58,770 --> 00:26:00,410 >> ג'ייסון הירשהורן: זה מראה לך ב מסוף כאתה קומפילציה. 518 00:26:00,410 --> 00:26:02,620 ואם יש שגיאות, זה לא ממש לעבד אותו. 519 00:26:02,620 --> 00:26:04,830 אז אתה יודע שיש שגיאות תקין משם, לפני זמן, לפני שאתה 520 00:26:04,830 --> 00:26:06,050 אפילו להריץ הקוד שלך. 521 00:26:06,050 --> 00:26:10,010 >> כמובן, אתה עלול להפעיל את הקוד שלך ו לקבל אשמת פילוח, אבל זה היה 522 00:26:10,010 --> 00:26:12,350 כנראה בגלל שאתה עשית כמה דבר היגיון טיפשי. 523 00:26:12,350 --> 00:26:15,770 אבל הקוד שלך עם טכני הכל נכון ויכול לרוץ. 524 00:26:15,770 --> 00:26:18,210 אז קוד C מקבל מלוקט מבעוד מועד. 525 00:26:18,210 --> 00:26:19,760 מה לגבי קוד PHP? 526 00:26:19,760 --> 00:26:21,430 איפה הייתם שגיאות בקוד PHP שלך? 527 00:26:21,430 --> 00:26:23,170 איך אתה יודע שהייתה לך טעויות בקוד PHP שלך? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> קהל: זמן הפעלה? 530 00:26:28,430 --> 00:26:31,230 >> ג'ייסון הירשהורן: כן, כאשר אתה יהיה להפעיל אותו, היית להפעיל את 531 00:26:31,230 --> 00:26:32,180 קוד ה-PHP בחלק האחורי. 532 00:26:32,180 --> 00:26:33,300 ואז היית להציג מסך. 533 00:26:33,300 --> 00:26:35,260 אתה יכול לראות כמה דברים בראש, אבל אז היית רואה, כאילו, כמה 534 00:26:35,260 --> 00:26:36,710 שולחן כתום, מכוער. 535 00:26:36,710 --> 00:26:41,420 וזה ייתן לך מספר קו ו למשל, בלה, בלה, בלה, את החומר הזה 536 00:26:41,420 --> 00:26:42,400 לא עבד. 537 00:26:42,400 --> 00:26:48,730 >> אז PHP מתפרש שורה אחרת שורה והוצא להורג בשרת. 538 00:26:48,730 --> 00:26:52,380 ואז התוצאה היא נשלח אליך. 539 00:26:52,380 --> 00:26:53,340 גדול. 540 00:26:53,340 --> 00:26:56,410 להורג בשורת השרת אחר שורה ולאחר מכן נשלח אליך. 541 00:26:56,410 --> 00:26:59,010 ואם יש שגיאה, זה ישלח השגיאה, אבל אולי יש לך לך 542 00:26:59,010 --> 00:27:00,400 קיבל כמה דברים מבעוד מועד. 543 00:27:00,400 --> 00:27:02,730 אז כמה זה אולי עבד, אבל מאוחר יותר, כמה דברים שכבר אין לי 544 00:27:02,730 --> 00:27:03,890 לא עבד. 545 00:27:03,890 --> 00:27:04,600 >> מה עם JavaScript? 546 00:27:04,600 --> 00:27:06,065 איפה ראה את שגיאות JavaScript? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 בעמ '8 שנקבע, כאשר יש לך שגיאה, איך אתה יודע? 549 00:27:12,870 --> 00:27:13,710 איפה זה יופיע? 550 00:27:13,710 --> 00:27:15,900 >> קהל: במסוף, בתחתית. 551 00:27:15,900 --> 00:27:17,650 >> ג'ייסון הירשהורן: ב קונסולה, בתחתית. 552 00:27:17,650 --> 00:27:20,160 זה ייתן לך גם מספר קו, וזה היה 553 00:27:20,160 --> 00:27:21,330 תופיע בתחתית. 554 00:27:21,330 --> 00:27:24,320 וJavaScript לא בוצע בשרת. 555 00:27:24,320 --> 00:27:27,800 JavaScript נשלח למחשב שלך, ואז כשהגיע זמן להפעיל את 556 00:27:27,800 --> 00:27:31,670 JavaScript, JavaScript היה להפעיל שורה אחרת שורה על 557 00:27:31,670 --> 00:27:33,410 לקוח, בצד שלך. 558 00:27:33,410 --> 00:27:35,570 לא בשרת, בצד הלקוח. 559 00:27:35,570 --> 00:27:37,690 >> ובאופן דומה, זה היה להפעיל שורה אחרת שורה. 560 00:27:37,690 --> 00:27:40,630 ואז כשאתה מקבל הודעת שגיאה, זה היה מופיע בתחתית. 561 00:27:40,630 --> 00:27:44,580 באופן דומה ל-PHP, חלק מזה אולי לבצע, ולאחר מכן אתה יכול לקבל 562 00:27:44,580 --> 00:27:46,310 שגיאה בשלב מאוחר יותר. 563 00:27:46,310 --> 00:27:49,910 >> כמו כן, שלא כמו PHP קטן, אם יש לך שגיאת JavaScript - 564 00:27:49,910 --> 00:27:52,780 אומר שלא עשה לך את הזכות קוד לתיבת התראה - 565 00:27:52,780 --> 00:27:55,800 אתה יכול להמשיך לרוץ בתכנית שלך. 566 00:27:55,800 --> 00:27:58,180 תיבת ההתראה לא תעבוד, אבל התכנית שלך תהיה בסדר. 567 00:27:58,180 --> 00:28:00,490 רק אולי פונקציה שתיכשל. 568 00:28:00,490 --> 00:28:02,610 >> אז יש כמה מהגדול ביותר הבדל במונחים של איך אלה 569 00:28:02,610 --> 00:28:09,230 שפות, או איך את קוד תכנות אתה כותב מוערכים באמת. 570 00:28:09,230 --> 00:28:11,970 יש גם הבדלים נוספים ב תנאי - ההבדל הגדול ביותר 571 00:28:11,970 --> 00:28:15,590 שראינו במונחים של משתנים בשפות השונות. 572 00:28:15,590 --> 00:28:19,660 אז מישהו יכול לתת לי את הבדל בין משתנים 573 00:28:19,660 --> 00:28:20,910 בשלוש שפות? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 כן. 576 00:28:25,770 --> 00:28:27,130 >> קהל: ב C, שהם הקליד בקפדנות. 577 00:28:27,130 --> 00:28:28,550 בשני האחרים, שהם הקליד באופן רופף. 578 00:28:28,550 --> 00:28:30,040 >> ג'ייסון הירשהורן: ו מה זה אומר? 579 00:28:30,040 --> 00:28:31,775 >> קהל: זה ב-C, אתה צריך להצהיר על הסוג של משתנה כאשר 580 00:28:31,775 --> 00:28:36,140 אתה מצהיר משתנה, כמו interbool או char. 581 00:28:36,140 --> 00:28:36,990 >> ג'ייסון הירשהורן: מצוין. 582 00:28:36,990 --> 00:28:39,780 ב-C, תמיד היו לנו לשים סוג של משתנה. 583 00:28:39,780 --> 00:28:41,360 ואנחנו לא באמת יכולים לערבב בין סוגים. 584 00:28:41,360 --> 00:28:45,750 אתה לא יכול לעשות מספר שלם בתוספת מחרוזת. 585 00:28:45,750 --> 00:28:48,760 אבל כפי שראינו בשני אלה שפות, אתה בעצם יכול לערבב סוגים, 586 00:28:48,760 --> 00:28:51,230 ואתה אף פעם לא באמת צריך לתת משהו מסוג, אף פעם. 587 00:28:51,230 --> 00:28:53,905 >> אז איך אנחנו יודעים דברים משתנים ב-PHP ו-JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> קהל: ב PHP, הם מתחילים עם סימן דולר. 590 00:28:58,685 --> 00:29:00,810 ב-JavaScript, כאשר אתה מצהיר אותם, אתה צריך שתהיה לי בר. 591 00:29:00,810 --> 00:29:01,760 >> ג'ייסון הירשהורן: נכון. 592 00:29:01,760 --> 00:29:03,535 אז ב-PHP, הם מתחילים עם סימן דולר. 593 00:29:03,535 --> 00:29:06,300 ב-JavaScript, הם צריכים שיהיו להם לברים, למרות שלפעמים הם לא ממש 594 00:29:06,300 --> 00:29:07,520 צריך שיהיה לי בר. 595 00:29:07,520 --> 00:29:09,240 אבל זה נכון. 596 00:29:09,240 --> 00:29:13,300 >> אז זה הבדל גדול בין משתנים. 597 00:29:13,300 --> 00:29:16,140 אני חושב שאלו הם ככל הנראה, את החלק העליון של הראש שלי, שתי הגדול ביותר 598 00:29:16,140 --> 00:29:19,250 הבדלים בין אלה שלוש שפות. 599 00:29:19,250 --> 00:29:20,594 אבל, כן. 600 00:29:20,594 --> 00:29:24,720 >> קהל: ואת ההיקף של משתני C מוגבל לסוגריים המסולסלים, 601 00:29:24,720 --> 00:29:27,760 שבו האחרים, זה בדיוק כמו, הוא מת אם זה בפונקציה בלבד, 602 00:29:27,760 --> 00:29:29,650 אבל חוץ מזה, שלמענם - 603 00:29:29,650 --> 00:29:30,240 >> ג'ייסון הירשהורן: נכון. 604 00:29:30,240 --> 00:29:36,780 אז היקף הוא מעט שונה בC. כמו אתה זוכר, סוגריים מסולסלים מגדירים 605 00:29:36,780 --> 00:29:37,710 ההיקף של משתנים. 606 00:29:37,710 --> 00:29:41,680 אז אם זה הוגדר בתוך אם מצב, שנמצא בתוך ללולאה, 607 00:29:41,680 --> 00:29:44,290 משתנה קיים שם בלבד. 608 00:29:44,290 --> 00:29:47,760 >> ב-JavaScript, אם משתנה מוגדר בתוך אם מצב - 609 00:29:47,760 --> 00:29:50,750 בתוך הלולאה for - זה יהיה קיים עבור תפקוד זה, אבל זה לא יהיה קיים 610 00:29:50,750 --> 00:29:52,330 מחוץ לתפקיד זה. 611 00:29:52,330 --> 00:29:59,250 אז ההיקף הוא קצת יותר גמיש ב-JavaScript ו-PHP. 612 00:29:59,250 --> 00:30:00,500 זה עונה על השאלה? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 בסדר, כל שאלה אחרת? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 אנחנו יכולים לעשות עוד ארבע דקות שאלות, ולאחר מכן 617 00:30:08,865 --> 00:30:10,740 אנחנו קופצים לקידוד. 618 00:30:10,740 --> 00:30:12,645 >> קהל: אנחנו יכולים ללכת לאייאקס ולדבר על מה זה? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> ג'ייסון הירשהורן: שוחח עם אבי לאחר. 621 00:30:17,800 --> 00:30:19,170 הוא שאל את השאלה הזאת קודם לכן. 622 00:30:19,170 --> 00:30:19,630 >> קהל: רע שלי. 623 00:30:19,630 --> 00:30:20,880 >> ג'ייסון הירשהורן: אין בעיה. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> קהל: מה זה בדיוק JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> ג'ייסון הירשהורן: מהו JSON? 628 00:30:28,900 --> 00:30:29,930 מה השאלה שלך? 629 00:30:29,930 --> 00:30:31,350 >> קהל: רק ממש מהר, ההבדל בין 630 00:30:31,350 --> 00:30:32,870 הדפסה והד ב-PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> ג'ייסון הירשהורן: למה שלא google ההבדל בין ההדפסה והד? 633 00:30:38,490 --> 00:30:40,670 הבדל קטן. 634 00:30:40,670 --> 00:30:42,020 לא כל כך גדול של עסקה. 635 00:30:42,020 --> 00:30:44,960 אבל אתה בהחלט צריך google את זה, ושאתן לך תשובה טובה. 636 00:30:44,960 --> 00:30:46,910 >> JSON, כנראה גדול יותר של עסקה. 637 00:30:46,910 --> 00:30:49,300 מעמדים לסימון אובייקט JavaScript. 638 00:30:49,300 --> 00:30:51,865 וכשראינו בשימוש JSON? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 מתי ראית את - 641 00:30:55,900 --> 00:30:57,400 למה שאתה אפילו יודע את המילה JSON? 642 00:30:57,400 --> 00:30:59,140 כאשר יש לך ראית את זה? 643 00:30:59,140 --> 00:31:02,200 >> קהל: כאשר אנחנו מקבלים מחירי מניות למימון. 644 00:31:02,200 --> 00:31:02,690 >> ג'ייסון הירשהורן: אז אתה ראית זה כאשר אתה מקבל 645 00:31:02,690 --> 00:31:04,830 מחירי מניות למימון. 646 00:31:04,830 --> 00:31:07,340 ולמה אתה לא רואה את זה? 647 00:31:07,340 --> 00:31:09,000 >> קהל: כשהיינו באחזור את כל המידע ש 648 00:31:09,000 --> 00:31:10,400 בא בפורמט זה. 649 00:31:10,400 --> 00:31:11,700 >> ג'ייסון הירשהורן: אז היית מקבל - 650 00:31:11,700 --> 00:31:12,540 כן. 651 00:31:12,540 --> 00:31:13,020 קדימה. 652 00:31:13,020 --> 00:31:15,210 >> קהל: [לא ברור] מידע מתוך אובייקט? 653 00:31:15,210 --> 00:31:17,170 >> ג'ייסון הירשהורן: שני אלה יחד היא התשובה 654 00:31:17,170 --> 00:31:18,100 אנחנו מחפשים. 655 00:31:18,100 --> 00:31:21,240 אתה רוצה מידע מ דף אינטרנט אחר זה. 656 00:31:21,240 --> 00:31:23,790 והיית מקווה שכאשר אתה מקבל את המידע הזה, זה יהיה 657 00:31:23,790 --> 00:31:26,720 שהוצג לך בסוג כלשהו של פורמט סטנדרטי. 658 00:31:26,720 --> 00:31:29,530 >> כולם בוודאי מכיר עם ערכים מופרדים בפסיקים. 659 00:31:29,530 --> 00:31:32,970 ניתן לייצא את גיליון אלקטרוני או Excel כל סוג של גיליון אלקטרוני כרשימה של 660 00:31:32,970 --> 00:31:34,540 ערכים מופרדים בפסיקים. 661 00:31:34,540 --> 00:31:37,370 והפסיקים כל מחלקים תחומים השונים. 662 00:31:37,370 --> 00:31:38,780 JavaScript סימון אובייקט - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 הוא סוג אחר של אחיד פריסתם של דברים. 665 00:31:43,540 --> 00:31:49,010 וזה לעתים קרובות איך לאחזר מידע משאילתות אייאקס. 666 00:31:49,010 --> 00:31:51,770 >> אז במקרה הזה, יש לנו את זה מאתר יאהו. 667 00:31:51,770 --> 00:31:53,600 הם חוזרים לדברים שלנו באובייקט JSON. 668 00:31:53,600 --> 00:31:56,790 ואז אנחנו יודעים, כי זה סטנדרטי, מה זה 669 00:31:56,790 --> 00:31:57,250 הולך להיראות. 670 00:31:57,250 --> 00:32:00,760 אז אנחנו יכולים לחזר באמצעות המערך שחזר אלינו, המערך של 671 00:32:00,760 --> 00:32:03,180 אובייקטים שחזרו אלינו. 672 00:32:03,180 --> 00:32:07,770 >> אנחנו כנראה צריכים לדעת את המפתחות, אבל הם בדרך כלל לתת לך 673 00:32:07,770 --> 00:32:11,370 תיעוד באתר כאשר אתה שולף כמה JSON 674 00:32:11,370 --> 00:32:12,170 סימון עבורם. 675 00:32:12,170 --> 00:32:16,940 כמו כן, אתה יכול JSON לקודד אובייקט. 676 00:32:16,940 --> 00:32:19,900 אז יש פונקציה JSON מדגיש לקודד. 677 00:32:19,900 --> 00:32:22,970 ואז אתה יכול לקחת אובייקט ש שיצרת, JSON לקודד אותו, ו 678 00:32:22,970 --> 00:32:26,390 להעביר את זה הלאה למשהו דבר אחר, אם אתה רוצה. 679 00:32:26,390 --> 00:32:30,770 ולפענח JSON קיים גם עבור מטרה דומה, או עבור 680 00:32:30,770 --> 00:32:31,780 המטרה ההפוכה. 681 00:32:31,780 --> 00:32:36,570 >> קהל: האם אנחנו צריכים לדעת קידוד לשולחנות חשיש וניסיונות? 682 00:32:36,570 --> 00:32:40,300 או שאנחנו פשוט צריכים להבין איך שהם רגילים, מושגית? 683 00:32:40,300 --> 00:32:44,570 >> ג'ייסון הירשהורן: אז, להרים את היד שלך אם עשית את שולחן חשיש עבור p להגדיר 4 684 00:32:44,570 --> 00:32:46,920 עם רשימת קישור. 685 00:32:46,920 --> 00:32:47,960 או p להגדיר 5. 686 00:32:47,960 --> 00:32:49,060 אז זה היה רוב מכריע של אנשים. 687 00:32:49,060 --> 00:32:50,390 P להגדיר 5, 6, מי יודע. 688 00:32:50,390 --> 00:32:51,240 לפני זמן רב. 689 00:32:51,240 --> 00:32:54,140 >> אז הרוב המכריע שלך עשה חשיש שולחנות עם קישור ברשימות. 690 00:32:54,140 --> 00:32:56,525 ובגלל זה כנראה יותר גישה נפוצה, ובגלל שאנחנו בילינו 691 00:32:56,525 --> 00:32:59,460 הרבה זמן לעשות את קישור רשימות וחשיש שולחנות, אתה כנראה צריך להיות 692 00:32:59,460 --> 00:33:02,600 די מכיר איך קוד שולחן חשיש ורשימת קישור. 693 00:33:02,600 --> 00:33:05,060 >> ואם אתם חושבים לחזור לבעיה ש נקבע, זה לא היה באמת 694 00:33:05,060 --> 00:33:06,410 קשה כמו שציפית. 695 00:33:06,410 --> 00:33:08,120 והיה הרבה פחות קוד ממה שציפית. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 הייתי אומר שאתה צריך לדעת איך ל קוד טבלת גיבוב או רשימת קישור. 698 00:33:14,650 --> 00:33:17,010 לא שהיית שאלת את זה, בהכרח, אבל אתה צריך 699 00:33:17,010 --> 00:33:19,730 בוודאי יודע את זה. 700 00:33:19,730 --> 00:33:21,860 >> כמו כן, אם אתה מסתכל דרך חידוני עבר, יש כבר הרבה 701 00:33:21,860 --> 00:33:26,450 שאלות על כתיבת פונקציות על קישור רשימות או רשימות כפליים למדד. 702 00:33:26,450 --> 00:33:28,370 נראה כי כדי לבוא שנה אחת בכל. 703 00:33:28,370 --> 00:33:31,940 נכון להכניס ברשימת קישור, נכון למחוק מרשימת קישור, נכון להכניס 704 00:33:31,940 --> 00:33:33,610 לרשימה כפליים צמודה, וכולי. 705 00:33:33,610 --> 00:33:36,170 אז זה, אני מרגיש די בנוח אומר שאתה צריך לדעת את זה. 706 00:33:36,170 --> 00:33:40,600 >> לניסיון, הייתי אומר שאתה צריך בהחלט יודע איך זה עובד, ואולי 707 00:33:40,600 --> 00:33:43,570 לתת כמה pseudocode לאיך לקוד זה ולהגדיר אותו. 708 00:33:43,570 --> 00:33:45,600 אבל זה לא יהיה הדבר הכי גרוע ב העולם אם אתה לא יודע איך 709 00:33:45,600 --> 00:33:48,870 קוד זה ב C. זה יהיה נהדר אם אתה ידעתי איך קוד זה ב-C, אבל אני חושב 710 00:33:48,870 --> 00:33:52,516 כנראה pseudocode בשביל לנסות היית להיות הכי היית צריך 711 00:33:52,516 --> 00:33:53,270 לדעת בלנסות. 712 00:33:53,270 --> 00:33:53,930 >> קהל: אשראי נוסף? 713 00:33:53,930 --> 00:33:58,290 >> ג'ייסון הירשהורן: ואותו דבר עם, אם אנחנו להיכנס לעצי חיפוש בינארי, ייתכן 714 00:33:58,290 --> 00:34:02,320 צריך - ושראית בעבר, שעשינו הרבה - אתה יודע איך 715 00:34:02,320 --> 00:34:03,380 עץ החיפוש בינארי עובד. 716 00:34:03,380 --> 00:34:07,150 אתה כנראה צריך להיות מסוגל להגדיר אחד מהם בקוד פסאודו. 717 00:34:07,150 --> 00:34:10,510 אבל מכיוון שהרוב המכריע של אנשים לא עשה את זה על הבעיה 718 00:34:10,510 --> 00:34:13,880 קבוצה, אני הייתי אומר שזה כנראה פחות חשוב כי אתה יודע איך קוד 719 00:34:13,880 --> 00:34:17,380 ולהגדיר את עץ כזה. 720 00:34:17,380 --> 00:34:19,679 >> יש עוד שאלות? 721 00:34:19,679 --> 00:34:23,234 כמו כן, אנו יכולים לשאול אותם בכל כמו שאנחנו הולכים דרך כמה בעיות. 722 00:34:23,234 --> 00:34:27,170 אוקיי, אנחנו הולכים הלאה. 723 00:34:27,170 --> 00:34:28,230 דלג על שקופית זו לעת עתה. 724 00:34:28,230 --> 00:34:32,449 >> אם כבר מדברים על עצים, כי הוא ראשון שאלה יש לי בשבילכם. 725 00:34:32,449 --> 00:34:34,270 מכיוון שמדובר בבעיה. 726 00:34:34,270 --> 00:34:37,380 הייתי אומר שזה סביר מאוד להניח שתצליח מקבל בעיה כזאת על החידון שלך 727 00:34:37,380 --> 00:34:43,659 מבקש ממך הקוד איזה סוג של הכנס, למחוק, חיפוש, לסוג אחד 728 00:34:43,659 --> 00:34:45,270 של מבנה הנתונים שראינו. 729 00:34:45,270 --> 00:34:47,719 >> שעולה בכל שנה ובילינו הרבה זמן המחצית השנייה של 730 00:34:47,719 --> 00:34:50,270 סמסטר הולך על סוגי נתונים אלה. 731 00:34:50,270 --> 00:34:54,170 אז עכשיו, אני כבר הוגדר צומת בעץ חיפוש בינארי. 732 00:34:54,170 --> 00:34:58,490 ומה הייתי רוצה שתעשה הוא נתון עץ חיפוש בינארי שמתחיל 733 00:34:58,490 --> 00:35:05,450 בשורש כוכב הצומת הזו, להשלים את יישום של הפונקציה להלן, 734 00:35:05,450 --> 00:35:07,430 אשר קורה להיות פונקצית חיפוש. 735 00:35:07,430 --> 00:35:09,260 ולעשות את זה עם ובלי recursions. 736 00:35:09,260 --> 00:35:10,860 >> אז אני רוצה שתכתוב את שתי פונקציות. 737 00:35:10,860 --> 00:35:14,310 אחד עושה את זה עם רקורסיה, אחד עושה את זה ללא רקורסיה. 738 00:35:14,310 --> 00:35:18,050 ואין להניח כי השורש יהיה שאינו ריק. 739 00:35:18,050 --> 00:35:21,790 אז אנחנו מחפשים את המספר השלם i ב העץ מתחיל בשורש, ואנחנו צריכים 740 00:35:21,790 --> 00:35:25,280 לכתוב את זה באופן רקורסיבי ואיטרטיבי. 741 00:35:25,280 --> 00:35:26,300 כן. 742 00:35:26,300 --> 00:35:29,730 >> קהל: אז אתה רוצה אותנו להחזר אמיתי אם אנחנו מוצאים אותו, ושקר אם 743 00:35:29,730 --> 00:35:30,480 לא מוצא את זה. 744 00:35:30,480 --> 00:35:32,160 >> ג'ייסון הירשהורן: איך אתה יודע? 745 00:35:32,160 --> 00:35:33,100 איך אתה יודע את זה? 746 00:35:33,100 --> 00:35:36,500 >> קהל: אני שואל ראשון, אבל הייתי בהנחה, כי זה אומר בול ב 747 00:35:36,500 --> 00:35:37,490 תחילת הפונקציה. 748 00:35:37,490 --> 00:35:37,880 >> ג'ייסון הירשהורן: נכון. 749 00:35:37,880 --> 00:35:41,020 זה אומר בול, אז אני אפילו לא צריך להגיד לך מה אני מצפה ממך לחזור 750 00:35:41,020 --> 00:35:41,350 כי זה כתוב שם. 751 00:35:41,350 --> 00:35:42,280 אבל זה נכון. 752 00:35:42,280 --> 00:35:43,510 לחזור, אמת או שקר. 753 00:35:43,510 --> 00:35:47,630 >> אז לפני שתתחיל, אני ממליץ, אם אתה לא מכיר 754 00:35:47,630 --> 00:35:51,300 עצי חיפוש בינארי, ציור במהירות תמונה שלו כדי לקבל שלך 755 00:35:51,300 --> 00:35:51,750 הבנה, נכון. 756 00:35:51,750 --> 00:35:54,720 זה גם יעזור לך בעת הכתיבה הקוד שלך ולבדוק אותו. 757 00:35:54,720 --> 00:35:57,830 שוב, גם אין לך כל כך הרבה זמן על החידון כדי לעשות את כל הדברים 758 00:35:57,830 --> 00:35:59,030 אנו מבקשים מכם לעשות. 759 00:35:59,030 --> 00:36:02,350 אז כתיבת קוד פסאודו מאוד עוזר. 760 00:36:02,350 --> 00:36:05,310 >> ואנחנו בדרך כלל נותנים כ - 761 00:36:05,310 --> 00:36:06,820 אם pseudocode הוא מושלם נכון, זה 762 00:36:06,820 --> 00:36:08,910 בדרך 50% על שאלה. 763 00:36:08,910 --> 00:36:11,410 אז זה לא שלטון חזק ומהר, אבל אם אתה פשוט כותב pseudocode וזה 764 00:36:11,410 --> 00:36:13,460 נכון, זה בדרך כלל 50%. 765 00:36:13,460 --> 00:36:14,970 אז תמיד הייתי ממליץ - 766 00:36:14,970 --> 00:36:16,870 אם אתם לחוצים בזמן, או אפילו אם אתה רק מנסה להבין את זה - 767 00:36:16,870 --> 00:36:18,290 החל מpseudocode. 768 00:36:18,290 --> 00:36:24,840 ולבסוף, אם אתה יכול לכתוב את זה כל ב-C, זה יהיה פנטסטי. 769 00:36:24,840 --> 00:36:29,010 >> אז בואו לקחת שלוש דקות לעבוד על תכנית זו. 770 00:36:29,010 --> 00:36:33,120 ואז אנחנו הולכים לכתוב pseudocode על זה רק פעם אחת, ולאחר מכן 771 00:36:33,120 --> 00:36:35,455 אנחנו הולכים לקוד זה באופן רקורסיבי ולאחר מכן איטרטיבי. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> אם יש לך שאלות, מרגיש חופשי להרים את היד שלך. 774 00:37:30,760 --> 00:37:34,270 שמח להסתובב ולענות עליהן לפני שאנחנו מתחילים כקבוצה. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> תן לנו לחדש, ואנחנו הולכים pseudocode הגרסה רקורסיבית של 777 00:39:27,200 --> 00:39:29,830 זה, ואז תוכל לקודד אותו. 778 00:39:29,830 --> 00:39:33,380 אז פונקציה רקורסיבית צריך שני דברים. 779 00:39:33,380 --> 00:39:35,960 זו יכולה להיות שאלה ש אתה יכול להישאל. 780 00:39:35,960 --> 00:39:37,950 צריך שני דברים. 781 00:39:37,950 --> 00:39:40,610 מי יכול להרים את ידם ויגיד לי מה שני דברים רקורסיבית 782 00:39:40,610 --> 00:39:43,680 פונקציה צריכה? 783 00:39:43,680 --> 00:39:45,030 על פי הגדרה יש לו שני דברים. 784 00:39:45,030 --> 00:39:46,280 מה הם שני הדברים האלה? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 ידיים חדשות. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 כן, אלדן. 789 00:39:56,390 --> 00:39:57,980 >> קהל: אז אני לא בדיוק בטוח אם זה המינוח, אבל - 790 00:39:57,980 --> 00:39:59,715 >> ג'ייסון הירשהורן: אני שמח אתה מרים את ידך. 791 00:39:59,715 --> 00:40:03,380 >> קהל: הוא זקוק למקרה בסיס, ואת זה צריך צעד רקורסיבית. 792 00:40:03,380 --> 00:40:03,960 >> ג'ייסון הירשהורן: מושלם. 793 00:40:03,960 --> 00:40:06,340 הוא זקוק למקרה בסיס ו צעד רקורסיבית. 794 00:40:06,340 --> 00:40:10,430 אז מה מקרה הבסיס שלנו כאן? 795 00:40:10,430 --> 00:40:12,950 >> קהל: שורש F שווה שווה אפס. 796 00:40:12,950 --> 00:40:15,110 מצטער, רק בpseudocode, אם זה ריק. 797 00:40:15,110 --> 00:40:16,360 אם השורש הוא null. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> ג'ייסון הירשהורן: אם השורש הוא null. 800 00:40:23,540 --> 00:40:23,850 זה מצוין. 801 00:40:23,850 --> 00:40:24,610 זה מקרה הבסיס שלנו. 802 00:40:24,610 --> 00:40:25,910 זה מה שאנחנו הולכים כדי לבדוק בכל פעם. 803 00:40:25,910 --> 00:40:28,000 ומקרה בסיס הוא דבר ראשון שאתה עושה. 804 00:40:28,000 --> 00:40:29,720 אם אתה מכה את מקרה הבסיס, סיימת. 805 00:40:29,720 --> 00:40:34,140 >> עכשיו אנחנו צריכים הקריאה רקורסיבית שלנו, והייתי מוכן להתערב שאנחנו צריכים כמה 806 00:40:34,140 --> 00:40:35,440 רקורסיבית קורא כאן. 807 00:40:35,440 --> 00:40:39,630 בגלל שזה עץ, ואנחנו אפשר ללכת בדרכים מרובות. 808 00:40:39,630 --> 00:40:43,190 אז אם השורש הוא ריק, אנחנו טובים. 809 00:40:43,190 --> 00:40:44,970 >> מה אתה מציע? 810 00:40:44,970 --> 00:40:49,640 ועכשיו אני הולך להתחיל לקרוא את עליכם, כי אני יודע שחבר 'ה 811 00:40:49,640 --> 00:40:50,540 כולנו יודעים את זה. 812 00:40:50,540 --> 00:40:52,610 אבל אנני, מה צריך השורה הבאה תהיה? 813 00:40:52,610 --> 00:40:53,570 מה אם מצאתי את זה? 814 00:40:53,570 --> 00:40:55,526 מה אנחנו עושים? 815 00:40:55,526 --> 00:40:57,300 >> קהל: אם מצאתי את זה? 816 00:40:57,300 --> 00:40:59,160 >> ג'ייסון הירשהורן: או מה צריך להיות, כי - 817 00:40:59,160 --> 00:41:02,124 תן לי את pseudocode עבור קו שבו מצאנו אותו. 818 00:41:02,124 --> 00:41:04,700 >> קהל: אם אני שווה אני שורש? 819 00:41:04,700 --> 00:41:06,650 >> ג'ייסון הירשהורן: ו אז מה אנחנו עושים? 820 00:41:06,650 --> 00:41:07,590 >> קהל: החזר אמיתי. 821 00:41:07,590 --> 00:41:08,530 >> ג'ייסון הירשהורן: נהדר. 822 00:41:08,530 --> 00:41:16,890 אז אם אני הוא אני - 823 00:41:16,890 --> 00:41:17,400 אה, הם נקראים i שניהם. 824 00:41:17,400 --> 00:41:18,470 שמקבל מבלבל. 825 00:41:18,470 --> 00:41:23,830 אבל אם אני הוא אני חוזר אמיתי. 826 00:41:23,830 --> 00:41:25,620 זה כנראה הבא דבר שאנחנו צריכים לעשות. 827 00:41:25,620 --> 00:41:27,300 הגיוני. 828 00:41:27,300 --> 00:41:30,610 >> אוקיי, עכשיו יש לנו לא עשינו רקורסיבית קורא עדיין, כי, כי רקורסיבית 829 00:41:30,610 --> 00:41:32,300 שיחה הייתי קוראת לפונקציה זו שוב. 830 00:41:32,300 --> 00:41:41,460 אז מה צריך הבא קו של pseudocode להיות? 831 00:41:41,460 --> 00:41:42,730 אנה. 832 00:41:42,730 --> 00:41:43,980 >> קהל: בצד השמאל. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> ג'ייסון הירשהורן: להיות ספציפי, אם כי. 835 00:41:47,590 --> 00:41:50,600 זה עץ חיפוש בינארי, אז מה אין בדיקה בצד השמאל כרוכה? 836 00:41:50,600 --> 00:41:51,890 >> קהל: אז צומת - 837 00:41:51,890 --> 00:41:53,342 אני מצטער, שורש. 838 00:41:53,342 --> 00:41:55,306 ולאחר מכן חץ שמאלי. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 צומת, צומת, מצטער. 841 00:42:00,720 --> 00:42:01,978 אני לא קורא את זה כמו שצריך. 842 00:42:01,978 --> 00:42:05,700 זה נקרא צומת, נכון? 843 00:42:05,700 --> 00:42:09,270 >> ג'ייסון הירשהורן: זה ייקרא שורש בתפקיד זה, אבל בכל מקרה. 844 00:42:09,270 --> 00:42:10,925 בצד השמאל - כן? 845 00:42:10,925 --> 00:42:13,780 >> קהל: אם זה לא שווה אני, אז אנחנו הולכים לקרוא 846 00:42:13,780 --> 00:42:15,130 הפונקציה שוב? 847 00:42:15,130 --> 00:42:15,490 >> ג'ייסון הירשהורן: נכון. 848 00:42:15,490 --> 00:42:17,870 אם זה לא שווה לי, אנחנו הולכים כדי לקרוא לפונקציה שוב. 849 00:42:17,870 --> 00:42:21,435 אבל מה הצד השני של העץ אנחנו הולכים כדי לקרוא לפונקציה שוב? 850 00:42:21,435 --> 00:42:22,685 >> קהל: בצד השמאל. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> ג'ייסון הירשהורן: אנחנו לא תמיד הולך לקרוא אותו מהשמאל, אם זה 853 00:42:27,670 --> 00:42:29,190 לא שווה את זה. 854 00:42:29,190 --> 00:42:29,610 >> קהל: אה, סליחה. 855 00:42:29,610 --> 00:42:31,200 התקשר בצד הימין. 856 00:42:31,200 --> 00:42:33,680 >> ג'ייסון הירשהורן: אנחנו רוצים לדעת באופן ספציפי, אם כי - זוכר, ב 857 00:42:33,680 --> 00:42:37,700 עץ חיפוש בינארי, הכל כדי בצד שמאל הוא קטן יותר. 858 00:42:37,700 --> 00:42:40,460 הכל בצד הימין הצד הוא גדול יותר. 859 00:42:40,460 --> 00:42:43,990 אז זה פשוט לא - כן, קדימה. 860 00:42:43,990 --> 00:42:46,805 >> קהל: אם זה פחות ממה שאני, ולאחר מכן - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 אם זה בצד השמאל - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> ג'ייסון הירשהורן: אז אם רי הוא פחות מ - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 כך שאם המספר שלנו הוא פחות ממה שאני, באיזה צד אנחנו רוצים ללכת ל? 867 00:43:09,110 --> 00:43:15,120 >> קהל: אנחנו רוצים ללכת לצד ימין. 868 00:43:15,120 --> 00:43:16,250 >> ג'ייסון הירשהורן: אנחנו רוצים ללכת - 869 00:43:16,250 --> 00:43:19,210 תן לי לצייר עץ מהיר. 870 00:43:19,210 --> 00:43:23,850 אם זה 5, זה יהיה 3. 871 00:43:23,850 --> 00:43:29,410 אז אם רי הוא פחות מחמישה, מה צד שאנחנו רוצים ללכת ל? 872 00:43:29,410 --> 00:43:30,390 >> קהל: סליחה, מה? 873 00:43:30,390 --> 00:43:33,190 >> ג'ייסון הירשהורן: המספר שלנו הוא פחות מהמספר שאנחנו 874 00:43:33,190 --> 00:43:34,710 מסתכל על עכשיו. 875 00:43:34,710 --> 00:43:35,890 >> קהל: אה, אז אנחנו רוצים ללכת לצד השמאל. 876 00:43:35,890 --> 00:43:36,240 כן. 877 00:43:36,240 --> 00:43:36,920 סליחה. 878 00:43:36,920 --> 00:43:37,230 >> ג'ייסון הירשהורן: בדיוק. 879 00:43:37,230 --> 00:43:38,480 אין דאגות. 880 00:43:38,480 --> 00:43:41,020 בעץ חיפוש, הכל בינארי נמוך יותר הוא בצד השמאל, 881 00:43:41,020 --> 00:43:42,110 גדול יותר הוא בצד הימין. 882 00:43:42,110 --> 00:43:46,700 אז אם המספר שלנו הוא פחות מ i אנחנו בודקים - 883 00:43:46,700 --> 00:43:48,790 כי אתה רואה ב צומת, יש לי - 884 00:43:48,790 --> 00:43:50,040 אז אתה רוצה ללכת לצד השמאל. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> וזה קל. 887 00:43:56,720 --> 00:44:01,700 מהו אותו הקו השני של pseudocode אנחנו צריכים לכתוב? 888 00:44:01,700 --> 00:44:02,910 קרלוס? 889 00:44:02,910 --> 00:44:05,970 >> קהל: אותו דבר, אתה פשוט לעבור אותו ליותר מסימן 890 00:44:05,970 --> 00:44:07,420 וללכת לצד ימין. 891 00:44:07,420 --> 00:44:08,350 >> ג'ייסון הירשהורן: האם אתה יכול תגיד את זה עוד פעם אחת? 892 00:44:08,350 --> 00:44:11,640 >> קהל: אם המספר שלנו הוא גדול יותר ממני, ילך לצד ימין. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> ג'ייסון הירשהורן: מצוין עבודה על pseudocode. 895 00:44:26,690 --> 00:44:28,700 תן לנו לעשות את זה בקוד אמיתי. 896 00:44:28,700 --> 00:44:33,280 ושוב, יהיה pseudocode זה כנראה אקבל אותך, כי זה 897 00:44:33,280 --> 00:44:35,480 נכונים, 50% בשאלה זו. 898 00:44:35,480 --> 00:44:39,720 אבל pseudocode זה גם מתרגם אחד לאחד, בעצם, לקוד. 899 00:44:39,720 --> 00:44:44,380 >> אז תנו לנו לעשות את זה ב C. מי יכול לתת לי לי בשורה הראשונה של קוד? 900 00:44:44,380 --> 00:44:48,390 למעשה, ראשון, לפני שאני עושה זה, תן לי לעצור בצד - 901 00:44:48,390 --> 00:44:49,260 >> קהל: יש לי שאלה. 902 00:44:49,260 --> 00:44:52,430 למה לשנן שורה שנתתי לך? 903 00:44:52,430 --> 00:44:54,160 >> ג'ייסון הירשהורן: כי לא יכולתי לכתוב. 904 00:44:54,160 --> 00:44:55,240 אני לא יודע. 905 00:44:55,240 --> 00:44:55,650 אתה צודק. 906 00:44:55,650 --> 00:44:57,780 קו שצריך להיות שם. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> אוקיי, כאן היא הפונקציה שלנו. 909 00:45:14,480 --> 00:45:18,090 ותן לי לעצור בצד הדרך, גם, ההגדרה שלנו לצומת. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 מה קורה אם אנחנו לא לכתוב typedef? 912 00:45:27,180 --> 00:45:30,240 האם מישהו יודע? 913 00:45:30,240 --> 00:45:32,570 >> קהל: זה לא לקמפל. 914 00:45:32,570 --> 00:45:33,860 >> ג'ייסון הירשהורן: זה היית לקמפל, כן. 915 00:45:33,860 --> 00:45:37,120 >> קהל: האם זה רק להכריז על אחד למשל, במקום לעשות את זה חדש 916 00:45:37,120 --> 00:45:39,840 סוג אתה יכול להצהיר מרובה מקרים של? 917 00:45:39,840 --> 00:45:41,700 >> ג'ייסון הירשהורן: כדי שלא יודע - זה לא היית 918 00:45:41,700 --> 00:45:43,120 רק להצהיר סוג אחד. 919 00:45:43,120 --> 00:45:46,150 אתה עדיין יכול לעשות הרבה צמתים. 920 00:45:46,150 --> 00:45:48,070 >> קהל: אבל לא היה לנו ל לכתוב צומת struct בכל פעם? 921 00:45:48,070 --> 00:45:48,640 >> ג'ייסון הירשהורן: נכון. 922 00:45:48,640 --> 00:45:50,960 היית צריך לכתוב צומת struct בכל פעם, במקום רק צומת. 923 00:45:50,960 --> 00:45:55,270 אבל עם typedef, אתה רק יכול לכתוב צומת בכל פעם אחת. 924 00:45:55,270 --> 00:45:58,240 בסדר, שלא נתן - כן, Avica. 925 00:45:58,240 --> 00:46:01,520 >> קהל: אם שורש שווה שווה null, בתמורת שווא. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> ג'ייסון הירשהורן: נהדר, ו זה מקרה הבסיס שלנו. 928 00:46:09,490 --> 00:46:11,200 השורה הבאה של קוד. 929 00:46:11,200 --> 00:46:13,999 מישהו שלא נתן שלי שורת קוד עדיין? 930 00:46:13,999 --> 00:46:14,945 כן. 931 00:46:14,945 --> 00:46:23,360 >> קהל: אני חץ רוט שווה שווה ל i. 932 00:46:23,360 --> 00:46:27,260 ואז לחזור נכון. 933 00:46:27,260 --> 00:46:29,162 >> ג'ייסון הירשהורן: נהדר. 934 00:46:29,162 --> 00:46:32,048 השורה הבאה? 935 00:46:32,048 --> 00:46:32,790 כן. 936 00:46:32,790 --> 00:46:34,010 מישהו אחר? 937 00:46:34,010 --> 00:46:36,774 ואז אתה יכול ללכת הבא. 938 00:46:36,774 --> 00:46:44,820 >> קהל: Else אם חץ שורש הוא אני פחות ממני לחזור 939 00:46:44,820 --> 00:46:47,737 פונקציה שנקראת שורש למצוא - 940 00:46:47,737 --> 00:46:50,611 >> ג'ייסון הירשהורן: מצטער. 941 00:46:50,611 --> 00:46:56,272 >> קהל: שורש למצוא תשואה מצביע לשמאל פסיק i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> ג'ייסון הירשהורן: אז אם רי הוא גדול יותר מ הדבר בעץ, אנחנו רוצים 944 00:47:08,440 --> 00:47:09,573 ללכת לשמאל? 945 00:47:09,573 --> 00:47:11,790 >> קהל: לא, לא היה לי שעבר. 946 00:47:11,790 --> 00:47:13,040 >> ג'ייסון הירשהורן: איזה? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> קהל: לא, כן. 949 00:47:16,950 --> 00:47:19,050 יש לי פחות מלחתום שם. 950 00:47:19,050 --> 00:47:22,890 >> ג'ייסון הירשהורן: נכון, אם רי הוא פחות ממה שהוא בשורש - 951 00:47:22,890 --> 00:47:25,660 השורש הנוכחי שלנו - אז אנחנו רוצה ללכת לצד השמאל. 952 00:47:25,660 --> 00:47:26,960 ומה השורה האחרונה, אתה? 953 00:47:26,960 --> 00:47:30,930 >> קהל: בעיקרון אותו הדבר, מלבד לעבור גדול או 954 00:47:30,930 --> 00:47:34,690 שווה פחות ומשמאל לימין. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> ג'ייסון הירשהורן: מצוין. 957 00:47:43,680 --> 00:47:48,430 האם יש למישהו שאלות על זה? 958 00:47:48,430 --> 00:47:52,560 אז כמה דברים אחרים שהייתם היה נכון הוא כי 959 00:47:52,560 --> 00:47:53,810 יכול להיות-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 מניח, מבחינה טכנית, אף אחד מאלה באמת גם צריך להיות-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> כמו כן, יש כנראה רק מקרה אחד כאן למטה. 963 00:48:00,950 --> 00:48:02,380 אז זה כנראה המקרה האחרון שלך. 964 00:48:02,380 --> 00:48:04,000 אתה אפילו לא צריך ש- ltiff. 965 00:48:04,000 --> 00:48:06,160 אבל כנראה טוב לכתוב את זה, שיהיה ברור. 966 00:48:06,160 --> 00:48:06,660 כן. 967 00:48:06,660 --> 00:48:09,200 >> קהל: אז אתה לא חושב שחידון - אם אנחנו עושים טעויות, למשל, 968 00:48:09,200 --> 00:48:11,725 בתחביר - 969 00:48:11,725 --> 00:48:13,990 שגיאות תחביר קטנות - 970 00:48:13,990 --> 00:48:17,810 איך זה לקבל נלקח בחידון? 971 00:48:17,810 --> 00:48:21,300 >> ג'ייסון הירשהורן: באופן כללי על החידון, שגיאות תחביר קטן או קטן 972 00:48:21,300 --> 00:48:24,010 שגיאות סגנון שלא יאבדו לך נקודות. 973 00:48:24,010 --> 00:48:26,610 אז אם אתה שכחת פסיק כאן, זה יהיה בסדר. 974 00:48:26,610 --> 00:48:30,290 אם שכח לסגור סוגריים זה, שיהיה בסדר. 975 00:48:30,290 --> 00:48:34,880 >> שגיאות תחביר ענקיות המשנות את משמעות תפקודית של הקוד שלך 976 00:48:34,880 --> 00:48:37,600 באופן דרמטי, אתה עלול לקבל המריא נקודות ל. 977 00:48:37,600 --> 00:48:40,330 או בדרך כלל, רק לדירוגך על האם או לא שלך 978 00:48:40,330 --> 00:48:42,150 פונקציות קוד, אפילו - 979 00:48:42,150 --> 00:48:44,830 לא העיצוב שלו כל כך הרבה, ולא הסגנון שלו. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> בואו עכשיו קוד איטרטיבי גרסה של ממצא. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 אז זה הולך להיות די דומה, אבל יש בהחלט הולכים להיות 984 00:49:03,450 --> 00:49:06,250 כמה הבדלים מרכזיים. 985 00:49:06,250 --> 00:49:09,160 עם זאת, pseudocode כנראה יכול ללכת - 986 00:49:09,160 --> 00:49:11,610 אנחנו עדיין יכולים לקחת שורה אחת של pseudocode ולהבין מה 987 00:49:11,610 --> 00:49:14,160 קו הוא במקרה זה. 988 00:49:14,160 --> 00:49:18,010 >> אז בגרסה חוזרת ונשנית, מה אתה חושב, ג'וליה, צריך 989 00:49:18,010 --> 00:49:19,260 להיות בשורה הראשונה? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> קהל: שוב, בבוליאני איטרטיבי, אתה צריך להגדיר ללולאה, נכון? 992 00:49:26,920 --> 00:49:27,660 >> ג'ייסון הירשהורן: אישור. 993 00:49:27,660 --> 00:49:38,480 >> קהל: אז בשביל כמו, k, עבור x שווה 0, x הוא פחות ממני. 994 00:49:38,480 --> 00:49:42,260 או לא, x הוא פחות מ גודלו של העץ. 995 00:49:42,260 --> 00:49:42,760 >> ג'ייסון הירשהורן: העץ. 996 00:49:42,760 --> 00:49:46,660 כך שאנחנו לא באמת יודעים את גודל עץ, ואנחנו לא באמת יודעים ל 997 00:49:46,660 --> 00:49:48,900 כמה פעמים אנחנו יכולים ללכת, אז מה סוג של לולאה שעשויה להיות שונה 998 00:49:48,900 --> 00:49:50,150 טוב יותר במקרה זה? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> קהל: אם אחר? 1001 00:49:55,244 --> 00:49:57,070 >> ג'ייסון הירשהורן: אם אחר לא יכול להיות לולאה. 1002 00:49:57,070 --> 00:49:58,935 אז מה סוג של לולאה רק אנחנו יכולים ללכת עד כמה מקרה הוא פגש? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 מה רק הסוג האחר של לולאה ב-C מלבד ללולאה? 1005 00:50:11,560 --> 00:50:11,930 >> קהל: בעוד. 1006 00:50:11,930 --> 00:50:13,380 >> ג'ייסון הירשהורן: אמנם, בדיוק. 1007 00:50:13,380 --> 00:50:16,430 בלולאה בזמן, לא צריך לדעת איך - 1008 00:50:16,430 --> 00:50:18,450 לולאה בזמן ועבור לולאה יכולה לעשות בדיוק אותו דבר, אבל דבר נחמד 1009 00:50:18,450 --> 00:50:21,500 על לולאה בזמן היא שאנחנו לא צריכים לדעת עד כמה גדול העץ שלנו הוא. 1010 00:50:21,500 --> 00:50:23,060 אז אנחנו מתכוונים ללכת עד מה? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> קהל: עד שזה שווה בגודל של - 1013 00:50:28,032 --> 00:50:32,320 >> ג'ייסון הירשהורן: ובכן, זה מאוד בדומה למקרה רקורסיבית שלנו. 1014 00:50:32,320 --> 00:50:33,360 אז - 1015 00:50:33,360 --> 00:50:36,470 >> קהל: אמנם שורש אני עושה לא שווה. 1016 00:50:36,470 --> 00:50:37,620 >> ג'ייסון הירשהורן: זה ממש קרוב. 1017 00:50:37,620 --> 00:50:39,430 בעוד שורש i - 1018 00:50:39,430 --> 00:50:40,610 בואו ננסה את זה. 1019 00:50:40,610 --> 00:50:41,180 אני לא חושב [לא ברור] 1020 00:50:41,180 --> 00:50:43,026 איפה אני שורש אינו שווה לי. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 אנחנו אולי צריכים לשנות את זה בקצת קצת, אבל זה נשמע כמו שזה די 1023 00:50:49,460 --> 00:50:50,160 טוב, לעת עתה. 1024 00:50:50,160 --> 00:50:51,710 אז אנחנו נעשה את זה. 1025 00:50:51,710 --> 00:50:55,660 >> כמו כן, זכור, אנחנו לא יכולים להניח לכל השאלה. 1026 00:50:55,660 --> 00:50:57,880 אתה לא להניח כי השורש יהיה שאינו ריק. 1027 00:50:57,880 --> 00:51:01,914 אז מה אתה חושב מאוד דבר ראשון שאנחנו צריכים לעשות זה? 1028 00:51:01,914 --> 00:51:02,770 >> קהל: פשוט לעשות את אותו הדבר דבר כמו קודם. 1029 00:51:02,770 --> 00:51:05,260 אם השורש שווה שווה null, בתמורת שווא. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> ג'ייסון הירשהורן: נהדר. 1032 00:51:12,130 --> 00:51:13,820 אז זה יכול להיות ריק. 1033 00:51:13,820 --> 00:51:15,810 אז אנחנו רוצים להיפטר מזה מייד. 1034 00:51:15,810 --> 00:51:19,560 ואז אנחנו הולכים לבדוק אם שורש אני עושה אני לא שווה. 1035 00:51:19,560 --> 00:51:24,480 לכן, לומר שאנחנו מחפשים בעץ הזה עבור 3, שורש אני לא אני שווה, עכשיו 1036 00:51:24,480 --> 00:51:25,950 אנחנו נמצאים בזמן שהלולאה שלנו. 1037 00:51:25,950 --> 00:51:27,500 מה אנחנו רוצים לעשות? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 ושוב, זה הולך להיות יפה בדומה לגרסה רקורסיבית שלנו. 1040 00:51:35,430 --> 00:51:36,230 כן. 1041 00:51:36,230 --> 00:51:40,470 >> קהל: אז היית רוצה לחזר, או להמשיך את העץ כל עוד 1042 00:51:40,470 --> 00:51:42,400 השורש הוא לא שווה ל null. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> כל עוד: ג'ייסון הירשהורן השורש הוא לא שווה ל null? 1045 00:51:46,640 --> 00:51:50,200 >> קהל: מקף השורש i אינו שווה לריק. 1046 00:51:50,200 --> 00:51:51,220 רק השורש, כן. 1047 00:51:51,220 --> 00:51:52,920 כמו עוד השורש הוא לא שווה ל null. 1048 00:51:52,920 --> 00:51:54,240 >> ג'ייסון הירשהורן: אז אתה רוצה כדי לשנות את זה לשורש 1049 00:51:54,240 --> 00:51:56,590 עושה null לא שווה? 1050 00:51:56,590 --> 00:51:59,020 >> קהל: כן. 1051 00:51:59,020 --> 00:52:00,800 >> קהל: אנחנו יכולים לשלב אלה, נכון? 1052 00:52:00,800 --> 00:52:02,990 אנחנו לא צריכים אם, בתחילה. 1053 00:52:02,990 --> 00:52:05,180 >> ג'ייסון הירשהורן: אוקיי, אז אם לא אנחנו - 1054 00:52:05,180 --> 00:52:08,140 אם לשלב אותם, ולכן אנחנו הולכים לעשות בזמן ששורש עושה null לא שווה, ו 1055 00:52:08,140 --> 00:52:10,800 אם השורש קורה להיות null ב מתחיל, מה אנחנו עושים כאן? 1056 00:52:10,800 --> 00:52:11,450 >> קהל: בתמורת שווא. 1057 00:52:11,450 --> 00:52:12,730 >> ג'ייסון הירשהורן: נהדר. 1058 00:52:12,730 --> 00:52:14,110 אז כנראה לשני הכיוונים היה עובד. 1059 00:52:14,110 --> 00:52:15,645 זוהי דרך שונה, וזה משלב את זה. 1060 00:52:15,645 --> 00:52:18,950 אבל שוב, אם עשית כך או כך, אנחנו לא הולך לקחת את עיצוב 1061 00:52:18,950 --> 00:52:19,800 מצביע על החידון. 1062 00:52:19,800 --> 00:52:21,020 אבל זה נראה טוב. 1063 00:52:21,020 --> 00:52:23,940 >> אז בזמן שהשורש אינו שווה null, מה הוא ראשון 1064 00:52:23,940 --> 00:52:25,400 דבר שאנחנו רוצים לבדוק? 1065 00:52:25,400 --> 00:52:26,330 מישהו אחר? 1066 00:52:26,330 --> 00:52:29,720 Null, מה הדבר הראשון? 1067 00:52:29,720 --> 00:52:32,850 >> קהל: אם רי הוא פחות מ - 1068 00:52:32,850 --> 00:52:36,140 הו, אני מניח, אם אנחנו כבר מצא אותו בשורש. 1069 00:52:36,140 --> 00:52:40,830 אז הוא אם אני חץ שורש שווה ל i - 1070 00:52:40,830 --> 00:52:40,990 >> ג'ייסון הירשהורן: סליחה? 1071 00:52:40,990 --> 00:52:45,840 >> קהל: אם חץ שורש אני שווה שווה i - 1072 00:52:45,840 --> 00:52:47,090 >> ג'ייסון הירשהורן: מה אנחנו עושים? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> קהל: החזר אמיתי. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> ג'ייסון הירשהורן: נהדר. 1077 00:52:59,280 --> 00:53:00,530 ומה הלאה? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 ג'ף, מה השורה הבאה של קוד? 1080 00:53:06,843 --> 00:53:16,190 >> קהל: אם אני הוא פחות מחץ שורש אני, אז שורש שווה שמאל חץ שורש. 1081 00:53:16,190 --> 00:53:21,550 >> ג'ייסון הירשהורן: שווים רוט חץ שורש השמאל. 1082 00:53:21,550 --> 00:53:24,530 אז זה כנראה הגדול ביותר הבדל כאן בזה איטרטיבי 1083 00:53:24,530 --> 00:53:26,600 גרסה שבניגוד ל גרסה רקורסיבית. 1084 00:53:26,600 --> 00:53:28,970 הגרסה רקורסיבית, אנחנו לקרוא לפונקציה שוב. 1085 00:53:28,970 --> 00:53:32,640 אנחנו נהיה לעדכן את השורש כאשר אנחנו קוראים לפונקציה החדשה. 1086 00:53:32,640 --> 00:53:34,170 הנה אנחנו לא קוראים לפונקציה חדשה. 1087 00:53:34,170 --> 00:53:37,610 אנחנו פשוט רק מעדכנים שורש בפונקציה זו. 1088 00:53:37,610 --> 00:53:38,880 זה מצוין. 1089 00:53:38,880 --> 00:53:40,730 ומה היא השורה האחרונה של קוד? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 כן, מריו? 1092 00:53:44,880 --> 00:53:48,290 >> קהל: שווים שורש Else חץ ימינה שורש. 1093 00:53:48,290 --> 00:53:49,492 >> ג'ייסון הירשהורן: סליחה? 1094 00:53:49,492 --> 00:53:52,340 >> שווים רוט: הקהל חץ ימינה שורש. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> ג'ייסון הירשהורן: אתה יכול גם לכתוב דבר כזה? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> קהל: אין לי מושג. 1099 00:54:03,890 --> 00:54:05,140 >> ג'ייסון הירשהורן: אתה לא יכול. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 אתה לא יכול לעשות את שווים בתוספת. 1102 00:54:08,270 --> 00:54:10,780 אוקיי, אז זה נראה טוב. 1103 00:54:10,780 --> 00:54:13,620 למה שלא פשוט לעשות את זה כדי לנקות אותו. 1104 00:54:13,620 --> 00:54:15,220 זה נראה נהדר, וזה יעבוד. 1105 00:54:15,220 --> 00:54:16,920 והיינו לפרוץ החוצה. 1106 00:54:16,920 --> 00:54:21,460 >> אם שמאל השורש היה ממש ריק או שורש היה ריק, היינו לבוא לכאן. 1107 00:54:21,460 --> 00:54:22,470 שורש יהיה שווה ל null. 1108 00:54:22,470 --> 00:54:24,270 היינו לפרוץ את הלולאה שלנו, והיינו בתמורת שווא. 1109 00:54:24,270 --> 00:54:26,280 לכן, כאשר אנו לפרוץ את לולאה, אנחנו חוזרים שווא. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> ושוב, הלולאה בזמן שהייתה מושלמת כאן כי אנחנו לא יודעים איך 1112 00:54:32,793 --> 00:54:33,850 גדול שלנו הוא העץ. 1113 00:54:33,850 --> 00:54:36,460 ניסינו לכתוב ללולאה, אבל אנחנו הבנתי שיש לך להבין איך 1114 00:54:36,460 --> 00:54:37,410 גדול זה מבעוד מועד. 1115 00:54:37,410 --> 00:54:38,720 כן. 1116 00:54:38,720 --> 00:54:41,790 >> קהל: אם זה לא היה בינארי עץ חיפוש, זה יהיה במתמטיקה-y האמיתי 1117 00:54:41,790 --> 00:54:44,220 לכתוב את זה איטרטיבי, נכון? 1118 00:54:44,220 --> 00:54:47,170 כאילו, אם זה היה עץ, אך לא בהכרח - 1119 00:54:47,170 --> 00:54:49,730 אז זה לא היה כל קטן יותר בצד השמאל, וכל גדול יותר בצד הימין. 1120 00:54:49,730 --> 00:54:52,540 זה יהיה קשה באמת כדי לחזר על זה, נכון? 1121 00:54:52,540 --> 00:54:55,720 היינו צריך להציל את מה שהיה קודם לכן בעץ ולחזור, 1122 00:54:55,720 --> 00:54:56,970 ודברים כאלה. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> ג'ייסון הירשהורן: אם זה לא היה בינארי עץ חיפוש, אם זה היה רק 1125 00:55:02,010 --> 00:55:04,740 עץ ודברים שלא היו מסודרים ככה - 1126 00:55:04,740 --> 00:55:07,440 והבנו שקודם לכן, כאשר אנה היה עוזר לנו, כי מה שהופך את 1127 00:55:07,440 --> 00:55:08,800 ממוין עוזר לנו הרבה - 1128 00:55:08,800 --> 00:55:12,610 היינו צריך, כן, שמור תמיד שבו היינו קודם לכן. 1129 00:55:12,610 --> 00:55:14,430 אבל יכול להיות שיש הרבה שבו היינו previouslys. 1130 00:55:14,430 --> 00:55:17,730 יכול להיות שיש הרבה צמתים הורה. 1131 00:55:17,730 --> 00:55:22,530 >> כנראה הדרך הטובה ביותר לעשות זאת היית יהיה להמשיך לדחוף דברים על כמה 1132 00:55:22,530 --> 00:55:24,170 סוג של מחסנית או תור. 1133 00:55:24,170 --> 00:55:26,030 אף פעם לא היית צריך את הקוד הזה כי זה בעיה קשה. 1134 00:55:26,030 --> 00:55:30,820 אבל אתה דוחף כמה דברים על ערימה או לעמוד בתור ואז צץ אותם, ו 1135 00:55:30,820 --> 00:55:31,890 לאחר מכן להעריך אותם. 1136 00:55:31,890 --> 00:55:34,200 >> ואז יש לי כמה דברים אחרים שבם אתה בעצם לשים את צמתים, ו 1137 00:55:34,200 --> 00:55:36,090 לאחר מכן ליצור את זה, ולאחר מכן לחפש את זה. 1138 00:55:36,090 --> 00:55:38,700 זה יכול להיות הדרך הטובה ביותר לעשות את זה. 1139 00:55:38,700 --> 00:55:42,410 בסדר, כל שאלות על בעיה זו? 1140 00:55:42,410 --> 00:55:44,670 >> קהל: זה בהקשר הזה. 1141 00:55:44,670 --> 00:55:50,460 האם אנחנו צריכים להשוות פעמים לרוץ לשולחנות חשיש, בינארי 1142 00:55:50,460 --> 00:55:52,160 עצי חיפוש, וכולי? 1143 00:55:52,160 --> 00:55:54,310 >> ג'ייסון הירשהורן: כנראה. 1144 00:55:54,310 --> 00:55:56,150 אז בואו נעשה את זה ממש מהר. 1145 00:55:56,150 --> 00:55:58,490 זמן הפעלה לשולחן חשיש - 1146 00:55:58,490 --> 00:55:59,090 מה הם אחרים? 1147 00:55:59,090 --> 00:56:00,050 עץ בינארי? 1148 00:56:00,050 --> 00:56:02,920 >> קהל: רשימות קישור. 1149 00:56:02,920 --> 00:56:04,780 >> ג'ייסון הירשהורן: אוקיי, בואו נעשה את הכנס. 1150 00:56:04,780 --> 00:56:09,980 מה הוא O הגדול של הכנס על שולחן חשיש? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 מה הן ההנחות אתה עושה? 1153 00:56:15,285 --> 00:56:17,760 >> קהל: אתה מכניס ב תחילתה של רשימת הקישור. 1154 00:56:17,760 --> 00:56:19,860 >> ג'ייסון הירשהורן: כנראה הראשון הנחה הן שאין התנגשויות. 1155 00:56:19,860 --> 00:56:22,340 אם אין התנגשויות, ולאחר מכן זמן ההכנסה הוא אחד. 1156 00:56:22,340 --> 00:56:26,560 אם יש התנגשויות, ואתה עושה שרשור נפרד והחדרת 1157 00:56:26,560 --> 00:56:31,880 בתחילת רשימת הקישור, אז הכניסה היא גם קבועה. 1158 00:56:31,880 --> 00:56:34,700 >> אם אתה עושה טבלת חשיש אבל אתה יש שיטה להתמודד שונה 1159 00:56:34,700 --> 00:56:36,040 עם התנגשויות, מה שיטה אחרת? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 מה שלו בשיטה שונה להתמודדות עם 1162 00:56:42,960 --> 00:56:44,205 התנגשות בשולחן חשיש? 1163 00:56:44,205 --> 00:56:44,915 >> קהל: תכנות לינארי. 1164 00:56:44,915 --> 00:56:45,540 >> ג'ייסון הירשהורן: תכנות לינארי. 1165 00:56:45,540 --> 00:56:47,770 אז אנחנו הולכים להמשיך לחפש למקום הפתוח הבא. 1166 00:56:47,770 --> 00:56:50,390 זה לא זמן הכנסה קבוע. 1167 00:56:50,390 --> 00:56:52,266 אתה יכול לעבור את הטבלה כולה, כך ש 1168 00:56:52,266 --> 00:56:53,936 יכול להיות O הגדול של n. 1169 00:56:53,936 --> 00:56:54,740 כן. 1170 00:56:54,740 --> 00:56:57,690 >> קהל: אחרת פשוט שרשור? 1171 00:56:57,690 --> 00:57:00,160 >> ג'ייסון הירשהורן: עשינו שרשור נפרד. 1172 00:57:00,160 --> 00:57:00,720 זה היה ראשון. 1173 00:57:00,720 --> 00:57:01,560 זה מה שרשימת הקישור. 1174 00:57:01,560 --> 00:57:03,720 שם המפואר הוא שרשור נפרד. 1175 00:57:03,720 --> 00:57:06,880 זה יכול להיות כל סוג של מבנה רשימה אנחנו יקרו לעשות בקישור רשימה. 1176 00:57:06,880 --> 00:57:10,490 >> אז שוב, החדרה על שולחן חשיש יכול להיות זמן קבוע. 1177 00:57:10,490 --> 00:57:13,160 מה לגבי הכנסה על תור מערה? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> קהל: האם זה לא קבוע? 1180 00:57:20,640 --> 00:57:21,530 >> ג'ייסון הירשהורן: הגיעו זמן קבוע. 1181 00:57:21,530 --> 00:57:23,420 אתה פשוט דוחף אותו. 1182 00:57:23,420 --> 00:57:24,120 על אישור. 1183 00:57:24,120 --> 00:57:25,380 הוספה, מה שהיו אלה האחרים? 1184 00:57:25,380 --> 00:57:27,100 עליו לנסות? 1185 00:57:27,100 --> 00:57:30,252 מה הוא O הגדול של הכנסה בניסיון? 1186 00:57:30,252 --> 00:57:32,808 >> קהל: אורך הוא קבוע. 1187 00:57:32,808 --> 00:57:34,560 אורכו של הארוך ביותר - 1188 00:57:34,560 --> 00:57:36,998 אורכה של המילה אתה מכניס. 1189 00:57:36,998 --> 00:57:38,210 >> ג'ייסון הירשהורן: סליחה? 1190 00:57:38,210 --> 00:57:39,120 חכה, אז מה לא שמע? 1191 00:57:39,120 --> 00:57:40,260 אתה אמר - מה אתה אומר? 1192 00:57:40,260 --> 00:57:41,650 מה הייתה התשובה שלך, מרקוס? 1193 00:57:41,650 --> 00:57:43,640 >> קהל: האורך של המילה אתה מכניס בתווים, 1194 00:57:43,640 --> 00:57:45,480 בהנחה שזה לנסות אופי. 1195 00:57:45,480 --> 00:57:46,840 >> ג'ייסון הירשהורן: אוקיי, אז האורך של המילה. 1196 00:57:46,840 --> 00:57:49,500 אנחנו נעשה את ההנחה כי זה מחרוזת של תווים. 1197 00:57:49,500 --> 00:57:51,930 אמרת משהו שונה, אם כי. 1198 00:57:51,930 --> 00:57:55,490 אתה אמר אורך המילה הארוכה ביותר. 1199 00:57:55,490 --> 00:57:57,600 >> קהל: זה פשוט קבוע, נכון? 1200 00:57:57,600 --> 00:57:58,440 >> ג'ייסון הירשהורן: למה שיהיה זה יהיה קבוע? 1201 00:57:58,440 --> 00:58:00,970 >> קהל: כמו, אם אתה משתמש O הגדול סימון, אז זה לא ישתנה בהתאם 1202 00:58:00,970 --> 00:58:04,680 על מספר הדברים ש כבר בלנסות. 1203 00:58:04,680 --> 00:58:07,344 >> ג'ייסון הירשהורן: כך הייתי אומר שזה זמן קבוע. 1204 00:58:07,344 --> 00:58:11,840 זוהי הכנסה קבועה, ו זה בגלל שהרעיון הזה - 1205 00:58:11,840 --> 00:58:14,820 אומר שיש לנו מילה זה 45, או מילה זה 60, כי 1206 00:58:14,820 --> 00:58:16,800 יש מספר קבוע. 1207 00:58:16,800 --> 00:58:21,050 וזה הייתי רק להיות מוכנס בזמן קבוע. 1208 00:58:21,050 --> 00:58:26,060 >> בפועל אם כי, זה לא יהיה, ללא ספק, לקרות באלפית שני אחת, 1209 00:58:26,060 --> 00:58:26,590 למשל. 1210 00:58:26,590 --> 00:58:28,880 אבל היינו אומר O הגדול הוא קבוע עבור לנסות. 1211 00:58:28,880 --> 00:58:31,330 וזה אחד משלה היתרונות הגדולים ביותר. 1212 00:58:31,330 --> 00:58:33,330 >> מה לגבי כניסה לרשימת קישור? 1213 00:58:33,330 --> 00:58:37,220 רק רשימה כללית, מסודרים על קישור? 1214 00:58:37,220 --> 00:58:37,700 כן. 1215 00:58:37,700 --> 00:58:38,530 >> קהל: יש לי שאלה. 1216 00:58:38,530 --> 00:58:42,670 בבדיקה, שהם אי פעם לשאול אותנו זמן החדרה זה ארבעה שלבים, 1217 00:58:42,670 --> 00:58:43,270 או משהו? 1218 00:58:43,270 --> 00:58:44,300 או שזה רק - 1219 00:58:44,300 --> 00:58:47,670 כשאתה אומר זמן החדרה הוא אחד, זה רק אומר שזמן קבוע? 1220 00:58:47,670 --> 00:58:49,770 >> ג'ייסון הירשהורן: כן, הם הייתם תמיד שואל, האם זה O הגדול של n? 1221 00:58:49,770 --> 00:58:51,440 O הגדול של n יומן? 1222 00:58:51,440 --> 00:58:53,960 N בריבוע קבוע. 1223 00:58:53,960 --> 00:58:56,520 אלה הם באמת רק אלה שאתה צריך לדעת. 1224 00:58:56,520 --> 00:58:58,420 מה לגבי כניסה אל מסודרים על קישור רשימה? 1225 00:58:58,420 --> 00:58:59,440 >> קהל: יש לי שאלה - 1226 00:58:59,440 --> 00:58:59,980 שאלה - 1227 00:58:59,980 --> 00:59:01,060 >> ג'ייסון הירשהורן: מה היא התשובה לשאלה זו, אם כי? 1228 00:59:01,060 --> 00:59:02,120 >> קהל: חכה, מה שאתה לא שואל? 1229 00:59:02,120 --> 00:59:06,750 >> ג'ייסון הירשהורן: מה הוא O הגדול של כניסה לקישור רשימה ממוינת? 1230 00:59:06,750 --> 00:59:07,070 >> קהל: אחד? 1231 00:59:07,070 --> 00:59:09,400 לא להמתין, לא להמתין, n. 1232 00:59:09,400 --> 00:59:11,420 >> ג'ייסון הירשהורן: נ 'חוץ קישור הרשימה. 1233 00:59:11,420 --> 00:59:12,706 ומה הייתה השאלה שלך? 1234 00:59:12,706 --> 00:59:16,440 >> קהל: אז היית כותב o של k או O של 1 ל-- 1235 00:59:16,440 --> 00:59:18,150 >> ג'ייסון הירשהורן: אוה. 1236 00:59:18,150 --> 00:59:21,830 הייתי כותב O של 1, ככל הנראה. 1237 00:59:21,830 --> 00:59:24,160 היה מבנה נתונים אחר אחד זה היה טוב. 1238 00:59:24,160 --> 00:59:25,730 עץ, עץ חיפוש בינארי. 1239 00:59:25,730 --> 00:59:27,510 מה של הכנסה על עץ חיפוש בינארי? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> קהל: כניסה. 1242 00:59:33,900 --> 00:59:39,260 >> ג'ייסון הירשהורן: אז, מה הוא הגרוע ביותר מקרה בעץ חיפוש בינארי? 1243 00:59:39,260 --> 00:59:45,350 אז אם אנחנו לקרות כדי להתחיל בשעה 5, וכל מספר גדול מ 5, ולאחר מכן 1244 00:59:45,350 --> 00:59:48,760 יש לנו 5, 7, 9, 11, וכולי. 1245 00:59:48,760 --> 00:59:52,255 במקרה זה, זה בעצם רק קישור רשימה, ואנחנו צריכים להכניס את כל 1246 00:59:52,255 --> 00:59:52,680 את הדרך בסוף. 1247 00:59:52,680 --> 00:59:54,350 אז זה O הגדול של n. 1248 00:59:54,350 --> 00:59:57,720 >> זה יכול להיות במקרה הגרוע ביותר שלנו על עץ חיפוש בינארי. 1249 00:59:57,720 --> 01:00:00,890 ברור, אתה לעולם לא לבנות עץ חיפוש בינארי עם 5 ב 1250 01:00:00,890 --> 01:00:04,270 באמצע, בידיעה 5 היינו להיות המספר הנמוך ביותר. 1251 01:00:04,270 --> 01:00:08,030 אבל זה יכול להיות, אם אתה מתחיל מהתחלה. 1252 01:00:08,030 --> 01:00:10,980 כל שאלות על זה לפני שאני תעבור לשאלה אחרת? 1253 01:00:10,980 --> 01:00:11,560 זו הייתה שאלה טובה. 1254 01:00:11,560 --> 01:00:15,100 אני יודע O הגדול של - 1255 01:00:15,100 --> 01:00:18,620 >> קהל: מה על חיפוש במשך ארבעה אלה? 1256 01:00:18,620 --> 01:00:20,400 >> ג'ייסון הירשהורן: בהחלט עשה חיפוש ומיון. 1257 01:00:20,400 --> 01:00:22,160 אנחנו עשינו את כל האלגוריתמים האלה, נכון. 1258 01:00:22,160 --> 01:00:23,390 חכו, זה היה עבור 1 חידון? 1259 01:00:23,390 --> 01:00:23,980 היה שכיסה - 1260 01:00:23,980 --> 01:00:25,860 האם כבר יש לך את זה שאלה ב -1 בחידון? 1261 01:00:25,860 --> 01:00:29,650 זמן הריצה O הגדול של חיפוש בינארי, סוג ההכנסה, מיון בועות? 1262 01:00:29,650 --> 01:00:30,160 >> קהל: כן. 1263 01:00:30,160 --> 01:00:32,790 >> ג'ייסון הירשהורן: אם היה לך את זה שאלה בחידון 0, רוב הסיכויים הם שאתה לא 1264 01:00:32,790 --> 01:00:35,180 תקבל את אותה השאלה מדויקת על 1 חידון. 1265 01:00:35,180 --> 01:00:36,300 יכול להיות עדיין טוב לדעתם. 1266 01:00:36,300 --> 01:00:38,520 כבר אתה צריך לקוות יודע GH. 1267 01:00:38,520 --> 01:00:40,740 >> אבל runtimes לוגריתמים אחרת הם כנראה טובים לדעת. 1268 01:00:40,740 --> 01:00:42,890 דברים שלא כוסו על חידון 0. 1269 01:00:42,890 --> 01:00:47,300 כמו כל מפעילים אלה על סוגי נתונים מופשטים אלה. 1270 01:00:47,300 --> 01:00:50,760 >> בסדר, בואו נמשיך הלאה. 1271 01:00:50,760 --> 01:00:52,190 אחד זה צריך להיות די מהיר. 1272 01:00:52,190 --> 01:00:56,170 וזו שפה חדשה שיש לנו לא למעשה מקודד בעבר. 1273 01:00:56,170 --> 01:00:59,300 זה שואל את השאלה קוד ב-PHP. 1274 01:00:59,300 --> 01:01:01,950 אז לשקול את מערך PHP להלן. 1275 01:01:01,950 --> 01:01:06,150 לכתוב קודי PHP ו / או HTML כך שהוא פלטי שולחן שתי עמודות עם TFS 1276 01:01:06,150 --> 01:01:08,810 שמות ובתים. 1277 01:01:08,810 --> 01:01:11,600 >> אתה אף פעם לא עשית את זה קודם, בעיה ספציפית זו. 1278 01:01:11,600 --> 01:01:16,270 אבל זה צריך להיות מאוד מוכר לי מה שעשית בבעיה להגדיר 7. 1279 01:01:16,270 --> 01:01:21,250 אז אני יהיה מוכן להתערב איתך יהיה שאל את הקוד ב-PHP שמשהו 1280 01:01:21,250 --> 01:01:23,880 דומה מאוד למה שאתה עשה בבעיה להגדיר 7. 1281 01:01:23,880 --> 01:01:26,300 >> ראשית, המערך הוא לא כל כך ספציפי. 1282 01:01:26,300 --> 01:01:28,140 איזה סוג של מערך זה? 1283 01:01:28,140 --> 01:01:29,080 >> קהל: אסוציאטיבי. 1284 01:01:29,080 --> 01:01:31,250 >> ג'ייסון הירשהורן: זה מערך אסוציאטיבי. 1285 01:01:31,250 --> 01:01:33,750 ומה ההבדל בין מערך אסוציאטיבי ואובייקט? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> קהל: מערך אובייקט יש מדד של מספרים שלמים, ומערך אסוציאטיבי 1288 01:01:44,857 --> 01:01:47,814 הוא מדד של מחרוזת, או משהו כזה. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> ג'ייסון הירשהורן: אז מערך של אובייקטים יהיו מדדים 1291 01:01:54,880 --> 01:01:57,090 מספרים שלמים, אבל יש אובייקט שדות. 1292 01:01:57,090 --> 01:02:01,590 יש לו שדות שמות אלה כמו שם, בית, תלמיד. 1293 01:02:01,590 --> 01:02:03,720 האם יש לך רעיון? 1294 01:02:03,720 --> 01:02:06,630 >> קהל: ובכן, אסוציאטיבי מערך הוא ב-PHP, נכון? 1295 01:02:06,630 --> 01:02:07,880 ומטרה היא בJavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> ג'ייסון הירשהורן: בכנות, אין הבדל אמיתי בין שתיים. 1298 01:02:14,820 --> 01:02:19,540 לשניהם יש מחרוזות כמו המפתחות, ויכולים יש בעצם כל דבר כערך. 1299 01:02:19,540 --> 01:02:21,250 שפות שונות קוראים אחד מערך אסוציאטיבי דבר, 1300 01:02:21,250 --> 01:02:22,750 דבר אחד אובייקט. 1301 01:02:22,750 --> 01:02:25,960 אז בכנות, אין אמיתי הבדל, אבל יש בהחלט כמה 1302 01:02:25,960 --> 01:02:27,730 הבדלים תחביריים בין שתיים. 1303 01:02:27,730 --> 01:02:28,200 כן. 1304 01:02:28,200 --> 01:02:33,580 >> קהל: אז הוא אובייקט גם מקודד תחת מכסה המנוע כשולחן חשיש, ולאחר מכן? 1305 01:02:33,580 --> 01:02:35,796 >> ג'ייסון הירשהורן: מה אתה עושה כלומר, מקודד מתחת למכסת המנוע? 1306 01:02:35,796 --> 01:02:38,017 >> קהל: נאמר לנו שאסוציאטיבי המערך היה מבחינה טכנית 1307 01:02:38,017 --> 01:02:39,960 חשיש שולחן. 1308 01:02:39,960 --> 01:02:44,510 אז גם הוא אובייקט מבחינה טכנית שולחן חשיש? 1309 01:02:44,510 --> 01:02:45,350 >> ג'ייסון הירשהורן: אני לא הולך כדי לענות על שאלה זו. 1310 01:02:45,350 --> 01:02:46,600 אני אחזור אליך בעניין הזה. 1311 01:02:46,600 --> 01:02:48,980 אבל אני לא חושב על שני מאותם ככה. 1312 01:02:48,980 --> 01:02:53,790 אבל, בכל דרך, ומערך אסוציאטיביים אובייקט, בדרך כלל, אנשים משתמשים אלו 1313 01:02:53,790 --> 01:02:54,910 מונחים לסירוגין. 1314 01:02:54,910 --> 01:02:57,630 במקרה זה, החלק מגניב הוא שאתה יכול להשתמש במקשים. 1315 01:02:57,630 --> 01:03:00,580 מחרוזות כמו מפתחות, ולא רק מספרים פשוטים. 1316 01:03:00,580 --> 01:03:02,070 >> אז אני כבר מדבר על זה לזמן מה. 1317 01:03:02,070 --> 01:03:04,090 יש לקוות, יש אנשים שיש קיבלתי התחיל בזה. 1318 01:03:04,090 --> 01:03:08,050 אנחנו הולכים לכתוב כמה PHP ו-HTML קוד, כך שאנו מקבלים שתי עמודות 1319 01:03:08,050 --> 01:03:11,830 טבלה עם שמות TFS ובתים. 1320 01:03:11,830 --> 01:03:15,380 >> בסדר, אני רוצה גם כותרת שורה בטבלה זו. 1321 01:03:15,380 --> 01:03:18,410 אז אני הולך לקבל ישר לתוך זה. 1322 01:03:18,410 --> 01:03:20,770 אנחנו הולכים להגיש, חדשים, ואנחנו הולכים - 1323 01:03:20,770 --> 01:03:27,780 1324 01:03:27,780 --> 01:03:28,320 >> על אישור. 1325 01:03:28,320 --> 01:03:29,970 איך אני מתחיל שולחן? 1326 01:03:29,970 --> 01:03:32,090 מה התג, מיכאל, כדי להתחיל שולחן? 1327 01:03:32,090 --> 01:03:32,890 >> קהל: טבלה. 1328 01:03:32,890 --> 01:03:34,020 >> ג'ייסון הירשהורן: לוח. 1329 01:03:34,020 --> 01:03:37,870 ואם אני פותח תג, מה עוד אני צריך? 1330 01:03:37,870 --> 01:03:39,810 >> קהל: ראש? 1331 01:03:39,810 --> 01:03:41,040 או, אני מניח, בכיתה. 1332 01:03:41,040 --> 01:03:41,730 >> ג'ייסון הירשהורן: אז סליחה. 1333 01:03:41,730 --> 01:03:45,430 תניח שאנחנו כבר כתבנו doctab, HTML, כל הדברים האלה. 1334 01:03:45,430 --> 01:03:50,230 אבל אם אני פותח תג טבלה זו, מה עוד עליי צריכה לכתוב? 1335 01:03:50,230 --> 01:03:53,450 ללאמת HTML? 1336 01:03:53,450 --> 01:03:55,000 >> קהל: סגור אותו. 1337 01:03:55,000 --> 01:03:56,050 >> ג'ייסון הירשהורן: סגור את התג. 1338 01:03:56,050 --> 01:03:57,575 כיצד אוכל לכתוב תג קרוב לשולחן? 1339 01:03:57,575 --> 01:03:59,580 >> קהל: דוט סלאש שולחן. 1340 01:03:59,580 --> 01:04:00,960 >> ג'ייסון הירשהורן: סלאש שולחן, נהדר. 1341 01:04:00,960 --> 01:04:02,730 כנראה הגיוני לכתוב שני של יחד אלה משום 1342 01:04:02,730 --> 01:04:03,870 אתה חייב לעשות את זה. 1343 01:04:03,870 --> 01:04:08,575 אוקיי, אם אני רוצה שורת כותרת, איך לעשות אני כותב שורת כותרת עם כותרות? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> קהל: האם זה פחות מ -10 קרובים לשעה - 1346 01:04:19,290 --> 01:04:21,550 TR, כן. 1347 01:04:21,550 --> 01:04:22,100 >> ג'ייסון הירשהורן: TR? 1348 01:04:22,100 --> 01:04:25,080 >> קהל: ואז אותו דבר, הקו הנטוי, כן. 1349 01:04:25,080 --> 01:04:26,610 >> ג'ייסון הירשהורן: אישור ו תן לי שתי עמודות. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> קהל: T D? 1352 01:04:33,210 --> 01:04:34,460 >> ג'ייסון הירשהורן: אישור. 1353 01:04:34,460 --> 01:04:37,730 1354 01:04:37,730 --> 01:04:39,520 אני רוצה שתי עמודות. 1355 01:04:39,520 --> 01:04:40,960 האם זה נותן לי שתי עמודות? 1356 01:04:40,960 --> 01:04:43,880 כמה טורים בזה? 1357 01:04:43,880 --> 01:04:45,920 אחד. 1358 01:04:45,920 --> 01:04:47,170 אז בואו להעתיק ולהדביק את זה. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> אז בעצם, בחידון, כל הקוד הזה שכתבנו עד כה היה 1361 01:05:03,390 --> 01:05:04,710 למעשה נתן לך. 1362 01:05:04,710 --> 01:05:06,200 אבל כנראה שאתה עדיין צריך יודע איך לכתוב את זה. 1363 01:05:06,200 --> 01:05:06,470 כן. 1364 01:05:06,470 --> 01:05:10,636 >> קהל: הבית שלך הוא בין שתיים. 1365 01:05:10,636 --> 01:05:11,130 >> ג'ייסון הירשהורן: בום. 1366 01:05:11,130 --> 01:05:12,720 זה צריך ללכת ישר לשם, נכון? 1367 01:05:12,720 --> 01:05:14,600 שיחה טובה. 1368 01:05:14,600 --> 01:05:17,760 אז שוב, את כל הקוד הזה הוא בעצם ניתנו לך על החידון בפועל. 1369 01:05:17,760 --> 01:05:19,570 אבל זה כיף לכתוב את זה, ואתה צריך לדעת איך לכתוב אותו. 1370 01:05:19,570 --> 01:05:23,640 אז זה מקום שבו אתה צריך כדי להתחיל את הקוד שלך. 1371 01:05:23,640 --> 01:05:25,150 מה אנחנו צריכים לכתוב כאן? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> מצטער, אני צריך לשנות את שמו של קובץ זה. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 אז שמר את זה בקובץ HTML., לא בקובץ PHP.. 1376 01:05:44,270 --> 01:05:47,030 הדברים האלה היינו חסרי משמעות בקובץ PHP.. 1377 01:05:47,030 --> 01:05:48,500 אז אנחנו בקובץ HTML.. 1378 01:05:48,500 --> 01:05:50,090 מהו הדבר הראשון אני צריך לכתוב? 1379 01:05:50,090 --> 01:05:52,990 אני רוצה לשים קצת PHP קוד ה-HTML ב. 1380 01:05:52,990 --> 01:05:57,300 >> קהל: PHP, כמו גזר אחר ו-PHP סימן השאלה, נכון? 1381 01:05:57,300 --> 01:05:58,310 >> ג'ייסון הירשהורן: נהדר. 1382 01:05:58,310 --> 01:05:59,360 ואיך אני עושה בסופו את זה? 1383 01:05:59,360 --> 01:06:02,510 >> קהל: עם סימן שאלה. 1384 01:06:02,510 --> 01:06:03,120 >> ג'ייסון הירשהורן: זה נהדר. 1385 01:06:03,120 --> 01:06:07,090 זה הדבר הראשון שאני צריך אם אני רוצה לשים קצת קוד PHP בכאן. 1386 01:06:07,090 --> 01:06:11,210 >> קהל:. חשבתי PHP קובץ יכול לקחת HTML. 1387 01:06:11,210 --> 01:06:12,290 >> ג'ייסון הירשהורן: כן. 1388 01:06:12,290 --> 01:06:15,330 קובץ PHP. יכול לקחת קצת HTML ולהיות מוצג. 1389 01:06:15,330 --> 01:06:16,450 זה היה רע שלי. 1390 01:06:16,450 --> 01:06:18,300 אני רק מנסה לחקות את מה זה היה בחידון. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> אוקיי, מצטער לבלבל אותך. 1393 01:06:24,720 --> 01:06:25,550 כן, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 עכשיו אנחנו הולכים לשים איזה קוד PHP פנימה 1395 01:06:27,340 --> 01:06:30,530 מהי בשורה הראשונה של קוד PHP שאני צריך לכתוב? 1396 01:06:30,530 --> 01:06:33,360 אני הולך לעבור את המערך הזה ולהפוך אותו לשולחן. 1397 01:06:33,360 --> 01:06:34,600 כן. 1398 01:06:34,600 --> 01:06:37,160 >> קהל: אתה יכול גם להשתמש עבור H לולאה או ללולאה. 1399 01:06:37,160 --> 01:06:38,415 >> ג'ייסון הירשהורן: אוקיי, מה אתה רוצה להשתמש? 1400 01:06:38,415 --> 01:06:40,720 >> קהל: הייתי משתמש בלולאה for. 1401 01:06:40,720 --> 01:06:48,700 ל, ולאחר מכן אתה עושה את סימן דולר אני שווה 0 דולרים פסיק 1402 01:06:48,700 --> 01:06:51,580 תחתום לי פחות מ 2. 1403 01:06:51,580 --> 01:06:55,455 ולאחר מכן פסיק i דולר תחתום לי תוספת בתוספת. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> ג'ייסון הירשהורן: איך לעשות אתה יודע להשתמש 2? 1406 01:07:03,880 --> 01:07:10,444 >> קהל: מכיוון שהיו שני מערכים אסוציאטיביים בתוך גדול 1407 01:07:10,444 --> 01:07:11,960 מערך אסוציאטיבי. 1408 01:07:11,960 --> 01:07:13,610 >> ג'ייסון הירשהורן: אז הדבר הגדול של לא מערך כלולה. 1409 01:07:13,610 --> 01:07:15,500 הדבר הגדול רק מערך רגיל. 1410 01:07:15,500 --> 01:07:17,380 אבל אתה צודק, יש שני מערכים אסוציאטיביים 1411 01:07:17,380 --> 01:07:18,910 בתוך המערך הגדול יותר שלנו. 1412 01:07:18,910 --> 01:07:20,310 זו הסיבה שאתה משתמש בשני. 1413 01:07:20,310 --> 01:07:24,270 אני מרגיש שלא בנוח בהנחה כי הם 2, אז מה דרך לכתוב 1414 01:07:24,270 --> 01:07:26,810 זה ללא הנחה שהם 2? 1415 01:07:26,810 --> 01:07:27,507 >> קהל: [לא ברור]? 1416 01:07:27,507 --> 01:07:29,165 >> ג'ייסון הירשהורן: בסדר, איך אתה כותב את זה? 1417 01:07:29,165 --> 01:07:35,262 >> קהל: סימן דולר foreach TFS או TF סימן דולר כמו. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> ג'ייסון הירשהורן: אוקיי, אז לכל TFS כTFS, אני רוצה, עכשיו 1420 01:07:41,960 --> 01:07:43,650 שוב, יש לי שולחן. 1421 01:07:43,650 --> 01:07:45,250 אז מי יכול לתת לי השורה הבאה של קוד? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> קהל: הדפסה, ולאחר מכן ב ציטוטים, סוף TR הסוגר 1424 01:07:59,810 --> 01:08:02,670 סוגר, סוף הציטוט. 1425 01:08:02,670 --> 01:08:05,300 סוגריים סופו של דבר פסיק. 1426 01:08:05,300 --> 01:08:07,135 >> ג'ייסון הירשהורן: אישור ו מה שהוא הולך לעשות? 1427 01:08:07,135 --> 01:08:08,610 >> קהל: זה הולך לומר, שורה חדשה. 1428 01:08:08,610 --> 01:08:11,070 זה הולך לשים לתייג לשורה חדשה. 1429 01:08:11,070 --> 01:08:13,000 >> ג'ייסון הירשהורן: נכון, PHP זה, כמו דיברנו קודם לכן - זה 1430 01:08:13,000 --> 01:08:22,160 PHP הולך להיות מוערך, ולאחר מכן זה הולך להדפיס לקובץ זה 1431 01:08:22,160 --> 01:08:26,350 גרירה שולחן, ולאחר מכן כי HTML יוערך. 1432 01:08:26,350 --> 01:08:27,810 אנחנו רק מעתיקים את זה HTML היו כאן אנחנו. 1433 01:08:27,810 --> 01:08:28,120 כן. 1434 01:08:28,120 --> 01:08:29,470 >> קהל: [לא ברור]? 1435 01:08:29,470 --> 01:08:30,290 >> ג'ייסון הירשהורן: סליחה? 1436 01:08:30,290 --> 01:08:31,240 זה ממש כאן. 1437 01:08:31,240 --> 01:08:33,590 סתיו 2012. 1438 01:08:33,590 --> 01:08:35,970 אל תסתכלו על התשובות, בואו נפתור את זה ביחד. 1439 01:08:35,970 --> 01:08:37,330 אז אנחנו להדפיס שורה בטבלה. 1440 01:08:37,330 --> 01:08:38,550 אז אתה כנראה ב התנופה של דברים. 1441 01:08:38,550 --> 01:08:41,060 מה השורה הבאה של קוד שצריך לכתוב? 1442 01:08:41,060 --> 01:08:42,926 אסאם, תן לי את השורה הבאה של קוד. 1443 01:08:42,926 --> 01:08:46,290 >> קהל: אתה צריך את השם של TF. 1444 01:08:46,290 --> 01:08:54,319 TF מרכאות סוגריים פתוחים שם סוגריים סגורים. 1445 01:08:54,319 --> 01:08:57,310 >> ג'ייסון הירשהורן: תן לי את השם שלהם. 1446 01:08:57,310 --> 01:08:58,540 >> קהל: אתה צריך להדפיס את זה. 1447 01:08:58,540 --> 01:08:59,790 >> [קולות חציצה] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> ג'ייסון הירשהורן: בסדר, כיצד אוכל להדפיס אותו? 1450 01:09:03,430 --> 01:09:04,680 >> [קולות חציצה] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> ג'ייסון הירשהורן: חסר לי משהו עכשיו. 1453 01:09:10,350 --> 01:09:12,470 מה אני חסר? 1454 01:09:12,470 --> 01:09:13,720 >> קהל: אתה צריך סימן דולר. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> ג'ייסון הירשהורן: מה אחר אני חסר? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 כל מה שהודפסנו עד כה הוא TR. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> קהל: סגור את TR אחריו. 1461 01:09:27,470 --> 01:09:28,720 >> ג'ייסון הירשהורן: אז אנחנו צריכים כדי לסגור את TR אחרי. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 מי שרואה את מה שאנחנו מפסידים על קו 16? 1464 01:09:37,906 --> 01:09:39,340 כן, אנה. 1465 01:09:39,340 --> 01:09:47,050 >> קהל: אתה צריך לפתוח TD וסוגריים מסולסלים. 1466 01:09:47,050 --> 01:09:49,380 >> ג'ייסון הירשהורן: ואיפה אנחנו לשים סוגריים מסולסלים? 1467 01:09:49,380 --> 01:09:51,790 >> קהל: מסביב לשם TF. 1468 01:09:51,790 --> 01:09:53,080 >> ג'ייסון הירשהורן: כמו זה? 1469 01:09:53,080 --> 01:09:55,420 >> קהל: כן. 1470 01:09:55,420 --> 01:09:59,000 ולאחר מכן לסגור את td. 1471 01:09:59,000 --> 01:10:00,250 >> ג'ייסון הירשהורן: כמו זה? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> קהל: האם אתה זקוק לציטוט כפול סימנים הבאים לסוגריים המסולסלים? 1474 01:10:06,950 --> 01:10:07,460 >> ג'ייסון הירשהורן: ממש כאן? 1475 01:10:07,460 --> 01:10:08,710 לא, אתה לא. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 אז זה בדיוק נכון. 1478 01:10:12,550 --> 01:10:12,940 כן. 1479 01:10:12,940 --> 01:10:15,290 >> קהל: אז ההבדל בין זה וencatenating עם נקודות הוא, אם 1480 01:10:15,290 --> 01:10:18,420 אתה משתמש בנקודות, היית צריך שתהיה לי מרכאות כפולות, ולאחר מכן נקודה, 1481 01:10:18,420 --> 01:10:20,370 אז הנקודה - 1482 01:10:20,370 --> 01:10:20,520 >> ג'ייסון הירשהורן: נכון. 1483 01:10:20,520 --> 01:10:23,800 אז אתה אומר שיש אולטימטיבי צורת כתיבה זו ככה. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 מה אופרטור השרשור ב-JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> קהל: סימן הפלוס. 1487 01:10:31,200 --> 01:10:34,710 אתה שכחת לשים מתולתל לייצב בחזרה. 1488 01:10:34,710 --> 01:10:35,760 >> ג'ייסון הירשהורן: נהדר. 1489 01:10:35,760 --> 01:10:38,850 ויש שורה אחת יותר קוד חסר. 1490 01:10:38,850 --> 01:10:40,130 מי יכול לתת לי את השורה האחרונה קוד שאנחנו חסרים? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> קהל: פשוט בדיוק אותו דבר, רק עם בית במקום שם. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 גדול 1495 01:10:53,450 --> 01:10:54,390 >> ג'ייסון הירשהורן: נהדר. 1496 01:10:54,390 --> 01:10:59,320 והתחביר שלך הוא בדיוק מתאים לי מקבל דברים במערך חברה כלולה. 1497 01:10:59,320 --> 01:11:04,450 אז בחידון בפועל, אתה למעשה ויתר עד כאן. 1498 01:11:04,450 --> 01:11:05,710 אז קוד זה ניתן לך. 1499 01:11:05,710 --> 01:11:07,750 כל מה שאתה הייתי צריך לכתוב היו אלה ארבע שורות ולזכור 1500 01:11:07,750 --> 01:11:09,190 לסגור את תג הטבלה. 1501 01:11:09,190 --> 01:11:11,370 אתם בעצם עשו כל זה ועוד. 1502 01:11:11,370 --> 01:11:11,810 כן. 1503 01:11:11,810 --> 01:11:14,850 >> קהל: אז זה יהיה פונקציונלי אותו הדבר אם אתה פשוט היה שכל ב 1504 01:11:14,850 --> 01:11:17,250 שיחה אחת גדולה הדפסה, נכון? 1505 01:11:17,250 --> 01:11:19,630 ולאחר מכן רק בשרשור אותו, וכולי? 1506 01:11:19,630 --> 01:11:20,730 >> ג'ייסון הירשהורן: כמו זה? 1507 01:11:20,730 --> 01:11:21,980 >> קהל: כן. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 זה פשוט לא ייראה טוב אם היית מסתכל על זה כשאתה בודק 1510 01:11:26,940 --> 01:11:28,550 האלמנט באתר שלך, נכון? 1511 01:11:28,550 --> 01:11:29,800 >> ג'ייסון הירשהורן: אני מסכים. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 אם אני טעון דף האינטרנט הזה, שאני אהיה תוכל לראות את קוד PHP הזה, אי פעם? 1514 01:11:38,710 --> 01:11:39,240 >> קהל: לא. 1515 01:11:39,240 --> 01:11:40,080 >> ג'ייסון הירשהורן: מס 1516 01:11:40,080 --> 01:11:42,240 ובעצם, לא הייתי. 1517 01:11:42,240 --> 01:11:43,920 >> קהל: זה לא ה-HTML, נכון? 1518 01:11:43,920 --> 01:11:45,000 כך שאתה עלול להיות מסוגל - 1519 01:11:45,000 --> 01:11:46,780 >> ג'ייסון הירשהורן: אז PHP זה היית להיות מוערך בצד שרת. 1520 01:11:46,780 --> 01:11:51,020 PHP תמיד מוערך בצד שרת, ולכן אתה לעולם לא תוכל לראות את קוד ה-PHP. 1521 01:11:51,020 --> 01:11:52,980 >> קהל: אבל אתה רוצה להיות מסוגל לראות את התוצאה של הדפסים. 1522 01:11:52,980 --> 01:11:53,480 >> ג'ייסון הירשהורן: נכון. 1523 01:11:53,480 --> 01:11:55,510 וזה אולי לא ביושר לשים את הכל על הקו. 1524 01:11:55,510 --> 01:11:59,740 זה יכול לעצב אותו בצורה יפה בשבילך, או שזה יכול לשים אותו בשורה אחת. 1525 01:11:59,740 --> 01:12:01,521 לא ברור. 1526 01:12:01,521 --> 01:12:03,596 אבל כן, נקודה טובה. 1527 01:12:03,596 --> 01:12:06,470 >> קהל: איך יש אין הדגשת טקסט עבור 1528 01:12:06,470 --> 01:12:07,550 כל אחת מפקודות PHP? 1529 01:12:07,550 --> 01:12:09,370 כי אני זוכר שראיתי את זה. 1530 01:12:09,370 --> 01:12:11,620 >> ג'ייסון הירשהורן: כי זה . קובץ HTML כאן בחלק העליון. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 הנה לך. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> קהל: אם הייתי עושים את השיטה הראשונית עם לולאות, נכון, אם אנחנו 1535 01:12:28,800 --> 01:12:33,500 רציתי לגשת TFS, היית עושה לנו לעשות סוגר TFS 0 סוגר, ולאחר מכן 1536 01:12:33,500 --> 01:12:35,180 [לא ברור]? 1537 01:12:35,180 --> 01:12:35,970 >> ג'ייסון הירשהורן: אתה היית עושה - 1538 01:12:35,970 --> 01:12:40,560 אז אתה אומר ללולאה, אתה הייתי עושה בסוגר TFS סימן דולר 1 1539 01:12:40,560 --> 01:12:41,850 או אני, נכון. 1540 01:12:41,850 --> 01:12:46,780 או סימן דולר אני סוגר סוגריים ולאחר מכן סוגר מרובע 1541 01:12:46,780 --> 01:12:49,600 מרכאות כפולות, כן. 1542 01:12:49,600 --> 01:12:50,640 >> בסדר, מצוין. 1543 01:12:50,640 --> 01:12:53,020 יש לנו אחד מהיר אחד יותר. 1544 01:12:53,020 --> 01:12:55,090 שבע דקות, אז אני רוצה ללכת על זה. 1545 01:12:55,090 --> 01:12:56,160 זוהי דוגמא נוספת. 1546 01:12:56,160 --> 01:12:58,740 אנחנו עכשיו בשפה אחרת לגמרי. 1547 01:12:58,740 --> 01:12:59,990 >> יש לנו כמה קוד ה-HTML. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 זה סוג של קטן על המסך, אבל אני רוצה שתסתכל דרכו באמת 1550 01:13:07,460 --> 01:13:11,140 במהירות, ומישהו יכול להגיד לי, אם הייתי האפשרות לטעון את דף האינטרנט הזה, 1551 01:13:11,140 --> 01:13:12,390 מה הייתי רואה? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 תאר על הכל דף אינטרנט זה. 1554 01:13:26,450 --> 01:13:28,630 נח? 1555 01:13:28,630 --> 01:13:30,450 מה הייתי רואה? 1556 01:13:30,450 --> 01:13:38,140 >> קהל: קוד בסוף מול גוגל עם תחושה של טקסט ו 1557 01:13:38,140 --> 01:13:39,190 כפתור שליחה. 1558 01:13:39,190 --> 01:13:41,180 >> ג'ייסון הירשהורן: ומה הייתי הכפתור אומר? 1559 01:13:41,180 --> 01:13:42,430 >> קהל: שלח. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 אה, חיפוש. 1562 01:13:45,160 --> 01:13:45,840 אני מצטער. 1563 01:13:45,840 --> 01:13:46,830 >> ג'ייסון הירשהורן: זה הייתי אומר חיפוש. 1564 01:13:46,830 --> 01:13:47,520 זכור, שם. 1565 01:13:47,520 --> 01:13:50,550 מה שאנחנו כן להשתמש בשם ל? 1566 01:13:50,550 --> 01:13:53,774 זה שם תכונה, מה שמשמש? 1567 01:13:53,774 --> 01:13:55,470 >> [קולות חציצה] 1568 01:13:55,470 --> 01:13:59,300 >> קהל: זה השם שלה לכאשר הוא לחץ? 1569 01:13:59,300 --> 01:14:00,160 >> ג'ייסון הירשהורן: זה יכול להיות. 1570 01:14:00,160 --> 01:14:02,690 אבל מה שאנחנו בדרך כלל רואים - למה אנחנו נותנים את זה שם בתור? 1571 01:14:02,690 --> 01:14:03,830 למה אנחנו רואים את זה? 1572 01:14:03,830 --> 01:14:05,220 כן. 1573 01:14:05,220 --> 01:14:08,600 >> קהל: האם זה לא יהפוך למדד של המשתנה סופר הגלובלית? 1574 01:14:08,600 --> 01:14:12,740 >> ג'ייסון הירשהורן: כן, בדרך כלל כאשר טופס זה יגיש, ואז שבו 1575 01:14:12,740 --> 01:14:13,500 הייתי זה להגיש ל? 1576 01:14:13,500 --> 01:14:14,750 מה דף? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 נח, מה יהיה בדף זה להגיש ל? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> קהל: אני לא בטוח. 1581 01:14:27,700 --> 01:14:28,920 >> ג'ייסון הירשהורן: איפה יכולים אנו יכולים למצוא אותו? 1582 01:14:28,920 --> 01:14:31,025 איפה אתה מוצא את מה דף שהיא מגישה ל? 1583 01:14:31,025 --> 01:14:32,850 מה שורת קוד? 1584 01:14:32,850 --> 01:14:34,040 >> קהל: פעולת טופס. 1585 01:14:34,040 --> 01:14:34,650 >> ג'ייסון הירשהורן: בדיוק. 1586 01:14:34,650 --> 01:14:35,130 פעולה. 1587 01:14:35,130 --> 01:14:37,100 אז שהיא מגישה לדף החיפוש. 1588 01:14:37,100 --> 01:14:38,630 חיפוש לוכסן הפוך. 1589 01:14:38,630 --> 01:14:40,140 אז זה בדיוק נכון. 1590 01:14:40,140 --> 01:14:40,680 מה שיטה? 1591 01:14:40,680 --> 01:14:42,090 >> קהל: קבל. 1592 01:14:42,090 --> 01:14:42,490 >> ג'ייסון הירשהורן: קבל. 1593 01:14:42,490 --> 01:14:43,420 בדיוק. 1594 01:14:43,420 --> 01:14:44,490 אז אנחנו קוראים את זה. 1595 01:14:44,490 --> 01:14:45,180 זה הולך להיות צורה. 1596 01:14:45,180 --> 01:14:45,910 אתה צודק. 1597 01:14:45,910 --> 01:14:50,340 שני דברים בטופס, הכותרת של דף והחלק העליון יהיה של גוגל. 1598 01:14:50,340 --> 01:14:54,270 >> אז הנה שתי שאלות שאתה צריך להיות מסוגל לענות על דף זה. 1599 01:14:54,270 --> 01:15:01,760 אם ה-HTML הזה חי באתר זה ו משתמש תשומות באג לטקסט הזה 1600 01:15:01,760 --> 01:15:06,900 שדה כאן, יהיו מה כתובת אתר המשתמש למצוא את עצמה עם 1601 01:15:06,900 --> 01:15:08,150 הגשת הטופס? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> אז יש לנו את זה כאן. 1604 01:15:12,510 --> 01:15:13,720 אני הולך לחזור ל בדף זה, אם כי. 1605 01:15:13,720 --> 01:15:16,980 אני אכתוב את החלק הראשון הזה. 1606 01:15:16,980 --> 01:15:18,230 האם כל אחד יכול לראות כאן? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 בסדר, מריו, אתה חושב שאתה יודע? 1609 01:15:32,906 --> 01:15:34,700 מה דף? 1610 01:15:34,700 --> 01:15:37,630 >> קהל: חיפוש קו נטוי הפוך. 1611 01:15:37,630 --> 01:15:38,880 >> ג'ייסון הירשהורן: אני הולך לעבור לכאן. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 אוקיי, שאלת חיפוש לוכסן הפוך סימן q שווה באגים. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 יש למישהו הצעה אחרת? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 כן. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> אז איך אנחנו מקבלים את זה? 1620 01:16:03,740 --> 01:16:05,520 ובכן, ראינו את זה קודם. 1621 01:16:05,520 --> 01:16:07,170 ואתה בא עם זה קודם לכן. 1622 01:16:07,170 --> 01:16:08,870 אתה צדקת, נח, כי פעולה אומרת לנו מה 1623 01:16:08,870 --> 01:16:11,700 דף שאנחנו הולכים. 1624 01:16:11,700 --> 01:16:12,820 >> אנחנו גם יודעים מה שיטה. 1625 01:16:12,820 --> 01:16:13,420 אנחנו עושים את הגט. 1626 01:16:13,420 --> 01:16:17,040 וההבדל בין לקבל ולפרסם הוא שיקבל מציג ב-URL 1627 01:16:17,040 --> 01:16:18,490 ולאחר לא. 1628 01:16:18,490 --> 01:16:22,760 אז אם כתבתי הודעה ממש שם שיטה, מה יהיה שונה? 1629 01:16:22,760 --> 01:16:24,250 >> קהל: רק זה היית להיות חיפוש לוכסן. 1630 01:16:24,250 --> 01:16:25,400 >> ג'ייסון הירשהורן: זה היית פשוט להיות סלאש חיפוש. 1631 01:16:25,400 --> 01:16:27,400 שום דבר כאן לא יקרה. 1632 01:16:27,400 --> 01:16:30,030 אבל בגלל זה, את כתובת האתר יקבל מוצג בצורה הבאה. 1633 01:16:30,030 --> 01:16:35,140 ראשון שאנו רואים סימן שאלה ו אנו רואים את השם ואת הערך. 1634 01:16:35,140 --> 01:16:42,730 אומר שיש שדה טקסט אחר אחד ו נתתי לו את שם של r ואני קלט 1635 01:16:42,730 --> 01:16:45,220 ערך, זחל. 1636 01:16:45,220 --> 01:16:48,560 מה היית את זה עכשיו נראה? 1637 01:16:48,560 --> 01:16:52,040 יש לי שדה טקסט יותר אחד, אני נותן לי שמו של r וערך של זחל. 1638 01:16:52,040 --> 01:16:56,990 >> קהל: לאחר הבר שיהיה לך זחל האמפרסנד. 1639 01:16:56,990 --> 01:16:58,380 >> ג'ייסון הירשהורן: זה לא אמפרסנד. 1640 01:16:58,380 --> 01:17:00,500 >> קהל: או שפשוט כל מה והסמל. 1641 01:17:00,500 --> 01:17:01,330 >> ג'ייסון הירשהורן: כן, לא. 1642 01:17:01,330 --> 01:17:03,700 אתה צדקת, אני טעיתי. 1643 01:17:03,700 --> 01:17:05,660 זה כמו גרם. 1644 01:17:05,660 --> 01:17:06,910 >> קהל: קטרפילר. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r שווה זחל, מצטער. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> ג'ייסון הירשהורן: האם יש אין r שם? 1649 01:17:14,700 --> 01:17:16,680 >> קהל: לא, אין. 1650 01:17:16,680 --> 01:17:18,030 >> ג'ייסון הירשהורן: נדברים על זה אחרי השיעור. 1651 01:17:18,030 --> 01:17:18,930 זה בדיוק נכון. 1652 01:17:18,930 --> 01:17:20,530 אז והיא נכונה. 1653 01:17:20,530 --> 01:17:23,430 ואז יש לך יכול שרבים מאלה, והם כולם היו בשרשור 1654 01:17:23,430 --> 01:17:24,950 יחד עם זה ו. 1655 01:17:24,950 --> 01:17:25,900 אז זה בדיוק נכון. 1656 01:17:25,900 --> 01:17:27,700 >> יש עוד שאלה אחת. 1657 01:17:27,700 --> 01:17:30,676 לשרטט DOM של HTML זה, החל עם מסמך. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 אנחנו יכולים לעשות את זה בשתי דקות. 1660 01:17:34,570 --> 01:17:36,790 אנחנו נעשה את זה כאן. 1661 01:17:36,790 --> 01:17:38,040 אני אחזור לדף אינטרנט זה. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 בסדר, אנחנו מתחילים עם מסמך. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> מה הלאה? 1666 01:17:52,090 --> 01:17:53,910 לכן, כאשר אתה קורא דרך - 1667 01:17:53,910 --> 01:17:54,540 >> קהל: ה-HTML. 1668 01:17:54,540 --> 01:17:55,790 >> ג'ייסון הירשהורן: HTML הוא הבא. 1669 01:17:55,790 --> 01:17:57,850 אנחנו הולכים ללכת תג על ידי תג. 1670 01:17:57,850 --> 01:18:00,890 מה של אחרי ה-HTML? 1671 01:18:00,890 --> 01:18:01,550 >> קהל: ראש. 1672 01:18:01,550 --> 01:18:02,800 >> ג'ייסון הירשהורן: ראש. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 מה אחרי הראש? 1675 01:18:08,520 --> 01:18:09,770 >> קהל: כותרת. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> ג'ייסון הירשהורן: כותרת. 1678 01:18:12,560 --> 01:18:14,740 ויש לו תואר בשווי של גוגל, אבל אני לא הולך 1679 01:18:14,740 --> 01:18:16,240 כותב כי לעת עתה. 1680 01:18:16,240 --> 01:18:18,750 אישור, שבו אין גוף ללכת? 1681 01:18:18,750 --> 01:18:20,890 >> קהל: כן יורד של ה-HTML. 1682 01:18:20,890 --> 01:18:21,490 >> ג'ייסון הירשהורן: בדיוק. 1683 01:18:21,490 --> 01:18:22,820 גוף יורד מכאן. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 האם כולם מבינים למה זה המקרה? 1686 01:18:30,330 --> 01:18:32,970 אתה כנראה צריך להיות מסוגל להבין את זה, יותר מדי, גם אם לא היה לי 1687 01:18:32,970 --> 01:18:33,665 כניסה זה נחמד. 1688 01:18:33,665 --> 01:18:37,680 >> כניסת סוג של נותנת לו משם, אבל אתה יכול לראות שיש לו תג הראש 1689 01:18:37,680 --> 01:18:41,240 נסגר, מה שאומר שאנחנו כנראה לא יכול ללכת לכאן. 1690 01:18:41,240 --> 01:18:43,460 אנחנו צריכים לחזור עד לכל מה היה ממש לפני הראש 1691 01:18:43,460 --> 01:18:44,730 תג, או מתחת לזה. 1692 01:18:44,730 --> 01:18:46,720 אנחנו אפילו עם תג הראש. 1693 01:18:46,720 --> 01:18:48,560 >> ומתחת לגוף עובר טופס. 1694 01:18:48,560 --> 01:18:50,300 על פי טופס, יש שתי כניסות. 1695 01:18:50,300 --> 01:18:53,330 1696 01:18:53,330 --> 01:18:54,420 על אישור. 1697 01:18:54,420 --> 01:18:55,490 זה כל מה שיש לי. 1698 01:18:55,490 --> 01:18:56,980 חידון 1 הוא מחר. 1699 01:18:56,980 --> 01:18:58,350 אני כל כך מתרגש בשבילכם. 1700 01:18:58,350 --> 01:18:59,690 זה הולך להיות פיצוץ. 1701 01:18:59,690 --> 01:19:00,250 >> אם יש לך - 1702 01:19:00,250 --> 01:19:00,600 >> קהל: [מחיאות כפות] 1703 01:19:00,600 --> 01:19:02,460 >> ג'ייסון הירשהורן: אוי תפסיק, תפסיק. 1704 01:19:02,460 --> 01:19:04,520 אבל לא, אני צוחק. 1705 01:19:04,520 --> 01:19:07,220 אם יש לך שאלות, נכון אחרי הסעיף, אני אהיה בחוץ. 1706 01:19:07,220 --> 01:19:11,700 אם יש לך שאלות הלילה, אל תהסס להתקשר, דואר אלקטרוני, Gchat, 1707 01:19:11,700 --> 01:19:12,740 נושאת יונתי. 1708 01:19:12,740 --> 01:19:13,950 מזל טוב מחר. 1709 01:19:13,950 --> 01:19:16,220 יש חופשת חג הודיה נפלאה, אם אני לא אראה אותך לפני כן. 1710 01:19:16,220 --> 01:19:19,320 ואני אראה אותך אחרי חג ההודיה ביום שלישי לסופי שלנו 1711 01:19:19,320 --> 01:19:20,295 מסיבת סעיף אי פעם. 1712 01:19:20,295 --> 01:19:21,545 >> קהל: [לא ברור]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> ג'ייסון הירשהורן: נהדר. 1715 01:19:25,790 --> 01:19:28,900 בסדר, אני אראה לכם הבא שבוע, או בשבועות. 1716 01:19:28,900 --> 01:19:30,150 ומזל טוב מחר. 1717 01:19:30,150 --> 01:19:32,203