דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ביל גייטס - תודה!

ביל גייטס - תודה!

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 8 כותבים 684 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
    #2

    @יוסף-בן-שמעון איך כותבים נורמלי TypeScript בnodejs?
    עם tsnode?
    יש מצב למדריך קצר למתחיל (בהגדרות פרוייקט VSCODE)?
    כי תמיד אחרי דקה ברחתי לישן והטוב.

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    י חגיח 2 תגובות תגובה אחרונה
    4
    • י מנותק
      י מנותק
      יוסף בן שמעון
      השיב לdovid ב נערך לאחרונה על ידי
      #3

      @dovid בלי נדר, כשאפנה אשנה לכתוב מדריך אי"ה

      צדיק תמיםצ תגובה 1 תגובה אחרונה
      3
      • צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
        #4

        @יוסף-בן-שמעון ג"א מצפה בכליון עיניים!

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

        תגובה 1 תגובה אחרונה
        2
        • חגיח מנותק
          חגיח מנותק
          חגי
          השיב לdovid ב נערך לאחרונה על ידי
          #5

          @dovid
          אפשר לכאורה גם עם tsnode, וגם להגדיר את הסקריפט start ככה:

          {
              "scripts":
              {
                  "start": "tsc && node dist/app.js"
              }
          }
          תגובה 1 תגובה אחרונה
          4
          • yossizY מנותק
            yossizY מנותק
            yossiz
            כתב ב נערך לאחרונה על ידי yossiz
            #6

            נראה לי ש-tsnode לא מומלץ, בטח לא לפרודקשיין, וגם לפיתוח לא. זה כבד ולא יעיל.
            בעקירון זה כמו ש @חגי כתב. יש דגל --watch על פקודת tsc עבור פיתוח.

            יש פה סדרת פוסטים יפה בעברית
            https://blog.castnet.club/blog/js-best-practices-config-ts-part-a

            (מקור - מחקר ישן שלי, זה אחת מהחלומות שלי לעבור ל-TS אחת ולתמיד)

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            dovidD תגובה 1 תגובה אחרונה
            6
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לyossiz ב נערך לאחרונה על ידי
              #7

              @yossiz + @חגי
              כיום אני פותח VSCODE ותמחיל לכתוב נוד בלי שום הכנות מוקדמות,
              ואני מקבל בF5 דיבאג עשיר וטוב.
              ביקשתי מ@יוסף-בן-שמעון מדריך קצר בסגנון של איזה התקנה/הגדרה חד פעמית שבה החיים נהיים יפים.
              זה לא מה שאתם מתכוונים, נכון?
              כי מה שאני מבין ממכם זה "תגדיר תכתוב תוסיף תתקין תוודא" פר פרוייקט.

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              חגיח תגובה 1 תגובה אחרונה
              0
              • חגיח מנותק
                חגיח מנותק
                חגי
                השיב לdovid ב נערך לאחרונה על ידי חגי
                #8

                ובכן גם node בצורתו הטהורה מצריך שיהיה לך קובץ הגדרות פר פרוייקט, אז בשביל זה אנשים משתמשים בnpm init,
                אז אפשר גם באותה מידה ליצור את הסקריפט הבא:

                #!/bin/bash
                npm init
                cat > tsconfig.json << EOF
                {
                  "compilerOptions": {
                    "module": "commonjs",
                    "esModuleInterop": true,
                    "target": "es6",
                    "moduleResolution": "node",
                    "sourceMap": true,
                    "outDir": "dist"
                  },
                  "lib": ["es2015"]
                }
                EOF
                

                ואז להריץ במקום npm init

                וכמובן באופן כללי כדאי להריץ לפני npm i -g typescript

                dovidD chvC 2 תגובות תגובה אחרונה
                2
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לחגי ב נערך לאחרונה על ידי dovid
                  #9

                  @חגי סלח לי, אבל נראה שאתה נותן עצות בהרבה בטחון בלי נסיון יומיומי.
                  ראשית כל אתה טועה, ניתן להריץ נוד בלי שום npm ובלי קובץ package. גם אם רוצים חבילה מסויימת, כיום ניתן ישר להתקין (npm i) בלי לעשות init כלל.
                  דבר שני אתה אומר בזלזול שnpm init שקול ללכתוב 10 שורות טקסט. אוקי.
                  עריכה: כעת הבנתי שהתכוונת לקובץ סקריפט במערכת. טוב, אני משתמש בwindows ובעצם אני צריך לכתוב את זה בbat או ps, ואם כבר לכלול שמה כל הגדרה אחרת שנצרכת לסעיף הבא. רעיון.
                  דבר שלישי בכלל לא מפריע כל פעם ליצור tsconfig. זה הבעיה הקטנה וזה לא כ"כ טרחה כי זה רק ביצירת הפרוייקט. מה שמפריע לי זה איך להגדיר את הVSCODE מהר בלי לחפוש כל פעם בארבעה פורומים. הVSCODE זו סביבת העבודה המועדפת עלי, ואני רוצה שכמו בפרוייקט נוד (כלומר קובץ JS בודד בתיקיה) בעת לחיצה על F5 הוא יריץ את הapp.ts בנוד בצורה טובה (דיבאג מלא של נקודות עצירה ממוקדות מאוד, צפיה במשתנים וכו').

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  חגיח 2 תגובות תגובה אחרונה
                  0
                  • חגיח מנותק
                    חגיח מנותק
                    חגי
                    השיב לdovid ב נערך לאחרונה על ידי
                    #10

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

                    תגובה 1 תגובה אחרונה
                    3
                    • חגיח מנותק
                      חגיח מנותק
                      חגי
                      השיב לdovid ב נערך לאחרונה על ידי חגי
                      #11

                      @dovid אמר בביל גייטס - תודה!:

                      טוב, אני משתמש בwindows ובעצם אני צריך לכתוב את זה בbat או ps

                      הרצתי את זה בmingw שמגיע עם git, זה גם עובד 🙂 (וככל הנראה גם ב-wsl)
                      וגם הנחתי שVSCODE יקרא אוטומטית את הsource map ולא צריך משהו מיוחד בשביל לדבג typescript, אני אנסה לבדוק את זה

                      עריכה:
                      אכן זה עובד ללא שום הגדרות מיוחדות
                      479bd6f1-df9d-432d-a00f-ca9fce8355f3-image.png

                      רק צריך להגדיר בtsconfig שייצר source map

                      dovidD תגובה 1 תגובה אחרונה
                      3
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        השיב לחגי ב נערך לאחרונה על ידי
                        #12

                        @חגי נהדר, אני אבדוק.
                        בינתיים בדקתי בVIsual Studio 2022, וזה ממש עובד תענוג.

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        1
                        • chvC מנותק
                          chvC מנותק
                          chv
                          השיב לחגי ב נערך לאחרונה על ידי
                          #13

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

                          בלוג | מייל

                          dovidD תגובה 1 תגובה אחרונה
                          3
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            השיב לchv ב נערך לאחרונה על ידי dovid
                            #14

                            @chv ממש פשוט:
                            א. חד פעמית להריץ במחשב

                            npm i -g typescript
                            

                            ב. לפתוח תיקיה בVSCODE, ליצור קובץ tsconfig.json עם התוכן הבא:

                            {
                                "compilerOptions": {
                                  "module": "commonjs",
                                  "esModuleInterop": true,
                                  "target": "es6",
                                  "moduleResolution": "node",
                                  "sourceMap": true,
                                  "outDir": "dist"
                                },
                                "lib": ["es2015"]
                              }
                            

                            ג. ליצור קובץ ts, לכתוב קוד, ולהריץ עם F5.

                            תודה @חגי !

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            צדיק תמיםצ תגובה 1 תגובה אחרונה
                            9
                            • צדיק תמיםצ מנותק
                              צדיק תמיםצ מנותק
                              צדיק תמים
                              כתב ב נערך לאחרונה על ידי צדיק תמים
                              #15

                              @יוסף-בן-שמעון @חגי מה עם טעינה חמה? בjs אני משתמש בnodemon, ואז יש לי בpackage.json משהו כזה בערך:

                              "start": "cross-env NODE_ENV=production node app.js",
                              "dev": "cross-env NODE_ENV=development nodemon app.js",
                              

                              בפרודקשן אני מריץ כרגיל עם npm start, ובפיתוח אני מריץ עם npm run dev, ונהנה מטעינה חמה, שבלי זה זה ממש סיוט לרסטרט את השרת בכל שינוי...
                              בפרודקשן של הts עשיתי:

                                  "start": "tsc && node dist/app.js",
                              

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

                                  "dev": "tsc --watch && nodemon dist/app.js"
                              

                              אבל זה אמנם מקמפל מחדש את הקבצי ts בכל שינוי, אבל השרת בעצמו לא רץ...
                              מישהו יודע?
                              עריכה: יש חבילה בשם ts-node-dev - npx ts-node-dev app.ts, אבל @yossiz אמר בביל גייטס - תודה!:

                              נראה לי ש-tsnode לא מומלץ, בטח לא לפרודקשיין, וגם לפיתוח לא. זה כבד ולא יעיל.
                              בעקירון זה כמו ש @חגי כתב. יש דגל --watch על פקודת tsc עבור פיתוח.

                              למה? מה ההבדל?

                              Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                              טיפים

                              yossizY 2 תגובות תגובה אחרונה
                              0
                              • א מנותק
                                א מנותק
                                ארכיטקט
                                השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                                #16

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

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

                                nigunN תגובה 1 תגובה אחרונה
                                4
                                • nigunN מנותק
                                  nigunN מנותק
                                  nigun
                                  השיב לארכיטקט ב נערך לאחרונה על ידי nigun
                                  #17

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

                                  נ.ב. אם זה מעניין מישהו מצאתי ראיון עם אנדרס על TS
                                  הוא אומר שהם הוציאו את הTS לקוד פתוח בהבנה שהקהיל של JS לא תאמץ משהו בקוד סגור.
                                  https://changelog.com/podcast/152

                                  מייל: nigun@duck.com

                                  תגובה 1 תגובה אחרונה
                                  3
                                  • yossizY מנותק
                                    yossizY מנותק
                                    yossiz
                                    השיב לצדיק תמים ב נערך לאחרונה על ידי yossiz
                                    #18

                                    @צדיק-תמים אמר בביל גייטס - תודה!:

                                    עריכה: יש חבילה בשם ts-node-dev

                                    אפשר גם להריץ tsnode דרך nodemon

                                    למה? מה ההבדל?

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

                                    לעמות זה דגל --watch של tsc מקמפל מחדש רק קבצים ששונו לכן זה הרבה יותר קליל. לכאורה צריך רק להריץ nodemon על תקיית ה- dist. אבל לא בדקתי מה החוויה אז. אולי יש משהו יותר טוב

                                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                    תגובה 1 תגובה אחרונה
                                    1
                                    • yossizY מנותק
                                      yossizY מנותק
                                      yossiz
                                      השיב לצדיק תמים ב נערך לאחרונה על ידי
                                      #19

                                      @צדיק-תמים אמר בביל גייטס - תודה!:

                                      .
                                      זה לכאורה מה שצריך:
                                      "dev": "tsc --watch && nodemon dist/app.js"

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

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

                                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                      yossizY תגובה 1 תגובה אחרונה
                                      3
                                      • yossizY מנותק
                                        yossizY מנותק
                                        yossiz
                                        השיב לyossiz ב נערך לאחרונה על ידי yossiz
                                        #20

                                        @yossiz אמר בביל גייטס - תודה!:

                                        תכתוב & וזה אמור לעבוד

                                        זה לא עובד ב-CMD או PS
                                        אז בצורה חוצה פלטפורמות:
                                        https://www.npmjs.com/package/concurrently

                                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                        תגובה 1 תגובה אחרונה
                                        2
                                        • צדיק תמיםצ מנותק
                                          צדיק תמיםצ מנותק
                                          צדיק תמים
                                          השיב לdovid ב נערך לאחרונה על ידי צדיק תמים
                                          #21

                                          @dovid אמר בביל גייטס - תודה!:

                                            "target": "es6",
                                          

                                          זה לא מאפשר להשתמש בתכונות מסוימות, כגון replaceAll... עדיף לכאורה להגדיר

                                                  "target": "es2021",
                                          

                                          Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                                          טיפים

                                          תגובה 1 תגובה אחרונה
                                          2

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

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