תגובה: למה מתכנתים לא רוצים להיות עצמאיים ולעבוד מול לקוחות
היום היה איזה קשקוש עם מישהו לגבי תאריכים לועזיים שקיעות חמה וכדומה, הסברתי לו שיום לועזי פועל מחצות עד חצות ולכן עליו להזין תאריך לועזי שתואם לעברי ובזה לפתור את הסיפור.
ואז הגיעו הפתרונות היצירתיים, תעשה פופאפ שישאל את היוזר אם זה לפני השקיעה או אחרי? ומה השלב הבא? אה כן וגם שבכפתור שלפני השקיעה יראו שמש שוקעת, ובכפתור שאחרי השקיעה שלושה כוכבים, נו נו.
אחר כך הוא בכלל הציע שתהיה אנימציה שיראו את השמש שוקעת אם לחצו על הלחצן שלפני השקיעה ואז זה יחשיך את כל המסך.
בקיצור בסוף הצעתי לו שאולי כדאי להוסיף לדרישות שהשמש האמיתית, שלנו, שזורחת לנו כל יום, אז היא תשקע ברגע שהיוזר ילחץ על הכפתור, וכל זה כדי להבהיר לו על מה הוא לחץ. אם אפשר לבקש, אז למה לא?
למי שלא יודע טסלה סובלת ממחלת ירח, היא רואה את הירח כרמזור כתום ומאטה את המכונית בעל כרחו של הנהג ויש כבישים בארה"ב שסובלים מזה הרבה, אינני יודע אם הבאג הזה תוקן כבר, אבל יש מצב שאילון יחליט לשנות את מסלול הירח כדי להתאים לטסלה, והוא בטח ימכור את הטכנולוגיות האלו גם לאנשים כמוני שסובלים מבעיות כאלו של לקוחות....
ארכיטקט
-
כמה טיפים מלקוחות שכמובן לא משלמים לפי שעה אלא רק לפי סיכומים על פונקציונליות -
שטיבליסט: הסטרטאפ שנכנס לשוק של מאה מיליארד דולר בשנהשטיבלסיט 21/12/2030
הסטרטאפ שנכנס לשוק של מאה מיליארד דולר בשנהשוב אנחנו כאן, והפעם עם בחור ישראלי צעיר (עוד לא עשרים ואחת) בשם ת. שמפתיע את העולם עם סטרטאפ חדש עליו עמל כחודשיים שלמים מאז שסיים קורס מקוון בבניית אתרי וויקס למתקדמים.
בראיון איתנו הוא יושב בתנוחה נינוחה (לא מסכים להצטלם בשום פנים ואופן, זה עוד יגיע, הוא אומר לנו) ומספר על הדרך הארוכה והקשה שעשה מהרגע שבו הבריק לו הרעיון, והוא קיבל החלטה נחרצת לפתור את אחת מבעיות העולם, ועד לשלב הנוכחי שבו הוא מספר לנו שהוא מחוזר על ידי קרנות הון סיכון מהמפורסמות בעמק הסיליקון.
את דרכו הארוכה בעולם הסטרטאפים הוא התחיל לפני כחודש וחצי, כאשר עלה במדרגות הבניין של סבתא שלו, בבניינים הישנים של רמת גן.
אני יושב מולו ומסתכל עליו, אני רואה את עצמי זקן מקומט בן ארבעים פלוס, מנסה להתפרנס בקושי, והנה מולי ממש מול עיניי החלום האמריקאי מתגשם. עוד אחד שעומד "לעשות את זה". אני מתחיל לתהות על הדרך שלי בחיים, צבירת ניסיון, עמל, הקמת משפחה, חינוך הילדים, פיתוח האישיות? אם יושב כאן בחור צעיר עילג שפה, חדל אישים, וחסר כל כישורי חיים, והוא כבר מדבר על מהפכה בסדר גודל עולמי. טוב, גלשנו, נעזוב לרגע אותי ובואו נצלול לרעיון שלו.
אני:
אז מה בדיוק אתם עושים?
ת:
טוב, נתחיל מהסוף ובכן הסטרטאפ שלנו נועד לחבר בין וועדי בתים לבין שוטפי מדרגות וספקי סמרטוטים (עם חזון להתרחבות גם לתחומים אחרים כגון ילדים שמנקים את החצר האחורית תמורת ארטיקים בערב פסח אבל זה כבר לשלב הבא)
למעשה וועדי בתים מתנהלים היום באלפיים שלושים בדיוק כמו לפני מאה שנה, הם לא באמת יודעים כמה סמרטוטים הולכים להם בשנה והאם זו אשמת המנקה או שהמדרגות מחוספסות.
אני:
וואו, מדהים איך לא חשבו על זה עד היום, איך הכל התחיל?
ת:
הכל התחיל מזה שלפני כחודשיים עליתי במדרגות בבניין של סבתא שלי, בניין מיושן ברמת גן, ואני רואה את המנקה מתמודד עם בעיה קשה של חורים בסמרטוט, לא בדיוק הבנתי מה הסיפור שם, אז שאלתי את סבתא שלי, היא הסבירה לי ש"וועד הבית לא חידש את מלאי הסמרטוטים שלו קרוב לעשור (!!!), ואנחנו חיים היום מסמרטוטים בלויים ושחוקים כל אחד מהשכנים שלא מוכן יותר לסבול את הסמרטוט שלו - במקום לזרוק הוא נותן אותו לוועד הבית, לכן השטיפה נראית כמו שהיא נראית", היא רוטנת. שאלתי אותה מה הסיבה שהסמרטוטים נשחקים לכם כל כך מהר, היא התחילה למנות מספר אפשרויות, מניסיונה העשיר בתחום, מנקה גרוע, מדרגות מחוספסות, מגב שלא מתאים בדיוק לטקסטורה של הסמרטוט + המדרגות.
וועד הבית הציע להעלות את התשלום החודשי על מנת לכסות על הבלאי והשחיקה המהירה של הסמרטוטים, אבל השכנים ראו בזה הטלת מס והטילו ווטו על ההחלטה, וככה אנחנו חיים היום.
אני:
נו ומה קרה אז?
ת:
באותו רגע הבנתי שיש כאן בעיה, הבנתי בעצם שבתחום הזה העולם כאילו עמד מלכת מאה שנה, הבנתי שיש כאן בעיה עמוקה מאוד לפתור, אנשים סובלים ממנה אבל מעולם לא הציעו להם פתרון.
בדיוק הבריק לי הרעיון, חייבים לפתור את הבעיה בדחיפות. המספרים רצו לי בראש, כמה בניינים משותפים יש בעולם? כמה סמרטוטים וכמה מנקים יש?
תחשוב על זה רגע, אנחנו מדברים כאן על שוק בינלאומי שמגלגל עשרות מיליארדים בשנה לפי הערכות מעודכנות.
למעשה ברגע שוועד בית הופך להיות לקוח שלנו כבר באותה שניה הוא יכול לקבל המלצות על סמך בינה מלאכותית שתגיד לו איזה סמרטוטים לקנות, כמה השחיקה הצפויה ועוד ועוד.
אני (מנסה לעצור אותו בלהט הדיבור שלו):
אני חייב להגיד לך שאני רואה מולי יזם אמיץ וצעיר, מהפכן אמיתי, אבל אם אפשר כמה שאלות נוקבות ברשותך?
ת:
בוא נחכה עם השאלות "הנוקבות" שלך לסוף, אתה קוטע לי את הרצף.
אני: טוב אמתין בסבלנות
ת:
וועד בית, יכול להשתמש בתוכנה על מנת לעקוב אחרי שחיקת הסמרטוטים בתחום שטיפת המדרגות, ולהשוות את הפחת מול השכר של המנקים השונים, כאשר במסך "מנקים" ניתן לראות את כל המנקים (כולל ממלאי המקום שלהם), ובאילו תאריכים הם ניקו.
בנוסף בלחיצת כפתור ניתן לדעת ולהודיע מראש על איחור או חיסור של המנקה, ואז הוא יכול לשבץ מנקה חילופי אונליין, וכל זה בלחיצת כפתור וללא מגע יד אדם. מדהים.
לגבי ניהול רכש הסמרטוטים, מכניסים את כמות הסמרטוטים הנרכשים פעם אחת, (עם סריקת חשבונית כמובן לתוך המערכת, אין צורך להקליד כמעט כלום!!!! רק כמות סמרטוטים ומחיר, לא יאומן!!!) המערכת יודעת לחשב באופן ממוצע את הפחת המצטבר במהלך החודשים הבאים, על בסיס בינה מלאכותית וסטטיסטיקה של החודשים הקודמים, ולהתריע גם על אובדן הסמרטוטים, וגם על האפשרות לשכור מנקה יקר יותר אבל עם הרגלים ידידותיים יותר לסמרטוט כך שהתועלת מהירידה באובדן הסמרטוטים תעלה על עלות השכר הנוספת של המנקה החדש. אם נחשב את זה ברמה עולמית, אנחנו מדברים כאן על שוק שמגלגל כעשרים מיליארד דולר בשנה רק בתחום הסמרטוטים לחדרי מדרגות.
אנחנו ממתגים את עצמנו כחברת הייטק, אבל בד בבד כחברה העוסקת בתחום הנדל"ן, כי אחרי הכל חדרי מדרגות זה משהו שהוא נדלנ"י ביסודו.
אני: אפשר שניה, להגיע לשאלות הנוקבות?
ת:
בהחלט, תתחיל להפציץ
אני:
אם אפשר לשאול מי הקרנות שרודפות אחריך היום?
ת:
זה חסוי בשלב הזה, יש התנפלות גדולה, ואנחנו במגעים עם כמה גופים שמתחרים ביניהם, כך שכל שם שאני יגיד עלול לחשוף אותנו לתביעה.
אני:
טוב, קיבלתי את התשובה. כמה עובדים יש לכם בחברה?
ת:
כארבעים בשלב זה
אני: תפקידים?
ת:
מפתח תוכנה אחד (אני) ועוד שלושים ותשע בתחומי המדיה הדיגיטלית שיווק ופרסום ושירות לקוחות.
אני:
כמה זמן החברה כבר רשומה?
ת:
כחודש.
אני:
כן אבל אתה מספר שאתה כבר אחרי כברת דרך ארוכה של כחודש וחצי? איך זה מסתדר עם זה שאתה מקים את החברה כל כך הרבה זמן אחרי שהתחלת לעבוד?
ת:
תראה, אני התחלתי לעבוד במרץ כדי לפתור את הבעיות של העולם, ולהפוך אותו למקום טוב יותר, לא חשבתי בכלל על הצד המסחרי. ברגע שהגיע הלקוח הראשון הבנתי שאין ברירה והקמנו חברה רשומה.
אני:
אהה, אז אתה בכלל אדם ערכי שרחוק מאוד מהעולם של הכסף, עכשיו אני יכול להבין את סוד ההצלחה שלך.
ת:
בהחלט
אני:
אז כמה לקוחות יש לחברה עד עכשיו?
ת:
זה גם חסוי, במסגרת המו"מ עם קרנות הון סיכון, אני רק יכול להגיד לך שבוועד בית של הבנין של סבתא שלי כבר קנו עשרות סמרטוטים. יותר מזה אני לא יכול לספר לך.
אני:
מה אתה יכול להגיד ליזמים צעירים שקוראים עכשיו את הריאיון הזה?
ת:
אני חוזר על המוטו שלי שלמדתי מהיזמים הקודמים, רוץ מהר, שבור דברים, אל תפחד, אל תיתן לשום דבר לעצור אותך, תהיה בקשרים טובים עם סבתא שלך, אם נכנס לך רעיון לראש רוץ איתו ובחיים אל תקשיב לאנשים שמייאשים אותך.
אני:
ומה אתה יכול לומר לסוס זקן כמוני שצופה בך עכשיו בקנאה?
ת:
אין גיל ליזמות, אם תקבל החלטה תראה שאפשר להקים משהו כאן ועכשיו, זו ממש לא בעיה, העולם מחכה לך.אני מסיים את הריאיון הזה עם רגשות מעורבים, כרגיל, כמה אדם נוימנים היו ועוד יהיו, איך זה בדיוק עובד?
לקפיטליזם פתרונים. -
למה מתכנתים לא רוצים להיות עצמאיים ולעבוד מול לקוחות[size=200:25h9veiv]למה מתכנתים לא רוצים להיות עצמאיים ולעבוד מול לקוחות בתחום שהכי קשה להסביר לאנשים שלא מבינים[/size:25h9veiv]
(הערה: חלק נכבד מהדברים כאן אמיתיים לחלוטין בלי גוזמא)
אתה צריך להיות הפסיכולוג של הלקוחות:
יש פרוייקטים של תוכנה ואתה צריך תוך כדי גם לטפל בלקוחות קיימים וגם להיות בקשר עם לקוחות חדשים, לתמוך, לעודד, להדריך, לשמוע את הצרות של כולם, להיות נחמד, אדיב, חינני, חייכן, מתחשב, ממחשב, רחמן, קשוב, אמפתי, אפאתי, אנטיפסטי, להעניק ללקוחות תחושת בטחון, לשכנע אותם שבאמת תחזור אליהם כשאתה אומר אני יחזור אליך.
זה לא פוטר אותך מלהיות סוחר זול כדי להביא קצת לחם הביתה:
אתה צריך לשמוע שוב ושוב את הבקשה "תעשה משהו עם המחיר" ובמקום להיות יקה ולטרוק את הטלפון צריך לענות הרצאה שלמה של שוק מחנה יהודה (אחרת לא תיסגר עיסקה), תראה תשמע תבין.... אני לא מרויח פה, אני על גבול ההפסד, אני מחזיק עובדים (אשתך מגהצת חולצות והילדים מושכים לך בחולצה כשאתה בטלפון עם לקוח) משרד (סלון בבית) יש לי הוצאות של רישיונות (רישיון רכב שעשית לפני כמה שנים + הארכה ע"ס 183 ₪ אחת לחמש שנים) אני מעסיק קבלני משנה (חבר שפעם אחת עזר לך באיזה קוד ושילמתי לו משהו על זה) יש לי הוצאות של ציוד (קנית מחשב נייד לפני שנה) החזקת שרתים (האתר שלך יושב על איחסון של 2 דולר לחודש) וכן הלאה וכן הלאה. אז איך אני יכול להוריד במחיר???? איךךךך????
מה ההבדל בין תוכנה לנעליים:
להסביר ללקוחות שלפני 3 שנים רכשו תוכנה, שלא התכוונת להיות המשה רבינו שלהם ללכת איתם במדבר ולשאת אותם 40 שנה, ושאם הם רוצים שתעבוד עבורם, הם צריכים לשלם על כך והרבה כסף. "אבל מה איכפת לך רק משהו קטן" ו"נו תעשה טובה, אני קורס" ואסור לך לנתק את הטלפון לאנשים כאלו כי אז הם יגידו שאתה "נוכל", פירוש: מוכר נעל לילד ומנתק את הטלפון כאשר שומע דרישה להחליף לו אותה בחינם בנעל גדולה יותר כשהוא גדל.
להתמודד עם הדרכים הכי יצירתיות של לקוחות להתחמק מתשלום:
נסתדר על התשלום אחר כך, אני אשלם לך בהקדם, אני אדאג שיטפלו בך, אתה תטופל, זה בטיפול, נתתי הוראה לטפל בזה, אין לי כרגע אתה תשמע ממני בימים הקרובים, אני יעשה מאמץ בעניין התשלום, שבוע הבא צריך להגיע אלי מיליון יורו במזוודה אתה תהיה הראשון בתור, נגמר לי בדיוק הפנקס שיקים, תבוא אלי מחר למשרד נשתה קפה נדבר, אני יעביר לך לחשבון, נפל עלי סיפור אל תשאל קמתי בבוקר והייתי צריך עוד פעם לגלות שהכרטיס שלי לא זכה בלוטו, הכסף נמצא בחו"ל זה העברה שלוקחת 12 יום עד שרואים אותה, יש לי בעיה רפואית נהייתי אנדרוגינוס וזה ביטל לי את תעודת הזהות ואת זכות החתימה בבנק תמתין עד שנפתור את זה. קיבלתי הבטחות גדולות ממקורב אישית של ביל גייטס וכבר שילמתי לו אחוזים על החשבון אז נגמר לי הכסף על זה, אבל אל תדאג זה יחזיר את עצמו פי 100 ואתה הראשון שתקבל..... אני יכול רק ב 60 תשלומים תבוא כל חודש ניתן לך במזומן ההסדר הזה יתחיל בעוד חודשיים.
להסביר לאנשים מה לא קשור אליך:
יש לי בעיה באינטרנט אולי תקפוץ אלי שניה לאילת לראות מה קורה. נפל החשמל בכל השכונה, נראה לך שזה קשור לתוכנה??? הדלקתי את האור בשירותים והתוכנה נפלה מיד אחר כך....... אולי זה בגלל שלא ריססתי בפעם האחרונה כשיצאתי או שזה לא קשור??? יש לי בקשות/דרישות להוספת כמה דברים קטנים בתוכנה: זיהוי דיבור באידיש ותרגום מיידי לקווקזית, קריאת מחשבות, חיזוי העתיד, מספר מדוייק עדכני של כמות הדגים באוקיינוס השקט, וחשיפת קודים של חשבונות בנק בשוויץ (אה לא.. סליחה זה לא כל כך קשור לתוכנה טוב נוותר על זה בינתיים למרות שבעיקרון זה היה ברור מאליו שזה כלול......).
ללמד אנשים לשאול שאלות רלוונטיות:
להשתדל לא לפגוע במזכירות ששואלות את אותה שאלה כמה פעמים בתואנה שזאת שאלה אחרת לגמרי (ועוד מתקשרים אליך לנייד, לא אימייל, לא צ'אט, סלולרי שיחה נכנסת אמבולנס!!!). להתמודד עם בקשות ללימוד כל מדעי המחשב על רגל אחת, "תסביר לי למה היה לי באג אני לא מבין מה ההבדל בין היום לאתמול, איך זה קרה פתאום". לקבל שאלות של "למה זה לא אפשרי" ולענות "אם זה אפשרי תעשי את זה את.... קחי את התוכנה תתחילי לכתוב קוד, ותעשי את זה".מי שיכול לעזור לי בכל אלו, יקבל משכורת חודשית ששווה לתקציב הגלידה השנתית של נתניהו :lol: :lol: :lol: סתם אני צוחק, איך כתבתי מקודם, אני לא מרוויח אני על גבול ההפסד וזה...
אז זאת הסיבה למה רוב המתכנתים מעדיפים להיות שכירים ולקבל הוראות מבוס עם עור של פיל, מאשר להיות פילים/כרישים ולאבד בשלב מסויים את עדינות נפש התיכנות.....פורסם במקור בפורום CODE613 ב27/05/2014 19:25 (+03:00)
-
אמיתי... מצאתי את זה בקוד שלי.מסתבר שמישהו נתן לי מתכון בטלפון ולא מצאתי איפה לכתוב אותו באותו רגע (ולא, לא השכלתי לפתוח גוגל טרנסלייט בתור עורך טקסט זמין....) זה כבר נמצא מזמן בגיטהאב (פרטי) ויש על זה קומיט...
public static async Task<List<string>> GetTshulentInLeilShishy() { var result = new List<string> { "לטגן ארבעה בצלים עד שנהיים ממש חומים" ," סילאן על הבצל כמה כפות" ," מעל תפוחי אדמה" ," מים ותבלינים לפי הטעם פפריקה גריל עוף פלפל שחור אבקת מרק בצל ואבקת מרק עוף " ," כנגד הסילאן צריך לשים מלח בשפע ופלפל שחור לאזן את הטעם המתוק" ," המים יכסו יותר מהתפוחי אדמה" ," לערבב ולהניח בשר" ," על זה שעועית לאחר השריה של של לילה שלם במים" ," ועל זה גריסים" ," על אש נמוכה בלי לערבב ובלי כלום" ," לא להרתיח את הסיר מראש" ," לפעמים גם אחרי חמש שעות לא רואים שזה מבעבע לא להיבהל " ," להשאיר כל הלילה על האש" ," בכירה חשמלית על מספר שלוש" ," " ," רשות קישקע:" ," קמח פירורי לחם מים הרבה שמן כוס שמן " ," תבלינים לפי הטעם" ," לקחת קצת בצל מהטשולנט לקישקע לפני הסילאן" ," אפשר לחתוך בטטה להוסיף קצת" ," מערבב את זה חזק ושם עם נייר אפייה מעל לטשולנט" ," צריך שיהיה מים בטשולנט עד למעלה בדיוק מעל לגריסים" }; await Task.Delay(1000 * 60 * 60 * 24); // <<בישול של שמונה עשרה שעות return result; }
הקוד הזה כבר פרודקשן ואני משאיר אותו כפתק בבקבוק לאיזה שהוא AI עתידי שיבין מה רציתי, ואולי יכין לי אחד כזה.
עדיין מתבלט אם להשאיר את הפונקציה סטטית כי טשולנט הוא לעולם לא סטטי. -
מנשר - אזהרה לציבור הצעיר לא להתפתות להתקרב למסגרת ישות של מייקרוסטופלאחר מריטות עצבים של שנים על גבי שנים וניסיונות בכל זאת לגלות את הדרך הנכונה לתחזק את השידוך הזה. אני מודיע על גירושין סופיים (ילדים שכבר נולדו - פרוייקטים קיימים יועברו לחזקת האם תמורת מזונות שהלקוחות ישלמו).
מסקנותיי:
החיבור בין מסד נתונים לבין קוד מונחה עצמים, צריך להיעשות על ידי המפתח עם מספיק גמישות, ולא על ידי משטר טוטאליטרי של מייקרוסופט זה לא עובד. דטה בייס וקוד הם עולמות שונים, והחיבור ביניהם צריך להיות על בסיס סחר חופשי.
אז כמובן, לא לוותר חלילה על OOP, ולא לוותר על דטה בייס מנורמל ומאורגן. האם שניהם חייבים להיות תאומים סיאמיים?? חלילה וחס!!!!! לכל "רצפת ייצור" התנאים המתאימים לה.אז איך לעבוד מכאן ואילך? עד כמה שאני זוכר יש מספר ספריות מתחרות, שלא כופות עליך מיפוי דקדקני ולא "מתעצבנות" כשמשהו לא מתאים. בסך הכל מדובר בהעברת חבילות מידע מעולם לעולם, ואפשר לעשות זאת בצורה רכה וגמישה יותר.
גם אני בעניי פיתחתי ספריה קטנה לבד (ואיתה אני משתמש במקביל כבר שנים רבות) אשקול להעלות אותה לגיט האב אם תהיה לכך הצדקה. דומני שמה שכבר יש בגיטהאב הוא מספיק טוב. העיקר לא Entity Framework.
אני פונה כמובן לאלו שמתחילים את דרכם בעולם התכנות ומערכות המידע, אני הייתי שם, וכעת אני מודה ועוזב. מי שכבר באמצע עם פרוייקט קיים אינני יודע אם זה שווה את המחיר.
יש תופעה ידועה בעולם התוכנה ובעולם בכלל (מקווה שלא כאן בפורום של הצדיקים...) שמי שכבר תקוע עם טכנולוגיות והרגלי עבודה, נמצא באזור נוחות שהוא לא רוצה לשנות אותו, והוא בדרך כלל ינסה להצדיק את חטאיו הקודמים ולהפיל איתו בפח עוד אנשים כדי להפוך ל"מומחה שלהם". אז הזהרו גם מכאלו היועצים לכם לפי דרכם.
מוזמנים להתקיף בחזרה.
-
התקנתי Visual Studio 2022 כאן המקום למי שיודע דברים חשובים על IDE בכלל - דברים ששינו לי את החייםלי עדיין אין חדשות של ממש, אבל אני בטוח שיש כאלו שישבו וציפו בכליון עיניים.
באופן כללי נראה לי שכדאי להוריד את הכפפה וכל אחד שגילה משהו באיזה שהוא IDE פופולרי וזה שינה את חייו, אולי להעלות ולשתף את זה כאן.
אתן כמה דוגמאות קטנות ששינו לי את החיים לגמרי והפכו אותי ממפתח מרוט עצבים למאושר עלי אדמות.הידעת?
-
בסביבות פיתוח של מייקרוסופט הדבר מצוי שכאשר נמצאים במקום כלשהו בשורה (ללא בחירה של טקסט) ולוחצים על העתק או גזור, כל השורה מועתקת או נגזרת (זה כולל את SSMS)
-
ברוב סביבות הפיתוח של מייקרוסופט לחצן Alt משמש לבחירה מרובה של שורות (בVisual Studio זה Alt + גרירת עכבר כלפי מטה או מעלה ואם תנסו גם לגרור אותו לצדדים הוא יבחר באופן מרובה שטח רחב) ואז ניתן להקליד במקביל בהרבה שורות (שימושי מאוד מאוד מאוד אחרי שמתחילים לעבוד עם זה) תנסו את זה.
-
לחיצה על Ctrl+, (פסיק) מאפשרת לחפש ב Visual Studio קבצים, מחלקות, אפילו שמות של פונקציות בתוך מחלקות וגם לפי הקלדה חלקית (ב Visual Studio Code זה עם Ctrl+p אבל עוד הרבה פחות טוב מאשר Visual Studio) עם בחירת התוצאה הרצויה לחיצה על Enter תיקח אותנו היישר אל המיקום המדוייק.
-
אם היית באיזה שהוא מקום ועברת למיקום אחר ואתה רוצה לחזור עם הסמן למקום שהיית בו קודם לחיצה על Ctrl+- (קונטרול ומינוס) תחזיר אותך למקום שהיית בו קודם, ולחיצה עם שיפט תוביל אותך להבא בתור, יש גם 2 לחצנים מסכנים של קדימה ואחורה שרואים אותם למעלה בצד שמאל בדרך כלל. לא מאמינים לי? גם אני לא האמנתי בהתחלה! כמה פעמים אנחנו מטיילים בקוד בין 2 פונקציות וגוללים עם העכבר ועם הלוך וחזור והלוך. (טוב יש גם bookmarks אם אנחנו עכשיו בעיסוק אובססיבי על 2-3 אזורים בקוד שצריך לדלג ביניהם כל הזמן אבל זה כבר סיפור אחר)
-
לחיצה על Ctrl+g מאפשרת לנו לדלג למספר שורה (שימושי ברוב הפעמים שבהם יש פלט שגיאה מפורט המפנה אותנו לשורה בקוד)
לחיצה על Ctrl+k+d מפרמטת את המסמך גם אם הוא עוד לא נשמר. -
מאז שגיליתי שיש כזה דבר פרוייקט Sql ב Visual Studio עם Git אפשרויות Refactoring ו SchemaCompare נהיינו חברים הכי טובים ואני לעולם לא כותב דטה בייס ישירות ב SSMS כמו שעשיתי כשהייתי ילד (ואני מכיר עד היום אנשים מבוגרים שמפתחים דטה בייסים ישירות לתוך הדטה בייס בלי Git שומו שמיים!!!!!).
-
3 סלשים מעל לפונקציה או פרופרטי או שם מחלקה בויזואל סטודיו פותחת לנו מבנה XML מקסים של תיעוד שרואים אותו אחר כך בריחוף מעל לשם הפונקציה בכל מקום שקוראים לה. כנ"ל גם ב Enum (גם על ה enum עצמו וגם על ערכים בתוכו)
ככה זה נראה
/// <summary> /// מחזיר את רשימת החיסול של המוסד לפי מבצע /// </summary> /// <param name="id">מזהה מבצע</param> /// <returns>רשימת מחוסלים שטרם חוסלו במבצע הנוכחי</returns> public IEnumerable<T> Get(dynamic id) => ...;
יש עוד כמה אטריביוטים אפשריים לXML הזה וזה מציל חיים כשאתה משתמש בפונקציה אחרי כמה חודשים יש לך תיעוד מלא מבחוץ, לא צריך לרוץ לקוד כדי להבין בדיוק מה היא עושה. (יש את זה גם ב js אבל הרבה יותר גרוע כרגיל)
מה שקצת כואב לי שכשמדובר במימוש של אינטרפייס הוא לא יורש מהאינטרפייס את התיעוד למרות שזה מתבקש מאוד שהרי האינטרפייס הוא הוא ההסכם מול הצרכן של הפונקציה.- לחיצה ימנית על שם של פונקציה/קלאס וכדומה מביאה תפריט שבו יש אפשרות ל Find All References ואז ניתן לסנן רק רפרנסים שבהם אנו כותבים לתוך הפרופרטי, זה הציל אותי בהרבה מקרים שבהם יש מאות קריאות לפרופרטי, אבל רק 5 פעמים שבהם יש השמת ערך.
- אטריביוט בשם Obsolete שאתה שם אותו מעל לפונקציה או משהו עוזר לך לבצע הגירה איטית ושקטה לפונקציות טובות יותר עם הזמן, כי הוא מסמן את הפונקציה בכל מקום שהיא כמיושנת, אפשר גם לכתוב הודעה בסוגריים שרואים אותה עם ריחוף מעל לשם הפונקציה במקום שהיא נקראת, לדוגמא:
[Obsolete("Use the asynchronous version")] public IEnumerable<T> Get(dynamic id)
אם אזכר בעוד דברים ששינו אותי, אעלה כאן.
הרבה דברים כמובן למדתי מכ"ק אדמו"ר ראש הפורום שליט"א (וזה הזמן לסגור בכבוד אכסניה...) כשהייתי עלם צעיר בתחילת דרכי בתחום הקשוח של עולם התוכנה.
אבקש מהציבור להעלות עוד דברים כאן, בפרט אם הם חדשים ומרגשים שהופיעו זה עתה ב Visual Studio 2022.תודה לכולם.
-
-
לאחר מפגש עם דודי (מתכנת בתעשייה האווירית) - פוסט פילוסופי: נבואה על עתידו של עולם התוכנה והמחשביםשלום רב לציבור הקדוש.
באירוע משפחתי שהתקיים לאחרונה, פגשתי את דודי שעל ברכיו גדלתי, ובכל מפגש מאז שאני זוכר את עצמי הייתי תוקף אותו בשאלות על מדעים, על מחשבים, ועל מטוסים. הסבלנות שלו היתה יוצאת דופן, ואני זוכר לו את זה עד היום.
הדוד הזה (שלא אנקוב בשמו), הינו ראש צוות בתעשייה האווירית, כותב קוד להפעלת כטבמי"ם כחול לבן. למעשה הוא "אשכרה" כותב את התוכנה בשפת C שנותנת פקודות לכלי הטיס, טוס מכאן ולך לשם, הפצץ שם והתאבד פה, כשכל זה כמובן מופעל על ידי תחנה בקרקע (שם יושבים "מטיסים") הוא עובד שם כבר מעל שלושים שנה יוצא לעבודה בכל בוקר בשעה מוקדמת מאוד וחוזר הביתה בערב, מלח הארץ מה אני יגיד לכם (הוא איש דתי לאומי).
למה המפגש הזה הקפיץ אותי?
ובכן מזה מספר שנים אני טוען וכותב על כך גם כאן, בעקבות ההיכרות הקרובה שלי עם עולם התוכנה והמחשבים, שאין לו שום עתיד, אין לו שום סיכוי להחזיק מעמד ובעוד כמה עשרות שנים (ואולי אפילו פחות מזה) נתחיל לראות דעיכה מהירה מאוד של הטכנולוגיה, וחזרה לעט ודף, אולי אפילו סוס ועגלה מי יודע.
אפרוש ברשותכם את עיקרי הטיעון שלי להלן:
ההנחות:
א) עולם הטכנולוגיה בכלל ועולם המחשבים והתוכנה בפרט הוא עתיר ידע בצורה קיצונית מאוד - אין צורך לשכנע את החברים כאן.
תחום התוכנה שונה מכל תחומי ההנדסה בדברים הבאים:
ב) אין לו מגבלת גודל אפשר לכתוב קוד כמה שרוצים, ואף אחד לא מגביל אותך.
ג) התלויות בין החלקים בו היא גדולה ומורכבת מאוד
החשיפה של כל חלק בו לבעיה עלולה להפיל את כל החלקים האחרים (ע"ע מתקפות סייבר)
ד) כמעט ואין מגבלה לשיתופי הפעולה בין אנשים בתחום הזה (ראו כמה ספריות יש בגיטהאב/נוגט וכמה תלויות יש לספריות בספריות/תשתיות נוסיף לזה גם את רשת האינטרנט ושירותי הענן שהם בעצמם שירותים שכולם תלויים בהם והם תלויים במוצרים נוספים)
ה) כל הנ"ל הולך וגדל ומסתבך מיום ליום
ו) תשתיות קריטיות צבאיות ואזרחיות כאחת (וממילא אנשים הצורכים אותן) הופכות יותר ויותר תלויות תוכנה ומשובצות מחשב מיום ליום. בתשתיות כאלו "אין סובלנות לבאגים" נקודה.
ז) נוסיף על זה שכל הסיפור הזה צורך חשמל 24/07באם אתם מסכימים עם כל ההנחות דלעיל שהן נראות לי די יכיחות (ניתנות להוכחה) הבה ונתקדם להנחות נוספות שהן יותר פילוסופיות.
ח) טבע האדם: הולך ומתנוון כאשר הוא משתמש במכשירים ופרוטוזות ה"מקלות" מעליו את החנטריש. במילים פשוטות: מאז שאני משתמש בווייז אני פחות זוכר דרכים וכן הלאה.
ט) טבע נוסף של האדם/עכבר שככל שישנה רווחה גדולה יותר הוא לא מנצל את המשאבים שהתפנו לתחזוקת הקיים או למחשבות על העתיד, אלא להגדלת הצריכה והניצול.
י) הילדים שגדלים לתוך עולם הטכנולוגיה+דמוקרטיה+קפיטליזם+פמיניזם, הינם נרקומנים של דופמין, חסרי יכולת דחיית סיפוקים, חסרי יכולת ריכוז, חסרי אישיות בכלל, ובוודאי ובוודאי חסרי יכולת קריאה וכתיבה.ועכשיו לטענה:
על מנת לתחזק את המפלצת של עולם התוכנה שהולכת וגדלה, יש צורך שהאנשים שיצרו אותה, יעבירו את הידע העצום הזה הלאה במסורת.
לצורך כך עלינו לאתר אנשים עם יכולות יוצאות דופן, בעלי כשרון אדיר, יכולת דחיית סיפוקים, סבלנות של פיל, ושאר רוח, ועוד שלל כישורים ומדות טובות.
אנשים כאלו אינם מיוצרים כמעט, בסביבה הטכנולוגית+דמוקרטית+קפיטליסטית+פמיניסטית. מייצרים אנשים שהם כל ההיפך ממה שדרוש על מנת לתחזק את העולם הזה.
גם האנשים עצמם - שפיתחו את המערכות הללו, לא תמיד זוכרים ויודעים לתקן בעיה בדבר שהם בעצמם כתבו לפני כמה שנים.
לא בטוח בכלל שאין הבדל גדול בין פיתוח לבין העברה של קוד במסורת לדורות הבאים, שכן המפתח שקוע בעניין בצורה שונה מאשר מי שמקבל קוד כתוב לידיו.
ולכן המסקנה:
האנושות הלכה רחוק מידי עם הפרוייקט הסופר מסובך הזה, הוא בלתי ניתן להגנה, לתחזוקה, ולהמשך פיתוח. מה שיקרה בהכרח הוא קריסה של הרבה מאוד תחומים ומערכות מחוסר יכולת תחזוקה שלהן, ויצטרכו להתפשר ולעשות ויתורים רבים וחזרה אחורנית בהרבה מאוד תחומים נקודה.
איפה אנחנו אוחזים היום? האם כבר הגענו לנקודת השיא שממנה אפשר רק לרדת? אינני יודע. ימים יגידו, קשה מאוד לאמוד דבר כזה. אבל ברור שמתחילים לראות סימנים מדאיגים כפי שאספר לכם מייד.
מה שדוד שלי סיפר לי זה שבתעשייה האווירית עשו לאחרונה איזה פרוייקט שמתבסס על פרוייקט אחר, והביאו אנשים מהפנסיה כדי שיעזרו להם וידריכו אותם בפרוייקט הקודם. אז איזה מין מצב זה שמישהו יוצא לפנסיה ואין אחריו מישהו אחר שירש את כל הידע שלו? זה אומר שבהמשך של אחרי הפנסיה (מוות) כבר לא יוכלו להביא אותו, אלא אם כן התעשייה האווירית מאמינה בסיאנסים ובהעלאה באוב וזו כבר שאלה אחרת.
אז הבעיה הזו קיימת בכל העולם, בכל התעשיות, בכל הצבאות, שאף אחד לא יבלבל לי במוח. למטוס F35 יש 25 מיליון שורות קוד, יש מכשירים אזרחיים שיש בהם מעל 100 מיליון שורות קוד, אין שום סיכוי שהדבר הזה בר תחזוקה ובר ידיעה של בן תמותה. הבאגים נוצרים במימשקים, ואז מישהו צריך לדבר עם מישהו שצריך לדבר עם עוד מישהו, חלאס עם ההזיות שזה יעבוד. בינתיים כפי טבעו של העכברוש הוא מנצל את הכסף שמוזרם לתעשיות הללו, לוקחים משכורת ורווחים הביתה, ומשאירים את שברי הכלים לדורות הבאים, מתוך הנחה שהכסף הרב שנצבר יוכל "לפתור כל בעיה" הוא לא! כשאין אנשים שיתחזקו את התוכנות, כסף לא יוכל לייצר אותם נקודה. -
דרוש מתכנת מנוסה למענה על שאלות גם מחוץ לגבולות הפורוםזה נושא מעניין, כנראה שזה משהו עמוק מאוד בעומק האידיאות, שעל בסיסו נבנו האידיאולוגיות הגדולות כקפיטליזם וסוציאליזם וכו' וכו'. ואסור כמובן להתווכח ויכוחים דתיים, אבל כמעט כל ויכוח הוא דתי בסופו של דבר, וגם על זה אסור להתווכח וכו' וכו'.
מניסיון אישי, יש אנשים בעלי אופי טוב שכיף לעזור להם ואין בכך משום שחיקה, ויש אנשים שאינני מסוגל לעזור להם גם בתשלום גבוה. יש לקוחות פיצקיים ממש שכיף לי לעשות להם ג'סטות ושירות כמעט חינם או חצי חינם או יינות ביתן או מה שזה לא יהיה.
לענייננו אינני מכיר את צדיק תמים אישית בכדי להיות נאה דורש ונאה מקיים. אז סתם קשקשתי כאן. -
כמה טיפים מלקוחות שכמובן לא משלמים לפי שעה אלא רק לפי סיכומים על פונקציונליותלאחרונה אני לומד עוד משהו
לקוח מגיע אליך אחרי שהוא מתקשקש שנים עם אקסלים והוא "בתהליך של חיפוש", עד שסוף סוף הוא הבין שהוא צריך איש תוכנה שיעזור לו לפתור את בעיותיו הבלתי פתורות, אתה מסביר לו מה המשמעויות, מחירים, מאמץ וכו'.
ואז מגיע הרגע שבו הבריק לו הברק!!!! הוא מציע לך לפתח "מוצר מדף" שהרי יש עוד אלפים דומים לו והוא יודע מה הצרכים שלהם, פשוט מדהים!!!! במקביל הוא מציע "לארגן לך קבוצת רכישה" של לקוחות דומים, ואתה רק תהיה קבלן נחמד, תעשה פשרות בין כולם, תפתור לכולם את כל הבעיות ובסוף מה אתה יודע, אתה תהיה ביל גייטס, והוא רק ייקח את התוכנה בחינם תמורת התיווך, פלוס אופציות לעתיד, כמה מדהים.
מה שאנשים כאלו שוכחים שמי שיודע יכול לעשות בית ספר למי שאינו יודע, ולא להיפך. אבל הואיל ולא מתפקידי להתפרנס מעשיית בית ספר לאנשים כאלו (למרות שבנקל ניתן להחתים אותם על הסכם "הגיוני" מבחינתם אבל לא בר ביצוע בשטח, וכך להוציא מהם כסף מראש עבור שכר הלימוד שלהם) אני די קרוב למסקנא שאחד כזה יש להשליכו דרך החלון למרחק מקסימלי ולא להמשיך לשאת ולתת איתו. כל רגע שאתה יושב איתו אתה נושם גז מטמטם ואתה נידון בצואה רותחת כפשוטו ממש. -
שידרוג לאנגולר 8 מוליד שגיאות שלא שערום אבותינוהסתדרתי, כלומר: פשוט נכנסתי לספריה ושיכתבתי את הקוד כך שיתאים לtypescript הישן יותר
זו טעות שלהם עם התאימות הכפויה לTypescript נמוך יותר מאשר הגירסה האחרונה שמייקרוסופט פירסמה.
ללמדך שעולם התוכנה תלוי ביותר מידי אנשים ותלויות ומרכיבים, ועתידו קריסה מוחלטת.
הפתרון היחיד: השמדה מוחלטת של כל מה שיש היום ביקום, וכתיבה מחדש של כל העולם עם אפס תלויות, מצידי שיחזרו לשחור לבן ולכתב איינשטיין. -
מנשר - אזהרה לציבור הצעיר לא להתפתות להתקרב למסגרת ישות של מייקרוסטופ@OdedDvir נו אז יש לנו מניפסט הפוך. אדרבה ואדרבה. העיקר שאתה מדבר מניסיון וחיכוך רב שנים. אין כאן כל כך עניין עקרוני זה יותר עניין פרגמטי. לגבי עדכונים זה הפיתוי הגדול ביותר להצטרף לחגיגה.
אגב כל משטר טוטאליטארי מאפשר גמישות למי שיודע את כל סודותיו ואותיותיו ורמזיו היוצאים ממנו, אפילו במדינת ישראל יש אנשים מסויימים שמסתדרים איכשהו עם הבירוקרטיה אחרי שבזבזו חצי חיים כדי ללמוד אותה.
אבל מי אני שאתווכח. -
הדרך הנכונה בניהול מסד נתונים, היסטורית תרומות ללקוח@אבי-203 אמר בהדרך הנכונה בניהול מסד נתונים, היסטורית תרומות ללקוח:
או שבמסד התורמים בכל תורם יתעדכן מצבו ביחס לכל פרוייקט תרומות חדש.
לאאאאאאאאא!!!!!!!!!!!!!!!!!!!!!!!!!!
שאילתה כזו היא לא מסובכת ולא מורכבת בדרך כלל עושים LEFT JOIN לתרומות ואז תנאי של IS NULL לשדה המזהה של טבלת תרומות.
או שעושים NOT IN עבור השדה המקשר ואתה כותב תת שאילתה יעילה שבה בודקים אם הלקוח נמצא בתרומה. -
כתיבת קוד כסיפורשלום חברים.
כשיש פרוייקט גדול ומשמעותי, ניהול הקוד עובר מהמיקרו אל המאקרו. כבר לא מדברים על מחלקה שבנויה טוב, אלא על אוסף של מחלקות שנמצאות בניימספייס המתאים, ועל אשכולות שלמים של ניימספייסים. קחו לדוגמא את המחלקות של דוט נט עצמם תראו כמה הם השקיעו בניימספייסים.ברוב הספרות המקצועית, מדברים על איכות קוד ברמת הקריאות של הפקודות, הפונקציות וכדומה. אולם פחות ראיתי שמדברים על מה נקרא קוד איכותי מבחינת ניהול של מאות ואלפי מחלקות.
ברצוני להציג כאן נקודה מעניינת, כאשר עוברים בניהול קוד מהמיקרו למאקרו, אנו נכנסים לתחום חדש לגמרי: ספרות, כן כן יצירת אמנות המובעת בכתב. לא סתם קוראים לזה "ספריית קוד", כשזה קוד גדול מידי, המבחן האמיתי שלו אם הוא ניתן לניהול ושליטה או לא, הוא האם הוא כתוב בצורה של סיפור קולח, שהקורא אותו פשוט רואה כאן סוג של "עלילה" מתפתחת, בתוך תבנית. כשהוא מדלג ומדבג ונמצא בשכבה השנים עשר של איזו פונקציה שקראה לפונקציה שקראה לפונקציה וכו', הוא לא מאבד ראש, כי העלילה פשוט קולחת.
אם ייצא לכם פעם לנהל פרוייקטים עם מעל מאה מחלקות, הנושא הזה חשוב מאוד. אני בדרך כלל מקפיד לבדוק האם כשמגיעים מהקונטרולר (אני מדבר על פרוייקט API בדוט נט) שהוא בעצם "השער" של הקוד לעולם החיצון, איך זה נראה משם, האם משם הסיפור קולח? כשאתה מדבג את הקוד ויורד במורד השכבות (נניח עד למסד הנתונים, שם ה"סיפור" קצת משתנה) האם אתה רואה כאן סיפור, או סידרת פעולות יבשות מורטת עצבים. כל עוד אתה בתוך סיפור, אתה שורד. ברגע שאתה רואה כאן סדרות של פעולות "שהמחשב צריך לבצע" לא תוכל להחזיק מעמד.
לכן לדעתי, יש להסתיר ככל הניתן בקוד את הבלוקים המטפלים ב"עבודה שחורה" (נניח ניקוי סטרינג מתווים לא חוקיים לדוגמא, או המרת סטרינג לאינט) אני נוהג לעשות זאת בשיטה הבאה: ראשית, עבודה שחורה של הקוד, אני עוטף ב region שרוב הזמן הוא מוסתר ב IDE, ושנית ככל שניתן אני כותב את העבודות השחורות בתחילת הפונקציה כדי "להיפטר" מהם כמה שיותר מהר.
גם הנושא של חלוקה לפונקציות חשוב מאוד בהקשר הזה, ככל שאתה רואה בקוד כתיבה של "סיפור" השיקול העיקרי שלך את מה לחלק לפונקציה נפרדת, הוא מה עלול להפריע לסיפור כ"רעשי רקע" ומה דווקא מתחבר טוב לעלילה, וחבל לוותר עליו. כך שלפעמים דווקא כדאי לכתוב פונקציה עם הרבה שורות קוד, מאשר לחלק אותה לחמש פונקציות אחרות, דווקא בגלל שבמצב השני אנחנו עלולים להפסיד את אפקט הסיפור. לכן לא כל קוד ארוך הוא גרוע, ולא כל קוד קצר הוא טוב. קוד הוא טוב כשאתה חוזר אליו אחרי שנה או שנתיים (וזה כבר קורה לי הרבה) ומצליח להשתלב בתנועה די בקלות.
גילוי נאות, ב SQL המצב קצת שונה (כלומר קצת קשה לממש את התיאוריה הזו, היא תקפה בעיקר בתיכנות אובייקטאלי), אם כי לאחרונה עליתי על כמה רעיונות איך להפוך קוד SQL ליותר קריא, נחשו מה? שימוש טבלאות זמניות! הופך את הקוד לקריא מאוד. טבלה זמנית שמזינים אותה בנתונים בסיסיים, ולאחר מכן מעדכנים בה את השדות הריקים בפעולה אחרי פעולה, במקום סלקט עם הרבה ג'וינים.
וגם שימוש רב בתת שאילתה מקוננת במקום בג'וין (ב SQL SERVER הביצועים נהדרים! ב mysql ובאורקל זה בבחינת "אל תנסו את זה בבית") אתן לכם דוגמא, ותחליטו איזה קוד קריא יותר.
קוד SQL "לפי הספר":
SELECT a.Title ,c.FullName AS ContactFullName ,c2.FullName AS AssignedToFullName FROM Activities.Activities a JOIN Contacts.Contacts c ON a.ContactID=c.ID JOIN Contacts.Contacts c2 ON a.AssignedToID=c2.ID
קוד SQL בסגנון אחר:
SELECT a.Title ,(select top 1 FullName from Contacts.Contacts where ID=ContactID) AS ContactFullName ,(select top 1 FullName from Contacts.Contacts where ID=AssignedToID) AS AssignedToFullName FROM Activities.Activities a
שימו לב שבדוגמא השניה הסיפור קולח, כשמגיעים לעמודה של ContactFullName יש לנו את כל השאילתה מול העיניים, ולא צריך לרדת לjoin למטה כדי להבין על מה מדובר.
בדיוק היום יצא לי לראות דטה בייס של ארגון חשוב ומכובד וידוע מאוד בארץ, יש שם שאילתה עם (תחזיקו חזק!!!) מעל עשרים ג'וינים. ג'וין מלשון גהינם.
פורסם במקור בפורום CODE613 ב28/07/2017 02:13 (+03:00)
-
"תוכנה לניהול מוסד", וואלה!...ושוב מגיע ה'מתכנת' התורן, הוא כבר עשה כמה 'תוכנות' באקסס לניהול הת"ת בישיבה ולחישוב מלאי בחנות של הדוד
לא ממש מצליח להבין את הזלזול, מיהו בעיניך מתכנת ללא מרכאות?? אחד שלמד באקדמיה? עבד בחברת כוח אדם המספרת שירותים למשרדי ממשלה?? (שאת הקוד שלהם אתה יכול לראות אפילו בדפדפן איזה HTML מגעיל ומכוער...)
כל אלו בעיני אינם אותם אנשי מקצוע טובים ויצירתיים שהייתי רוצה לנהל איתם שיחה (יצא לי להכיר מהם יש בהם שחצנים שחושבים את עצמם לאלילים בגלל שעבדו פעם במשרד האוצר ואולי עשו פעם סלקט על "כמה כסף יש עכשיו במדינה" ווואוו איזו חרדת קודש... אנשים כאלו הם ממש לא נעימים עד כדי שהם לא מסוגלים לשמוע אותך בכלל הם רק מדברים בלי סוף על עצמם) אני מאמין אך ורק באותו מתכנת שהתחיל עם תשוקה גדולה לכתוב תוכנה למחסן של דוד שלו, והוא מתקדם ללא לאות ולומד כל הזמן. אז למה לכתוב בכזו ציניות, זהו הדור הבא, ואלו האנשים המבוקשים ביותר בשוק אגב. יש כיום 2 תוכנות מפורסמות לניהול מוסדות, אחד APT והשני עסקים. מעניין ש 90% מהלקוחות שלהם מקללים אותם, או שהם פשוט לא מבינים כלום. אז אתה רוצה שהשוק יישלט בידי בריונים שמספקים סחורה זבל, או לפתוח את השוק לאנשים טובים באמת???
אתמהה.פורסם במקור בפורום CODE613 ב01/08/2015 22:57 (+03:00)
-
התייעצות לגבי שידרוג מערכת קיימת@שואף אמר בהתייעצות לגבי שידרוג מערכת קיימת:
הסיבה שאני לא אוהב את הפיתרון הזה הוא גם כי עד עכשיו הסתדרתי בלי מסד נתונים וחבל להזקק לו עכשיו סתם
עליך נאמר תלמידי חכמים אין להם מנוחה לא בעולם הזה ולא בעולם הבא שנאמר ילכו מחיל אל חיל
אתה לא יכול לערב את השיקול הזה בחיים!!!!!! אחרת תמצא את עצמך מחליד בתוך שלוש ארבע שנים.
עד היום יש לי את הניסיון הזה, למה ללמוד משהו חדש???
אבל אנחנו אסקמוסים, אין מקום לזקנים, ואין מקום לעייפים, אם אתה מתעייף אתה פשוט מת.
לגופה של השאלה שלך פסק הדין שלי הוא חד משמעי: מסד נתונים בלי שום סיג של מחשבה אחרת, זרוק את כל המחשבות הזרות, ואת כל הרהורי הפקפוק שלך בנושא.בהצלחה!
-
שדרוג nginx שהסתבךלא מגיב לגבי הפרטים הטכניים אלא החינוכיים....
א)
לעולם אתה לא משדרג פרודקשן לפני שעשית את זה על סביבת פיתוח/העתק והכל עבר חלק. שכך שנינו: "אין משדרגין פרודקשן בתחילה, אלא כהן גדול נכנס לסביבת פיתוח עצמאית ומשדרג והולך עד שנעשית התוכנה כסולת נקייה, ושומר עותק מלא של גירסה קודמת בלשכת פלהדרין, ומשנה כתובת פנימית עד שכל הריקווסטין פונין לאקו סיסטם המשודרג. ואם היו הלקוחות מתלוננין, משנה את הכתובת ומחזירן לגירסה הישנה ומתקן את החדשה ואינו חושש"
ב)
תלמד על Docker וזה ישנה לך את החיים לגמרי, זה קשה, זה גם מעצבן, אבל שווה. שם אתה יכול לעשות דברים כאלו בלי שום חיכוכים (כמעט) -
הוויתור מרצון על החירות - פרק אבעודי מהרהר מאיזה כיוון להתחיל ולתקוף את סוגיית המכונית האוטנומית, אני מבין שבעצם ביסודה עומד רעיון רחב הרבה יותר "בינה מלאכותית" על כל המשתמע מכך.
מכונית אוטונומית היא למעשה רק דוגמא חזקה מעוררת אימה, "הגולם מפראג" האגדי שנוסע במכונית בכביש אמיתי. אולם לפי האמת, הרי אין זה סוד שחיים ומוות לא תלויים רק במכונה פיזית שנוסעת על כבישים. באופן מעורר חלחלה, בתוך כשלושים שנה, אחוזים עצומים מחיי היום יום שלנו נעשו תלויים במחשבים ובתקשורת בצורה כזו או אחרת ישירה או עקיפה. "העולם הפיזי" כפי שהוא נדמה לאנשים, הולך ונעשה פחות ופחות עצמאי (מה קורה לאוניה גדולה בנמל עם קונטיינטרים מלאים בנעלי בית, כשהמחשבים של הנמל או של החברות קורסים??) קורי העכביש ההולכים ונרקמים סביבנו, ובהם תלויים כל המשאבים הדרושים להתקיימות היחיד והכלל, החל מאספקת המזון ועיבודו, ועד לניהול הממשל והצבא, ריבוי התלויות והמורכבות הם בלתי נתפסים. אז בכדי להפחיד את הבריות, מדברים על רכב שנוסע בכביש ללא נהג, אבל האמת שאנחנו כבר מזמן עמוק עמוק בתוך מלכודת הדבש הטכנולוגית, אם נשארו למאן דהו יד או רגל בחוץ, כנראה שהוא גר ברפובליקה הדמוקרטית של קונגו (המדינה הנחשלת ביותר בעולם).
כשאני משוחח על הנושא הזה עם אנשים, ולפעמים ביני לבין עצמי. יאמרו לי, הלא החשמל כבר עובד מעל מאה ועשרים שנה, רכבת קיטור יותר מכך, והעסק ממשיך לעבוד. אולם יש הבדל מהותי בין כל ההמצאות עד לעידן תקשורת המחשבים, לבין המצאת האינטרנט, ויותר מכך להמצאת הבינה המלאכותית (שעוד נתעמק בהבדל בינה לבין התוכנה הקלאסית בפוסטים הבאים).
כל המצאה שהיתה עד לעידן זה, קיימה תנאי בסיסי: בידוד, החשמל איננו קשור לקיטור, ולגז, ולבנזין. הגז לא קשור לחשמל, וגם בין תחנות כוח שונות אין בהכרח קשר. כשל או תקלה במכונה אחת איננו משפיע על יתר הפרטים או שהשפעתו מוגבלת מאוד. אולם עולם המחשבים והתקשורת הסבוכה כל כך, בעצם עולם האינטרנט על כל הסרביסים התלויים בו, זאת מפלצת של ממש שהולכת ויוצאת משליטה, סוג של קוד ספגטי עולמי, שבו המושגים הבסיסיים והתקינה משתנים באופן קיצוני בין מערכות שונות, ג'ונגל נטול כל רגולציה, שנבנה מראש על תשתית רקובה בעלת סיכוני אבטחה גבוהים מאוד. מה גם שעלות התחזוקה של כל מערכת הולכת ועולה עם השנים (בגלל התיישנותה ביחס לסביבה) וזה דבר שאין ולא ניתן לחשב אותו לעולם ועד (אבל על כך פוסט נפרד במדור זה בלי נדר).
לצורך ההמחשה נעצום לרגע עין ונדמיין קריסה רחבת היקף בחוות השרתים של אמזון (שכל הסיפור שלה הוא 10 שנים בלבד, ולפי כמות ההכנסות של החברה מהשירות זה נראה שמיליוני סרביסים יושבים שם), מה יהיה אם חומרים נמחקו לבלי שוב? אם התערבבו להם דומיינים וכתובות פיזיות של שרתים ושל דיסקים קשיחים בגלל >באג>וירוס>טעות טכנית>סופת ברקים>רעידת אדמה>הפצצה של כוחות אויב>דליפת זיכרון>התקפה של חרקים או חיידקים>תא רדום של דעאש או של פוטין שיושב באמזון כבר כמה שנים> ועוד ועוד כיד המדע הבדיוני הטוב עליכם.
הרי אנחנו יודעים שכל הדבר הזה שנקרא "מחשוב ענן" הוא הררים התלויים בשערה כפשוטו ממש!! מוכרים לך משהו שנקרא "כוח חישוב" שהוא למעשה שימוש מקביל במאות מחשבים מבוזרים שכרגע הם פשוט פנויים להעלות אותך עליהם טרמפ. ב"טרמפ" הזה יושבים פיזית עוד הרבה מאוד אורחים, ותוכנה בלבד מפרידה בין כולם (שימו לב! לא חומרה מפרידה אותך מאחרים אלא תוכנה! זהו הרעיון של מחשוב ענן ותקשורת מחשבים בכלל וזהו עקב האכילס של האינטרנט). נראה לכם שזה כל כך פשוט לתחזוקה הדבר הזה?? זה בדיוק מה שמפחיד בכל הסיפור. ואם אנחנו מדברים על סרביסים שתלויים באמזון, מה עם הסרביסים שתלויים בסרביסים שתלויים בסרביסים שתלויים באמזון?? ומי יודע עד היכן שרשרת התלויות הזו מגיעה? המגמה הזו הולכת ומתחזקת, תלויות על תלויות על תלויות, ולנו זה נראה כאילו ג'ף בזוס הוא גדול מכדי ליפול, אז זהו שלא. אוקיי, הפחדנו מספיק, בואו נכתוב קצת פילוסופיה.כל הנושא הזה מתחיל ממגמה עמוקה מאוד שעברה האנושות בעידן המודרני. אותה העלה מקס הורקהיימר בספר "ליקוי מאורות התבונה". תמצית תורתו: העידן המודרני חילל את התבונה והפך אותה מכוח מצווה, לכוח המספק שירותי יעילות לציוויים חיצוניים: תפקידה של התבונה איננה לענות לשאלה "מהי המטרה אליה נחתור?" תפקידה של התבונה הוא למצוא את הדרך היעילה ביותר לחתור ולהגיע בהינתן מטרה מסויימת. (אם תשימו לב זאת תמצית הטכנולוגיה!! עוד נחזור לזה בהמשך)
@עריכה בעקבות בקשת matנצטט כעת מהמקורות שלנו שלמעשה יש 2 סוגי תבונה, ברמב"ם הנושא הזה מוזכר בשמונה פרקים:
וְהַחֵלֶק הַשִּׂכְלִי - הוּא הַכֹּחַ הַנִּמְצָא לָאָדָם, אֲשֶׁר בּוֹ יַשְׂכִּיל וּבוֹ תִּהְיֶה הַהִשְׂתַּכְּלוּת, וּבוֹ יִקְנֶה הַחָכְמוֹת, וּבוֹ יַבְדִּיל בֵּין הַמְגֻנֶּה וְהַנָּאֶה מִן הַפְּעֻלּוֹת.
וְאֵלּוּ הַפְּעֻלּוֹת : מֵהֶן - מַעֲשִׂי, וּמֵהֶן -עִיּוּנִי.
וְהַמַּעֲשִׂי : מִמֶּנּוּ - מְלֶאכֶת-מַחֲשֶׁבֶת, וּמִמֶּנּוּ - מַחֲשָׁבִי.
וְהָעִיּוּנִי : אֲשֶׁר בּוֹ יֵדַע הָאָדָם הַנִּמְצָאוֹת שֶׁאֵינָן מִשְׁתַּנּוֹת, כְּפִי מַה שֶּׁהֵן עָלָיו, וְהֵן אֲשֶׁר יִקָּרְאוּ : "חָכְמוֹת" סְתָם.
וּמְלֶאכֶת מַחֲשֶׁבֶת - הוּא הַכֹּחַ אֲשֶׁר בּוֹ יִלְמַד הַמְּלָאכוֹת : כְּנַגָּרוּת, וַעֲבוֹדַת הָאֲדָמָה, וְהָרְפוּאוֹת, וְהַמַּלָּחוּת.
וְהַמַּחֲשָׁבִי - הוּא הַכֹּחַ אֲשֶׁר בּוֹ יִסְתַּכֵּל הָאָדָם בַּדָּבָר אֲשֶׁר יִרְצֶה לַעֲשׂוֹתוֹ : אִם אֶפְשָׁר לַעֲשׂוֹתוֹ, אִם לָאו; וְאִם אֶפְשָׁר לַעֲשׂוֹתוֹ, אֵיךְ צָרִיךְ שֶׁיַעֲשֶׂה ?
זֶה שִׁעוּר מַה שֶּׁצָרִיךְ שֶׁנִּקַּח מֵעִנְיַן הַנֶּפֶשׁ הֵנָּה.הסגנון אמנם קצת שונה, אבל הרעיון הוא פשוט, יש בתבונה חלק אחד מצווה והחלק השני מייעל באופן מעשי את הציווי.
נשאלת השאלה, כאשר פיטרו את התבונה ממשרת "המצווה", מי ירש את מקומה? על כך לא ענה הורקהיימר, אולם הדברים ברורים, כל הציוויים הפכו להיות ציוויי טבע מהסוג המניע בעלי החיים. אלו ציוויים ודאיים ומוחלטים, וכל השאר הפכו להיות לא רלוונטיים. צרכים חומריים הם איפה הציויים, כלומר הם המטרות, ועל התבונה לספק את האמצעים היעילים ביותר להשגתם. מכאן הגיחה דת חדשה לעולם, דת שמאמינה אך ורק בניצול מואץ של משאבים הדת הזו יצאה למסעי צלב "גלובליים", ולמרבה הטמטום, שערי כל המדינות נפתחו בפני כוהני הדת (סליחה... יזמים מעמק הסיליקון) והחיילים שלהם (סליחה... מהנדסים) בשם "הסחר החופשי". והאזרחים קיבלו את פני הצבא הכובש בתשואות (אנשים מכרו את כל האגו שלהם לחברה מסחרית - דבר שעוד לא נשמע כמותו בהיסטוריה - בתמורה ל"יעילות" ביצירת קשר עם אנשים אחרים). יוצאת מן הכלל בנושא הזה היא סין שפייסבוק חסומה שם עד עצם היום הזה. והמגלומן העומד בראש החברה, נשוי לאישה סינית ולמד מנדרינית מתוך תקווה להחניף לממשל הסיני ולאפשר לו את המשך הכיבוש ומסעות הצלב שלו. וזאת ההזדמנות מעל גבי הפורום הגדול הזה, לחזק את ידי הממשלה הסינית: אל תיכנעו!!!
המעמד האימתני שצברו חברות הטכנולוגיה, קיצר עבורם את הדרך לחסל כל שיקול אפשרי בדרך לפרוסת הלחם, היעילות הפכה להיות השיקול היחידי. ערכים שנותרו כשרידים לתבונה עתיקה שעוד הייתה "מצווה" על האדם, הולכים ומושמדים בשיטתיות, ובאמצעות המסחר הגלובלי, העולם כולו נאלץ ליישר קו עם מגמת היעילות.
דא עקא, ש"יעילות" זו הורסת את עצמה בטווח הארוך, הואיל והיא צורכת תחזוקה עתירת משאבים, ובד בבד היא מנוונת לדעת את הדור הבא שאמור לתחזק אותה. אולם טווח ארוך, איננו שיקול של יעילות, זה כבר עניין של ציווי ערכי, בהתאם לכוחות הטבע הפראיים הציווי היחידי שעומד לנגד עיני הקוף הוא הקוקוס שישנו כעת על העץ, אך ידידינו הסינים לא יאפשרו לו לקטוף אותו כל כך מהר.
אז לאן כל זה הולך ומה הלאה? על כך בפרקים הבאים בלי נדר.פורסם במקור בפורום CODE613 ב11/08/2017 04:11 (+03:00)
-
ירוק בוסריותר ויותר אנשים אוהבים את המקצוע הזה, אך מתקשים למצוא דרך.
למעשה ככה, זהו מסע של 3-4 שנים לפחות בכדי להיות מפתח תוכנה ששווה משהו (אז סבלנות והרבה!!!) אתה צריך הרבה מאוד עקשנות והתמדה, חלק גדול מהזמן "מתברר" לך למפרע כבזבוז זמן על שטויות, כי אחרי שאתה מגלה מה היתה הבעיה, אתה אוכל את הלב שעל פיצ'יפקה כזה קטן בזבזת עשרים וחמש שעות.
הסיפור הוא כזה, אין בית ספר ולא מדריך שמעביר אותך את הניסיון, כולם למעשה מלמדים אותך את השפה, משל למה הדבר דומה לאחד שלמד ארמית, האם הוא יודע ללמוד גמרא?? כמה התקצר המרחק בינו לבין "למדן" אמיתי, בגלל לימוד הארמית?? לדעתי 1% אולי. וזה נכון גם בתיכנות, למעשה השפה היא בסך הכל אוסף די קטן של כללים (ולכן מתכנתים אמיתיים כמעט ואינם מתפארים ב"ידיעת שפות הרבה" כי אם ב"יכולת שימוש בשפות הללו" את הפערים עבור שפות חדשות מתכנת בכיר משלים בתוך כמה חודשים, והוא ממשיך להיות תותח גם בשפה החדשה כמעט כפי שהיה קודם)
אם אתה שואל אותי, אני חושב שזה עוול גמור מה שעושים במכללות, הם נותנים לך אשליה שאתה נהיה מתכנת, ולמעשה כשאתה מסיים אתה מגלה שעוד לא התחלת. אני מאמין ב"מנטור" אישי שכל אחד צריך לאמץ לעצמו, כמו שוליה של פעם, אין דרך אחרת יותר קצרה. אם היה לי כזה מנטור הייתי חוסך מעצמי הרבה מאוד עגמת נפש, אבל אולי לא הייתי נעשה מנטור בעצמי :lol: :lol:
אנגלית חובה גמורה, תניח הכל ותלמד אנגלית. לא בשביל היכולת לתכנת, אלא בגלל שכמעט כל החומרים הרלוונטיים הזמינים הם באנגלית.
בהצלחה
פורסם במקור בפורום CODE613 ב13/06/2016 20:39 (+03:00)
-
שאלה פילוסופית עד איזו רמה של מיקרו אופטימיזציה האדם מצווה לדקדקמקבל את כל דברי חכמים מבלי כחל ושרק.
אבל מוסיף עוד משהו שאני חווה לפעמים, מיקרו אופטימיזציה אכן לא משפיעה לשעתה, אבל כשמגיע הרגע שאתה רואה ריקווסט בן 4-5 שניות, ואתה מבין שזה עוד עלול להידרדר, אז אתה פתאום מוצא את עצמך צולל בעמקי הקוד לגילוי הבעיה. וזה קרה לי ממש אתמול כשהתחלתי לטפל בבעיה כזו, התברר לי שיש קובץ טקסט שאני קורא אותו עשרות אלפי פעמים מהדיסק הקשיח (ועוד מפרסר אותו ג'ייסונאית) בעקבות לולאה שהצטרפה לחגיגה. ובמשך שנים כאשר השירות הזה ניתן ללא לולאות, אכן לא היתה לכך משמעות, ולא היה עניין "לשמר" את הטקסט הזה בזיכרון, אבל כשלולאה רצחנית נכנסה לתמונה ברור שהעסק הזה קיבל משקל עצום. לקח לי שעתיים עד שהגעתי לנקודת הקוד הזו שקבורה בעומק 4 ק"מ מתחת לאדמה.
אז זה לא אומר שההרגלים לא היו טובים, אבל כאשר גדולי ישראל בראשות מרן ראש הפורום שליט"א (לאורו לאורו לאורו Patch Patch Patch Patch Patch) אמרו שזוהי הדרך הנכונה, אנחנו נלך בה, זה המחיר של הליכה בדרך הנכונה, וכנראה שזה שווה את המחיר.
אגב הפתרון המובן מאליו במקרים כאלו הוא קאש מוגבל לזמן, ומקסימום אחת לכמה ריקווסטים מישהו יסבול קצת. -
איזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?@yossiz אמר באיזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?:
צורך מספר 2: חלוקה לרכיבים ובידוד בין הרכיבים
מסורת בידינו כל המקפיד על צימוד רפוי ועל לכידות גבוהה זוכה לחיי העולם הזה.
@צדיק-תמים אמר באיזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?:
וזה טוב או רע?...
לכאורה רע (לדעתי), מה העניין לעשות כל דבר ודבר בקוד בדיוק לפי הצורה שמישהו מסוים החליט?דעתי כאן ידועה אבל בשביל הפרוטוקול אני חייב להצביע, ברור שזה טוב ואפילו טוב מאוד. המישהו שהחליט לא "החליט" בשבילך שום דבר, הוא בסך הכל נותן לך שירות נהדר וחוסך ממך את ההתעסקות בפיציפקעס, אתה מחליט בסופו של דבר את החלטות הגדולות, תיכנון, ארכיטקטורה, UX ועוד, בזה צריך להיות המיקוד שלך לדעתי.
משל למה הדבר דומה? למי שהחליט לצאת לטיול, והוא מתלבט בין שירותי הסעות/השכרת רכב. אתה לא חושב לבנות בעצמך רכב נכון? העיסוק העיקרי שלך הוא טיול בארץ הקודש, ובחירת הרכב תהיה לפי שיקולים של יעילות. כך לגבי הפריימוורקים, ולכן אני חסיד גדול של אנגולר, כשאני עולה על מכונית אני רוצה כמה שפחות להתעסק בקושקובציות ומימושים, ולדעת שלכל פונקציה במכונית יש כפתור מוכן, יש מדריך מסודר ומדוייק איך לבצע, ולא דורשים ממך לעצור בצד הדרך ולפתוח ארגז כלי עבודה כדי לממש יכולת "מופשטת" שקיימת במכונית.