חיפוש עם thinking sphinx בעברית – פשוט, אבל צריך להגדיר אותו כראוי

בזבזתי עכשיו שעתיים בחיפוש אחרי הסיבה שהאינדקסים שלי לא מוגדרים ע"י ספינקס, עד שהבנתי שצריך היה להגדיר את התווים שספינקס מקבל כשהוא מאנדקס. אז לעברית זה מוגדר כך בקובץ sphinx.yml:

development:
charset_table: "0..9, A..Z->a..z, _, a..z, \
U+410..U+42F->U+430..U+44F, U+430..U+44F, \
U+FB1D->U+05D9, U+FB1F->U+05F2, U+FB20->U+05E2, U+FB21->U+05D0, U+FB22->U+05D3, U+FB23->U+05D4, \
U+FB24->U+05DB, U+FB25->U+05DC, U+FB26->U+05DD, U+FB27->U+05E8, U+FB28->U+05EA, U+FB2A->U+05E9, \
U+FB2B->U+05E9, U+FB2C->U+05E9, U+FB2D->U+05E9, U+FB2E->U+05D0, U+FB2F->U+05D0, U+FB30->U+05D0, \
U+FB31->U+05D1, U+FB32->U+05D2, U+FB33->U+05D3, U+FB34->U+05D4, U+FB35->U+05D5, U+FB36->U+05D6, \
U+FB38->U+05D8, U+FB39->U+05D9, U+FB3A->U+05DA, U+FB3B->U+05DB, U+FB3C->U+05DC, U+FB3E->U+05DE, \
U+FB40->U+05E0, U+FB41->U+05E1, U+FB43->U+05E3, U+FB44->U+05E4, U+FB46->U+05E6, U+FB47->U+05E7, \
U+FB48->U+05E8, U+FB49->U+05E9, U+FB4A->U+05EA, U+FB4B->U+05D5, U+FB4C->U+05D1, U+FB4D->U+05DB, \
U+FB4E->U+05E4, U+FB4F->U+05D0, U+05D0..U+05F2"


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

טוב, קצת סדר בבלאגן – מה זה בניית אתרים? איך בונים אתרים? מה צריך בשביל ללמוד לבנות אתרים? ולמה?!

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

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

דבר ראשון – אתר אינטרנט מוצג ללקוח באמצעות שלושה דברים:

  1. HTML - בעברית – שפת תגיות לסימון טקסט – השפה מכילה בה תוכן (טקסט) שנמצא בתוך תגיות שונות. התגיות מלמדות על סוג התוכן שנמצא בתוכן, לדוגמא <table> היא תגית פתיחה של טבלא, ומסבירה שהמידע שיהיה בפנים הינו מידע טבלאי, ובדומה – <strong> היא תגית שמסמנת שהטקסט שבתוכה חשוב יותר מהטקסט שלידו. לתגיות אפשר לקרוא גם "אלמנטים". לרשומה המלאה
שייך לקטגוריות: בניית אתרים, כללי, מה זה | תוייג , | 5 תגובות

ריילס 3 – מנועים

טוב, סוף סוף, אחרי יותר מידי זמן, אני כותב פוסט, ואחרי יותר מידי זמן התחלתי להשתמש בריילס 3. המעבר לא קל, כי המון המון דברים השתנו מגרסה 2.3.5 בה אני השתמשתי עד עתה. אז במקום לשדרג את הפרוייקטים הקיימים (המון עבודה וכרגע לא נראה שאוכל לעשות את זה) אני החלטתי לבנות מחדש את אתר ההכרויות שלי. נגיד את זה כך – עם ריילס 3 אחרי 7 שעות עבודה בערך סיימתי את כל הלוגיקה במודלים, כולל רוב המתודות, יישמתי התחברות למערכת ע"י facebook connet, twitter, google וכו' (מאוד פשוט, אכתוב על זה פוסט בקרוב, בעיקר על השגיאות שעשיתי, כדי שאחרים לא יחזרו עליהן)

לרשומה המלאה

שייך לקטגוריות: בניית אתרים, ריילס, תכנות | תוייג , , | השאר תגובה

קצת מיתוסים על אדסנס (והניפוץ שלהם)

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

מיתוס #1 – רק אתרים גדולים יכולים להרוויח מפרסומות של גוגל

טעות בידכם! גם אתרים קטנים יכולים להרוויח מאדסנס. אמנם לא הרבה, אבל זה בהחלט יכול לכסות את הוצאות האכסון של האתר ולהשאיר קצת רווח בידיים. אתרים שלי מכניסים לי בממוצע 20-30$ בחודש, כשבאף אחד מהם אין יותר מ-40 כניסות ביום, ואין שום סיבה שגם אתם לא תרוויחו ככה.

לרשומה המלאה

שייך לקטגוריות: אתרים, בניית אתרים, עסקים מקוונים, פרסום, קידום אתרים | 4 תגובות

כמה דברים בסיסיים שצריך לזכור כשבונים אתר (ורוצים שמישהו ידע עליו)

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

בגדול, אנחנו מדברים על הדגשים הבאים:

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

ידוע שתוכן הוא המלך. זה ברור לכולנו. אבל חוץ מתוכן איכותי, ישנם כמה דברים חשובים מאוד בתהליך בניית אתר אינטרנט שרבים מאבדים בדרך

לרשומה המלאה

שייך לקטגוריות: בניית אתרים, קידום אתרים | תגובה אחת

כמה קשה זה להקים אתר חדש

בשעה טובה ומוצלחת הוצאתי לאוויר את sir.co.il – אתר הכרויות חינמי.

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

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

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

אבל מה אני לומד מכל העסק?

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

  1. להשיק לאט ובזהירות – המערכת יכולה להכיל באגים שפיספסנו. משתמשים שמסתובבים ברחבי האתר ומחפשים מה לעשות עם עצמם הם בהחלט גלאי הבאגים הטובים ביותר. רובם המכריע לא יטרח להגיד לנו על הבאג, אבל אם זה משהו ברמה של "השמיים נופלים ואני מקבל error 500" אז אפשר לראות את המקור לבאג בלוגים של המערכת.
  2. לקרוא את הלוגים – אני ישבתי וגירדתי את פדחתי כשהיו לי בערך 50 משתמשים רשומים ואף הודעה לא עברה ביניהם. אחרי שהורדתי את הלוגים הבנתי שפשוט שכחתי לבדוק אם משתנה כלשהו מכיל תאריך לפני שבדקתי שהתאריך לא רחוק מידי מהיום. קריאה קבועה של הלוגים ובדיקה של המקור לשגיאות בצד שרת יכולה לפתור הרבה בעיות.
  3. להקשיב לגולשים – המעט שטורחים להגיב ולהציע הצעות בדרך כלל נותנים הצעות מאוד טובות. כדאי להקשיב להם. כמובן שיש כמה כאלה, אבל רוב האנשים שמספיק נחמדים כדי להגיב שווים את זה.

אם נעשה את כל אלה, סביר להניח שהכל יסתדר באיזשהו שלב…

אני מקווה.

שייך לקטגוריות: אתרים, עסקים מקוונים | 2 תגובות

האקרים פלסטיניים שמאלנים – או: כמה קל זה לפרוץ לאתר?

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

קובץ ה-index שלו הוחלף לקובץ שבין השאר מכיל את התמונה הזו, משמאלנו, מה שמרמז על כך שההאקר שעשה את זה כנראה פלסטיני, אבל גם שמאלני, מה שמוזר אבל טוב. אגב, מי שעשה את זה היה מספיק נחמד כדי להעתיק את קובץ ה-index המקורי לקובץ בשם index-old וכך למעשה מנע את הנזק שיכל היה לקרות.
העניין שעניין אותי זו הקלות הבלתי נסבלת של הפריצה. הססמאות שהיו מוגדרות על החשבונות היו 123456 ו- t3r4e5 (שימו לב למיקום הנוח של האותיות והמספרים על המקלדת שהופך את הססמא השנייה לפופולרית מאוד) כך שכל מה שהוא היה צריך לעשות זה לנחש את שם המשתמש (שבמקרה היה שמו של הבחור, שמופיע בעמוד הראשי של שני האתרים) ולהתחיל לנחש ססמאות דביליות. אני מתאר לעצמי שזה לקח לא יותר מחמישה נסיונות…

מוסר ההשכל – גם אתרים שאין בהם יותר מידי חשיבות (לשני האתרים ביחד ישנם ביום טוב 60 מבקרים) מועדים לפורענות, ואסור להקל ראש בפרצות אבטחה אלמנטריות!

שייך לקטגוריות: אבטחה, בניית אתרים, כללי, תכנות | 2 תגובות

איך גיא קיוסאקי הוציא 5,000 דולר כדי לגרום לאשה בת 40 להידלק…

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

למי שמתעניין – שווה להירשם לבלוג שלו.

שייך לקטגוריות: כללי, עסקים מקוונים, פרסום | תגובה אחת

גוגל מ-פ-ח-ד-י-ם.

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

גוגל, לעומתה, היא האיש הטוב. גם על השיטה הזו חונכנו בחמש השנים האחרונות, גדלנו להאמין לה והחלטנו שזו האמת המוחלטת.

אז מיקרוסופט הציעה 44.6 מליארד דולר על יאהו. ומיד כולם קפצו להיכון כדי לראות מה יקרה… לרשומה המלאה

שייך לקטגוריות: כללי | השאר תגובה

מה זה Ruby on Rails? (או: למה אבני אודם צריכות פסי רכבת?)

נתחיל בשאלה הבסיסית:

מה זה רובי?

רובי היא שפת תכנות מונחית עצמים שיצאה לאוויר העולם בשנת 1995 בפעם הראשונה. כשאני אומר שפת תכנות מונחית עצמים אני מתכוון שכל דבר ברובי הוא object. גם המשתנה הפשוט ביותר.

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

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

אני לא ארחיב, אם תרצו, תקראו על השפה יותר כאן. לרשומה המלאה

שייך לקטגוריות: כללי, מה זה | 6 תגובות