אין לי ניסיון ברדיס, אבל אני לא מבין למה צריך לשמור סשנים בזיכרון חי, זה מועד לפורענות של דליפת זיכרון, ואם אתה מאתחל את המכונה כל הסשנים נמחקים והקליינט לא מבין למה הוא צריך להכניס עוד פעם סיסמה אחרי שכבר הכניס לפני שעתיים.
אקספרס סשנ'ס יודע לעבוד עם הרבה סוגי DB, אתה לא צריך לייחד DB מיוחד עבור הסשנים, רק תגדיר לו את הגדרות החיבור לDB הכללי והוא כבר ידאג ליצור טבלה וכל מה שצריך
יוסף בן שמעון
-
-
@מנצפך אמר בauthentication ב - express:
לפרספורט אין מערכת סשנים עצמית, הוא צריך מערכת שדואגת לשמור את הסשנים, ובשלב האימות צריך לשלוף את מזהה הסשן, אתה צריך גם express-session וגם passport
-
מכר שלי נכנס לחנות סלולר וביקש קו של פלאפון, המוכר נתן לו סים ואמר לו להתקשר אליו מחר כדי לפתוח את הקו. בסוף הוא התחרט ונשאר עם הסים בידו בלי לשלם כלום. עכשיו הוא נבוך בקשר לתשלום על הסים, כי נדמה לו שהמוכר אמר לו שעל כל סים משלמים 30 ש"ח. והוא רוצה לדעת האם עליו לחזור למוכר לשלם על הסים.
אשמח אם יש למישהו מידע בנושא, האם באמת גובים על הסים כסף או רק על החיבור והמספר הסלולרי, ומי אמור לקבל את הכסף הזה, האם זה דיביננד של הסוכנים או תשלום לחברה
תודה מראש -
שאלה ב: כן, הדרך הנכונה היא לעשות ריסטרט.
שאלה ג: זה בהחלט דרך נכונה, אם כי זה יכול לגרום לדליפת זיכרון אם אתה מכביד מידי על הזיכרון, אבל זה רחוק שזה יגיע למצב כזה, תקפיד לנקות את הזיכרון אחרי שהשיחה מסתיימת ולא אמורה להיות בעיה
שאלה א: זה לא שאלה של node אלא שאלה כללית בארכיטרקטורה, קשה לענות עליה בצורה מדוייקת בלי להכיר את האיפיון של המערכת שלך, בגדול אם זה נתונים דינמיים שמשתנים בתדירות כדאי לך לשקול עבודה עם מסד נתונים, ולכתוב את הקוד בצורה כזו שהפונקציות יהיו גנריות וישלפו את הנתונים הרלוונטיים כל פעם, כך לא תצטרך עדכון תדירי בקוד.
לא בטוח שזה מתאים לך, עכ"פ לא בשלב הזה, ואתה כן תצטרך לעשות את זה בתוך הקוד, ככל שאתה ממעט באפליקציות אתה מרוויח חסכון במשאבים וניהול נכון יותר של השרת, בקשר לאורך של הקוד צריך ללמוד איך עושים את זה נכון, לכתוב קוד מסודר ונקי זה דבר נרכש.
בכל אופו לפני כל עדכון תבדוק אותו בארגז חול במחשב שלך או על השרת בתהליך נפרד, ואחרי שאתה מדבג ורואה שכל הפונקציות עובדות ואין שגיאות תוכל להעלות אותו לאויר. -
@חוקר עכשיו נפל לי האסימון (במסגרת 17 ההודעות שנותרו לאשכול...) כשאתה קורא ל
res.end
אתה אמור לעצור את הריצה של הפונקציה, היא לא אמורה להמשיך לרוץ, אתה צריך לכתוב כךif (!campaign_id || campaign_id === ''){ return res.end("id_list_message=" + 't-לא הוגדר מספר קמפיין, לא ניתן לבצע פעולה זו.' + '&' + "go_to_folder=/" + 'hangup'); }else{ if (!campaigns_data[campaign_id]){ return res.end("id_list_message=" + 't-קמפיין לא מורשה במערכת, לא ניתן לבצע פעולה זו.' + '&' + "go_to_folder=/" + 'hangup'); } else{ campaign_stats = campaigns_data[campaign_id]; } } var total = campaign_stats.data.total;
-
אולי תפתח אשכול חדש לכל נושא, זה מכביד 3 עמודים לנושא אחד...
-
@חוקר זה לא קשור לאיך נוד קורא את הדף, זה פשוט משתנה שמעולם לא אותחל אז הוא undefind, אתה יכול לכתוב כך:
var total = (campaign_stats && campaign_stats.data.total);
זה יבדוק אם המשתנה קיים ואם לא הוא יחזיר מיד את הundifind ולא יכשיל את הפונקציה
-
@חוקר כלומר אתה מבצע שתי התקשרויות לצ'רדי עבור כל בקשה, אחת כדי לקבל מידע אישי ואחת בשביל מידע כללי נכון? אם כן, את המידע האישי לא תוכל לחסוך ותצטרך להמשיך לעשות אותו עבור כל בקשה, וכשהוא יבקש מידע כללי תוכל לתת לו את הנתון ששמרת בזיכרון.
השאלה היא האם אתה צריך לשלוח 15 בקשות כל שתי שניות ולשמור 15 משתנים, זה נראה לי קצת מוגזם, יבואו המומחים ויגידו אם ה נכון לעבוד כך או עדיף לעשות את זה רק כשהקליינט מבקש -
@חוקר תפרט קצת, מה הקליינט אמור לקבל, מידע אישי שלו או מידע כללי לכל הקמפיין? יש הרבה קמפיינים באויר או כמה אחדים? באיזו צורה הוא מזדהה, עם פרמטר ב GET או עוגיות?
-
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
@אהרן אמר בשאלות של מתחיל - מקצועי ב nodejs:
לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.
תן לי להבין דקה מה הולך פה.
אני הרי לא צריך שתהליך הבדיקה יופעל כל הזמן אלא בכל פעם שניגשים לכתובת ולפורט זה.
או אולי הבנתי נכון שבעצם התהליך כאן יתרחש בכל מקרה כל 2 שניות, ומאידך גיסה התהליך הזה מתרחש כל שני שניות וכל הבקשות הנוכחיות ימתינו עד לפעם הבא שהתהליך יתרחש (כל 2 שניות) וכולם מקבלים יחד את אותה התשובה , משהו כזה.
לפי הדוגמה כאן וההסבר שנתת לי, מה הולך כאן זה תהליך שחוזר על עצמו כל הזמן?
אני שואל שאלות עמרציות, אבל לא הביישן למד..
תודהכל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות
-
@yossiz אמר בשאלות של מתחיל - מקצועי ב nodejs:
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?
התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.
sudo apt install tmux tmux ... #תריץ תהליכים #יציאה ... #כניסה מחדש tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
לא מכיר, אבל זה נראה משהו בסגנון screen, אם כן זה לא הדרך הכי טובה, כי אם יש שגיאה והאפליקציה קורסת אין מי שיודיע לך על זה ויפעיל אותה מחדש. הדרך הטובה ביותר היא להריץ אותה עם סרביס דוגמת PM2 שהציע קליאון
-
https://stackoverflow.com/questions/38546354/woocommerce-cookies-and-sessions-get-the-current-products-in-cart
יש פה תיאור איך ווקומרס שומר את המוצרים בדאטבייס, אולי זה יקדם אותך במשהו -
@הבוס-הגדול אמר בדחוף מאוד - מסגרת לכרזה גדולה:
עבר כמה ימים ולא אישרו לי את הניק שלי.
אפשר לקבל פרטים ליצירת קשר שם?אולי היוזר שבחרת לא עומד בקריטריונים שם, תנסה שם אחר
-
@chagold אמר בapi ווקומורס cart:
ווקומרס נותן לכל משתמש מזהה סשן שמאוחסן בדאטבייס, ואת המזהה הזה הוא שולח לקליינט לשמור בעוגיות, והמוצרים שהוא בחר שמורים בדאטבייס לפי הסשן.
לכאורה אתה צריך ללמוד את ההתנהגות שלו איפה הוא שומר את המוצרים ואיך הוא מעדכן את הרשומה לפי הסשן, אני לא בטוח שהוא מעדכן את הקוקיס אצל הקליינט נראה לי שהוא מעדכן רק בשרת.
אני כותב מזכרון מלפני הרבה זמן תבדוק את הרלוונטיות של הדברים. -
@חוקר אמר בשאלות של מתחיל - מקצועי ב 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:
הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה
מה זה פרומיס?
-
@חוקר אמר בשאלות של מתחיל - מקצועי ב 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"); } }); })```
-
@yossiz אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
למי שמתעניין יש עוד משהו קטן בקוד המקור... (רק למשתמשי נטפרי), ( @dovid האם ניתן לטעון עכשיו שנטפרי הם לא כל כך אלופים ב"זיהוי מבנים בפרזנטציות"? לפחות מבנים לא חוקיים...)
לא תופס משהו, הטריק שלך לכאורה הצליח, הצלחת לעקוף את נטפרי והדפדפן לא טוען את הכרטיסיה, אז למה אתה מתכוין? או שרק אצלי זה ככה?
-
@WWW אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
תודה רבה!!
עכשיו הגיע הזמן לעשות ממנו תוסף, שבלחיצה על הסמל או בתפריט הקשר, מחליף מימין לשמאל.
ואולי אפשר לשלב שאוטומטי לאחר תרגום כרום מובנה לעברית, שיוחלף ל RTL.קריינא דאיגרתא...
authentication ב - express
authentication ב - express
תשלום לסוכן על סים
שאלות מתקדמות ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
api ווקומורס cart
דחוף מאוד - מסגרת לכרזה גדולה
api ווקומורס cart
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
שאלות של מתחיל - מקצועי ב nodejs
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?
מי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?