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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 8 כותבים 685 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • חגיח מנותק
    חגיח מנותק
    חגי
    השיב ל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
                                    • דף הבית
                                    • קטגוריות
                                    • פוסטים אחרונים
                                    • משתמשים
                                    • חיפוש
                                    • חוקי הפורום