סיוע במעבר מ .net לפייתון ודגנגו

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

לדעתי באמת כדאי בהאקתון הקרוב לעשות איזו הכנה שתכניס מתכנתים חדשים לסדנא.
הבנתי שהמון מתכנתים באים לפה לפעם פעמיים ועוזבים, וזה לא מקרי - וזה חבל.
מי שמגיע מהעולם האקדמאי מגיע עם ידע בעיקר ב C/C++/C#/JAVA, ונכון - כל השפות בגדול אותו הדבר - אבל זה נכון אחרי ש:
א. מקימים סביבת פיתוח
ב. יש את הידע בכלים ובחבילות.

כלומר למשל בכיכר המדינה, זה VAGRANT, DJANGO, PYCHARM, PYSQL, GIT ושאר המון דברים חדשים במכה אחת זה ממש קשה להכנס לזה.

אוקצור, אני מנסה להתחיל לדאבג את כיכר המדינה כדיי לקבל איזו תמונה כללית ל FLOW של הקוד.
כשאני מפעיל את ה DEBUGGER אני מקבל הודעת
ssh://vagrant@127.0.0.1:2222/usr/bin/python -u /home/vagrant/.pycharm_helpers/pydev/pydevd.py --multiproc --client ‘0.0.0.0’ --port 57750 --file C:/pythonProjects/kikar/kikar-hamedina/kikar_hamedina/core/views.py
bash: line 0: cd: C:/pythonProjects/kikar/kikar-hamedina/kikar_hamedina/core: No such file or directory
pydev debugger: process 3618 is connecting

Connected to pydev debugger (build 139.487)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /home/vagrant/c:/pythonprojects/kikar/kikar-hamedina/kikar_hamedina/core/views.py (will have no effect)
Traceback (most recent call last):
File “/home/vagrant/.pycharm_helpers/pydev/pydevd.py”, line 2198, in
globals = debugger.run(setup[‘file’], None, None)
File “/home/vagrant/.pycharm_helpers/pydev/pydevd.py”, line 1637, in run
pydev_imports.execfile(file, globals, locals) # execute the script
IOError: [Errno 2] No such file or directory: ‘C:/pythonProjects/kikar/kikar-hamedina/kikar_hamedina/core/views.py’

Process finished with exit code 1
מישהו יודע איך אני פותר את זה? כי כן הקובץ כן נמצא ב PATH. ברגע שאוכל להתחיל לדבאג ולעקוב אחרי דברים אולי יהיה לי קל יותר להתחבר, להבין ולהתחיל לעשות שינויים בעצמי.

ישראל

@yotammanor

ישראל שלום!

אני מניח שעל פייתון תצליח להשתלט בקלות.
דג’נגו היא מערכת גדולה ומורכבת יותר שדורשת קצת יותר הכרות בשביל להתחיל לעבוד איתה באופן אפקטיבי.
החדשות הטובות הן שהמערכת תוכננה על מנת שיהיה סדר ברור בכל פרויקט django שתכנס אליו - ותוכל למצוא את רגליך וידיך בקלות.
אני ממליץ בחום להמנע משימוש ב-debugger והתחיל מקריאת ה-tutorial המעולה של django כאן:
https://docs.djangoproject.com/en/1.7/intro/tutorial01/
אחרי שאתה סגור בדיוק מה זה model, view, template, urls, settings, apps תוכל למצוא את דרכך די בקלות בקוד של רוב הפרוייקטים בסדנא.

בהצלחה!

אודי

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

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

נראה לי שאחד ההבדלים הגדולים בין הסביבה שאתה בא ממנה לסביבות הקוד הפתוח הוא המשקל. .NET היא סביבת פיתוח כבדה וג’אנגו היא הרבה יותר פשוטה. אני לא מפעיל דיבגר, לפחות לא ככה. כשאני צריך את הדיבגר בנקודה כלשהי אני מוסיף את השורה:
import pdb; pdb.set_trace()
ואז אני מקבל את הדבגר הבסיסי והמספק של פייתון. ככלל אני עובד מהקונכיה (shell), וגם העורך שלי הוא vim כך כשאני מקודד אני נמצא בטרמינל ואני לא נוגע בעכבר.

רעיון מעולה. לטעמי, נכון להתחיל בהתקנת לינוקס ולימוד bash ו vim.

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

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

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

תודה,
ישראל

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

התקנתי VAGRANT, ו PYSQL ותכלס זה התקין מלא דברים לבד שאני לא באמת יודע מה הם.
הנתיב שהוא רושם שבו לא נמצא הקובץ - קיים - והקובץ כן נמצא שם.
כשהכנסתי את ה interpretpr ב settings נתתי לו את הכתובת לVAGRANT והוא שאב משם את כל הפרטים, ככה שזה אמור להיות בסדר. קצת קשה לי עם דברים שהם לא אוט’ כי אני לא רגיל לעשות את העבודה השחורה הזאתי (הרגל מגונה מ .NET אני מניח)

תודה,
ישראל

יותם בחופשת בחינות (:

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

אני ילד שמנת יהיה לי קשה לעבוד עכשיו מה VIM, בצעירותי עוד הייתי עושה את זה P:
סתם יקח לי זמן לעשות את זה ככה, אפילו שב DJANGO ממילא צריך לעבוד מה SHELL כל הזמן זה דיי מפתיע,
(אותי) המון דברים לזכור. (פקודות כאלה ואחרות)
כעיקרון תכנתתי בעבר PYTHON אבל עבדתי עם VISUAL STUDIO והוא עשה בשבילי הכל וזה היה נורא פשוט, עכשיו אני מסתבך עם המון קינפוג שלא נותן לעבודה לזרום.
גם כתבתי BASH בעבר, אבל לא יותר מדי, בכל אופן שם דווקא אין סיבוך מיוחד P:

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

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

תודה רבה,
ישראל

כן.

אפשר להתחיל במשחק ב http://vim-adventures.com/ ובהרצאה המעולה של @Meir_Kriheli

אם רגילים לסביבת פיתוח “כבדה” אפשר להשתמש גם ב־pycharm כדי להתחיל ואז אם ממש רוצים לעבור לכלים שהמתוסבכים מבינינו אוהבים.

לדעתי לא צריך להעמיס בבת אחת יותר מדי: תפסת מרובה, לא תפסת.

לייק 1

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

(ואנחנו עובדים על מחזור נוסך של הכיתה בירושלים :smile:https://hackita.hasadna.org.il/ )

אודי

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

@Israel_Robotnick כמתכנת עם רקע דומה לשלך אני מכיר את התחושה ה-overwhelming שאתה מתאר.
לדעתי עדיף לך לדחות את Vim לשלב מאוחר יותר ולעבוד עם מה שנוח לך. יש אמנם מה ללמוד מ-Vim, אבל זו השקעה גדולה ולא כ״כ נחוצה בשלב זה. נראה ששהמלצה הגורפת היא PyCharm.
ממליץ גם להשקיע קצת זמן בלקנפג את bash כך שיהיה יותר שמיש - autocomplete עם tab, חיפוש בהיסטוריה באמצעות up/down, צבעים, prompt אינפורמטיבי, וכו׳. זה עושה המון הבדל.

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

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

איפה לפרסם את זה בסדנא?

תודה, כבר פרסמת.

@mary , את יכולה לשלב את זה בעמוד ההאקתון?

אתה מתכוון לעשות טוטוריאל לפאי צארם?
או לפייטון?
לא ממש הבנתי אותך. כתבתי בעבר בפייתון (תחת VISUAL STUDIO)ולא הרגשתי קושי מיוחד, סה"כ כל השפות דומות בבסיס אז לא חושב שיש טעם לעשות טוטוריאל.
לגביי BASH, האמת שהייתי משתמש ב NOTEPAD, לא חשבתי שצריך לדעת BASH אבל גם בזה התעסקתי בעבר, אם יהיה לי צורך אני מאמין שאהיה בסדר. מה שכן אני לא מכיר איך לקנפג אותו. אני מניח שאתה מתכוון לקנפט את ה NOTEPAD++, אתעסק עם זה אם אצטרך - רק שאני לא יודע איך לדעת שאני צריך P:

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

תודה רבה,
ישראל

לא הזכרתי טוטוריאל… התכוונתי רק שלדעתי יהיה לך יותר נוח עם PyCharm מאשר עם Vim.

bash הוא לא עורך טקסט אלא shell, כמו cmd.exe ב-Windows. הוא לא באותה קטגוריה כמו Notepad או Notepad++, לא בטוח שאני מבין את הכוונה שלך פה.
bash הוא מאד בסיסי בברירת המחדל, אבל עם קצת קונפיגורציה הוא נעשה הרבה יותר ידידותי. לא מצאתי אתר טוב להסביר את עניין הקונפיגורציה, אז במקום שמתי פה עותק מצונזר (רק הדברים הבסיסיים) של ה-settings שלי שצברתי במהלך השנים. נראה לי שזו נקודת התחלה טובה. שים את הקבצים ב-home directory שלך ובפעם הבאה שתפתח bash תראה את השינויים.

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

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

תודה (;
ישראל