שאלות של מתחיל - מקצועי ב nodejs
-
פוסט זה נמחק!
-
@dovid אמר בשאלות של מתחיל - מקצועי ב nodejs:
@חוקר אתה ממש ממש טועה.
אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).דבר ראשון אני צריך משהו שעובד..
אח"כ נוכל להמשיך... -
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
@dovid אמר בשאלות של מתחיל - מקצועי ב nodejs:
@חוקר אתה ממש ממש טועה.
אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).דבר ראשון אני צריך משהו שעובד..
אח"כ נוכל להמשיך...אני חייב להמשיך לנהל את הלקוחות והשוטף תוך כדי למידה, לשנות כיוון חשיבה לא בא כ"כ מהר, אני עושה בינתיים למידה ועבודה בצורה אסינכרונית, כשבמקביל אני לומד את העיקרונות של התחביר האסינכרוני.
הרכבת לא עוצרת.
זה משהו שאני לא עיכלתי אותו עדיין.
בכל זאת תודה לכל העוזרים, בעזה"י עוד נגיע להכל. -
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?
התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.
sudo apt install tmux tmux ... #תריץ תהליכים #יציאה ... #כניסה מחדש tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
-
@yossiz אמר בשאלות של מתחיל - מקצועי ב nodejs:
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?
התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.
sudo apt install tmux tmux ... #תריץ תהליכים #יציאה ... #כניסה מחדש tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
לא מכיר, אבל זה נראה משהו בסגנון screen, אם כן זה לא הדרך הכי טובה, כי אם יש שגיאה והאפליקציה קורסת אין מי שיודיע לך על זה ויפעיל אותה מחדש. הדרך הטובה ביותר היא להריץ אותה עם סרביס דוגמת PM2 שהציע קליאון
-
@יוסף-בן-שמעון הוא התייחס לתחילת השאלה (מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון), ולא לנוד.
-
@יוסף-בן-שמעון אמר בשאלות של מתחיל - מקצועי ב nodejs:
לא מכיר, אבל זה נראה משהו בסגנון screen,
כן, גירסא יותר מודרנית ל-screen.
אני הבנתי מלשון השאילה שאם היה לו דרך להשאיר את התהליך בקידמה גם אחרי סגירת החלון, אז הוא היה מסתדר עם השינויים ועדכונים. -
התעסקתי לאחרונה עם המערכת של ימות המשיח.
ואם זה היה בנוד ככה היית צריך לעשות את ההשמעה של כמות התרומות מצ'רדי.
והיית יכול לעמוד באלפי בקשות בשניה.אני מצרף דוגמא.
const fetch = require('node-fetch'); const express = require("express"); const http = require('http'); const app = express(); const server = http.createServer(app); var amountDonate = ""; setInterval(x => { fetch('https://www.charidy.com/some/api') .then(res => res.json()) .then(json => { amountDonate = `id_list_message=t-עד כה תרמו.n-${json.amountDonate}.t-שקלים.`; }).catch(console.error); },2000); app.all('/api/ivr/amount-donate',(req,res) => res.end(amountDonate)); server.listen(+process.env.PORT , process.env.HOST);
-
@magicode
ראשית כל תודה על הזמן שאתה נותן לי.
הייתי שמח להבין את מה שכתבת:
מה הוא ה setInterval וה x שהכנסת אליו, והסיומת 2000, כנראה הכוונה לפורט, אך לא הבנתי את כל התחביר כאן.
כמו"כ בהטחה השניה .then(json => המשתנה json תמיד יהיה בעצם התשובה של ההבטחה הראשונה, לא משנה איזה שם אני תוקע שם?
בכלל then ו catch, ניתן לעשות את זה תמיד בכל שרשור אם אני שם catch זה יחזיר לי את השגיאה בשל לפניו בלבד או שגיאה מהתחלה?
התחביר של המחרוזת: אני רואה שהשתמש במה התקן שלו, מתי הוא משמש? מתי עדיף "" או '' או
.
כמו"כ אני רואה ששמת שם ${} את זה אני מכיר מPHP לקריאה למשתנה.
זה תקף רק בתוך ה`` או בכל מקום?
בקיצור אני לומד מתוך הדוגמה..
תודה -
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
מה הוא ה setInterval וה x שהכנסת אליו, והסיומת 2000, כנראה הכוונה לפורט, אך לא הבנתי את כל התחביר כאן.
שתהיה בריא, @magicode עונה לך על אריכטורה ואתה שואל שאלות בסיס-בסיסיות על פונקציות ותחביר שרק אזכור שלהם מעלה טרליון תשובות בגוגל?!
נראה שבציטוטאת זה אני מכיר מPHP
שברח לך, הסברת הכל..לעצם הענין
setInterval
מפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות שsetInterval
קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.כמו"כ בהטחה השניה .then(json => המשתנה json תמיד יהיה בעצם התשובה של ההבטחה הראשונה, לא משנה איזה שם אני תוקע שם?
לא. של ההבטחה הקודמת.
אסביר קצת יותר על הפרומיסס בכלל
fetch('https://www.charidy.com/some/api')
פשוט מכיל קוד (בערך)return promise(response)
כלומר data עטופה בפרומיס, לכן
fetch('https:...').then(res => res.json())
שווה ל:
promise.then(res => res.json())
then
הוא מתודה שלpromise
then
מקבל ארגומנט פונקציה (בדוגמא שלנו זו הפונקציהres => res.json()
), אליה היא מעבירה את ה-DATA שהוכנס לתוך הפרומיס הנוכחי, בדוגמא שלנו הארגומנט שמכיל את ה-DATA שהוא בעצם התשובה שהתקבלה מהכתובת\האתר, הואres
(או כל שם אחר שנותנים לו).במקרה הזה, fetch מחזיר לנו את המידע יחד עם מתודות נוספות שמבצעות המרות שונות למידע, אחת מהם היא json שמבצעת המרה של המידע לפורמט json ושוב מחזירה אותו עטופה בפרומיס
לכן לפונקציה שתכניס לתוך הthen
השני יוכנס הDATA בתצורת json. כלומר.then(res => res.json()).then(json =>
שווה ל
newPromise.then( dataFormatJson => you code that can usedataFormatJson value)
התחביר של המחרוזת: אני רואה שהשתמש ב מה התקן שלו, מתי הוא משמש? מתי עדיף "" או '' או.
כמו"כ אני רואה ששמת שם ${}אתה יכול להרשות לעצמך להתעלם מסכמות חדשות ליצירת מחרוזות. תשתמש רגיל:
"string" + value + "string"
חייב לומר שאתה חתיכת השראה, איך ידע יחסית מועט ובנישה מאוד ספציפית יכולות לפרנס אדם בכבוד + שותפות בפרויקטים גדולים וידועים.
-
@אהרן אמר בשאלות של מתחיל - מקצועי ב nodejs:
חייב לומר שאתה חתיכת השראה, איך ידע יחסית מועט ובנישה מאוד ספציפית יכולות לפרנס אדם בכבוד + שותפות בפרויקטים גדולים וידועים.
הכל ע"י סיעתא דשמיא.
בסך הכל לא למדתי תכנות, אלא התחלתי עם מערכת פשוטה של שיעורים עבור מסגרת מצומצמת, בהמשך החסידות ביקשו את עזרתי למערכת מכירת מקומות, מכירת מוצרים וכדומה, והכל תחת המודולים של ימות המשיח.
כאשר פותח שלוחת API התחלתי לנסות את עצמי בדברים בסיסיים בPHP, ולא ע"י לימוד PHP מעמיק (זה הגיע כמובן עם הזמן) אלא ע"י חיפוש נקודתי בדיוק מה שרציתי לעשות, יחד עם הבנת הקודים ומה שבין הקודים, שראיתי בדוגמאות וכדומה.
ב"ה הגעתי להישגים גדולים, ולדעתי בגלל צורת הלימוד המוזרה שלי.
כמו שראית, כשאני רואה דוגמת קוד אני משתדל להבין גם את מה שמונח בין המילים ולא רק את המילים..
ובעזה"י גם בנוד נתקדם בצורת הלימוד שלי, עם כי ללמוד שפה חדשה לאחר הכרת שפה אחרת שהיא שונה בתכלית, מצד אחד קל יותר, מצד שני קשה יותר לשנות כיון, ושאלותי יוכיחו..
בכל מקרה תודה על הסבריך, ננסה להתחיל להתקדם.. -
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
הכל ע"י סיעתא דשמיא.
מילה אחת נוספת.
מחסד לא מפסידים, רק מרוויחים.
בסך הכל בקהילה עשו קמפיין עם צ'רידי, ולאחר ההדרכה של הנציג מטעם צ'רידי שהגיע להדריך את הציבור עבור ההתרמה, ניגשתי אליו והצעתי את עצמי בהתנדבות, מה אני יכול לתרום בחלק הטלפוני לקמפיין.
עד אז היה בסך הכל מערכת בסיסית ביותר שפיתחו עבור סלונים, והשתמשו בזה ג"כ מתמידים שהיה להם קמפיין ממש לפנינו. (ניתן היה לשמוע את הסכום ומספר התורמים עד כה והיעד הסופי בלבד, משהו כזה, לא זוכר בדיוק).
ובשעתו בניתי בהתנדבות לקהילה, בהתחלה רק של שמיעת מצב הקמפיין הכללי, לאחר מכן על פי בקשת החברים בכולל הוספתי לאחר הכולל אפשרות של שמיעת היעד האישי, לאחר מכן על פי בקשתם הוספתי בבין הסדרים אפשרות להקיש מספר טלפון כדי שמי שרשום לו הטלפון בבית יוכל להתקשר גם מהנייד ולשמוע את ההתקדמות האישית שלו.
הכל היה בהתנדבות שלא על מנת לקבל פרס.
ב"ה זה היה פריצת דרך שאחר כך צ'רידי התפתחו איתי בנושא להוסיף אפשרות לתרומות אונליין, ובעצם בכך פתחו אפיק נוסף לגיוס המונים לא רק ע"י האינטרנט.לתת לכבוד שמים זה בעצם "ונתנו" שנקרא הלוך ושוב, אתה נותן ובעצם מקבל.
אולי הפורום לא מתאים כ"כ לכאלה דרשות, אבל קצת רגשות שמתערבות עם התכנות, מותר קצת לשתף פעם.
-
@magicode אמר בשאלות של מתחיל - מקצועי ב nodejs:
אני מצרף דוגמא.
אשמח לדוגמא קטנה על זה הדרך איך עלי לעשות את זה כשאני רוצה ליצור מבנה שיחה.
זאת אומרת באם אני רוצה לבדוק באם עדיין לא קיים בget פרמטר name התשובה תיהיהread=f-name=name,,7,1,5,No,,,,123
ורק אם כבר קיים אני ממשיך לשלב הבא.
תודה רבה