@אביחיל אמר בגישה לשרת נוד מרשת אחרת:
לאחמ"כ העלתי את הקוד למחשב ענן באמזון
מה זה אומר "מחשב ענן"? תפרט יותר כדי שיוכלו לעזור לך...
אולי צריך לפתוח את הפורט?
@אביחיל אמר בגישה לשרת נוד מרשת אחרת:
לאחמ"כ העלתי את הקוד למחשב ענן באמזון
מה זה אומר "מחשב ענן"? תפרט יותר כדי שיוכלו לעזור לך...
אולי צריך לפתוח את הפורט?
@מעלה-ומוריד בהפעלה ידנית:

הוא כן מזהה את הקבצים?
כמו כן תנסה להגדיר את זה לכל דקה:

ולעקוב האם אחרי דקה זה מנסה מעצמו לחפש, ואם כן הבעיה בהגדרות האחרות, ואם לא אז באמת זה משהו בתזמון האוטומטי
@מעלה-ומוריד אמר בהורדה אוטומטית של קבצים ממייל ספציפי:
בינתיים אגב, האוטומציה לא עובדת לי...
תעלה צילום מסך ממה שהגדרת בלשוניות Options ו-Filters
@יושב-אוהלים אמר בעזרה בקוד js:
כיוון שההנחיה שכתבת מחזירה לדפדפן את הקלט שהמשתמש מזין כמחרוזת טקסט, וזה בגלל הסימון "" שגורם לדפדפן לחשוב שמדובר במחרוזת טקסט ולא באופרטור
ליתר דיוק בגלל שprompt מחזיר תמיד סטרינג.
אגב לא הכרתי את השימוש בUnary plus להמרת סטרינג למספר, תמיד השתמשתי בparseInt
עריכה: נראה שיש יתרונות לכאן ולכאן - לדוגמה צורת הטיפול במספר עשרוני (יש בקישור הנ"ל טבלה מקיפה) :

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

עריכה: בדקתי וזה אכן עובד מעולה.
כמובן שצריך לסמן בלשונית Filters מה וממי בדיוק רוצים להוריד אוטומטית, כדי שזה לא יוריד כל קובץ שמתקבל.
@מעלה-ומוריד מפעילים אימות דו שלבי (שאגב מומלץ מאוד גם בלי קשר) ואז מנפיקים סיסמה לאפליקציה.
סיסמה לאפליקציה היא קוד גישה בן 16 ספרות, שמעניק למכשיר או לאפליקציה ברמת אבטחה נמוכה הרשאת גישה לחשבון Google שלכם. ניתן להשתמש בסיסמאות לאפליקציות רק בחשבונות שהופעל בהם אימות דו-שלבי.
זה לא צפוי להתבטל לפי מה שידוע לי.
עריכה: ספציפית בתוכנה זו אין צורך בכך, כותבים כתובת מייל ובסיסמה מקשקשים משהו, ואז נפתח חלון שמעביר להענקת הרשאה לאפליקציה שלהם:

@מעלה-ומוריד כנראה שאין שם באמת, לא הבנתי קודם שאתה רוצה הורדה אוטומטית של כל מייל חדש אלא רק להוריד בבת אחת את כל הקבצים המצורפים.
@מעלה-ומוריד אולי זה יעזור?
@dovid מעניין, כי map כן מתמודד בהצלחה עם פונקציה אסינכרונית:
function promiseOk() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 1);
});
}
function promiseFailed() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(false);
}, 1);
});
}
const promisesList = [
promiseFailed(),
promiseOk(),
promiseFailed(),
promiseOk()
]; // [Promise, Promise, Promise, Promise]
const promisesStack = promisesList.map(async (promise) => {
const res = await promise;
return res + '4'
}); // [Promise, Promise, Promise, Promise]
(async () => {
const results = await Promise.all(promisesStack);
console.log(results); // ['false4', 'true4', 'false4', 'true4']
})()
הוא מחזיר מערך של פרומיסים, שאם אתה ממתין להם אתה מקבל את הערכים הממופים.
לכן הייתי בטוח שfilter אמור לקבל גם...
@שואף מה שמעניין זה שהקישור עובד גם לי... מה התפקיד של התוים בהתחלה ובסוף?
https://mail.google.com/mail/uf-77a5013ceb-thisisa@test.com-nN4GuxIbT5qf8Bwvms5WGjplU8M
נתון מערך של פרומיסים. (כאן זה פרומיסים מדומה, אבל זה יכול להיות fetch או קריאה לdb וכדומה) אני מעוניין לפלטר אותו עם פונקציית filter, ולהמתין לסים הפרומיסים + הפילטור.
function promiseOk() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 1);
});
}
function promiseFailed() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(false);
}, 1);
});
}
const promisesList = [
promiseFailed(),
promiseOk(),
promiseFailed(),
promiseOk()
]; // [Promise, Promise, Promise, Promise]
const promisesStack = promisesList.filter(async (promise) => {
const res = await promise;
return res
}); // [Promise, Promise, Promise, Promise]
(async () => {
const results = await Promise.all(promisesStack);
console.log(results); // [false, true, false, true]
})()
כפי שציינתי בהערות בקוד, אני מעביר מערך של פרומיסים (מערך של פונקציות async) אל Promise.all, שאליו אני ממתין עם await,
אך התוצאה היא מערך של 4 תוצאות, במקום 2 בלבד, כלומר גם הפרומיסים שמחזירים false עדיין נכללים - היינו שהפילטר לא פועל.
לעומת זאת כאשר אני ממתין למערך הפרומיסים, ורק אז מפלטר אותו, הוא מפולטר בהצלחה:
(async () => {
const results = await Promise.all(promisesList);
console.log(results.filter((res) => res)); // [true, true]
})()
תודה מראש.
@אביחיל סינטקס יותר חדש יחסית שמאפשר לעבוד עם פרומיסים בצורה הרבה יותר קלה ומסודרת
https://internet-israel.com/מדריכים/es20xx/es2017-async
https://davidwalsh.name/async-await
@אביחיל נוד אינה שפה בפני עצמה, אלא JS בסביבת שרת, ששונה בנקודות מסוימות, אבל רוב ככל הכתיבה היא JS רגיל. ולכן כנראה שזה הכי מתאים אם כבר יודעים JS כמו שצריך (בשיטת האלימינציה - ללמוד PHP בשביל צד שרת כשכבר יודעים JS ודאי לא כדאי, ללמוד שפה חדשה אני לא חושב שיש סיבה - אפשר להשתמש מצויין בנוד להכל)
@אביחיל אמר בעזרה בבחירת שפה לצד שרת:
ובנוסף אשמח למראי מקומות בעברית
יש סדרת סרטונים מעולה ביוטיוב (כולה פתוחה בנטפרי) - אני אישית התחלתי איתה נוד, וממליץ בחום.
אמנם הוא מעט מיושן - בעיקר שמשתמש בthen ולא בasync/await (מתישהו עברתי לבצע את התרגילים תוך כדי שכתוב לתחביר החדש...
) אבל לי הוא היה מעולה ממש.
מקורות נוספים בעברית:
יש גם את האתר הרשמי - https://nodejs.dev/learn, אמנם לא בעברית אבל ברור וידידותי, אפשר להסתדר מצויין עם תרגום במידת הצורך (כנראה שהתרגום של דפדפן אדג' החדש יותר נוח).
@dovid אם אפשר להוסיף אפשרות להגדיר את ההגדרות שיש בהטמעה בstackblitz:

ובפרט את "Default file to show" ו"Hide file explorer", זה יוסיף מאוד. תודה
@NH-LOCAL אני לא מזלזל, אבל נראה לי שעדיף עם תוכנה גרפית (דוגמה) שכך אפשר לראות מה יגובה/לא יגובה בדיוק
@yossiz אגב גיליתי כעת, שאמנם זה לא מופיע בריחוף בכפתורים בפינת החלון, אבל ניתן להשתמש בזה גם ישירות בVSC על ידי שימוש בקיצור Win + Z.
ועוד אגב - נראה שבבטא כבר יש עוד יותר אופציות לפריסה בקלות: (התמונה מתוך הניוזלטר של
Windows Insider)

יש בעיה מוזרה בתוסף Thunder Client, שכל טקסט שאני מקליד, בכל מקום בתוסף, מודבק פעמיים, דוגמה:

וצריך למחוק ידנית אחד מהם, והדבר ממש מציק. אשמח אם למישהו יש הסבר/פתרון.. (זה היה ככה מאז שהתקנתי אותו, אבל זה קורה לי אך ורק בתוך התוסף הזה, לא בשום מקום אחר בVSC או בכלל במחשב)
@dovid כתבת שאתה מאוד נהנה מהתוסף הזה, אצלך אין את התופעה הזו?
@רפאל אמר בתוספים שימושיים לVSC:
עם זאת משתמשי VSC גם יכולים להנות מאותה השלמה אוטומטית באמצעות הורדת התוסף הפופולארי Visual Studio IntelliCode, התוסף ממוקם במקום השמיני ברשימת התוספים הפופולריים ביותר של VSC עם מעל 17 מיליון הורדות.
צ"ע, כי התוסף הזה מציע לי ממש ממש מעט, רק מתודות כמו זה:

אבל לא שום דבר שמצריך בינה מלאכותית וכדומה...
מישהו פה ניסה את זה בתור התוסף לVSC ולא בVS עצמו?
@dovid אמר בפיצול מופעים של VSCODE לחלונות נפרדים:
חלונות תוכנה מלאים זה ממש לא קל לחלק לארבע, התמיכה של Window היא בעיקר לשניים אנכים וגם היא לא הכי נוחה.
בווינדוס 11 (שזה מה שיש לי) זה אפשרי:

אם כי משום מה זה לא מופיע לי בVSCODE, עשיתי פריסה של 4 במסך בדפדפן, ואז שמתי 4 מופעים של VSCODE: (אגב החלון שבצבע ירוק זה מהתוסף ש@yossiz הביא)

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