מפתחים ממאדים ופרודקט מנוגה

כמו שראיתם, או ליתר דיוק לא ראיתם, לא פרסמנו פוסטים חדשים בשנה וחצי האחרונה. למה? כי מאוד קשה לכתוב פוסטים, ובמיוחד מכיוון שאנחנו משתדלים שהפוסטים יהיו כתובים היטב. הכנה של כל פוסט דורשת עשרות שעות עבודה: בחירת נושא, תחקיר, כתיבה, הגהה עצמית, לעתים הגהה של אנשים חיצוניים, עוד קצת הגהה, חלוקה לפיסקאות, תמונות, הגהה אחרונה,... להמשיך לקרוא ←

על התקפת XSS – עם הדגמה על אתר בחדרי חרדים

בפוסט זה נסביר מה היא פרצת XSS - Cross Site Scripting ונראה הדגמה לחולשה הזו באתר פורומים אמיתי. החולשה מאפשרת לכל משתמש בפורום להזריק קוד JavaScript בדפדפן של משתמש אחר ולהריץ אותו, מה שמאפשר אפילו להתחבר בחשבון של המשתמש האחר. נראה איך החולשה הזאת קיימת כתוצאה מחוסר שימוש בספריות מעודכנות לאבטחת הקוד ואיך אפשר בקלות... להמשיך לקרוא ←

צבעוני – על RGB ומערכות צבעים

לעתים קרובות אנו נתקלים בסכמות צבעים שונות, בעיקר בסכמה הנפוצה RGB. בפוסט זה נדבר על מהי סכמת צבעים, למה יש סכמות צבעים שונות ונסביר שכל סכמה שננסה להגדיר לא תהיה מושלמת.

כללים וציטטות על הנדסת תוכנה – רשימה

בפוסט הקודם הבאנו כמה ציטוטים ידועים מעולם התוכנה והרחבנו בנוגע למשמעותם ולתכנם. במהלך העבודה נתקלנו בכמה וכמה ציטוטים שנראו לנו מעניינים אך לא שרדו את שולחן העריכה בדרך אל הפוסט. נביא כאן כמה מהם שהיו נראים לנו חשובים מכדי להשאיר אותם לעצמנו - ציטוטים שמדברים בעד עצמם גם ללא הסבר נוסף. התכנות בימינו הוא מרוץ... להמשיך לקרוא ←

כללים וציטטות על הנדסת תוכנה

בעולם התכנות אנו נתקלים שוב ושוב באתגרים שונים שהעקרונות לפתירתם דומים. למשל, כולנו יודעים שהמערכת שאנו בונים צריכה להיות פשוטה ככל האפשר, ופעמים רבות אנו נתקלים בבאגים שלמרות שהם עצמם שונים מאוד זה מזה, נובעים מכך שהמערכת נכתבה בצורה מורכבת יותר מהראוי. כך גם בנוגע לקריאות הקוד: העקרון לפיו הקוד צריך להיות קריא ככל האפשר... להמשיך לקרוא ←

ניימינג – 10 טיפים שיעזרו לכם לעשות את זה נכון

כאשר אנו מתכנתים אנחנו לא רק מורים למחשב מה לעשות, אלא גם מספרים למפתחים האחרים שיבואו אחרינו מה אמרנו למחשב לעשות. המתכנתים האחרים הללו הם לעתים קרובות אנו עצמנו, כאשר נחזור לעבוד על הקוד אחרי זמן מה. אם נרצה שיהיה אפשר להמשיך לעבוד ולתחזק את הקוד שלנו, נצטרך לדאוג שהוא יהיה כתוב בצורה ברורה וקריאה.... להמשיך לקרוא ←

מה רע ב-JavaScript

בשנת 1995, בעיצומה של מלחמת הדפדפנים בין נטסקייפ למיקרוסופט, היה ברור שלדפדפן אמורה להיות יכולת להריץ קוד בנוסף ליכולת להציג טקסט גרידא. באפריל גייסה נטסקייפ את ברנדן אייק (Brendan Eich) כדי להטמיע בדפדפן מנוע שיריץ שפת תכנות מבוססת Scheme. למרות שאייק רצה שהסינטקס יהיה דומה לסינטקס של Scheme, הוחלט בנטסקייפ שכדי ששפת התכנות תוכל להתחרות... להמשיך לקרוא ←

ביצי הפתעה – מה ולמה

מה זה איסטר אג? איסטר אג היא ביצת פסחא. מקור השם הוא במנהג נוצרי להחביא בחג הפסחא ביצים מבושלות וצבועות כדי שהילדים יחפשו אותה. השם הושאל לתופעה בה במוצרים רבים, מסרטים ועד תוכנות, הכניסו היוצרים הפתעות קטנות שקשה להבחין בהן בלי שמקדישים תשומת לב לחיפוש או בלי שמבצעים פעולות מסוימות. בדומה לביצי הפסחא המקוריות, אין... להמשיך לקרוא ←

מאחורי הקלעים של SQL עם ה-Execution Plan

בכתיבת שאילתת SQL יש קושי אותו איננו חווים בעבודה עם שפות התכנות המקובלות, כמו C, Python, Java או JavaScript. שפות התכנות הללו הן אימפרטיביות, מה שאומר שהקוד הוא רשימת פקודות אותן אנו מעבירים לקומפיילר או לאינטרפרטר. כך גם כאשר איננו מבינים בדיוק לאילו פקודות מכונה מתורגמות הפקודות שלנו, עדיין יש לנו מושג כללי איך נראה... להמשיך לקרוא ←

למה חיפוש מעורפל הוא חיפוש טוב

בחיפוש בגוגל אנחנו מקבלים כמובנת מאליה את העובדה שכאשר אנו עושים שגיאת כתיב גוגל מתקן לנו אותה, ומחזיר לנו לא רק תוצאות התואמות במדויק את מה שחיפשנו אלא גם תוצאות המתאימות במקורב. למשל, אם נחפש בגוגל את המילה השגויה ״ירשאלי״, בגוגל יעשו בשבילנו שני דברים: ראשית, הם יבינו שאירעה לנו טעות בהקלדה והתכוונו לחפש ״ישראלי״.... להמשיך לקרוא ←

חוק האבסטרקציות הדולפות של יואל ספולסקי

יואל ספולסקי (Joel Spolsky), יהודי אמריקאי ישראלי, אחד המייסדים של Stack Overflow ואושיית תכנות מפורסמת, כתב ב-2002 מאמר על בעיית האבסטרקציות (ההפשטות) הדולפות, מאמר שהיה לאבן פינה כאשר דנים באבסטרקציות בתכנות וביכולת שלהם להסתיר את המימוש הפנימי שלהם. משפט המפתח של המאמר הוא "All non-trivial abstractions, to some degree, are leaky", ובתרגום חופשי לעברית: "כל... להמשיך לקרוא ←

Brute Force – המתקפה הכי קלה להסבר, למימוש ולהגנה

בפוסט הזה נדבר על מתקפת brute force. היא מתקפה שקל להבין אותה, קל לבצע אותה וקל מאוד להתגונן מפניה. נסביר מהי המתקפה ואיך אנחנו כמפתחים יכולים להתגונן מפניה. מה היא מתקפת Brute Force? מתקפת brute force היא מתקפה שבה פורץ מנסה לגלות את הסיסמה של משתמש במערכת שלנו באמצעות מעבר שיטתי על כל הסיסמאות האפשריות.... להמשיך לקרוא ←

ערכת עיצוב: Baskerville 2 של Anders Noren.

למעלה ↑