@אביחיל היא נופלת (fallback) לקוקיז במקרה שlocalstorage לא זמין
צדיק תמים
-
מחלקה פשוטה ב-JS לטפל בחוסר הודאות בקיום localstorage -
עדכון אטומי בmongodb@ivrtikshoret אני לא מבין למה הטרנזציה איטית, אבל אתה יכול לבצע את כל הלוגיקה דרך mongodb באמצעות מה שנקרא aggregation pipeline, ואז זה אטומי בלי טרנזציה, משהו כזה (גילוי נאות, השאילתה נכתבה ע"י claude.ai) :
const setKey = async (key: string, newValue: string): Promise<void> => { const currentDate = new Date(); const newExp = new Date(Date.now() + 24 * 60 * 60 * 1000); // 24 שעות מעכשיו const result = await Data.findOneAndUpdate( { key: key }, [ { $set: { isExpired: { $gt: [currentDate, '$exp'] } } }, { $set: { value: { $cond: { if: { $not: ['$isExpired'] }, then: { $add: [{ $toInt: '$value' }, { $toInt: newValue }] }, else: { $cond: { if: { $ne: ['$valueAfterExp', null] }, then: '$valueAfterExp', else: '$value' } } } }, exp: { $cond: { if: { $not: ['$isExpired'] }, then: '$exp', else: newExp } }, valueAfterExp: { $cond: { if: { $not: ['$isExpired'] }, then: '$valueAfterExp', else: null } } } }, { $unset: 'isExpired' } ], { returnDocument: 'after' } ); if (!result.value) { throw new Error('Key not found'); } // מחיקת האובייקט אם אין valueAfterExp ופג תוקפו if (checkIfExpIsOver(result.value.exp as Date) && !result.value.valueAfterExp) { await Data.deleteOne({ _id: result.value._id }); } };
-
עדכון אטומי בmongodb@ivrtikshoret במחשבה נוספת, מה שאתה צריך זה לא טרנזקציה אלא להשתמש בinc, לא?
ולא ממש הבנתי את תפקיד הexp, אם הוא נועד למחיקה אחרי זמן מסוים, עדיף לעשות את זה דרך אינדקס TTL -
עדכון אטומי בmongodb@ivrtikshoret כתב בעדכון אטומי בmongodb:
ניסיתי להשתמש עם transaction הבעייה היא שבסקייל גבוה כל בקשה יכול להיות גם עשר דקות או אפילו יותר.
מה הכוונה? תוכל לפרט?
-
תוסף שמדגיש את המבזקים שלא נקראו בכל רגע -
תוסף שמדגיש את המבזקים שלא נקראו בכל רגע -
תוסף שמדגיש את המבזקים שלא נקראו בכל רגע@אביחיל עשיתי את התיקון כבר אתמול בערב, היום רק שיפרתי
-
winkey + . (חלונית אימוג'י) בלינוקס?! -
עזרה דחופה בהרצת קוד באנגולר@רחלי2 לדעתי כשכותבים "עזרה דחופה" מן הראוי לחזור לכאן ולעדכן כשזה לא רלוונטי
-
אני רוצה ליצור הקלטה מתוך טקסט בAI , מחפש המלצות@יהודי-טוב כתב באני רוצה ליצור הקלטה מתוך טקסט בAI , מחפש המלצות:
הקולות של גוגל טובים יותר - (בעברית, בכל אופן)
@ek0583232948 שים לב להשתמש בקולות ה-Wavenet ולא בפשוטים שלהם (ב-ttsfree הם זמינים רק בפרימיום)
גם של מייקרוסופט לא רע -
התחברות לאתר באמצעות קורא ביומטרי חיצוני (באנדרואיד)מדובר באתר שפרוס כPWA של כרום בטאבלטים של סמסונג, מנוהלים עם Smasung Knox Manage.
אני מעוניין להוסיף התחברות לאתר המדובר באמצעות טביעת אצבע. לטאבלטים עצמם (Galaxy Tab A8 או A9) יש חיישן ביומטרי אבל לכאורה הוא נגיש לאתרים רק דרך WebAuth (דהיינו לא רלוונטי לטאבלט ציבורי).
לכאורה הדרך היא חיישן ביומטרי מחובר בOTG (דרך שקע הטעינה) ולהתחבר אליו דרך WebUSB API? אשמח לכל פרט מידע וכן המלצות על חיישן מתאים.
לא מחפש דווקא משהו זול בעליאקספרס וכדו'. עדיפות למשהו שיגיע מהר, כולל מהארץ (במחירים של מהארץ...)
תודה רבה! -
nodebb מסרב להתחבר לwebsocket -
TypeScript - קימפול מספר קבצים לקובץ אחדזה ההוראות הרשמיות של Vite: https://vitejs.dev/guide/build.html#browser-compatibility
אם הגדרת את Rollup בעצמו זה גם מצויין, הרי כשאתה עושה build ב-Vite אתה סה"כ מפעיל את Rollup דרך התצורה והברירות מחדל של ViteThe bundler behind Vite
Developing for the web? Vite pre-configures
Rollup for you with sensible defaults and
powerful plugins while giving you an insanely
fast development server.אגב, לחלק של ההמרה מ-TypeScript ל-JavaScript ועוד כמה משימות טרנספלציה כמו JSX גם Vite משתמשת בesbuild, לחלק של הבניה הם משתמשים בRollup כי לטענתם ה-plugin API של esbuild לא מספיק גמיש
-
TypeScript - קימפול מספר קבצים לקובץ אחדVite להבנתי הוא בדיוק באותו תפקיד של וובפאק, אלא שהוא לא מטרנספל הכל לקובץ אחד גדול אלא ממנף את ES Modules מה שמאפשר מהירות הזויה גם בהרצה ראשונית וגם בHot Reloading
פה שמדובר במשהו חד פעמי אין משמעות האם זה יקח 5 שניות או 40, רק ציינתי לגבי הפריימוורקים הגדולים שהם כבר עברו לזה.
@קומפיונט אתה יכול לבדוק את https://github.com/vercel/ncc -
TypeScript - קימפול מספר קבצים לקובץ אחד@dovid כתב בTypeScript - קימפול מספר קבצים לקובץ אחד:
למשל כולם (angular react vue) משתמשים בwebpack
כיום ב-Vite (האחראי שם על האריזה זה Rollup)
-
nodebb מסרב להתחבר לwebsocket@ששא כתב בnodebb מסרב להתחבר לwebsocket:
עריכה: ב cloudflair אי אפשר להגדיר רשומות DNS ליותר מ'נקודה' אחת לפני
אפשר, רק לא מקבלים מהם תעודת SSL בתוכנית החינמית
-
nodebb מסרב להתחבר לwebsocket@ששא השגיאה אומרת שלא הגדרת רשומת DNS ל
www.forum.XXX.ovh
-
האם איחסון בענן של מערכת שמורכבת משפות : Node.js MySql React אמורה לעלות מינימום 40-50 דולר לחודש?@5566brs כל הכבוד על התגובה המפורטת. כמה הערות:
- בתוך "שירות מנוהל" מנוהל שהזכרת כאחד היו למעשה 3 סוגים:
- SaaS (לדוגמה: heroku, fly.io): שירות הרצה מנוהלת במלואה של פרויקטים "רגילים". זה רץ על מכונת ויטורלית רגילה וקבועה (כלומר אפשר לסמוך על state), רק שאתה לא צריך להתעסק בכלל עם התחזוקה והתצורה, להתקין תלויות, לעדכן את הקוד בשרת, להגדיר DNS תעודה וכו' וכו', אתה מחבר את המאגר בגיט והוא מריץ לך הכל, ואם אתה צריך מסד נתונים הם גם יספקו לך שירות מסד נתונים מנוהל, וכמובן שהקאץ' במחיר שהוא פי כמה מאותו מפרט בשרת רגיל.
נ.ב. יש כיום תוכנות קוד פתוח המחקים את הרוקו ודומיו שניתן להתקין על שרת VPS רגיל וכך ליהנות מכל העולמות - Serverless באופן כללי (לדוגמה: קוברנטיס): שזה אומר טכנולוגיית מחשוב ענן שבה מריצים קוד "רגיל" אבל התשתית מנוהל באופן אוטומטי וסלקלביליטי לפי הצורך על ידי ספק הענן. המשמעות מבחינת המתכנת היא שצריך לבנות את הקוד בצורה שלא תסתמך על state בין בקשות, כיוון שכל בקשה יכולה להגיע בכלל למופע אחר של אותו הקוד עם state שונה.
- Cloud Functions (לדוגמה: Cloudflare Workers, amazon lambda, Cyclic ז"ל (מבוסס על אמזון למבדה)): למעשה נגזרת של שיטת serverless עם הגבלות נוספות. זוהי גישה שבה המפתח כותב פונקציות קוד קטנות וממוקדות, שמופעלות מאפס בתגובה לאירועים מסוימים (בד"כ בקשות HTTP), ומוגבלות גם במשך זמן הריצה וגם בסוגי הruntime שנתמכים כמו פייתון, node, וכן הלאה, תלוי במימוש של ספק הענן, וכמובן במגבלת הstate שהוא יורש מserverless רק בצורה חריפה יותר.
- זה לא מדויק שאין דרך להתחיל להשתמש בשרת ללא תעודת אבטחה דומיין וDNS כי אפשר לגשת ישירות לIP של השרת
- בשרת VPS של חברה נורמלית (לאפוקי contabo לדוגמה. אין שום סיבה לבעל שרת "רגיל" להשתמש בקונטאבו!) הכל גמיש ובלחיצת כפתור, הדבר היחיד שדורש שרת חדש הוא מעבר לשרת עם נפח דיסק קטן יותר. הוספת דיסק נוסף/הגדלת מפרט מכל סוג/הקטנת מפרט כל עוד זה לא לתצורה עם דיסק קטן יותר - תדרוש כמה קליקים בממשק והפעלה מחדש בלבד.
-
שליטה על מחשב ברשת פנימית@WWW כנראה שלא, לא הכרתי את האופציה הזאת באנידסק.