-
@davidnead
צודק, דוגמה טובה
אני לא נתקלתי כל כך עם משימות בסגנון הזה
אבל בכל מה שקשור לאלגוריתמים של חיפוש והמסתעף, מתמטיקה יכולה בהחלט לעזור.
עריכה: במקרה הזה זכור לי שמשתמשים בסימן ! במחשבון מדעי
אז חיפשתי בגוגל "מה זה הסימן ! במחשבון"
ואחרי כמה תוצאות מצאתי את הערך עצרת
נראה לי שזה מה שצריך, צדקתי?
אם כן, כל מה שצריך זה מושגים בסיסיים, וגוגל.עריכה 2: בשביל מה יש פורומים, אם לא בשביל לשאול כאלו שאלות?
-
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
צודק, דוגמה טובה
אני לא נתקלתי כל כך עם משימות בסגנון הזה
אבל בכל מה שקשור לאלגוריתמים של חיפוש והמסתעף, מתמטיקה יכולה בהחלט לעזור.
עריכה: במקרה הזה זכור לי שמשתמשים בסימן ! במחשבון מדעי
אז חיפשתי בגוגל "מה זה הסימן ! במחשבון"
ואחרי כמה תוצאות מצאתי את הערך עצרת
נראה לי שזה מה שצריך, צדקתי?
אם כן, כל מה שצריך זה מושגים בסיסיים, וגוגל.ראשית, צדקת רק למחצה. זה נותן לך את מס' הקומבינציות, אבל צריך את הקומבינציות עצמן. שנית, כמו שאתה אומר צריך מושגים בסיסיים - הרבה באמת (כולל זה שהבאת) אין לי, ועל זה בדיוק דיברתי.
אני נזכר על דוגמה נוספת בעבר שכללה חישוב זוית כלשהי, משהו עם קונוס, לא זוכר. יש לזה אפילו פונקציות עזר מובנות נJS כי זה מונחים מקובלים במתמטיקה/גאומטריה. למזלי היה איתי מתכנת בעל תשובה (בוגר ליב"ה...) והוא ישר ידע לומר לי את המושגים. למזלי הפחות טוב הוא היה דוגמה מצוינת למי שיד עמושגי בי"ס אבל כשרון לא היה לו ולכן להשלים את המושגים לכדי יישום הייתי צריך עוד לעבוד.ואלוגריתמים, כפי שמבהיר יפה הספר הבסיסי ש@dovid נתן לעיל - יכולים להיות גם חישוב בסיסי ביותר, לוגי או מתמטי.
עריכה 2: בשביל מה יש פורומים, אם לא בשביל לשאול כאלו שאלות?
בדרך כלל אחת מהשתיים: או שמהר לי יותר לעשות/לחפש בעצמי מאשר להמתין לתשובה בפורום. או שעד שאני טורח לנסח את השאלה בבהירות בפורום - כבר מתבהרת לי חצי תשובה וכמאמר הידוע. ובשורה התחתונה בשני המקרים עשיתי את העבודה לבד.
-
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות. -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
-
@davidnead אמר בתכנות | איך להתחיל?:
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
מה אני אמור לענות על זה?
לא באתי לנגח, אני באמת מנסה להבין מתי? איפה? ואיך? צריכים ללמוד מתמטיקה? -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
מה אני אמור לענות על זה?
לא באתי לנגח, אני באמת מנסה להבין מתי? איפה? ואיך? צריכים ללמוד מתמטיקה?גם אני לא באתי לנגח, חלילה. רק לא היה לי כל כך מה לענות. הצגתי בעיה פשוטה ומעשית, שכמוה אפשר להיתקל הרבה, ידע מסודר במתמטיקה בסיסית פותר אותה מהר ובקלות, ועוד יותר מזה ידע באלוגריתמים בסגנון מדעי המחשב. אתה פוטר את זה כלאחר יד, לא ברור לי איך, בסגנון ישראלי של "יהיה בסדר איכשהו".
אני יודע שיהיה בסדר, הסתדרתי עם זה ועם אתגרים גדולים בהרבה, אני רק, כמו ש @dovid ו @yossiz חידדו למעלה כל כך יפה, מנסה להבהיר לעצמי מה אני מפסיד (אני יותר אוהב: מה יכולתי להרוויח) ולא איך אני יכול להמשיך איכשהו להסתדר עם המצב הקיים.יודע מה? אתגר: תן לי קוד JS שעושה מה שביקשתי. ותתאר אחר כך איך הגעת לפתרון וכמה זמן לקח לך. זאת, אחרי שכבר יש לנו חצי תשובה.
-
@davidnead אמר בתכנות | איך להתחיל?:
הצגתי בעיה פשוטה ומעשית, שכמוה אפשר להיתקל הרבה, ידע מסודר במתמטיקה בסיסית פותר אותה מהר ובקלות
לדעתי ידע "מסודר" במתמטיקה בסיסית לא יעזור כמעט כלום לכאלה בעיות, מניסיון.
צריך להיות אחד שהמון פעמים חשב על בעיות מתמטיות ואהב את הפתרונות שלהם, בלי זה מחר אתה שוב בבעיה. ואכן גוגל מאוד טוב בעניין עם אנגלית בסיסית.
לעומת זאת אלגוריתמיקה עבורי איננה אוסף פתרונות אלא שיטות חשיבה והיכרות עם בעיות מפורסמות ופתרונות מפורסמים, זה מקנה לדעתי ייתרון גדול בתכנון בעיקר אבל גם בכל שלב בפיתוח, גוגל פה לא רלוונטי בכלל.
באופן כללי כפי שאמרת וכפי ש@yossiz אמר, בלי צימאון לידע בתחום אז מובטח דשדוש גרוע שעושה כל הזמן שימוש באותם כלי חשיבה/תוכנה/תכנון מצומצמים שבתחילת הדרך היו חייבים לרכוש אותם איכשהו. -
@davidnead אמר בתכנות | איך להתחיל?:
יודע מה? אתגר: תן לי קוד JS שעושה מה שביקשתי. ותתאר אחר כך איך הגעת לפתרון וכמה זמן לקח לך. זאת, אחרי שכבר יש לנו חצי תשובה.
אחרי כמה ניסיונות חיפוש בגוגל החיפוש "factorial sort all options of arrays"
הניב לי את התוצאה בPHP
ומתוך זה למדתי מילה חדשה permutations
מה השלב הבא?
לחפש "permutations js" -
@dovid
לא באמת הבנתי, אבל הבנתי שיש פה קונספט נוסף שאני לא מודע לו,
ושאני יוכל לדון עליו רק אחרי שהבנתי את הקונספט.
אין לי מספיק סיפוק מלפתור בעיות מתמטיות או אתגרי תכנות המופעים באתרים שונים
אז כנראה שאני באמת לא יצליח להבין את הנקודה (כנראה גם אם הייתי הולך למכללה) -
@dovid אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
הצגתי בעיה פשוטה ומעשית, שכמוה אפשר להיתקל הרבה, ידע מסודר במתמטיקה בסיסית פותר אותה מהר ובקלות
לדעתי ידע "מסודר" במתמטיקה בסיסית לא יעזור כמעט כלום לכאלה בעיות, מניסיון.
צריך להיות אחד שהמון פעמים חשב על בעיות מתמטיות ואהב את הפתרונות שלהם, בלי זה מחר אתה שוב בבעיה. ואכן גוגל מאוד טוב בעניין עם אנגלית בסיסית.
לעומת זאת אלגוריתמיקה עבורי איננה אוסף פתרונות אלא שיטות חשיבה והיכרות עם בעיות מפורסמות ופתרונות מפורסמים, זה מקנה לדעתי ייתרון גדול בתכנון בעיקר אבל גם בכל שלב בפיתוח, גוגל פה לא רלוונטי בכלל.צודק, פשוט עירבתי בין המושגים. אלגוריתמיקה היא העיקר. למשל, בספר שהבאת ישנם שורה של אלוגריתמים בסיסיים מאוד, שלרובם יש פונקציות מובנות בכל שפה שהיא ולכן אנו אף פעם לא טורחים להקדיש להם מחשבה (כמו sum, sort, reverse, max, min ועוד). אבל זה דומה למי שעושה כל פעולה חישובית שהיא עם מחשבון ובחיים לא טרח לחשב תרגיל בראש - נראה שאפשר להסתדר עם מחשבון, אבל בסוף, הוא לא למד איך להתמודד עם חישובים וזה יתנקם בו בחיים האמיתיים.
אני משוכנע שמי שחרש מספיק טוב תבניות בסיסיות ומוכרות, חוסך לעצמו הרבה קוד לא יעיל ופותר הרבה יותר בקלות בעיות שהוא נתקל בהן, ועוד יותר חשוב - יודע לזהות ולהבדיל בין בעיות ואתגרים אמיתיים לסתם חוסר מחשבה.
-
@nigun אמר בתכנות | איך להתחיל?:
@dovid
לא באמת הבנתי, אבל הבנתי שיש פה קונספט נוסף שאני לא מודע לו,
ושאני יוכל לדון עליו רק אחרי שהבנתי את הקונספט.
אין לי מספיק סיפוק מלפתור בעיות מתמטיות או אתגרי תכנות המופעים באתרים שונים
אז כנראה שאני באמת לא יצליח להבין את הנקודה (כנראה גם אם הייתי הולך למכללה)הבעיה שלי שאתגרים אלו דוקא בגלל פשטותם משעממים אותי ולכן אין לי כוח לשבור את הראש עליהם. אבל האמת שמה שדרוש זה דוקא ללעוס היטב עד דק את הדברים הפשוטים (לפחות, והמוסיף הרי זה משובח), כדי לחיות חשיבה אלוגריתמית נכונה.
ובשביל לימודים משעממים כאלו, לפחות אנשים כמוני, צריכים כנראה את הדרבון של סביבת למידה. -
רוצה עוד דוגמה, מכיוון אחר? אינדקסים.
מי שעבד עם כמויות גדולות של נתונים, יודע שאינדוקס נכון יכול להיות הבדל שמים וארץ בתפקוד התכנה. בלי שום גוזמה. פעולה יכולה לקחת שבריר שניה במקום כמה דקות במצבים מסוימים.
אז אפשר לשבור את הראש הרבה, ואפשר פשוט להכיר את האלוגריתמים הקלאסיים של אינדוקס.
אני מכיר 2-3 ששינו לי את החיים. אולי מישהו שידע להפנות אותי לרפרנס מתאים או עדיף יותר - להסביר לי מהר וקל את כל הקלאסיים, אולי בשעה אחת אוכל לרכוש את הידע הקריטי הזה. עוד דוגמה לחומר שאולי לא קשה, אך למידה מסודרת תחסוך לך המון שבירת ראש כשאינך יודע מה חסר לך.כמובן, אפשר להשתמש באינדוקס המובנה של השפה (בJS זה יותר מאחורי הקלעים, בSQL אני מכירים את זה בפרונט), אבל זה שוב, כמו שימוש במחשבון, וכשאתה מגיע למצבים מתקדמים יותר הדורשים פתרון מותאם אישית - זה כבר לא עוזר.
-
@davidnead
שוב דוגמה לפינה שנצרכת רק לתחומים מסוימים.
וכשמגיעים לזה זה ברור כשמש שצריך לחפש בגוגל.לפני כמה חודשים @רחמים העלה אתגר בעניין לפרוג
ומשום מה כל בוגרי המכללות המדופלמים לא פתרו את זה.אני חשבתי בטעות שהוא באמת מסתבך והוא צריך עזרה, אז נכנסתי לעניין
והתחלתי ללמוד את הנושא, קראתי מדריכים, הקשבתי להרצאות, והתחלתי
להכיר את האלוגריתמים הקלאסיים של אינדוקס.
אבל ברגע שהבנתי שזה רק אתגר, אז המשכתי לעניינים יותר חשובים
והשארתי כמה סימניות, וכשאני יגיע לצומת הזו שוב, אני ימשיך בשמחה
זה אכן נושא מעניין, אבל כשאין לי מטרה מסויימת, אני מעדיף ללמוד קוברנטיס..... -
@dovid
לא הבנתי את הלולאהממ"נ, אם אתה מעוניין להשתכנע שכן,
כן, אני מעוניין להשתכנע.
יכולת מייד להאמין לאחר וללמוד על זה יותר מכח הרצון הזה ללא אף שכנוע.
לא הצלחתי להשתכנע, ולא מאמין לאנשים שמציגים טיעון שאני לא מבין
גם כשאני מעוניין לשמוע אותם (זה בעיה ידוע אצלי, אבל זה המצב כרגע)ואם אתה מעוניין שלא, אז מניסיון רב שנים אני אומר לך - אין הוכחה שמצליחה על מישהו שלא רוצה.
כאמור, אני מעוניין להשתכנע.
בטח תענה, מה פתאום, אני מעוניין! אבל למה שאשקיע בלי לראות איפה זה עוזר לי? אז תתחיל לקרוא שוב בwhile את ההודעה הזו עד שתבין אותי, או שתכפה יציאה מהנושא...
אני קרוא שוב ושוב, ולא קולט את הנקודה.
-
@nigun אמר בתכנות | איך להתחיל?:
@dovid
לא הבנתי את הלולאהממ"נ, אם אתה מעוניין להשתכנע שכן,
כן, אני מעוניין להשתכנע.
יכולת מייד להאמין לאחר וללמוד על זה יותר מכח הרצון הזה ללא אף שכנוע.
לא הצלחתי להשתכנע, ולא מאמין לאנשים שמציגים טיעון שאני לא מבין
גם כשאני מעוניין לשמוע אותם (זה בעיה ידוע אצלי, אבל זה המצב כרגע)ואם אתה מעוניין שלא, אז מניסיון רב שנים אני אומר לך - אין הוכחה שמצליחה על מישהו שלא רוצה.
כאמור, אני מעוניין להשתכנע.
בטח תענה, מה פתאום, אני מעוניין! אבל למה שאשקיע בלי לראות איפה זה עוזר לי? אז תתחיל לקרוא שוב בwhile את ההודעה הזו עד שתבין אותי, או שתכפה יציאה מהנושא...
אני קרוא שוב ושוב, ולא קולט את הנקודה.
הסיבה נראית פשוטה, ואני אומר כי עושה רושם שאתה מצפה שנהיה כנים איתך:
נראה שאתה מחפש לעבוד "תכל'ס", יש לך את המשימות הקבועות שמעסיקות אותך, שאין לי מושג מה הן אבל הן כנאה בסגנון חוזר על עצמו. אתה לא נתקל תכופות באתגרים מיוחדים, ולא רואה צורך מיוחד להתקדם מקצועית ולהיות מסוגל להתמודד עם אתגרים שתמשיך לפגוש.
כשאתה נתקל באתגר - אתה צולח אותו איכשהו, וכשלא - טוב לך עם מה שיש לך.זה נקרא אזור נוחות, וזה לגיטימטי ומצוין. אם אתה מתפרנס בכבוד, מרגיש סיפוק בהישגים שלך וביחס השקעה מול תועלת, ויש לך בטחון (בעולם ההשתדלות) בעתיד המקצועי והתעסוקתי שלך - זה מצוין.
אני לעומת זאת מוצא את עצמי מתקדם עם השנים, נתקל באתגרים יותר גבוהים, בסביבה שמצפה ממני ליותר (כי נהייתי יותר), ובשאיפה להיות מסוגל להתמודד עם אתגרי העתיד ועם הזדמנויות שיבואו ולא להיות חסום, ברצון להיות חסכוני ותועלתי בהשקעת זמן מול תוצאה בקוד שאני כותב ובאתגרים שאני פותר. ולכן, אני מרגיש חוסר שתיארתי.
נראה שלכן לא מטריד אותך מה שמטריד אותי, אין לך את החוסר, ולפיכך באמת אין לך צורך בדברים הנ"ל.
סליחה אם טעיתי באבחנתי, רציתי לעזור.
דבר אחד בטוח, ואולי את זה דוד מתכוון לומר: אם מכל סיבה שהיא כן תרכוש את הידע הנ"ל, אתה בודאי תשמח על כך.
-
הדיון שם באתגר של רחמים הוא דוגמה מעולה. ניכר שרבים מהמשתמשםי לא הבינו בכלל את המשמעות של אלוגריתם יעיל ומה הוא יכול לתרום, ובטח לא את עולם האינדוקס. לקח זמן להבין שבכלל דרוש אינדקס.
וגם אז - ניסו להמציא תבניות של אינדקסים לבד, או לתת קישורים לרשימות של אלוגריתמים.
אני לא הייתי הולך לבנות אלוגריתם של אינדקס לבד, לפחות חלק מהסוגים הם מסוכים ואחרים כבר עשו את העבודה. אבל להבין ולהכיר אותם! עולם אחר לגמרי מהדיון שם.
וההנחה שם של מישהו שזה אתגר חריג שלא נתקלים בו בפיתוח סטנרדטי - שגויה לחלוטין. אלא אם אתה מתכוון להספתק בלהיות בודק תכנה או מפתח וורדפרס.
זה אתגר שנתקלתי בו כמה וכמה פעמים, ופתרתי אותו אחרת כל פעם, לפי הצרכים המקומיים.
-
- אני לא מרגיש סיפוק בידע שלי היום
- אני נתקל האתגרים חדשים כל הזמן, אבל לא בתחום שלך, יותר בקטע של ניהול עומסים.
- אני נהנה ללמוד מושגים חדשים כל הזמן.
- אני לא אוהב משימות קבועות, ונהנה לעבור בין תחומים.
- אני יהנה מאוד ללמוד איך לבנות אינדקס, אבל רק כשיהיה לי צורך באינדקסים
סתם ללמוד את זה בתיאוריה? חבל על הזמן.