<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>‫המכללה‬</title>	
	<link>http://n2b.org</link>
	<description>‫כי החיים זה לא מדע מדוייק‬</description>	<lastBuildDate>Tue, 03 Nov 2009 10:47:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/n2b/EtwF" type="application/rss+xml" /><feedburner:emailServiceId>n2b/EtwF</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>‫כמה שווים העקרונות שלכם?‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/hV6X_Qzpygk/1508</link>
		<comments>http://n2b.org/archives/1508#comments</comments>
		<pubDate>Mon, 02 Nov 2009 11:22:29 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[סביבה]]></category>
		<category><![CDATA[צרכנות]]></category>
		<category><![CDATA[תחבורה]]></category>
		<category><![CDATA[עלויות]]></category>
		<category><![CDATA[רכב]]></category>
		<category><![CDATA[מכוניות]]></category>
		<category><![CDATA[בירוקרטיה]]></category>
		<category><![CDATA[היברידי]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1508</guid>
		<description><![CDATA[&#8235;מהפירסומים שרודפים אותנו בתקופה האחרונה עולה הרושם כאילו רכישה של מכונית היברידית היא דבר משתלם. עד כמה שזה מצטער - רכישה של מכונית היברידית בישראל איננה משתלמת.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>ההתחממות הגלובאלית, המאמצים להפחית את פליטת ה CO2 והטיפוס במחירי הדלק גרם להופעת פיתרונות המנסים להקטין את השימוש בבנזין. לצד השימוש בגפ&quot;מ (הרבה יותר נקי, אבל יש לו בעיות משלו) הופיעה גם קטגורית הרכבים ההיברידיים &#8211; רכבים המשלבים פעולה של מנוע חשמלי ומנוע בנזין על מנת להגדיל את כמות הקילומטרים שעושה הרכב לכל ליטר בנזין. על פניו, אם איכות האוויר חשובה לך וברצונך גם לנסוע, גם לחסוך וגם לתרום לסביבה &#8211; עדיף לך לרכוש רכב היברידי. גם מגמת המיסוי הירוק שנותנת הנחה יחסית מכובדת על הרכב ההיברידי כביכול כולה זועקת &quot;רכשו רכבים היברידים&quot;. אך בשורה התחתונה, לעקרונות שלנו יש מחיר יקר ומי שרוצה לזהם פחות כדאי שידע שעל העיקרון הזה מודבק תג מחיר יקר &#8211; כמה יקר? בערך 23 אלף שקלים.<br />
כשבודקים מי מנסה למכור לנו את &quot;רכשו רכב ירוק&quot; מגלים שלא המדינה היא זו שעומדת מאחורי התהליך אלא דווקא יבואני הרכב. בין אם זה לתת חסות לתוכנית טלוויזיה כגון רצים למיליון, קמפיינים פירסומיים בטלוויזיה ואף העלאה של רכבים כאלה לכביש כשהם מקושטים (כדוגמת הסיוויק ההיברידית שמעוטרת בציור של גלובוס ירוק כחול) &#8211; חברות הרכב נמצאות מאחורי מהלך זה ולא בכדי.</p>
<p>רכבים היברידים הם יקרים יותר, יש פה עניינים של שוק חופשי, תהליכים של היצע וביקוש, טכנולוגיה חדשה, מאמצים מוקדמים והגרוע מכל &#8211; חוסר עידוד של המדינה. התשובה הנשלפת בד&quot;כ מהשרוול היא שנכון שהמחיר של הרכב יקר יותר אבל זו השקעה שמחזירה את עצמה בהבדלים במחיר הדלק. לרוע המזל, לטענה הזו אין שום ביסוס במציאות והיא כרוכה כאמור בקנס טיפשות של כ 23000 שקלים.</p>
<table>
<tbody>
<tr class="tableTitle">
<td>קריטריון</td>
<td>קורולה</td>
<td>פריוס</td>
<td>סיוויק</td>
<td>ס. היבריד</td>
<td>מזדה 3</td>
</tr>
<tr>
<td class="tableTitle">מחירון</td>
<td>115000</td>
<td>152000</td>
<td>139000</td>
<td>147300</td>
<td>115000</td>
</tr>
<tr>
<td class="tableTitle">נפח מיכל דלק</td>
<td>55</td>
<td>45</td>
<td>50</td>
<td>50</td>
<td>55</td>
</tr>
<tr>
<td class="tableTitle">צריכת דלק משולבת</td>
<td>13.9</td>
<td>25.6</td>
<td>14.9</td>
<td>21.7</td>
<td>12.8</td>
</tr>
<tr>
<td class="tableTitle">ק&quot;מ למיכל</td>
<td>764.5</td>
<td>1152</td>
<td>745</td>
<td>1085</td>
<td>704</td>
</tr>
<tr>
<td class="tableTitle">עלות למיכל</td>
<td>330</td>
<td>270</td>
<td>300</td>
<td>300</td>
<td>330</td>
</tr>
<tr>
<td class="tableTitle">מיכלים בשנה</td>
<td>23.4</td>
<td>15.5</td>
<td>24.0</td>
<td>16.5</td>
<td>25.4</td>
</tr>
<tr>
<td class="tableTitle">עלות דלק שנתית</td>
<td>7727</td>
<td>4195</td>
<td>7208</td>
<td>4949</td>
<td>8391</td>
</tr>
<tr class="tablered">
<td class="tableTitle">עלות כוללת ל 3 שנים</td>
<td>138,180</td>
<td>164,586</td>
<td>160,624</td>
<td>162,148</td>
<td>140,172</td>
</tr>
<tr class="tableTitle">
<td class="tableTitle">הפרש מהזול ביותר</td>
<td>0</td>
<td>26,406</td>
<td>22,444</td>
<td>23,968</td>
<td>1,992</td>
</tr>
</tbody>
</table>
<p><strong>הערות</strong><br />
1. השתמשתי במחיר של 6 שקלים לליטר מתוך הנחה שזהו המחיר הממוצע במשך 3 שנים, סביר להניח שהמחיר יהיה גבוה יותר, זה בסדר &#8211; החישובים רלוונטים גם לפי מחיר הליטר כיום.<br />
2. הערכת ק&quot;מ ממוצע &#8211; מאתר הלמ&quot;ס &#8211; <a href="www.cbs.gov.il/shnaton59/st24_15.pdf">קובץ pdf</a>.<br />
3. מחירי הרכבים, נפחי מיכל הדלק, יחסי דלק לקילומטר &#8211; נלקחו מהאתרים הרשמיים של היבואניות.<br />
4. החישוב בוצע לפי &quot;צריכת דלק משולבת&quot; שהיא סוג של מיצוע בין הצריכה העירונית לבין הצריכה הבין עירונית. </p>
<p>כפי שאפשר לראות בקלות ברכישה לשלוש שנים הטויוטה קורולה היא המשתלמת ביותר ואחריה המאזדה 3 עם הפרש של קצת פחות מ 2000 שקלים. למעשה, המקום היחיד שיש בו מקום לשיקול הזה הוא בהחלטה האם לרכוש את ההונדה סיוויק הרגילה או ההיברידית שכן על פני 3 שנים ההפרש הכולל הוא כ 2000 שקלים.</p>
<p>גם בדיקה לאורך תקופה ארוכה יותר לא מעלה תוצאות טובות יותר, למעשה אם מסתכלים על נתוני כל חמשת הרכבים הרי הקורולה ממשיכה להיות הרכב הזול ביותר להחזקה במשך 10 שנים מיום הרכישה שלה. רק בתום אותן 10 שנים מתרחש היפוך והפריוס הופכת להיות זולה יותר בחישוב המצטבר. אם לעומת זאת בודקים את הכדאיות של ההונדה סיוויק בגירסה הרגילה מול ההיברידית מתברר שכאן ההבדלים הם פחות קריטיים וההפרש מתהפך בשנה הרביעית.</p>
<p>חשוב לקחת בחשבון שאנחנו בודקים פה רכישה של רכב חדש מהיבואן ולא מסלולי קבלת רכב מהעבודה או רכישה של רכב יד ראשונה. גם החישוב נעשה על בסיס היחס ק&quot;מ / ליטר המשוקלל ולא בהכרח יתאים לכל אחד שכן אין דינו של זה שנוהג רק בתוך העיר לבין אחר שעיקר נהיגתו בדרכים בין עירוניות. </p>
<p>האם הבעיה היא רק שלנו? כמובן שלא וכפי שכבר אמרתי יש פה לא מעט שאלה של היצע וביקוש ואת העיניין של טכנולוגיות חדשניות שבתחילת דרכן. לצורך העיניין, גם בארצות הברית ההבדל בין הפריוס לקורולה עומד על כ 8000$ ועם בדיקה של צריכת דלק ממוצעת על פני 3 שנים מדובר על הפרש של כ 6000$ לטובת הקורולה. ועדיין העובדה שמדינת ישראל קובעת את מיסי הרכב הרי שאם באמת היה פה רצון כן ואמיתי לשנות מישהו היה דואג לעדכן את החישובים כך שהרכבים ההיברידיים יהיו יותר רווחיים.</p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/hV6X_Qzpygk" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1508/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1508</feedburner:origLink></item>
		<item>
		<title>‫עולם הג'יפה‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/QPZNH92ODu8/1497</link>
		<comments>http://n2b.org/archives/1497#comments</comments>
		<pubDate>Sat, 17 Oct 2009 09:00:31 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[מחשבים]]></category>
		<category><![CDATA[מנוע פיזיקאלי]]></category>
		<category><![CDATA[משחקי מחשב]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1497</guid>
		<description><![CDATA[&#8235;המשחק עולמו של הגו (World of Goo) חוגג שנה והיוצרים מזמינים אתכם לרכוש אותו בכל מחיר שיראה לכם לנכון.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>אי שם לפני כמה שנים טובות התפרסם קישור באחד ממדורי המחשבים קישור למשחק בשם The world of goo. במשחק הזה, היה השחקן צריך לבנות מגדל גבוה ככל האפשר בעזרת אותם כדורונים דביקים. למיטב זכרוני המשחק הוצג תחת איזשהו אתר / פרוייקט להרמת משחקים אבל אני כבר לגמרי לא זוכר מה הלך שם. אותו משחקון קטן הפך עם הזמן לשלב בתוך משחק גדול יותר, כזה שעולה 20$.</p>
<p><div id="attachment_1498" class="wp-caption alignleft" style="width: 270px"><a href="http://n2b.org/wp-content/uploads/2009/10/wog260.jpg" rel="lightbox[1497]"><img src="http://n2b.org/wp-content/uploads/2009/10/wog260.jpg" alt="לבנות מגדלים עם כדורים דביקים" title="wog260" width="260" height="230" class="size-full wp-image-1498" /></a><p class="wp-caption-text">לבנות מגדלים עם כדורים דביקים</p></div>עולם הג'יפה הוא משחק מנוע פיזיקלי ועל השחקן לקחת בחשבון פרמטרים כגון משקל המגדל, תמוכות, גמישות וכדומה כדי לעמוד במשימה. אחד הדברים הכי משמחים במשחק הזה מצוי בעובדה שהוא רץ לא רק על חלונות אלא גם על מק ועל לינוקס.</p>
<p>המשחק חוגג בסוף השבוע הזה שנה והיוצרים החליטו למכור אותו בצורה דומה למה שעשו רדיוהד בזמנו &#8211; המשחק עולה 20$ אבל כל אחד ישלם כראות עיניו. ותמורת מיטב כספכם תקבלו את האפשרות להוריד את המשחק ללא כל מנגנון DRM, אקטיבציה או כל ג'אנק אחר &#8211; פשוט להתקין ולשחק.</p>
<p>להרים משחק ללא מנגנון אקטיבציה זה חתיכת הימור, והיוצרים עשו כמה וכמה ניסיונות בעבר וביניהם גם השתמשו בקוד מזהה כדי להפעיל את המשחק. המפתחים מספרים שקוד אקטיבציה מזוייף נשתל באחד מאתרי ההאקינג ועל פני 24 שעות ניסו להשתמש בו מ 17 מחשבים שונים &#8211; 2 מהם ישראליים.<br />
כמובן שברגע שהמשחק דלף לרשת ללא מנגנון אקטיבציה הוא מהר מאוד קיבל בכל מיני אתרי הורדות מפוקפקים את החותמת &quot;חינמי&quot; (למשל <a href="http://bidurit.com/modules.php?name=Eth8&#038;op=details&#038;lid=2550">פה</a>) &#8211; היוצרים מצידם מכירים את הבעיה אך מציינים שהם לא מתכוונים להילחם בה. </p>
<p><a href="http://2dboy.com/games.php"><img src="http://n2b.org/wp-content/uploads/2009/10/WoG_orderButton_bday.gif" alt="WoG_orderButton_bday" title="WoG_orderButton_bday" width="523" height="392" class="aligncenter size-full wp-image-1499" /></a></p>
<p>בקיצור, אם אתם מסוג האנשים שכן קונים משחקים אבל 20$ קצת יקר לכם, אתם מוזמנים לגשת <a href="http://2dboy.com/games.php">ולרכוש</a> את המשחק במחיר שנוח לכם בתנאי שתספיקו לעשות זאת לפני ה 19 לחודש. אם אתם רוצים להתרשם קודם לכן תוכלו להוריד באותו הקישור גם גירסת דמו (כאמור, לחלונות, מק או לינוקס). נכון שטכנית אתם יכולים ישראלים ולשלם רק סנט אחד (0.01$) אבל באותה מידה תוכלו למצוא שתי פיסקאות למעלה קישור להורדה פיראטית שלו. </p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/QPZNH92ODu8" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1497/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1497</feedburner:origLink></item>
		<item>
		<title>‫מחשבות על מחאת האופנוענים‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/pa9YjhSlr1k/1492</link>
		<comments>http://n2b.org/archives/1492#comments</comments>
		<pubDate>Thu, 15 Oct 2009 12:40:52 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[תחבורה]]></category>
		<category><![CDATA[אופנועים]]></category>
		<category><![CDATA[טוקבקים]]></category>
		<category><![CDATA[ביטוח]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1492</guid>
		<description><![CDATA[&#8235;רגע אחרי הדיון הסוער בוועדת הכספים, אחרי שראינו את מאסת חברי הכנסת שקמו, עמדו לצידנו וטענו את שטענו אנו נותר רק לסגור חשבון עם הטוקבקיסטים. בלי קשר למה יסגר בסוף - הנה מה שאני חושב .&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>רגע אחרי <a href="http://portal.knesset.gov.il/Com2ksafim/he-IL/Messages/hodaa141009.htm">הדיון</a> בוועדת הכספים, אחרי שראינו את מאסת חברי הכנסת שקמו, עמדו לצידנו וטענו את שטענו אנו נותר רק לסגור חשבון עם הטוקבקיסטים. בלי קשר למה יסגר בסוף &#8211; הנה מה שאני חושב .</p>
<p><strong>צביעות</strong>.</p>
<p>אתם כועסים עלינו כשאנחנו משתחלים קדימה ברמזור אבל חסר לנו שננסה לעמוד בתור לרמזור כמו רכב. אתם כועסים עלינו כשאנחנו חונים על המדרכה אבל לא מוכנים שנתפוס חניה רגילה &quot;על חשבונכם&quot;.</p>
<p><a href="http://n2b.org/wp-content/uploads/2009/10/bike260.jpg" rel="lightbox[1492]"><img src="http://n2b.org/wp-content/uploads/2009/10/bike260.jpg" alt="bike260" title="bike260" width="260" height="230" class="alignleft size-full wp-image-1493" /></a><strong>פנטזיה</strong></p>
<p>הכביש זה לא ספר של הארי פוטר ואופנועים לא מופיעים יש מאין בשטח מת. לשטח מת יש נקודת כניסה ונקודת יציאה &#8211; אם אתם רואים אותנו יוצאים ממנו, הייתם צריכים לראות אותנו גם נכנסים אליו. מה הם השטחים המתים ברכב שלכם? הקורות בצידי החלונות, הפלאפון שתקוע לכם באוזן, קופסת הדיסקים על הבירכיים, הילד הלא קשור מאחור, סשן ההתאפרות וכמובן הגורמים הקריטיים ביותר &#8211; אתם לא מסתכלים במראות ופשוט לא אכפת לכם מה קורה מסביבכם.</p>
<p><strong>סטטיסטיקה</strong>.</p>
<p>&quot;האופנוענים אחראים לרוב התאונות ולכן הם צריכים לשלם יותר&quot; &#8211; על פי נתוני משטרת ישראל 75% מתאונות הדרכים בהם מעורבים אופנועים ומכוניות האשם בתאונה הינו הרכב ולא הדו&quot;ג. הכנסת קיבלה את זה, קבלו את זה גם אתם.</p>
<p><strong>פרופורציות</strong>.</p>
<p>&quot;האופנוענים משתוללים על הכביש ומסכנים את החיים של נהגי הרכבים&quot; &#8211; יקיריי, אתם סגורים בקופסת פלדה, אם חס וחלילה יתנגש בכם רכב דו גלגלי הרי שחייו הם שיהיו בסכנה, לא שלכם. זה כאילו שמחר ינסו להעלות לכם את הביטוח כי נהגי הרכבים משתוללים על הכביש ומסכנים את החיים של נהגי המשאיות &#8211; ברצינות.<strong></strong></p>
<p><strong>מראה</strong></p>
<p>&quot;תסתכלו עליהם ותראו אותנו&quot; היה הסלוגן של הסידרה טירונות, אבל היא נכונה גם לגבי הכבישים שלנו. הייתי אומר שנכון, אתם לא משתחלים בין רכבים אבל במשך שנותי על הכביש ראיתי גם את זה קורה &#8211; נהג לחוץ במיוחד &quot;מייצר&quot; לעצמו מסלול ונדחף בין שני רכבים שנסעו לאט מדי לטעמו. כואב לכם שאנחנו חונים על מדרכה, אבל זה לגמרי לא מפריע לכם לחנות עליה בעצמכם, או לחנות באדום לבן, או חניית נכים, או דבל פארקינג כי אתם רק רוצים לקנות שניה סיגריות בפיצוציה ועל הז*ן שלכם שחסמתם נתיב. אתם טסים על הכביש, לא מאותתים, עוקפים על פס הפרדה רצוף, לא משתמשים במראות, מדברים בסלולר, קוראים עיתון, מתגלחים, מתאפרות, מעשנים/ות &#8211; בקיצור &#8211; עברינים/ות. </p>
<p><strong>סקילה</strong></p>
<p>הנצרות טבעה את המשפט &quot;זה שאין בו חטא ישליך את האבן הראשונה&quot; בהקשר של הוצאות להורג ע&quot;י סקילה שהייתה כה מקובלת אז. הרעיון הוא שבגלל שאף אחד מאיתנו לא צדיק טהור לאף אחד אין זכות להשליך את האבן הראשונה ולכן לא ניתן לסקול אנשים. כמה טוב שאנחנו יהודים, עכשיו תגיבו. </p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/pa9YjhSlr1k" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1492/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1492</feedburner:origLink></item>
		<item>
		<title>‫ניהול זמן עם toodledo‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/wcrsiqxDHLw/1487</link>
		<comments>http://n2b.org/archives/1487#comments</comments>
		<pubDate>Sun, 11 Oct 2009 12:35:23 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[אינטרנט]]></category>
		<category><![CDATA[אפליקציות רשת]]></category>
		<category><![CDATA[ניהול זמן]]></category>
		<category><![CDATA[משימות]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1487</guid>
		<description><![CDATA[&#8235;מזו תקופה אני מחפש איזשהו פיתרון למעקב וניהול אחר כל המשימות שלי – משימה קשה בפני עצמה. פיתרון CRM בשביל עצמאי הוא פיתרון גדול מדי ועם זאת היקף המשימות שלי הוא גדול מספיק כדי שלא יצדיק עבודה עם אקסל. במשך תקופה מסויימת ניסיתי לעבוד עם ה task של ג'ימייל אבל גם הוא התברר כלא נוח [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>מזו תקופה אני מחפש איזשהו פיתרון למעקב וניהול אחר כל המשימות שלי – משימה קשה בפני עצמה. פיתרון CRM בשביל עצמאי הוא פיתרון גדול מדי ועם זאת היקף המשימות שלי הוא גדול מספיק כדי שלא יצדיק עבודה עם אקסל. במשך תקופה מסויימת ניסיתי לעבוד עם ה task של ג'ימייל אבל גם הוא התברר כלא נוח למדי, אפילו לא באינטגרציה עם לוח השנה של גוגל. </p>
<p>אני לא זוכר איך הגעתי אל <a href="http://www.toodledo.com">toodledo</a>, אני רק זוכר שיום אחד מצאתי את עצמי מולו מנסה להיזכר ביוזר ה OpenId שלי ומהרגע שנזכרתי נראה היה שנמצא פיתרון לדרישותי. </p>
<p>Toodledo היא אפליקציית ניהול משימות וובית חינמית (יש גם מנוי pro בתשלום המאפשר פיצ'רים נוספים) שעושה רושם שמפתחיה לקחו את הזמן לחשוב על הדרישות והצרכים של המשתמש הממוצע כדי לייצר אפליקציה יעילה ונוחה לעבודה. </p>
<p>עבור כל משימה ניתן להגדיר דרגת חשיבות כמו גם תאריך יעד ואף ניתן לשייך ל&quot;תיקייה&quot; המאפשרת חלוקה נוחה יותר של המשימות. כך למשל, ניתן ליצור תיקייה עבור כל לקוח ולבנות את אבני הדרך של הפרויקט כמשימות. את תצוגת המשימות אפשר למיין על פי התיקיות, תאריך הסיום או רמת החשיבות – וכך לבצע תעדוף משימות יומי / שבועי / ללקוח. </p>
<p><strong>נגישות</strong></p>
<p>אחד היתרונות בשירות הזה על גבי מספר שירותים אחרים שיצא לי לפגוש זה רמת הנגישות הגבוהה, עושה רושם שמפתחי האפליקציה חשבו על רוב אפשרויות הסינכרון / שיתוף המוכרות והנפוצות כדי שהמידע יהיה נגיש בכל מקום ובכל זמן. כך למשל תומך השירות בפורמט ה iCal של אפל ומאפשר לסנכרן שירותי יומן תואמים (למשל הלוחות שנה של גוגל). מלבד תוסף יעודי לשוא&quot;ש המאפשר הוספה של משימות, ניתן גם לשלוח לשירות מייל עם משימות או אפילו לגשת אל המשימות דרך טוויטר. </p>
<p>משתמשי ה iPhone ישמחו בוודאי לגלות כי קיימת אפליקציה יעודית למכשירם, אך המשימות כמובן נגישות מכל מכשיר דרך הדפדפן הסלולארי. בנוסף שלל ויג'טים לשולחן העבודה, למכשירי פאלם, אנדרואיד וכדומה – בקיצור – כל טוב מכל הבא ליד.</p>
<p>מי שלא רוצה להימנע מהגדרות מיותרות יוכל פשוט לבקש שישלח לו סיכום משימות יומי אל תיבת הדואר בכל בוקר ומי שהעסק עדיין לא מספיק עבורו אבל בעל יכולות תכנות סבירות תמיד יוכל לכתוב לעצמו אפליקציה ייעודית בעזרת ה API של האפליקציה. </p>
<p><strong>לסיכום</strong></p>
<p>אם אתם מחפשים אפליקציה פשוטה לנהל את המשימות שלכם, צריכים שהמידע יהיה נגיש עבורכם בכל מקום ובכל זמן – <a href="http://www.toodledo.com">toodledo </a>הוא השירות בשבילכם. </p>
<p><strong>הערה חשובה: </strong> אם אתם משתמשים ב OpenId יש צורך להיכנס אל מסך ההגדרות ולהוסיף סיסמא למשתמש, אחרת לא ניתן להתחבר עם שירותים חיצוניים. </p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/wcrsiqxDHLw" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1487/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1487</feedburner:origLink></item>
		<item>
		<title>‫אופטימיזציה של מסד הנתונים‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/cRJYDjv0T1E/1483</link>
		<comments>http://n2b.org/archives/1483#comments</comments>
		<pubDate>Wed, 07 Oct 2009 22:45:06 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[אופטימיזציה]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1483</guid>
		<description><![CDATA[&#8235;אני יודע שקצת הזנחתי את הסידרת כתבות הזו ואת הבלוג בכלל, הפוסט הזה שוכב אצלי בטיוטא כבר שבועיים ואני מתלבט אם לפרסם אותו או לא. מקורה של ההתלבטות היא העובדה שהפוסט הזה נוגע ישירות במסד הנתונים של הבלוג. אם תמחקו בטעות קבצי מערכת של וורדפרס תמיד ניתן להעלות אותם בחזרה אל השרת והעסק יחזור לעבוד, [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>אני יודע שקצת הזנחתי את הסידרת כתבות הזו ואת הבלוג בכלל, הפוסט הזה שוכב אצלי בטיוטא כבר שבועיים ואני מתלבט אם לפרסם אותו או לא. מקורה של ההתלבטות היא העובדה שהפוסט הזה נוגע ישירות במסד הנתונים של הבלוג. אם תמחקו בטעות קבצי מערכת של וורדפרס תמיד ניתן להעלות אותם בחזרה אל השרת והעסק יחזור לעבוד, אבל מחיקה של פריט חיוני במסד הנתונים, במיוחד אם לא יודעים מה נמחק יכולה לכאוב עד מאוד.</p>
<p>ולכן, למרות שבפועל לא מדובר פה בפעולות מסובכות אני חוזר, מזהיר ומתרה – אם אתם לא יודעים להתעסק עם מסד נתונים, אם אין לכם מושג מה התוצאות של הפעולות שלכם יכולות לעשות ואם אין לכם גיבוי – פשוט תתעלמו מהפוסט הזה או שתפנו אל מי מאיתנו שמתעסק בזה כמקצוע (בשליפה מהמותן, חוץ מעצמי אני יכול לחשוב על <a href="http://www.dakars.info/">חנית</a> ועל <a href="http://www.revitalsalomon.com/">רויטל</a>, אבל תמיד אפשר להתיעץ בקבוצה הגוגלית).</p>
<p><strong>ולעניין &#8211; אופטימיזציה לוורדפרס.</strong></p>
<p>ככלל, אחד היתרונות בקוד פתוח הוא שהרבה עיניים עוברות על הקוד ולכל אחד מומחיות משלו. אני מניח שבמשך השנים בהן וורדפרס מפותחת עברו על הקוד גם אי אלו מומחי DB שניסו לעשות את האופטימיזציה האידיאלית לשאילתות. אני מניח שיש שאילתות שעדיין ניתן לשפר, שלא לדבר על כך שאני משוכנע שיש שאילתות מרוכבות שניתן להחליף ב view תואם ועדיין אנחנו לא הולכים לטפל בקוד של וורדפרס, רק לנקות קצת את כל הג'אנק שהצטבר בטבלאות.</p>
<p>החל מ 2.5 הוסיפו בוורדפרס את האפשרות ל Revision – גירסאות קודמות של המסמך. השינוי הזה נועד לאפשר לעורך לחזור אחורה ולהשוות את הניסוח הנוכחי אל מול הקודם. זה כמובן גם מאוד עוזר כשיש גיבוי אם בטעות מחקתם פיסקה או שתיים (או את כל העמוד) ואתם לא רוצים להתחיל לכתוב הכל מהתחלה.<br />
אבל מה לגבי פוסטים שכבר פורסמו? וורדפרס שומרת את הגירסאות הקודמות גם עבור פוסטים שהסטטוס שלהם הוא פורסם – פעולה שמגדילה את נפח מסד הנתונים ולכן מאיטה מעט את עבודתו. בבלוגים קטנים עם כמות קטנה של פוסטים חודשיים (מרכין ראשי בבושה) העסק פחות רלוונטי, אבל בלוגים גדולים יותר כגון חורים ברשת / חדר 404 / הגלוב בוודאי סובלים קשה יותר מהבעיה הזו. הפיתרון הוא פשוט &#8211; למחוק את כל הגירסאות הקודמות של פוסטים שכבר פורסמו. דרך phpMyAdmin (או כל מערכת ניהול DB שאתם עובדים איתה) מריצים את השאילתה הבאה. חשוב לוודא שמסד הנתונים שנבחר הוא של וורדפרס וכמובן שהתחילית שהגדרתם לטבלאות היא wp (אם לא צריך להתאים את wp_posts).</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">DELETE</span> <span class="kw1">FROM</span> `wp_posts` <span class="kw1">WHERE</span> `post_type` = ‘revision’</div>
</li>
</ol>
</div>
<p>אגב, אם אינכם משתמשים בגירסאות קודמות, עדיף לכבות את הפונקציה הזו. הוסיפו בקובץ ה wp_config,php את השורה הבאה: </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">define<span class="br0">&#40;</span><span class="st0">'WP_POST_REVISIONS'</span>, <span class="kw2">false</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p><strong>אופטימיזציה של מסד הנתונים</strong></p>
<p>אחרי שבוחרים מסד נתונים לעבודה ב PhpMyAdmin (בעמודה השמאלית) נפתחת רשימת הטבלאות הקיימות. בתחתית הרשימה ישנו לינק &quot;select all” ולחיצה עליו תבחר את כל הטבלאות. משמאלו, בתפריט הנגלל, נבחר בשיא הזהירות ב optimize table – ומכאן שאר העבודה היא של mysql. מתחת למנוע MySql מוחק את טבלאות האינדקס שהוא שומר עבור כל טבלה ובונה אותן מחדש בצורה אופטימלית. </p>
<p><strong>שמירת שאילתות </strong></p>
<p>הסעיף הזה קרוב לוודאי לא נוגע ברובנו, הוא מיועד למי שיש לו גישה לקבצי ההגדרות של mysql משהו שקרוב לוודאי שבחיים לא יהיה לכם בשרת שיתופי. אבל אם יש לכם איכסון יעודי / שרת ביתיי / כל פיתרון אחר – אפשר להשתמש במנגנון הקאשינג של MySql על מנת לשמור את התוצאות של שאילתות חוזרות ונשנות. כך למשל, במקום להריץ בכל פעם את השאילתה שמבקשת את הפוסטים לעמוד הראשי ניתן לשלוף את כל המידע הזה במכה ממסד הנתונים. </p>
<p>בשביל זה צריך לערוך את קובץ my.conf (באובונטו הוא ב etc/mysql/my.conf/ ) ולהוסיף אליו את השורות הבאות:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">query_cache_type = <span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1">query_cache_limit = 1M</div>
</li>
<li class="li1">
<div class="de1">query_cache_size = 32M</div>
</li>
</ol>
</div>
<p>כך בעצם אנחנו יוצרים מאגר זיכרון בנפח של 32 מגה המשמש לקאשינג של השאילתות. כאמור, זה יותר רלוונטי למי שיש לו שרת פרטי, אבל יעזור עד מאוד.</p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/cRJYDjv0T1E" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1483/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1483</feedburner:origLink></item>
		<item>
		<title>‫המתמטיקה של משחקי מזל‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/zqaYiOUEvnM/1477</link>
		<comments>http://n2b.org/archives/1477#comments</comments>
		<pubDate>Mon, 05 Oct 2009 13:48:03 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[משחקי מזל]]></category>
		<category><![CDATA[זכיה]]></category>
		<category><![CDATA[הגרלות]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1477</guid>
		<description><![CDATA[&#8235;אומרים שאי אפשר לנצח את הרולטה ושכל מי שנכנס לקזינו סופו לאבד את כל כספו. האם זה נכון? טקטיקה בסיסית לחלוטין מאפשרת להרוויח ברולטה לא מעט כסף אם יש לכם הון התחלתי מספק. &#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>שחר כתב לפני כמה ימים בתודעה כוזבת פוסט לגבי <a href="http://hahem.co.il/false/archives/434/">זוג או פרט</a> שבו הוא טוען שהמשחק אינו הוגן כי למעשה בעזרת 5 אצבעות ניתן לייצג 3 מספרים אי זוגיים אך רק 2 מספרים זוגיים (וכמובן שהתבסס וויכוח על אפס והלגיטימיות שלו). הטיעון הזה לא לגמרי מדוייק כי הרלוונטיות של מספר האצבעות שייך אך ורק לאפשרות החלוקה שלהן בשתיים. הכללים בסופו של יום הם הכללים המתמטיים הרגילים &#8211; זוגי+ זוגי=זוגי. אי-זוגי+אי-זוגי=זוגי, אי-זוגי+ זוגי = אי-זוגי. למעשה, לא משנה אם תבחר בזוגי או באי-זוגי הצעד של היריב רלוונטי באותה מידה לצעד שלך. </p>
<p>אם הייתי צריך לממש את המשחק בשפת מחשב הוא בוודאי היה נראה ככה: </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">static</span> <span class="kw4">void</span> main<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> player1 = <span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="nu0">5</span> * <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AMath+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> player2 = <span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="nu0">5</span> * <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AMath+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span><span class="st0">&quot;Player 1: &quot;</span> + player1 + <span class="st0">&quot; Player 2: &quot;</span> + player2<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="br0">&#40;</span>player1+player2<span class="br0">&#41;</span>%<span class="nu0">2</span>==<span class="nu0">0</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span><span class="st0">&quot;Pair&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span><span class="st0">&quot;Odd&quot;</span><span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>לצורך העיניין, מבחינה סטטיסטית זוג או פרט לא שונה בהרבה מעץ או פלי &#8211; השחקן מכריז על הבחירה שלו אבל התוצאה נקבעת על בסיס הבחירה של היריב. כפי שהמתמטיקה מלמדת אותנו לא משנה אם נבחר במספר זוגי או אי זוגי הרי שסוג הבחירה של היריב היא 50:50 (זוגי או אי-זוגי) והבחירה הזו תשפיע על התוצאה באותו היחס בדיוק. </p>
<p>במספר גדול של ניסיונות אל מול אותו היריב ניתן קרוב לוודאי לעלות על הלוגיקה שלו ולהתאים את הלוגיקה כדי להגדיל את מספר הנצחונות אבל בהנחה שהיריב לומד הוא מהר מאוד ישנה את הטקטיקה שלו כדי להתאימה למצב החדש. היתרון העיקרי היא שזוג או פרט / עץ או פלי הם משחקי הגרלה חד פעמיים (לכל היותר הטוב מ 3) ולכן אין מספיק זמן כדי ללמוד טקטיקה ולהשיג ניצחון. לכן נלך אל משחק אחר שנותן לנו הסתברות של 50:50 ואינו מגביל אותנו במספר המשחקים וכך נותן לנו סיכוי להרוויח &#8211; הרולטה. </p>
<p>הרולטה מורכבת מגלגל שעליה רצף מספרים מ 1 עד 36 המודפסים על רקע שחור או אדום &#8211; כלומר 18 מספרים אדומים ו 18 מספרים שחורים. ברולטה תקנית כשההסתברות של כל אחד מהמספרים הוא 1:36 ההסתברות לקבלת אדום או שחור היא 50:50 &#8211; בעיקרון כמו עץ או פלי / זוג או פרט. ההגבלה היחידה במספר המשחקים למעשה היא כמות הכסף שיש לשחקן בהתחלת המשחק שכן ברגע שנגמרים המזומנים השחקן מתפנה. </p>
<p>לכאורה, יגיד כל אדם, אין סיכוי להביס את הרולטה ורוב הסיכויים שגם אם זכינו בסכום מסויים הרי שבסופו של יום נצא מהקזינו עם פחות כסף ממה שנכנסו אליו. תאורטית זה נכון, אבל מי שלא מחפש לשבור את הבנק אלא רק להגדיל קצת את נכסיו יכול בעיקרון לצבור סכומים נאים מאוד ממשחק על שחור/אדום &#8211; אם רק יצמד לטקטיקה המתבקשת.<br />
הכלל במשחק 50:50 הוא שאתה יכול להכפיל או להפסיד את סכום הכסף ששמת בהתאם לזכיה / הפסד, אבל בקצת משחק עם המספרים והרבה הסתמכות על סטטיסטיקה אפשר לצאת מורווחים.</p>
<p>לצורך העיניין, נניח שיש לנו 1000 שקלים ביד כשאנחנו ניגשים אל הרולטה &#8211; הנה מהלך הצעדים</p>
<p>1. בחירה שרירותית של צבע (שחור או אדום) עם הימור של שקל אחד. (לצורך הדוגמא אני אלך כל השלבים על אדום)<br />
2. אם זכינו &#8211; חוזרים על שלב 1 מההתחלה, אם הפסדנו ממשיכים ל 3.<br />
3. כופלים את סכום ההימור מהשלב הקודם ב 3 (אם הימרנו על שקל נהמר על 3 שקלים) ונשים אותו שוב על האדום.<br />
4. אם הפסדנו חוזרים על שלב 3, אם ניצחנו חוזרים אל שלב 1. </p>
<p>איך זה מתרגם לרווחים? הטבלה הבאה תמחיש את המספרים בצורה הטובה ביותר</p>
<table>
<tr class="tableTitle">
<td>הימור</td>
<td>זכיה</td>
<td>השקעה</td>
<td>רווח</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>3</td>
<td>6</td>
<td>4</td>
<td>2</td>
</tr>
<tr>
<td>9</td>
<td>18</td>
<td>13</td>
<td>5</td>
</tr>
<tr>
<td>27</td>
<td>54</td>
<td>40</td>
<td>14</td>
</tr>
<tr>
<td>81</td>
<td>162</td>
<td>121</td>
<td>41</td>
</tr>
</table>
<p>בשלב הראשון הימרנו על שקל וזכינו &#8211; השקעה של שקל, רווח של שקל<br />
השלב השני מניח שלא זכינו בשלב הראשון &#8211; אנחנו מהמרים על 3 שקלים אבל כבר השקענו 4 שקלים. אם נזכה נקבל 6 שקלים והרווח הוא 2 שקלים<br />
השלב השלישי (בהנחת הפסד בשני) &#8211; הימור על 9, השקעה כוללת של 13, סכום מזכיה &#8211; 19 שקלים והרווח הוא 5 שקלים.<br />
העסק הזה ממשיך שוב ושוב וגדל ואיתו התקווה לזכיה שכן בסיבוב ה 6 אנחנו מהמרים כבר על 243 שקלים מה שמקפיץ את ההשקעה שלנו ל 364 שקלים. זה עוד אפשרי אבל אם נכנסנו לקזינו עם אלפיה הרי שלא נוכל לעמוד בהימור השביעי &#8211; 729 שקלים שיגרור השקעה מצטברת של 1093 שקלים.<br />
אפשר כמובן להקטין את המכפלה &#8211; אם נרד לכפולות של 2.5, עדיין נרוויח ונוכל להרשות לעצמנו גם את הסיבוב השביעי אבל הרווחים כמובן יקטנו. לחילופין אפשר להביא כמובן הרבה יותר כסף ולקוות להגיע למספר ניסיונות גדול יותר. ההפרש שבין מכפלה של 2.5 ל 3 בסיבוב העשירי היא כ 8500 שקלים, אבל מצריכה מאיתנו השקעה של כ 30K שקל במכפלה של 3 לעומת 6500 שקלים במכפלה של 2.5. </p>
<p> היות ובכל פעם שאנחנו זוכים אנחנו למעשה מאפסים את ההימור ומתחילים מחדש משקל אחד אנחנו תמיד מרוויחים והיות וברולטה תיקנית הסיכוי הוא תמיד 50:50 הרי שהאדום בסופו של דבר יגיע, השאלה היא האם זה יהיה לפני שיגמר ההון ההתחלתי או שיעיפו אותנו מהקזינו. </p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/zqaYiOUEvnM" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1477/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1477</feedburner:origLink></item>
		<item>
		<title>‫שימוש בקובץ htaccess‏‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/WiN6z2LDB0M/1466</link>
		<comments>http://n2b.org/archives/1466#comments</comments>
		<pubDate>Sat, 12 Sep 2009 21:00:51 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[אופטימיזציה]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1466</guid>
		<description><![CDATA[&#8235;קובץ htaccess הוא קובץ הגדרות המאפשר להקל מאוד על עבודת השרת ולשפר את חווית השימוש לגולש. קובץ htaccess בנוי היטב יכול הן להפחית את העומס על השרת והן לשפר את מהירות הגשת העמודים.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>כשהבלוג הזה התחיל את דרכו, הוא רץ על גבי מחשב ביתי שהריץ חלונות ועליו התקנתי בין היתר את כל הדרוש להרצה של בלוג ולאחר זמן מה הוא עבר לאיכסון שיתופי מינימאלי בגו-דאדי. המשותף היה מבנה התיקיות (או למעשה חוסר ההבנה שלי לגבי תיקיות) וכך הייתה תיקיית וורדפרס ואל תוכה השלכתי שלל תיקיות נוספות עם שמות כגון images או files. אל התיקיות הללו ניתן היה להגיע כמובן על ידי הוספת שם התיקיה לאחר כתובת הבלוג. טכנית, זה עבד &#8211; לא הייתה שם שום בעיה, אבל בכל פעם שרציתי לשדרג את וורדפרס התחלתי להסתבך עם הקבצים.<br />
שיטת העבודה הזו הייתה כורח בעבודה מול גו דאדי שכן בחשבון המינימלי הם לא אפשרו שיוך של סאבדומיינים לספריות אחרות או משהו בסיגנון. אבל, כשעברתי לדרימהוסט הקונספט השתנה. מהר מאוד העברתי את התיקיות הללו אל מחוץ לתיקייה של וורדרפס ויצרתי להן סאב-דומיינים כגון images.n2b.org. זו הייתה פעולה פשוטה בהתחלה אבל מהר מאוד התחילו להופיע בלוגים שגיאות 404 מרובות, מסתבר שביותר מדי פוסטים ברחבי המערכת שילבתי הפניות אל מבנה התיקיות הישן ולא עידכנתי את הכתובת לצורה החדשה.<br />
טכנית, יכולתי לעבור בין כל הפוסטים ולשנות את כל ההפניות הנדרשות, בפועל זה הצריך יותר מדי עבודה והתיאשתי בערך אחרי 4 פוסטים. הפיתרון הגיע בדמותו של תוסף ה wp-redirect שמאפשר להגדיר הפניה מכתובת במבנה אחד לכתובת במבנה אחר. התוסף היה נוח למדי והיות ובאותה התקופה גם הפכתי חלק מהקטגוריות לתגיות עשיתי בו שימוש נרחב. אחת הבעיות הגדולות ביותר הופיעה במסד הנתונים שלי כשעד מהרה הלוג של התוסף תפח לגודל של כמה עשרות מגה, אבל הבעיה האמיתית היא צורת העבודה של התוסף &#8211; בכל פעם שמשתמש מבקש דף מהאתר, התוסף עובר על רשימת כל ההפניות הקיימות ובודק אם יש התאמה. אם כן &#8211; הוא מבצע את השינוי הנדרש ואם לא מתקבל הדף המקורי &#8211; שיטת עבודה זוללת משאבים.</p>
<p>הפיתרון הגיע בעזרת שימוש בקובץ htaccess שהוא למעשה קובץ קונפיגורציה לשרת אפאצ'י. ברגע שממקמים את הקובץ בתיקיה הרלוונטית ניתן להכתיב לשרת דרכי התנהגות מסוימות. השרת טוען את קובץ ההגדרות ומגיש את הקבצים על פי ההוראות הקיימות בו &#8211; פעולה המאפשרת להקל על עבודת ה PHP. למעשה מה שהתוסף עשה קודם, דומה למה שעושים tinyurl ודומיהם &#8211; הם מקבלים כתובת ספציפית, בודקים לאן היא צריכה להפנות ומחזירים למשתמש את הקישור החדש ביחד עם <a href="http://en.wikipedia.org/wiki/HTTP_302">הודעת 302</a>. אבל היות והמבנה הוא תמיד זהה, מדוע לא להשתמש בקובץ ה htaccess כדי לעשות את ההפניה הזו?</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">Redirect /images http://images.n2b.org</div>
</li>
</ol>
</div>
<p>השורה הבודדת הזו בקובץ הקונפיגורציה אומרת בעצם לשרת שכל בקשה לקובץ בנתיב מהצורה n2b.org/images יש להפנות אל images.n2b.org &#8211; שורה אחת, בלי ניהול מסד נתונים, בלי מאמץ על ה PHP.</p>
<p>הדומיין הקודם שלי היה the-nzb.com ובשלב מסויים העברתי אותו ל n2b.org, אחד הדברים שלא עשיתי (ואולי חבל שלא) היה לטפל בכל הקישורים שעדיין הגיעו אל the-nzb.com. מה שעשיתי בפועל זה הפניה פשוטה דרך פאנל הניהול של דרימהוסט כך שכל מי שינסה להגיע אל הדומיין הישן יועבר אל העמוד הראשי של הדומיין החדש. בפועל, אפשר לדאוג לכך בעזרת htaccess.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">RewriteCond %{HTTP_HOST} ^(.*)the-nzb.com [NC]</div>
</li>
<li class="li1">
<div class="de1">RewriteRule ^(.*)$ http://n2b.org/$1 [R=301,L]</div>
</li>
</ol>
</div>
<p>החלק הכי חשוב בכל הסיפור הוא הודעת ה 301 &#8211; עבר תמידית. כך, מנועי חיפוש שעדיין ניגשים לכתובת הישנה שלכם יבינו שהכתובת עודכנה ויתיחסו לכך בהתאם. לצערי לא דאגתי לכך בהתחלה, עכשיו זה כבר לא כל כך רלוונטי.</p>
<p><strong>הגדרת פג תוקף לקבצים</strong></p>
<p>מי שמשתמש בתוסף Yslow של יאהו בוודאי מכיר את ציוני הנכשל התמידיים שמקבלים על תוקפם של קבצים (Add Expires headers). ברמת העיקרון כשמשתמש נכנס לאתר בפעם הראשונה הוא מוריד ממנו את כל הקבצים ושומר בזיכרון של הדפדפן. אם לא מוגדר עבור הקבצים פג תוקף ארוך טווח, הקבצים הללו ימחקו במהירות ובכניסה הבאה שוב יהיה צורך להוריד את כל הקבצים מהשרת. הגדרה של פג תוקף ארוך אומרת בעצם לדפדפן לשמור את הקבצים הללו לתקופה ארוכה (חודש ומעלה, אבל אין גבול) בזיכרון שלו ולהשתמש בהם כשהוא קורא את העמוד. ככה למעשה הדפדפן של המשתמש מוריד רק את הקוד עצמו ולא את שלל התמונות, קבצי ה JS וה CSS המצורפים &#8211; נפח שיכול להגיע ל 2-3 מגה בקלות ואף יותר. המשתמש מקבל את העמודים הרבה יותר מהר והשרת מקבל פחות בקשות לקבצים &#8211; ומכאן הפחתה של העומס על השרת. בעיקרון זה פיתרון אידיאלי, בפועל עלול להיות לו מחיר כבד. אם למשל יצאתם מתוך נקודת הנחה שאתם לא מתכוונים להחליף את ערכת העיצוב שלכם בתקופה הקרובה ושמתם לקובץ ה CSS שלכם פג תוקף של חצי שנה אבל אחרי שבועיים עשיתם בו תיקון (קטן כגדול) אתם עלולים לגלות שעד חצי שנה לאחר מכן המשתמשים שלכם אינם רואים את השינויים הללו. הפיתרון הוא כמובן לרוקן את המטמון של הדפדפן, אבל לך תסביר לכלל הגולשים למה הכוונה ואיך לעשות זאת. יש פיתרונות איגוף, הפשוט מכולם הוא לשנות את שם הקובץ אבל רוב ערכות העיצוב של וורדפרס משתמשים בפונקציה המובנית כדי להגיש קובץ הנקרא style.css מתיקיית העיצוב. לכן, כדאי להשתמש בזהירות.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;ifmodule mod_expires.c&gt;</div>
</li>
<li class="li1">
<div class="de1">ExpiresActive On</div>
</li>
<li class="li1">
<div class="de1">ExpiresByType text/css &quot;access plus 7 days&quot;</div>
</li>
<li class="li1">
<div class="de1">ExpiresByType text/javascript &quot;access plus 30 days&quot;</div>
</li>
<li class="li2">
<div class="de2">ExpiresByType image/png &quot;access plus 30 days&quot;</div>
</li>
<li class="li1">
<div class="de1">ExpiresByType image/gif &quot;access plus 30 days&quot;</div>
</li>
<li class="li1">
<div class="de1">ExpiresByType image/jpeg &quot;access plus 30 days&quot;</div>
</li>
<li class="li1">
<div class="de1">ExpiresByType image/jpg &quot;access plus 30 days&quot;</div>
</li>
<li class="li1">
<div class="de1">ExpiresByType application/x-shockwave-flash &quot;access plus 30 days&quot;</div>
</li>
<li class="li2">
<div class="de2">&lt;/ifmodule&gt;</div>
</li>
</ol>
</div>
<p>השימוש ב ifmodule נועד למנוע מצב שבו השרת לא תומך בפג תוקף, בדרך כלל אין מה לחשוש, אבל תמיד כדאי להיות בצד הבטוח. התחביר פשוט מאוד &#8211; סוג הקובץ ותקופת הפג תוקף, כאשר access plus 30 days אומר בעצם 30 יום מהגישה לקובץ. את ה css כאן בחרתי לקצוב למשך שבוע מיום הגישה, תמונות ואנימציות פלאש למשך חודש. </p>
<p><strong>דחיסת קבצים</strong><br />
האמת היא שדחיסת קבצים דווקא גורמת לשרת לעבוד עוד קצת ולכן מעלה טיפה את העומס עליו, מצד שני היא מקצרת את זמן הגשת הקבצים למשתמש ולכן עדיפה. חשוב לציין שאנחנו רק דוחסים קבצים טקסטואלים ולא מנסים לדחוס קבצים בינאריים (פלאש, תמונת וכ')</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;ifmodule mod_deflate.c&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; SetOutputFilter DEFLATE</div>
</li>
<li class="li1">
<div class="de1">&nbsp; AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/x-javascript</div>
</li>
<li class="li1">
<div class="de1">&lt;/ifmodule&gt;</div>
</li>
</ol>
</div>
<p><strong>לסיכום</strong><br />
נגעתי פה במשמעות של htaccess ברמה של על המזלג על מנת להדגים את החשיבות שלו וישומים רלוונטיים שלו בוורדפרס. הקובץ הזה הוא עולם שלם המספק שלל אפשרויות לניהול השרת. אפשר להשתמש בו כדי לעבור מאתר סטטי (מבוסס Html) לאתר דינמי (מבוסס php) בקלות ומבלי לפגוע בקישורים הקיימים. ניתן להשתמש בו כדי לנהל מערך של כתובות יפות מבלי לעבור דרך קובץ php (פונקציה שוורדפרס לא עושה בה שימוש) ועוד היד נטויה. בפועל שימוש מושכל ב htaccess יכול לגלם שינוי משמעותי ברוחב הפס כמו גם בשימוש במעבד &#8211; שני פקטורים חשובים במיוחד באיכסון שיתופי. </p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/WiN6z2LDB0M" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1466/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1466</feedburner:origLink></item>
		<item>
		<title>‫אופטימיזציית וורדפרס – PHP ותחזוקת קוד‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/blbRj8fQMzE/1461</link>
		<comments>http://n2b.org/archives/1461#comments</comments>
		<pubDate>Wed, 02 Sep 2009 10:21:23 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[אופטימיזציה]]></category>
		<category><![CDATA[איכסון]]></category>
		<category><![CDATA[קוד]]></category>
		<category><![CDATA[שרת]]></category>
		<category><![CDATA[תחזוקת קוד]]></category>
		<category><![CDATA[תוספים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1461</guid>
		<description><![CDATA[&#8235;הפיתוי להשתמש בתוספים עבור מערכות CMS מוכנות הוא גדול אבל יכול להיות הרסני. השלב הראשון באופטימיזציה של אתרים מבוססי וורדפרס דרופל ואחרים היא לסלק את כל מפגעי ה PHP הקטלניים. &#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>אחד הדברים הכי נחמדים בוורדפרס זה העושר בתוספים וערכות עיצוב. במשך ארבע וחצי השנים שאני עם וורדפרס אני לא חושב שנתקלתי במצב שבו רציתי לעשות משהו ולא היו כבר לפחות 3 תוספים שעשו משהו דומה למה שרציתי. מי שמשתתף בקבוצת הדיון של וורדפרס בעברית בוודאי שם לב שהתגובה הכמעט אינסטנקטיבית לשאלה איך עושים את זה היא – מורידים תוסף מהאתר. ואכן, השימוש בתוספים הוא פשוט ונוח אבל אחרי זמן מה של פעילות אתה מציץ בלוח התוספים בפאנל הניהול ומגלה שמותקנים 40 תוספים, מתוכם 20 פעילים, 9 זקוקים לעידכון ואין לך מושג מה עושים 50% מתוכם. </p>
<p>כל תוסף שכזה הוא למעשה עוד שורה של פונקציות שוורדרפס מריצה בכל פעם שהיא טוענת עמוד. עוד סריקה של תוכן של פוסט והתעסקות בתכנים שלו בכל פעם שהפוסט מוצג וכ'. חלק מהפונקציונאליות הזו מיותרת, חלקן מקורן בתוספים שכבר אינם רלוונטים ופשוט הגיע הזמן לעשות ניקוי כללי.</p>
<p><strong>תוספים שאין בהם צורך</strong></p>
<p>כך למשל, פעמים רבות כשאני מבצע עבודות תחזוקה לבלוגים של לקוחות שרצים כבר זמן מה אני מוצא תוספים לניהול תגיות – פונקציונאליות שלא הייתה קיימת בוורדפרס מתחילת דרכה והוספה רק בשלב מאוחר יותר. אבל אם התוסף רץ והעסק עובד – רוב האנשים מעדיפים לא לגעת.<br />
דוגמא אחרת אפשר למצוא אצלי במערכת התגובות – התגובות המשורשרות. עד לא מזמן השתמשתי בתוסף תגובות משורשרות על מנת להציג דיון בתגובות פשוט כי לוורדרפס לא הייתה פונקציונאליות שכזו. אבל לפני כמה גירסאות (2.7 כמדומני) התווספה תמיכה מובנית של וורדפרס בשירשור של תגובות. עצוב ככל שזה יהיה להודות בכך – רק כשדרימהוסט הורידו לי את האתר הורדתי סוף סוף את התוסף הזה.</p>
<p><strong>זללני משאבים</strong></p>
<p>עד לא מזמן השתמשתי כאן <a href="http://firestats.cc/">בפיירסטאט</a> של <a href="http://firefang.net/blog/">עמרי ידן</a> – תוסף סטטיסטיקות מצויין שהתחיל כנגזרת של תוסף הסטטיסטיקות counterize. ספריית התוסף של פיירסטאט שוקלת כ 4.5 מגה ואחרי כמות נאה של חודשי שימוש נצבר במסד הנתונים מידע בנפח של 33 מגה הפרוסים על גבי 20 טבלאות. פיירסטאט הוא באמת תוסף מצויין ואהבתי את השימוש בו ואת השילוב שלו עם וורדפרס (שלא לדבר על הזמינות המעולה של עמרי) אבל זה קצת יותר מדי בשביל הצרכים שלי ויש לזה משמעות מורגשת מבחינת הביצועים בשרת.</p>
<p><strong>פונקציות שעושות רעש מיותר. </strong></p>
<p>פעם התחלתי לכתוב מדריך שמסביר כיצד להשתמש ב PHP על מנת לייצר רקע שמציג את מצב הירח לפי היום בחודש. אם זה לא נשמע מסובך, צריך רק לזכור שקובץ css לא מאפשר פונקציונאליות של php בתוכו ולכן צריך להתחכם קצת. בפועל קוראים לקובץ בשם image.php כרקע בתוך ה CSS כאשר בתוך קובץ ה PHP קיימת הפונקציונאליות שמגישה את הקובץ המדובר. רק שמצב הירח מתחלף פעם ביום ואין באמת טעם להריץ את הפונקציה הזו מאות פעמים בכל יום. </p>
<p>דוגמא אחרת היא תבנית העיצוב בה אני משתמש. כפי שניתן לראות מדובר בתבנית מגזינית שמציגה את הכתבה הראשית כגדולה ועוד 5 כתבות אחרונות כקטנות. מי שכתב את התבנית הזו (<a href="http://www.darrenhoyt.com/2007/08/05/wordpress-magazine-theme-released">מימבו</a>) חשב על נוחיות המשתמש והכניס פה פונקציה שמחפשת עבור כל פוסט האם משוייכת לו תמונה ואם כן – מציגה את התמונה מוקטנת ליד הפוסט. כעיקרון, זה טריק מאוד שימושי ולא קשה כלל לישום אבל בכל הרצה שלו ניגשת הפונקציה למסד הנתונים, שולפת את התוכן של הפוסט הספציפי ואז עוברת על הקוד שלו כדי לחפש img src. אם היא מוצאת – מוחזרת תגית תמונה. אם בכל טעינה של הדף הראשי מוצגות 6 תמונות הרי שוורדפרס מריצה את הפונקציה הזו 6 פעמים. בעבור אתר עם 500 דפים נצפים ביום אנחנו מדברים על 3000 הרצות של הסקריפט – קצת מטופש בהתחשב בעובדה שהתמונה הזו היא תמונה קבועה. </p>
<p>הפיתרון המהיר ביותר היה להשתמש בשדות המותאמים אישית ולשייך עבור כל פוסט תמונה רלוונטית בעזרת התגית מטא lead-image. את התמונה מעלים כרגיל בעזרת העורך (או מעתיקים קישור של כל תמונה ברחבי האינטרנט) וורדפרס יודעת למשוך אותה בקלות כחלק מהמעבר על הלופ. (קישור למדריך: http://n2b.org/archives/551)<br />
למעשה, בשיטה הזו החלפנו 6 קריאות למסד הנתונים וסריקות קוד מיגעות בשימוש בפונקציה מובנית של וורדפרס שנטענת כחלק מהלופ – כמות העבודה שנחסכה פה מהשרת היא משמעותית.</p>
<p><strong>הזרקות קוד לערכה</strong></p>
<p>מי שטרח לנסות לפתח ערכה לוורדפרס בוודאי מכיר את שתי הפונקציות wp_head ו wp_footer. שתי הפונקציות הללו הן עוגנים עבור תוספים שצריכים להכניס מידע להדר או לפוטר ולרוב משמשות כדי להכניס סקריפטים ותבניות עיצוביות נדרשות לתוספים. כך למשל תוספים של צביעת קוד טוענים קובץ CSS המכיל את הגדרות הצבעים ואילו תוסף הלייטבוקס לתמונות דוחף פנימה ג'אווה סקריפט שאחראי לטיפול בתצוגת התמונה בשכבה עילית.<br />
אחת הבעיות העיקריות עם פיתוח תוספים לוורדרפס היא שכל מפתח משתמש במה שאהוב עליו ומכניס קריאה עבורו לקוד. לכן, אם מפתח א' יצר תוסף המבוסס על Jquery בעוד שהשני השתמש ב prototype והשלישי ב scriptaculous, תגלו שטענתם אל הערכה שלכם שלוש סביבות עבודה של JS, ומי שיציץ בקוד של האתר שלי יגלה שגם שם יש כפילויות כי מפתחים שונים עבדו עם גירסאות שונות של סביבות הפיתוח.<br />
לצערי, עדיין לא סיימתי עם הטיפול הזה ב JS אבל הנה דברים שאפשר (וצריך) לעשות אבל באמת מומלץ שרק מי שבקי בנושא יטפל בהם.</p>
<ol>
<li>לבחור רק תוספים שמשתמשים באותה סביבת הפיתוח (רק scriptaculous או רק jquery) האמת שזה יותר קל להגיד מלעשות. </li>
<li>לבטל את הזרקת הקוד ע&quot;י התוספים אל תוך ההדר וקריאה אל סביבת ה JS רק פעם אחת ידנית דרך הערכה (גוגל אגב מאכסנת אצלה עותקים ממוזערים של הסביבות). </li>
<li>את הסקריפטים הקטנים שמכילים בעצם רק את הפונצקיות הרלוונטיות לתוסף הספציפי אפשר לרכז אל תוך קובץ JS אחד ולטעון אותו בסוף הקובץ.</li>
</ol>
<p>הסבר מצוין באנגלית ניתן למצוא <a href="http://justintadlock.com/archives/2009/08/06/how-to-disable-scripts-and-styles">כאן</a> אם תעלה דרישה אני אתרגם.</p>
<p><strong>להעביר פונקציונאליות לדפדפן המשתמש</strong></p>
<p>לפני כמה זמן כתבתי פה מדריך קצת המסביר כיצד להציג בעזרת JS חותמת זמן באתר כשהשאלה העיקרית הייתה למה לא לעשות את זה בעזרת php. הבעיה העיקרית היא ש php רצה על שרת ולכן הזמן הוא תמיד זמן שרת ולכן גולש בארה&quot;ב ובישראל שיכנסו באותו זמן יראו אותה שעה. נכון, ישנן ספריות GeoCode שיודעות להמיר כתובת IP למדינה ומכאן ניתן לגזור את הפרשי הזמנים אבל שוב – מדובר בהרצה מיותרת של קוד על השרת מאות פעמים ביום. לעומת זאת, העברה של הפונקציונאליות הזו ל JS מנצלת את כוח החישוב של המשתמש ולכן מעמיסה פחות על השרת עצמו כמו גם כמעט ולא מורגשת מבחינת משאבים אצל המשתמש.<br />
אותו דבר אגב לגבי נושא תמונת הרקע – במקום לתכנת פונקציונאליות לקובץ php אפשר ליצור קובץ JS פשוט שיקרא לתמונה הרלוונטית ויטמיע אותה בעמוד בזמן טעינת האתר. גם כאן המשמעות מבחינת הגולש היא אפסית אבל החיסכון בזמן מעבד הוא משמעותי. </p>
<p>אלו רק מספר דוגמאות לפעולות שהן הכרחיות לביצוע אופטימיזציה של הבלוג, אבל נכונות גם לכל אתר אחר גם אם אינו מבוסס על וורדפרס. אני מניח שמי שרוצה לעשות אופטימיזציה של דרופל או ג'ומלה יגלה שהנקודות הללו רלוונטיות גם עבורו. </p>
<p><strong>לסיכום</strong></p>
<ol>
<li>היפטרו מתוספים מיותרים – ורצוי על ידי מחיקה שלהם מתיקיית התוספים.</li>
<li>הימנעו מקטעי קוד שרצים שוב ושוב בלי סיבה מיותרת.</li>
<li>העבירו פונקציונאליות אל מחשב המשתמש.</li>
<li>השתמשו בפונקציות מובנות של וורדפרס במקום בתוספים כשאפשר.</li>
</ol>
<p>יש לכם תוספות? תובנות? הערות והארות יתקבלו בברכה.</p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/blbRj8fQMzE" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1461/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1461</feedburner:origLink></item>
		<item>
		<title>‫לא נעים לראות אתר סגור‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/F9eSsOIB4No/1456</link>
		<comments>http://n2b.org/archives/1456#comments</comments>
		<pubDate>Sat, 29 Aug 2009 21:46:32 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[אופטימיזציה]]></category>
		<category><![CDATA[פיתוח]]></category>
		<category><![CDATA[קוד]]></category>
		<category><![CDATA[שרת]]></category>
		<category><![CDATA[תכנות]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1456</guid>
		<description><![CDATA[&#8235;בשישי שעבר, רגע לפני שהלכתי לישון הצצתי לרגע בתיבת הדואר שלי כדי לראות אם הגיע משהו מעניין, לצערי המכתב היחיד היה מכתב מדרימהוסט והוא מסוג המכתבים שאף אחד לא רוצה לקבל – אזהרה על חריגה בזמן מעבד – אחרי יומיים של עבודה אינטנסיבית קיבלתי אישור להרים חזרה את האתר. 
שתי צורות איכסון עיקריות קיימות – [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>בשישי שעבר, רגע לפני שהלכתי לישון הצצתי לרגע בתיבת הדואר שלי כדי לראות אם הגיע משהו מעניין, לצערי המכתב היחיד היה מכתב מדרימהוסט והוא מסוג המכתבים שאף אחד לא רוצה לקבל – אזהרה על חריגה בזמן מעבד – אחרי יומיים של עבודה אינטנסיבית קיבלתי אישור להרים חזרה את האתר. </p>
<p>שתי צורות איכסון עיקריות קיימות – האיכסון השיתופי והשרת היעודי. השרת היעודי הוא כמובן האופציה היקרה יותר (מאוד) ובמקרה שכזה תקבלו שרת שישמש אתכם בלבד כמעט ללא חשבון לאיש (יש שרתים אמיתיים ויש וירטואלים אבל העיקרון זהה). באיכסון השיתופי לעומת זאת ישנו שרת אחד המחלק את כל משאביו בין מספר מסוים של משתמשים. שני הנתונים שכולם טורחים להציג בר' גלי הם גודל שטח האיכסון ונפח התעבורה החודשי, אבל שני משאבים קריטים לרוב מוסתרים מהמשתמש ומוצגים רק באותיות הקטנות – הקצאת זיכרון וזמן מעבד. </p>
<p>מתוך ארבעת הפרמטרים ניתן למנוע חריגה בשנים בקלות – גודל המחיצה בדיסק ונפח הזיכרון. גם את נפח התעבורה החודשי ניתן למנוע בקלות מראש אבל רוב הספקים יתנו לכם לחרוג ויגבו מכם תשלום נוסף עבור הנפח החורג. </p>
<p>נשארנו אם כך עם הגורם הרביעי – זמן מעבד ולמרות שיש שלל מנגנונים לניהול זמן ריצה של התהליכים זהו הגורם שהכי קשה למנוע ואפשר לטפל בו בעיקר בדיעבד. ברוב הזמן, עבור רוב האתרים אין שום בעיה, גם בניה שהיא לא אופטימלית עבור אתר קטן לא תגרום לו לגזול נתח נרחב מזמן המעבד. הבעיה מתחילה כאשר אתר שאינו בנוי בצורה אופטימלית מתחיל לקבל כמות רבה של כניסות. זה יכול להיות בגלל הדיגג-אפקט המפורסם, פוסט טוב, פוסט ויראלי או סתם רובוט חיפוש שפגש את האתר לראשונה והחליט לאנדקס את כולו ולהביא גם את החברה – כך או כך, בתקופה קצרה יחסית האתר זולל את משאבי המעבד ומתחיל לפגוע בביצועים של האתרים האחרים על אותו שרת שיתופי. כאן כבר יתחילו לזרום תלונות של לקוחות על איטיות מה שיוביל לבדיקה של הלוגים של השרת ומהר מאוד ינחת באתר שלכם מייל המבשר על כך שהאתר הוקפא עם בקשה להוריד מדרישות המעבד.</p>
<p><strong>אז מה עושים</strong></p>
<p>האמת שאין פיתרון קסם שמתאים לכולם וכל אחד יצטרך לעבור על כל המאפינים של השרת שלו ולחשוב איפה הוא יכול לקצץ, אבל בסידרת המאמרים הבאה אני מתכוון לגעת בכמה גורמים עיקריים וכיצד לטפל בהם. אפשר לקרוא לזה ראשי פרקים, אני אלנקק בהמשך לפי הצורך. </p>
<ol>
<li>הקטנת קריאות של PHP</li>
<li>שימוש ב Htaccess</li>
<li>טיפול במסד הנתונים</li>
<li>קאשינג</li>
<li>אוטומציה של תהליכים</li>
<li>אופטימיזציה של תוכן</li>
</ol>
<p>הערה חשובה: בניגוד לגישת ה&quot;וורדפרס ב 5 דקות – גם אני יכול&quot; המאמרים הללו מיועדים לאנשים שחיים ונושמים וורדפרס או לפחות יודעים מה הם עושים. הנחת הבסיס היא שכשאני אומר להריץ שאילתה על מסד הנתונים אתם יודעים מה זה אומר ויודעים מה הנזק שעלול להיגרם בעקבות טעות שלכם – במילים אחרות, כמו שאומר הקוסם רגע לפני שהוא בולע לפיד – אל תנסו את זה בבית – אם אתם לא יודעים מה לעשות או שזה נשמע לכם כמו ג'יבריש פנו למישהו שיודע. </p>
<p><strong>שלב ראשון – התמודדות עם משבר.<br />
</strong><br />
התגובה הראשונה שלי הייתה – איך הם מצפים שאני אטפל בבעיות אם הם הורידו לי את האתר ולרגע רציתי להעלות את האתר בחזרה לאוויר. רק כשקראתי את המייל בפעם השניה שמתי לב לאזהרה בפני העלאת האתר לאוויר מבלי טיפול בבעיות היא עילה לסגירת החשבון – ואנחנו לא רוצים את זה.</p>
<p>לכן, קודם כל נטרח לטפל בבעיה הנקודתית והחשובה מכל – אנשים מגיעים לבקר והאתר לא קיים – קרוב לוודאי שהדבר הראשון שתרצו לעשות זה להרים עמוד HTML פשוט שמסביר כי האתר למטה לצורך תחזוקה ושהם מוזמנים לבקר מאוחר יותר. תרגישו חופשי לשלוח אותם אל עמוד הפליקר / פייסבוק / טוויטר שלכם – רק שידעו לחזור אחר כך. אם יש לכם הערכת זמן לעליה מחודשת – פרסמו אותה.</p>
<p>השלב השני יהיה למעשה להתחיל מחדש – התקנה נקייה של וורדפרס. נכון שוורדפרס מאפשרת שידרוג בקליק ישירות מתוך מסך האדמין, אבל אם הבלוג שלכם מספיק וותיק יש מצב שהוא כבר עבר מספיק שידרוגים והסיכוי שנתקע שם איזה קטע קוד לא רצוי גדל. לכן, בשלב הראשון יש להוריד את הגירסה האחרונה של וורדפרס ולפרוס אותה על השרת בתיקייה חדשה. </p>
<p>הערה: לצורך הדיון והדוגמאות אני אניח שאנחנו נמצאים בספריה בשם web הבלוג הישן יושב בתיקיה dis-blog והחדש יושב בתיקיה wordpress (בתיקיה blog יושב עמוד ה HTML שהכנו).</p>
<p>לאחר יצירת ההתקנה הנקיה נתחיל בהעתקה של הקבצים החשובים – wp-config.php, קבצי ערכת העיצוב וספרית העלאות המדיה. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">cp</span> -a web/dis-blog/wp-config.php web/wordpress/wp-config.php</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">cp</span> -a web/dis-blog/wp-content/uploads web/wordpress/wp-content/uploads</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">cp</span> -a web/dis-blog/wp-content/themes/yourthemename web/wordpress/wp-content/ themes/yourthemename</div>
</li>
</ol>
</div>
<p>אם אין לכם ממשק shell תאלצו לעשות את זה בדרך הקשה – להוריד את כל הקבצים למחשב שלכם ואז להעלותם מחדש.<br />
לא העתקתי את התוספים ועל זה הסבר בהמשך. </p>
<p>כעת ניצור תת מתחם חדש (כל אחד לפי הוראות הספק שלו) – אם הבלוג ישב קודם ב blog.com ניצור משהו בסיגנון test.blog.com ונפנה לספריה החדשה. בגלל שהעתקנו את wp-config החיבור למסד הנתונים צריך לעבוד ברגע שנתחבר אל הדומיין החדש, אך בגלל שלא שינינו את הכתובת של הבלוג במסד הנתונים, חלק מהתכנים (תמונות, קבצי CSS וכ') עלולים שלא להופיע. לצורך כך יש להתחבר אל מסד הנתונים (דרך phpmyadmin או כל כלי מועדף אחר) ולמצוא את האפשרות שנקראת siteurl</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> * <span class="kw1">FROM</span> wp_options <span class="kw1">WHERE</span> option_name=<span class="st0">&quot;siteurl&quot;</span></div>
</li>
</ol>
</div>
<p>ערכו את הלינק בערך זה כך שיצביע לשם המתחם החדש – עכשיו לכשתכנסו לכתובת החדשה הכל אמור להראות תקין, אם כי רוב הסיכויים שתמונות בפוסטים לא תופענה שכן אם השתמשתם במערכת העלאת המדיה של וורדפרס ההצבעה היא לדומיין הקודם. זה לא ממש קריטי לנו, התמונות הן לא הבעיה כרגע.</p>
<p><strong>סוף ההתחלה</strong></p>
<p>לפני שהוסיפו בוורדפרס את אפשרות השידרוג האוטומטי השידרוג נעשה בצורה ידנית ע&quot;י העלאה של קבצים אל השרת תוך דריסה של הקבצים הקיימים. בפועל, אפשרות השידרוג האוטומטית עובדת באותה הדרך בדיוק. על פניו זה אמור לעבוד בצורה מושלמת, אבל אף אחד לא מתיחס לקבצים שנזנחו, שונו ע&quot;י המשתמש ואפילו קבצים שהועלו בצורה לא נכונה &#8211; בפועל, עבור מישהו כמוני שמשתמש בוורדפרס עוד מגירסאות ה 2.1 הראשונות, קרוב לוודאי שהצטבר הרבה זבל בתיקיה ויכול להיות שהוא מעיב על הביצועים. בדיוק כמו שפעם בכמה זמן המחשב דורש פירמוט והתקנה מחדש כך גם המצב פה לדעתי וכדאי לעשות התקנה נקייה על מנת לוודא שאנחנו לא גוררים איתנו ג'אנק.<br />
בכוונה לא העתקנו את התוספים שכן זה ידגים לנו את המקומות בהם שולבו תוספים בצורה לא חכמה אל תוך המערכת (בדרך כלל תגיע הודעת שגיאה על קריאה לפונקציה לא קיימת) מה גם שהגיע הזמן לבחון במה אנחנו משתמשים, האם אנחנו צריכים את זה ולמה &#8211; אבל זה, כבר למאמר הבא.</p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/F9eSsOIB4No" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1456/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1456</feedburner:origLink></item>
		<item>
		<title>‫שקר ה Usim, הבל הדאטה‬</title>		<link>http://feedproxy.google.com/~r/n2b/EtwF/~3/oNI4QR9DkBI/1443</link>
		<comments>http://n2b.org/archives/1443#comments</comments>
		<pubDate>Tue, 18 Aug 2009 21:45:35 +0000</pubDate>
		<dc:creator>‫~ניצן~‬</dc:creator>				<category><![CDATA[סלולר]]></category>
		<category><![CDATA[אורנג']]></category>
		<category><![CDATA[סלקום]]></category>
		<category><![CDATA[דאטה]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1443</guid>
		<description><![CDATA[&#8235;חברות הסלולר לא רוצות שתדעו, אבל אפשר להשתמש בכרטיס SIM רגיל גם במכשירי דור 3.5 - כך תוכלו להימנע מלשלם 20 שקל בחודש על שירותי דור שלישי שאתם לא משתמשים בהם במילא. &#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><div id="attachment_1444" class="wp-caption alignleft" style="width: 270px"><a href="http://n2b.org/wp-content/uploads/2009/08/usim260.jpg" rel="lightbox[1443]"><img src="http://n2b.org/wp-content/uploads/2009/08/usim260.jpg" alt="לשימוש עם כרטיס USIM בלבד" title="לשימוש עם כרטיס USIM בלבד" width="260" height="230" class="size-full wp-image-1444" /></a><p class="wp-caption-text">לשימוש עם כרטיס USIM בלבד</p></div>
<p>אחד הדברים הראשונים שעושה אדם כשהוא עוזב את מקום עבודתו זה לסדר את נושא הסלולר. &quot;הטבת&quot; סלולר לעובד הפכה לסוג של סטנדרט במחוזותינו קצת כמו &quot;ביטוח מנהלים&quot; לכל פועל. המילכוד (מלבד ה 80 שקל מס שתשלמו כל חודש) הוא שאתם צריכים לזנוח את מספר הסלולר הישן שלכם ולעבור למספר של החברה. וכך זה גם היה כשהייתי בנענע, קיבלתי מכשיר דור 3.5 של נוקיה, עם כרטיס usim תואם ברשת סלקום במסגרת אותה &quot;הטבה&quot;. חודשיים או שלושה מאוחר יותר, קיבלתי במתנה את הנוקיה N95 שקלט בשמחה את כרטיס ה usim שלי וביחד שוחחנו וגלשנו באינטרנט הסלולארי תקופה ארוכה. </p>
<p>לאחר שהחזרתי לנענע את המכשיר שלהם, ניגשתי אל סלקום כדי להחיות מחדש את הקו הישן שלי ומתוך סוג של נאיביות שכזו ביקשתי גם כרטיס USIM במקום כרטיס ה SIM הרגיל שלי (שמלווה אותי מהימים שסלקום עברו ל GSM) ואז נחתה המכה &#8211; אנחנו יכולים לתת לך USIM אבל אז אתה חייב לשלם 20 שקל כל חודש על חבילת דור 3. תודה אבל לא תודה אמרתי ודחפתי את ה sim הרגיל שלי בחזרה אל הנוקיה N95 ומה אתם יודעים &#8211; זה עבד.<br />
כן, מכשיר הדור 3.5 שלי, שבגבו יש אזהרה שמחייבת להשתמש עם כרטיס דור 3.5 בלבד, עובד מצויין עם כרטיס SIM ישן בלי שום בעיה.<br />
נכון, אני לא יכול לבצע שיחות וידאו, וגם להשתמש בשירותי הפורטל 3G המתקדמים של הספקית הסלולארית שלי, אבל אני כן יכול להשתמש במכשיר שלי כמודם ולקבל קצב העברת נתונים של דור 3.5. כי מה לעשות, יכולות הגלישה של המכשיר אינן טמונות בכרטיס ה SIM שבגבו אלא בחומרה ובתוכנה של המכשיר. כך שאם המכשיר תומך בגלישת 3.5G והרשת המקומית תומכת בה, אזי זה הקצב שתקבלו. </p>
<p>השורה התחתונה, ואת זה חברות הסלולר כמובן לא רוצות שתדעו, היא שאם אתם לא רואים טלויזיה בדור השלישי (ואתם בטוח לא) ולא עושים שיחות וידאו (נו, מי עושה) ולא משתמשים בפורטל הסופר מתוחכם של המפעילה הסלולארית שלכם &#8211; גשו אל תחנת השירות הקרובה למקום מגוריכם, החזירו את כרטיס ה USIM ודרשו בתוקף כרטיס SIM ישן וביטול של מס &quot;חבילת שירותי הדור השלישי&quot;. </p>
<p><strong>וקצת על דאטה</strong><br />
שרון כתבה פוסט מזועזע על השירות של <a href="http://www.meshune.net/blog/?p=1493">סלקום</a> והיחס שלהם אל לקוחותיהם. בזמן האחרון מדברים הרבה על נושא חסימת ה Voip ע&quot;י סלקום, אני רק רוצה לציין שעל ה N95 שלי מותקן פרינג ולא נתקלתי עד היום בבעיות עם שיחות על גבי חבילת דאטה. מה שמעצבן אותי בסלקום זה הדרך בה היא מתמחרת את חבילת ה DATA שלהם. ראשית יש את ההפרדה המטופשת הזו בין חבילת ה WAP לחבילת ה DATA &#8211; כאילו שהוואפ אינו סוג של דאטה או שמדובר בתשתית שונה. כן, בסלקום יספרו לכם שמדובר בנקודת גישה שונה, אבל בחייכם, על מי אתם עובדים &#8211; זה כך כי אתם עשיתם שזה יהיה כך, לא כי יש בזה איזשהו צורך טכנולוגי.<br />
לפני חודש קיבלתי חשבונית מסלקום עם חיוב של 24 שקלים על הורדה של 300 KB דרך נקודת התקשורת של הוואפ. חשוב לציין שיש לי את חבילת הגלישה הסלולארית הבלתי מוגבלת בנפח (בתאוריה) עליה אני משלם 129 שקלים כל חודש. ועדיין סלקום רצו עוד 24 שקלים על 300 KB, חוצפה. הרבה זמן בטלפון, כמה שיחות והרבה העמדת פנים של מפגר שלא מבין איך מה ולמה ובסוף בסלקום הבינו ככל הנראה שאין ברירה וזיכו אותי.<br />
חשוב לציין שקודם היו לי שתי חבילות גלישה סלולארית &#8211; אחת ב 20 שקלים לחודש עבור WAP ועוד אחת ב 45 שקלים עבור Data &#8211; לטענת סלקום, כשביקשתי לבטל את שתי החבילות הללו ולעשות את החבילה שאינה מוגבלת בנפח הנציג היה צריך בעצם לנתק את היכולת שלי להתחבר ב Wap ובגלל שהוא לא עשה את זה הם מזכים אותי וחוסמים לי את ה wap. גם זו גישה מטומטמת לחלוטין שכן הפורטל הסלולארי של סלקום יושב על ה wap ואם אני ארצה להוריד משחק / רינגטון / טפט / ואטאבר אני כבר לא יכול (ולכן גם לא יכול לשלם לסלקום מלא כסף).<br />
אבל הדבר הכי מרתיח הוא התמחור של חבילת ה data &#8211; אצל סלקום אפשר לרכוש חבילה בנפח מוגבל של 100 מגה לחודש ב 45 שקלים או לא מוגבלת בנפח ב 129 שקלים &#8211; אין אמצע, אין אופציות אחרות &#8211; או קטן מדי, או גדול מדי. באורנג' למשל יש חבילת ביניים של 5 ג'יגה ב 85 שקלים ואין לי ממש מושג מה קורה בפלאפון. הקטע שהתעבורה החודשית שלי כרגע מגרדת את הג'יגה מלמטה &#8211; חריגה מטורפת בחבילה הקטנה ותשלום מופרך לחלוטין בסדר הגודל של החבילה הגדולה &#8211; אני מניח שכשאני אעבור לאורנג' זו תהיה הסיבה. </p>
<p>ותוספת קטנה, נכנסתי לאתר של סלקום ושם, בעמוד שמוקדש למכשיר האנדרואיד של סמסונג סלקום מפנה לביקורת של <a href="http://www.globes.co.il/news/article.aspx?did=1000489734&#038;fid=594&#038;fromMador=594&#038;fromErechMusafHP">צחי הופמן</a> על המכשיר. אחד המשפטים שתפסו את עיני: </p>
<blockquote><p>כל השירותים האינטרנטיים האלה צורכים תעבורת מידע רבה ולכן, אם לא רוצים להסתמך על התקן ה-Wi-Fi הפנימי, שצורך אנרגיה רבה מהסוללה, (שגם כך מחזיקה בקושי יום), תהיו חייבים לרכוש חבילת גלישה. לצורך כך, סלקום מציעה חבילה של 1 ג'יגה ב-69 שקל.</p></blockquote>
<p>אני משוכנע שבסלקום ינסו לטעון שזו חבילה יעודית לסמסונג, אבל מבטיח לנסות לברר מחר ולעדכן. </p>
<p><strong>עדכונים</strong></p>
<p><strong>7:00</strong> &#8211; חבר שעובד בסלקום טרח להעיר את תשומת ליבי לנקודות הבאות:<br />
א. החבילה של 100 מגה הייתה בעצם 120 מגה.<br />
ב. המחיר שציינתי היה ללא מע&quot;מ,<br />
ג. החבילה הזו כיום מוגבלת ל 200 מגה בחודש.</p>
<p>חוץ מזה, הוא הוסיף שאין לי טעם לנסות בכלל להתקשר לסלקום כי החבילה המדוברת מיועדת רק לסמסונג אנדרואיד.</p>
<p><strong>10:20</strong> &#8211; אחרי כמעט 9 דקות המתנה על הקו ענה לי נציג של מוקד דאטה בסלקום והסביר לי שהוא לא יכול להתקין לי את החבילה הזו והחבילה הזו מיועדת אך ורק למכשירי אנדרואיד כי &quot;זו מערכת הפעלה מבוססת HTML&quot;. כשאמרתי לו שה Htc Diamond שיש לי כרגע גם הוא עובד רק ב HTML קיבלתי את התשובה &quot;ככה זה&quot;.<br />
כששאלתי אם אני קונה את המכשיר מבחוץ האם הוא יוכל להפעיל לי את החבילה &#8211; התשובה היתה &#8211; בהחלט &#8211; ברגע שיבוצע שיוך של המכשיר למספר. </p>
</div><img src="http://feeds.feedburner.com/~r/n2b/EtwF/~4/oNI4QR9DkBI" height="1" width="1"/>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1443/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://n2b.org/archives/1443</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.885 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-10 22:24:12 -->
