-
- {{ content }}
-
+
+
+ {{ content }}
{% include footer.html %}
-
-
+
+
+
diff --git a/_layouts/post.html b/_layouts/post.html
index b2015c3..1800826 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -30,12 +30,9 @@
{{ page.title }}
this.page.url = "{{ page.id }}"; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = "{{ page.url }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
-
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
-
s.src = '//lifelongstudent.disqus.com/embed.js';
-
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
diff --git a/_posts/2012-09-16-little-android-bit-grammar.md b/_posts/2012-09-16-little-android-bit-grammar.md
index 9ab42c4..d265670 100644
--- a/_posts/2012-09-16-little-android-bit-grammar.md
+++ b/_posts/2012-09-16-little-android-bit-grammar.md
@@ -16,7 +16,7 @@ category: Android
**השכבה האדומה: Linux Kernel – (אנדרואיד היא לא לינוקס)**
-
+
ליבת לינוקס ([Linux kernel](http://en.wikipedia.org/wiki/Linux_kernel)) היא הליבה המשמשת במערכות הפעלה ממשפחת לינוקס. השם "לינוקס" מתייחס אל ליבת המערכת, הקרנל (ליבה = בסיס המערכת), ז"א אלפי שורות קוד המהוות את הבסיס של מערכת ההפעלה.
@@ -49,7 +49,7 @@ category: Android
## השכבה הירוקה, הרמה השנייה: (Libraries ( + Android Runtime
-
+
הרמה השנייה (הירוקה), מורכבת כולה מספריות קוד פתוח. הספריות האלו משמשות שירותים שונים של מערכת ההפעלה, ובנוסף גם את המפתחים.
@@ -77,7 +77,7 @@ category: Android
3. Java VM טוענת את התוכנה לזיכרון (מהדיסק הקשיח) ורק אז יוצרת את האובייקט, שזה הגיוני, מכיוון שהדיסק הקשיח הרבה יותר איטי מה [RAM](http://en.wikipedia.org/wiki/Random-access_memory). דלביק לא עושה זאת, מכיוון שבמכשירים ניידים אין דיסק קשיח, ישנו זיכרון RAM ואחסון פלאש (מהיר מאוד להבדיל מהדיסק הקשיח המכני, ולכן אין סיבה לעשות זאת).
-
+
@@ -99,7 +99,7 @@ category: Android
### השכבה הכחולה: Applications Framework
-
+
הרמה השלישית נקראת Application Framework ובמילים אחרות ניתן גם לקרוא לה API Level.
@@ -111,7 +111,7 @@ category: Android
### השכבה הכחולה: Applications
-
+
בשכבה הרבעית והאחרונה נמצא את כל האפליקציות המובנות, הבסיסיות, של המערכת (לדוגמה: החייגן, אנשי הקשר, הודעות, דפדפן, הלאנצ'ר וכ'ו).
@@ -121,7 +121,7 @@ category: Android
כל השכבות יחדיו כפי שאנדרואיד מורכבת:
-
+
@@ -131,7 +131,7 @@ category: Android
ADB(ראשי תיבות שלAndroid Debug Bridge) זוהי תוכנית הרצה משורת הפקודה (cmd / terminal) על המחשב ומתקשרת עם המכשיר או האמלוטר (ובמילים אחרות, תכניות adb פותחת שורת פקודה למכשיר).
-
+
ה adb משמש מפתחים לניהול מערכת ה Android הישר מהמחשב. הוא מהווה דרייבר בין המכשיר למחשב ומוסיף פקודות לטרמינל ( / cmd) שנותנות למפתחים את היכולת לבצע פעולות שונות, כמו לתת הוראה למכשיר להיכנס למצבים מסויימים, לתת הוראה להתקין אפליקציה מסוימת (שנמצאת על המחשב ולא על המכשיר) וכד'.
@@ -153,7 +153,7 @@ Emulator 2, adb: 5557
### Bootloader
-
+
ה [Bootloader](http://en.wikipedia.org/wiki/Booting) לא ממש קשור ישירות למערכת ההפעלה של Android , אלא זהו רכיב תוכנה מיוחד שרץ בזמן עליית המערכת (אחרי הדלקת המכשיר ולפני שמערכת האנדרואיד עולה). תפקידו הוא לבצע בדיקות לזיכרון ולהעלות את מערכת ההפעלה (OS) לזיכרון ה RAM ו"להעביר את המושכות" על המכשיר למערכת ההפעלה.
@@ -162,7 +162,7 @@ Emulator 2, adb: 5557
-
+
@@ -183,7 +183,7 @@ Emulator 2, adb: 5557
### APK
-
+
[Apk](http://en.wikipedia.org/wiki/Android_application_package) זהוי סיומת הקובץ בו נשמרות אפליקציות של מערכת האנדרואיד. ניתן להשוות את הסיומת לסיומת bat, jar, exe וכד'. הקובץ עצמו הינו קובץ zip רגיל לחלוטין (ניתן לשנות לו את הסיומת מ app.apk ל app.zip ולפתוח אותו באופן רגיל).
diff --git a/_posts/2012-10-21-android-security-mechanisms.md b/_posts/2012-10-21-android-security-mechanisms.md
index 219054a..f11623b 100644
--- a/_posts/2012-10-21-android-security-mechanisms.md
+++ b/_posts/2012-10-21-android-security-mechanisms.md
@@ -76,7 +76,7 @@ category: Android
### אז איך מפתחים בורחים מ'ארגז החול'?
-
+
הרי בפועל אנחנו לא מרגישים שיש "ארגז חול", לדוגמה באפליקציית פייסבוק אנו מושכים תמונה מהגלריה, או כשאנו עושים צק'-אין אנו משתמשים באפליקציית ה GPS . אז רגע, יש ארגז חול או אין ארגז חול?
@@ -183,7 +183,7 @@ category: Android
### DRM - זכויות ניהול דיגיטליות.
-
+
ראשי תיבות: Digital Right Management. ב- API 11 אנדרואיד הוסיפה את האפשרות ל'זכויות ניהול דיגיטליות' - זהו ממשק המספק למכשירי OEM אישור לתוכן מסוים. הרעיון הוא להגן על התוכן של המשתמש באמצעות שימוש ברישיונות דיגיטליים לשימוש בתכנים. מה שמספק את ההגנה/החוצץ הזה הוא ה Binder.
diff --git a/_posts/2012-10-7-mobile-communication.md b/_posts/2012-10-7-mobile-communication.md
index 79d0c75..9334bad 100644
--- a/_posts/2012-10-7-mobile-communication.md
+++ b/_posts/2012-10-7-mobile-communication.md
@@ -22,7 +22,7 @@ category: Stuff
-
+
### עקרונות התקשורת הסלולרית
@@ -114,7 +114,7 @@ category: Stuff
-
+
**אז איך בנויה מחסנית הפרוטוקולים בשער ה wap?**
@@ -135,7 +135,7 @@ category: Stuff
**נקודת גישה - APN**
-
+
ראשי תיבות של Access Point Name. נקודת הגישה זהו קובץ הגדרות שנועד לזהות ולאמת את המשתמש. כאשר טלפון נייד מגדיר חיבור נתונים (במונחים טכניים הפעולה נקראת להקים קישור [PDP](http://en.wikipedia.org/wiki/GPRS_core_network#PDP_context)), ה APN משמש את שרת ה GGSN כדי לקבוע ולספק את כתובת ה IP.
@@ -205,7 +205,7 @@ category: Stuff
**CSD**
-
+
ראשי תיבות של Circuit Switched Data. או יותר נכון עלי לכתוב CSD ז"ל / אבי הגלישה הסלולרית. הגלישה הסלולרית הזו מתומחרת לפי זמן (בדומה למודמים הישנים, 56KB, מודמים PSTN) ולא לפי נפח כפי שאנו רגילים כיום. הטכנולוגיה הינה הטכנולוגיה הראשונה שאפשרה גלישה "נורמלית" - 9.6KBPS ו 14.4KBPS לתדרים 900 / 1800 בהתאמה.
diff --git a/_posts/2012-11-18-analyze-an-apk-file.md b/_posts/2012-11-18-analyze-an-apk-file.md
index beb6758..2a5c8bd 100644
--- a/_posts/2012-11-18-analyze-an-apk-file.md
+++ b/_posts/2012-11-18-analyze-an-apk-file.md
@@ -96,7 +96,7 @@ category: Android
במידה וה Framework הותקן בהצלחה, נקבל את התוצאה: `I: Framework installed to yourPath 1.apk`.
-
+
@@ -110,7 +110,7 @@ category: Android
בנוסף, אפליקציות מורכבות מתמונות, אם זה רקע, לחצנים וכד'. ניתן לערוך אותם בעזרת ה Photoshop (או Gimp), בדוגמה מצד ימין פתחתי את האפליקציה של Shazam וצבעתי את הרקע המוכר של האפליקציה (שהינה תמונה) באדום (למה? כי אני יכול (; ).
-
+
והרי כמו שאמרנו, המערכת מורכבת מקבצי Apk, לכן, ניתן לתרגם כך את כל המערכת (אפליקציית החייגן, הודעות, אנשי קשר, הגדרות וכד'), אם תפתחו (בעזרת Winrar או 7Zip) את ה Rom שהורדתם (שבעצם הינו קובץ zip) תשימו לב שישנה תיקייה בשם system, ובתוכה תיקייה בשם app ובה נמצאים כל קבצי ה Apk שדיברנו עליהם.
diff --git a/_posts/2013-01-01-gummy-bears-safe.md b/_posts/2013-01-01-gummy-bears-safe.md
index 13f0755..d88682e 100644
--- a/_posts/2013-01-01-gummy-bears-safe.md
+++ b/_posts/2013-01-01-gummy-bears-safe.md
@@ -26,7 +26,7 @@ category: Android
כדי להמחיש את הבעיה מצורפת בעמוד הבא טבלת החלוקה על פי גרסאות (נכון לדצמבר 2012).
-
+
גוגל הכריזה בכנס ההכרזה של מוטורולה (הכנס האחרון בו קיבלנו מידע רשמי, והתקיים לפני כ-4 חודשים, בספטמבר האחרון) על 480 מיליון מכשירים שאוקטבו עד היום, בכל העולם (נכון לספטמבר כמובן), בקצב (שהולך וגדל) של 1.3 מיליון מכשירים שמאוקטבים כל יום (תארו לעצמכם כמה מכשירי אנדרואיד יהיו שנה הבאה בקצב גידול שכזה).
@@ -94,13 +94,13 @@ $ adb shell rm /data/system/password.key
להלן תמונה של הקובץ מהמכשיר שלי, סימנתי את חלק מהדברים:
-
+
* [Readitlater](https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5pZGVhc2hvd2VyLnJlYWRpdGxhdGVyLnBybyJd) שומרת אתרים וכתבות כדי שנוכל לקרוא אותם אחר כך (ועל הדרך בצורה נוחה), איפה היא שומרת את הכתבות?, בנתיב `\Android\data\com.ideashower.readitlater.pro\files\RIL_offline\RIL_pages`. שם כל הכתבות, התמונות מהכתבות והאתרים עצמם חשופים לכל, דוגמה:
-
+
* [WhatsApp](https://play.google.com/store/apps/details?id=com.whatsapp&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS53aGF0c2FwcCJd) כל המידע שהעברנו באפליקציה (תמונות, סרטונים, קבצי קול) פתוח לכל. ובנוסף הגיבויים יושבים על המכשיר עצמו, בנתיב: `WhatsApp\Databases\`, זאת אומרת שבקלות אפשר לקחת את קבצי הגיבוי.
@@ -149,7 +149,7 @@ $ adb shell rm /data/system/password.key
ASLR (קיצור של Address Space Layout Randomization) היא שיטת אבטחה שבסיסה הוא סידור אקראי (ועצמאי) של אזור נתונים בזיכרון בכל טעינה שלו מחדש. השיטה הזאת הוטמעה בגרסה JB 4.1 באופן מלא, כך שהמיקום של הספריות, המחסנית, הערמה וגם הלינקר, כולם מסודרים בזיכרון באופן אקראי.
-
+
כמו שניתן לראות בתמונה:
@@ -167,7 +167,7 @@ ASLR (קיצור של Address Space Layout Randomization) היא שיטת אבט
ההבדל בין סורק הרוגלות הנ"ל ל-Bouncer עליו כתבתי במאמר הקודם (מעבר לכך ש-Bouncer כבר קיים ופועל זמן מה), הוא שה-Bouncer הינו סורק רוגלות בצד השרת של Play, ז"א כל אפליקציה שעולה ל-Play נסרקת על ידו (הוא ממש מדמה פעולה מלאה של האפליקציה על מכשיר אנדרואיד בשרת נפרד), והסורק רוגלות הנוכחי עליו מדובר, סורק את האפליקציות שיותקנו במכשיר. ה-Bouncer מבצע עוד פעולות, הנ"ל הוא הסבר במשפט, רק כדי להזכיר. למידע מלא יש לקרוא את המאמר הקודם.
-
+
_שורש הבעיה_
@@ -187,7 +187,7 @@ Hiroshi Lockheimer - סמנכ"ל ההנדסה בצוות אנדרואיד מסב
בנוסף, בגרסה 4.2 אנו מקבלים כמה שינויים וויזואליים קטנים אך חשובים מאין כמותם. מסך ההרשאות בעת התקנת אפליקציה עבר שינויים וויזואליים ולא יסתיר יותר מידע, בנוסף לכך יהיה ליד כל הרשאה אייקון קטן המתקשר לסוג ההרשאה, ובכך הופך את המעבר עליו לקליל יותר. תמונת מצב (מימין, המצב החדש (גרסה 4.2). משמאל, המצב הישן (גרסה 4.1 ומטה)):
-
+
diff --git a/_posts/2013-01-13-with-great-power-comes-great-responsibility.md b/_posts/2013-01-13-with-great-power-comes-great-responsibility.md
index 584335d..af6a88e 100644
--- a/_posts/2013-01-13-with-great-power-comes-great-responsibility.md
+++ b/_posts/2013-01-13-with-great-power-comes-great-responsibility.md
@@ -44,7 +44,7 @@ category: Android
### Root
-
+
אנשים טוענים כי ברגע שמכשיר פתוח ויש לך הרשאות root, אתה בעצם גם פותח את עצמך לפגיעות מהעולם החיצוני, אתה פגיע יותר ולכן בשל שיקולי אבטחה אין לתת למשתמש הרשאות root. אז לפני שאתחיל להסביר למה לדעתי זה לא נכון, אבצע יישור קו, על ידי כתיבת התשובה לשאלה המתבקשת: "מה זה root?"
diff --git a/_posts/2013-04-14-array.md b/_posts/2013-04-14-array.md
index d1bf96c..82ebd7a 100644
--- a/_posts/2013-04-14-array.md
+++ b/_posts/2013-04-14-array.md
@@ -16,7 +16,7 @@ Array - מערך, הינו מבנה נתונים בסיסי במדעי המחש
לשם המחשה, להלן ציור של מבנה הנתונים:
-
+
* נהוג לצייר את המערך כשורה של תאים.
diff --git a/_posts/2013-05-19-counting-sort.md b/_posts/2013-05-19-counting-sort.md
index ed9fdea..da00b80 100644
--- a/_posts/2013-05-19-counting-sort.md
+++ b/_posts/2013-05-19-counting-sort.md
@@ -9,7 +9,7 @@ Counting Sort - מיון מניה, מיועד כדי למיין מספרים ש
בהתחשב בידע זה, אנו יודעים שמערך הקלט מכיל מספרים טבעיים מ 1 עד k, ולכן נוכל ליצור מערך נפרד, בשם C, בגודל k איברים (ונאתחל אותו כך שיכיל את הספרה 0 בכל תא). לאחר מכן נעבור על מערך הקלט ובכל פעם שנקרא איבר ממערך הקלט נעלה באחד את האינדקס שלו במערך C (המערך שיצרנו) (עד כאן ביצענו את שלב a באיור למעלה).
diff --git a/_posts/2013-06-09-selection-sort.md b/_posts/2013-06-09-selection-sort.md
index 5eb8e05..b78392a 100644
--- a/_posts/2013-06-09-selection-sort.md
+++ b/_posts/2013-06-09-selection-sort.md
@@ -30,7 +30,7 @@ for (i <- 1 to n-1) do
```
-
+
להלן אנימציה (בצד שמאל) של האלגוריתם בפעולה על מערך, כשהמערך ההתחלתי הוא {7 ,8 ,4 ,1, 3, 9, 6, 2, 5, 8}, והמערך המתקבל בסוף הוא {9, 8 ,7, 6, 5, 4, 3, 2, 1, 0}.
diff --git a/_posts/2013-07-14-insertion-sort.md b/_posts/2013-07-14-insertion-sort.md
index 0065a83..f5c7be8 100644
--- a/_posts/2013-07-14-insertion-sort.md
+++ b/_posts/2013-07-14-insertion-sort.md
@@ -31,7 +31,7 @@ for (j <- 2 to length[A]) do
```
-
+
להלן אנימציה (בצד שמאל) של האלגוריתם בפעולה על מערך, כשהמערך ההתחלתי הוא {4 ,2, 7, 8, 1, 3, 5, 6}, והמערך המתקבל בסוף הוא {8, 7, 6, 5, 4, 3, 2, 1}.
diff --git a/_posts/2013-08-11-bubble-sort.md b/_posts/2013-08-11-bubble-sort.md
index 8f7f413..101418b 100644
--- a/_posts/2013-08-11-bubble-sort.md
+++ b/_posts/2013-08-11-bubble-sort.md
@@ -31,7 +31,7 @@ for (i <- 1 to length[A]) do
```
-
+
להלן אנימציה (בצד שמאל) של האלגוריתם בפעולה על מערך, כשהמערך ההתחלתי הוא {4 ,2, 7, 8, 1, 3, 5, 6}, והמערך המתקבל בסוף הוא {8, 7, 6, 5, 4, 3, 2, 1}.
diff --git a/_posts/2013-09-15-merge-sort.md b/_posts/2013-09-15-merge-sort.md
index 86c4f6e..a631794 100644
--- a/_posts/2013-09-15-merge-sort.md
+++ b/_posts/2013-09-15-merge-sort.md
@@ -10,7 +10,7 @@ Merge Sort - מיון מיזוג. אלגוריתם זה פועל בשיטת הפ
### מהי שיטת הפרד ומשול?
-
+
**הפרד:** חלק את הבעיה לכמה תת בעיות.
diff --git a/_posts/2013-10-01-fun-part-android.md b/_posts/2013-10-01-fun-part-android.md
index d74d3da..ea9ab7e 100644
--- a/_posts/2013-10-01-fun-part-android.md
+++ b/_posts/2013-10-01-fun-part-android.md
@@ -15,7 +15,7 @@ category: Android
מטרת המאמר אינה להסביר כיצד לפתוח קבצי Apk, וכדי לא להאריך את המאמר יתר על המידה, ברשותכם, אפנה אתכם לפוסט שכתבתי המסביר בפירוט כיצד לבצע את זה, בעזרת התוכנה Apktool. [Analyze an Apk file](http://www.lifelongstudent.net/2012/06/848/).
-בשביל שנהיה באותו קו, אציין כי החבילה (האפליקציה) שעליה אעבוד בהמשך היא של החייגן, תוכלו להוריד את שלי [מכאן](http://www.lifelongstudent.net/Files/Phone.apk).
+בשביל שנהיה באותו קו, אציין כי החבילה (האפליקציה) שעליה אעבוד בהמשך היא של החייגן, תוכלו להוריד את שלי [מכאן](http://www.lifelongstudent.io/files/Phone.apk).
@@ -56,7 +56,7 @@ category: Android
**Intent ו Intent Filter -** כל חבילה (אפליקציה) גדולה יחסית תכיל לרוב Service ,Activity ו Broadcast receiver, אלה שלושת מרכיבי הליבה של כל חבילה. שלושת אלה מופעלים באמצעות הודעות הנקראות intents. אובייקט מסוג Intent מייצג כוונה של המשתמש או של מערכת ההפעלה. קיימים 2 סוגים של Intent, הסוג הראשון הוא Intent שמכוון באופן ברור ל Activity או ל Component ספציפי ונקרא Explicit Intent.
-
+
הסוג השני הוא Intent שלא מכוון באופן ברור ואפשר להגיד שהוא פשוט "נזרק לחלל האוויר". במקרה כזה המערכת (Intent Filter) תאתר את ה Activity (או את הרכיב החומרתי) אליו הוא מכוון בעזרת המאפיינים של ה Intent (שהינם Category ,Action, ו-Data).
@@ -77,7 +77,7 @@ category: Android
בשביל להבין איך החבילות האלו בנויות מנקודת המבט של המפתחים, בניתי אפליקציה פשוטה שמורכבת מ Activity (מסך אחד). בצד שמאל יש לנו את האקספלורר ובו כל התיקיות והקבצים.
-
+
* **התיקייה src:** התיקייה מכילה את כל הקוד וקבצי המקור שפותח בחבילה, בשפת JAVA.
@@ -88,7 +88,7 @@ category: Android
-
+
**Resources:**
@@ -110,7 +110,7 @@ category: Android
### Take a look inside
-
+
אחרי שפתחנו את הקובץ נקבל תיקייה בשם Phone (בחרתי לקרוא לתיקייה בשם המקורי של החבילה), אך פה נראה שהקובץ שבנוי בצורה קצת שונה ממה שראינו לעיל (מהזווית של המפתח), עכשיו אנו רואים את הפרויקט / חבילה בתצורה הסופית שלה (לאחר שעברה קימפול ע"י הקומפיילר של Dalvik מ bytecode, שהגיע כתוצאה מהקימפול של Java code).
@@ -125,7 +125,7 @@ category: Android
ואת התמונה של הכפתור לקחתי מהתיקייה `drawable-hdpi` וניתן לראות (לפי ההפניה ב XML שלעיל) שהשם שלה הוא dial\_num\_7_wht (התמונה למעלה בצד שמאל).
-
+
כמו שאמרנו, מחרוזות הטקסט באפליקציה נכתבות במסמך שונה, בקובץ XML בשם strings, וקובץ זה יהיה בתיקייה `values` (לכל שפה ישנה תיקיית values משלה, בצירוף קוד המדינה ב-2 תווים). ה strings.xml בשפה העברית יהיה בתיקייה `values-iw`.
diff --git a/_posts/2013-10-20-binary-search.md b/_posts/2013-10-20-binary-search.md
index 90af142..15513e5 100644
--- a/_posts/2013-10-20-binary-search.md
+++ b/_posts/2013-10-20-binary-search.md
@@ -34,7 +34,7 @@ else return m
```
-
+
התמונה בצד שמאל ממחישה כיצד יראה המערך עליו אנו מחפשים, ואת הערכים שנעביר כשנקרא לעצמנו רקורסיבית.
diff --git a/_posts/2013-11-10-quick-sort.md b/_posts/2013-11-10-quick-sort.md
index 86ae11b..04adefc 100644
--- a/_posts/2013-11-10-quick-sort.md
+++ b/_posts/2013-11-10-quick-sort.md
@@ -43,7 +43,7 @@ if (p < r)
```
-
+
להלן אנימציה (בצד שמאל) של האלגוריתם בפעולה על מערך, כשהמערך ההתחלתי הוא {4 ,2, 7, 8, 1, 3, 5, 6}, והמערך המתקבל בסוף הוא {8, 7, 6, 5, 4, 3, 2, 1}.
diff --git a/_posts/2014-02-09-stack.md b/_posts/2014-02-09-stack.md
index f0e4930..a9aec71 100644
--- a/_posts/2014-02-09-stack.md
+++ b/_posts/2014-02-09-stack.md
@@ -14,7 +14,7 @@ category: Data Structures
-
+
@@ -65,7 +65,7 @@ else top[S] <- top[S] - 1
**בנוסף,נדגים את פעולות השינוי Pop ו Push:**
-
+
מימוש המחסנית S מתבצע באמצעות מערך. איברי המחסנית מופיעים רק במשבצות הבהירות. (i) המחסנית S מכילה 4 איברים; האיבר הנמצא בראשה הוא 9. (ii) המחסנית S אחרי הקריאות (PUSH(S,17 ו (PUSH(S,3. בשלב הבא, (iii), המחסנית S אחרי הקריאה (POP(S החזירה את האיבר 3, שהוא האיבר האחרון שהוכנס למחסנית. על אף שהאיבר 3 עדיין מופיע במערך, הוא אינו שייך עוד למחסנית; בראש המחסנית נמצא האיבר 17. (כל אחת מהפעולות האלו מתבצעת בזמן ריצה (O(1).
diff --git a/_posts/2014-03-09-arduino-introduction.md b/_posts/2014-03-09-arduino-introduction.md
index 32547e3..632a4c9 100644
--- a/_posts/2014-03-09-arduino-introduction.md
+++ b/_posts/2014-03-09-arduino-introduction.md
@@ -20,7 +20,7 @@ category: Arduino
### נתחיל ברכיבים השונים:
-
+
**Arduino Uno**
@@ -30,7 +30,7 @@ category: Arduino
-
+
**לוח מטריצה - Breadboard**
@@ -42,13 +42,13 @@ category: Arduino
**לחצן סוללה - Battery Snap**
-
+
משמש לחיבור סוללה 9V לארדואינו או ללוח המטריצה (הארדואינו יכול להיות מחובר לחשמל גם דרך כבל ה USB ולקבל כוח מהמחשב).
-
+
**קבלים - Capacitors**
@@ -60,7 +60,7 @@ category: Arduino
**מנוע DC**
-
+
ממיר את האנרגיה החשמלית לאנרגיה מכנית ,סלילי התיל בתוך המנוע הופכים לממוגנטים כאשר זורם דרכם זרם. השדות המגנטים האלו מושכים והודפים את המגנטים וגורמים למוט להסתובב (או להסתחרר). כשהכיוון של החשמל הפוך, המנוע יסתובב בכיוון ההפוך.
@@ -70,7 +70,7 @@ category: Arduino
**דיודה - Diode**
-
+
הדיודה מבטיחה שהחשמל זורם רק בכיוון אחד (שימושי כאשר יש לנו מנוע או מתח/עומס גבוה אחר במעגל). דיודות הן מקוטבות, כלומר הכיוון שהן ממוקמות במעגל משנה. אם נניח אותן בדרך אחת, הן יאפשרו לזרם לעבור, נניח אותן הפוך, הן יחסמו אותו. הקוטב החיובי (אנודה) בדר"כ מתחברת לנקודה בה האנרגיה במעגל שלנו גבוהה. בעוד הקתודה בדר"כ מתחברת לנקודה בה האנרגיה נמוכה יותר או לקרקע. הקתודה היא בדר"כ עם הסימן של הלקה בצד אחד של גוף הרכיב (פס לקה).
@@ -78,7 +78,7 @@ category: Arduino
-
+
**נייר צלופן (בצבעים אדום, ירוק, כחול)**
@@ -88,7 +88,7 @@ category: Arduino
-
+
**גשר אייצ'- H Bridge**
@@ -98,7 +98,7 @@ category: Arduino
-
+
**חוטי גישור - Jumper Wires**
@@ -108,7 +108,7 @@ category: Arduino
-
+
**דיודות פולטות אור - LEDs**
@@ -118,7 +118,7 @@ category: Arduino
-
+
**תצוגת גביש נוזלי - LCD**
@@ -128,7 +128,7 @@ category: Arduino
-
+
**סיכות כותרת זכר - Male Header Pins**
@@ -138,7 +138,7 @@ category: Arduino
-
+
**מצמד אופטי - Optocoupler**
@@ -148,7 +148,7 @@ category: Arduino
-
+
**חיישן פיזואלקטריים - Piezo**
@@ -158,7 +158,7 @@ category: Arduino
-
+
**נגד תמונה - Photoresistor**
@@ -168,7 +168,7 @@ category: Arduino
-
+
**פוטנציומטר - Potentiometer**
@@ -178,7 +178,7 @@ category: Arduino
-
+
**לחצנים**
@@ -188,7 +188,7 @@ category: Arduino
-
+
**נגדים - Resistors**
@@ -197,13 +197,13 @@ category: Arduino
להלן טבלת הערכים של הצבעים:
-
+
-
+
**מנוע סרוו (Servo)**
@@ -213,7 +213,7 @@ category: Arduino
-
+
**חיישן טמפרטורה**
@@ -223,7 +223,7 @@ category: Arduino
-
+
**חיישן הטיה**
@@ -233,7 +233,7 @@ category: Arduino
-
+
**טרנזיסטור**
@@ -243,7 +243,7 @@ category: Arduino
-
+
**כבל USB**
@@ -263,11 +263,11 @@ category: Arduino
**כיצד הלוח בנוי:**
-
+
-
+
@@ -277,13 +277,13 @@ category: Arduino
על מנת לבדוק שהכל קשורה והמכשיר מזוהה פתחו את ה IDE (סביבת העבודה של ארדואינו – Sketch), כנסו ל `File` ומשם ל `Examples`, כאן נמצא דוגמאות לקטעי קוד המבצעים פעולות כלשהן כולל הסברים (הערות) בתוך הקוד. כדי לבצע בדיקה פשוטה נבחר ב `Basics` וב `Blink`. יפתח לנו חלון חדש (את הישן ניתן לסגור).
-
+
לא נעבור על הקוד כעת אלה רק נעלה אותו ללוח הארדואינו שלנו, לכן ניכנס ל `Tools` ואז ל `Serial Port` ונבדק שה v נמצא על החיבור שהארדואינו נמצא עליו (כשנבחר את הלוח תקפוץ לנו הודעה קטנה באיזה חיבור הוא נמצא, וככלל אצבע בווינדוס הוא יהיה על ה COM עם המספר הגבוה ביותר). לאחר מכן נוודא שהוא מזהה שיש לנו את הלוח הנכון ע"י כניסה ל `Tools` ול `Board` ובחירת הלוח המתאים (אני משתמש ב Arduino Uno ועליו אבצע את כל הפרויקטים בעתיד).
-
+
כעת נלחץ על החצן המצביע לכיוון ימין (כשנעבור מעליו נראה הודעה של Upload) ולאחר מכן נראה שהקוד שלנו מתקמפל ועולה אל הלוח (בבר התחתון שיופיע). לאחר שהעלינו את הקוד, בלי לבצע כל דבר מעבר לכך, הארדואינו שלנו צריך להתחיל להפעיל את הקוד, ונראה שהנורה של פין מס' 13 מהבהבת, זה כל מה שהקוד צריך לעשות. (ניתן לנסות לעבור עליו לבד ולהבין למה, בעתיד נכתוב את הקוד לבד ואסביר אותו).
diff --git a/_posts/2014-03-23-arduino-1.md b/_posts/2014-03-23-arduino-1.md
index 0973a0e..37dc9a9 100644
--- a/_posts/2014-03-23-arduino-1.md
+++ b/_posts/2014-03-23-arduino-1.md
@@ -29,7 +29,7 @@ category: Arduino
לוח המטריצה זהו המקום העיקרי עליו נבנה את המעגלים (בדומה מאוד ללגו). השורות האופקיות מחוברות יחדיו מתחת לפלסטיק. ובצדדים, השורות האנכיות מחוברות גם הן (ה+/-), להלן תמונה טובה להמחשה:
-
+
כעת נתחיל לבנות את הפרויקט. לאורך כל הפרויקט אציג אילוסטרציה של המעגל החשמלי שנבנה באותו השלב, ואציג גם איור סכמטי (בכל הפרויקטים אשים דגש על הצגת האיור הסכמתי, זה אולי לא יעזור לכם הרבה אך שווה ללמוד ולהכיר את הסימנים, מכיוון שרוב הפרויקטים באינטרנט והאיורים של המעגלים חשמליים נעשים ע"י איור סכמטי).
@@ -41,7 +41,7 @@ category: Arduino
* **מתג -** המתג קוטע את זרימת החשמל, הוא שובר את המעגל כאשר הוא פתוח וישלים את המעגל כאשר הוא סגור. ישנם סוגים רבים של מתגים אך אלה שאני משתמש בהם נקראים מתגים רגעיים, או לחצנים, מכיוון שהם סוגרים מעגל רק כאשר מופעל עליהם לחץ.
-
+
@@ -51,7 +51,7 @@ category: Arduino
להלן הסכמה ואיור להמחשה:
-
+
כעת חברו בחזרה את מקור הכוח. ניתן לראות כי הנורה דולקת תמיד, בנינו מעגל חשמלי שלם והנורה תמיד מקבלת חשמל ולכן תמיד דולקת.
@@ -63,7 +63,7 @@ category: Arduino
להלן האיור והסכמה:
-
+
כעת, נמשיך ל-2 סוגים של חיבורים: מעגל טורי, ומעגל מקבילי. במעגל טורי נחבר את הרכיבים כך שיפעלו אחד אחרי השני, בעוד במעגל מקבילי נחבר את הרכיבים כך שיפעלו אחד לצד השני.
@@ -77,7 +77,7 @@ category: Arduino
כמו שניתן לראות, חיברנו את המתגים אחד אחרי השני, ועל מנת לחשמל יגיע אל נורית ה LED יש ללחוץ על שניהם כדי שישלימו מעגל חשמלי ביחד. להן האיור והסכמה:
-
+
### מעגל מקבילי
@@ -87,7 +87,7 @@ category: Arduino
להלן האיור והסכמה:
-
+
### לסיכום
diff --git a/_posts/2014-04-06-arduino-2.md b/_posts/2014-04-06-arduino-2.md
index 5ff0523..97087fb 100644
--- a/_posts/2014-04-06-arduino-2.md
+++ b/_posts/2014-04-06-arduino-2.md
@@ -26,7 +26,7 @@ category: Arduino
להלן סכמה ואיור להמחשה:
-
+
**כמה הערות לפני כתיבת הקוד**
diff --git a/_posts/2014-04-20-computer-networks-introduction.md b/_posts/2014-04-20-computer-networks-introduction.md
index 1b86d74..d318446 100644
--- a/_posts/2014-04-20-computer-networks-introduction.md
+++ b/_posts/2014-04-20-computer-networks-introduction.md
@@ -36,7 +36,7 @@ category: Computer Networks
להלן איור עם דוגמאות למבנים טופולוגיים של רשתות:
-
+
**קריטריון נוסף לסיווג רשתות הוא גודלן:**
@@ -66,7 +66,7 @@ category: Computer Networks
**חיבור חסר קשר (Connectionless) -** פועל על פי השיטה של הדואר. כל הודעה (מכתב) נושא את כתובת היעד המלאה, בנוסף כל הודעה כזו מנותבת דרך צמתי הביניים בתוך המערכת באופן עצמאי, ללא תלות של ההודעות שלאחר מכן. כאשר כל צומת ביניים צריכה לקבל את ההודעה במלואה, שליחתה אל הצומת הבאה (זה נקרא: Store-and-Forward Switching). כאשר החלופה היא להתחיל את שליחת ההודעה אל הצומת הבאה עוד לפני שההודעה התקבלה במלואה בצומת הנוכחית (נקרא: Cut-Through Switching). שימו לב כי כאן אין צורך בהקמת קשר ישיר עם כתובת היעד.
-
+
כל שירות יכול להיות מאופיין ע"י האמינות שלו. כאשר חלק מהשירותים אמינים מבחינה זו שהם לעולם לא מאבדים מידע (לרוב, שירות אמין מוטמע ע"י כך שהוא מחייב את המקבל לאשר כל הודעה כך שהשולח בטוח שההודעות התקבלו). לא אלאה אתכם בפרטים, בצד שמאל הוספתי טבלה מסכמת של הגרסאות הקיימות בכל אחד מהשירותים. ולמרות שהקונספט של שימוש בשירות לא אמין יראה מוזר, הרי מדוע שמישהו יעדיף שירות לא אמין על פני שירות אמין? הוא בשימוש רב. תחילה, יתכן כי שירות אמין לא יהיה זמין בשכבה מסוימת (לדוגמה אתרנט לא מספק שירות אמין, מנות יכולות להשתבש בדרך, וזה על פרוטוקולים משכבות גבוהות יותר להתמודד עם הבעיה). בנוסף, הוספתי בטבלה דוגמאות לכל שירות, וניתן לראות כי שיחת וידיאו VoIP היא דוגמה מצויינת לשירות לא אמין, חשוב לנו יותר שלא יהיה דיילי והשיחה לא תקפא בגלל שמנה אחת שהשתבשה או לא הגיעה, מאשר שיהיה גליצ' קטן או שיבוש בפיקסל, לשניה באמצע השיחה.
@@ -96,7 +96,7 @@ category: Computer Networks
-
+
### 3. המודלים השונים של חלוקה לשכבות
@@ -164,7 +164,7 @@ category: Computer Networks
**ה ARPANET**
-
+
הסיפור מתחיל בשנים המאוחרות של 1950, בשיא המלחמה הקרה, מחלקת ההגנה של ארה"ב (U.S. DoD, ראשי תיבות: [United States Department of Defense](http://en.wikipedia.org/wiki/United_States_Department_of_Defense)) רצתה רשת לפיקוד ובקרה שתוכל לשרוד התקפה גרעינית (בזמנו כל התקשורת הצבאית השתמשה בתשתית הטלפוניה הציבורית). רשת הטלפוניה הציבורית נחשבה לפגיעה בגלל המבנה שלה, אותו מבנה שניתן לראות בתמונה משמאל, בו ניתן לראות כי ישנם מרכזיות המחברות בין מרכזיות אחרות (או משתמשי קצה וכד') ואם הן נופלות לא ניתן יהיה להמשיך בתקשורת כי זוהי הדרך היחידה בה המרכזיות מחוברות בניהן.
@@ -192,7 +192,7 @@ ARPA הוציאה מכרז לבניה של הרשת (הכולל תיאור מד
**רשתות סלולריות**
-
+
אנשים אוהבים לדבר בטלפון, וזה הפך את הרשת הסלולרית לרשת המצליחה ביותר בעולם. יש כיום יותר מ-4 מילארד מנויים (בעולם) לרשת הסלולרית (כדי לקבל פרספקטיבה, זה בערך 60% מאוכלוסיית העולם). הארכיטקטורה של רשת הסלולר השתנתה רבות ב-40 שנה האחרונות, יד ביד עם הצמיחה האדירה שחוותה. הדור הראשון של המכשירים הסלולריים העביר אותות רצפים אנלוגיים ונקרא AMPS, בעוד הדור השני (הנקרא GSM) היה דיגיטלי לגמרי, והדור השלישי (UMTS) גם הוא היה דיגיטלי וכבר הציע מענה לתופעת הגלישה והשימוש ביישומי אינטרנט גם מהמכשיר הנייד (למרות ששוב, הרשת מוצפת והמעבר לדור הרביעי, LTE, מתחיל לתפוס תאוצה).
@@ -220,7 +220,7 @@ ARPA הוציאה מכרז לבניה של הרשת (הכולל תיאור מד
כדי למנוע בלבול מיותר בניתי טבלה המסכמת את יחידות המידה בהם כנראה תיתקלו במהלך הפוסטים הבאים:
-
+
כמה נקודות:
diff --git a/_posts/2014-05-04-physical-layer.md b/_posts/2014-05-04-physical-layer.md
index 8fb9456..be51dbb 100644
--- a/_posts/2014-05-04-physical-layer.md
+++ b/_posts/2014-05-04-physical-layer.md
@@ -48,7 +48,7 @@ category: Computer Networks
* **מידע אנלוגי -** מידע היכול לקבל ערך מתוך קבוצה רציפה של ערכים (לדוגמה גל קול).
-
+
על מנת לאפשר את זיהוי האות המקורב שנשלח (שאנו מוציאים ע"י פיתוח פורייה), יש לשדר די רכיבים בפיתוח פורייה, על מנת שניתן יהיה לשחזר את האות שנשלח. ולפיכך לתקשורת כזו דרוש רוחב פס רחב, ואף אם הפס רחב דיו, שידור מספר רב של תדרים כאלו הוא בעייתי, השהיית ההתפשטות של האות ו[ניחות](http://en.wikipedia.org/wiki/Attenuation) (דעיכה) עוצמת האות תלויים בתדר שלו. ז"א שאם נשדר רכיבי תדרים רבים למרחק גדול, התדרים השונים יעוותו בצורה שונה (בגלל הפרשי הפאזה שבהם יגיעו והניחות השונה שנגרמים מההבדלים בעוצמת האותות) ואין הבטחה כי ההרמוניות (או רכיב / איבר) יגיעו על פי הסדר שהן נשלחו דבר זה יקשה את הפענוח של המידע.
@@ -85,7 +85,7 @@ _שימו לב:_
**חוטים שזורים (Twisted pairs)**
-
+
אחת מהתמסורות הישנות והנפוצות ביותר הוא חוטים שזורים (ראו תמונה מצד שמאל). חוט שזור מכיל 2 חוטי נחושת מבודדים (לרוב בעובי של 1 מ"מ) השזורים ביחד בדומה מאוד למולקולת DNA. השזירה מתבצעת כדי להבטיח כי הגלים מהחוטים השונים יבטלו זה את זה. ולרוב, האות הינו ההפרש במתחים של שני החוטים השזורים. מערכת הטלפוניה ו ADSL יכולות לרוץ על חוטים אלו. חוטים שזורים יכולים לרוץ כמה קילומטרים ללא הצורך בהגברת האות, אך למרחק ארוך יותר, האות דועך ויש להשתמש ברפיטרים על מנת להגביר את האות בחזרה. רוחב הפס תלוי בעובי החוטים ובמרחק שלהם, אך לא בעיה להגיע לכמה מגה ביטים לשניה לכמה קילומטרים (במרבית המקרים).
@@ -95,7 +95,7 @@ _שימו לב:_
-
+
**כבל קואקסיאלי (Coaxial cable) בל קואקסיאלי**
@@ -109,7 +109,7 @@ _שימו לב:_
**סיבים אופטיים (Fiber optics)**
-
+
לסיב אופטי יש 3 מרכיבי מפתח, מקור האור, יחידת התמסורת, והגלאי. באופן מקובל, פעימת אור מייצגת ביט 1 והעדר האור מייצג 0, יחידת התמסורת היא סיב זכוכית דק ביותר, והגלאי מייצר פעימה חשמלית כל פעם שפוגע בו אור. בעצם מה שעשינו זה להפוך את הפעימה החשמלית לאור, לשלוח את האור על גבי סיב הזכוכית ובקצה השני להפוך אותו חזרה לפעימה חשמלית.
@@ -125,7 +125,7 @@ _הספקטרום האלקטרומגנטי_
מספר התנודות לשניה של גל כזה נקרא תדר ונמדד ביחידות הרץ, והמרחק בין שתי נקודות מקסימום (או מינימום) רציפות נקרא אורך הגל (ומיוצג באופן אוניברסלי ע"י האות [למדא](http://en.wikipedia.org/wiki/Lambda)). כשאנטנה בגודל המתאים מחוברת למעגל אלקטרוני היא מסוגלת לשדר את הגלים האלקטרומגנטים ביעילות, ולקלטם בצד המקבל שנמצא במרחק ממנה. (בוואקום, כל הגלים האלקטרומגנטים נעים באותה מהירות, ללא קשר לתנודות שלהם. מהירות זאת היא [מהירות האור](http://en.wikipedia.org/wiki/Speed_of_light). בנחושת או בסיבים, המהירות מאטה עד בערך 2/3 ממהירות האור והופכת באופן מועט לתלויה בתנודת הגל).
-
+
כל ספקטרום התדרים של הרדיו, מיקרו-גל, אינפרא אדום, והאור (הנראה) יכולים לשמש להעברת מידע, ע"י [מודולציה](http://en.wikipedia.org/wiki/Modulation) של ה [אמפליטודה](http://en.wikipedia.org/wiki/Amplitude), ה[תדר](http://en.wikipedia.org/wiki/Frequency) או ה[פאזה (מופע)](http://en.wikipedia.org/wiki/Phase_(waves)). (קרני רנטגן, אור אולטרה סגול, וקרני גמא יהיו אפילו טובים יותר בגלל התדר הגבוה עליו הם עובדים, אך קשה להפיק אותם, לבצע להם מודולציה, הם לא עוברים היטב בתוך מבנים, ומהווים סכנה ליצורים חיים).
@@ -144,13 +144,13 @@ _הספקטרום האלקטרומגנטי_
**תמסורת רדיו**
-
+
תדרי רדיו (RF - Radio Frequency) קלים ליצירה ויכולים לנוע לאורך מרחקים ארוכים, הם גם חודרים בניינים בקלות יחסית ובשל כך הם פופולריים ביותר לתקשורת, בתוך הבית ומחוצה לו. בנוסף, גלי רדיו נעים לכל הכיוונים מהמקור, כך שהמשדר והמקלט לא חייבים להיות מיושרים פיזית. המאפיינים של גלי רדיו הינם תלוי תדר. בתדרים נמוכים, גלי רדיו עוברים דרך מכשולים היטב, אך הכוח שלהם נופל בצורה חדה ככל שהמרחק מהמקור גדל. בתדרים גבוהים, גלי רדיו נוטים לנוע בקווים ישרים ולקפוץ ממכשולים. בנוסף, תדרי רדיו גבוהים נבלעים ע"י הגשם ומכשולים אחרים במידה גדולה יותר מתדרים נמוכים.
-
+
גלי רדיו בתחומי התדרים ה VLF, LF, MF (או בקיצור התדרים מ-4^10 עד 7^10 הרץ) עוקבים אחר הקרקע (כמו בתמונה משמאל - a). גלים אלו ניתנים לגילוי עבור מרחק של בערך 1,000 ק"מ בתדרים הנמוכים (פחות בתדרים הגבוהים יותר). גלי רדיו ברצועות התדרים האלו יכולים לעבור דרך בניינים בקלות, ולכן מכשירי רדיו ניידים מסוגלים לעבוד בתוך הבתים. הבעיה העיקרית בשימוש ברצועות התדרים האלו לתקשורת נתונים היא רוחב הפס הנמוך שלהם.
@@ -185,7 +185,7 @@ _הספקטרום האלקטרומגנטי_
**תמסורת אור**
-
+
איתות אופטי בלתי מונחה קיים כבר מאות שנים. אך יישום מודרני שלו הוא חיבור רשתות LAN של שני בניינים באמצעות לייזר שמורכב על גג הבניין. איתות בעזרת לייזר הוא חד כיווני, ז"א שכל בניין צריך לייזר משלו וחיישן קריאה משלו. סכמה זו מציעה רוחב פס גדול מאוד בעלות נמוכה, והיא יחסית מאובטחת (קשה לצותת לקרן לייזר צרה). בנוסף, קל מאוד להתקין את המערכת הנל ושלא כמו מיקרו-גל היא לא דורשת רישיון של ה FCC.
@@ -197,7 +197,7 @@ _הספקטרום האלקטרומגנטי_
### 4. תקשורת לווינים
-
+
בצורתו הפשוטה, ניתן לחשוב על לווין תקשורת כרפיטר מיקרו-גל הנמצא בשמים. הלווין מכיל כמה [טרנספונדרים](http://en.wikipedia.org/wiki/Transponder) (התקן אלקטרוני הקולט ומשדר אותות), שכל אחד מהם מקשיב לחלק קטן מהספקטרום, מגביר את האות הנכנס, ומשדר אותו חזרה בתדר אחר (כדי למנוע הפרעות עם האותות הנכנסים). על פי [חוקי קפלר](http://en.wikipedia.org/wiki/Kepler's_laws_of_planetary_motion), זמן ההקפה של לויין משתנה על פי הרדיוס של המסלול בחזקת 2/3. או בקיצור, ככל שהלווין גבוה יותר כך זמן ההקפה ארוך יותר. בסמוך לפני כדור הארץ זמן ההקפה הוא בערך 90 דק', ובגובה של 35,800 ק"מ (מעל קו המשווה) זמן ההקפה הוא 24 שעות (בגובה של 384,00 ק"מ זמן ההקפה הוא חודש שלם, זמן ההקפה של הירח).
@@ -217,7 +217,7 @@ _הספקטרום האלקטרומגנטי_
יש לציין כי לווינים לא נשארים לעד. הלווינים המודרנים די גדולים ושוקלים בסביבות 5,000 ק"ג, וצורכים כמה קילווואטים אחדים של כוח חשמלי המופק מהפנאלים הסולריים. ההשפעה של השמש, הירח, וכוח העבודה הפלנטרי נוטה להרחיק אותם מהמקום ומהאורנטצייה שהוקצאה להם, בשביל להשאיר אותם במקומם ישנו אפקט נגדי שמתבצע ע"י מנועי רקטות שמחוברים ללווין. הכיוונונים הקטנים האלו נקראים [station keeping](http://en.wikipedia.org/wiki/Orbital_station-keeping). אחרי שהמנועים לכיוונינים מתעייפים (אחרי בערך 10 שנים), הלווין מתחיל לנטות ואז יש לכבות אותו. לבסוף הלווין יוצא ממסלולו וחוזר לארץ, בעת החזרה הוא נשרף בכניסה לאטמוספריה (בפעמים נדירות מאוד הוא מתרסק לכדור הארץ).
-
+
בנוסף, כמות הלווינים היא לא הבעיה היחידה, גם התדרים מהווים בעיה, מכיוון שלעיתים קרובות, תדרי ה Downlink מפריעים לתדרי המיקרו-גל. לכן ה ITU הקצה רצועות תדרים ספציפיות לשימוש לווינים. הראשיים מבינהם מופיעים באיור משמאל.
@@ -227,7 +227,7 @@ _הספקטרום האלקטרומגנטי_
ללווין מודרני ישנם בסביבות 40 משדרים, ובהתחלה כל משדר היה פועל כצינור עצמאי (רוחב הפס הכולל היה מחולק לרצועות תדרים קטנות באופן קבוע). אך בשנים האחרונות כל קרן של משדר מחולקת לתאי זמן, כשכל משתמש לוקח בתורו תא (נרחיב בהמשך על הטכניקות האלו).
-
+
אחד מהפיתוחים האחרונים בתחום תקשורת הלווינים היה ה'מיקרו תחנות' הזולות והקטנות שנקראות [VSAT](http://en.wikipedia.org/wiki/Very-small-aperture_terminal) (ראשי תיבות: Very Small Aperture Terminals). למסופים הקטנים האלו יש אנטנה בגודל (בערך) מטר אחד בלבד (לעומת 10 מטר ללוויני GEO סטנדרטים), קצב העלאה שלהם בדר"כ טוב עד 1Mbps, וההורדה עד כמה מגה ביטים לשניה. ברוב הפעמים למערכות ה VSAT אין מספיק כוח כדי לתקשר אחד עם השני ישירות (דרך הלווין), לכן ישנה תחנת קרקע מיוחדת הנקראת hub עם אנטנה גדולה שתפקידה להעביר את התנועה בין ה VSATים. (יש לציין כי טכניקה זו גורמת לעיכוב (delay) גדול יותר אך זה מתבצע תמורת תחנות קצה זולות יותר).
@@ -249,7 +249,7 @@ _הספקטרום האלקטרומגנטי_
בשלושים השנים הראשונות של עידן הלווין, הגובה הנ"ל של הלווינים היה כמעט ללא שימוש, מפני שבגובה הנמוך הלווינים יצאו מהטווח מהר מאוד. פרויקט מפורסם של לווינים בגובה זה הוא פרויקט ה[אירידיום](http://en.wikipedia.org/wiki/Iridium_Communications) שתוכנן ע"י מוטורולה בשנת 1990 והושק בנובמבר 1998. מוטורולה ביקשה מה FCC לשגר 77 לווינים (ועל כך שם הפרויקט). הרעיון היה לכסות את כל כדור הארץ בלווינים כך שברגע שלווין אחד יוצא מהטווח אחר נכנס להחליפו (על תחנות הקרקע לבצע מעברים, handoffs, מלווין אחד למשנהו כדי לשמור על רציפות התקשורת).
-
+
לאחר 7 שנים השירות החל לעבוד, אך הדרישה לתקשורת טלפונית לווינית הייתה נמוכה בשל ההתפתחות והגידול של רשתות הטלפונים הנידיים. כתוצאה מכך אירידיום נכשלה והכריזה על פשיטת רגל באוגוסט 1999. הלווינים והנכסים של הפרויקט (ששוים 5 מיליארד דולר) נמכרו במכירה פומבית ב-25 מיליון דולר, והפרויקט יצא שוב לדרך במרץ 2001 ורק גדל מאז. השירות מספק שיחות קוליות, תעבורת מידע, שירות איתור, פקס, וניווט בכל מקום בעולם ביבשה, במים ובאוויר. הלווינים ממקומים בגובה של 750 ק"מ ובמרחק של 32 מעלות זה מזה. לכל לווין יש מקסימום 48 קרנים (לשידורים), וקיבולת של 3840 ערוצים (שכל אחד מהם אחראי על שירות אחר). מה שמעניין בפרויקט הזה הוא שהתקשורת בין שני אנשים מתבצעת בחלל (כמו שניתן לראות באיור a משמאל, בניגוד ל b שמתבצע בקרקע).
@@ -265,7 +265,7 @@ _הספקטרום האלקטרומגנטי_
-
+
**תמסורת Baseband**
@@ -297,7 +297,7 @@ _הספקטרום האלקטרומגנטי_
עכשיו, כשאנו מקודדים 1 יש שינוי של המתח ואנחנו נשארים מסונכרנים בצורה עקיפה, גם אם יש רצף של 1ים. אך כשנקבל רצף של 0ים, אנחנו עדיין יכולים לאבד את הסנכרון, כי ברצף של 0 לא מתבצע שינוי והמתח נשאר כשהיה לאורך כל הרצף. קווי טלפון דיגיטליים ישנים בארה"ב, הנקראו T1, דרשו שלא יישלחו יותר מ-15 אפסים רצוף כדי שיוכלו לעבוד בצורה תקינה, אז כדי באמת לתקן את הבעיה אנחנו יכולים לפרק את רצף ה0ים ולמפות אותם לקבוצות קטנות של ביטים כך שלא יהיו המון 0ים רצופים.
-
+
הקוד המוכר שמבצע את העובדה הזו נקרא [4B/5B](http://en.wikipedia.org/wiki/4B5B). וכל 4 ביטים ממופים לתבנית של 5 ביטים, כשקיימת טבלת תרגום קבועה. השיטה של 5 ביטים נבחרה כדי שלא יהיה רצף של יותר משלושה אפסים רצופים. ובטבלה משמאל אנו רואים את רצף כל האפשרויות שיכול להיות במיפוי זה. מכיוון שאנו מוסיפים עוד ביט לכל 4 ביטים, אנחנו מוסיפים עוד 25% ביטים, אך זה יותר טוב מהוספה של עוד 100% ביטים שהיינו מוסיפים בקוד מנצסטר.
@@ -318,7 +318,7 @@ _הספקטרום האלקטרומגנטי_
הערך האבסולוטי של התדר אינו חשוב לקיבולת שלו. זה אומר שאנחנו יכולים להסיט אות בשידור baseband (ראו את טבלת התדרים בסעיף 4) שעובד בתדר 0 עד B הרץ, למעלה כך שבשידור passband הוא יעבוד בתדר S עד S+B הרץ, מבלי לשנות את כמות המידע שהוא יכול לשאת, אפילו אם האות יראה שונה. בצד המקבל אנחנו מסיטים את התדר בחזרה למטה (ל baseband), היכן שיותר נוח לגלות את האותות.
-
+
אפנון מודרני מתבצע באמצעות ויסות או אפנון של האות שיושב ב passband, אנחנו יכולים [לאפנן](http://en.wikipedia.org/wiki/Modulation) את ה[אמפליטודה (משרעת)](http://en.wikipedia.org/wiki/Amplitude_modulation), את ה[תדר](http://en.wikipedia.org/wiki/Frequency_modulation), או את ה[מופע (פאזה)](http://en.wikipedia.org/wiki/Phase_modulation) של האות.
@@ -330,7 +330,7 @@ _הספקטרום האלקטרומגנטי_
בנוסף, ניתן לשלב בין סוגי האיפנונים וכך לשדר יותר ביטים לאות. אך רק פאזה או תדר יכולים להיות משולבים באותו הזמן, מכיוון שהם קשורים זה לזה, כשהתדר הוא קצב השינוי של הפאזה לאורך זמן.
-
+
בדרך כלל, אפנון אמפליטודה ופאזה משולבים ביחד. באיור משמאל ניתן לראות 3 דוגמאות לשילוב של פאזה ואמפליטודה. בדוגמאות משמאל אנחנו רואים 3 דיאגרמות, הדיאגרמות האלו נקראות [תרשים קונסטלציה](http://en.wikipedia.org/wiki/Constellation_diagram). ב-a (שהיא דיאגרמת ייצוג ל[QPSK](http://en.wikipedia.org/wiki/Phase-shift_keying#Quadrature_phase-shift_keying_.28QPSK.29)) אנחנו רואים נקודות במרחק שווה אחת מהשניה ב-45, 135, 225 ו-315 מעלות. את הפאזה של הנקודה מודדים על ידי הזווית של הקו מראשית הצירים לנקודה, לפי הכיוון החיובי של ציר ה x. ואת האמפליטודה של הנקודה מודדים לפי המרחק של הנקודה מראשית הצירים. ב-b אנחנו רואים קונסטלציה צפופה יותר. כאן יש 16 שילובים של אמפליטודה ופאזה, כך שסכמת האפנון יכולה לשדר 4 ביטים לאות. תרשים הקונסטלציה הזה נקרא [QAM-16](http://en.wikipedia.org/wiki/Quadrature_amplitude_modulation) (ראשי תיבות: Quadrature Amplitude Modulation). ב-c רואים קונסטלציה הנקראת QAM-64, בעלת 64 שילובים של אמפליטודות ופאזות, כך שכל אות יכול להעביר 6 ביטים.
@@ -345,7 +345,7 @@ _הספקטרום האלקטרומגנטי_
[ריבוב בחלוקת תדר](http://en.wikipedia.org/wiki/Frequency-division_multiplexing) (או Frequency Division Multiplexing) מנצל את תמסורת ה passband כדי לחלוק את הערוץ. הוא מחלק את הספקטרום (קשת התדרים) לרצועות תדרים, כשלכל משתמש יש רשות בלעדית על רצועה כדי לשלוח את האות שלו. תדרי רדיו AM מדגימים שימוש בריבוב בחלוקה זו. הספקטרום המוקצה הוא באזור ה 1MHz (בערך 500 עד 1500kHz). התדרים השונים מוקצים לערוצים לוגים שונים (תחנות), כל פעולה יושבת על חלק מהספקטרום, כשיש להשאיר רווח בערוץ הפנימי (בתוך הערוץ, בין התדרים) גדול מספיק כדי למנוע הפרעות.
-
+
כמו שניתן לראות בתמונה משמאל, אנחנו רואים ערוץ טלפון (קולי) שעליו מבוצע FDM (ריבוב בחלוקת תדר) ל-3 ערוצים שונים. פילטרים שונים מגבילים את הרוחב פס לבערך 3100Hz לכל רמת ערוץ קול. כשכל הערוצים מתחברים יחדיו לערוץ אחד, לכל ערוץ מוקצב רוחב פס של 4000Hz. העודף הזה (900Hz) נקרא [guard band](http://en.wikipedia.org/wiki/Guard_band), והוא נועד לשמור על הערוצים מופרדים היטב.
@@ -355,7 +355,7 @@ _הספקטרום האלקטרומגנטי_
בתמונה למעלה משמאל, רואים ב a את רוחב הפס המקורי, לאחר מכן ב b את רוחב הפס מועלה בתדר, וב c את הערוץ המרובב (הסופי). בריבוב זה נעשה שימוש בתעשיית הטלפוניה (כדי לרבב מספר שיחות על אותו התדר) במשך הרבה שנים, אך היום ריבוב בחלוקת זמן הוא המועדף (למרות זאת, FDM נמצא עדיין בשימוש גבוה בתקשורת הטלפוניה, הסלולרית, והלווינית).
-
+
כששולחים מידע דיגיטלי, ניתן לחלק את הספקטרום ביעילות מבלי להשתמש במגני פס (guard bands) ובכך לא לבזבז רוחב פס יקר, וזה בדיוק מה ש OFDM (ראשי תיבות: [Orthogonal Frequency Division Multiplexing](http://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiplexing)) עושה. רוחב הפס של הערוץ מחולק להמון תתי מובילים שבאופן עצמאי שולחים מידע. התתי מובילים האלו ארוזים ביחד על תחום תדר (כלשהו). כך שהאותות מכל מוביל מתפשטים לסמוכים אליהם. אך כמו שניתן לראות באיור משמאל, תגובת התדר של כל מוביל מתוכננת להיות שווה לאפס במרכז של התתי מובילים הסמוכים אליו. לכן, ניתן לדגום את התתי מובילים במרכז התדר שלהם בלי רעש משכניהם. כדי שזה יעבוד, אנחנו צריכים משתנה זמן כלשהו, שיחזור על עצמו כל חלק זמן קבוע של סמל האות, כך שיהיה להם את תגובת התדר הרצויה. למרות זאת, [התקורה](http://he.wikipedia.org/wiki/%D7%94%D7%95%D7%A6%D7%90%D7%95%D7%AA_%D7%AA%D7%A7%D7%95%D7%A8%D7%94) היא הרבה פחות משנחוצה להרבה מגני פס (guards bands).
@@ -367,7 +367,7 @@ _הספקטרום האלקטרומגנטי_
**ריבוב בחלוקת זמן**
-
+
אלטרנטיבה לריבוב בחלוקת תדר, היא ריבוב בחלוקת זמן - TDM (ראשי תיבות: Time Division Multiplexing). ב TDM המשתמשים משדרים בתורות (במבנה סיבובי) כשכל אחד, בתורו, עושה שימוש בכל רוחב הפס לפרץ זמן קצר וקבוע. ניתן לראות משמאל דוגמה ל-3 משתמשים שמשדרים בשיטה זו.
@@ -387,7 +387,7 @@ CDMA מאפשר לכל תחנה לשדר על כל הספקטרום של התד
אז כדי לשלוח 1, התחנה צריכה לשלוח את הרצף chipים שלה, וכדי לשלוח 0 היא צריכה לשלוח את ההופכי מהרצף. אלה הן התבניות היחידות הניתנות לשליחה. דוגמה: אם לתחנה A מוקצה רצף הchip הבא (1+, 1+, 1-, 1-, 1+, 1+, 1-, 1-, 1-), אז כדי לשלוח 1 אנו שולחים את הרצף הנל, וכדי לשלוח 0 נשלח את הרצף (1-, 1-, 1+, 1-, 1-, 1+, 1+, 1+) . האמת היא שאותות עם רמות הזרמים האלה נשלחים, אך אנחנו חושבים במונחים של רצף (ניתן לראות את רמות הזרמים ב (b) להבדיל מ (a).
-
+
בתמונה לעיל, בסעיף (a), אנו רואים 4 תחנות כשלכל אחת יש קוד בינרי,[אורתוגונלי](http://en.wikipedia.org/wiki/Orthogonality) (הכוונה שחיבור כל האיברים במיקומים הזהים, של 2 תחנות, יתן 0) משלה (בשביל ליצר קוד רצף אורותוגונלי שכזה משתמשים ב [Walsh codes](http://en.wikipedia.org/wiki/Hadamard_code)), (בשביל 4 תחנות לא היינו צריכים m=8 כדי לתת קוד יחודיי לכל תחנה, אך מפני שהתחלנו עם אורך הרצף הנל נמשיך איתו). תוכנת האורתוגונליות תיווכח כקריטית מאוחר יותר. שימו לב שכל S\*S שווה ל-1 (S זהוי תחנה כלשהי). וכל S\*s שווה ל-1- (נהוג לסמן S עם קו מעליו וזהו ההפוכי של S, אך בגלל שאין סימן כזה במקלדת כתבתי s קטנה). כמו כן S\*T שווה ל-0 (T זהוי גם תחנה כלשהי אך שונה מ S).וגם עם ההופכי של T, שזה S\*t שווה ל-0.
@@ -415,7 +415,7 @@ CDMA מאפשר לכל תחנה לשדר על כל הספקטרום של התד
**מבנה הרשת**
-
+
כבר בשנת 1876, כשאלכסנדר גרהם בל רשם פטנט על הטלפון, הייתה דרישה גדולה להמצאה החדשה. השוק הראשוני היה של טלפונים, אנשים קנו טלפונים (נייחים, ביתיים) והמכשירים הגיעו בזוגות. והיה על הלקוח לחברם עם חוט יחיד בינהם. אם בעל טלפון רצה לדבר עם n בעלי טלפונים אחרים, היה עליו למתוח חוטים נפרדים לכל n הבתים. תוך שנה ערים שלמות היו מכוסות בחוטים שנמתחו על גגות הבתים והעצים, מכל טלפון לכל טלפון אחר, כמו שניתן לראות באיור משמאל ב (a).
@@ -432,7 +432,7 @@ CDMA מאפשר לכל תחנה לשדר על כל הספקטרום של התד
להלן מבנה הרשת:
-
+
@@ -447,7 +447,7 @@ CDMA מאפשר לכל תחנה לשדר על כל הספקטרום של התד
**מודם טלפון**
-
+
כדי לשלוח ביטים ברשת לולאה מקומית (או כל ערוץ פיזי אחר) חייבים להמירם לאותות אנלוגים שיכולים להישלח על גבי הערוץ. ההמרה הזו מושגת באמצעות שיטות האפנון (מודולציה) עליהם דיברנו בסעיף 5 (אפנון וריבוב דיגיטליים). בקצה השני האות האנלוגי מומר חזרה לביטים. המכשיר שמבצע את פעולת האפנון נקרא מודם (modem) - קיצור של [modulator demodulator](http://en.wikipedia.org/wiki/Modem). קיימים המון סוגים של מודמים: מודם טלפון, מודם DSL, מודם קווי, מודם אלחוטי וכ'ו. המודם גם יכול להיות בנוי כחלק מהמחשב (מה שנפוץ היום במודם טלפוני) או כקופסה נפרדת (שנפוץ במודם DSL וקווי). המודם ממוקם בין המחשב (דיגטלי) למערכת הטלפון (אנלוגי) כמו שניתן לראות באיוור משמאל.
@@ -471,7 +471,7 @@ CDMA מאפשר לכל תחנה לשדר על כל הספקטרום של התד
הסיבה שמודמים כל כך איטיים היא שהטלפונים הומצאו על מנת לשאת קול אנושי, וכל מערכת הטלפוניה, בראש ובראשונה, הותאמה למטרה הזו. שידור מידע, היה האח החורג. כל לולאה מקומית מסתיימת במרכזייה, ושם החוט רץ דרך פילטר שמסנן את כל התדרים מתחת ל 300Hz ומעל 3400Hz (כמובן שהחתך אינו נקי, 300Hz ו 3400Hz הם בתווך ה 3dB כך שרוחב הפס הוא בדר"כ 4000Hz, אפילו שהמרחק אמור להיות 3100Hz). זה נעשה כדי שחברת הטלפוניה תוכל לספק יותר ערוצים (יותר לקוחות) פר מרכזייה, ועל הדרך גם הציוד יכול להיות זול ופשוט יותר (לא צריך לספק רוחב פס גדול).
-
+
הטריק ב xDSL הוא שחברות הטלפוניה הורידו את הפילטרים, וכך כל רוחב הפס של הלולאה המקומית זמין למשתמשים. ההגבלה הופכת מהגבלה מלאכותית להגבלה שתלויה ביכולת הפיזית של הלולאה המקומית, שתומכת בערך ב 1MHz (ולא ה 3100Hz המלאכותיים שנוצרו ע"י הפילטר). לצערנו, הכושר של הלולאה המקומית נופל די במהירות עם המרחק של הלקוח מהמרכזייה (האות נחלש לאורך הכבל). כמובן שזה גם תלוי בעובי ואיכות החוטים השזורים. באיור מצד שמאל ניתן לראות את רוחב הפס הפוטנציאלי כפונקציה של המרחק (באיור יוצאים מנקודת הנחה ששאר התנאים אופטימלים).
@@ -484,7 +484,7 @@ xDSL תוכנן לכמה מטרות:
4. הם צרכים להיות פעילים תמיד, עם חיוב חודשי ולא לפי זמן.
-
+
כדי להשיג את המטרות שהציבו לעצמן חברות הטלפוניה הספקטרום הקיים (בדיוק 1.1MHz) של הלולאה המקומית, חולק ל-256 ערוצים עצמאיים של 4312.5Hz כל אחד (כמו שניתן לראות בתמונה משמאל). סכמת ה [OFDM](http://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiplexing) (ריבוב בחלוקת תדר, דיברנו עליו למעלה), משמשת כדי לשלוח מידע על הערוצים האלו. ערוץ 0 משמש ל POTS (ראשי תיבות: Plain Old Telephone Service). ערוצים 1-5 ללא שימוש כלל, כדי לשמור שהתדרים של הקול ושל המידע לא יפריעו אחד לשני. שאר ה-250 ערוצים משמשים להעלה והורדה של מידע (ספקים מחלקים לרוב את רוחב הפס כך ש80%-90% מהערוצים שלו מיועדים להורדה, מכיוון שלרוב, זהו השימוש העקרי של המשתמשים, ומפה נגזרת האות "A" ב ADSL המייצגת Asynchronous).
@@ -492,7 +492,7 @@ xDSL תוכנן לכמה מטרות:
הסטנדרט הבינלאומי ADSL (שגם ידוע בתור [G.dmt](http://en.wikipedia.org/wiki/G.992.1)) התקבל בשנת 1999 ואפשר מהירויות הורדה של עד 8Mbps והעלה של עד 1Mbps. הוא הוחלף בשנת 2002 לגרסה השניה שלו שנקראה [ADSL2](http://en.wikipedia.org/wiki/G.992.3), עם שיפור במהירות ההורדה לעד 12Mbps והעלה עד 1Mbps. היום יש לנו את [+ADSL2](http://en.wikipedia.org/wiki/G.992.5), המכפילה את מהירות ההורדה לעד 24Mbps ע"י הכפלת רוחב הפס ל 2.2MHz (חוטים שזורים שונים).
-
+
בכל ערוץ, מתבצע אפנון QAM (גם עליו דיברנו בסעיף הקודם) בקצב של (בערך) 4000 סמלים/שניה. איכות כל ערוץ מנוטרת באופן סדיר ולפיכך מתאימים את הקונסטלציה של האפנון, ולכן לכל ערוץ יתכן קצב נתונים שונה. בערוץ בעל SNR (יחס אות לרעש) גבוה יכולים להישלח עד 15 ביטים לסמל, ועד ל-2 ביטים, ביט אחד או אפילו 0 ביטים בערוץ בעל SNR נמוך. בתמונה מצד שמאל אנחנו רואים סידור טיפוסי של ADSL. בסכמה הזו, טכנאי חברת הטלפוניה צריך להגיע לבית הלקוח כדי להתקין NID (ראשי תיבות: Network Interface Device), בקרבת מקום ל NID (או לפעמים הם מגיעים ביחד באופן מובנה) ישנו Splitter, המפצל הוא פילטר אנלוגי המפריד בין הרצועה לשימוש ה POTS (טווח 0-4000Hz) לדאטה. הטלפון או הפקס מחוברים אליו ישירות, בעוד המחשב מחובר למודם (בדרך כלל באמצעות כבל Ethernet) שמעבד את האות ומאפנן אותו (OFDM).
@@ -508,7 +508,7 @@ xDSL תוכנן לכמה מטרות:
כמו החוטי נחושת, גם הלולאות המקומיות מסיבים הן פאסיביות. זה אומר שלא דרוש ציוד חשמלי כדי להגביר את האות או תהליך דומה. הסיב פשוט נושא את האות מהבית למרכזייה. בדרך כלל, הסיב מהבית מתחבר כך שרק סיב אחד מגיע אל המרכזייה (לקבוצה של עד 100 בתים). בצד של ההורדה, קיימים מפצלים אופטיים שמחלקים את האות מהמרכזייה כדי שיגיע לכל הבתים. כמובן שהצפנה היא דבר הכרחי לאבטחה כדי שרק בית אחד יוכל לפענח את האות. בצד של ההעלאה, מחברים אופטיים ממזגים את האות מהבתים לאות אחד שמתקבל במרכזייה.
-
+
הארכיטקטורה הזו נקראת PON (ראשי תיבות: Passive Optical Network), וניתן לראותה בתמונה משמאל. שיתוף התמסורת בצד ההורדה, ועוד אחד לצד ההעלאה היא דבר נפוץ. אפילו לאחר הפיצול, רוחב הפס האדיר, ואי הדילול של האות הקיים בסיבים מאפשרים ל PON לספק קצב נתונים גבוה למרחק של עד 20 ק"מ. המהירות הממשית תלויה בסוג ה PON, וקיימים 2 סוגים נפוצים: GPONs (ראשי תיבות: Gigabit-capable PONs), שמוגדר ע"י ה ITU. ו EPONs (ראשי תיבות: Ethernet PONs) שמוגדר ע"י ה IEEE. כששניהם מספקים בסביבות האחד גיגה ביט.
@@ -539,7 +539,7 @@ xDSL תוכנן לכמה מטרות:
TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, משמש להעביר כמה שיחות על גבי גזעים (Trunks) ע"י שליחת דגימה מכל שיחה, כל 125 מילי שניות. השיטה בה משתמשים בצפון אמריקה ויפן נקראת T1 (יותר נכון DS1, והספקית נקראת T1, אך בתעשייה השם שנקלט הוא פשוט T1 לכן נמשיך איתו) ובה, כל מסגרת מחולקת ל-24 ערוצים המרובבים ביחד. כל אחד מה-24 ערוצים, בתורו, זוכה להכניס 8 ביטים למסגרת. ז"א שהמסגרת מכילה 24*8 = 192 ביטים, ועוד אחד למטרות בקרה, ז"א 193 ביטים כל 125 מילי שניות, מה שנותן 1.544Mbps.
-
+
חלק מהביטים במסגרת משמשים לאיתות ועוד אחרים לסנכרון. בגרסה אחת, הביטים נפרסים לאורך כל המסגרת (מתפרסים לכל אורך 24 הערוצים), שיטה זו נקראת [Extended superframe](http://en.wikipedia.org/wiki/Extended_superframe). שישה ביטים (במקומות ה-4, 8, 12, 16, 20 ו-24) משמשים כדי ליצור את התבנית 001011. ובאופן רגיל, המקבל יחפש את התבנית הזו כדי לא לאבד את הסינכרון. עוד 6 ביטים משמשים כדי לשלוח קוד לבדיקת שגיאות (בהמשך נרחיב על נושא בדיקת השגיאות). 12 הביטים הנותרים משמשים לשליטה במידע ותחזוק רגיל של הרשת (כמו ביצועים טובים יותר, ומנגנוני אישור (עליהם נרחיב בהמשך)).
@@ -547,7 +547,7 @@ TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, מש
מחוץ לארה"ב ויפן, מבצעים שימוש בשיטה הנקראת E1 המספקת 2.048Mbps. בשיטה זו ישנם 32 דגימות בנות 8 ביטים כל אחת שארוזות לתוך מסגרת הנשלחת כל 125 מילי שניות. 30 מהערוצים משמשים לשליחת מידע, ועוד 2 משמשים לאיתות וסנכרון. ז"א שכל 4 מסגרות מספקות 64 ביטים לאיתות וסנכרון, חצי מהם משמשים לאיתות והחצי השני משמשים לסנכרון (או במקרים פרטיים לדברים אחרים, כל מדינה והחלטת השימוש שלה).
-
+
ריבוב בחלוקת זמן מאפשר לכמה תשתיתי T1 לבצע ריבוב לתשתית גדולה יותר, בדיוק כמו באיור משמאל. בצד השמאלי ביותר אנחנו רואים 4 תשתיות של T1 המרובבים כ-4 ערוצים לתוך T2. הריבוב לתוך T2 נעשה ביט אחרי ביט (ולא בייט אחרי בייט, הרי יש 24 בייטים (כל בייט מכיל 8 ביטים)). כדי לספק מקום ל-4 ערוצי T1, אנחנו צרכים תשתית ברוחב פס של 6.176 (1.544*4), אך בפועל, T2 מספק 6.312Mbps. הביטים אקסטרה שיש לנו משמשים למסגור (בדיוק כמו הביט הראשון בכל מסגרת של T1) ואישוש (במקרה וביטים נאבדים בדרך). ברמה הבאה, 7 T2 מתחברים ל T3, ולאחריו 6 T3 מתחברים ל T4.
@@ -575,7 +575,7 @@ TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, מש
* כל הגזעי SONET הם מכפלות של STS-1.
-
+
שלושת העמודות הראשונות של כל פריים שמורות למידע של מערכת הניהול. בבלוק משמאל, שלוש העמודות הראשונות הן תקורה לחלקה, ואחריהן 6 העמודות הבאות משמשות כתקורת שורה. התקורה של החלקה, נוצרת ונבדקת בהתחלה ובסוף של כל חלקה (כל מסגרת SONET שנשלחת כל 125 מילי שניות), בעוד התקורה של השורה נוצרת ונבדקת בתחילת ובסוף כל שורה.
@@ -589,7 +589,7 @@ TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, מש
**ריבוב בחלוקת אורך גל**
-
+
נוסף לכל צורת הריבוב שראינו עד כה (חלוקת תדר / חלוקת זמן / חלוקת קוד), ישנה עוד צורת ריבוב בה משתמשים לא מעט, ואפילו ביחד עם ריבוב בחלוקת זמן (TDM) (כדי לרתום את רוחב הפס העצום של סיבים אופטיים) הנקראת WDM (ראשי תיבות: Wavelength Division Multiplexing). את עקרון העבודה הבסיסי של WDM על סיבים, ניתן לראות באיור משמאל.
@@ -611,7 +611,7 @@ TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, מש
כיום, משתמשים בשתי שיטות מיתוג שונות: מיתוג מעגל (circuit switching), ומיתוג מנות (packet switching). מערכת הטלפוניה המסורתית מבוססת על מיתוג מעגלי, אך מיתוג מנות מתחיל לחדור עם העליה ב VOIP (ראשי תיבות: Voice Over IP).
-
+
@@ -623,7 +623,7 @@ TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, מש
בימים הראשונים של תעשיית הטלפון, החיבור נעשה באופן ידני ע"י מרכזניות שחיברו כבל מגשר לשקע של השיחה הנכנסת ולשקע של שיחת היעד. ובמאה ה-19, קצת לאחר המצאת הטלפון, הומצא ציוד המיתוג המעגלי האוטומטי, ע"י קברן בשם [Almon B. Strowger](http://en.wikipedia.org/wiki/Almon_Brown_Strowger), ולהלן הסיפור מאחורי ההמצאה: קצת לאחר המצאת הטלפון, כשמישהו מת אחד הקרובים היה מתקשר למפעילה המקומית ואומר "בבקשה תקשרי אותי עם הקברן", לצערו של מר סטראוג'ר היו 2 קברנים בעיירה, הוא עצמו ועוד בחור. אשתו של הבחור השני הייתה אחת המרכזניות במפעילת הטלפון המקומית, ואתם יכולים לנחש לאן זה הולך. בקיצור, מהר מאוד הוא הבין שאם לא ימציא את ציוד המיתוג האוטומטי הוא יפשוט את הרגל.
-
+
כמובן שמאז הציוד הפיזי השתנה, אך הרעיון המקורי נשאר כשהיה: כששיחה הוקמה, דרך יעודיית בין הצדדים "תיבנה" ותישאר מחוברת (ללא שינוי) כל עוד השיחה מתקיימת. וזוהי תכונה של מיתוג מעגלי, הצורך שלו להקים חיבור שלם, מקצה לקצה, לפני שעוד נשלח איזשהו מידע. בשל תכונה זו, הזמן בין סיום החיוג לתחילת צלצול הטלפון ביעד יכול בקלות להיות 10 שניות, ואפילו יותר במרחקים ארוכים או שיחות בינלאומיות. בזמן הזה, מערכת הטלפון "צדה" אחר דרך קישור, כמו שניתן לראות בתמונה משמאל (a).
@@ -692,7 +692,7 @@ TDM (ראשי תיבות: Time Division Multiplexing), מבוסס על PCM, מש
במערכת IMTS שהצגנו קודם לכן כל תא מקיף בערך 100 ק"מ, אך בתחום הזה יש רק תדר אחד, בעוד במערכת AMPS יש 100 תאים של 10 ק"מ (באותו אזור של 100 ק"מ ב IMTS) כך שכל 10-15 תאים על אותו תדר (אך חשוב שהם לא יהיו תאים שכנים, כמו שציינו כבר). העיצוב הזה של המערכת מגביר את יכולת המערכת לתמוך ביותר שיחות בו זמנית. תאים קטנים יותר אומר שנדרש פחות כוח וזה מוביל למשדרים קטנים וזולים יותר.
-
+
באיור משמאל ניתן לראות את הרעיון של התאים (a), נהוג לציירם כמשושה אך במציאות הם יותר עגולים וכמובן אינם כה סימטרים. ניתן לראות באיור כי גם כל התאים באותו גודל ומקובצים בקבוצות של 7 תאים. כל אות (בתוך התא) מסמלת קבוצה של תדרים (שימו לב כי לכל קבוצת תדרים הנמצאת בתאים שונים יש 2 תאים המפרידים ביניהם כדי למנוע הפרעות). באזורים בהם מספר המשתמשים גדל עד לנקודה בה יש עומס על המערכת, ניתן להוריד את ההספק של המשדר באנטנה באזור על מנת לחלק את האזור לתאים קטנים יותר (כמובן שיש לפרוס עוד אנטנות ולהתחשב בחילוק של התדרים כך שיהיה חוצץ של 2 תאים לפחות עד לחזרה על אותו סט תדרים). עקרון זה מודגם באיור משמאל ב(b).
@@ -745,7 +745,7 @@ AMPS משתמש בריבוב FDM כדי להפריד בין הערוצים. המ
GSM החל את חיו בשנות ה-80 כמאמץ לייצר סטנדרט 2G אירופאי אחיד. המערכת הראשונה הונחה כבר בשנת 91 והייתה להצלחה, ונעשה מובן כי GSM לא יהיה סטנדרט אירופאי בלבד. מערכת ה GSM (כמו גם שאר המערכות שנציין בהמשך) מבוססות על מערכות הדור הראשון ומשמרות את החלוקה לתאים, השימוש החוזר בתדרים והניידות מתא לתא באמצעות תהליך המסירה (handoff). השוני בינהם הוא בפרטים. כמו כן ישנם גם הרבה שינויים עליהם לא נדבר כאן, כמו היבטים הנדסיים של המערכת, ובמיוחד העיצוב של המקלט (כדי להתמודד עם התפשטות וריבוי אותות), וסנכרון של המשדרים והמקלטים.
-
+
באיור משמאל ניתן לראות שהארכיטקטורה של GSM ושל AMPS די דומות, למרות שלרכיבים יש שמות שונים. הטלפון הנייד מחולק לברזל עצמו (המכשיר) ול [SIM](http://en.wikipedia.org/wiki/Subscriber_identity_module) (ראשי תיבות: Subscriber Identity Module), הסים מפעיל את המכשיר ומאפשר לרשת ולטלפון הנייד לזהות אחד את השני, ובנוסף מצפין את השיחות בינהם.
@@ -753,7 +753,7 @@ GSM החל את חיו בשנות ה-80 כמאמץ לייצר סטנדרט 2G א
הטלפון הנייד "מדבר" עם תחנת הבסיס דרך ממשק אוויר. כל תחנת בסיס מחוברת ל BSC (ראשי תיבות: Base Station Controller) השולטת במשאבי הרדיו של התא ובנוסף מטפלת בתהליך המסירה (handoff). ה BSC מחובר ל MSC שאחראי על ניתוב השיחות ובנוסף מחובר לרשת ה PSTN. כדי לדעת לנתב את השיחות, ה MSC צריך לדעת איפה המנוי נמצא, ולכן הוא שומר מסד נתונים של הטלפונים באזור אותו הוא מנהל, מסד הנתונים הזה נקרא VLR (ראשי תיבות: Visitor Location Register). בנוסף, קיים עוד מסד נתונים המכיל את המיקום האחרון של כל טלפון (ברשת כולה) ונקרא HLR (ראשי תיבות: Home Location Register).
-
+
GSM פועלת על טווח עולמי של תדרים הכולל את 900MHz, 1800MHz, 1900MHz. ברשת הנל מוקצה ספקטרום רחב יותר מזה שב AMPS כדי לתמוך במספר גדול יותר של משתמשים. GSM היא מערכת סלולרית המבצעת שימוש בריבוב בחלוקת תדר [Duplex](http://en.wikipedia.org/wiki/Duplex_(telecommunications)) (דו-קומתי) כמו AMPS, זה אומר שכל טלפון נייד משדר על תדר אחד ומקבל בשני (בתדר אחר) גבוה יותר. למרות זאת, שלא כמו AMPS, ב GSM כל זוג תדרים מרובבים ביחד בחלוקת זמן. בדרך זאת זוג התדרים יכולים להיות מחולקים לכמה טלפונים ניידים. כדי לטפל בכמה טלפונים, ערוצי GSM רחבים יותר מהערוצים ב AMPS (רוחב של 200kHz לעומת 30kHz ב AMPS). ניתן לראות ערוץ כזה ברוחב 200kHz בתמונה משמאל.
@@ -761,7 +761,7 @@ GSM פועלת על טווח עולמי של תדרים הכולל את 900MHz,
למערכת GSM הפועלת באזור ה 900MHz יש 124 זוגות של ערוצים. כל ערוץ ברוחב 200kHz ותומך ב-8 ערוצים (או יותר נכון תתי-ערוצים) (כמו שציינו, בעזרת ריבוב בחלוקת זמן), כל טלפון מוקצה לחריץ זמן בזוג הערוצים. תיאורטית ניתן לספק בכל תא 992 ערוצים, אך הרבה מהערוצים אינם זמינים, וזאת על מנת להימנע מהתנגשות עם התאים השכנים. באיור משמאל 8 תאי הזמן המושחרים שייכים לאותו חיבור, 4 מהם לאותו כיוון.
-
+
ה TDM שרואים באיור למעלה משמאל הוא חלק קטן ממערכת מסגור היררכית גדולה יותר. לכל חריץ TDM יש גם מבנה מסוים. באיור משמאל ניתן לראות גרסה פשוטה יותר של ההירככיה הזו. ניתן לראות בתמונה שכל חריץ TDM מכיל 148 ביטים ש"מעסיקים" את הערוץ ל-577 מיקרו שניות (כולל 30 מיקרו שניות השמורות אחרי כל חריץ למרווח ביטחון). כל חריץ כזה מתחיל ומסתיים ב-3 אפסים בשביל תיחום המסגרת, ובנוסף הוא מכיל שני שדות מידע באורך 57 ביטים לקול או מידע. בין 2 שדות המידע יש שדה סנכרון באורך 26 ביטים שבו המקבל מבצע שימוש על מנת להסתנכרן לגבולות המסגרת של השולח.
@@ -794,7 +794,7 @@ CDMA לא משתמש בריבוב TDM או FDM, במקום זאת הוא עוש
אחרי שטיפלנו בבעיות שמנעו מ CDMA לעבוד, נתאר את שלושת היתרונות העקריים שלו:
-
+
1. בראש ובראשונה CDMA משפר את היכולת ע"י היתרון של שימוש בחלקי זמן קטנים שבהם המשדרים שקטים. בכל שיחת טלפון, צד אחד של השיחה נמצא בשקט (לא מדבר ולפיכך לא משדר מידע) כל זמן שהצד השני מדבר. בממוצע הקו "עסוק" כ40% מהזמן. אך חלקי הזמן האלו הם קטנים וקשה לצפות אותם, ולכן מערכת TDM ו FDM, לא מסוגלות לבצע שימוש בחריצי הזמן השקטים האלו. לעומתם, ב CDMA, בכך שאתה לא משדר, אתה (בתור משתמש אחד) מוריד את ההפרעות למשתמשים האחרים (באותו התא), וברגע שמדובר על כמות של משתמשים שלא מפריעים (כל אחד לזמן קצר, כל פעם) אחוז ההפרעה הכללי בתא יורד, ולכן ניתן לתת שירות למספר גדול יותר של שיחות בו זמנית.
@@ -812,7 +812,7 @@ CDMA לא משתמש בריבוב TDM או FDM, במקום זאת הוא עוש
**אנטנת טלוויזיה קהילתית**
-
+
חברות הכבלים יזמו בסוף שנות ה-40, דרך לספק קליטה טובה יותר לבתים באזורים מרוחקים או הרריים. תחילה, המערכת הכילה אנטנה גדולה על גבי גבעה (כדי לקלוט את האות של רשתות הטלוויזיה), מגבר הנקרא headend (על מנת לחזק את האות), וכבל קואקסיאלי (כדי להעביר את האות לבתים של האנשים). ניתן לראות את הסכמה של הדרך הראשונית הזו בצד שמאל. בגלל החלוקה הקהילתית של האנטנה, בשנים הראשונות, טלוויזיה בכבלים נקראה אנטנת טלוויזיה קהילתית.
@@ -824,7 +824,7 @@ CDMA לא משתמש בריבוב TDM או FDM, במקום זאת הוא עוש
**אינטרנט על גבי הכבלים**
-
+
במהלך השנים, מערכת הכבלים גדלה והוחלפה, בין הערים, בסיב ברוחב פס מהיר. מערכות בעלות סיב למרחקים ארוכים וכבל קואקסיאלי לבתים (כמו במערכות הכבלים) נקראות מערכות HFC (ראשי תיבות: [Hybrid Fiber Coax](http://en.wikipedia.org/wiki/Hybrid_fibre-coaxial)).מי שאחראי על הפיכת הממשק מאלקטרוני לאופטי (ולהפך) אלה ה Fiber nodes. מכיוון שרוחב הפס של הסיב יותר גדול מזה של הכבל הקואקסיאלי, כל צומת (Fiber nodes) מספקת מידע לכמה כבלים קואקסיאלים. ניתן לראות מערכת HFC כזו באיור (a) משמאל.
@@ -839,7 +839,7 @@ CDMA לא משתמש בריבוב TDM או FDM, במקום זאת הוא עוש
ביטול כל ערוצי הטלוויזיה בכבלים, ושימוש של התשתית רק בשביל לספק גישה לאינטרנט, בטח יצור כמות מכובדת של לקוחות זועמים, ובגלל זה חברות הכבלים מהססות בנושא. בנוסף, רוב הערים מבצעות רגולציה כבדה על השימושים של הכבל ומה עובר בו. לכן ספק כבלים לא יורשה לעשות זאת, גם אם ירצה. כתוצאה מכך הם צרכים למצוא דרך לאינטרנט ולטלוויזיה להתקיים ביחד על אותו כבל (אותה תשתית).
-
+
הפתרון הוא לבנות ריבוב בחלוקת תדר. ערוצי הכבלים בצפון אמריקה עובדים על 54MHz – 550MHz (חוץ מרדיו FM), כל ערוץ ברוחב 6MHz (כולל מגני פס – guard bands), ויכול לשאת ערוץ טלוויזיה אנלוגי אחד או כמה ערוצי טלוויזיה דיגיטליים. באירופה הקצה התחתון הוא בערך ב 65MHz והערוצים הם ברוחב של 6-8MHz (בגלל הרזולוציה הגבוהה יותר שדורשים PAL ו SECAM), חוץ מזה הסכמה דומה. את סכמת החלוקה ניתן לראות באיור משמאל, וכמו שניתן לראות הערוצי העלאה הינם ברצועה 5-42MHz (קצת יותר גבוה באירופה) ובתדרים הגבוהים משתמשים להורדה.
@@ -862,7 +862,7 @@ CDMA לא משתמש בריבוב TDM או FDM, במקום זאת הוא עוש
להעלאה, יש יותר הפרעות RF (תדרי רדיו - Radio Frequency) מכיוון שהמערכת לא תוכננה במקור למידע, ורעש מכמה מנויים מתועל אל ה headend כך שדרושה סכמה שמרנית יותר. הסכמות כאן משתנו מ QPSK ועד ל QAM-128, כשכמה מהסמלים משמשים להגנת שגיאות בעזרת אפנון [Trellis Code](http://en.wikipedia.org/wiki/Trellis_modulation). לאחר מכן עושים שימוש ב TDM כדי לחלוק את רוחב הפס בהעלאה לשימוש של כמה מנויים. אחרת השידורים שלהם יתנגשו ב headend. הזמן מחולק למיני חריצים ומנויים שונים שולחים בחריצים שונים. כדי לגרום לזה לעבוד כל מודם קובע את המרחק שלו מה headend ע"י שליחה של מנה מיוחדת אל ה headend ורואה כמה זמן לוקח לו לקבל תשובה (תהליך זה נקרא [ranging](http://en.wikipedia.org/wiki/Ranging)). ה headend מכריז על תחילת סיבוב חדש של מיני חריצים, אך יריית הפתיחה הזאת לא נשמעת בכל המודמים באופן אחיד (באותו הזמן) בגלל המרחק שלהם מה headend וזמן ההגעה שדרוש למנה "לחלחל" בכבל. בכך שכל מודם יודע מה המרחק שלו מה headend, כל מודם יכול לחשב לפני כמה זמן המיני חריץ הראשון התחיל באמת. (מיני חריץ הוא תלוי אורך הרשת, מנה טיפוסית היא 8 בתים).
-
+
בזמן האתחול, ה headend מקצה לכל מודם מיני חריץ לשימוש לשם בקשה לרוחב פס להעלאה. וכשהמחשב רוצה לשלוח מנה, הוא מעביר את המנה אל המודם, שמבקש את מס' המיני חריצים הדרושים לו. אם הבקשה התקבלה, ה headend שולח אישור למודם (בערוץ ההורדה) שאומר למודם איזה מיני חריצים שמורים למנה שלו. לאחר מכן המנה נשלחת מתחילת המיני חריץ הראשון השמור לה (ניתן לבקש מיני חריצים נוספים בשביל עוד מנות על גבי הכותרת (header) של המנה - ניגע בזה יותר בשכבות הבאות).
diff --git a/_posts/2014-05-18-queue.md b/_posts/2014-05-18-queue.md
index e3c83cd..ff5fe25 100644
--- a/_posts/2014-05-18-queue.md
+++ b/_posts/2014-05-18-queue.md
@@ -72,7 +72,7 @@ return x
**כעת, נדגים את פעולות השינוי Enqueue ו Dequeue:**
-
+
מימוש התור מתבצע באמצעות מערך [Q[1..12. איברי התור מופיעים רק במשבצות הבהירות.
diff --git a/_posts/2014-06-01-arduino-3.md b/_posts/2014-06-01-arduino-3.md
index d216fb3..773d19a 100644
--- a/_posts/2014-06-01-arduino-3.md
+++ b/_posts/2014-06-01-arduino-3.md
@@ -27,7 +27,7 @@ category: Arduino
להלן סכמה ואיור להמחשה:
-
+
diff --git a/_posts/2014-06-15-git-1.md b/_posts/2014-06-15-git-1.md
index 5fa8af6..47119ff 100644
--- a/_posts/2014-06-15-git-1.md
+++ b/_posts/2014-06-15-git-1.md
@@ -159,7 +159,7 @@ $ git commit -m "Add LICENSE and finish README."
בתמונה משמאל ניסיתי לצייר את ציר הזמן של הענף master, הנקודה הראשונה (לידה כתוב 1) היא ה commit הראשון שביצענו, והשניה (לידה כתוב 2) היא ה commit הנוכחי שביצענו. ליד הפקודה בעצם שמתי תמונה של מצלמה המסמלת את לקיחת ה snapshot, וה snapshot הזה מצביע ל commit השני.
-
+
אז יש לנו שני commit. אבל איך אנחנו יודעים מה הם? כיצד מסתכלים על ההיסטוריה של ציר הזמן? בשביל זה יש את הפקודה `git log`. וכשנריץ אותה, נראה שיש לנו שני commit, נראה את הכותב של כל אחד, את התאריך, ואת תיאור השינויים שאותו כותב כתב. ואתם יכולים לתאר לעצמכם, כשאתם עובדים על פרויקט בצוות, תיאור ה commit הינו דבר חשוב מאוד, הוא צריך להיות מובן, תמציתי ולתאר בדיוק מהם השינויים (ותנסו לכתוב בלשון הווה ולא עבר, למרות שבעתיד, כנראה שזה יהיה חלק מההיסטוריה).
diff --git a/_posts/2014-07-06-git-2.md b/_posts/2014-07-06-git-2.md
index e011122..eeb3453 100644
--- a/_posts/2014-07-06-git-2.md
+++ b/_posts/2014-07-06-git-2.md
@@ -51,7 +51,7 @@ $ git status
-
+
עד כה דיברנו על המצב בו התחרטנו לאחר שהוספנו קובץ לאזור ההיערכות, או אפילו התחרטנו על עריכת הקובץ מלכתחילה. אך מה אם ערכנו את הקובץ, הוספנו אותו לאזור ההיערכות, ביצענו commit, ואז התחרטנו! רצינו להוסיף איזה שינוי שאמור להיות כלול בתוך ה commit שעכשיו ביצענו. למזלנו יש את הפקודה `^git reset –soft HEAD` הפקודה תבטל את ה commit האחרון ותחזיר כל השינויים מה commit הזה אל אזור ההיערכות. בחלק א' הסברנו כי ה HEAD מתייחס ל commit האחרון (בענף הנוכחי, בו אנו נמצאים), אך כאן ישנו גם הסימן ^, הסימן הזה אומר: ל commit שלפני האחרון. ואם נריץ לאחר מכן שוב את הפקודה `git status` נראה כי כל השינויים כרגע, באזור ההיערכות (לפני הביטול של ה commit האחרון. אם היינו מריצים `git status` לא היינו מקבלים דבר, כי לא בוצעו שינויים מה commit האחרון, זה שהעלינו עכשיו, אך משום שביטלנו אותו וחזרנו commit אחד אחורה, ישנם שינויים), כעת ניתן לערוך את הקבצים, להוסיף חדשים וכ'ו, ולבצע commit מחדש.
@@ -80,7 +80,7 @@ $ git status
-
+
בעצם מה שאנחנו עושים זה מעלים את הקוד ל repo אחר, מרוחק. או במילים אחרות remote repository. לכן הפקודות יהיו על בסיס `git remote`.
@@ -88,13 +88,13 @@ $ git status
לפני שנמשיך, ארצה לדבר מעט על GitHub. כדי להעלות את הקוד שלכם ל GitHub, עליכם דבר ראשון להירשם. לאחר שנרשמתם, עליכם לפתוח repo ב github, אז לחצו על ה+ ואז על New repository. לאחר מכן יפתח לכם טופס כמו שזה שלמטה. ב Repository name נכתוב את שם המאגר, וב Description נכתוב את תיאור המאגר/פרויקט.
-
+
מתחת ל Description ישנה אופציה כדי לבחור האם ה repo יהיה פומבי (כולם יוכלו לראות, לקרוא, לבצע fork וכד') או repo פרטי (יש לציין כי רק חשבונות משודרגים, שעולים כסף, יכולים לפתוח repo פרטי). מתחת לזה יש אפשרות ליצור קובץ README ל repo באופן אוטומטי. ב Add .gitgnore אנו נתאר את הז'אנר של הפרויקט שלנו וב Add a license נבחר ברישיון שתחתיו הפרויקט יהיה (זה בעצם יתאר מי, למה, כמה, איך וכד' אנשים אחרים יוכלו לעשות לקוד שהעלינו) (לא ניכנס לזה כרגע, מכיוון שזה לא קשור ל git אולי בפוסטים אחרים).
-
+
לאחר שיצרנו את ה repo, נקבל מ GitHub כתובת URL שתהיה הכתובת של ה repo שלנו, ולכתובת הזאת נדחוף את הקבצים. כדי לדחוף את הקבצים, נצטרך להריץ את הפקודה `--..git remote add origin https://github`. בואו נראה מה הפקודה אומרת: המילה add היא הראשונה שאנחנו לא מכירים, היא בעצם אומרת שאנחנו מוסיפים remote חדש. origin הוא השם של ה remote, אנחנו יכולים לתת לו כל שם, אך מקובל לקרוא ל repo, מאגר, הראשי שלנו, זה שכל האנשים משתמשים בו כ origin. ולבסוף יש לנו את הכתובת של ה repo (החליפו את הנקודות בהמשך הכתובת שלכם).
@@ -152,7 +152,7 @@ $ git status
### שיתוף פעולה
-
+
שיתוף פעולה בפרויקטים בין אנשים הוא דבר חשוב, הוא קורה כל הזמן, אם זה כצוות שעובד על אותו הפרויקט, ואם זה כפרויקט קוד פתוח שאנשים שונים תורמים חלקים שונים, מתקנים באגים וכד'. אז בואו נניח שבוב שעובד ביחד עם אליס בצוות, רוצה עותק של ה repo על מנת להתחיל לעבוד על פיצ'ר חדש בפרויקט. כיצד הוא יכול להשיג עותק כזה? פשוט לבצע שיבוט (clone) של ה repo. אם אתם משתמשים ב GitHub לדוגמה, גשו לעמוד של הפרויקט, ובחרו code, למטה קצת מעל ה "Download ZIP" יש קוביית טקסט שהכותרת שלה היא "HTTPS clone URL" (ניתן לראות דוגמה בתמונה משמאל). על מנת לשבט את ה repo אנחנו צריכים את הכתובת שלה, וזה מה שהשגנו כעת. בשביל לשבט נכתוב `
-
+
@@ -176,7 +176,7 @@ $ git branch cat
```