1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [סמינר] [פיתוח אינטרנט: מרעיון ליישום] 2 00:00:02,500 --> 00:00:04,200 [בן קון] [בילי Janitsch] [אוניברסיטת הרווארד] 3 00:00:04,200 --> 00:00:07,250 [זה CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [בילי] היי, אני בילי וזה בן. >> [בן] היי. 5 00:00:10,840 --> 00:00:12,840 אנחנו הולכים לדבר על התפתחות אינטרנט היום. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [בילי Janitsch ובן קון] 7 00:00:14,840 --> 00:00:16,840 קצת עלינו ראשון. 8 00:00:16,840 --> 00:00:19,590 בן הוא סוג של עורפי הבחור. הוא עושה דברים עובדים. 9 00:00:19,590 --> 00:00:21,870 ואז אני נכנסתי ולהפוך אותם יפה. 10 00:00:21,870 --> 00:00:26,610 אני מעורב במידה רבה יותר עם סוג עיצוב פריסה החזיתי של דברים, 11 00:00:26,610 --> 00:00:31,260 ובן, לעומת זאת, יודע מה הוא עושה ולכן הוא עובד על דברים עורפיים. 12 00:00:31,260 --> 00:00:34,050 יחד עשינו כמה דברים. 13 00:00:34,050 --> 00:00:38,710 לדוגמא, בשנה שעברה עבדנו על Gimblium שהוא אולפן פיתוח משחקים מקוון. 14 00:00:38,710 --> 00:00:40,400 זה היה פרויקט הגמר שלנו לכיתה, 15 00:00:40,400 --> 00:00:42,780 ומאז שעשינו בהרווארד כיתה 16 00:00:42,780 --> 00:00:47,860 אשר מהווה מסגרת לגלישה באינטרנט וקורסי קניות באוניברסיטת הרווארד. 17 00:00:47,860 --> 00:00:53,180 >> אנחנו הולכים להתחיל עם הרעיון הזה לאתר שלנו. 18 00:00:53,180 --> 00:00:57,480 אנחנו הולכים לעשות את פייסבוק, אבל לחתולים. 19 00:00:57,480 --> 00:00:59,520 לפני שאתה בעצם להפוך את האתר הזה, 20 00:00:59,520 --> 00:01:02,520 לא להפוך את האתר הזה, כי זה לא טוב, אבל אנחנו משתמשים בו כמסגרת 21 00:01:02,520 --> 00:01:05,349 ולעבור את התהליך של איך אנחנו לוקחים את הרעיון הזה 22 00:01:05,349 --> 00:01:07,450 ולהפוך אותו לאתר אמיתי שאנחנו יכולים להשתמש בו. 23 00:01:07,450 --> 00:01:11,940 נתחיל על ידי שבירת האתר למטה. 24 00:01:11,940 --> 00:01:13,190 כמו שאתה כבר עושה בCS50, 25 00:01:13,190 --> 00:01:17,360 אתה רוצה לחשוב על מה שהם המרכיבים האמיתיים שייכנסו לאתר זה. 26 00:01:17,360 --> 00:01:21,290 בעצם להפוך אותו מרעיון וזה רק סוג של מושג מופשט 27 00:01:21,290 --> 00:01:23,590 לדבר אמיתי, מוחשי שאתה יכול לעשות. 28 00:01:23,590 --> 00:01:25,910 נתחיל בלשאול כמה שאלות. 29 00:01:25,910 --> 00:01:28,070 מה זה האתר הזה? למה אנחנו עושים את זה? 30 00:01:28,070 --> 00:01:30,670 מה זה הולך לשמש? דברים מהסוג הזה. 31 00:01:30,670 --> 00:01:33,660 במקרה של פייסבוק חתול, 32 00:01:33,660 --> 00:01:37,730 אנחנו בעצם רוצים אתר שמאפשר רשת חברתית חתולים אחד עם השני. 33 00:01:37,730 --> 00:01:41,260 הרעיון הוא שהם יכולים לכתוב על קירותיו של זה, 34 00:01:41,260 --> 00:01:43,510 הם יכולים להעיר הערות, דברים מהסוג הזה. 35 00:01:43,510 --> 00:01:46,720 וזה שבו אנו באים ברכיבים הפונקציונליים. 36 00:01:46,720 --> 00:01:51,270 עכשיו יש לנו את זה סוג של מסגרת - יש לנו פרופילי משתמשים, 37 00:01:51,270 --> 00:01:53,990 יש לנו הערות, ואנחנו יכולים לפרסם. 38 00:01:53,990 --> 00:01:57,390 אולי ביום מן הימים אנחנו influent אוהב ודברים מהסוג הזה. 39 00:01:57,390 --> 00:02:00,410 ואנחנו סוג של רוצים לתעדף תכונות אלה הולכים פנימה 40 00:02:00,410 --> 00:02:03,340 אנחנו רוצים להגיד כמו, בסדר, זה באמת חשוב שכל אחד יש פרופיל 41 00:02:03,340 --> 00:02:06,440 ושכל אחד יכול לכתוב על קירותיו של זה. 42 00:02:06,440 --> 00:02:08,509 משניים לכך, הערות תהיה נחמדה. 43 00:02:08,509 --> 00:02:10,180 אולי בשלב מאוחר יותר אנו influent אוהבת. 44 00:02:10,180 --> 00:02:13,700 אז, אתה רוצה יש לי רעיון של מה יסוד לפרויקט שלך 45 00:02:13,700 --> 00:02:17,260 ומה הסוג של תכונה כללית יותר שיכול להיות מיושמת מאוחר יותר. 46 00:02:17,260 --> 00:02:20,870 אתה רוצה יש רשימה ספציפית במוח סוג של, 47 00:02:20,870 --> 00:02:24,090 אבל הפרויקט שאתה מתחיל עם זה לא הולך להיות הפרויקט שתסיים איתו. 48 00:02:24,090 --> 00:02:27,100 במילים אחרות, דברים הולכים להשתנות בזמן שאתה מפתח את האתר, 49 00:02:27,100 --> 00:02:30,090 ואתה רוצה להשאיר מקום לזה. 50 00:02:30,090 --> 00:02:34,470 אני אהפוך אותו לבן שהולך לדבר קצת על מבנה. 51 00:02:34,470 --> 00:02:39,610 >> [בן] אני הולך לדבר על הצד הטכני יותר של התפתחות אינטרנט. 52 00:02:39,610 --> 00:02:42,370 בואו פשוט ללכת על כמה עקרונות בסיסיים ראשונה. 53 00:02:42,370 --> 00:02:45,730 כשאתה עושה את יישום אינטרנט, 54 00:02:45,730 --> 00:02:50,470 החלוקה העיקרית שאתה הולך צריך שיהיה לו 55 00:02:50,470 --> 00:02:52,700 אתה הולך יש כמה דברים שקורים בצד הלקוח - 56 00:02:52,700 --> 00:02:56,700 כלומר, הקוד שאתה לוקח דפדפן מהאתר 57 00:02:56,700 --> 00:03:01,910 וJavaScript, HTML, CSS הדברים. 58 00:03:01,910 --> 00:03:04,490 זה כל מה בצד הלקוח. 59 00:03:04,490 --> 00:03:08,680 אתה הולך יש קוד אחר שפועל בצד השרת 60 00:03:08,680 --> 00:03:10,770 אשר עוקב אחר כל הנתונים שאנשים שולחים אליך, 61 00:03:10,770 --> 00:03:15,060 מחליט מי לתת מה, דברים כאלה. 62 00:03:15,060 --> 00:03:20,380 זהו רק חלק טרמינולוגיה, כך שאתה חבר 'ה כולם מכיר על מה אנחנו מדברים. 63 00:03:20,380 --> 00:03:28,600 מעבר לחלוקה שזה טוב לחשוב על יישום האינטרנט שלך במונחים של 64 00:03:28,600 --> 00:03:32,500 כמה רכיבים שונים. 65 00:03:32,500 --> 00:03:35,270 כשאתה עושה פיתוח אינטרנט 66 00:03:35,270 --> 00:03:41,710 אחד הדברים שאתה צריך להיות תמיד מנסה לעשות הוא להפחית את מורכבות. 67 00:03:41,710 --> 00:03:45,710 הקוד שלך מורכב יותר הוא הסיכוי יותר יש לעשות באגים, 68 00:03:45,710 --> 00:03:47,710 כך קשה יותר לשנות מאוחר יותר. 69 00:03:47,710 --> 00:03:50,140 לכן, אם אתה יכול לשבור את האפליקציה שלך לכמה אזורים פונקציונליים שונים 70 00:03:50,140 --> 00:03:57,640 שיהיה - ואתה יכול לצמצם את הסוג של סכום של תקשורת אזור צולב - 71 00:03:57,640 --> 00:04:03,530 שיעזור לך הרבה בטווח הארוך במונחים של צמצום באגים. 72 00:04:03,530 --> 00:04:07,950 >> כדי להיות קונקרטי, בדרך כלל אנשים לחלק את יישום אינטרנט ל-- 73 00:04:07,950 --> 00:04:13,190 אלה הם סוג של מילים באז עכשיו, אבל הם עדיין שימושיים. 74 00:04:13,190 --> 00:04:17,940 אולי שמעו אנשים מדברים על דגמים, תצוגות ובקרים. 75 00:04:17,940 --> 00:04:23,210 מודלים הם הנתונים בפועל שהאפליקציה שלך הולכת להתמודד איתו. 76 00:04:23,210 --> 00:04:28,260 לדוגמא, בחתול שלך בפייסבוק, המודלים שלך יהיו - 77 00:04:28,260 --> 00:04:35,340 שתהיה לך מודל להודעות כמו, ומודל לפרופילי משתמשים, דברים כאלה. 78 00:04:35,340 --> 00:04:41,090 התצוגות שלך הן איך אתה מציג את הנתונים שלמשתמשים שלך. 79 00:04:41,090 --> 00:04:46,660 אולי יש לך מבט 1 להסתכלות בהודעה אחת ואת כל ההערות 80 00:04:46,660 --> 00:04:51,720 ונקודת מבט שונה על הקיר שלך שיש לו רשימה של כל ההודעות 81 00:04:51,720 --> 00:04:57,170 שמופנים אליך, ומבט שונה להזנת החדשות שלך - דברים כאלה. 82 00:04:57,170 --> 00:05:00,610 לבסוף, יש לך את הבקרים שהם בעצם כשאנשים שולחים לך הודעות 83 00:05:00,610 --> 00:05:03,310 ולך לבצע עדכונים למערכת העורפית שלך, 84 00:05:03,310 --> 00:05:06,400 אתה להגדיל חבורה של דלפקים, וכל דבר אחר. 85 00:05:06,400 --> 00:05:07,860 אלה הם הבקרים שלך. 86 00:05:07,860 --> 00:05:11,030 >> אני הולך לדבר בעיקר על דגמים. 87 00:05:11,030 --> 00:05:14,030 צפיות הן מבחינה טכנית לא כל כך קשות והבעיה היא יותר עם עיצובם 88 00:05:14,030 --> 00:05:22,040 בקרים הולכים להיות ספציפי לכל מה שאתה מעצב. 89 00:05:22,040 --> 00:05:25,220 אבל יש כמה טכניקות די כלליות שאתה יכול להשתמש 90 00:05:25,220 --> 00:05:30,220 כדי להפוך את הדגמים שלך יותר נחמדים ויותר קלים לעבוד עם זה אני חושב שהם מאוד מועילים. 91 00:05:30,220 --> 00:05:35,860 זה בעיקר הולך להיות על איך להתמודד עם נתוני יישומי אינטרנט שלך בצורה יפה. 92 00:05:35,860 --> 00:05:40,420 הבעיות העיקריות עם דגמים 93 00:05:40,420 --> 00:05:44,540 הם שהם חיים על הלקוח והשרת ויש לך להבין 94 00:05:44,540 --> 00:05:51,170 א) איך להשיג אותם - את כל אלה הרלוונטיים - מהשרת ללקוח, 95 00:05:51,170 --> 00:05:53,440 ב) איך לשמור אותם מסונכרן. 96 00:05:53,440 --> 00:05:58,700 המשתמשים שלך הולכים רוצים לעשות כמה עדכונים. 97 00:05:58,700 --> 00:06:00,470 הם הולכים רוצים להפוך את ההודעות חדשות. 98 00:06:00,470 --> 00:06:04,800 הם הולכים לרוצים אוהבים דברים וכאלה, אם יש לך אוהבת. 99 00:06:04,800 --> 00:06:11,490 אלה הם האתגרים טכניים העיקריים של התמודדות עם מודלים. 100 00:06:11,490 --> 00:06:15,680 הדבר הראשון שאתה הולך רוצה לשאול את עצמך הוא 101 00:06:15,680 --> 00:06:18,420 איזה סוג של נתונים הולך במודל זה ואיזה סוג של שאילתות אנחנו הולכים רוצים לעשות - 102 00:06:18,420 --> 00:06:24,290 כלומר, איך אנחנו הולכים להסתכל על הדגמים? 103 00:06:24,290 --> 00:06:26,940 לדוגמא פייסבוק החתול שלך, 104 00:06:26,940 --> 00:06:31,520 הפוסט שלך הולך להיות מחבר הקשורים אליו, 105 00:06:31,520 --> 00:06:35,660 כמה קיר הודעה טקסט, ונמען של קיר ההודעה. 106 00:06:35,660 --> 00:06:38,470 ואז אולי כדאי לך שאילתה שבכמה דרכים שונות. 107 00:06:38,470 --> 00:06:42,220 אתה רוצה להסתכל על זה על ידי שכתב בו הודעה, 108 00:06:42,220 --> 00:06:46,620 על ידי שקיבל בו לפרסם, אולי לפי התאריך שפורסמו. 109 00:06:46,620 --> 00:06:50,340 אבל אם אתה הולך לעשות את זה לפי תאריך, אז אתה צריך להוסיף שדה נוסף להודעה שלך 110 00:06:50,340 --> 00:06:52,490 מתי זה פורסם בפועל. 111 00:06:52,490 --> 00:07:00,220 2 גורמים אלה - אילו נתונים ברצונך להשתמש ואיך אתה רוצה להציג אותו - 112 00:07:00,220 --> 00:07:04,200 אתה צריך לחשוב עליהם קודם, כי הם תלויים זה בזה, 113 00:07:04,200 --> 00:07:08,030 וזה הולך להיות קשה יותר כדי להוסיף אותם בהמשך. 114 00:07:08,030 --> 00:07:12,750 >> יש כמה שיקולים אחרים. 115 00:07:12,750 --> 00:07:17,540 כשאתה חושב על איך אתה מתמודד עם מודלים בשרת 116 00:07:17,540 --> 00:07:20,540 מה שאתה רוצה להסתכל על זה - 117 00:07:20,540 --> 00:07:27,440 אתה בעצם רוצה להפוך את השרת פשוט ככל האפשר. 118 00:07:29,440 --> 00:07:35,500 עושה דברים בצד הלקוח הוא בדרך כלל הרבה יותר מהר אם אתה יכול לעשות את זה אך ורק על הלקוח 119 00:07:35,500 --> 00:07:38,230 בלי לעשות כל סוג של בקשת רשת. 120 00:07:38,230 --> 00:07:47,860 הרעיון הוא לעשות כמה שיותר את השאילתות שאתה יכול על הלקוח. 121 00:07:47,860 --> 00:07:51,560 הבעיה היחידה עם זה 122 00:07:51,560 --> 00:07:54,160 הוא שאם אתה כל הנתונים שלך לבקש בתחילת 123 00:07:54,160 --> 00:07:57,160 אז זה הולך לקחת הרבה זמן לטעון. 124 00:07:57,160 --> 00:08:02,290 לכן, הרעיון הוא להכות שמח בינוני בין שיש מספיק נתונים על הלקוח 125 00:08:02,290 --> 00:08:07,640 כי אתה יכול לעשות את רוב העבודה שלך שם, אבל לא רק להביא את הכל בבת אחת 126 00:08:07,640 --> 00:08:09,710 כך שאתה מקבל זמני טעינה איטיים מאוד בהתחלה. 127 00:08:09,710 --> 00:08:12,610 לדוגמא, עבור נתונים החתול שלך 128 00:08:12,610 --> 00:08:20,340 כנראה שהיית רוצה להביא חבורה של הודעות קיר האחרונות. 129 00:08:20,340 --> 00:08:23,790 לא היית רוצה להביא את כולם כי זה יכול לחזור כמה שנים. 130 00:08:23,790 --> 00:08:25,470 אבל אתה לא רוצה להביא אותם אחד בכל פעם 131 00:08:25,470 --> 00:08:28,740 משום שנהג להציג את הרבה מעל הרשת. 132 00:08:28,740 --> 00:08:33,620 >> זה בדרך כלל די קשה - ברגע שיש לך ריצה מסד הנתונים - 133 00:08:33,620 --> 00:08:37,210 זה בדרך כלל די קשה לשנות את מה שיש לך את הנתונים בזה - 134 00:08:37,210 --> 00:08:40,510 כלומר, להוסיף עמודת מסד נתונים חדשה או משהו - 135 00:08:40,510 --> 00:08:43,510 לכן אסטרטגיה אחת טובה היא בעצם רק כדי לשמור הרבה נתונים שלך בבועת טקסט - 136 00:08:43,510 --> 00:08:53,880 בועת JSON - JSON להיות סימון אובייקט JavaScript - 137 00:08:53,880 --> 00:08:58,330 הסיבה שזה שימושי בגלל שאז אתה יכול להוסיף מאפיינים חדשים 138 00:08:58,330 --> 00:09:01,920 לכל כתמי JSON אלה מבלי לשנות את מסד הנתונים שלך. 139 00:09:01,920 --> 00:09:06,860 החסרון היחיד שהוא שאם יש לך חבורה של שדות 140 00:09:06,860 --> 00:09:09,890 שהוספת בשלב מאוחר יותר - כמו חבוי שבבועת JSON - 141 00:09:09,890 --> 00:09:12,850 אז זה קשה יותר לשאילתא אותם בתוך מסד הנתונים. 142 00:09:12,850 --> 00:09:17,690 לדוגמא, אם מאוחר יותר - אם היה לך ההודעה המודל שלך שאנחנו דנו קודם לכן 143 00:09:17,690 --> 00:09:25,380 רק עם המחבר, הנמען והטקסט - 144 00:09:25,380 --> 00:09:29,000 גם אתה יכול להיות בועת JSON ולאחר מכן אם מאוחר יותר רצה להוסיף שדה תאריך 145 00:09:29,000 --> 00:09:31,000 לא היית צריך לשנות את מסד הנתונים שלך. 146 00:09:31,000 --> 00:09:36,140 אתה פשוט יכול להוסיף את התאריכים לכל שדות הטקסט. 147 00:09:36,140 --> 00:09:39,640 ואז אתה יהיה מסוגל להסתכל על אלה בצד הלקוח, 148 00:09:39,640 --> 00:09:42,430 אבל אתה לא יהיה מסוגל לבצע שאילתה אותם בצד השרת 149 00:09:42,430 --> 00:09:44,430 כי זה מוסתר בתוך טקסט ש. 150 00:09:44,430 --> 00:09:49,920 >> הנושא האחר שאתה רוצה לחשוב על 151 00:09:49,920 --> 00:09:52,400 הוא איך הלקוח שלך והשרת שלך הולכים כדי לתקשר. 152 00:09:52,400 --> 00:09:56,040 בדרך כלל אתה רוצה לשמור את זה פשוט ככל האפשר. 153 00:09:56,040 --> 00:10:02,230 רק אתה יכול להיות כמוני, זה לקבל את בקשת נתונים, 154 00:10:02,230 --> 00:10:09,140 ליצור-a-חדש-אובייקט דבר, ובקשת עדכון--אובייקט ישן. 155 00:10:09,140 --> 00:10:12,930 וכל אלה יהיו כתובות שונות בשרת שאתה - 156 00:10:12,930 --> 00:10:20,030 שהדפדפן יהיה - אתה יכול להשתמש בבקשות AJAX לכל אלה 157 00:10:20,030 --> 00:10:24,000 וגם לקבל או לכתוב נתונים. 158 00:10:24,000 --> 00:10:26,600 שוב, לדוגמא פייסבוק החתול שלנו, 159 00:10:26,600 --> 00:10:32,350 אתה יכול להיות כתובת אתר שכדי לקבל הודעה בודדת, 160 00:10:32,350 --> 00:10:39,750 ושיהיה לך כתובת אתר ליצירת קיר פרסום חדש 161 00:10:39,750 --> 00:10:45,670 ואולי כתובת להעלאת תמונת פרופיל, הדברים שלך ככה. 162 00:10:45,670 --> 00:10:51,730 אבל שוב, זה מראש להביא את רוב הנתונים שלך, כך שאתה לא צריך לשמור 163 00:10:51,730 --> 00:10:53,360 מה שהופך את בקשות רשת. 164 00:10:53,360 --> 00:10:59,030 מסיבה זו, ייתכן שלא רוצה להיות שבקשת גט פרט להודעה אחת, 165 00:10:59,030 --> 00:11:03,210 ובמקום שהיית רוצה בקשת גט 1 לקיר כולו פשוט. 166 00:11:03,210 --> 00:11:06,110 ואז אם אתה מנסה למצוא את איזון, כי - 167 00:11:06,110 --> 00:11:10,970 זה גם הולך להיות תלוי ביישום שלך. 168 00:11:10,970 --> 00:11:13,430 כי אם אתה מצפה שאנשים רק 10 20 או ההודעות שנכתבו על קיר 169 00:11:13,430 --> 00:11:15,430 שיהיה בסדר. 170 00:11:15,430 --> 00:11:17,390 אבל אם אתה מצפה שתהיה להם אלפים אז בבקשה שתיקח יותר מדי זמן, 171 00:11:17,390 --> 00:11:23,580 ולכן אולי כדאי להוסיף פרמטר לקבל-all-ההודעות-מאז. 172 00:11:23,580 --> 00:11:26,580 >> לכל אלה שאתה כנראה הולך רוצה לסנכרן את הנתונים שלך בJSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript סימון אובייקט. 174 00:11:29,260 --> 00:11:34,600 פחות או יותר כל שפה עוסקת בJSON טוב מאוד. 175 00:11:34,600 --> 00:11:40,880 יש JQuery פונקצית getJSON זה נחמד שיעשה את כל העבודה הקשה בשבילכם. 176 00:11:40,880 --> 00:11:47,390 ועל PHP יש גם פונקציות תקשורת JSON נחמדה מאוד. 177 00:11:47,390 --> 00:11:52,660 אז, זה כנראה הפורמט הטוב ביותר לשליחת המודלים שלך קדימה ואחורה. 178 00:11:52,660 --> 00:11:56,570 >> כדוגמא למה שדיברנו עליו עד כה, 179 00:11:56,570 --> 00:12:00,520 הנה דוגמא לזרימת יישום פייסבוק החתול שלך. 180 00:12:00,520 --> 00:12:07,760 זה מתחיל עם הדפדפן שלך מבקש את כתובת אתר האינטרנט של בסיס. 181 00:12:07,760 --> 00:12:15,470 השרת כנראה ישלח על HTML סטטי וחלק JavaScript ו-CSS. 182 00:12:15,470 --> 00:12:19,170 זה בדרך כלל הטוב ביותר שלא לעשות כל עיבוד בשרת. 183 00:12:19,170 --> 00:12:23,370 אתה בטח לא רוצה - 184 00:12:23,370 --> 00:12:28,360 מה השרת לא עושה שם הוא הולך במורד הרשימה של הודעות קיר 185 00:12:28,360 --> 00:12:31,120 ולייצר כמה HTML עבור כל אחד ושליחה שמעל. 186 00:12:31,120 --> 00:12:34,960 זה בדרך כלל הטוב ביותר לעשות זאת בצד הלקוח כי אחר 187 00:12:34,960 --> 00:12:38,580 כל פעם שאתה רוצה לחזור לצייר משהו, אתה חייב לעשות את בקשת שרת. 188 00:12:38,580 --> 00:12:42,450 וזה נותן לך מהר מאוד הרבה מעל לראש. 189 00:12:42,450 --> 00:12:47,430 זה בדרך כלל הטוב ביותר רק כדי הספינה שולחת למטה HTML סטטי 190 00:12:47,430 --> 00:12:50,660 ולאחר מכן JavaScript ו-CSS, כי יבצעו את העיבוד בצד הלקוח. 191 00:12:50,660 --> 00:12:56,750 ברגע שהחומר שמגיע ב, 192 00:12:56,750 --> 00:13:03,500 אז אתה יכול להיות - ב-JavaScript - אתה יכול לעשות את בקשות לקיר נתונים 193 00:13:03,500 --> 00:13:08,740 ודברים כאלה, ואחרי שהשרת בעצם רק עושה שאילתות בבסיס נתונים 194 00:13:08,740 --> 00:13:10,740 ובדיקת הרשאות. 195 00:13:10,740 --> 00:13:16,690 הדבר החשוב היחיד הוא שזה לא יכול לשלוח מעל כמה הודעות קיר משתמשים אחרות 196 00:13:16,690 --> 00:13:19,220 שאסור לך לראות. 197 00:13:19,220 --> 00:13:28,050 זה יכול בעצם להיות שכבת גישה דקה מאוד למסד הנתונים שלך, 198 00:13:28,050 --> 00:13:32,820 ולאחר מכן כל מראה את הנתונים - כל הדעות וכל מיני דברים - 199 00:13:32,820 --> 00:13:37,280 אלו יכולים לקרות בדפדפן שלך, ואז כשאתה רוצה לעשות הודעה או משהו 200 00:13:37,280 --> 00:13:40,000 אתה פשוט לשלוח בקשה נוספת. 201 00:13:40,000 --> 00:13:45,350 >> יש גם כמה דברים מפוארים שאתה יכול לעשות על גבי זה. 202 00:13:45,350 --> 00:13:49,550 במונחים של מידע טכני ספציפי יותר, 203 00:13:49,550 --> 00:13:53,360 פיתוח ב-JavaScript רגיל יכול להיות קצת כואב, 204 00:13:53,360 --> 00:13:56,220 אז יש כמה ספריות וכלים שיעזרו לך הרבה עם זה. 205 00:13:56,220 --> 00:14:03,690 אני חושב שכל בטח שמעתי על jQuery שהופך עושה HTML טיוח 206 00:14:03,690 --> 00:14:08,890 ומניפולציה הרבה יותר קל - יש להם הרבה פונקציות מפוארות לדהייה פנימה והחוצה, 207 00:14:08,890 --> 00:14:12,020 ועושה הנפשות נמרצות. 208 00:14:12,020 --> 00:14:13,720 יש גם ספרייה זו נקראת Underscore.js. 209 00:14:13,720 --> 00:14:20,760 יש לו הרבה פונקציות כלי שימושיות, דברים שהיית מצפה שיהיה לי JavaScript 210 00:14:20,760 --> 00:14:24,740 כי זה באמת אטומות - דברים כמו דשדוש מערך, 211 00:14:24,740 --> 00:14:28,900 הסרת כפילויות מרשימה, או השטחת רשימה של רשימות. 212 00:14:28,900 --> 00:14:30,900 זהו רק מדגם קוד קטן. 213 00:14:30,900 --> 00:14:36,520 יש קו תחתון המון פונקציות נחמדים האלה שאתה רוצה יהיה לך כל הזמן. 214 00:14:36,520 --> 00:14:38,840 >> ואז יש 1 ספרייה יותר, כי אני רוצה לבלות קצת זמן על 215 00:14:38,840 --> 00:14:44,800 קרא Backbone.js בגלל עמוד השדרה באמת עוזרת לך להתמודד עם מודלים בצד הלקוח 216 00:14:44,800 --> 00:14:47,210 והרבה בלבול שזה יכול לגרום. 217 00:14:47,210 --> 00:14:53,550 עמוד השדרה מעניקה לך את המושג הזה של מודלים ואוספים 218 00:14:53,550 --> 00:14:58,300 ב-JavaScript שהם בעצם בדיוק כמו אובייקטי JavaScript 219 00:14:58,300 --> 00:15:04,900 במערכים של JavaScript אבל יש להם אירועים כאשר אתה משנה את הנכסים שלהם. 220 00:15:04,900 --> 00:15:09,090 בדיוק כמו ב-JavaScript, אתה יכול לקבל את אירוע כאשר כפתור מקבל לחץ או משהו 221 00:15:09,090 --> 00:15:14,800 מודלים אלה עמוד השדרה ועמוד שדרת אוספים ישדרו דברים כמו 222 00:15:14,800 --> 00:15:17,510 שכאשר הם משתנים. 223 00:15:17,510 --> 00:15:22,270 זה אומר שאתה יכול פשוט לכתוב משהו כמו קטע הקוד הזה כאן - 224 00:15:22,270 --> 00:15:27,530 זה אומר, בכל פעם שאתה מוסיף משהו למערך הודעותיך לשרטט מחדש את הקיר כולו. 225 00:15:27,530 --> 00:15:34,270 וזה הייתי אומר בכל פעם שהמספר של פוסט של אוהב משתנה, 226 00:15:34,270 --> 00:15:38,970 אתה ליידע את המשתמש שמישהו אהב את ההודעה שלהם. 227 00:15:38,970 --> 00:15:45,210 או בכל פעם שכל רכוש של פוסט משנה אותך לשרטט מחדש את ההודעה. 228 00:15:45,210 --> 00:15:51,050 דברים כאלה כי יחסכו לך טונות של מורכבות כי אחרים 229 00:15:51,050 --> 00:15:55,440 אם אין לך קצת מסגרת כמו זה אז בכל פעם בקוד שלך שאתה משנה 230 00:15:55,440 --> 00:16:04,280 משהו על פוסט, היית צריך לזכור את עצמך לקרוא את כל הפונקציות לעבד 231 00:16:04,280 --> 00:16:07,680 ודברים כאלה, ואם אתה רוצה להוסיף משהו חדש שקרה 232 00:16:07,680 --> 00:16:10,680 בכל פעם ששונית לאחר שהיית צריכה לעבור בכל מקום בך 233 00:16:10,680 --> 00:16:14,610 קוד שהותאם הודעה ותוסיף, כי דבר חדש. 234 00:16:14,610 --> 00:16:21,450 מסגרת כמו זו תסיר הרבה שתקשורת בין השכבה 235 00:16:21,450 --> 00:16:28,280 זה עושה את הקוד שלך מורכב וקשה לתחזוקה. 236 00:16:28,280 --> 00:16:31,170 >> יש קצת על נוף גם. 237 00:16:31,170 --> 00:16:35,960 אני הולך לעזוב ביותר לכך לבילי בגלל שהם מבחינה טכנית לא קשים מאוד. 238 00:16:35,960 --> 00:16:43,540 השתמש jQuery להשקפותיך. זה כמעט כמו צורך בשלב זה. 239 00:16:43,540 --> 00:16:46,290 זה פשוט עושה את הכל הרבה יותר קל. 240 00:16:46,290 --> 00:16:48,290 יש הרבה של ספריות. 241 00:16:48,290 --> 00:16:49,970 אם יש לך מסובך אלמנטי ממשק המשתמש, 242 00:16:49,970 --> 00:16:57,250 אם אתה רוצה דבר אוטומטי מלא או אוהב אחד מריבוי הבוררים המהודרים אלה - 243 00:16:57,250 --> 00:17:04,790 אם אתה רוצה משהו כזה, אתה כנראה צריך רק לחפש מסביב 244 00:17:04,790 --> 00:17:08,130 ואתה יכול למצוא ספרייה טובה שתעשה מה שאתה רוצה. 245 00:17:08,130 --> 00:17:11,579 בילי יסביר יותר על החלקים קשים באמת של תצוגות. 246 00:17:11,579 --> 00:17:17,530 כמו כן, כהערה צדדית, יש חוט שדרה כמה פונקציונלי להכנת צפיות לתקשר 247 00:17:17,530 --> 00:17:22,800 יפה עם מודלים - להסתכל בתיעוד של כל הספריות הללו, בעצם. 248 00:17:22,800 --> 00:17:28,270 רק תסתכל על המסמכים. הם כתבו וקלים לעקוב היטב. 249 00:17:28,270 --> 00:17:33,890 באופן כללי, אתה יכול פחות או יותר רק גוגל אם יש לך בעיות. 250 00:17:33,890 --> 00:17:36,370 יש הרבה אנשים משתמשים בהם. 251 00:17:36,370 --> 00:17:42,020 אני חושב שזה כהערה סופית. 252 00:17:42,020 --> 00:17:48,770 >> יש גם כמה דברים מתקדמים יותר שאתה יכול לעשות 253 00:17:48,770 --> 00:17:53,400 אם אתה מחפש לעשות יישום האינטרנט שלך תוספת מדהימה. 254 00:17:53,400 --> 00:17:59,760 אתה יכול לעשות - יש לו את המפרט של HTML5 החדש הרבה דברים מפוארים שאתה יכול לעשות. 255 00:17:59,760 --> 00:18:05,780 אחסון מקומי - שהיא תוכל לשמור את הנתונים בדפדפן - 256 00:18:05,780 --> 00:18:09,470 ולא שיש לחזור ולעיין בשרת לכל דבר, 257 00:18:09,470 --> 00:18:12,470 אתה יכול לשמור על חלק ממנו על הלקוח ושגם מאפשר לאנשים - 258 00:18:12,470 --> 00:18:20,850 במקרים מסוימים זה יכול אפילו לתת לך להשתמש במצב לא מקוון בדף האינטרנט. 259 00:18:20,850 --> 00:18:26,980 יש דבר כזה שנקרא WebSockets שהם סוג של תקשורת ברשת שונה 260 00:18:26,980 --> 00:18:30,930 שבו ולא רק שאתה עושה בקשה אחת, אתה מקבל תגובה ושתסיים, 261 00:18:30,930 --> 00:18:35,240 אתה ממשיך לפתוח חיבור לשרת ואז אתה יכול לעשות דברים כמו 262 00:18:35,240 --> 00:18:37,240 עדכונים בזמן אמת. 263 00:18:37,240 --> 00:18:42,020 לכן, אם אתה מנסה להפוך את יישום צ'אט, אתה יכול להשתמש WebSockets 264 00:18:42,020 --> 00:18:43,790 כדי לתקשר הלוך ושוב, כך שלא היית צריך לשמור המבקש, 265 00:18:43,790 --> 00:18:48,410 "אה, שרת, האם מישהו שלח לי בצ'אט?" כל 10 שניות או משהו כזה. 266 00:18:48,410 --> 00:18:55,620 יש גם תכונת HTML5 מעניינת שבו אתה יכול לגרום לזה להיראות כמו 267 00:18:55,620 --> 00:18:58,340 URL של הדף משתנה מבלי בעצם לטעון אותו מחדש. 268 00:18:58,340 --> 00:19:03,230 אתה יכול להשתמש בכפתורים אחורה וקדימה בלי לעשות חבורה של בקשות רשת. 269 00:19:03,230 --> 00:19:14,660 דברים כאלה הוא באמת שימושיים במונחים של מה שהופך את מהיר, אלא גם לעבוד כמו Web App צריך. 270 00:19:14,660 --> 00:19:17,680 >> יש גם הדבר הזה שנקרא CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript הוא שפה שונה, למעשה, כי הידור עד JavaScript. 272 00:19:24,450 --> 00:19:30,080 היית לכתוב את כל הקוד שלך בCoffeeScript, ולאחר מכן תפעיל מהדר זו, 273 00:19:30,080 --> 00:19:33,300 וזה יורק את קובץ JavaScript שניתן לכלול בדף האינטרנט שלך. 274 00:19:33,300 --> 00:19:38,860 הסיבה שCoffeeScript הוא נחמד, משום שהיא מסלקת הרבה 275 00:19:38,860 --> 00:19:44,760 מקרים מוזרים שיש בו JavaScript שווה שווים, 276 00:19:44,760 --> 00:19:51,130 ושווה שווים לעשות דברים שונים, או רוצה - 277 00:19:51,130 --> 00:19:55,740 יש לה תחביר נחמד יותר להתמודדות עם מערכים ופונקציות. 278 00:19:55,740 --> 00:20:00,460 זהו קטע קטן של CoffeeScript שמייצר רשימה של כל הריבועים 279 00:20:00,460 --> 00:20:04,900 מ10 ^ 2 ^ 1 2 בסדר הפוך. 280 00:20:04,900 --> 00:20:08,410 כפי שניתן לראות, CoffeeScript לעתים קרובות מאפשר לך לבטא בקו 1 281 00:20:08,410 --> 00:20:10,890 מה היו לוקח 5 שורות של JavaScript. 282 00:20:10,890 --> 00:20:13,230 זה יכול לעשות דברים הרבה יותר קל. 283 00:20:13,230 --> 00:20:15,390 זה קצת ללמוד תחביר חדש בהתחלה, 284 00:20:15,390 --> 00:20:18,010 אבל זה בהחלט יגרום לך יותר פרודוקטיביים בטווח הארוך. 285 00:20:18,010 --> 00:20:22,050 >> ניתן גם להשתמש בשפות אחרות על השרת מאשר PHP - 286 00:20:22,050 --> 00:20:27,570 שפות כמו Ruby, Python, או יש אפילו פרויקט שנקרא node.js 287 00:20:27,570 --> 00:20:31,450 שיאפשר לך להשתמש ב-JavaScript בשרת. 288 00:20:31,450 --> 00:20:34,700 אישית, אני ממש ממש שונא את PHP. 289 00:20:34,700 --> 00:20:38,310 אני פשוט לא נהניתי לעבוד איתו. 290 00:20:38,310 --> 00:20:43,450 אם אתה גם חושב שזה cluge נורא של שפה, 291 00:20:43,450 --> 00:20:46,160 אז אתה יכול להשתמש באחד מהפורמטים האלה. 292 00:20:46,160 --> 00:20:54,780 באופן כללי, אם אתה רוצה לעשות משהו ואתה לא ממש יודע איך היית עושה את זה, 293 00:20:54,780 --> 00:20:56,780 רק לחפש באינטרנט. 294 00:20:56,780 --> 00:20:59,990 יש טונות של משאבים במיוחד על - 295 00:20:59,990 --> 00:21:03,260 StackOverflow הוא אחד גדול. 296 00:21:03,260 --> 00:21:06,400 זה האתר הזה שבו מתכנתים לשאול זה את זה שאלות. 297 00:21:06,400 --> 00:21:09,690 ייתכן שתיתקל בזה אם היית נתקל בבעיות בסטי הבעיה CS50. 298 00:21:09,690 --> 00:21:16,820 ויש טונות של ספריות לעושים כמעט כל דבר שאתה רוצה. 299 00:21:16,820 --> 00:21:21,710 אם אתה רוצה לעשות משהו ואתה לא יודע איך לעשות את זה, 300 00:21:21,710 --> 00:21:23,710 אל תניחו שזה בלתי אפשרי. 301 00:21:23,710 --> 00:21:26,160 רק תסתכל מסביב ואתה עלול למצוא כמה משאבים טובים. 302 00:21:26,160 --> 00:21:29,280 >> כגנרל סיום, 303 00:21:29,280 --> 00:21:33,650 מזנונים העיקריים הם לשמור על דברים פשוטים. 304 00:21:33,650 --> 00:21:36,010 מורכב יותר הקוד שלך הוא בתחילת 305 00:21:36,010 --> 00:21:40,370 וככל שאתה מנסה לעשות דברים מפוארים, 306 00:21:40,370 --> 00:21:43,300 כך יידרש זמן רב כדי לקבל משהו ממש פונקציונלי 307 00:21:43,300 --> 00:21:46,480 וזה יהיה קשה יותר לשנות מאוחר יותר. 308 00:21:46,480 --> 00:21:49,580 אז, לעשות דברים בדרך המטומטמת, קלה ראשון. 309 00:21:49,580 --> 00:21:51,720 כדי ללכת יחד עם זה, 310 00:21:51,720 --> 00:21:59,070 אל תפחדו מלזרוק קוד ישן או ניקוי אותו הרבה. 311 00:21:59,070 --> 00:22:05,320 באופן כללי, ברגע שאתה באמת צריך משהו עובד, 312 00:22:05,320 --> 00:22:09,640 זה הרבה יותר קל לחשוב על יותר מאשר כאשר אתה עדיין בשלבי ההתחלה 313 00:22:09,640 --> 00:22:12,610 איך אני יכול לשים את כל זה ביחד. 314 00:22:12,610 --> 00:22:17,500 עדיף להפוך את העיצוב האפשרי הכי מטומטם שעובד 315 00:22:17,500 --> 00:22:22,270 ולאחר מכן לשפר אותו איטרטיבי מאשר לנסות לקבל הכל נכון בפעם הראשונה. 316 00:22:22,270 --> 00:22:28,330 במונחים של חלוקת שרת לקוח, לנסות ולשמור על השרת שלך פשוט מאוד - 317 00:22:28,330 --> 00:22:33,030 רק מסד נתונים וכמה אימות ולא עושים את כל עבודה קשה שיש. 318 00:22:33,030 --> 00:22:37,540 לעשות את כל הדברים מסובכים שלך בצד הלקוח בדפדפן 319 00:22:37,540 --> 00:22:40,650 ב-JavaScript ככל שאתה יכול. 320 00:22:40,650 --> 00:22:43,420 תסתכל מסביב לספריות שהופכות את החיים שלך טובים יותר. 321 00:22:43,420 --> 00:22:46,850 תמיד עדיף להשתמש בקוד שמישהו אחר כתב 322 00:22:46,850 --> 00:22:49,850 אם אתה - ולא לכתוב אותו בעצמך. 323 00:22:49,850 --> 00:22:57,560 יש הרבה דברים באינטרנט. גוגל הוא החבר הכי טוב שלך. 324 00:22:57,560 --> 00:22:59,560 גוגל הוא החבר הכי טוב של המתכנת. 325 00:22:59,560 --> 00:23:07,620 כן, בהחלט לא לפחד להסתכל מסביב לדברים. 326 00:23:07,620 --> 00:23:11,860 בסדר. ומעל לבילי. 327 00:23:11,860 --> 00:23:14,600 >> [בילי] למעשה, לפני שאני מתחיל עם כמה דברים עיצוב, 328 00:23:14,600 --> 00:23:17,250 למישהו יש שאלות כלשהן לבן על שום דבר שהוא דיבר? 329 00:23:17,250 --> 00:23:20,290 אוקיי, טוב. 330 00:23:20,290 --> 00:23:22,220 שוב, יידעו אותנו אם משהו לא ברור 331 00:23:22,220 --> 00:23:25,420 או אם אתה רוצה אותנו ללכת על משהו קצת יותר. 332 00:23:25,420 --> 00:23:30,330 אני הולך צעד אחורה קצת ולדבר על החלקים בסיסיים יותר של עיצוב. 333 00:23:30,330 --> 00:23:34,840 בן הזכיר את המודל שנקרא - סליחה, מערכת תצוגת הבקר המודל 334 00:23:34,840 --> 00:23:38,520 שהוא סוג של ההיבט הטכני, ולכן אני הולך להסתכל על נוף במיוחד, 335 00:23:38,520 --> 00:23:42,930 ואני הולך להתחיל עם איך היית עיצוב תצוגה שנראית נחמד. 336 00:23:42,930 --> 00:23:50,540 הנה סוג של תבנית באמת בסיסית לחתול שלנו בפייסבוק. 337 00:23:50,540 --> 00:23:54,190 אני חושב שיש כמה יסודות בעיצוב ממשק המשתמש מודרני 338 00:23:54,190 --> 00:23:56,190 כי הם שווים להרים. 339 00:23:56,190 --> 00:23:58,210 אתה יכול לשים לב שיש הרבה שטח לבן בכל רחבי הדף, 340 00:23:58,210 --> 00:24:00,790 הרבה מקום לדברים. 341 00:24:00,790 --> 00:24:02,580 אל תרגיש כאילו אתה צריך למחוץ את הדברים בדף. 342 00:24:02,580 --> 00:24:06,700 אתה רוצה להשאיר הרבה מקום פתוח, ואם אתה הולך לכמעט כל אתר מודרני 343 00:24:06,700 --> 00:24:08,380 אתה תראה שיש לבן בכל מקום. 344 00:24:08,380 --> 00:24:10,380 יש לבן במקומות שלא היית מצפים. 345 00:24:10,380 --> 00:24:14,570 יש לך לוח הצבעים הזה, וזה חכם בתחילת 346 00:24:14,570 --> 00:24:17,880 לבחור צבעים שאתה הולך לעבוד איתו ולהתפתח. 347 00:24:17,880 --> 00:24:22,250 אתה גם - זה עוזר לבחירת גופן, וככה אתה עובד עם סוג של 348 00:24:22,250 --> 00:24:24,450 יסודות בטון אלה של עיצוב. 349 00:24:24,450 --> 00:24:26,910 יש לך הסוג שלך, יש לך צבעים, ואז אתה יכול סוג של 350 00:24:26,910 --> 00:24:29,380 תתאים לכל דבר אחר בצורך כ. 351 00:24:29,380 --> 00:24:37,710 אז, כמו שאמרתי, עם ערכת הצבעים שלך אתה רוצה להשתמש בצבעים נועזים יותר של ערכת הצבעים שלך 352 00:24:37,710 --> 00:24:40,320 במשורה. כותרות הן נחמדים. כפתורים נחמדים שיש צבעים ממש גדולים, ראוותניים. 353 00:24:40,320 --> 00:24:43,710 אבל באופן כללי, אם יש לך אתר שיש צבעים בכל מקום, 354 00:24:43,710 --> 00:24:47,250 כל בוהה לך בפרצוף, זה פשוט נראה מבולגן, וזה לא טוב. 355 00:24:47,250 --> 00:24:50,430 אתה רוצה להשתמש בצבעים בהירים בדרך כלל. 356 00:24:50,430 --> 00:24:52,890 נסה, שוב, לבחור ערכת צבעים די עקבית. 357 00:24:52,890 --> 00:24:56,640 יכול להיות לך כתמים קטנים האלה של הרבה צבע - 358 00:24:56,640 --> 00:25:00,240 שיכול להיראות די נחמד, אבל אתה רוצה להשתמש בם די במשורה. 359 00:25:00,240 --> 00:25:04,270 >> כמו שאמרתי, אתה רוצה להיות מינימאלי. פחות הוא כמעט תמיד יותר. 360 00:25:04,270 --> 00:25:07,430 אם אתה יכול להציג משהו או לא להציג משהו, 361 00:25:07,430 --> 00:25:10,230 ואתה סוג של לא בטוח אם זה צריך להיות שם כברירת מחדל - 362 00:25:10,230 --> 00:25:13,400 כנראה שאתה הכי טוב את עוזב אותו החוצה. אתה תמיד יכול להוסיף אותו במועד מאוחר יותר. 363 00:25:13,400 --> 00:25:16,620 כן, לשמור על דברים פשוטים. 364 00:25:16,620 --> 00:25:19,510 אבל הכי חשוב, כדאי לך לשקול עיצובים מרובים. 365 00:25:19,510 --> 00:25:23,520 אל תחשוב שכשאתה עושה באתר, יש לך את זה בראש שלך, כי אתה הולך 366 00:25:23,520 --> 00:25:26,310 להפוך את האתר בצורה מסוימת, וזה הולך להיראות בדיוק כמו זה. 367 00:25:26,310 --> 00:25:29,830 זה הולך להיות כותרת הכחולה בחלק העליון וסרגל הצד הכחול 368 00:25:29,830 --> 00:25:32,670 ואז הדבר תת הכותרת הצהובה. 369 00:25:32,670 --> 00:25:34,670 אתה רוצה להפוך את תבניות מרובות. 370 00:25:34,670 --> 00:25:37,350 אתה יכול גם - אם אתה טוב עם חנות צילום, אתה יכול לפתוח את זה וסוג של 371 00:25:37,350 --> 00:25:39,600 לעצב אתר כמו שאתה רוצה שזה ייראה. 372 00:25:39,600 --> 00:25:41,680 אם לא, אתה יכול פשוט להשתמש בעט ונייר, 373 00:25:41,680 --> 00:25:44,000 אבל לשרוט את עיצובים מרובים. 374 00:25:44,000 --> 00:25:47,000 אתה רוצה בעצם שיש להקים בו יש לך הרבה עיצובים שונים, 375 00:25:47,000 --> 00:25:50,810 ואם אחד בסופו של עבודה, אז זה נהדר. 376 00:25:50,810 --> 00:25:53,370 אם אחד מסתיים של דבר נכשל, אז תמיד יש לך עוד למי לפנות. 377 00:25:53,370 --> 00:25:57,960 באופן כללי, לא מרגיש שאתה צריך להיות מוגבל 378 00:25:57,960 --> 00:26:00,830 לכל עיצוב שאתה בתחילה להחליט על. 379 00:26:00,830 --> 00:26:04,420 עיצובים הם מאוד משתנים, וחלק מחשיבותו של המודל 380 00:26:04,420 --> 00:26:09,480 מערכת תצוגת הבקר היא שאתה יכול להחליף ולצאת תצוגות שונות שאתה רוצה. 381 00:26:09,480 --> 00:26:13,510 אתה יכול להשפיע על הנתונים בדרך זו, ולאחר מכן להחליט, אה, בעצם, זה לא עובד כל כך טוב. 382 00:26:13,510 --> 00:26:19,190 אני חושב שזה סוג של מסובך מדי או שיש כאן חלק שלא ממש עובד, 383 00:26:19,190 --> 00:26:22,150 אז אני פשוט הולך לנטוש את ההשקפה זו ולהחליף באחד חדש לגמרי לגמרי. 384 00:26:22,150 --> 00:26:24,790 אנחנו עדיין יכולים להשתמש במודלים הישנים והבקרים הישנים. 385 00:26:24,790 --> 00:26:27,490 אנחנו יכולים לעשות הכל בשרת ולקוח כמו בעבר היינו עושה זאת. 386 00:26:27,490 --> 00:26:32,850 אבל הגל בפועל של הנתונים כפי שהם מוצגים הולך להיות שונים במקצת. 387 00:26:32,850 --> 00:26:35,840 >> ככל למעשה יישום העיצוב שאתה רוצה, 388 00:26:35,840 --> 00:26:39,330 ברגע שיש לך כמה עיצובים שרטטו על נייר או בחנות צילום או כל דבר אחר, 389 00:26:39,330 --> 00:26:42,120 יש מספר הכלים העומדים לרשותך. 390 00:26:42,120 --> 00:26:45,700 הראשון שאתה מכיר היטב וזה ה-HTML, PHP, או כל דבר אחר 391 00:26:45,700 --> 00:26:48,990 שפה שאתה משתמש רק בקוד הדפים סטטיים באתר האינטרנט שלך. 392 00:26:48,990 --> 00:26:51,990 שעבדת הרבה עם HTML איזה סוג של נותן לך תגים אלה 393 00:26:51,990 --> 00:26:57,820 כי אתה יכול לשים את הדברים ב, ובעצם זה דרך לארגן את התוכן שלך. 394 00:26:57,820 --> 00:27:00,990 לדוגמא, יש לך את הכותרת שם למעלה, אז אתה הולך להיות תג כותרת, 395 00:27:00,990 --> 00:27:05,770 וזה הולך להיות קצת טקסט בתוכו שכנראה הולך להיות בתג אחר. 396 00:27:05,770 --> 00:27:08,380 אז יש לך סרגל צדדי אולי עם כמה קישורים שונים, 397 00:27:08,380 --> 00:27:10,160 ואלה הולכים לכל להיות בתגים נפרדים. 398 00:27:10,160 --> 00:27:13,870 אז, בעצם HTML בלב שלה הוא דרך של חלוקת הדף איך 399 00:27:13,870 --> 00:27:16,980 סופו של דבר רוצה לעצב אותו. 400 00:27:16,980 --> 00:27:18,980 אז שוב, אתה ראית את זה בעבר. 401 00:27:18,980 --> 00:27:20,540 אתה מרגיש בנוח די עם עבודה עם זה עכשיו 402 00:27:20,540 --> 00:27:23,120 בהתחשב בכך שעשית את pset האחרון בתקווה, 403 00:27:23,120 --> 00:27:26,150 כך שלא צריך להיות בעיה. 404 00:27:26,150 --> 00:27:31,280 >> אז יש לך CSS אשר בעצם מטפל בכל ההיבטים סטטי העיצוב. 405 00:27:31,280 --> 00:27:35,320 זה יהיה להתמודד עם כל הצבעים, כל המיקום של אלמנטים שונים, 406 00:27:35,320 --> 00:27:36,840 לאן הם הולכים עם כבוד אחד לשני, 407 00:27:36,840 --> 00:27:41,530 עד כמה הם גדולים, מיני positionings שיש לך שונים - 408 00:27:41,530 --> 00:27:46,030 במילים אחרות, אתה יכול לקבל דברים קבועים, כך שהם בעת הגלילה למטה להישאר, 409 00:27:46,030 --> 00:27:48,700 או שאתה יכול לקבל את דברים ביחס לאלמנטים אחרים. 410 00:27:48,700 --> 00:27:50,730 כל דברים מהסוג הזה הוא ב-CSS. 411 00:27:50,730 --> 00:27:54,630 יתר על כן, אתה יכול לעשות את קישוטים שונים, אתה יכול לקבל את צבעי טקסט, 412 00:27:54,630 --> 00:27:56,630 אפקטים של טקסט, כל סוג כזה של דברים. 413 00:27:56,630 --> 00:28:00,360 בן נתן סמינר ממש טוב בסוף השבוע האחרון, 414 00:28:00,360 --> 00:28:04,450 וכך הייתי בהחלט לבדוק את זה, אם אתה מתכנן לעשות כמה דברים מפוארים עם CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 הוא למעשה הגרסה החדשה ביותר של ה-CSS, והוא יכול לעשות כל מיני דברים ממש נחמדים. 416 00:28:09,850 --> 00:28:14,750 הוא יכול לעשות הדרגתיים; אתה יכול לקבל פינות יפות, מעוגלות, אתה יכול לעשות כל מיני דברים 417 00:28:14,750 --> 00:28:17,940 כדי להפוך את האתר שלך נראה יותר מודרני ומפואר. 418 00:28:17,940 --> 00:28:22,150 >> הכלי הבא הוא JavaScript ו-jQuery שבן דיבר קצת על, 419 00:28:22,150 --> 00:28:24,150 אבל אני אביא קצת רחוק יותר אליו. 420 00:28:24,150 --> 00:28:28,100 JavaScript, כמו שאתה כבר עובד עם זה קצת, או לפחות ראית את זה בהרצאה, 421 00:28:28,100 --> 00:28:31,870 הוא סוג של דרך דינמית לעשות דברים ב-HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, כמו שאתה יודע, הוא סטטי, ולכן ברגע שיש לך HTML אתה לא יכול לשנות אותה. 423 00:28:35,950 --> 00:28:40,050 אבל JavaScript, במובנים מסוימים, הוא דרך כדי להיות מסוגל לשנות את ה-HTML. 424 00:28:40,050 --> 00:28:44,520 אז אתה יכול לעשות את זה, וזה נהדר, אבל JavaScript באמת כאב לעבוד איתו. 425 00:28:44,520 --> 00:28:49,050 זה כל כך ארוך וקהה ולעשות אפילו את הדברים הפשוטים ביותר 426 00:28:49,050 --> 00:28:51,630 דורש המון שורות של JavaScript. 427 00:28:51,630 --> 00:28:55,410 אז, jQuery היא בעצם ספריית JavaScript שמפשטת את כל זה. 428 00:28:55,410 --> 00:28:59,880 זה אומר, בסדר, אם אתה רוצה יש לי קופסא מרובעת באה מהשמאל 429 00:28:59,880 --> 00:29:03,980 ונמוג לתוך הדף כך שזה באמצע, ב-JavaScript שייקח - 430 00:29:03,980 --> 00:29:06,340 אני לא יודע, מאה קווים לעשות, וזה יהיה כאב, 431 00:29:06,340 --> 00:29:10,540 ולך תצא מזה לשנוא את הכל על תכנות אינטרנט. 432 00:29:10,540 --> 00:29:15,380 JQuery אתה בעצם יש את האלמנט-dot-לדעוך ב, או משהו כזה. 433 00:29:15,380 --> 00:29:18,580 פונקציות אז, מאוד, מאוד פשוטות שיאפשר לך לעשות כל מיני אנימציות מגניבים 434 00:29:18,580 --> 00:29:20,580 ודברים מהסוג הזה. 435 00:29:20,580 --> 00:29:23,300 הדבר השני ש2 אלה הם באמת טובים להוא פשוט עושה דברים דינמיים 436 00:29:23,300 --> 00:29:25,300 עם האתר. 437 00:29:25,300 --> 00:29:28,370 אז, לא רק שיש דף HTML שלך - אשר מציג כמה נתונים, אבל לא ממש 438 00:29:28,370 --> 00:29:32,130 לעשות שום דבר - JavaScript ו jQuery ייאפשרו לך לחצנים שאתה יכול ללחוץ על, 439 00:29:32,130 --> 00:29:37,960 ואתה יכול לגרור אלמנטים ואותם מחדש את הסדר ולמיין אותם, ויש להם אלמנטים חדשים 440 00:29:37,960 --> 00:29:40,500 הוספה או הסרה. אתה יכול להוסיף-Delete, דברים מהסוג הזה. 441 00:29:40,500 --> 00:29:44,570 אז, jQuery עושה טונות של דברים מגניבים. 442 00:29:44,570 --> 00:29:48,840 וVipul הוא בעצם נותן סמינר על זה היום, אני מאמין, בשעה 5, 443 00:29:48,840 --> 00:29:51,220 כך שאם אתה יכול להישאר בסביבה במשך כל כך הרבה זמן, שהיית - 5 או 4? 444 00:29:51,220 --> 00:29:54,930 ארבעה. סליחה. זה בעצם מייד אחרי זה, ולכן אני ממליץ 445 00:29:54,930 --> 00:29:56,680 נשאר לזה אם אתה יכול. 446 00:29:56,680 --> 00:30:00,180 JQuery היא סופר, סופר שימושי, ואתה תהיה מסוגל לעשות הרבה דברים ממש נחמדים עם זה 447 00:30:00,180 --> 00:30:03,460 עבור כמעט כל פרויקט פיתוח אינטרנט. 448 00:30:03,460 --> 00:30:06,200 >> עכשיו אני הולך להיכנס לסוג של הבחנה. 449 00:30:06,200 --> 00:30:08,210 אני מדבר בעצם על ממשק משתמש. 450 00:30:08,210 --> 00:30:11,510 ממשק משתמש הוא פשוט העיצוב של האתר. 451 00:30:11,510 --> 00:30:13,780 אבל יש סוג של קונספט אחר שהיא חוויית משתמש. 452 00:30:13,780 --> 00:30:15,900 השניים הם שונים מאוד. 453 00:30:15,900 --> 00:30:19,440 ממשק הוא בהחלט חלק מהחוויה. 454 00:30:19,440 --> 00:30:21,340 במילים אחרות, כשאתה הולך לאתר, אתה מסתכל על הממשק. 455 00:30:21,340 --> 00:30:22,960 זה חלק מאיך אתה חווה את האתר. 456 00:30:22,960 --> 00:30:24,960 אבל חוויית המשתמש הוא יותר מזה. 457 00:30:24,960 --> 00:30:29,910 חוויית משתמש היא על מה הוא הרושם שהמשתמש מקבל מהאתר שלך. 458 00:30:29,910 --> 00:30:31,910 אז, כמובן, ממשק הוא חלק מזה. 459 00:30:31,910 --> 00:30:35,340 וזה בהחלט חלק הכרחי, אבל זה לא מספיק. 460 00:30:35,340 --> 00:30:38,790 במילים אחרות, אם יש לך ממשק נחמד, וזה די וצבעוני וכל זה, 461 00:30:38,790 --> 00:30:43,650 זה נהדר, אבל אם המשתמש מגיע לאתר שלך, רואה את פריסה יפה וזה בלבל 462 00:30:43,650 --> 00:30:47,060 הכל, אין לו מושג איך לעשות משהו, אז ברור שעשית באמת 463 00:30:47,060 --> 00:30:48,930 באתר ירוד. 464 00:30:48,930 --> 00:30:50,930 זה סוג של שבו חווית משתמש נכנס 465 00:30:50,930 --> 00:30:54,570 אני הולך לדבר קצת על עיצוב UX - UX הוא קיצור של חוויית משתמש - 466 00:30:54,570 --> 00:30:58,050 וסוג של איך אתה יכול לוודא שיש לך חווית משתמש טובה. 467 00:30:58,050 --> 00:31:04,330 הנקודה הראשונה היא שאתה יכול לעצב אתר אינטרנט שבו משתמש יכול לעשות שום דבר, כי 468 00:31:04,330 --> 00:31:06,820 המשתמש שרוצה אולי. 469 00:31:06,820 --> 00:31:08,940 אבל אם המשתמש לא יכול להבין איך לעשות את הדברים האלה - 470 00:31:08,940 --> 00:31:12,850 במילים אחרות, אם המשתמש לא צריך רעיון טוב כשהם הולכים לאתר שלך, 471 00:31:12,850 --> 00:31:17,660 "אה, אם אני רוצה לעדכן את הפרופיל שלי, ואז אני לוחץ על לחצן זה, או אם אני רוצה לכתוב על 472 00:31:17,660 --> 00:31:20,850 הקיר של מישהו, אז אני הולך לקיר שלהם ולחץ על קופסא קטנה. " 473 00:31:20,850 --> 00:31:24,410 אם המשתמש לא יודע את זה, אז אתה למעשה לא ממש יש לי 474 00:31:24,410 --> 00:31:27,080 יושם פונקציונלי שבצורה נכונה. 475 00:31:27,080 --> 00:31:30,900 חלק מיישום פונקציונלי הוא שהמשתמשים הם למעשה יוכלו להשתמש בו. 476 00:31:30,900 --> 00:31:34,810 וזה עלול להיות מתסכל - אתה עלול להפוך את אתר, והוא יכול לעשות כל מיני סוגים של 477 00:31:34,810 --> 00:31:37,810 דברים נפלאים, אבל אז תצטרך אנשים לבדוק אותו ואומרים, "זה לא יכול לעשות את זה. 478 00:31:37,810 --> 00:31:39,770 למה זה לא יכול לעשות את זה? "ואתה תגיד להם בחזרה, 479 00:31:39,770 --> 00:31:44,420 "ובכן, זה יכול. אתה רק צריך להיכנס לתפריט הנפתח 7 על זה מעורפל 480 00:31:44,420 --> 00:31:48,470 דף שרק הוא נמצא על ידי קישור בתחתית-הפינה הימנית "או משהו כזה. 481 00:31:48,470 --> 00:31:50,430 ברור, אתה לא רוצה את זה. 482 00:31:50,430 --> 00:31:53,420 אתה רוצה שזה יהיה ברור למשתמשים שלך את מה שהם אמורים לעשות, 483 00:31:53,420 --> 00:31:56,240 וזה צריך להיות פשוט ואינטואיטיבי עבורם. 484 00:31:56,240 --> 00:32:01,180 >> דבר נוסף שאתה רוצה לנסות לעשות הוא, אם מישהו הולך להיכנס לאתר שלך 485 00:32:01,180 --> 00:32:05,520 ו -9 מתוך 10 פעמים לעשות פעולה, ו1 מתוך 10 פעמים לעשות פעולה ב ', 486 00:32:05,520 --> 00:32:08,950 אתה כנראה רוצה להתמקד הניסיון שלהם בפעולה א 487 00:32:08,950 --> 00:32:12,240 במילים אחרות, אתה רוצה לעשות את זה כמה מאוד, מאוד ברור לעשות א ' 488 00:32:12,240 --> 00:32:15,980 ואת מרכז קדמי צריך להיות - להיכנס לאתר, לראות אותו, הו, זה ממש שם. 489 00:32:15,980 --> 00:32:20,850 ואילו ב 'ברור שאתה רוצה שיהיה ברור, אבל אתה יכול לעזוב את זה קצת יותר 490 00:32:20,850 --> 00:32:22,850 ברקע. 491 00:32:22,850 --> 00:32:24,640 דוד נותן דוגמא טובה לכך בהרצאה, 492 00:32:24,640 --> 00:32:26,640 המהווה את מערכת בוסטון T. 493 00:32:26,640 --> 00:32:29,440 כשאתה הולך לבוסטון T ואתה רוצה לקנות כרטיס, 494 00:32:29,440 --> 00:32:32,700 יש לך להיכנס ל5 תפריטים לפני שאתה בעצם יכול לרכוש כרטיס 495 00:32:32,700 --> 00:32:37,130 לשווי 2 $, $ 2.50, אשר הוא עד כמה שנדרש כדי לרכב על הרכבת התחתית 496 00:32:37,130 --> 00:32:39,130 בכיוון אחד. 497 00:32:39,130 --> 00:32:41,600 זו בעיה, משום שרוב האנשים שנסעו ברכבת התחתית 498 00:32:41,600 --> 00:32:44,880 כנראה רק רוצה ללכת למקום אחד, לקנות את הכרטיס שלהם, לקבל באופן מיידי. 499 00:32:44,880 --> 00:32:47,550 זה לא הגיוני שהם צריכים לעבור הרבה תפריטים שונים 500 00:32:47,550 --> 00:32:49,550 כדי להגיע לשם. 501 00:32:49,550 --> 00:32:51,760 חוויית משתמש טובה יותר תהיה כפתור מהיר בעמוד הראשון 502 00:32:51,760 --> 00:32:54,760 שפשוט אומר, 'לקנות כרטיס בכיוון אחד', וזה היה לשים בכל התקן 503 00:32:54,760 --> 00:32:58,550 ערכי ברירת מחדל, ואז אם מישהו רוצה לקנות כרטיס שונה מזה, 504 00:32:58,550 --> 00:33:01,690 עדיין, כמובן, יש להם את האפשרות, אבל יש לך אופטימיזציה עבור 505 00:33:01,690 --> 00:33:04,080 המקרה הנפוץ השימוש בו הוא באמת חשוב. 506 00:33:04,080 --> 00:33:06,830 אתה יכול לראות דוגמאות לכך בפייסבוק, נכון? 507 00:33:06,830 --> 00:33:09,410 אם אתה הולך לפייסבוק ואתה רוצה לכתוב סטטוס, 508 00:33:09,410 --> 00:33:11,710 זה נכון בחלקו העליון וזה מה שלעתים קרובות אתה רוצה לעשות. 509 00:33:11,710 --> 00:33:14,730 ברגע שאתה נכנסת לדף, אתה יכול לעשות את הדברים הנפוצים ביותר, כי 510 00:33:14,730 --> 00:33:16,730 אתה רוצה לעשות. 511 00:33:16,730 --> 00:33:17,550 אם אתה רוצה לעשות דברים קצת יותר מסובכים כמו, 512 00:33:17,550 --> 00:33:21,070 להגיד שאני רוצה ללכת לקיר של חבר שלי ולפרסם את תמונה על זה - 513 00:33:21,070 --> 00:33:24,810 שאני רוצה לעשות לעתים קרובות, אבל לא לעתים קרובות ככל שפרסום עדכוני סטטוס - 514 00:33:24,810 --> 00:33:28,200 ולכן במקרה זה, אני מקליד את שמם בתיבה בחלק העליון, לחץ על הפרופיל שלהם, 515 00:33:28,200 --> 00:33:31,680 ולאחר מכן, עדיין, זה נכון בחלקו העליון יש שאחרי שאני הגעתי לפרופיל שלהם. 516 00:33:31,680 --> 00:33:38,240 שוב, אני כבר מותאם בראש סדר עדיפויות של מקרים הנפוץ ביותר לשימוש. 517 00:33:38,240 --> 00:33:41,800 >> עוד דבר חשוב הוא שלעתים קרובות אנשים סוג של לנסות לעקוף את זה 518 00:33:41,800 --> 00:33:44,890 באומרו, בסדר, אז אני עשיתי את האתר ואנשים מוצאים את זה מבלבל, 519 00:33:44,890 --> 00:33:46,110 וזה בעיה, נכון? 520 00:33:46,110 --> 00:33:49,210 כמובן, אני לא רוצה שאנשים יתבלבלו מהתוכן של האתר שלי. 521 00:33:49,210 --> 00:33:53,210 אבל הדרך לפתור את זה היא לא צריך משהו יצוץ אומר, 522 00:33:53,210 --> 00:33:55,290 היי, אני הולך ללמד אותך איך להשתמש באתר זה. 523 00:33:55,290 --> 00:33:58,130 שלב 1 - לחץ על לחצן זה. שלב 2 - ללכת כאן. 524 00:33:58,130 --> 00:34:03,080 בטח, זה דרך לעקוף את זה - זה בדרך שאתה יכול להגיד לאנשים מה לעשות, אבל זה 525 00:34:03,080 --> 00:34:05,080 ממש לא הדרך האופטימלית. 526 00:34:05,080 --> 00:34:07,420 אם אני הולך לאתר ופתאום אני מופגז עם מדריך זה שאומר לי 527 00:34:07,420 --> 00:34:11,739 מה לעשות ולאן ללכת וכל זה, זה לא כיף בשבילי. 528 00:34:11,739 --> 00:34:13,739 זה לא חוויה טובה בשבילי. 529 00:34:13,739 --> 00:34:17,130 זה סוג של כאב. אני רוצה פשוט להתחיל לעשות דברים. 530 00:34:17,130 --> 00:34:19,449 אנשים הולכים לסגור את תיבת הדו שיח שלהם, 531 00:34:19,449 --> 00:34:23,580 או לצאת מההדרכה, לא יודע מה לעשות, ולאחר מכן מתלונן כי 532 00:34:23,580 --> 00:34:25,580 שלא סיפר להם מה לעשות. 533 00:34:25,580 --> 00:34:29,530 הדרך לפתור את זה היא לא על ידי מתן כל סוג של הדרכה או כיוונים - 534 00:34:29,530 --> 00:34:31,530 משהו כזה. 535 00:34:31,530 --> 00:34:33,719 ככל שאתה יכול למנוע את זה, אתה באמת רוצה להראות למשתמש מה לעשות 536 00:34:33,719 --> 00:34:36,429 רק על ידי הטבע של איך האתר ערוך. 537 00:34:36,429 --> 00:34:39,090 במילים אחרות, אם אני הולך לפייסבוק ללא כניסה, 538 00:34:39,090 --> 00:34:40,920 הדבר הראשון שאני רואה בדף הראשי - 539 00:34:40,920 --> 00:34:44,480 זה תיבת התחברות קטנה. אז, duh. אני חייב להיכנס פנימה זה ממש שם. 540 00:34:44,480 --> 00:34:48,030 לעומת זאת, אם הלכתי לפייסבוק והייתי צריך ללחוץ על קישור קטן בתחתית 541 00:34:48,030 --> 00:34:51,920 שאמרו 'להיכנס' ושאר הדף היה רק ​​סוג מסוים של תמונה או משהו, 542 00:34:51,920 --> 00:34:54,820 אני לא ממש יודע מה לעשות, נכון? הייתי מבולבל. 543 00:34:54,820 --> 00:34:58,590 אז, זה יכול להגיד לי ללכת לשם ולחץ על לחצן כדי להיכנס, 544 00:34:58,590 --> 00:35:01,080 או היומן בלחצן יכול להיות נכון בחלק העליון שבו אני הולך לראות את זה. 545 00:35:01,080 --> 00:35:04,780 אתה רוצה תמיד להיות מראה למשתמש מה לעשות, 546 00:35:04,780 --> 00:35:06,750 ושצריך להיות הגלום בדף עצמו. 547 00:35:06,750 --> 00:35:09,880 >> כשאתה חושב על עיצובים ולעג את דרכים שונות 548 00:35:09,880 --> 00:35:13,810 להביע את האתר שלך, אתה באמת רוצה לחשוב על מה שהמשתמשים הולכים 549 00:35:13,810 --> 00:35:19,380 עושה ואיך אתה יכול להראות להם מה לעשות. 550 00:35:19,380 --> 00:35:23,530 הדבר האחרון הוא הבדיקה היא ממש ממש חשובה. 551 00:35:23,530 --> 00:35:27,400 זה נהדר לקבל מישהו - לקבל חבר, לקבל מישהו שאתה לא יודע אפילו - 552 00:35:27,400 --> 00:35:30,420 שמעולם לא ראה את האתר לפני שימוש באתר. 553 00:35:30,420 --> 00:35:33,650 מכיוון שאתה כבר עובד על האתר במשך שעות, אתה כבר בוהה בו, 554 00:35:33,650 --> 00:35:36,670 ואתה יודע בדיוק מה לעשות אז ברור שאתה הולך להיות בדיקה 555 00:35:36,670 --> 00:35:39,520 דברים שאתה כבר עובד על ושאתה יודע את עבודה. 556 00:35:39,520 --> 00:35:42,680 אבל אם יבוא מישהו ומשתמש באתר שמעולם לא השתמש בו בעבר, 557 00:35:42,680 --> 00:35:46,880 זו חוויה ייחודית, כי יש לך מישהו שאין לו ידע מוקדם 558 00:35:46,880 --> 00:35:51,530 של האתר להיכנס לזה, ולכן הם הולכים בצורה יעילה לאין לי מושג מה לעשות 559 00:35:51,530 --> 00:35:54,890 או איזה סוג של מקרי שימוש נוכחים עבורם. 560 00:35:54,890 --> 00:36:00,930 זה נהדר. זה ייחודי משום שהם בעצם אדם עם ריק לנפש. 561 00:36:00,930 --> 00:36:03,750 הם יכולים להגיד לך אם משהו הוא מבלבל או לא ברור. 562 00:36:03,750 --> 00:36:07,580 הם יכולים לתת לך מושג בדיוק מה היא את חוויית המשתמש של האתר שלך. 563 00:36:07,580 --> 00:36:10,630 זה יכול להיות מאוד קשה לדעת שאת עצמך, ולכן בהחלט הייתי ממליץ לך 564 00:36:10,630 --> 00:36:13,640 כמו שאתה מפתח את הפרויקטים שלך - אם אתה עושה פרויקטים מבוססי אינטרנט - 565 00:36:13,640 --> 00:36:18,290 כדי לגרום לאנשים להשתמש באתר מוקדם ככל שיש לך איזה סוג של הדגמה פונקציונלית. 566 00:36:18,290 --> 00:36:25,330 >> עכשיו אני הולך לדבר קצת על איך לנהל את פרויקט פיתוח אינטרנט. 567 00:36:25,330 --> 00:36:28,900 כבר דברנו על איך אתה יכול לעשות בצד העורפי הטכני, 568 00:36:28,900 --> 00:36:31,050 איך אתה יכול לעצב את אתר ממש טוב, 569 00:36:31,050 --> 00:36:34,150 וזה נהדר אם אתה עובד על עצמך, אבל - 570 00:36:34,150 --> 00:36:37,300 גם אם אתה עובד על עצמך ובמיוחד אם אתה עובד בצוות, 571 00:36:37,300 --> 00:36:39,580 ניהול פרויקט הופך לבעיה גדולה. 572 00:36:39,580 --> 00:36:42,340 אתה סוג של שמעת על ניהול פרויקטים בצורות שונות מאז 573 00:36:42,340 --> 00:36:45,410 בית הספר יסודי, כאשר נאמר לכם עבודה קבוצתית. 574 00:36:45,410 --> 00:36:46,820 אתה חייב לשתף פעולה, לתקשר, כל זה. 575 00:36:46,820 --> 00:36:49,620 כי כל עוד חל כאן, אבל יש כמה נסיבות ייחודיות עם 576 00:36:49,620 --> 00:36:54,910 מדעי מחשב שברצונך להיות מודע, ואתה רוצה לוודא שאתה לטפל היטב. 577 00:36:54,910 --> 00:36:58,050 אני אדבר ראשון קצת על הקבוצה שתוכל להיות בו 578 00:36:58,050 --> 00:37:03,280 חשובים מאוד לבחור את הגודל הנכון של צוות שעובד עליו, 579 00:37:03,280 --> 00:37:05,890 ובפרויקט הגמר שלך אני חושב שיש לך את האפשרות לבחור 580 00:37:05,890 --> 00:37:08,610 בין 1 ל 4 אנשים אם אני לא טועה. 581 00:37:08,610 --> 00:37:12,050 אתה רוצה לוודא שאתה לא רק בוחר את מספר האנשים 582 00:37:12,050 --> 00:37:14,950 שברצונך לעבוד איתו כי הם החברים שלך. 583 00:37:14,950 --> 00:37:18,170 אתה רוצה לבחור צוות זה גודל טוב ושיקבל את העבודה. 584 00:37:18,170 --> 00:37:22,700 יש את סחר שביש יותר אנשים לעומת פחות אנשים. 585 00:37:22,700 --> 00:37:25,320 אם יש לך יותר אנשים, כמובן יותר עבודה יכולה להיעשות 586 00:37:25,320 --> 00:37:28,450 כי יש לך הרבה אנשים, הרבה קוד, הרבה רעיונות, 587 00:37:28,450 --> 00:37:29,870 וזה כל מה שגדול. 588 00:37:29,870 --> 00:37:32,590 אבל זה גם דורש הרבה יותר ניהול והרבה יותר תקשורת. 589 00:37:32,590 --> 00:37:34,720 במילים אחרות, אם יש לך 4 אנשים שעובדים על אותו הפרויקט 590 00:37:34,720 --> 00:37:39,200 והם כולם עורכים את אותו קוד, פחות או יותר, שהם כל הסוג של צורך לדעת 591 00:37:39,200 --> 00:37:40,920 מה קורה בכך שהוא מחייב אותך - 592 00:37:40,920 --> 00:37:44,580 אם תוסיף כמה פונקציה חדשה אתה סוג של צריך להגיד לאנשים - אני מוסיף את זה, 593 00:37:44,580 --> 00:37:48,510 אני משנה את זה בדרך זו - במיוחד אם אתה מקבל לדברים ממש עמוקים 594 00:37:48,510 --> 00:37:52,730 כמו הדגמים והבקרים שבאמת הולכים להשפיע על איך האתר עובד. 595 00:37:52,730 --> 00:37:54,500 כל צוות צריך להיות מודע לכך, 596 00:37:54,500 --> 00:37:58,140 אז אתה צריך לוודא שאתה לא בוחר גדולה מדי קבוצה שהולכת להיות קשה 597 00:37:58,140 --> 00:37:59,970 כדי להפוך את התקשורת ש. 598 00:37:59,970 --> 00:38:02,930 אתה גם לא רוצה לבחור מספיק צוות קטן שאתה לא הולך ל 599 00:38:02,930 --> 00:38:06,250 להיות מסוגל לתקשר, כי זה רק אתה. 600 00:38:06,250 --> 00:38:11,270 >> דבר נוסף שיש לקחת בחשבון הוא את מאזן שבו המיומנויות של האנשים. 601 00:38:11,270 --> 00:38:14,350 זה נהדר אם אתה כל מתכנתים ממש טובים. 602 00:38:14,350 --> 00:38:17,050 אבל אם אתה כל אנשים העורפיים, אז האתר שלך הוא לא הולך להיראות טוב מאוד 603 00:38:17,050 --> 00:38:20,860 כי יש לך מסד נתונים הגדולים הזה, והיא עושה שאילתות חיפוש סופר מהירות - 604 00:38:20,860 --> 00:38:26,130 וזה נהדר - אבל כשאתה הולך אליו, זה כמו אתר של 1990 עם אדום וכחול 605 00:38:26,130 --> 00:38:30,370 בכל מקום, וזה לא טוב. 606 00:38:30,370 --> 00:38:34,210 שים לב שבן ואני עובד כצוות מאוד נחמד, כי אני סוג של יותר 607 00:38:34,210 --> 00:38:38,030 בסופו של הקדמי, שנינו אינטראקציה באמצע הסוף, ובן ממש טוב עם דברים עורפיים, 608 00:38:38,030 --> 00:38:43,550 כך שעובד ממש טוב, כי אנחנו יכולים לעצב כל אתר ובעצם החורים 609 00:38:43,550 --> 00:38:47,580 שבאתר זה צריך להיות מלא יכול להיות מלא על ידי כל אחד מאיתנו, או אולי שניהם. 610 00:38:47,580 --> 00:38:50,210 אתה רוצה לוודא שאין חורים בקבוצה שלך. 611 00:38:50,210 --> 00:38:51,180 זה בסדר אם יש קצת חפיפה. 612 00:38:51,180 --> 00:38:53,670 במילים אחרות, אם יש לך 2 אנשים ששניהם טובים עם קצה אחורי, 613 00:38:53,670 --> 00:38:57,250 זה יכול להיות טוב גם כן, כי הם יכולים לעזור אחד לשנייה בבעיות 614 00:38:57,250 --> 00:38:58,820 שיש להם. 615 00:38:58,820 --> 00:39:02,590 זה יכול להיות בעיה אם יש לך רק אדם 1 שאחראי על דבר מסוים 616 00:39:02,590 --> 00:39:06,650 והם נתקלים בבעיה, אז אתה רוצה להיות קצת חפיפה 617 00:39:06,650 --> 00:39:10,760 אבל אתה הכי חשוב רוצה לוודא שכל החורים האפשריים מלאים. 618 00:39:10,760 --> 00:39:17,550 >> הדבר האחרון - וזה צריך להיות מובן מאליו, אבל זה בדרך כלל לא. 619 00:39:17,550 --> 00:39:19,550 אתה באמת רוצה יש לך כיף. 620 00:39:19,550 --> 00:39:23,360 נקודת פרויקט הגמר הזה בCS50 ולעתים קרובות את הנקודה של התפתחות האינטרנט באופן כללי 621 00:39:23,360 --> 00:39:26,360 הוא לא רק לעשות עבודה כי הוא צריך לעשות. 622 00:39:26,360 --> 00:39:29,140 אתה באמת רוצה יש לך כיף, ואתה רוצה להיות עושה משהו 623 00:39:29,140 --> 00:39:31,180 מה שמניע אותך לעבוד על זה. 624 00:39:31,180 --> 00:39:33,650 אם כל מה שאתה עושה הוא כאב לשבת ולעבוד, 625 00:39:33,650 --> 00:39:35,650 אז אתה לא בוחר את הפרויקט הנכון. 626 00:39:35,650 --> 00:39:37,730 אתה רוצה לבחור משהו שמעניין אותך, 627 00:39:37,730 --> 00:39:41,150 אתה באמת רוצה לראות את התוצאה, אתה מתרגש כשאתה מקבל רעיון חדש 628 00:39:41,150 --> 00:39:44,700 משהו שאתה יכול לעשות - ולכן יש כל מיני סוגים של פרויקטים קיימים שאני בטוח 629 00:39:44,700 --> 00:39:47,290 אתה יכול למצוא - לכל אחד יש משהו שבאמת הייתי לסקרן אותם 630 00:39:47,290 --> 00:39:49,290 אם הם עושים פרויקט מבוסס אינטרנט. 631 00:39:49,290 --> 00:39:52,210 אני אגיד את זה שוב עכשיו. 632 00:39:52,210 --> 00:39:54,520 אם הפרויקט שלך נראה כמו כאב ואתה לא רוצה לעבוד על זה, 633 00:39:54,520 --> 00:39:57,260 לבחור פרויקט אחר. בחר משהו שבאמת מעורר אותך. 634 00:39:57,260 --> 00:40:00,260 >> בן הזכיר את המושג הזה של איטרציה קצת, ואני רוצה ללכת על זה קצת. 635 00:40:00,260 --> 00:40:08,250 זה באמת חשוב לעבוד בהתפרצויות שבו אתה להשיג משהו פונקציונלי. 636 00:40:08,250 --> 00:40:13,420 זה יכול להיות נהדר אם יש לך את התכנית לאתר שהולך לעשות A, B, ו-C, 637 00:40:13,420 --> 00:40:16,000 וסופו של דבר זה יגיע לשם. 638 00:40:16,000 --> 00:40:18,600 אבל אתה תקוע בשלב הזה שבו אתה עובד על זה ועובד על זה, 639 00:40:18,600 --> 00:40:23,330 אבל שום דבר לא מקבל עשה. אין לך מה לראות ודבר מוחשי, פונקציונלי. 640 00:40:23,330 --> 00:40:27,940 מה שאתה באמת רוצה לעשות הרבה כמו שזה נראה סוג של כאב לפעמים 641 00:40:27,940 --> 00:40:32,300 לעבוד על משהו ולאחר מכן סוג של כובע אותו, כך שזה לפחות יציב, ריצה 642 00:40:32,300 --> 00:40:34,910 גרסה גם אם אין לו את כל התכונות שאתה רוצה. 643 00:40:34,910 --> 00:40:37,690 ואולי יש כמה תכונות שאתה באמת רוצה להוסיף אבל אתה לא יכול פשוט 644 00:40:37,690 --> 00:40:41,830 בגלל שאתה רוצה לקבל את האתר הזה לנקודה תפקודית. 645 00:40:41,830 --> 00:40:44,400 ואז אתה רוצה סוג של שיש תהליך הפיתוח כולו נראה כמו זה. 646 00:40:44,400 --> 00:40:47,810 אתה רוצה להתחיל איפשהו תפקודי - או בעצם להתחיל עם כלום - 647 00:40:47,810 --> 00:40:49,890 אבל אתה רוצה להגיע למקום בסיסי מאוד ופונקציונלי. 648 00:40:49,890 --> 00:40:54,940 ואז שוב, לעשות סוג של קפיצה ולהגיע לאנשהו פונקציונלי שוב. 649 00:40:54,940 --> 00:40:59,190 תוכל לבנות לאט, וזה עלול ללכת קצת יותר לאט ממה שהוא היה אחר, 650 00:40:59,190 --> 00:41:03,000 אבל בטווח הארוך, אם אתה תקוע כל הזמן בשלב אמצע האדמה שבו אתה 651 00:41:03,000 --> 00:41:06,380 לא באמת יש להם משהו עובד, זה יכול להיות תסכול גדול באמת 652 00:41:06,380 --> 00:41:09,970 לעבוד על הפרויקט שלך בגלל שאתה תמיד כל כך קרוב למקבל את זה עובד, 653 00:41:09,970 --> 00:41:12,130 וזה אף פעם לא עובד בפועל. 654 00:41:12,130 --> 00:41:14,810 אתה רוצה לעבוד בהתפרצויות פונקציונליות אלה, 655 00:41:14,810 --> 00:41:17,950 ואתה גם רוצה לעשות קצת השתקפות אחרי כל אחד. 656 00:41:17,950 --> 00:41:21,260 במילים אחרות, ברגע שאתה נמצא בנקודה שבה האתר עובד עכשיו - 657 00:41:21,260 --> 00:41:24,790 אין לו כל מה שאתה רוצה אבל זה עושה כמה דברים - 658 00:41:24,790 --> 00:41:28,870 אתה רוצה לחשוב, בסדר, הוא באתר זה הגשמת המטרה שאני יצאתי לעשות? 659 00:41:28,870 --> 00:41:33,410 במילים אחרות, אם האתר הוא הולך לעשות X, זה מה שיש לי עובד בכיוון של X? 660 00:41:33,410 --> 00:41:36,450 האם כל הפונקציות שאני רוצה שם? 661 00:41:36,450 --> 00:41:39,340 ויותר מכך, האם זה משרת את המטרה הכוללת שאני רוצה? 662 00:41:39,340 --> 00:41:43,200 אם אתה מוצא כי האתר שלך מתחיל לסטות לכיוון אחר 663 00:41:43,200 --> 00:41:47,330 או אולי דברים פשוט סוג של לא עובדים בחוץ, ייתכן שהגיע הזמן להעביר הילוכים קצת. 664 00:41:47,330 --> 00:41:51,700 במילים אחרות, זה שווה לשקול - זה שווה לזרוק רעיונות במידת צורך 665 00:41:51,700 --> 00:41:57,950 ובהתחשב אני באמת עובד לכיוון מה שאני רוצה להיות. 666 00:41:57,950 --> 00:42:00,760 >> אני מאמין שזה השלב הבא שלי. אל תפחד לנטוש את הרעיונות. 667 00:42:00,760 --> 00:42:03,750 רק בגלל שאתה בילה הרבה שעות עבודה על תכונה 668 00:42:03,750 --> 00:42:07,890 ולבסוף קיבל את זה עובד אבל זה באמת לא הולך כל כך טוב - 669 00:42:07,890 --> 00:42:12,690 כמו שזה לא כל כך שימושי או משתמשים מתקשים להשתמש בו - דברים מהסוג הזה - 670 00:42:12,690 --> 00:42:15,300 אל תפחדו לזרוק אותו. 671 00:42:15,300 --> 00:42:17,650 זה מבאס, כי אתה כבר בילה הרבה זמן לעבוד על זה, 672 00:42:17,650 --> 00:42:21,870 אבל סופו של דבר אתה לא רוצה אתר שהוא סוג של להרכיב על ידי חתיכות אלה ש 673 00:42:21,870 --> 00:42:25,380 סוג של עבודה, אבל הם לא שירתו כל כך טוב. 674 00:42:25,380 --> 00:42:27,990 כמו כן, אל תפחדו לאמץ רעיונות חדשים. 675 00:42:27,990 --> 00:42:30,050 אם מישהו בא ואומר, היי, האתר שנראה ממש מגניב אבל 676 00:42:30,050 --> 00:42:32,290 לא יהיה זה גם יהיה נהדר אם הוא גם עשה את זה? 677 00:42:32,290 --> 00:42:36,220 רק בגלל שזה משהו שאתה לא מתכוון ומשהו שהוא לא בך 678 00:42:36,220 --> 00:42:37,900 מפרט טכני, משהו שלא יצא לך לעשות, 679 00:42:37,900 --> 00:42:40,860 אל תפחדו לקחת את זה על ולאחר מכן לעבוד עם זה. 680 00:42:40,860 --> 00:42:43,680 כי לעתים קרובות הרעיונות שאתם רצים עם כל המהלך של פיתוח 681 00:42:43,680 --> 00:42:47,630 בסופו של דבר להיות התכונות ממש מגניבים של האתר. 682 00:42:47,630 --> 00:42:49,630 >> אני כבר אמרתי את זה קודם. אני אגיד את זה שוב. 683 00:42:49,630 --> 00:42:51,630 בודקים הם סופר, סופר שימושי. 684 00:42:51,630 --> 00:42:56,350 נסה להגיע לאנשים שמעולם לא ראו את האתר לפני להיכנס ולראות מה קורה 685 00:42:56,350 --> 00:42:59,080 בגלל שהם לא רק יכולים לבדוק את השימושיות של האתר וחווית המשתמש, 686 00:42:59,080 --> 00:43:02,070 אבל הם גם יכולים לבדוק את הפונקציונליות בדרכים שאתה לא יכול. 687 00:43:02,070 --> 00:43:06,430 אם אתה עושה כמה תכונה שעושה דבר מסוים 688 00:43:06,430 --> 00:43:11,620 ואתה יודע שזה הולך לעשות את זה אותו דבר בצורה נכונה בכל פעם, זה נהדר. 689 00:43:11,620 --> 00:43:16,610 אך לעתים קרובות יכול להיות קשה להסביר את המקרים פינה שבה כוח משתמשים 690 00:43:16,610 --> 00:43:19,500 הקלד משהו שלא הייתם מצפה - דווקא משום שהגדרת 691 00:43:19,500 --> 00:43:21,500 התכונות בעצמך. 692 00:43:21,500 --> 00:43:23,730 אז, שיש מישהו בחייך שאין לי מושג איך להשתמש באתר 693 00:43:23,730 --> 00:43:26,840 ורק כדי לשבור אותו בכל דרך שהם יכולים לעשות הוא באמת שימושי, כי אתה 694 00:43:26,840 --> 00:43:30,340 לקבל מושג מנקודת מבט של מה באתר שלך הוא עובד שונה לגמרי 695 00:43:30,340 --> 00:43:33,300 ומה צריך לתקן. 696 00:43:33,300 --> 00:43:37,070 >> אחרון, אני הולך לדבר על כמה שיטות טובות בכלל, 697 00:43:37,070 --> 00:43:42,470 ואתה כבר ראית הרבה מהם בCS50, אבל הם גם ממש ממש יחולו בפרויקט הגדרה. 698 00:43:42,470 --> 00:43:47,600 אחת מהן הוא הערות. תמיד להגיב הקוד שלך, במיוחד אם אתה עובד על צוות גדול. 699 00:43:47,600 --> 00:43:51,230 זה יכול להיות כל כך מעצבן, רק כדי להיות גוש ענק של קוד שמישהו כתב 700 00:43:51,230 --> 00:43:54,230 ואולי זה עובד, אולי לא, אבל אין לך מושג מה היא עושה, 701 00:43:54,230 --> 00:43:58,010 אז יש לך מושג אם זה מועיל או לא או אם זה צריך להיות שם או לא, 702 00:43:58,010 --> 00:44:00,200 ואם אתה עובד על משהו אחר זה אפילו יכול להיות שאתה עובד עליו 703 00:44:00,200 --> 00:44:06,590 את אותו הדבר, כל כך פשוט להיות מאוד, מקפיד להתחשב בעמיתים שלך מאוד 704 00:44:06,590 --> 00:44:09,710 ולכתוב קוד שמתועד היטב. 705 00:44:09,710 --> 00:44:13,580 אתה לא צריך ללכת כל כך רחוק כדי לעשות את כל העניין שבו אם אתה רוצה להגדיל 706 00:44:13,580 --> 00:44:16,620 יש דלפק תגובה שאומרת, אני מוסיף 1 למונה זה. 707 00:44:16,620 --> 00:44:20,450 זה לא צריך להיות כל כך מפורט, אבל לכל פונקציה שאתה אי פעם בכתיבה 708 00:44:20,450 --> 00:44:23,160 אתה צריך קצת תיעוד של מה פונקציה שבדיוק עושה, 709 00:44:23,160 --> 00:44:25,140 מה התשומות שלה, ומה שהוא צריך לחזור. 710 00:44:25,140 --> 00:44:27,800 ככה אתה יכול להשתמש ברכיבים של אנשים אחרים באתר 711 00:44:27,800 --> 00:44:31,990 ואתה יכול לעבוד לקראת בנייה של משהו גדול. 712 00:44:31,990 --> 00:44:34,100 >> עוד דבר חשוב הוא שאתה רוצה לעשות נקי קופצים רגיל. 713 00:44:34,100 --> 00:44:40,490 קוד מקבל מבולגן. אל תרגיש רע אם הקוד שלך הוא פשוט לחלוטין בלתי קריא ובלגן ענקי. 714 00:44:40,490 --> 00:44:42,770 זה קורה בפיתוח האינטרנט תמיד. 715 00:44:42,770 --> 00:44:46,530 אתה מוסיף תכונות חדשות, הסרת ישנות. דברים הולכים להיות שם שלא צריך להיות. 716 00:44:46,530 --> 00:44:49,330 זה בסדר, אבל אתה רוצה לוודא להתמודד עם זה באופן קבוע. 717 00:44:49,330 --> 00:44:53,430 אתה לא רוצה לתת לו לבנות עד לנקודה שבה אתה פשוט לא יכול למצוא שום דבר 718 00:44:53,430 --> 00:44:56,430 בקוד שלך, ואין לך מושג מה כל דבר עושה. 719 00:44:56,430 --> 00:44:58,430 זה המקרה עם ה-HTML. 720 00:44:58,430 --> 00:44:59,490 לפעמים אתה תקבל בסופו של דבר עם אובייקטים שאינו מכילים שום דבר, 721 00:44:59,490 --> 00:45:01,320 ואתה רוצה להיפטר מהם. 722 00:45:01,320 --> 00:45:04,610 ב-CSS, אתה יכול להיות מתייחס לאלמנטים שהם כבר לא שם, 723 00:45:04,610 --> 00:45:06,340 אז אתה רוצה להיפטר מקוד זה. 724 00:45:06,340 --> 00:45:09,900 ב-JavaScript, ייתכן שהסרת משהו מHTML. 725 00:45:09,900 --> 00:45:13,150 אז, אתה רוצה לוודא שאתה תמיד לנקות, מה שהופך די דברים 726 00:45:13,150 --> 00:45:17,450 ככל שאתה יכול על בסיס קבוע. 727 00:45:17,450 --> 00:45:21,060 >> עוד דבר שימושי באמת שאני לא חושב שהוא התווה במידה רבה בCS50 728 00:45:21,060 --> 00:45:23,430 אבל זה שווה להיכנס הוא בקרת גרסאות. 729 00:45:23,430 --> 00:45:27,180 הרעיון של בקרת גרסאות הוא כאשר אתה בעצם עוקב אחרי כל ההתקדמות 730 00:45:27,180 --> 00:45:30,820 שבצעת לכיוון האתר שלך ואם בכל נקודה שאתה מבין, אה, זה היה עובד 731 00:45:30,820 --> 00:45:35,220 לפני זמן מה, אבל זה לא עובד יותר, אתה יכול לחזור לגרסות קודמות 732 00:45:35,220 --> 00:45:37,720 ולראות מה השתנה מאז ודברים מהסוג הזה. 733 00:45:37,720 --> 00:45:41,670 הדרך העיקרית לעשות זאת היא עם גית, וGit הוא כל סוג זה של מערכת ש 734 00:45:41,670 --> 00:45:46,390 אני מאמין טומי MacWilliam נתן סמינר על שנה שעברה. 735 00:45:46,390 --> 00:45:51,520 אם אתה הולך לסמינרי CS50 ל2011, אתה יכול לראות את הסמינר שלו על זה. 736 00:45:51,520 --> 00:45:57,070 הרעיון של Git הוא בעצם שבמרווחים זמן קבועים שאתה עושה התחייבויות אלה 737 00:45:57,070 --> 00:46:01,430 שדרכים לומר האתר זה בגרסה די יציבה עכשיו כל כך 738 00:46:01,430 --> 00:46:05,910 אני אריזה אותו ושולח אותו לשרת, ואז אתה יכול ללכת לאותו שרת 739 00:46:05,910 --> 00:46:07,910 ומסתכלים על כל הגרסאות הקודמות של הקוד שלך ולראות איך זה התקדם 740 00:46:07,910 --> 00:46:12,210 וכל הסוג של חומר טוב. 741 00:46:12,210 --> 00:46:14,210 אז, זה בעצם אותו. 742 00:46:14,210 --> 00:46:17,870 ככל פיתוח אינטרנט, אנחנו שמחים להישאר בסביבה ולענות על כל 743 00:46:17,870 --> 00:46:20,570 שאלות ככל שהמצגת שלנו. 744 00:46:20,570 --> 00:46:22,900 זה מכיל. תודה. >> [בן] תודה. 745 00:46:22,900 --> 00:46:28,480 [מחיאות כפיים] 746 00:46:28,480 --> 00:46:30,950 >> צוות, למישהו יש [בילי] שאלות על דברים שאנחנו כבר כיסינו 747 00:46:30,950 --> 00:46:33,950 או דברים שאנחנו כבר לא מכוסים כי הם מקווים שהיינו לכסות? 748 00:46:33,950 --> 00:46:35,950 נשמח לענות עליהם. אף אחד? 749 00:46:35,950 --> 00:46:50,360 [חבר קהל] מה הם היתרונות וחסרונות של שימוש ברובה או באמצעות פייתון? 750 00:46:50,360 --> 00:46:58,660 [בן] השאלה הייתה, מה הם היתרונות וחסרונות של שימוש ברובה או פייתון 751 00:46:58,660 --> 00:46:59,900 במקום כמו PHP. 752 00:46:59,900 --> 00:47:11,340 היתרונות הם שרובי ופיתון הם שפות הרבה יותר טובים מאשר ה-PHP. 753 00:47:11,340 --> 00:47:14,920 לפחות לדעתי, ואני חושב בהרבה דעות של אנשים אחרים גם כן. 754 00:47:14,920 --> 00:47:20,990 הם נועדו יותר לעושים דברים מורכבים, 755 00:47:20,990 --> 00:47:25,380 ופחות לכביר יחד דפי אינטרנט ממש במהירות עם 756 00:47:25,380 --> 00:47:28,400 קצת תוכן דינמי. 757 00:47:28,400 --> 00:47:35,180 החסרונות הם שיש קצת - יש יותר מעקומה למידה 758 00:47:35,180 --> 00:47:37,220 כדי להגדיר אותם. 759 00:47:37,220 --> 00:47:41,010 כלומר, כמו ב-PHP, אתה יכול פשוט יש קובץ HTML ואתה כותב פחות מ, 760 00:47:41,010 --> 00:47:43,060 סימן שאלה, ולאחר מכן אתה כותב קצת קוד, ולאחר מכן אתה כותב סימן שאלה, 761 00:47:43,060 --> 00:47:45,700 גדול מ ', ולאחר מכן סיימת. 762 00:47:45,700 --> 00:47:50,300 בשפות אחרות כמו רובי או פייתון, 763 00:47:50,300 --> 00:47:56,810 אתה צריך לעבור קצת יותר עבודה כדי לקבל את הריצה האתר הראשונית. 764 00:47:56,810 --> 00:48:02,730 יש גם - לפחות זה היה אמור להיות במקרה - שיש יותר תיעוד 765 00:48:02,730 --> 00:48:05,480 זמין עבור PHP רק בגלל שיש יותר אנשים משתמשים בו. 766 00:48:05,480 --> 00:48:09,370 אני חושב שזה לא באותה המידה של בעיה יותר. 767 00:48:09,370 --> 00:48:12,520 אין ספק שתיעוד טוב מאוד על דברים כמו Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 או Django לפייתון הוא שווה הערך. 769 00:48:16,080 --> 00:48:25,910 PHP היא אחת לכולם שכבר משתמש במשך שנים, ואתה יודע איך זה עובד. 770 00:48:25,910 --> 00:48:28,460 רובי ופייתון הם קצת פחות בוגרים. 771 00:48:28,460 --> 00:48:33,130 >> [חבר קהל] אם הייתם צריך לבחור בין אחד מהם ללמוד או להרים, 772 00:48:33,130 --> 00:48:36,130 מה אתה מעדיף? 773 00:48:36,130 --> 00:48:38,870 בכנות, אני חושב שזה תלוי באדם. 774 00:48:38,870 --> 00:48:45,450 אני מצטער. השאלה הייתה שהיית בוחר ללמוד ממישהו? 775 00:48:45,450 --> 00:48:50,230 אני מוצא פייתון הכי נחמד באופן אישי. 776 00:48:50,230 --> 00:48:55,360 יש הרבה אנשים ש-- עשיתי הפרויקט הראשון שלי באינטרנט dev בפייתון וג'נגו. 777 00:48:55,360 --> 00:49:00,300 יש הרבה אנשים שגם אוהבים את Ruby on Rails. 778 00:49:00,300 --> 00:49:02,650 כנראה יותר אנשים שמכירים את Ruby on Rails. 779 00:49:02,650 --> 00:49:05,270 בכנות, אני הייתי הולך רק עם מה שהאנשים סביבך יודעים 780 00:49:05,270 --> 00:49:09,680 כך שיש לך אנשים לשאול שאלות. 781 00:49:19,640 --> 00:49:24,170 >> השאלה הייתה - על שרתים משותפים הוא שזה קצת קשה לעבוד על פייתון? 782 00:49:24,170 --> 00:49:26,170 זה תלוי באירוח שלך. 783 00:49:26,170 --> 00:49:29,400 ישנם מספר של מארחים אינטרנט שיפרסם דברים פייתון. 784 00:49:29,400 --> 00:49:31,400 WebFaction עושה את זה, נכון? 785 00:49:31,400 --> 00:49:34,400 WebFaction הוא אחד שבילי ואני השתמשתי במשך כמה פרויקטים. 786 00:49:34,400 --> 00:49:37,750 הם באמת נהדרים. הם תומכים ברוב השפות. 787 00:49:37,750 --> 00:49:40,020 אבל זה נכון שPHP היא הרבה יותר נרחבת נתמך. 788 00:49:40,020 --> 00:49:45,210 לכן, אם אתה תקוע באינטרנט מארח שרק עושה PHP, זה סיבה טובה להשתמש PHP. 789 00:49:45,210 --> 00:49:56,010 >> [חבר קהל] אני פשוט נכנסתי ללמוד כיצד לבצע שאילתא כמה מסדי נתונים, 790 00:49:56,010 --> 00:50:00,680 ואני יודע SQL שלי הוא בכל המקום, אבל לאחרונה יש לי חשוף ל-- 791 00:50:00,680 --> 00:50:04,470 ואתה ציין את זה. אתה רואה JSON ומסדי נתונים הניתנים להרחבה. 792 00:50:04,470 --> 00:50:14,580 SQL שלי הוא עדיין בכל המקום. איך אתה רואה את זה קורה? 793 00:50:14,580 --> 00:50:21,330 האם יש הולך להיות נטייה גוברת להרחבה יותר (לא נשמע)? 794 00:50:21,330 --> 00:50:30,100 השאלה הייתה - אני חושב שיש הולך להיות מגמה של מסדי נתונים שאינם של SQL. 795 00:50:30,100 --> 00:50:33,850 לדוגמא, כמו MongoDB. אני חושב שזה בהחלט נכון. 796 00:50:33,850 --> 00:50:38,730 העצה שלי הייתה קשורה mySQL-בעיקר כאן רק בגלל mySQL הוא 797 00:50:38,730 --> 00:50:40,950 סטנדרטי. תעשייה 798 00:50:40,950 --> 00:50:45,950 אישית, אני מעדיף בהרבה מסדי נתונים שאין לי schemos כמו MongoDB 799 00:50:45,950 --> 00:50:49,520 שבו אין לך הבעיה של, הו, אני צריך להוסיף עמודה נוספת. 800 00:50:49,520 --> 00:50:51,600 אוי לי, כמו כל מה שעליי לעשות? 801 00:50:51,600 --> 00:50:55,840 זה מאוד קשה לעשות את זה על MySQL, אבל כאשר יש לך משהו כמו מונגו 802 00:50:55,840 --> 00:50:57,840 זה הרבה יותר נחמד. 803 00:50:57,840 --> 00:51:03,780 הדבר נחמד האחר על מונגו הוא שהרשומות שלך הן למעשה אובייקטים ב-JavaScript. 804 00:51:03,780 --> 00:51:10,110 אין שום סוג של צעד גיור שבו אתה צריך לקחת את שורות מסד נתונים אלה 805 00:51:10,110 --> 00:51:13,140 ולהפוך אותם לאובייקט JavaScript ולאחר מכן לשלוח אותם מעבר לגדר. 806 00:51:13,140 --> 00:51:20,290 אני חושב שדברים כאלה הולכים להיות מאוד, מאוד שימושיים עבור פיתוח אינטרנט מהיר בעתיד. 807 00:51:20,290 --> 00:51:23,060 >> [בילי] משהו הייתי מוסיף שהוא רק נקודה כללית הוא ש 808 00:51:23,060 --> 00:51:26,580 לא מרגיש שאתה צריך ללמוד את כל השפות שדנו 809 00:51:26,580 --> 00:51:28,580 מהסמינר שלנו. 810 00:51:28,580 --> 00:51:30,560 ברור שהנקודה היא לתת לך מושג מה יש שם בחוץ, 811 00:51:30,560 --> 00:51:33,450 ואם אתה מסוקרן כל הדברים שהזכרנו אתה יכול לגגל אותם 812 00:51:33,450 --> 00:51:35,830 ולקרוא עליהם. 813 00:51:35,830 --> 00:51:38,750 וכפי שציינתי, יש כמה סמינרים העוסקים באופן מדויק את הדברים האלה. 814 00:51:38,750 --> 00:51:41,660 יש אפילו יותר סמינרים שלא הזכרתי שכנראה להיכנס 815 00:51:41,660 --> 00:51:43,660 החומר הזה גם כן. 816 00:51:43,660 --> 00:51:46,610 הרעיון הוא שאם אתה רוצה לעבוד על משהו, הנה הכלים העומדים לרשותך. 817 00:51:46,610 --> 00:51:51,630 לא מרגיש מאוים אם אתה לא ממש בטוח מה כלים אלה לעשות בדיוק, 818 00:51:51,630 --> 00:51:54,830 אבל יודע שהם שם בחוץ, ושאתה יכול לעשות שימוש רחב שלהם 819 00:51:54,830 --> 00:51:56,830 על ידי גוגל. 820 00:51:56,830 --> 00:51:59,960 >> [חבר קהל] איזה סוג של דברים אתה צריך לעשות כדי להפוך את אתר האינטרנט שלך בטוח 821 00:51:59,960 --> 00:52:02,530 נראה טוב על מכשירים ניידים? 822 00:52:02,530 --> 00:52:05,590 [בילי] התקנים ניידים הם קצת קשים. 823 00:52:05,590 --> 00:52:07,590 יש 2 דרכים שאתה יכול להתקרב אליו. 824 00:52:07,590 --> 00:52:11,500 הדרך הראשונה היא שבעצם יש לך אתר אינטרנט נייד. 825 00:52:11,500 --> 00:52:14,660 במילים אחרות, אתה מבצע איזה גילוי בתחילת 826 00:52:14,660 --> 00:52:18,830 כאשר הדפדפן עושה את הבקשה לאתר שלך אשר גם אומר 827 00:52:18,830 --> 00:52:25,240 לחזור השקפה זו - שתהיה התצוגה עבור דפדפנים שולחניים או נייד - 828 00:52:25,240 --> 00:52:27,710 ומבט אחר זה עבור התקנים ניידים. 829 00:52:27,710 --> 00:52:33,090 זה מקום שבו נופים הם ממש נחמדים שבאתה יכול פחות או יותר החלפה 830 00:52:33,090 --> 00:52:37,580 שני ויש לי ממשק שעובד ממש יפה על מכשירים ניידים 831 00:52:37,580 --> 00:52:40,770 ויש אחד אחר לגמרי שעובד יפה בהתקני דפדפן. 832 00:52:40,770 --> 00:52:43,770 הבעיה עם זה היא שזה לוקח הרבה זמן, כי זה אומר קידוד 833 00:52:43,770 --> 00:52:47,060 ממשק שונה לחלוטין. 834 00:52:47,060 --> 00:52:49,720 הדרך אחרת, כי אתה יכול לעשות את זה היא - 835 00:52:49,720 --> 00:52:55,250 הרבה טלפונים מודרניים יציגו אתרים ולנסות להפוך אותם כמו היה דפדפן, 836 00:52:55,250 --> 00:52:57,680 והם עושים כמיטב יכולתם. 837 00:52:57,680 --> 00:53:04,340 סוג של אתה יכול לנסות להישאר אור על כמות jQuery JavaScript אתה משתמש 838 00:53:04,340 --> 00:53:07,360 אשר נוטה להיות בו דברים יכולים להשתבש קצת. 839 00:53:07,360 --> 00:53:13,430 זה סוג של האופן שבו אתה צריך להשתמש, אם אין לך כל כך הרבה זמן. 840 00:53:13,430 --> 00:53:18,540 אם יש לך הזמן לעבוד על ממשק הסלולרי, זה ללא ספק האפשרות הטובה ביותר שלך. 841 00:53:18,540 --> 00:53:23,320 >> אני חושב שבדרך כלל לפרויקטי CS50, אתה הולך רוצה לבחור אחד או אחר. 842 00:53:23,320 --> 00:53:27,990 במילים אחרות, אתה רוצה להפוך את יישום נייד, או שאתה רוצה להפוך את אתר האינטרנט של שולחן עבודה. 843 00:53:27,990 --> 00:53:32,200 וזה סוג של קובע לאן אתה הולך עם זה. 844 00:53:32,200 --> 00:53:35,360 אבל אם אתה רוצה להרחיב את זה מאוחר יותר, כנראה ההימור הטוב ביותר שלך הוא 845 00:53:35,360 --> 00:53:37,360 כדי להפוך את ממשק נוסף לאחרים. 846 00:53:51,650 --> 00:53:56,340 יש לי קצת ניסיון בפיתוח אתרים מבוסס וורדפרס. 847 00:53:56,340 --> 00:53:58,670 אני מתארח באתר אישי על וורדפרס לזמן מה. 848 00:53:58,670 --> 00:54:02,310 אלו סוגים של מסגרות יכולים להיות דברים בדיוק כפי בסיסיים מאוד נחמדים. 849 00:54:02,310 --> 00:54:07,050 לעתים קרובות אתה פשוט אם כי נתקל בהרבה בעיות התאמה אישיות. 850 00:54:07,050 --> 00:54:10,940 אתה רוצה להיות משהו להיראות בצורה מסוימת או להיות בצורה מסוימת 851 00:54:10,940 --> 00:54:14,510 ואתה לא יכול רק בגלל שזה קשה חיווט למערכת ש 852 00:54:14,510 --> 00:54:17,480 זה איך שאתה צריך לעשות דברים שיכול להיות קצת בעיה. 853 00:54:17,480 --> 00:54:22,020 מאז אני כבר סוג של נוטה יותר לעבוד עם אתרים מהיסוד. 854 00:54:22,020 --> 00:54:26,840 לדברים כמו מאגרי בלוג ודברים מהסוג הזה זה באמת לא כל כך קשה כדי לבנות את מסגרת. 855 00:54:26,840 --> 00:54:29,970 אם אתה באמת נמתח במשך זמן, אתה יכול כמובן להשתמש במשהו כמו וורדפרס 856 00:54:29,970 --> 00:54:33,120 או דברים מהסוג הזה לבלוג. 857 00:54:33,120 --> 00:54:38,790 מיני דברים שחנות בלוגים ולעשות הם לא ממש קשה מספיק, כי 858 00:54:38,790 --> 00:54:41,500 אם אתה מפעיל לתוך כל הדברים האלה, אתה כנראה הכי פשוט 859 00:54:41,500 --> 00:54:43,500 להפוך את הגרסה בבית. 860 00:54:43,500 --> 00:54:48,350 >> אני חושב שזה על זה, אז שוב תודה שבאתם. 861 00:54:48,350 --> 00:54:51,960 אנחנו ממש נהנינו לדבר איתך חבר 'ה ומקווים שלמדת כמה דברים. 862 00:54:51,960 --> 00:54:55,350 [בן] אנחנו שמחים לדבר - אנחנו צריכים ללכת אבל אנחנו שמחים לדבר יותר מחוץ 863 00:54:55,350 --> 00:55:01,650 אם יש לך שאלה אחרת. שוב תודה. [מחיאות כפיים] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]