הבלוג של ארתיום :: WordPress בעברית http://artyom.cppcms.com/ בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא! תולדות הבלוג שלי (בעקבותיו של שלומי). http://artyom.cppcms.com/post/175 http://artyom.cppcms.com/post/175 <div style="direction:rtl"> <p><a href="http://sijp.no-ip.info">שלומי ישראל</a> (הידוע כ־sijp) <a href="http://sijp.no-ip.info/node/269">העביר לי משימה</a> לכתוב בנושא "תולדות הבלוג שלי". בד"כ אני לא מתפתה להשתתף בשרשורי משימות כאלה, אבל הפעם, החלטתי שהנושא מספיק מעניין.</p> <p>הכל התחיל לפני יותר משנתיים, כאשר פרסמתי את <a href="http://art-blog.no-ip.info/newpress/blog/post/4">הכתבה הראשונה שלי</a>. אז התקנתי מערכת בלוגים <a href="http://wph.co.il/">WordPress בעברית</a> הסטנדרטית שהייתה אז עוד בגרסה 2.0.7. המערכת הייתה מאוד נחמדה והשתמשתי בה הרבה מאוד זמן.</p> <p>התכנון המקורי היה להתרכז בשני נושאים:</p> <ol> <li><a href="http://art-blog.no-ip.info/newpress/blog/cat/2">סלסה וריקוד</a> ולהחליף <a href="http://art-blog.no-ip.info/newpress/blog/page/7">פרסום כתבות</a> באתר <a href="http://www.lamusica.co.il">LaMusica.co.il‏</a>‏ בכתיבה בבלוג שלי.</li> <li>להתחיל לכתוב בנושא תכנה חופשית</li> </ol> <p>לצערי, הנושא הראשון, בסופו של דבר, הסתכם במספר מצומצם של כתבות, כך שהבלוג הפך לבלוג מחשבים כמעט טהור; ובסביבות אוקטובר 2007, הוא זכה להיכנס ל־<a href="http://planet.linux.org.il/">planet.linux.org.il‏</a>.</p> <p>במקביל התחלתי לפתח טכנולוגיית web חדשה --- <a href="http://art-blog.no-ip.info/newpress/blog/cat/25">‏CppCMS‏</a>; ובדצמבר 2007, פתחתי <a href="http://art-blog.no-ip.info/cppcms/blog">בלוג נוסף באנגלית</a>, שהיה אמור לשמש אותי לשתי מטרות:</p> <ol> <li>בניית פלטפורמת הניסוי של הטכנולוגיה החדשה</li> <li>פרסום מידע אודות CppCMS לקהל שלא מדבר בעברית.</li> </ol> <p>יחד עם התקדמות הפרויקט, מערכת הבלוגים הפכה ליותר ויותר בשלה. במאי 2008 החלטתי <a href="http://art-blog.no-ip.info/newpress/blog/post/135">להיפרד מוורדפרס</a> ולהחליפו במערכת החדשה. מאד הבלוג הזה רץ על טהרת C++‎.</p> </div> על חשיבותם של trackback־ים. http://artyom.cppcms.com/post/154 http://artyom.cppcms.com/post/154 <div style="direction:rtl"> <p>פתחתי את הבלוג לפני יותר משנתיים ובאחת <a href="http://art-blog.no-ip.info/newpress/blog/post/16">כתבות הראשונות</a> התייחסתי למאמר של <a href="http://www.xslf.com/">שושנה פורבס</a> והיא שאלה אותי: "מדוע לא שלחת לי trackback?" אז לא הייתי מודע לנושא ההפניות לכתבות בין בלוגים שונים ולחשיבות שלהן. היום אני מקפיד לשלוח tackback לכל כתבה שאני חושב שההפניה צריכה להגיע אליה.</p> <p>מה זה <a href="http://en.wikipedia.org/wiki/Trackback">trackback‏</a><sup><a href="#ref1">1</a></sup>? זהו מנגנון שמאפשר לבלוגר להודיע לבלוג אחר על כך שהוא מתייחס לאליו בכתבה שלו. מבלבל? אז נראה דוגמה שתבהיר את הכל:</p> <p>יוסי מפרסם בבלוג שלו כתבה מעניינת בנושא מרתק: "הנמלה השחורה בדרום הודו". איציק, מפרסם כתבה על "נמלים בדורם הודו" ובין השאר מפרסם קישור/מתייחס לכתבה של יוסי בנושא קרוב אליו -- הנמלה השחורה. איציק שולח לבלוג של יוסי trackback שאומר:</p> <blockquote><p>שלום יוסי,</p> <p>אני פרסמתי כתבה בנושא "נמלים בדרום הודו" והתייחסתי לכתבה שלך: "הנמלה השחורה בדרום הודו". אם איכפת לך, אתה יכול להסב את תשומת ליבם של קוראי הבלוג שלך לכתבה שלי, אולי הנושא "נמלים בדרום הודו" יכול לעניין אותם.</p> <p>בכבוד רב, איציק.</p></blockquote> <p>כאשר יוסי, מקבל "הפניה כזו", הוא מפרסם בתגובות לבלוג שלו, קישור לכתבה של איציק ועכשיו, קוראי בלוג שלו, יכולים לקרוא בהרחבה על נושא הנמלים.</p> <p> <a href="/post/154">המשך...</a> </p> </div> רגע האמת... האם C++‎ באמת נתן יתרון בתחום Web? http://artyom.cppcms.com/post/141 http://artyom.cppcms.com/post/141 <div style="direction:rtl"> <p>אחרי כמעט חצי שנה של פיתוח תשתית C++‎ לפיתוח מערכות התוכן, אני מתקדם לגרסת <a href="http://art-blog.no-ip.info/cppcms/blog/post/15">בטא הראשונה</a>. למעשה כל הרכיבים שתכננתי עבורה מוכנים והדבר היחיד שעוצר אותי בפני הכרזה על גרסת הבטא הראשונה זה חוסר תיעוד שעדיין אני צריך להכין.</p> <p>המטרה של הפרויקט הייתה ליצור תשתית לפיתוח יעיל ומהיר ל־Web ב־C++‎ -- שפה שלא נפוצה בתחום זה, על מנת לקבל ביצועים יוצאים מן הכלל. בדרך גם למדתי הרבה על תשתיות דומות אחרות ועכשיו הכנתי השוואה ביצועים בין שתי מערכות:</p> <ol> <li>מערכת בלוגים פופולרית WordPress בעברית</li> <li>הבלוג שכתוב על בסיס CppCMS -- למעשה הבלוג הזה.</li> </ol> <p>WordPress נבחרה בגלל ההכרות המצוינת שלי אתה ויכול להוציא ממנה את מירב הביצועים האפשריים שניתן לקבל בעזרת שפות תכנות דינמיות טיפוסיות כמו PHP.</p> <p>המערכות הוגדרו ככה:</p> <ol> <li>שרת אינטרנט lighttpd 1.4.13</li> <li>ממשק שרת FastCGI</li> <li>‏PHP גרסה 5.2.</li> <li>‏Opcode Cache של PHP נעשה ע"י XCache 1.2.1</li> <li>בסיס הנתונים MySQL 5.0.‏</li> <li>תוסף caching עבור WordPress:‏ WP-Cache-2 עם <a href="http://art-blog.no-ip.info/newpress/blog/post/140">הטלאי שלי</a> שמשפר את הביצועים שלו בעוד כ־60%.</li> <li>מערכת CppCMS עם ניהול ה־cache בזיכרון.</li> <li>חומרה: AMD Athlon XP 3000+ 64bit, 1G RAM</li> <li>מערכת הפעלה: Debian Etch 64 bit.</li> </ol> <p> <a href="/post/141">המשך...</a> </p> </div> טלאי ל־WP-Cache-2 http://artyom.cppcms.com/post/140 http://artyom.cppcms.com/post/140 <div style="direction:rtl"> <p>בקרוב אני הולך לבצע סדרה כבדה של השוואות ביצועים בין WordPress -- המערכת שאני מכיר אותה טוב על כל בעיותיה מול המערכת שבניתי על בסיס CppCMS.</p> <p>מערכת ה־cache שפיתחתי עבור CppCMS היא די חכמה, היא שומרת כל דף בשני עותקים: אחד HTML המקורי והשני אותו דף דחוס עם gzip. זה מאפשר לשלוף דפים בצורה מאוד מהירה ולהעביר אותן לשרת בלי לבצע דחיסה מחדש.</p> <p>מאחר ואני רוצה לבצע השוואה הוגנת, בדקתי את התוסף <a href="http://mnm.uib.es/gallir/wp-cache-2/">WP-Cache-2</a> שמאיץ את WordPress בצורה משמעותית וגילית שהוא שומר את הדפים רק כ־HTML ולכן, בכל פעם כשהדף נשלף מזיכרון מטמון הוא עדיין עובר דחיסה ע"י PHP או Apache. וזה גוזל הרבה משאבים.</p> <p>כתבתי <a href="http://art-blog.no-ip.info/files/wp-cache.patch">טלאי</a> עבור התוסף ששומר כל דף בשני עותקים: מקורי ודחוס ומחזיר את הסוג הנדרש לפי בקשת הלקוח. הטלאי שיפר את הביצועים בכ־60%: עם התוסף המקורי WP היה מסוגל לספק כ־450 שאילתות בשנייה, אחרי הטלאי המספר הזה עלה לכ־720.</p> <p><strong>נ.ב.:</strong> בדיקות ביצועים של CppCMS יבואו בקרוב.</p> </div> טיפים לבעלי "אתרים ביתיים" http://artyom.cppcms.com/post/139 http://artyom.cppcms.com/post/139 <div style="direction:rtl"> <p>החזקת אתר אינטרנט בבית <a href="http://art-blog.no-ip.info/newpress/blog/post/15">מאוד נוחה</a>: היא פותחת מגוון רחב של אפשרויות, גישות לכל טכנולוגיות אפשריות ללא מגבלות הספק וכל זה במחיר מאוד נמוך. אבל, גם לפתרון הזה יש חסרון משמעותי --- רוחב הפס.</p> <p>רבים, שמעלים אתר אינטרנט בבית ואפילו מחזיקים אותו הרבה שנים כמו <a href="http://sijp.no-ip.info/">שלומי ישראל</a>, לא מועדים בעיה העיקרית: אטיות של אתרים כאלה. העניין הוא שהבעיות האלו ניתנות לפתרון יחסית בקלות. ובכן נתחיל.</p> <p> <a href="/post/139">המשך...</a> </p> </div> על Trackback, Pingback ועל API (הלא כל־כך) ידידותי http://artyom.cppcms.com/post/137 http://artyom.cppcms.com/post/137 <div style="direction:rtl"> <p>אם אתם לא שמתם לב, הוספתי תמיכה ב<a href="http://en.wikipedia.org/wiki/Trackback">טראקבק</a> לבלוג שלי. חייב להגיד, שהמשימה לא הייתה פשוטה.</p> <p>בהתחלה דווקא רציתי לממש את <a href="http://en.wikipedia.org/wiki/Pingback">פינגבק</a> שלפי דברי ויקיפדיה פחות בעייתי מבחינת spam וגם קראתי את <a href="http://ln.hixie.ch/?start=1033171507&amp;count=1">הכתבה</a> המשבחת את מנגנן הפינגבק ומבקרת את מנגנון הטראקבק.</p> <p>אז בהתחלה החלטתי ליישם את הראשון. התחלתי לקרוא את <a href="http://hixie.ch/specs/pingback/pingback">הספציפיקציות</a></p> <p>וכאן מתחיל הסיפור</p> <p> <a href="/post/137">המשך...</a> </p> </div> להתראות WordPress. http://artyom.cppcms.com/post/135 http://artyom.cppcms.com/post/135 <div style="direction:rtl"> <p>החלפתי את מערכת התוכן של הבלוג שלי למערכת שכתובה ב־C++‎. היו לזה הרבה סיבות, והעיקריות הן:</p> <ol> <li>וורדפרס הפך ליותר שמן ופחות נוח. ממשק הניהול שלו הפך לכבד, כבר היה לי קשה לסבול את המורכבות שלו, גם כל מיני באגים ונקודות קטנות הציקו לי. למרות שמאוד אהבתי את מערכת התוכן הזו (בסה"כ היא עזרה לי להקים בלוג ב־10 דקות עבודה), החלטתי שמספיק... צריך להתקדם.</li> <li>הסיבה השניה והעיקרית היא הרצון להשתמש בכלים שפיתחתי "בבית". אם אני מנסה לקדם טכנולגיה לפיתוח <a href="http://art-blog.no-ip.info/cppcms/blog">אתרי־איטנטרנט</a>, אז ראוי שהבלוג שלי ישתמש בה. לכן, החלטתי להגר.</li> </ol> <p> <a href="/post/135">המשך...</a> </p> </div> הבעיה של הקישורים היפים http://artyom.cppcms.com/post/134 http://artyom.cppcms.com/post/134 <div style="direction:rtl"> <p>אני התחלתי להבין, שרעיון של "הקישורים היפים" כמו http://site.com/article/about_cats לא הרבה יותר טוב מקישורים עם מספר הכתבה כמו http://site.com/article/234... למה? כי בכל מקרה אף אחד לא קורא את הקישור אלא סתם מדביק אותו במקום כלשהו.</p> <p>אז מה? בכל מקרה, זה יותר קריא כשמופיע about_cats במקום 234... זה נכון למעט המקרים בהם זה לא עובד. כשיום אחד בטעות תכתוב about_kats, כל מי שינסה להקליד את הקישור לכתבה מהזיכרון, ככל הנראה לא יצליח. מה שעוד יותר גרוע, שגיאת הכתיב הזו תישאר לאורך כל חיי הבלוג ותעיד על הבורות של הכותב, כי פשוט אתה תצטרך לשמור עליה, על מנת לא לשבור קישורים נכנסים...</p> <p>דוגמה טובה מהבלוג הזה: web_filtering_low --- כנראה הסינון שלי תמיד יישאר נמוך ;)</p> </div> לא כל העולם כותב באנגלית http://artyom.cppcms.com/post/127 http://artyom.cppcms.com/post/127 <div style="direction:rtl"> <p>רוב מערכות התוכן ופילטרים חכמים כוללים רכיבים שהופכים את המירכאות <class style="font-size: 2em;">"</class>הרגילות<class style="font-size: 2em;">"</class> למירכאות של <class style="font-size: 2em;">“</class>אנגלית<class style="font-size: 2em;">”</class> -- המסולסלות. הבעיה היא שהמירכאות האלה רלוונטיות רק לאנגלית.</p> <p>ברוסית וצפרתית, למשל,משתמשים במירכאות «כאלה», בגרמנית משתמשים בזוג „כזה“ ובעברית משתמשים בזוג "רגיל". כך שהמנגנון החכם שהופך את המירכאות לזוג שיש באנגלית הוא פשוט לא נכון, כמעט בכל מקרה, חוץ מכתיבה באנגלית.</p> <p>אבל המצב די מעצבן, אם אני למשל, רוצה לוקחת תוסף SmartyPants כתוספת ל-Markdown שהופך שלוש נקודות ל-"…" ושני מינוסים לקו-מפריד "---", אז אתה מקבל גם מירכאות, כנ"ל גם מפתחי WordPress <a href="http://trac.wordpress.org/ticket/5518">סירבו</a> לאפשר הפעלה או ביטול של מירכאות חכמות לפי הדרישה (התיקון יש רק בגרסה עברית של רן). כמובן שיצא לי להיתקל בבעיה הזו בעוד הרבה מקומות, שברוב המקרים אם אתה רוצה לשנות את ההתנהגות אתה צריך לכתוב טלאים.</p> <p>בקיצור, אם אתם מכירים מערכות תוכן, פילטרים או רכיבים אחרים שמשתמשים במירכאות חכמות כברירת מחדל, תציקו למפתחים שלהם, אולי הם יפעילו אותם כאופציה והאינטרנט ייראה קצת יותר טוב, גם כשלא מדובר באנגלית.</p> </div> תוסף "Markdown Extra" ל-WordPress שלך. http://artyom.cppcms.com/post/120 http://artyom.cppcms.com/post/120 <div style="direction:rtl"> <p>אחד הדברים המעצבנים בעיני במערכת WordPress זה עורך ה-WYSIWYG שהוא משתמש בה: <a href="http://tinymce.moxiecode.com/">TinyMCE</a>. הבעיה העיקרית שלו היא שאתה לא בדיוק יודע מה קורה עם הטקסט שלך. אתה לא רואה את זה, כמו בכל כלי WYSIWYG אחר. עם תוספת של עברית, כיווניות, קטעי הקוד ודברים נחמדים אחרים הוא הופך לבלתי נסבל<a href="%D7%AA%D7%96%D7%9B%D7%A8%D7%95">^1</a>.</p> <p>בסופו של דבר, מצאתי תוסף נחמד <a href="http://michelf.com/projects/php-markdown/extra/">Markdown Extra</a> שמאפשר לעשות עריכה הרבה יותר נוחה של התוכן. בגלל שהסימנים בהם משתמש Markdown, הם סימני פיסוק רגילים אין שום בעיה שילוב שלהם בתוך עברית בלי לפגוע בכיווניות.</p> <p>יותר מזה, בגלל ששדה העריכה הופך לטקסט רגיל במקום HTML אז ניתן במקרים מסובכים פשוט הפוך את כיווניות טופס ע"י (קליק ימני switch text direction ב-Firefox או Clrl+Shift פשוט בקונקי).</p> <p>כמו כן, ב-<a href="http://michelf.com/projects/php-markdown/extra/">Markdown Extra</a> יש תמיכה בהערות שוליים ובטבלאות, די נוח להכניס קישורים (כי ניתן לזרוק את כולם לסוף) ובגדול, זה הרבה יותר נחדש לאלו שמעדיפים לשלוט על איך שהתוכן ייראה, במקום לתת את זה לעורך "העשיר" שלכם.</p> <h4>כיצד להתקין?</h4> <p>תורידו את ה-תוסף ותשימו את קובץ markdown.php בתיקית plugins. תבטלו את העורך העשיר ב"משתמשים->פרופיל שלך->עורך ויזואלי", תפעילו את התוסף וזהו. עכשיו ניתן לעבוד עם markdown.</p> <p><em>אולי טיפ קטן לסוף</em>: תערכו את style.css של ערכת הנושא שלכם ותוסיפו שורה</p> <pre><code> pre { direction: ltr } </code></pre> <p>על מנת שהקוד שתרצו אי פעם להכניס לפוסטים שלכם אוטומטית יוצג עם כיווניות נכונה.</p> </div>