@צדיק-תמים
בצורה מקוצרת:
var a = [1,2,3], b = [false, true, false];
a.filter((_,i) => b[i])
@צדיק-תמים
בצורה מקוצרת:
var a = [1,2,3], b = [false, true, false];
a.filter((_,i) => b[i])
@לעזור-לכולם
בעיקרון אין הבדל בהאזנה לאירוע על אלמנט אחד או כמה אלמנטים, האירוע יוזנק בכולם (אלא אם עשית בכוונה שלא עם stopPropagation)
אבל אני מאמין שאם עברו 10 שעות מאז ששאלת את השאלה, כבר פשוט בדקת את זה.
אתה מחפש פיתרון בחינם?
כי גם לבנות שרת מיילים עולה כסף.
הדרך הכי "לפי הספר" לעשות את זה, היא להירשם לעדכונים מגוגל ישירות
https://developers.google.com/gmail/api/guides/push
עריכה:
וגם אעתיק מה שהם בעצמם כותבים
Typically all notifications should be delivered reliably within a few seconds; however in some extreme situations notifications may be delayed or dropped. Make sure to handle this possibility gracefully, so that the application still syncs even if no push messages are received. For example, fall back to periodically calling history.list() after a period with no notifications for a user.
@dovid אמר בביל גייטס - תודה!:
טוב, אני משתמש בwindows ובעצם אני צריך לכתוב את זה בbat או ps
הרצתי את זה בmingw שמגיע עם git, זה גם עובד (וככל הנראה גם ב-wsl)
וגם הנחתי שVSCODE יקרא אוטומטית את הsource map ולא צריך משהו מיוחד בשביל לדבג typescript, אני אנסה לבדוק את זה
עריכה:
אכן זה עובד ללא שום הגדרות מיוחדות
רק צריך להגדיר בtsconfig שייצר source map
@dovid
סליחה, חשבתי שהנקודה היא להתחיל לכתוב פרויקט, זה באמת לא פיתרון לסביבת עבודה מלאה.
אני השתמשתי במשהו שהתאים ספציפית לפרוייקט שלי, אבל הוא אולי גם יתאים לצורך שלך.
השתמשתי בשרת seq שזה שרת לוגים, והעברתי לו את כל הrequestים ואת הresponseים של האפליקציה כולל, זה כלל גם HTTP וגם פניות למסד נתונים (והתוצאות).
השרת נותן לך תשתית נוחה לחפש ולפלטר את הלוגים, והוא גם יוצר בשבילך חוקים בשביל להפריד בין לוגים לפי ראות דעתו הממוחשבת.
עריכה:
גם התקנתי עם אימג' מוכן של דוקר תוך דקות מספר.
GetExtension מקבל נתיב כולל הסיומת לקובץ ומחזיר את הסיומת שלו.
בעיקרון מה שתעשה זה Directory.EnumerateFiles כדי למצוא את הקובץ שלך.
Directory.EnumerateFiles(Path.GetDirectoryName(הנתיב_ללא_הסיומת)).Where(f => f.StartsWith(הנתיב_ללא_הסיומת)).FirstOrDefault()
במקרה ויש לך כמה קבצים עם אותו שם וסיומת שונה, הוא יחזיר את הראשון, במידה ואין בכלל קובץ כזה, הוא יחזיר null.
@avramk
זה נכון לכל שירות, שגם אם יש בו פרצה, אתה יכול לתת לתוכנות הגנה שונות למנוע אותה.
וכמו ש@dovid כתב, זאת לא באמת "פרצת אבטחה", זה שמישהו לא יודע להגדיר נכון את המסד נתונים שלו, ההבדל הוא שבמקום לשים הגדרה "האם לא להצפין את התעבורה", הם שמו הגדרה "האם כן להצפין את התעבורה", ובהנחה ולא הגדירו במיוחד שהתעבורה תהיה מוצפנת, זה מאוד קל לעשות כל העולה על רוחך (כמו שהייתי עד למישהו שהקים משתמש ע"י החלפה של השאילתא ששלח הקליינט לשרת)
עריכה:
בנוסף זה היה יכול להימנע אם היו נותנים לקליינט הרשאות רק למה שהוא צריך (מאחר והוא לא צריך להיות בעל הרשאה ליצור משתמשים), אבל שוב זה עניין של הגדרות.
@avramk
אז לא נראה לי שיש מה להשוות בין הפרצה של SQL SERVER לפרצה של RDP,
SQL SERVER נותן לך MITM שזאת פרצה במידה ואתה כבר יושב באותה רשת עם הSQL SERVER, אבל זאת פרצה מאוד פשוטה למימוש ומאוד מסוכנת.
RDP הוא יותר מצוי, אבל פחות פריץ, אז באופן כללי מי שיש לו RDP פתוח לרשת החיצונית חשוף יותר לסכנות, אבל כמו שכתבת, צריך בשביל זה לנסות הרבה סיסמאות, והפרוטוקול עצמו כן מונע במידת מה את הפריצות האלה ע"י השהיה בין ניסיון לניסיון, ובשביל לעקוף את זה צריך פרצת אבטחה שכרגע אין.
SQL SERVER זה הדבר הכי פריץ שיש בברירת מחדל
הנה דוגמה
מניסיון, מישהו שאני מכיר השתמש בזה בשביל ליצור לעצמו משתמש בהרשאות גבוהות למסד נתונים של מתחרים, והם עדיין לא יודעים מזה, והוא יכול לעשות במסד נתונים מה שבא לו (וכמובן. זה מאוד לא חוקי)
עם המעלה שאתה מנסה להשיג היא מהירות טעינה של הדף
אז ממחקר שעשיתי פעם, הבנתי שאם יש לך אפשרות להעלות את כל הספריות לקובץ אחד ולטעון אותו מהשרת שלך, זה יהיה יותר מהיר מלטעון הרבה CDN, אבל בהנחה ואי אפשר, אז CDN הוא יותר מהיר.
היום יש את HTTP 3, אז יכול להיות שבכל מקרה CDN יותר מהיר, לא בדקתי את זה.
בנטפרי אין HTTP 3 עד כמה שידוע לי.
@צדיק-תמים
שלחתי לך הודעה בצ'אט של מתמחים.טופ (אני מקווה שזה באמת אתה)
@mekev
אתה יכול גם ליצור טריגר מהשרת שלך (איך אתה מתכנן לבצע עדכון מרחוק בלי זה?)
בצורה הכי פשוטה שלא מצריכה הבנה ברשתות -
אתה מעלה קובץ טקסט עם הגירסא של השרת לאיזה אתר פומבי כלשהו (אפשרי github),
התוכנה בודקת כל כמה זמן (תבחר אתה כמה) באמצעות WebClient.DownloadString() את הגירסא המעודכנת (הURL צריך להיות לקובץ טקסט שהעלת), אם זה לא תואם לגירסא שקיימת ללקוח (זה יכול להיות בקובץ קונפיגורציה app.config, וזה גם יכול להיות משתנה גלובלי) אז התוכנה תבצע סגירה לכל הHandlerים הפתוחים, תעדכן את עצמה, ותבצע פתיחה מחדש של עצמה.
ברגע שאתה רוצה לעדכן גירסא אתה פשוט משנה בקובץ טקסט שנמצא בגיטהאב את המספר גירסא.
אתה יודע שהindexedDB מכיל רק ערכים בודדים של מפתח וערך (key\value)?
כי localStorage מכיל רק key\value, ואילו indexedDB מכיל בד"כ אובייקטים.
או שיש לך לוגיקה אחרת שעל פיה תרצה להעביר את הindexedDB ל-localStorage?
אני יכול לכתוב סקריפט ששואל אותך מה השמות של הסטור והמסד נתונים ועובר עליהן ומייצא לקובץ JSON.
השמות שלהן נמצאים בתגית application בתוך הdevtools
שם המסד נתונים - MyDatabase
שם הסטור - MyObjectStore
@a0533057932
לא שכחתי, פשוט לא הכרתי
הסתכלתי על זה עכשיו, נראה שב-5 יורו אתה מקבל שרת ממש חזק !
עד היום השרת הבסיסי ב5$ של דיג'יטל אושן הצליח להחזיק שיחות וידאו של עד 3 שיחות במקביל ממש יציב, כל שיחה בין 3 ל-10 אנשים, בלי בעיות בכלל (יותר שיחות מזה פשוט לא היה במקביל).
סתם לתוספת ידע, השם הטכני של מה שאתה מחפש נקרא
WYSIWYG Editor
(ברצינות)
ראשי תיבות What You See Is What You Get
@ass
php היא שפה שאפשר להריץ בלי קשר לשרת:
C:\php\php.exe task.php
אני סתם המצאתי נתיבים, אבל הרעיון הוא לקרוא לקוד PHP באמצעות הקובץ הרצה של PHP
הנה דוגמה של זה אצלי
C:\Users\User>echo "<?php echo 'hello'; ?>" > C:\php\test.php
C:\Users\User>C:\php\php.exe C:\php\test.php
"hello"
@nigun
מהניסיון הדל שלי ראיתי שלשכירים יותר קל להיות שקועים בלימוד מאשר עצמאיים.
@חוקר
בימים כתיקונם מספיק לפצל את ההזמנות בהפרש של ג' ימים.
כעת ההזמנות נתקעות ביציאה מסין (מניסיון), ולכן ייתכן שהן תצורפנה זו לזו בארץ, וזאת למרות שהמיון והחלוקת משלוחים בסין נעשה עוד קודם.
הסיבה שאני חושש לכך היא בגלל שדבר דומה קרה לחבר שלי בתקופת הקורונה, שהוא הזמין 3 הזמנות שונות, אבל הן התעכבו בחודש בגלל הקורונה, ולסוף בארץ צירפו לו אותן והוא התחייב במכס.