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

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

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

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

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

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

    חגיח מנותק
    חגיח מנותק
    חגי
    כתב ב נערך לאחרונה על ידי
    #10

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

    תגובה 1 תגובה אחרונה
    3
    • dovidD dovid

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

      חגיח מנותק
      חגיח מנותק
      חגי
      כתב ב נערך לאחרונה על ידי חגי
      #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
      • חגיח חגי

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

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

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

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

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

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #12

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

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        תגובה 1 תגובה אחרונה
        1
        • חגיח חגי

          ובכן גם 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

          chvC מנותק
          chvC מנותק
          chv
          כתב ב נערך לאחרונה על ידי
          #13

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

          בלוג | מייל

          dovidD תגובה 1 תגובה אחרונה
          3
          • chvC chv

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

            dovidD מנותק
            dovidD מנותק
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי 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
              • י יוסף בן שמעון

                יש לי אפליקציה שכתובה בצד שרת Node.js וצד לקוח אנגולר
                בהתחלה התלבטתי איך לכתוב את השרת, ההחלטה היתה לכתוב אותו בטייפסקריפט
                השרת והקליינט משתמשים בקובץ טייפים משותף של כל הישויות המשותפות ביניהם.

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

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

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

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

                בברכה מרובה
                ידידכם הדוש"ט

                א מנותק
                א מנותק
                ארכיטקט
                כתב ב נערך לאחרונה על ידי
                #16

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

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

                nigunN תגובה 1 תגובה אחרונה
                4
                • א ארכיטקט

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

                  nigunN מנותק
                  nigunN מנותק
                  nigun
                  כתב ב נערך לאחרונה על ידי nigun
                  #17

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

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

                  מייל: nigun@duck.com

                  תגובה 1 תגובה אחרונה
                  3
                  • צדיק תמיםצ צדיק תמים

                    @יוסף-בן-שמעון @חגי מה עם טעינה חמה? ב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 עבור פיתוח.

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

                    yossizY מנותק
                    yossizY מנותק
                    yossiz
                    כתב ב נערך לאחרונה על ידי yossiz
                    #18

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

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

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

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

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

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

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

                    תגובה 1 תגובה אחרונה
                    1
                    • צדיק תמיםצ צדיק תמים

                      @יוסף-בן-שמעון @חגי מה עם טעינה חמה? ב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 עבור פיתוח.

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

                      yossizY מנותק
                      yossizY מנותק
                      yossiz
                      כתב ב נערך לאחרונה על ידי
                      #19

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

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

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

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

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

                      yossizY תגובה 1 תגובה אחרונה
                      3
                      • yossizY yossiz

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

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

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

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

                        yossizY מנותק
                        yossizY מנותק
                        yossiz
                        כתב ב נערך לאחרונה על ידי yossiz
                        #20

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

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

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

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

                        תגובה 1 תגובה אחרונה
                        2
                        • dovidD dovid

                          @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.

                          תודה @חגי !

                          צדיק תמיםצ מנותק
                          צדיק תמיםצ מנותק
                          צדיק תמים
                          כתב ב נערך לאחרונה על ידי צדיק תמים
                          #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
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום