ארכיון

רשומות עם התג ‘טיפים’

טמפלייט לקובץ gitignore לפרויקט פלקס

28 יולי, 2010 אבי צוראל View Comments

שלום לכולם,

טוב, זה שאני מתכנת פלקס, זה לא סוד גדול, גם זה שאני עובד עם git זה בטח לא סוד מדינה.

היות וכנראה יש עוד כמה כמוני שם בחוץ, חשבתי שכדאי שאני אפרסם את הקובץ gitignore שבד"כ אני מתחיל איתו פרויקטי פלקס, בעצם אני גורם לgit להתעלם מכול הקבצים שלא צריכים להיות תחת source control מכיוון שלכול אחד מהצוות יש את הגרסאות שלו ואנחנו לא רוצים שהם ידרסו אחד את השני

ללא הקדמות נוספות, כך הקובץ שלי נראה

.DS_Store
.actionScriptProperties
.flexProperties
.project
.settings/*
bin-debug/*

הערה: אם אתם משתמש windows אתם לא צריכים את ה DS_Store, זה קבצים שנוצרים רק במק

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

על אמנות ביצירת תוכנה – Software Craftsmanship

27 יולי, 2010 אבי צוראל View Comments

לאחרונה חתמתי על המניפסטו של Software Craftsmanship.

הקדמה

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

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

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

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

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

האומנות ביצירת תוכנה, מה זה?

Software Craftsmanship היא מעבר לכול גישה או פילוסופיה, יש לה המון נקודות משותפות עם xp (extreme programming), אבל כפי שכבר אמרתי, זוהי לא מתודולוגיה, היא לא מגדירה עקרונות low level בפיתוח תוכנה כמו tdd או refactoring.

ישנו ספר שעוסק בנושא, אני מאוד ממליץ על קריאה שלו: הנה לינק אליו

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

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

ממשיכים…

Software Craftsmanship מגדירה כללים מאוד ברורים למנטורינג (אלון גל סטייל) ולהתמחויות, היא אפילו הולכת רחוק יותר ואומרת שאם אין תחתיך מישהו שלומד ממך באופן ישיר או עדיף (בלוג למשל) אז אתה לא craftsman.

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

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

ממשיכים…

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

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

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

מהצד השני, אנשים צריכים להבין ולהגדיר את עצמם כ"מתמחים", כן כן, אני יודע, אנחנו ישראלים, אנחנו מומחים בהכול.

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

רגע רגע, אני מתכנת .net, זה רלוונטי לי?

הממ, האמת היא שחשבתי הרבה על זה, בכול הפוסטים שמדברים על זה מדברים על זה שאין שום טכנולוגית open source שלא מתאים להחיל עליה softwre craftsmanship.

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

יש לי צוות של 20, האם אני יכול להגיד שהם עובדים תחת הכללים של software craftsmanship?

לא

האמת, לא

ושוב, לא

כאן, אני מסכים לגמרי עם מי שכתבו את הmanifesto, מדובר על צוותים קטנים בהם יש 1-2 craftsman ועוד 3-4 מתמחים, העבודה בצוותים קטנים מאפשרת להדגיש את העקרונות הנחים בצורה טובה יותר, אין שום בעיה ש20 איש יעבדו כך, אבל הם צריכים להיות מחולקים לצוותים קטנים יותר עם מספר מומחים קטן ומספר מתמחים גדול יותר בכול צות פיתוח קטן.

מה הקשר לדוד בוב?

uncle bob (חפשו בגוגל, אל תהיו עצלנים) הוא אחד הspeakers הטובים ביותר שיש לנו בתחום, הוא הגדיר את הפילוסופיה כ"חזרה לבסיס" או "לעשות את הבחירות הנכונות". בוב אגב, הוא הכותב של הספר clean code (עוד המלצה).

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

סיכום

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

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

כמובן, שאני כאן לכול שאלה ואשמח לעזור, רק תשאירו תגובה ואני אענה

2 תוספי חובה ל-Visual Studio

30 ספטמבר, 2009 אבי צוראל View Comments

הפוסט הזה הוא במיוחד לכול אחי המפתחים ב.net אשר משתמשים בVisual Studio ככלי העיקרי לפיתוח אתרים ותוכנות.

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

אשמח לתגובות

2 must addons for visual studio from Avi Tzurel on Vimeo.

כיצד תהיו מקצוענים בפיתוח תוכנה? חלק 2

26 ספטמבר, 2009 אבי צוראל View Comments

הפוסט הזה ממשיך את הפוסט הקודם בסדרה – כיצד תהיו מקצוענים בפיתוח תוכנה?

במהלך היום וקצת הזה מאז הפוסט הקודם אספתי עוד נקודות על הנקודות שכבר היו לי בעיקר בעזרתו האדיבה של חברי היקר @eladmeidar

מכונת זמן מישהו?

אם אתם מפתחים לבד או בצוות של 30 אנשים, זה בכלל לא משנה. החלק הזה של הפוסט נוגע לכם ברמה הקרובה ביותר שיכולה להיות.
אתם צריכים להשתמש בSource Control כלשהו, זה בכלל לא משנה באיזה אתם משתמשים.

הרבה פעמים אני מגיע לחברות ואז אני שומע את המתכנתים אומרים: יכול להיות שאין לי את הגרסה החדשה? שלח לי אותה במייל… ואז אנחנו מגיעים שוב לנקודה של להיות שבויים בהמתנה (נקודה מהפוסט הקודם)

בין אם אתם משתמשים בSVN או בGIT, גם אם אתם משתמשים בשרת פנים חברתי או בGoogle Code זה בכלל לא משנה, אתם צריכים להכיר את הכלים לSource Control ולהשתמש בהם. לעשות Commit כשסיימתם וUpdate לפני שאתם מתחילים.

Patching

אם יש לכם "חייזר" (מפתח מחוץ לצוות) שבא לפתור בעיה ספציפית אל תהיו שבויים בלשלוח לו את הקוד התקול ושישלח לכם את הקוד המתוקן, תנו לו את הקוד ושיכתוב Patch, בינתיים אתם תעבדו על דברים אחרים וכשתקבלו את הPatch תכניסו אותו פנימה והכול דבש! :-)

תוודאו מה אתם צריכים לעשות ואז תוודאו שוב

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

לעיתים (די קרובות) אני מקבל תשובה בסגנון "תתחיל לעשות XYZ ואנחנו נעביר דרישות בהמשך".

תסרבו!

תבדקו ותשאלו מה בדיוק צריך לעשות לפני שאתם מתחילים, הקו הכללי של הפרויקט צריך להיות Crystal Clear וללא נקודות שחורות גדולות, כמובן שיכול להיות שלא יהיה לכם 100% מהמידע אבל המידע שחסר לכם צריך להיות כזה שלא יגרום לכם לעשות שינויים מרחיקי לכת ובטח לא כזה שיגרום לעבודה כפולה, לא שלכם, לא של הצוות שלכם זה בזבוז זמן וכסף ואפילו לא של משלם המיסים אלא לעיתים קרובות אפילו שלכם.

פעם קיבלתי מייל כזה מלקוח:

אני רוצה שתעשה באתר שאפשר יהיה לשלם
שהתשלום יעבור ללקוח שהגולש בחר באופן אוטומטי

נאמן למקור נשבע לכם, שתי שורות שיכלו להתבטא ב20 דקות עבודה ובאותה קלות בדיוק ב20 שעות, אל תתביישו לשאול שאלות, גם אם הן נראות לכם שאלות טפשיות וברורות, תשאלו!

תשמרו את הלקוח שלכם מיודע

אם אתם שכירים הלקוח שלכם יכול להיות המנכ"ל של החברה והוא יכול להיות גם הלקוח הסופי, אם אתם פרילנסרים (כמוני) הלקוח שלכם הוא חברה או לקוח סופי אבל זה בכלל לא משנה.

מה הנקודה?

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

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

המנעו מזה! כמו מאש!

תיידעו את הלקוחות שלכם, אמרו להם את האמת בפנים, תיידעו במיילים.
עדיף שהלקוח ידע מוקדם מאשר מאוחר.

אם אתם פרילנסרים סעיפים אלה נוגעים אליכם.
אתם יוצאים למילואים? תודיעו!
יוצאים לחופש עם האישה לשבוע? תודיעו!
אתם חולים ליותר מיום אחד? תודיעו!

הבנתם? יופי :-)

שירות, שירות, שירות

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

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

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

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

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

תרשום תרשום…

לקוח מדבר אתכם? תהיו עם דף ועט זמינים.
לקוח שולח אליכם מייל עם באג – שלחו אותו למערכת הבאגים שלכם (פירוט בהמשך).

מכירים את המילה "שכחתי", תשכחו אותה :-)

תשתמשו בכלים שיעזרו לכם לזכור על מה דיברתם עם הלקוח, זה לא חייב להיות משהו היי-טקי, זה יכול להיות Low tech לגמרי ולהסתכם בדף ועט (שבסוף כול יום עוברים על מה שרשמנו וכותבים ליום הבא).

GTD – Getting Things Done!

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

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

תוכנית חדשה של מיקרוסופט – Website Spark

26 ספטמבר, 2009 אבי צוראל View Comments

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

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

הרכזת מיקרוסופט על תוכנית חדשה

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

(צילום מסך מאתר התוכנית)

webadbaehn4n4tn

אורך התוכנית: 3 שנים בהם תוכלו לצאת מהתוכנית בכול נקודה, לשלם 100 דולר ולהגיד שלא הייתם מרוצים – אך זו כמובן לא הכוונה.

מה התוכנית כוללת?

3 רשיונות לVisual Studio 2008 Profesional Edition
1 רישיון לExpression Studio 2 או 3
2 רישיונות לExpression Web 2 או 3
3 רישיונות ל Windows Server 2008 ול Sql Server 2008
4 רישיונות מעבר לWindows 2008 ול Sql server 2008

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

כדאי מאוד לקרוא את התנאים באתר של מיקרוסופט (כי יש כאלה).
הרישום אורך דקות ותוך 72 שעות בערך מקבלים אישור למייל ויכולים להוריד את התוכנות.

למי זה מתאים?

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

למי זה לא מתאים?

זה לא מתאים לכם אם אתם כבר חברים של אחת התוכניות במיקרוסופט כמו ActionPack או מנוי MSDN כזה או אחר.

הכי חשוב חברים יקרים, תעשו בתוכנות שימוש טוב, תייצרו תוכנות טובות ואתרים מעולים.

jQuery למתחילים

21 אוגוסט, 2009 אבי צוראל View Comments

שלום לכולם,

כבר הרבה זמן שאני רוצה ומתכוון להקליט ScreenCast על jQuery.

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

אשמח לתגובות

מעבר על jQuery from Avi Tzurel on Vimeo.

ולידציה לתעודת זהות ישראלית בC#

20 אוגוסט, 2009 אבי צוראל View Comments

שלום חברים,

לאחרונה הייתי צריך לעשות ולידציה למספר תעודת זהות ישראלית.
הולידציה היא בטופס סליקת כרטיס אשראי ספציפית אבל זה לא משנה כלל לפונקציה :-)

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

תיהנו

   1: public static bool validateID(string idNumberString)

   2: {

   3:     if (idNumberString.Length < 9)

   4:         return false;

   5:

   6:     int int1 = Convert.ToInt32(idNumberString.Substring(0, 1)) * 1;

   7:     int int2 = Convert.ToInt32(idNumberString.Substring(1, 1)) * 2;

   8:     int int3 = Convert.ToInt32(idNumberString.Substring(2, 1)) * 1;

   9:     int int4 = Convert.ToInt32(idNumberString.Substring(3, 1)) * 2;

  10:     int int5 = Convert.ToInt32(idNumberString.Substring(4, 1)) * 1;

  11:     int int6 = Convert.ToInt32(idNumberString.Substring(5, 1)) * 2;

  12:     int int7 = Convert.ToInt32(idNumberString.Substring(6, 1)) * 1;

  13:     int int8 = Convert.ToInt32(idNumberString.Substring(7, 1)) * 2;

  14:     int int9 = Convert.ToInt32(idNumberString.Substring(8, 1)) * 1;

  15:

  16:     if (int1 > 9) int1 = (int1 % 10) + 1;

  17:     if (int2 > 9) int2 = (int2 % 10) + 1;

  18:     if (int3 > 9) int3 = (int3 % 10) + 1;

  19:     if (int4 > 9) int4 = (int4 % 10) + 1;

  20:     if (int5 > 9) int5 = (int5 % 10) + 1;

  21:     if (int6 > 9) int6 = (int6 % 10) + 1;

  22:     if (int7 > 9) int7 = (int7 % 10) + 1;

  23:     if (int8 > 9) int8 = (int8 % 10) + 1;

  24:     if (int9 > 9) int9 = (int9 % 10) + 1;

  25:

  26:     int sumOfAllInts = int1 + int2 + int3 + int4 + int5 + int6 + int7 + int8 + int9;

  27:

  28:     sumOfAllInts = sumOfAllInts % 10;

  29:     if (sumOfAllInts > 0)

  30:         return false;

  31:     else

  32:         return true;

  33: }

הקוד המקורי מאתר ASP תרגמתי אותו לc# והוספתי ולידציה לאורך של 9 תווים בהתחלה.

שיהיה בכיף!

אם אתם משתמשים בקוד שימו איזה תגובה כדי שאני אדע :-)

קטגוריות:Asp.Net, c#, tips, tricks, טיפים, כללי תגיות:, ,

פתרון גיבוי מלא וחינמי למחשב באמצעות SyncBack

19 אוגוסט, 2009 אבי צוראל View Comments

שלום לכולם,

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

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

הסרטון יציג את השלבים ליצירת גיבוי מההתחלה ועד הסוף ללא פרטים שאתם לא צריכים.

במידה ויש שאלות, אשמח אם תגיבו לפוסט הזה ואני אשתדל לענות על כולן

תודה

גיבוי מלא למחשב באמצעות Syncback from Avi Tzurel on Vimeo.

כלים שימושיים (3)

12 אוגוסט, 2009 אבי צוראל View Comments

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

למי שפספס, יכול למצוא את הפוסטים הקודמים כאן וגם כאן

שוב, הנה אנחנו מתחילים, זוכרים שאין סדר הגיוני נכון?

Xenu – Link sleuth

800px-xenu_screenshot_zi2

טוב, כמה מאיתנו מתחזקים אתרים גדולים עם עשרות, מאות או אפילו אלפי לינקים?

מישהו יודע כמה זה מזיק שיש לינק שבור? הן מבחינת גולשים וכמובן מבחינת גוגל.

טוב, אז התוכנה הזו תקבל מכם לינק יחיד ומנ פשוט תשחט את האתר שלכם (לא, לא מילולית) ותעבור על כול הלינקים, תמונות, js, css ועוד.

התוכנה תודיע לכם מה השגיאה שיש, זה לא חייב להיות 404, זה יכול להיות גם 500 (מספרי שגיאות).

התוכנה מוציאה דו"ח התקדמות ודוח סופי, מאוד יעילה ומהירה.

זוהי פעולתה הרשמית של התוכנה :-)

הפעולה הלא רשמית היא Load test מאוד פרימיטיבי, התוכנה יכולה לפתוח מספר Threads ובכך לדמות עשרות משתמשים שגולשים לאתר.

לא הייתי מסתמך על זה, אבל זו יכולה להיות בחינה ראשונית מאוד יעילה, אני פעם  כך עליתי על Connection שנשאר פתוח.

להורדה כאן

Keepass – Password safe

KeePass Password Safe(6)_1

סיסמאות, סיסמאות ושוב סיסמאות.

בכמה אתם משתמשים? אחת? שתיים? שלוש? שקרנים.

התוכנה הזו תקל עליכם מאוד. אני למשל מנהל 8 שרתים עם עשרות חשבונות, SQL, mySql חשבונות בPaypal ועוד.

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

אתם יכולים לנהל Groups של סיסמאות ושל לקוחות שלכם לצורך העניין.

ניתן לייצא ולייבא בכול שלב.

יש לתוכנה גרסה פורטבילית כך שאתם יכולים לקחת את הסיסמאות שלכם אתכם לכול מקום.

אם אתם זוכרים את הBOX מהפוסט הראשון, אתם יכולים לשים את קובץ הסיסמאות (המוצפן) גם עליה וליהנות מהסיסמאות שלכם בכול מקום.

התוכנה קלה מאוד הן במשקל הפיזי והן בשימוש.

להורדה כאן

PassPack

passpack-online-privacy-manager_1185598891103

אתם בטח אמרתם לעצמכם (בלב) שזה ממש 90's להשתמש בתוכנת Desktop לשמור סיסמאות, אני יכול לעשות את זה באינטרנט.

אז צדקתם, ואתם יכולים לעשות את זה גם בחינם ובלי להשתמש בGoogle Docs ביחד עם גיליון אלקטרוני רחמנא ליצלן.

האתר PassPack נותן לכם את כול האפשרויות שהתוכנה נותנת (כמעט) רק אונליין וזמין מכול מקום.

האתר מאובטח מאוד (לעיתים יותר מדי, אתם תבינו למה אני מתכוון כשתכנסו לאתר)

האתר כאן

Windows Live Writer

windowslivewriter2008

אם יש לכם בלוג ואתם לא מכירים את התוכנה אתם פשוט מפסידים.

התוכנה הזו מבית מיקרוסופט פשוט מדהימה בניהול הבלוג שלכם.

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

התוכנה עשירה בפונקציות ובplugins שניתן להוריד בחינם.

חבל לפרט עוד, פשוט תורידו ותתקינו

הורדה מכאן (חינם)

VLC Media player

vlc_media_player-400-400

לעיתים אני עוסק בעבודה עם קבצי מדיה, בין אם זה mp3 או mp4, לפעמים אפילו עם סרטונים מטלפונים ניידים.

התוכנה הזו היא נגן שיש שמנגן בערך הכול אבל עם יכולות המרה של הקבצים השונים לפורמטים השונים, כך למשל תוכלו להפוך קובץ WAV כבד מאוד לקובץ mp4 בקידוד h.264 דיגיטלי בערך ב10 שניות בלי ידע קודם.

התוכנה קלה מאוד לשימוש ולתפעול ותעבוד על גרסאות חלונות השונות שלכם (XP-7 אני אישית בדקתי)

להורדה כאן

Pure Text

puretext_options

עכשיו ברצינות, אתם לא חושבים שהCTRL+V של חלונות הוא פשוט מסריח?

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

לא הייתם רוצים שCTRL+V פשוט ידביק את הטקסט, בלי שטויות?

הנה, בשבילכם :-)

להורדה מכאן

זהו, אלה בינתיים

אולי יהיו עוד פוסטים כאלה בעתיד

תיהנו, תגיבו, רטווטו עצמכם לדעת

כלים בהם אני משתמש (2)

10 אוגוסט, 2009 אבי צוראל View Comments

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

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

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

VSO Image Resizer

VSO Image Resizer-20081017-071709 מי מכם משתמש במצלמה דיגיטלית?

הורדתם פעם תמונות מהמצלמה וניסיתם להעלות אותן לפייסבוק שלכם?

בטח גיליתם שהמשימה קשה והתמונות פשוט ענקיות הן בגודל והן במשקל שלהן.

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

התוכנה "מתלבשת" על הShell של חלונות (נבדק על כולן מXP ועד 7)

10-08-2009 00-21-39

לאחר שבחרתם את התמונות הרצויות יקפוץ דיאלוג שסביר שתבינו :-) שיבקש את הרזולוציה שאתם רוצים (מומלץ 1024X768) ועוד כמה דברים פשוטים כמו לאיזה ספרייה לזרוק את התמונות החדשות שנוצרו, שלוש-שלושים שניות ויש לכם ספרייה עם תמונות מכווצות להפליא ועם ירידת איכות זניחה ביותר (שגם היא ניתנת לכוונון)

לינק להורדת התוכנה אתם מבקשים בטח לא? הנה כאן

TeamViewer

TeamViewer_full

האמת, שעם ההמלצה הזו באה גם איזה צביטה בלב (או במקומות אחרים) לרובנו.

עקב זה שאנחנו "מבינים" במחשבים לעתים אנחנו צריכים לעזור לאיזו דודה של אשתך או האחיינית של בעלך.

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

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

כאשר איש חביב צריך את עזרתכם, אתם שולחים לו לינק (אני לא אאכיל אתכם בכפית כנסו לאתר, סתם סתם יהיו לינקים בסוף), הוא מוריד את הלינק ומפעיל אותו. התקנה? מה פתאום! פשוט מפעיל.

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

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

טופין אמיתי

את הקישור לתוכנה ולעוד הסברים ארוכים יותר משלי תוכלו למצוא כאן

SyncBack

syncback-logo

חברים, אם אני אכתוב את כול מה שאני חושב על התוכנה הבאה, אתם פשוט תחשבו שאני בעל מניות בה.

אז אני אכתוב חלק.

גיבבבבבבבבבבבבווווווווווויייייייייייםםםםםםםםםםםם!!!

מכירים את זה?

עושים את זה מספיק?

שקרנים!

התוכנה הזו (אמרנו חינמית לא) היא פתרון גיבוי מלא לכול המחשבים שלכם, היא יכולה לעבוד על כול מערכת הפעלה (חלונאית) שלכם, לגבות את הספריות שלכם לכונן רשת, כונן פנימי, FTP, Proxy, לשלוח דוחות למייל, לסנכרן תיקיות מה לא!

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

בזמן שאתם ישנים התוכנה תגבה את כול החומרים שלכם במהירות וביעילות, מומלץ להריץ את הפרופילים ידנית לראשונה במהלך ליל שישי או כול לילה אחר שבו אתם יודעים שיש למחשב כמה שעות טובות לעבוד (תלוי בכמות החומרים שלכם)

חלון הגדרת פרופיל מתוך התוכנה

10-08-2009 00-42-40

שוב אתם מטרידים אותי עם קישור להורדה, מפונקים שכמותכם, טוב הנה כאן

העתק – הדבק של קוד

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

לפעמים (נו טוב, תמיד) גם שואלים אתכם כמה פעמים את אותה שאלה, לפעמים (נו טוב, תמיד) זה גם אותם אנשים, אז נחמד שיש לכם את הקודים שכבר שמתם מול העיניים.

השירות שאני הולך להמליץ עליו (חינמי גם הוא) הוא http://snipt.org/

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

אתם עושים Paste של הקוד שלכם לתוך התיבה, בוחרים את השפה ואת הTheme ומקבלים URL שאתם יכולים לשלוח לחבר שלכם.

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

אני לא ממליץ להשתמש בשירות כאיזו ספריית קוד שלכם אבל אתם בהחלט יכולים לעשות בו שימוש לקודים ציבוריים

10-08-2009 00-56-38