המדריך לטרמפיסט בגלקסיה של הגיקים פרק 7

3 בFebruary 2016

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

טריק מאוד נחמד שמוטמע אני חושב מאז VS 2008 אבל בטוח ב2010,
מאפשר לנו לכתוב קובץ טקסט, ווהקובץ עובר המרה מתאימה לפורמט המתאים,
שימושי מאוד לכתיבה במקום שאין קומפיילר זמין או סביבת פיתוח, להעתקה של קוד בין ספריות שלא מוכרות, להמרה בין שפות קוד וכו’
דוגמא:

image

והתוצאה:

image

הרעיון הוא שכל מה שהוא בין<#  #> הוא לשימוש ברמת ההגדרה כמו במקרה הזה אנו רואים רפרנס שנצרכים למסמך , והטקסט החפשי שבחלק הנמוך זאת התוצאה של ה “קימפול”
כדי לקבל את התוצאה של המסמך נלחץ מקש ימיני > run custom tool
הוא יכול להכיל המון דברים מעניינים כמו parsing , validation , regular expression ועוד ועוד.
לא חייבים להיות מומחים, אבל גם לא להיות מופתעים כששומעים על הטכניקה.
2.    Post build events
משתמשים בזה בדכ אלו שאחראיים על קונפיגורציית הפרוייקט, (רמז אם הגעתם לזה אתם כנראה במצב טוב) המטרות הן מגוונות לדוגמא , אילו DLL  יופיעו בתיקיית הoutput כשהאפליקציה רצה,
או יצירת תיקייות מיחדות עם קבצי לוג מידע למשתמש וכו’
אז:
image

דרך מקש ימני על הפרויקט שמוגדר כstartup project , ניגש ל Build Events
ואז צריך לכתוב סקריפט מתאים לדרישות
הפורמט זה נושא לא מורכב אבל דורש תרגולת לדוגמא:
image

תיצור לכם בתיקיית הoutput  שזה bin/debug או bin/release תת תיקיה בשם temp

דוגמא נוספת:
image

פקודה זו תעתיק את כל הקבצים מתיקיה בשם files שיושבת תחת DLL  בשם מסויים (DllName בתמונה) שבתוך הפרויקט, לתיקיית output.
כמובן שניתן גם לייבא קבצים מבחוץ לפי uri יותר ספציפי אבל גם צריך להיות זהיר עם זה.

 

3.    Dependencies Project
שימו לב לצילום מסך הבא:

image

יש לי פרויקט עם שלשה ספריות, MainProj שמוגדר כstartup ויוצר exe,
ושני ספרויות נוספות (DLLOne , DLLTwo) כשהפרויקט הראשי יש לו רפרנס ל DLLOne, בעוד של DLLOne יש רפרנס ל DLLTwo, כעת ניתן לראות בלחיצה על מקש ימני על ה solution  עצמו את התלויות של תהליך הbuild, לרוב אין צורך לגעת. אולם,

לעיתים נרצה שתהליך הbuild ימתין גם לפרויקט השני שלא מקושר ישירות לMainProj (מבחינת compile) ניתן לסמן זאת, וזאת משום שתהליך הבילד של הספריות (במקרה שלא מסומנת תלות) הוא פרללי (parallel ) ויש מצב שספריה מספר שתים תסיים build מאוחר מדי מדי יחסית לתהליך build של ספריה מספר 1 וישנה תלות בקובץ מסוים של ספריה זו (נניח כמו בדוגמא הקודמת של קבצים שמועתקים לoutput כתוצאה מbuild)
ואז נקבל שגיאות compile מוזרות..
פשוט נסמן כאן את הספריות שברצוננו לקמפל יחד עם התהליך הראשי (הדבר רלוונטי בעיקר כשישנם פרויקטים מקבילים ותהליכים מקבילים באותו הsolution  שיכולים/צריכים לתקשר ביניהם).
4.    Add as  link

טכניקה ותיקה בעלת כח רב, הרעיון הוא שיש לנו קובץ (קלאס בד”כ) שנרצה לשתף בין שני פרויקטים, עכשיו אין לנו את היכולת לעשות רפרנס בין הפרויקטים מכל מיני סיבות של דיזיין, עדיין נרצה שטיפוס מסויים יהיה מוכר בשני צדדים של התכנה,
אז אם לא ניתן לעשות רפרנס ניתן כמובן לשכפל את הקובץ ולהחזיק שני עותקים שלו, רק שזה פתח לצרות צרורות, הפתרון הנוסף יהיה לבחור במקש ימני על הפרויקט שרוצה להכיר את הטיפוס ה”נכסף” ולבחור  Add Existing item  , נגלה שם יכולת מעניינת Add as Link
image

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

הוסף תגובה
facebook linkedin twitter email

Leave a Reply

Your email address will not be published. Required fields are marked *

2 תגובות

  1. וובה4 בFebruary 2016 ב 23:25

    מעולה הפוסט. התגעגענו לכתיבה שלך בעברית

    Reply
  2. Yoel@intel13 בMarch 2016 ב 11:42

    תודה על הפוסט המושקע,
    אפשר יותר פרטים על Link ?

    Reply