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

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

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

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

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