מדריך: שינוי מיקום קבצי משתמש בWindows 7

SSD 510 Pretty boxכוננים בתצורת SSD תופסים תאוצה בתקופה האחרונה והופכים לפופולאריים יותר ויותר. הסיבה היחידה המונעת מהם לכבוש את השוק, ולהחליף לגמרי את הכוננים הקשיחים המסורתיים (להלן HDD) היא – מחירם הגבוה.

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

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

הבעיה היא שWindows כברירת מחדל מאחסן את קבצי המשתמשים (תיקייה Users) באותו הכונן. כתוצאה, כל קובץ שתשימו על שולחן העבודה, או באחת התיקיות: מסמכים/תמונות/מוסיקה/סרטי וידאו שלי, כולם יאוחסנו על כונן הSSD. והיות ובד"כ קונים כונני SSD קטנים יחסית (80-120GB) עקב מחירם הגבוה, הדבר מוביל במהרה לניצול כל שטח הכונן ולפגיעה בביצועים ובחוויית השימוש.

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

Move folderכמו שכבר הוזכר, התיקייה Users אינה כמו כל התיקיות האחרות, ולא ניתן פשוט להעביר אותה. אם תנסו, סביר שתתקלו בשגיאה הבאה:

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

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

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

קטגוריות: מדריכים
תגיות: ,

הכירו את Entity Framework 4.1

מבוא

לאלו שלא מכירים, ADO.Net Entity Framework (בהמשך EF) היא המילה האחרונה בתחום הORM מבית מיקרוסופט. EF מאפשר למפתחים להגדיר בצורה נוחה את עולם הישויות שלהם (Conceptual Model) את הטבלאות שלהם (Storage Model) ואת המיפוי ביניהם (Mapping Model) כששלשתם יחד יוצרים את הEDM (ר"ת Entity Data Model). כמו"כ הוא מספק את הממשקים הן לאחזור ישויות מבסיס הנתונים והן לעדכון ושמירה שלהם לבסיס הנתונים בחזרה.

כמו ששמתם לב, בעולם המושגים של EF, המחלקות אינן מייצגות רשומות במסד הנתונים, אלא הנן "ישויות" הממופות לנתונים באמצעות הEDM. בדרך זו, כל ישות יכולה להיות ממופה ליותר מטבלה אחת, וכן לדוגמה להשתמש בStored Procedure לפעולות CRUD (ר"ת Create, Read, Update, Delete).

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

מה התחדש בEF 4.1?

החידושים שבגרסה החדשה כולם נשענים על הAPI החדש שחושפות המחלקות  System.Data.Entity.DbContext וSystem.Data.Entity.DbSet (את הרשימה המלאה תוכלו למצוא בMSDN).

אחד השיפורים המשמעותיים ביותר בEF 4.1 הוא תמיכה בגישת Code First. גישת Code first מאפשרת להגדיר את המודל כולו במחלקות C# או VB.NET רגילות ולהוסיף או לשנות קשרים בין מחלקות ע"י שימוש בAPI של DbContext. והחשוב מכל, EF יידע לבד ליצור מסד נתונים המתאים לשדות והקשרים שהגדרתם באמצעות המחלקות. עוד...

קטגוריות: .NET 4.0

How to remove duplicate HTML5 schema on Visual Studio 2010 SP1

duplicate html5

עם שחרור הVisual Studio 2010, שבגרסתו הראשונה לא כלל תמיכה בHTML5, כמו רבים אחרים התקנתי Add-In של intellisense לHTML5 שמשלים את החסר.

הבעיה היא שכשעדכנתי את הVS שלי לSP1 שכבר מכיל תמיכה מובנית בHTML5, נוצר כפל.

סביבת העבודה שלי מציגה כעת שני סכימות HTML5, האחת שייכת לAdd-In והשנייה לSP1. בנוסף שמתי לב שהסכימה של הAddin מוצגת כ'HTML 5' כשהסכימה שבאה עם SP1 נקראת 'HTML5' (ללא רווח).

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

קטגוריות: Tools

How to extract text from HTML

איך ניתן לחלץ טסקט מתוך HTML

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

כשניגשתי למשימה, בניגוד לרגיל, לא קבעתי לעצמי מראש מה בדיוק קטע הקוד שאני כותב אמור לעשות, במקום זה התחלתי ממה שהוא וודאי אמור לעשות, ואז שיפרתי עד שקיבלתי את התוצאה שרציתי. בגדול, מה שהפונקציה צריכה לעשות הוא לדלג על כל הקטעים בתוכן שנמצאים בין התו < לבין התו > שאלו הם התגים לדוגמה ב: '<span dir="rtl">abc</span>' יישאר רק 'abc'.

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

קטגוריות: .NET

איך באמת לא חשבתי לקרוא לזה ASWIFT?!

היום נתקלתי בבלוג Google Code במאמר הנושא את השם "Your Web, Half a Second Sooner", דרכו הגעתי לווידאו של הרצאה מרתקת שהתקיימה בכנס Velocity 2010 בה איזה בחור מגוגל סיפר על טכניקה "חדשה" שהם המציאו. הם קראו לה ASWIFT. בקצרה, הם (ואני מדבר על צוות של גוגל) "מצאו" פתרון לטעינת קוד javascript של צד ג' בצורה אסינכרונית (שלא נועלת את הדף עד לסיומה) והרצתם תחת הדומיין של הדף המארח (לצורך עקיפת מנגנון Same Origin). במקרה שלהם זה היה עבור הAdSense.

Velocity 2010: Michael Kleber & Arvind Jain, "Don't Let Third Parties Slow You Down"

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

מה אני לומד מזה? האמת היא – לא יודע. אולי הייתי צריך לקרוא לזה ASWIFT?

קטגוריות: טכנולוגיה
תגיות: ,

שימושיות ואבטחה בLogout

השאלה המתבקשת היא: זה Logout, מה כבר יכול להשתבש?! - אז מסתבר שלא מעט. מדובר בדברים פשוטים וברורים מאליהם עד כדי כך, שפשוט לא חושבים עליהם.

את לינק היציאה (או logout) תמצאו ברוב האתרים על הMasterPage. הלינק מוצג רק למשתמשים שמזוהים באתר ע"י ביצוע כניסה (או login), שכן רק עבורם שייכת פעולה זו. השאלה המעניינת היא, מה מתרחש כשלוחצים על הלינק?

ניתן לממש logout בכמה דרכים:

  • כמטפל לאירוע הClick בCode Behind של הMasterPage עצמו.
  • ע"י הפנייה לדף מיוחד (נקרא לו Logout.aspx) שכל מטרתו היא לבצע logout.

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

במקרה של מימוש ע"י מטפל אירוע Click בMasterPage יש שתי בעיות פוטנציאליות:

  1. מטפלי האירועים מבוצעים בשלב מאוחר במחזור חיי הדף. ולכן, תכנים רבים שאמורים להיות מוצגים רק למשתמשים מזוהים, עדיין יוצגו בדף בפעם הראשונה שהדף ייטען לאחר הlogout.
  2. היות ומדובר בMasterPage, ייתכן שהדף שממנו בוצע הlogout נגיש למשתמשים מזוהים בלבד. כתוצאה, לאחר הlogout המשתמש יוקפץ מיידית לדף הכניסה (או login)!!

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

קטגוריות: .NET
תגיות: ,

שימוש בWeb.sitemap לשמירת מידע SEO

מפת אתרכולם מכירים את הSiteMap בתור מפת אתר עבור מנגנון הניווט של ASP.NET. אבל, מה אם היה אפשר להוציא ממנו יותר?

במאמר זה אדגים שימוש בWeb.sitemap לשמירת תכנים עבור תגיות המטא description וkeywords. גישה זו תאפשר ניהול נוח של מידע meta של האתר, תוך הפרדה מוחלטת בין לוגיקה ומידע.

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

קטגוריות: .NET
תגיות: , , , ,

פתרון "האתרוג באמצע"

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

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

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

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

הכירו את IIS URL Rewrite 2.0

URL Rewriteתהיתם פעם איך ניתן לשפר את חווית המשתמש ודירוגו של אתר קיים בנועי החיפוש בלי לבצע שינויים נרחבים לאתר כולו? איך לשמר כתובות ישנות של דפים שלאחר שדרוג עברו לכתובת חדשה בלי לזהם את הקוד החדש במידע אודות הכתובות הישנות?

הכירו את IIS URL Rewrite 2.0! בשונה מהגרסה הקודמת, שידעה בעיקר לתרגם כתובות מתחת לפני השטח, הגרסה החדשה מהווה חבילת פתרונות שיכתוב וניתוב עשירה עם ממשק ניהול מוטמע בממשק הIIS. כעת, נדרשים רק קליקים ספורים כדי לבצע פעולות שיכולות לשדרג משמעותית את האתר, הן עבור הגולשים – שיקבלו כתובות URL הגיוניות, והן מבחינת מנועי החיפוש ע"י ביטול תוכן כפול, והכנסת מילות מפתח לURL עצמו. עוד...

קטגוריות: .NET | .NET 4.0 | IIS | Tools

מגזין אינטרנט חדש מבית פרוג

אני שמח לבשר על שהתחלתי לכתוב טור בנושא ASP.NET עבור הירחון האינטרנטי מבית פרוג!

אשתדל לצרף כאן לינקים למאמרים כשאלו יתפרסמו.

הנושא הראשון שבחרתי הוא ASP.NET וSEO:

קטגוריות: .NET 4.0 | Tools | פרוג
תגיות: , , ,