בMySQL ישנן שתי פעולות מעניינות לחיפוש במחרוזות. הראשונה היא LIKE והשניה היא REGEXP. לא אפרט וארחיב יותר מדי עליהן, את תפקודן המלא ניתן לקרוא באתר של MySQL להרחבה. LIKE מאפשרת לנו להשתמש בסימן _ בכדי לתפוס כל תו שהוא וב% בכדי לתפוס כל רצף שהוא של תווים (כולל 0). REGEXP מאפשרת לנו להריץ ביטויים רגולוריים. [...]

שלום לכם קוראים יקרים. בחנתי 4 דרכים (ששתיים מהן שקולות) שונות לבצע איטרציה על מערך בעזרת לולאות for. שיטות איטרציה unoptimized: for($i = 0; $i < count($array); $i++) { } semioptimized1: $c = count($array); for($i = 0; $i < $c; $i++) { } semioptimized2: for($i = 0, $c = count($array); $i < $c; $i++) { [...]

שלום לכם קוראים יקרים, בפוסט הזה אדבר על שיטות שונות להכניס נתונים למערך ועל ההבדלים ביניהן מבחינת ביצועים. ראשית אציג את 4 השיטות הנבדקות: $arr[$i] = $val; – הכנסת הערך $val למערך $arr במקום ה$i. $arr[] = $val; – הכנסת הערך $val למערך $arr במקום הבא (לדוגמה אם יש אינדקסים 0, 1, 2 המקום יהיה [...]

סביר להניח שכל מי שאי פעם תכנן database נתקל בשני הטיפוסים char וvarchar, אך בואו ננסה להבין מה ההבדל ביניהם. לכאורה, אם אשתמש בchar(32) או varchar(32) אוכל להכניס מידע באורך של עד 32 בייתים לכל שורה במסד בעמודה הזו. אך מתחת לפני השטח הdatabase משתמש בשניים בצורה שונה. המבנה של char פשוט יותר להסברה: עבור [...]

בזמן האחרון גיליתי שיש הבדל מאוד מאוד משמעותי בין == ל=== מבחינת ביצועים. ההבדל בגדול מבחינת השימוש הוא ש == משווה את הערך ו=== גם משווה את סוג המשנה. כך שלדוגמה string לא ריק == לtrue אבל לא === לtrue וכדומה. החלטתי לבדוק את העניין ולראות האם זה משתלם להשתמש ב===, לדוגמה כאשר בודקים איזה [...]

החלטתי היום לבצע מבחן, רציתי לבדוק מה מהבאים הכי מהיר ובאיזה הפרש. המועמדים הם: פונקציה פשוטה וסטנדרטית. מחלקה רגילה, יצירת אובייקט וקריאות לפעולה בו. מחלקה עם פעולה סטטית וקריאות ישירות אליה. שימוש בDesign Pattern שנקרא Singleton שבו יוצרים מחלקה רגילה ופעולה סטטית אחת שיוצרת אובייקט אחד של המחלקה ומחזירה אותו. לא ניכנס ללמה זה טוב. [...]

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

קצת עלי

שמי שי ואני בונה אתרים וכיום חותך (מקודד) ומתכנת.
אני עובד אל מול התקן העולמי של W3C, ומתכנת בשפת PHP תוך שימוש בטכנולוגיות עדכניות, תוך שמירה על קוד שניתן לתחזוקה.
בין כישורי נמנים: PHP, SQL, (X)HTML, CSS (2-3), XML, JavaScript ( + jQuery) ועוד.

Zend Certified Engineer

  • דניאל: אחלה של מאמר. [...]
  • Shay | Exalted Web: אין סיבה שיהיו תווים מוזרים. פשוט שמור הכל בutf8, כולל את הdatabase, הhtml והphp, ואל תשכח להריץ שאי [...]
  • יונתן: אין לך בעיה עם תווים בעברית מהמסד? כל מה שאני שולף מוצג לי בתווים מוזרים.. [...]
  • Shay | Exalted Web: שמחתי לעזור :) [...]
  • יהונתן|YtsWeb: שי,תודה רבה על המאמר. חיפשתי באמת איך לחלק את העמודים בצורה טובה ושלא יראו 1000 מספרים. [...]

פרוייקט תכנות מונחה עצמים

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

קצת מידע

אחלק לפניכם את האתר לשלושה נושאים:

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