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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
צדיק תמיםצ

צדיק תמים

@צדיק תמים
אודות
פוסטים
1.5k
נושאים
132
קבוצות
0
עוקבים
3
עוקב אחרי
1

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • מדריך | כתיבת סקריפט צד לקוח עבור אתר NodeBB - שימוש בhooks
    צדיק תמיםצ צדיק תמים

    שוב שלום 👋
    בפוסט הקודם פירטתי על הוקי פעולה, ויצא מדבריי הרושם שהוק פעולה של צד לקוח חייב להתחיל ב":action", אבל ישנם גם הוקי פעולה שמתחילים ב":event" ומאזינים להם בצורה שונה:

    socket.on('event:new_notification', function (data) {
      console.log(data);
    });
    

    קוד זה לדוגמה בודק את ההוק שנוצר בעת שליחת פוסט חדש לנושא קיים; שימו לב שמאזינים ל'socket' ולא ל-window.


    Hooks NodeBB Tools

    כתבתי סקריפט קטן, שמאפשר בדיקה קלה של הוקים.
    אם לדוגמה מוצאים בקוד המקור הוק, אבל לא יודעים בבירור למה הוא משמש, או איזה מידע הוא מחזיר, ניתן להכניס את שם ההוק לסקריפט, ולבצע את הפעולה (למשל עריכת פוסט), וברגע שיופעל האירוע של ההוק - יופץ alert שמודיע איזה הוק הופעל (ניתן לבדוק כמה הוקים בו זמנית), והמידע שמוחזר מההוק יודפס בקונסול.
    כאן פירטתי את הוראות ההתקנה.
    לאחר ההתקנה פשוט לוחצים על קונטרול + Q, ומייד תוקפץ תיבת קלט להכנסת שם ההוק.
    כברירת מחדל הקוד פועל רק באתר תחומים ומתמחים טופ, אבל ניתן כמובן להתאים אישית את רשימת האתרים על פי שורות 8-9 בסקריפט.


  • עזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה
    צדיק תמיםצ צדיק תמים

    כמה ביאורים על הקטע קוד שכתבתי (מבוסס על זה) :
    arrayYT הוא מערך של כתובות אינטרנט.
    הלולאה עוברת על המערך ושולחת כל פעם לכתובת הנתונה בקשה, משרשרת את הפרומיס והופכת אותו לjson שמתקבל מהכתובת.
    ואז שולחת חלק מסוים ממנו לפונקציה jsonTest, שבודקת אותו ולפי זה אמורה להחליט מה לעשות עם הכתובת הנתונה (שהלולאה אוחזת בה כעת).

    arrayYT.forEach((YTurl, index) => {
        fetch(`https://www.google.com/~netfree/test-url?u=${YTurl}`, {})
          .then((response) => {
            return response.json();
          })
          .then((json) => {
            jsonTest(json.block);
          })
          .catch((error) => {
            console.log(`שגיאה בקבלת נתונים מהכתובת: ${YTurl}. שגיאה: ${error}`);
          })
          .finally(() => {
            if (index === arrayYT.length - 1) {
              playCompleted();
            }
          });
      });
    

    אלא שאני צריך לשלוח ל-jsonTest גם את הכתובת אינטרנט עצמה, ולא רק את הjson שלה...
    ונראה שבמהלך השרשור זה אובד.
    ניסיתי להחליף את שורות 3-8 בכזה דבר (פה אני לא שולח בפועל את הנתונים לjsonTest, אלא רק מנסה להדפיס אותם כדי לבודד תקלות):

          .then((response) => {
            let json = response.json()
            console.log(YTurl)
            console.log("תשובה - json")
            console.log(json)
          })
    

    אלא שאז זה אמנם מדפיס את YTurl - שזה הכתובת אינטרנט שבה הלולאה אוחזת, אבל את json זה לא מדפיס אלא כותב לי:
    1276ff70-a59f-42f2-85c8-443b33968e67-image.png
    ולא הבנתי למה, הרי then מגיע בשלב שהפרומיס הסתיים כבר...
    אשמח לעזרה.


  • שאלה למתמצאים בתכנות בנטפרי
    צדיק תמיםצ צדיק תמים

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


  • שאלה למתמצאים בתכנות בנטפרי
    צדיק תמיםצ צדיק תמים

    @בר-בי-רב למעשה כבר מזמן חשבתי לכתוב משהו דומה, אבל לא ידעתי מה לעשות עם הCORS
    עכשיו חשבתי על פתרון - פשוט להריץ את זה בדף כלשהו תחת googel.com...
    נגיד https://www.google.com/testNetFree
    לא משנה שזה מחזיר 404, העיקר זה אותו דומיין... 🙂
    אני מנסה לעבוד על זה כרגע.


  • שאלה למתמצאים בתכנות בנטפרי
    צדיק תמיםצ צדיק תמים

    @בר-בי-רב אתה צריך לבנות כזה כלי שיעשה כמו שאמרתי

    @צדיק-תמים אמר בשאלה למתמצאים בתכנות בנטפרי:

    לולאה שתבדוק כל סרטון מול שרתי נטפרי כפי שהוסבר כאן
    ולפי התגובה למיין את הרשימה

    בדיוק אתמול נתקלתי בכלי בפייתון שעשוי לעזור (לא מבין בפייתון, יכול להיות שזה לא קשור)
    https://pypi.org/project/requests

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


  • שאלה למתמצאים בתכנות בנטפרי
    צדיק תמיםצ צדיק תמים

    @בר-בי-רב לא חושב שיש כלי מוכן
    אתה יכול לעשות לולאה שתבדוק כל סרטון מול שרתי נטפרי כפי שהוסבר כאן
    ולפי התגובה למיין את הרשימה


  • בקשה - צלילי שליחת/קבלת הודעות בצ'אט
    צדיק תמיםצ צדיק תמים

    תודה לכולם, יש לי כבר מבחר מספיק.


  • בקשה - צלילי שליחת/קבלת הודעות בצ'אט
    צדיק תמיםצ צדיק תמים

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


  • תביעת ספאם - מישהו התנסה?
    צדיק תמיםצ צדיק תמים

    @aaron לא יודע אם זה מה שאתה מחפש, אבל אפשר לחסום את הכתובת מייל כך שהמיילים יעברו לספאם / ליצור מסנן שיעביר את ההודעות ישר לאשפה.


  • תיוג מאגרים בגיטאהב
    צדיק תמיםצ צדיק תמים

    @חגי תודה, אבל בדקתי כעת ונראה שאכן התגית (הTopic) מתווסף, אבל אי אפשר להגיע דרכו למאגרים הפרטיים שלי שתייגתי אותם באותה תגית...
    בלחיצה על התגית מופיע לי:
    8bf7e2a6-f35d-411d-9cdb-bb8e3278e9d1-image.png
    ואכן תייגתי עם זה רק מאגר פרטי...


  • קושי בהתאמת עמוד להדפסה
    צדיק תמיםצ צדיק תמים

    @שוהם307 כן
    CSS
    אבל בשביל לבדוק מה בדיוק צריך להגדיר באתר הספציפי, תצטרך לשלוח קישור אליו...


  • חיבור המחשב באופן קבוע לשתי רשתות כאשר אחת משמשת לכתובת אחת בלבד
    צדיק תמיםצ צדיק תמים

    @avramk באתר גדול (כמו לדוגמה גוגל דרייב) ה-IP לא משתנה?
    כמו כן עברתי כמה פעמים על המראה מקום שהובא פה על ידי @A0533057932, אבל לא הצלחתי לבצע את ההפניה...


  • מדריך | כתיבת סקריפט צד לקוח עבור אתר NodeBB - שימוש בhooks
    צדיק תמיםצ צדיק תמים

    שלום לכולם! 👋
    זה המדריך הראשון שאני כותב בתכנות, מקווה שיצא מספיק ברור ולא מידי "נמרח" ומתעכב על דברים שפשוטים מאיליהם לכל מתכנת ממוצע... 👨‍💻
    הערות והארות יתקבלו בשמחה - עדיף בנושא נפרד...


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


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

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

    $(window).on("action:composer.posts.reply", function (event, data) {
      app.alertSuccess("hook 'action:composer.posts.reply' run."); //הודעה
      console.log(data); //כאן מדפיסים את המידע המפורט יותר שמתקבל מההוק, פירוט בהמשך.
    });
    
    

    ניתן כמובן להדפיס גם את התוכן של ה-event.
    וכמובן שניתן גם לבצע פעולות שונות על סמך המידע שמתקבל מההוק;
    לא לכל פעולה יש הוק נפרד.
    לדוגמה עבור מערכת המוניטין, יש רק הוק אחד - action:post.toggleVote, שמתבצע בכל שינוי בלייקים - מתן/הסרת לייק או מתן/הסרת דיסלייק.
    מה קורה אם רוצים לבצע פעולה מסוימת רק במקרה מסוים? כגון רק אם נתנו דיסלייק - להקפיץ הודעה "שימו לב, מתן דיסלייקים ללא הצדקה נוגד את חוקי הפורום ועלול להביא להרחקה"?
    בשביל זה צריך לקבל את המידע מההוק, ולהכניס משפט תנאי שיבדוק מה התבצע בדיוק;
    הנה דוגמה:

    $(window).on("action:post.toggleVote", (ev, hookData) => {
      // כאן נכנס התנאי שבודקים
      if (hookData.delta === -1 && hookData.unvote === false) { //כפתור 1 = לייק, מצב חדש: כפתור פעיל
        alert("התווסף דיסלייק"); //הודעה מובנית של הדפדפן - אפשר כמובן להפעיל כל קוד/פונקציה שרוצים.
      }
    });
    
    

    הקוד הזה, לדוגמה, מקפיץ alert פשוט של הדפדפן, כאשר מתרחש אירוע של toggleVote, כאשר ערך ה"delta" - כלומר באיזה כפתור התבצע האירוע, הוא 1-, כלומר לחצן הדיסלייק, והמצב שאליו האירוע הביא את הכפתור, זה false, שזה אומר מצב פעיל. (ההיגיון אומר שזה אמור להיות להיפך, אבל ככה זה עובד...🤷)
    וכך ניתן לבודד בדיוק את האירוע שהתרחש באמצעות משפט תנאי פשוט:

    hookData.delta === 1 && hookData.unvote === false //נתינת לייק
    hookData.delta === 1 && hookData.unvote === true //הסרת לייק
    hookData.delta === -1 && hookData.unvote === false //נתינת דיסלייק
    hookData.delta === -1 && hookData.unvote === true //הסרת דיסלייק
    

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


    בעז"ה בפוסט הבא:

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

  • חשיבת מפתחים לטווח רחוק..
    צדיק תמיםצ צדיק תמים

    @ארכיטקט אמר בחשיבת מפתחים לטווח רחוק..:

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

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

    וכמו ש @יוסף-בן-שמעון אמר בחשיבת מפתחים לטווח רחוק..:

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

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


  • הורדת אשכול שלם מפורום
    צדיק תמיםצ צדיק תמים

    @מעלה-ומוריד אמר בהורדת אשכול שלם מפורום:

    הוא בעצם נותן לגלול את העמודים הבאים בלי לעבור דף [גם בחיפוש גוגל ועוד].

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


  • הורדת אשכול שלם מפורום
    צדיק תמיםצ צדיק תמים

    @searchnicks https://chrome.google.com/webstore/detail/gofullpage-full-page-scre/fdpohaocaechififmbbbbbknoalclacl
    הוא בעצם "גולל" את הדף ומצלם אותו
    ואז יש לך אפשרות לשמור כתמונה או PDF


  • מבזקי חדשות בAPI
    צדיק תמיםצ צדיק תמים

    @אורי לענ"ד כדי להטמיע דבר כזה באתר שלך [או סתם לקבל את המידע] (ושיעבוד בנטפרי) תצטרך לפנות אליהם, שכן מבדיקה שעשיתי כעת - האתר ש @dovid הביא מקבל את הנתונים בתיווך של https://rss2json.com, ואם תנסה לעשות דרך שם כזה דבר (בנטפרי) - לא תצליח לקבל את הנתונים (אפילו ברגע שמשנים את הapi_key זה לא עובד בנטפרי), וככל הנראה צריך לשלוח להם לבדיקה את הנתיב של הפיד הספציפי שרוצים לקבל - כולל הapi_key שלך...


  • קושי בהתאמת עמוד להדפסה
    צדיק תמיםצ צדיק תמים

    @מנחם אמר בקושי בהתאמת עמוד להדפסה:

    התוסף Tampermonkey
    נותן אפשרויות של עריכת דפי אינטרנט

    לייתר דיוק
    נותן אפשרות להריץ סקריפטים

    @מנחם אמר בקושי בהתאמת עמוד להדפסה:

    אבל צריך ידע ב-HTML
    כדי לדעת איך לחלץ נכון את השורות הנכונות

    יותר נכון JavaScript


  • קושי בהתאמת עמוד להדפסה
    צדיק תמיםצ צדיק תמים

    @שוהם307 פשוט לחיצה על סמל התוסף
    זה "סורק" את הדף ומצלם אותו, זה לוקח כמה שניות אם זה דף ארוך
    ואז פותח לך חלון עם הצילום, ושים אתה יכול לשמור אותו כPDF

  • 1 / 1
  • התחברות

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

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