הבלוג של ארתיום :: אינטרנט http://artyom.cppcms.com/ בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא! 1984 הדיגיטלי http://artyom.cppcms.com/post/326 http://artyom.cppcms.com/post/326 <div style="direction:rtl"> <p>בעקבות פרשת טראמפ, החלטתי להבין מה קרה שם בגבעת הקפיטול. לא מהפרשנים אלא מהמקור. מה הייתה ההסתה לכאורה שגרמה להמון משולהב להתפרץ. פתחתי גוגל: trump capitol speech, הגעתי למלא פרשנויות אבל לא למקור. שיניתי גרסאות החיפוש אותה תוצאה... מוזר. פתחתי bing בקישור השני מצאתי וידאו מלא. זה צרם לי אבל המשכתי הלאה. ראיתי ש־twitter החזירו את החשבון לעת עתה.</p> <p>היום מדברים בחדשות שהחשבונו נחסם לצמיתות. מעניין. Googe: twitter trump. מגיע לעשרות כתבות של חדשות על חסימת חשבון - אבל לא הקישור לחשבון עצמו. הפעם אני פותח bing במידי ובקישור הראשון אפשר למצוא את חשבונו החסום - ממקור ראשון. הפעם האסימון נפל.</p> <p><img src="https://upload.wikimedia.org/wikipedia/en/c/c3/1984first.jpg" alt="1984 מויקיפדיה" /></p> <p>זוכרים את תפקידו של וינסטון ב־<a href="https://tinyurl.com/y4jke8hm">1984</a>? הוא היה אחראי על שיפוץ עיתונים ישנים ומחיקת היסטוריה לא רצויה. אם לא קראתם את הספר עד עכשיו - הזמינו אותו מיד. אז מסתבר גם גוגל התאימו את המציאות. הרי זה ידוע - אם אתה לא בגוגל אתה לא קיים! אחד כלי המחקר האינטרנטי - שנותן לנו בעצם גישה לאינסוף מידע ודיעות, עוזר למצוא מקורות הוא מונע את המידע.</p> <p>עד היום לא הסתמכתי על כלי תקשורת אחד כדי לגבש עמדה על משהו חשוב - כי ידוע לכל כלי תקשורת יש אג'נדה משלו. לכן תמיד הסתכלי במספר דיווחים משני צידי המתרס. ידיעות וישראל היום. ערוץ 13, 12 ו־20 ואם הנושא חשוב באמת הייתי מחפש את המקורות - למשל קראתי את פסק דינו של אלאור אזריה. צפיתי בשידורי הבג"ץ בנושא חוק הלאום. כי לא סמכתי על פרשנויות.</p> <p>אבל עד עכשיו הנחתי שחיפושים בגוגל יביאו אותי לתוכן הרצוי. מסתבר גם פה - אין להסתמך על ספק יחיד. תארו לעצמכם אם בחיפוש בגוגל אחרי פרשת תיק 4000 או המימד החמישי - כל התוצאות הראשוניות היו מביאות אותי ל"אין כלום כי לא היה כלום" או להפך "הינה הוכחה לשחיתות"... כוח עצום. כוח משחית!</p> <p>ובעיקר מטריד...</p> <p>טוב, מזל שכבר פיתחתי הרגלי הצלבת מקורות. עכשיו אצטרך גם להצליב מנועי חיפוש. האמת לא ציפיתי. ציפיתי שאין לצפות לפרטיות מגוגל או פייסבוק. אבל לא ציפיתי להטיה מכוונת שלא קשורה לנושאים מסחריים כמו קידום מוצרים.</p> <p>טוב אז מאין תבוא הישועה? bing? duck-duck-go? yandex? יש עוד אלטרנטיבות?</p> <p>מישהו מכיר מנוע חיפוש מבוסס FOSS?</p> <p><em>התמונה נלקחה מויקיפדיה</em></p> </div> רשת חברתית חופשית או פעם זה היה אחרת http://artyom.cppcms.com/post/325 http://artyom.cppcms.com/post/325 <div style="direction:rtl"> <p>לאחרונה חסמו לדונלד טרמפ את חשבון הטוויטר שלו. לא אתייחס כאן לסוגיית חופש הביטוי ואם התנהגותו של טרמפ הולמת פחות או יותר מהציוצים של חומייני, פוטין או רבים וטובים אחרים. הרי מדובר בפלטפורמה פרטית של חברה פרטית שזכותה להחליט על תנאי השימוש שלה ולקבוע את האג'נדה שלה. כך גם פייסבוק ועוד כלים נפוצים אחרים.</p> <p>בסופו של דבר אנחנו נקבע במה נרצה להתשמש ונצביע ברגליים בעד או נגד התנהגותה של חברה כזו או אחרת.</p> <p>אבל מה... אנחנו בעצם נעולים. אם אין לך twitter או facebook או פלטפורמה נפוצה אחרת אתה לא תגיע לקהל היעד שלך. בעצם מספר רשתות חבריות שולטות בשוק ובעלות כוח רב בהשפעה על דעת הקהל וחשיפה של אנשים כאלה ואחרים. זה לא חדש. עוד מתחילת עידן הפייסבוק ראיתי כיצד הוכחדו מספר טכנולויות של רשתות חברתיות של פעם. כי באמת פייסבוק נתן פלטפורמה זמינה ונוחה ובעלת רף כניסה מאוד־מאוד נמוך למשתמש קצה. אבל מה האלטרנטיבות שהיו ונכחדו?</p> <h2>בלוגים</h2> <p>פעם אנשים שרצו להגיד משהו כתבו בלוגים. בלוגרים אחרים הגיבו לכתבות אחרות. ציטטו וקיבלו ציטוטים של אנשים אחרים. היה מנגנון מבוזר שאפשר לקשר בין הבלוגים. היה נהוג שבלוגר שמגיב לבלוג של מישהו אחר משאיר את הקישור לבלוג שלו. חלקם ניהלו מקבצי rss-feed של בלוגים שעקבו אחריהם.</p> <p>מוכר? נכון - זה ממש כמו פייסבוק! רק במספר הבדלים</p> <h4>הקמת בלוג הייתה עניין לא טריוויאלי שדרש רצינות חשיבה וכתיבה יחסית מסודרת</h4> <p>בד"כ אנשים לא פרסמו "מאמרים" בסגנון</p> <blockquote><p>בוקר - 16 גרביים - אף זוג 😕</p> <p>ייצור חבילות גרביים בה כל זוג שונה מאחרים צריכה להיות מוגדרת בחוק כהתעללות בבני אדם</p></blockquote> <p>אלא השקיעו בתוכן איכותי. ומה הקמת בלוג לא הייתה עניין מסובך אבל גם לא משהו פשוט.</p> <h4>היה קשה ליצור קשרים חברתיים</h4> <p>היה הרבה יותר קשה להגיע לכל החברים שלך שהיו מתעניינים בדעות שלך (גם אם אלו דעות על גרביים). בפייסבוק אוטומטית, חלק ניכר ממכריך עם גם העוקבים שלך. בבלוגים היה צריך לגרום לאנשים אחרים להוסיף אותך ל־rss-feeder שלהם - וכמובן שרוב רובם לא ניהלו כאלה.</p> <h4>ברוב הפלטפורמות הפתוחות התוכן היה שלך</h4> <p>אם פתחת בלוג ב־wordpress יכולת להוריד את התוכן/גיבוי בכל רגע ולהעביר אותו לשרת wordpress פרטי - זה אומנם לא שיטה פשוטה למשתמש ביתי, אבל כל דמות חשובה ומשפיעה הייתה יכול לעשות זאת. ולכן הדרך היחידה להוריד את הבלוג מרשת היה בעזרת צו בית המשפט - לטוב ולרע.</p> <h2>פורומים</h2> <p>לפני קצת יותר מעשור פורומים היו בשיאם. אפשר היה ליצור קבוצות דיון. אנשים הסתכלו וכתבו. פורומים היו מנוהלים בצורה זו או אחרת.</p> <p>ההקמה של פורומים הייתה קשה ומסובכת (עשיתי זאת פעם). אבל אפשר היה גם להקים פורום בפלטפורומות פתוחות אבל זה היה פחות נפוץ.</p> <p>גם זה פייסבוק הרג - והאמת לא הביא תחליף ראוי. כדוגמה שכאבה לי אישית - היו מספר פורומים בתחום סלסה בארץ עם תוכן איכותי מעניין ודיונים מרתקים. כולם כמובן נמחקו הוזנחו לאחר הופעת פייסבוק.</p> <h2>אז מה אפשר לעשות מלבד לדבר על זכרונות הימים שעברו?</h2> <ol> <li>להחזור ולכתוב בפלטפורמות פתוחות כמו בלוגים ולהפנות אליהם מפייסבוק טוויטר ורשתות אחרות על מנת שהתוכן יישאר פתוח ויהי מה.</li> <li>להקים פרוטוקולים וסטנדטים להחלפת מידע ביו הבלוגים וייבוא/ייצוא מידע. כבר יש תשתיות לזה ופרוטוקולים קיימים - צריך לחדש ולהתאים אותם לדור הנוכחי</li> <li><p>לתת לשוק להקים פלטפורומות מתחרות שעובדות על בסיס המידע החופשי והזמין שיהיה</p> <ul> <li>קל להתחיל - לכל אחד</li> <li>לק לעבור מפלטפורמה אחת לשניה - על ידי דרישה לעמידה בתקנים חופשיים ומבוזרים</li> </ul> </li> </ol> <p>מי מרים ו/או הרים כבר את הדגל?</p> </div> שוחררה גרסה יציבה 1.0.0 של CppCMS המופצת תחת רישיון כפול http://artyom.cppcms.com/post/305 http://artyom.cppcms.com/post/305 <div style="direction:rtl"> <p>היום, אחרי מספר שנות פיתוח, שוחררה גרסה יציבה של CppCMS 1.0.0, אחרי תקופה ארוכה של גרסאות בטא. הגרסה הזו מהווה אבן דרך משמעותית בהתפתחות של CppCMS, הן מבחינה טכנולוגיות והן מבחינה עסקית.</p> <p>החל מגרסה 1.0.0, ספריית CppCMS תהיה זמינה תחת רישיון חופשי LGPLv3 ותחת רישיון מסחרי שיאפשר פיתוח יישומים קנייניים תוך שמירה על שלמות המוצר והגנה על הסודות המסחריים שלו.</p> <p>למידע נוסף על הרישוי החלופי והמחירים אנא כנסו לאתר שלנו:<br/> <a href="http://commercial.cppcms.com">http://commercial.cppcms.com</a></p> <p>גרסה זו, עברה שכתוב יסודי ושינויים ארכיטקטוניים עמוקים שהזניקו את הפופולריות שלה מיד עם שחרור גרסאות בטא ראשונות. מבין החידושים הטכנולוגיים:</p> <ul> <li>הכנסה של API ו־ABI יציבים</li> <li>תמיכה מובנית ב־Ajax ו־Comet</li> <li>שיפורים מהותיים בלוקליזציה</li> <li>תמיכה מובנית ב־Windows</li> <li>שיפורים משמעותיים באבטחה: מסנני XSS וכלים למניעת CSRF ועוד.</li> <li>שרת HTTP מובנה לפיתוח ומערכות משובצות</li> </ul> <p>הענף הישן יציב CppCMS 0.0.x לא נתמך יותר. כל משתמשיי הענף הישן מתבקשים לעבור לגרסה החדשה. יש לציין, לא ידוע לי על משתמש אחד שנשאר עם הגרסה הישנה.</p> </div> על nginx ועל symbolic links http://artyom.cppcms.com/post/304 http://artyom.cppcms.com/post/304 <div style="direction:rtl"> <p>בעקבות <a href="http://oc666.net/2012/01/31/nginx-htaccess-replacement/">הכתבה</a> של <a href="http://oc666.net">עופר כהן</a> הגעתי ל<a href="http://wiki.nginx.org/LikeApache-htaccess">טבלת השוואה</a> מעניינת בין Apache לבין nginx. מה שהפתיע אותי זה שכדי להעביר קובץ <code>http://example.com/site/files/images/layout/header.png</code> השרת nginx מבצע קריאת stat בודדת. הטבלה עשתה השוואה עם apache שעשה O(n)‎ קריאות עבור תיקיה בעומק n לעומת O(1)‎ עבור nginx...</p> <p>ברגע שראיתי את זה נדלקה לי נורת אזהרה! מה עם symbolic links?</p> <p>הסבר: נניח אני איצור קישור סימבולי בשם mypicture.png שיפנה ל־‎/etc/passwd או לקובץ רגיש אחר, אז ע"י גישה לקובץ תמים אני אוכל לקרוא כל קובץ שיש לשרת web הרשאות לקרוא.</p> <p>לכל השרתי web יש אופציה לא לעקוב אחרי קישורים כאלה מטעמי אבטחה וזאת גם אופציה מומלצת לעבודה. מה חשוב, זה שבלתי אפשרי לעשות בדיקה כזו ב־O(1)‎ קריאות מערכת ההפעלה (לפי עומק התיקיה).</p> <p>אז החלטתי לבדוק בעזרת strace, כמה קריאות stats בפועל מבצעים apache,‏ lighttpd ו־nginx כשהאופציה כזו מופעלת וגיליתי... ש־nginx <em>בכלל לא תומך באופציה כזו</em>! קרי הגדרת אבטחה בסיסית ש<strong>כל</strong> שרת אינטרנט החל מ־apache ועד ל־thttpd תומכים בו (אגב גם השרת הפנימי של cppcms) בכלל לא מופיעה בו!</p> <p><a href="http://forum.nginx.org/read.php?21,218970,219019">התשובה</a> (רוסית) של מפתח nginx היא להשתמש ב־<code>mount -o nosymfollow</code> עבור מערכת הקבצים כדי לעקוף את הבעיה.</p> <p>חבל...</p> </div> Nginx? תודה לא... Lighttpd http://artyom.cppcms.com/post/303 http://artyom.cppcms.com/post/303 <div style="direction:rtl"> <p>לאחרונה יש יותר ויותר כתבות על Nginx ועד כמה השרת הזה מעולה. נתח השוק של Nginx לפי הסקירות האחרונות של Netcraft עומד על כ־10%. אז כנראה יש סיבה לכך!</p> <p>עכשיו, דברים שלא מספרים:</p> <ul> <li>רוב שרתי ה־Nginx המופיעים ב־Netcraft עובדים כ־Reverse Proxy או מטפלים בעיקר בקבצים הסטטיים. בהרבה מאוד המקרים Nginx הוא מתפקד כ־Load Balancing Frontend לפי שרתי Apache.</li> <li>התמיכה של Nginx בתוכן דינאמי היא בין מועטה עד לוקה בחסר: <ul> <li>אין תמיכה ב־CGI כלל.</li> <li>אין תמיכה בניהול של שרתי FastCGI, כך שהשירות התוכן הדינאמי שלך חייב לרוץ התהליך נפרד ואתה צריך לדאוג לו (למשל להעלות אם הוא נפל מסיבר כלשהי)</li> <li>הגדרות FastCGI לא תואמות תקן - <code>PATH_INFO</code> לא מוגדר כברירת מחדל. צריך לעבוד קשה כדי שהוא יעבוד נכון. מה שגורם לא מעט בעיות לאלה שמגלים שהיישום שלהם שבור בצורה לא ברור ולא מבינים למה.</li> <li>תמיכה ב־SCGI שבורה לחלוטין. הוא לא מטפל ב־Status כמו שצריך, שזה אומר שרוב ההפניות תהינה שבורות אלא אם היישום שלך ישלח את התשובה כ־HTTP נקי.</li> </ul> </li> </ul> <p>להמשיך?</p> <p>כן, אם אתם צריכים Reverse Proxy או לטפל בתוכן סטטי זהו שרת מעולה. אחרת, תחשבו פעמיים.</p> <p>אני ממליץ בחום על Lighttpd: מהיר כמו Nginx ובנוי על אותם העקרונות, מתועד היטב, מטפל תוכן סטטי ודינאמי בצורה יוצאת מן הכלל. קל לקינפוג ועוד.</p> <p>לפני שאנשים יקפצו ויגידו:</p> <blockquote><p>Lighttpd זולג!</p></blockquote> <p>אז התשובה היא, לא הוא, לא זולג.</p> <p>ציטוט:</p> <blockquote><p>there are no memory leaks just stupid ways to use lighttpd.‎</p> <p>e.g. it is really stupid to stream large files via a fastcgi app, when x-lighttpd-send-file could do a much more efficient job‎</p></blockquote> <p>תקראו עוד:</p> <ul> <li>‏<a href="http://redmine.lighttpd.net/issues/758">http://redmine.lighttpd.net/issues/758</a></li> <li>‏<a href="http://redmine.lighttpd.net/boards/2/topics/4009">http://redmine.lighttpd.net/boards/2/topics/4009</a></li> </ul> </div> הגיע הזמן לשרת וירטואלי פרטי http://artyom.cppcms.com/post/302 http://artyom.cppcms.com/post/302 <div style="direction:rtl"> <p>אחרי חמש שנים שהחזקתי את הבלוג שלי ואת כל האתרים שלי על <a href="http://artyom.cppcms.com/post/15">המחשב הביתי</a>, הגיע הזמן להעביר את התפקיד לשרת וירטואלי אי־שם בענן.</p> <p>הסיבה העיקריות למעבר הן:</p> <ul> <li>Uptime נמוך, בעיקר אודות חברת החשמל וגם מידי פעם תקלות חומרה.</li> <li>חיבור לא אמין במיוחד מחו"ל שגרם לי להחזיק אתר המראה סטטי לפרויקט שלי.</li> </ul> <p>אז הגיע הזמן לשדרג. כיוון שהאתרים שלי רצים על טהרת CppCMS זה לא היה דבר טריביאלי,</p> <ul> <li>מצד אחד, אני צריך שרת וירטואלי עם שליטה מלאה על יכולת התקנת התכנה, כולל התקנה של קובצי הריצה משלי, לכן, שירותי אירוח משותפים לא באו בחשבון, כי רובם לא מותאמים לטכנולוגיות כאלה.</li> <li>מצד שני, ממש אין לי צורך בשרת חזק, בעיקר בגלל שהטכנולוגית CppCMS היא חסכונית להפליא.</li> </ul> <p>אחרי הרבה השוואות של מחירים (לא זולים) של שרתי VPS החלטתי ללכת על Amazon EC2, כיוון שאני משלם על מה שאני משתמש... וחוץ מרוחב הפס אני לא ממש הולך להשתמש בהרבה <code>:-)</code>. לכן, החלטתי ש־Amazon EC2 יהיה אידאלי לטכנולוגיה שאני מציע.</p> <p>ובכן, רכשתי שם המתחם, סידרתי שרת ב־EC2 ותוך זמן קצר עברתי ל־VPS משלי בענן.</p> <p>כרגע יש לי שרת שמריץ lighttpd ומאחוריו שלוש יישומי FastCGI: עבור האתרים:</p> <ul> <li><a href="http://cppcms.com">http://cppcms.com</a> - הויקי של CppCMS‏</li> <li><a href="http://blog.cppcms.com">http://blog.cppcms.com</a> - בלוג הפרויקט</li> <li><a href="http://artyom.cppcms.com">http://artyom.cppcms.com</a> - הבלוג הזה.</li> </ul> <p>השרת מהיר וקל כנוצה עם ערכי uptime:load average שווים ל־0.</p> </div> הבלוג שודרג לגרסה חדשה http://artyom.cppcms.com/post/282 http://artyom.cppcms.com/post/282 <div style="direction:rtl"> <p>שלום לכולם,</p> <p>הבלוג שודרג לגרסה חדשה שעובדת עם הגרסה האחרונה של CppCMS.</p> <p>למעשה מערכת הבלוג שוכתבה מחדש, כיוון הבלוג הזה הוא היישום הראשון שמימשתי בעזרת CppCMS הוא סחב אחרי הרבה קוד מיושן וגרוע. שכתבתי את המערכת מחדש כך שהוא הפך הרבה יותר מאובטח ונקי מבחינת הקוד.</p> <p>אחרי שהוא ירוץ זמן מה ברשת, אני אשחרר גרסה רשמית שלו.</p> <p>אנא שימו לב לבעיות.</p> <p><strong>רוצים לנסות בבית?</strong></p> <p>כרגע אם מישהו רוצה לנסות אותו יצטרך:</p> <ul> <li>CMake 2.6 או יותר</li> <li>CppCMS 0.99.7 או גרסה חדשה יותר</li> <li>CppDB‏</li> <li>ספריית <a href="http://www.pell.portland.or.us/~orc/Code/discount/">Discount Markdown‏</a></li> <li>ספריית ImageMagick++‎ או GraphicsMagick++‎‏.</li> </ul> <p>את הקוד ניתן לקחת מ־svn בכתובת:<br/> <a href="https://cppcms.svn.sourceforge.net/svnroot/cppcms/blog/trunk">https://cppcms.svn.sourceforge.net/svnroot/cppcms/blog/trunk</a></p> <p>אחרי שהתקנתם את כל התלויות ומשכתם גרסת svn של הבלוג:</p> <pre><code>mkdir build cd build cmake .. make </code></pre> <p>לאחר מכן, צרו, בסיס נתונים של MySQL,‏ PostgreSQL או של Sqlite3 בעזרת התסריטים הנמצאים בתת תיקיה sql. ערכו את קובץ config.js כדי להגדיר את בסיס הנתונים בו אתם הולכים להשתמש ואז הריצו:</p> <pre><code>./blog -c ../config.js </code></pre> <p>הגישה הראשונה אתם תתבקשו להזין את ההגדרות הבסיסיות של הבלוג, שם משתמש וססמה אתה תעבדו.</p> <p>בלוג בא בשתי שפות - אנגלית ועברית ומכיל שתי תבניות OrangeSky ו־Contendend לבחירתכם.</p> <p><strong>שימו לב:</strong> מדובר בגרסת בטא ראשונה, כך שאם היא תהרוס לכם את השרת או תאכל לכם את החתול... ראו הוזהרתם.</p> </div> גם Tatoeba תשתמש ב־CppCMS http://artyom.cppcms.com/post/281 http://artyom.cppcms.com/post/281 <div style="direction:rtl"> <p><a href="http://he.wikipedia.org/wiki/%D7%98%D7%98%D7%95%D7%90%D7%91%D7%94">טטואבה</a>, פרויקט בינלאומי המהווה מעין מילון האוסף מספר רב של משפטים, מפתח גרסה חדשה ב־C++‎ שמבוססת על CppCMS.</p> <p>למעשה ידעתי על התכנון הזה כבר מזמן, אבל לא ממש עקבתי אחרי הפרויקט. בעקבות החדשות שכתבתי עליהם <a href="http://art-blog.no-ip.info/newpress/blog/post/280">בפוסט הקודם</a>, החלטתי להסתכל שוב על הפרויקט הזה וגיליתי שהם התקדמו יפה מאוד.</p> <p>גרסת האלפה (עדיין מאוד בסיסית) כבר <a href="http://tatoeba.org/eng/wall/show_message/6217#message_6217">עלתה לרשת</a> וזמינה בכתובת:‏ <a href="http://tato.sysko.fr">http://tato.sysko.fr</a>. הגרסה הזו מחליפה את מנוע החיפוש הנוכחי העובד עם MySQL בבסיס נתונים ייחודי שהם פיתחו ותשתית הרשת שכתובה בעזרת CakePHP מתחלפת באחרת המבוססת על CppCMS.</p> <p><a href="http://tatoeba.org/eng/wall/show_message/4796">בהודעה הזו</a> הם מסבירים את ההחלטה שלהם לבחור ב־CppCMS. להחלטה הזו היה מספר לא מבוטל של סיבות.</p> <p>בקיצור... תתחילו לקחת את CppCMS בצורה רצינית <code>:-)</code></p> </div> CppCMS אי שם בענן http://artyom.cppcms.com/post/280 http://artyom.cppcms.com/post/280 <div style="direction:rtl"> <p>אחת הבעיות הגדולות בצבירת משתמשים פוטנציאליים של CppCMS היא בעצם למצוא משתמשים קיימים מוכרים. שזהוי כמובן בעית הביצה והתרנגלות המוכרת.</p> <p>על־אף של־CppCMS יש <a href="http://news.gmane.org/gmane.comp.lib.cppcms.user">רשימת תפוצה פעילה</a> וידוע לי על לפחות מספר חברות שמשתמשות ב־CppCMS במוצרי embedded שלהם, עדיין רוב המשתמשים לא ממהרים <a href="http://art-blog.no-ip.info/wikipp/en/page/who_uses">לפרסם את עצמם</a> כמשתמשים גאים של שהתשתית המיוחדת הזו.</p> <p>היום בחיפוש פשוט בגוגל על "x-powered-by: cppcms" גיליתי את חברת הזנק הבאה: <a href="http://dhiti.com">http://dhiti.com</a>.</p> <p>הופתעתי לגלות שהיא מפעילה מספר "שירותים בענן" המשתמשים ב־CppCMS, ביניהם: ‏<a href="http://dive.dhiti.com">http://dive.dhiti.com</a>,‏ <a href="http://drilll.com">http://drilll.com</a>,‏ <a href="http://intweetion.com">http://intweetion.com</a>.</p> <p>אלה למעשה שירותים שמבוססים על <a href="http://dhiti.com/api/">RESTful API‏</a> שצד הלקוח (הדפדפן) מתקשר אתם.</p> <p>אחרי שהסתכלתי באתר החברה, נזכרתי שפעם קיבלתי מהם דיווח באג ותיקנתי אותו. אבל לאחר מכן, לא ממש עקבתי אחרי ההתפתחות שלהם... עד היום כשגיליתי שירותים <code>X-Powered-By: CppCMS</code>.</p> <hr /> <p>אני שמח סוף־סוף לראות CppCMS במקום שלו הוא מיועד. אני מאוד מקווה שהפעם יתאפשר לי לספר על הפרויקט הזה <a href="http://wiki.hamakor.org.il/index.php/%D7%90%D7%95%D7%92%D7%95%D7%A1%D7%98_%D7%A4%D7%99%D7%A0%D7%92%D7%95%D7%95%D7%99%D7%9F">באוגוסט פינגווין</a> הקרוב.</p> </div> שוחררה גרסת 0.0.5 של CppCMS (ענף יציב) http://artyom.cppcms.com/post/242 http://artyom.cppcms.com/post/242 <div style="direction:rtl"> <p>שוחררה גרסה חדשה של ענף יציב של CppCMS, שינויים:</p> <h3>תיקוני בעיות אבטחה:</h3> <ul> <li>נכתב מעקף לבעיה של ספריית CgiCC שהיה יכול לגרום ל־DoS.</li> <li>תוקנה בעיה שהייתה עלולה לגרום להווצרות SID בעלי אנטרופיה נמוכה.</li> </ul> <h3>תיקוני באגים:</h3> <ul> <li>תוקן זמן חיים של ערכים "חשופים" בניהול מצב (sessions)</li> <li>תוקן באג שמנע אפשרות עבודה ב־FastCGI/SCGI מעל TCP/IP</li> <li>תוקנו בעיות בניה עם גרסאות Boost לא סטנדרטיות.</li> <li>תוקנו בעיות ביצירת HTTP Status Headers לא נכונים במקרה של שגיאות.</li> <li>תוקנו בעיות בניה עם גרסאות gcc שונות ועם קומפיילר של אינטל.</li> </ul> <h3>שיפורים:</h3> <ul> <li>שופרו זמני בעיות views בצורה משמעות.</li> </ul> </div>