קטגוריה: מדריך

פודקאסטים שאני מקשיב להם

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

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

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

אני מחלק אותם למספר סוגים (אין חשיבות לסדר):

פודקאסטים טכניים:

להמשיך לקרוא

regular expression על קצה הפוסט – חלק ראשון

עולם המתכנתים מתחלק לשלושה חלקים:

  1. אלו אשר משתמשים ב Regex‏
  2. אלו אשר שמעו על Regex‏
  3. אלו שחושבים שאני מקלל אותם כרגע

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

Regular Expression או Regex כקיצור, זו למעשה שפה המאפשרת לתאר תבנית מסויימת של טקסט שרוצים למצוא או לשנות.

ישנן הרבה מימושים לשפה, כאשר כל מימוש מספק יכולות שונות – בעיקר תוספות למימוש הבסיסי ביותר. אחת הידועות ביותר נקראת Perl Compatible Regular Expression או PCRE בקיצור .אך התקן הבסיסי ביותר שיש עבור השפה, בכלל שייכת לPOSIX.

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

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

למשל, במידה ואנחנו בהכרח יודעים כי המחרוזת תראה כך:

Hello World

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

^([\w]+)\s([\w]+)$

נראה כמו ג'יבריש אני יודע. בפוסט הבא אסביר גם מה המשמעות.
המראה הבסיסי של השפה מתארת מספר דברים: להמשיך לקרוא