אולי תפתח אשכול חדש לכל נושא, זה מכביד 3 עמודים לנושא אחד...
יוסף בן שמעון
-
שאלות של מתחיל - מקצועי ב nodejs -
שאלות של מתחיל - מקצועי ב nodejs@חוקר זה לא קשור לאיך נוד קורא את הדף, זה פשוט משתנה שמעולם לא אותחל אז הוא undefind, אתה יכול לכתוב כך:
var total = (campaign_stats && campaign_stats.data.total);
זה יבדוק אם המשתנה קיים ואם לא הוא יחזיר מיד את הundifind ולא יכשיל את הפונקציה
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר כלומר אתה מבצע שתי התקשרויות לצ'רדי עבור כל בקשה, אחת כדי לקבל מידע אישי ואחת בשביל מידע כללי נכון? אם כן, את המידע האישי לא תוכל לחסוך ותצטרך להמשיך לעשות אותו עבור כל בקשה, וכשהוא יבקש מידע כללי תוכל לתת לו את הנתון ששמרת בזיכרון.
השאלה היא האם אתה צריך לשלוח 15 בקשות כל שתי שניות ולשמור 15 משתנים, זה נראה לי קצת מוגזם, יבואו המומחים ויגידו אם ה נכון לעבוד כך או עדיף לעשות את זה רק כשהקליינט מבקש -
שאלות של מתחיל - מקצועי ב nodejs@חוקר תפרט קצת, מה הקליינט אמור לקבל, מידע אישי שלו או מידע כללי לכל הקמפיין? יש הרבה קמפיינים באויר או כמה אחדים? באיזו צורה הוא מזדהה, עם פרמטר ב GET או עוגיות?
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
@אהרן אמר בשאלות של מתחיל - מקצועי ב nodejs:
לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.
תן לי להבין דקה מה הולך פה.
אני הרי לא צריך שתהליך הבדיקה יופעל כל הזמן אלא בכל פעם שניגשים לכתובת ולפורט זה.
או אולי הבנתי נכון שבעצם התהליך כאן יתרחש בכל מקרה כל 2 שניות, ומאידך גיסה התהליך הזה מתרחש כל שני שניות וכל הבקשות הנוכחיות ימתינו עד לפעם הבא שהתהליך יתרחש (כל 2 שניות) וכולם מקבלים יחד את אותה התשובה , משהו כזה.
לפי הדוגמה כאן וההסבר שנתת לי, מה הולך כאן זה תהליך שחוזר על עצמו כל הזמן?
אני שואל שאלות עמרציות, אבל לא הביישן למד..
תודהכל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות
-
שאלות של מתחיל - מקצועי ב nodejs@yossiz אמר בשאלות של מתחיל - מקצועי ב nodejs:
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?
התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.
sudo apt install tmux tmux ... #תריץ תהליכים #יציאה ... #כניסה מחדש tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
לא מכיר, אבל זה נראה משהו בסגנון screen, אם כן זה לא הדרך הכי טובה, כי אם יש שגיאה והאפליקציה קורסת אין מי שיודיע לך על זה ויפעיל אותה מחדש. הדרך הטובה ביותר היא להריץ אותה עם סרביס דוגמת PM2 שהציע קליאון
-
api ווקומורס carthttps://stackoverflow.com/questions/38546354/woocommerce-cookies-and-sessions-get-the-current-products-in-cart
יש פה תיאור איך ווקומרס שומר את המוצרים בדאטבייס, אולי זה יקדם אותך במשהו -
דחוף מאוד - מסגרת לכרזה גדולה@הבוס-הגדול אמר בדחוף מאוד - מסגרת לכרזה גדולה:
עבר כמה ימים ולא אישרו לי את הניק שלי.
אפשר לקבל פרטים ליצירת קשר שם?אולי היוזר שבחרת לא עומד בקריטריונים שם, תנסה שם אחר
-
api ווקומורס cart@chagold אמר בapi ווקומורס cart:
ווקומרס נותן לכל משתמש מזהה סשן שמאוחסן בדאטבייס, ואת המזהה הזה הוא שולח לקליינט לשמור בעוגיות, והמוצרים שהוא בחר שמורים בדאטבייס לפי הסשן.
לכאורה אתה צריך ללמוד את ההתנהגות שלו איפה הוא שומר את המוצרים ואיך הוא מעדכן את הרשומה לפי הסשן, אני לא בטוח שהוא מעדכן את הקוקיס אצל הקליינט נראה לי שהוא מעדכן רק בשרת.
אני כותב מזכרון מלפני הרבה זמן תבדוק את הרלוונטיות של הדברים. -
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
@יוסף-בן-שמעון
תודה.
השאלה היא האם שייך כן לארוז את זה כפונקציה, כי אני רוצה לקבל json ולטפל אותו לנתח נתונים לתוך משתנים ועוד.
אני צריך אפשרות לקבל בסגנון שכתבתי בהתחלה.
יש מצב?
תודהאתה יכול במקום לכתוב
res.text()
להחליף ל
res.json()
ואז בפונקציה השניה אתה מקבל את הbody כ JSON
אגב יש מודול יותר פופולרי לבקשות משרתים מרוחקים, קוראים לו request, אתה יכול להתקין כךnpm i request
ולהשתמש כך:
var request = require('request'); app.get('/page', (req, res)=>{ request('https://github.com/', (err, response, body)=>{ body = JSON.parse(body); if(body.status == "ok") res.send("ok") else res.send("no") }) })
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
@יוסף-בן-שמעון אמר בשאלות של מתחיל - מקצועי ב nodejs:
הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה
מה זה פרומיס?
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
נוד היא סינכרונית, כלומר כשאתה שולח בקשה לשרת מרוחק המעבד ממתין לתשובה, בנתיים הקומפיילר לא מחכה אלא ממשיך לשורה הבאה, ועד שהתשובה מגיעה הוא כבר אוחז כמה שורות אח"כ ולכן הוא לא טוען את התשובה למשתנה.
הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה, תראה כאן:
https://www.npmjs.com/package/node-fetch#plain-text-or-htmlfetch('https://github.com/') .then(res => res.text()) .then(body => console.log(body));
then הראשון ממיר את התשובה מאובייקט לטקסט, ומחזיר אותו ל then השני, ובשני אתה יכול לשלוח את התשובה לאיפה שאתה רוצה. משהו כזה:
app.get('/page', (req, res)=>{ fetch('https://github.com/') .then(response => response.text()) .then(body =>{ if (body = "ok"){ res.end(body); } else{ res.end("no"); } }); })```
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?@yossiz אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
למי שמתעניין יש עוד משהו קטן בקוד המקור... (רק למשתמשי נטפרי), ( @dovid האם ניתן לטעון עכשיו שנטפרי הם לא כל כך אלופים ב"זיהוי מבנים בפרזנטציות"? לפחות מבנים לא חוקיים...)
לא תופס משהו, הטריק שלך לכאורה הצליח, הצלחת לעקוף את נטפרי והדפדפן לא טוען את הכרטיסיה, אז למה אתה מתכוין? או שרק אצלי זה ככה?
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?@WWW אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
תודה רבה!!
עכשיו הגיע הזמן לעשות ממנו תוסף, שבלחיצה על הסמל או בתפריט הקשר, מחליף מימין לשמאל.
ואולי אפשר לשלב שאוטומטי לאחר תרגום כרום מובנה לעברית, שיוחלף ל RTL.קריינא דאיגרתא...
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?טוב אז אם זה בא לידי שימוש ציבורי כדאי קצת לשדרג את זה...
javascript: (function() { var elements = document.getElementsByTagName("*"); for (e of elements) { if (!e.style) continue; if (!e.style.direction || e.style.direction === 'ltr' ) e.style.direction = 'rtl'; else e.style.direction = 'ltr'; } } )()
בזה לא צריך ללחוץ פעמיים
עריכה: ערכתי את ההודעה הראשונה עם הקוד המשודרג
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?@משרדי אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
זה מה שקורה אצלי לאחר הלחיצה על הסקריפט של @יוסף-בן-שמעוןבדרך כלל בפעם הראשונה שהדף נטען צריך ללחוץ פעמיים כדי לקבל תוצאה רצויה
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?@yossiz אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@yossiz אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@יוסף-בן-שמעון אני נתקל כל הזמן בבעיות, עכשיו לקחתי לדוגמא את הראשון שמצאתי. ולזה באמת הסימניה שלך עובד. (מזל טוב זכית בפרס היוקרתי...).
איך אפשר להעביר לך את פרטי החשבון בנק שלי?
ב. מסקרן אותי אם יש מקומות שבהם לא יעזור.
אני משתמש בזה המון זמן ולא נתקלתי בבעיות
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?@aiib אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@יוסף-בן-שמעון ומה? כל פעם להפעיל אותה?
שגעון...זה קשה ללחוץ על סימניה? אתה לוחץ מאות לחיצות בדקת גלישה בדפדפן!
-
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?