זה יכול להיות גם ששכחת לסגור קונקשנים למסד, או שימוש במשתנים גלובליים במקום להשתמש בלוקאלים פר בקשות, זה אולי יותר מהיר אבל זה גורם שהזיכרון לא מתנקה
יוסף בן שמעון
-
שרת NodeJS. קפיצת RAM -
דיבוג שגיאה בבקשת HTTP לאמזון@chagold כתוב שם שזה מחזיר קוד שגיאה 400, קבל את קוד השגיאה כך:
https://stackoverflow.com/questions/11797680/getting-http-code-in-php-using-curl
ותתכונן בהתאם -
חתימת מסמך PDF@מנצפך אמר בחתימת מסמך PDF:
@upsilon01 הוא כותב לי
Error: Could not find ByteRange placeholder: /ByteRange [0 /********** /********** /**********]לזכרוני אם לא מוסיפים ארגומנט שמגדיר את הקידוד, הוא קורא את הקובץ בלי שום קידוד וזה יכול להסביר את הודעת השגיאה, נסה כך:
fs.readFileSync(PATH_TO_PDF_FILE, 'utf8')
fs.readFileSync(PATH_TO_P12_CERTIFICATE, 'utf8'), -
האם Blazor הוא תקוות העתיד@dovid כתב בהאם Blazor הוא תקוות העתיד:
יש עוד משהו שעם השנים למדתי לשים לב. יש מיינסטרים, ויש שוליים. רוב הפעמים, גם טכנולוגיות מאוד מצליחות בשוליים, כובלים את המפתח והלקוח ומכבידים מאוד לאורך הזמן. נניח עוד חמש שנים תהיה מהפכה בשרת לקוח, איפה בלייזור יהיה? הוא כמובן יתאים את עצמו, אבל אז הוא יהיה רק "מתאים" וכבר פחות "נדרש". מהשלב הזה מתחיל תהליך מרגיש ומייסר שנגמר לעיתים בזניחת המוצר ולעיתים בהגירה קשה.
תוכל להרחיב יותר? מה החשש אם תהיה מהפכה, ולמה זה נוגע רק לבלייזור?
-
Rclone - לא לכלול שם תיקיה בכל מקום בעץנראה שזה הפיתרון
rclone ls "D:\projects" ^ --filter="- /**/node_modules/" ^ --filter "+ *.yml" --filter "+ *.conf" --filter "+ *.sh" --filter "+ *.yaml" --filter "+ *Dockerfile" --filter "- *" -
בקשת עזרה עם קוד בc#@pcinfogmach אתה יכול לאשר שזה קורה רק במחרוזת שמכילה מרכאות?
-
שאלה: מה הסוד מאחורי מנוע החיפוש של בר אילן? (מבחינת תיכנות)נניח שיש טבלה של תנך, טבלה של גמרא טבלה של ראשונים וכו'.
האינדקס החזיר שביטוי החיפוש מופיע בתנך בשורה 8947 ובגמרא בשורה 749
האפליקציה ניגשת לטבלאות האלו, שולפת את השורות הרצויות, מסתמא גם שולפת אחת לפני ואחת אחרי בשביל התצוגה, ומוסיפה את זה למערך של תוצאות החיפוש.
אם היא היתה מחפשת את הביטוי הזה בכל הטבלאות של התנך והגמרא והראשונים, בלי להעזר באינדקס, היה לוקח המון זמן לכל חיפוש, האינדקס מקצר את התהליך -
שאלה: מה הסוד מאחורי מנוע החיפוש של בר אילן? (מבחינת תיכנות)גם לבר אילן יש אינדקס מאחורי הקלעים
-
פניה אסינכרונית והמסתעף Angular TS@yyy כתב בפניה אסינכרונית והמסתעף Angular TS:
זה:
books: Promise<Books[]>;
מחזיר את השגיאה הזו
'books' has no initializer and is not definitely assigned in the constructor.אתה יכול לכתוב במקום סימן שאלה סימן קריאה, וזה ידלג על הבדיקה
או לאתחל את זה בקונסטקטור בלי האופרטור || ובמתודה getBooks רק להחזיר אותו בלי לעשות השמה -
פניה אסינכרונית והמסתעף Angular TS@yyy כתב בפניה אסינכרונית והמסתעף Angular TS:
האמת (אני מניח שזה קשור לזה) שגם כך אשמח להכיר את הסינטקס של ה-return הנ"ל בשני דברים:
א. סימן ה"||" פירושו OR?
ב. מה המשמעות של קטע הקוד הזה
this.books = this.books
?אכן, זה אופרטור OR.
כשאתה מבצע השמה למשתנה books אתה קודם כל בודק אם הוא כבר מאותחל, במידה והוא כבר אותחל אתה לא משנה בו כלום אלא מצביע עליו בחזרה, אם הוא עוד לא מאותחל והוא מחזיר undefined (שזה ערך false ב JS) אז אתה מאתחל אותו כפרומיס.
כך אתה מרויח שהפניה לשרת תתבצע רק פעם אחת בכל חיי האפליקציה, וכל מי שירצה לקבל את רשימת הספרים יקבל אותה מהפרומיס הזה -
פניה אסינכרונית והמסתעף Angular TSobservable לא נצרך כאן וזה לא נכון להשתמש בו בסיטואציה הזו
מדובר על נתונים שנטענים פעם אחת בלבד מהשרת, והאובייקט הזה לא אמור להתעדכן מהשרת יותר, זו התנהגות פרומיסית קלאסית
observable לא מגיע ככה מהקופסה, אמנם אפשר לקנפג אותו כדי להתאים אותו לצרכים האלו, אבל זה מאולץ ומיותר. -
פניה אסינכרונית והמסתעף Angular TSהשורה הזו
this.books = BooksSvc.GetBooks();אמורה להחזיר מערך שלא קיים.
המתודה GetBooks לא אמורה להחזיר מערך, אלא פרומיס.
כך אמור להיראות הסרביסGetBooksURL: string = "http:GetBooks"; books: Promise<Book[]>; constructor(private httpClient: HttpClient) { this.GetBooks(); } Getbooks() { return this.books = this.books || this.httpClient.get<Book[]>(this.GetBooksURL).toPromise(); }והקומפוננטה תחכה לפרומיס כך
this.books = await BooksSvc.GetBooks(); -
בניית תוכנה ע"י שימוש בטאמפלט | Anguler + Material@avi-rz כתב בבניית תוכנה ע"י שימוש בטאמפלט | Anguler + Material:
איך יוצרים קומפונננטות חדשות
כנ"ל סרוויסים
זה מגיע איך שזה נראה ומעלימים את כל התוכן הקיים? איך?
זה מגיע ריק ומייצרים עם ה cli טאמפלט של טבלה או של כרטיסים וכו'?עובדים עם זה בדיוק כמו כל פרוייקט אנגולרי, מוסיפים קומפוננטות וסרביסים עם ה CLI
לא נראה לי שיש אפשרות ליצור עם ה CLI טבלהצריך למחוק את הדפים הקיימים, או להחליף להם את התוכן בתוכן משלך, הרעיון של הטמפלט הוא שאתה לוקח את המבנה של האפליקציה מהטמפלט, ומשתמש בקלאסים ובדירקטיבים מוכנים במקום לעצב אותם בעצמך, ויש לך שפה עיצובית אחידה.
לדוגמא אם אתה רוצה ליצור דף של כרטיסים, אתה מעתיק את הקוד מהתצוגה של הטמפלט ומשנה את התוכן לפי מה שאתה צריך, או עורך את הקוד במקום.@avi-rz כתב בבניית תוכנה ע"י שימוש בטאמפלט | Anguler + Material:
צריך ליצור שרת לכל התוכן הקיים כלומר להתאים את כל השדות שבקליינט?
כמו"כ הצ'אט והתיבת דואר שיש שם צריך ליצור להם טבאלאות ופוסטים וכו' בשרת?בודאי, הטמפלט מגיע בלי שרת, זו רק תצוגה
-
סידור ואחסון העלאותנכון להיום המשתמשים מעלים קבצים לשרת, השרת מקצה לכל קובץ מזהה ייחודי, שומר במסד נתונים את המידע על הקובץ (שיוך, משתמש, תאריך), וכותב את הקובץ לדיסק בנתיב כזה
/uploads/<filekey>/<filename.png>זה לא רעיון מוצלח לכאורה, כי uploads זו תיקיה אחת שמכילה כיום קרוב לאלפיים תיקיות, והמספר הולך וגדל.
האם עדיף לפצל את ההעלאות לתיקיות משנה כמו/uploads/<year><month>/<filekey>/<filename.png>?
או דרך אחרת? או שאפשר להשאיר את המצב כמות שהוא? -
לפני שאתם הולכים ל-AI חכם תשתמשו בכלים קיימים :)@צדיק-תמים יש דרכים להתמודד עם שילוב כזה ב JS, הבעיה ב TS שהיא בכלל לא נותנת לך אופציה להתמודד עם זה כי היא מקמפלת import ל require בלי לשאול אותך
-
עריכת קבצי HTML באמצעות סקריפט@צדיק-תמים נפק"מ למעשה רב?

-
vue טבלה עם מספר שורות שאינו קבוע, מיקום קבוע לשורת סיכום@chagold אפשר לתת הגדרת position לשורה בודדת בטבלה
https://jsfiddle.net/q854asep/ -
דרכים לדעת כיצד מידע מגיע לדפדפן@yyy כוונתך לזה?

-
API רחובות לפי שכונות\ שכונות לפי ערים@yyy אולי יש כאן איזה קצר תקשורתי
אתה מנסה לשלוח מהדפדפן בקשה ל API, לשם כך אתה משתמש בקליינט של אנגולר HttpClient?
ומה השגיאה שחוזרת?