דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
י

יוסף בן שמעון

@יוסף בן שמעון
אודות
פוסטים
973
נושאים
102
שיתופים
0
קבוצות
0
עוקבים
5
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • שאלה: מה הסוד מאחורי מנוע החיפוש של בר אילן? (מבחינת תיכנות)
    י יוסף בן שמעון

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

    כשעושים חיפוש בתמונות סרוקות כמו צורת הדף וכתבי עת, זה קצת שונה, כי אתה לא מחזיק טקסט אלא תמונה, האינדקס יכול רק להצביע לך איפה ממוקם קובץ התמונה, ואז אתה צריך לעשות לו OCR כדי לזהות את המילים ולצבוע אותם. אם כי מסתבר שכל תמונה מחזיקה כבר את ה OCR במטמון וזה לא נעשה בלייב.

    תכנות

  • שאלה: מה הסוד מאחורי מנוע החיפוש של בר אילן? (מבחינת תיכנות)
    י יוסף בן שמעון

    אתה מדבר על צורת הדף והכתבי עת?

    תכנות

  • שאלה: מה הסוד מאחורי מנוע החיפוש של בר אילן? (מבחינת תיכנות)
    י יוסף בן שמעון

    גם לבר אילן יש אינדקס מאחורי הקלעים

    תכנות

  • פניה אסינכרונית והמסתעף Angular TS
    י יוסף בן שמעון

    @yyy כתב בפניה אסינכרונית והמסתעף Angular TS:

    זה נכון לגבי כל השמה, או שזה משהו ספציפי לפקודת return?

    כל השמה

    @yyy כתב בפניה אסינכרונית והמסתעף Angular TS:

    למה פקודה כזו

    returnthis.books || this.httpClient.get<Books []>(this.Getbooks URL).toPromise();
    לא מבצעת אותו דבר, הרי אם האובייקט אינו מאותחל זה יחזיר undefind כלומר false, וילך לפרומיס לאתחל את האובייקט, ואם זה כן מאותחל כלומר true שיחזיר אותו עצמו ולא יפנה לפרומייס?
    בדקתי ואכן בסינטקס שלי הוא כן פונה כל פעם מחדש ואני רק שואל למה זה קורה.

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

    getBooks() {
      if (this.books !== undefined) {
        return this.books;
      } else {
        this.books = this.httpClient.get<Book[]>(this.GetBooksURL).toPromise(); // <<<<<<<<<<<<<<<
        return this.books;
      }
    }
    

    אצלך דילגת על שורה 5, ובמקום זה עשית כך:

    getBooks() {
      if (this.books !== undefined) {
        return this.books;
      } else {
        return this.httpClient.get<Book[]>(this.GetBooksURL).toPromise();
      }
    }
    

    אז books מעולם לא אותחל

    תכנות

  • פניה אסינכרונית והמסתעף 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 TS
    י יוסף בן שמעון

    @yyy כתב בפניה אסינכרונית והמסתעף Angular TS:

    עשיתי כדבריך:

    כמעט...
    איך נראית השורה הזו בסרביס? כמו האופציה הראשונה או השניה?

       books: Promise<Book[]>;
       books: Promise<Book[]> = [];
    
    
    תכנות

  • פניה אסינכרונית והמסתעף Angular TS
    י יוסף בן שמעון

    @yyy כתב בפניה אסינכרונית והמסתעף Angular TS:

    בקיצור לא הולך...

    באנגולר לא אמורים לעבוד עם הקונסטרקטור
    הקומפוננטה עשויה להיראות כך:

    export class showBooksComponent implements OnInit {
        books: Book[];
    
        constructor(private BooksSvc: BooksSvc) { }
    
        async ngOnInit() {
            this.books = await this.BooksSvc.GetBooks();
        }
    }
    

    זה יאפשר לך לבצע מניפולציות על המערך מתוך הקומפוננטה.
    באופן כללי עדיף להמנע משימוש ב pipes כמו async ובבינדינג לפונקציות, זה מריץ את הפונקציה בכל בינדינג ודורש יותר משאבים.

    תכנות

  • פניה אסינכרונית והמסתעף Angular TS
    י יוסף בן שמעון

    observable לא נצרך כאן וזה לא נכון להשתמש בו בסיטואציה הזו
    מדובר על נתונים שנטענים פעם אחת בלבד מהשרת, והאובייקט הזה לא אמור להתעדכן מהשרת יותר, זו התנהגות פרומיסית קלאסית
    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();
    
    תכנות

  • שינוי פעולת מקשי עכבר
    י יוסף בן שמעון

    עכבר עם תוספת לחצנים של speed link
    שאלתי אותם איך אפשר לקבוע מה תהיה פעולת הלחצנים, אמרו לי שאין להם תוכנה והם מנועים מלהמליץ על תוכנות צד ג
    התוכנה של מיקרוסופט לא מזהה את העכבר.
    מישהו יודע להמליץ על תוכנה אמינה שעושה את זה?

    תוכנה

  • בניית תוכנה ע"י שימוש בטאמפלט | Anguler + Material
    י יוסף בן שמעון

    @avi-rz כתב בבניית תוכנה ע"י שימוש בטאמפלט | Anguler + Material:

    איך יוצרים קומפונננטות חדשות
    כנ"ל סרוויסים
    זה מגיע איך שזה נראה ומעלימים את כל התוכן הקיים? איך?
    זה מגיע ריק ומייצרים עם ה cli טאמפלט של טבלה או של כרטיסים וכו'?

    עובדים עם זה בדיוק כמו כל פרוייקט אנגולרי, מוסיפים קומפוננטות וסרביסים עם ה CLI
    לא נראה לי שיש אפשרות ליצור עם ה CLI טבלה

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

    @avi-rz כתב בבניית תוכנה ע"י שימוש בטאמפלט | Anguler + Material:

    צריך ליצור שרת לכל התוכן הקיים כלומר להתאים את כל השדות שבקליינט?
    כמו"כ הצ'אט והתיבת דואר שיש שם צריך ליצור להם טבאלאות ופוסטים וכו' בשרת?

    בודאי, הטמפלט מגיע בלי שרת, זו רק תצוגה

    תכנות

  • סידור ואחסון העלאות
    י יוסף בן שמעון

    בעצם השאלה שלי היא במקרה של תיקיה ראשית אחת שתחתיה יש אלפי תיקיות, האם למערכת הקבצים יש הבדל אם התיקיות משנה נמצאות ברמה השניה שתחת התיקיה הראשית, או אם הן מסודרות בהיררכיה של כמה תתי רמות ומחולקות לכמה תיקיות משנה.

    תכנות

  • סידור ואחסון העלאות
    י יוסף בן שמעון

    נכון להיום המשתמשים מעלים קבצים לשרת, השרת מקצה לכל קובץ מזהה ייחודי, שומר במסד נתונים את המידע על הקובץ (שיוך, משתמש, תאריך), וכותב את הקובץ לדיסק בנתיב כזה

    /uploads/<filekey>/<filename.png>
    

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

    /uploads/<year><month>/<filekey>/<filename.png>
    

    ?
    או דרך אחרת? או שאפשר להשאיר את המצב כמות שהוא?

    תכנות

  • ווטצאפ API
    י יוסף בן שמעון

    מן הפח אל הפחת...
    זה מפנה אותי לפתיחת חשבון פייסבוק
    האם יש דרך לעקוף את זה?

    תכנות

  • ווטצאפ API
    י יוסף בן שמעון

    @aaron האם אפשר להשתמש בשירות הרשמי בלי חשבון ווטצאפ?

    תכנות

  • ווטצאפ API
    י יוסף בן שמעון

    התבקשתי מארגון מסויים לעשות אימות טלפוני בווצטאפ, דהיינו לשלוח למשתמש קוד והוא יזין אותו באתר, וכך הוא יוכיח בעלות על מספר הטלפון שלו.
    המליצו לי על Green API שנותן שירות API במחיר סביר.
    דא עקא שהוא דורש שהשליחה תהיה משוייכת לחשבון ווטצאפ אמיתי, וצריך לתת הרשאות לחשבון הזה עם ווצטאפ ביזנס.
    החסרונות בזה הן: 1. אין לי ווצטאפ, אמנם למנהל הארגון יש ווצטאפ, אבל זה נראה לי הליך קצת מורכב לטכנופובים להתקין ווצטאפ ביזנס ולשייך אותו לשירות. 2. אני מבין שהשיוך הזה נותן ל API גישה מלאה לכל ההתכתבויות של בעל המספר, וזה לא נראה לי אתי שיהיה לי גישה כזו לחשבון של אדם אחר (אפילו לא גישה תיאורטית). 3. מה גם שלפי התיעוד ( https... ) צריך שהמכשיר יהיה פעיל ומחובר לאינטרנט כל הזמן, ואם הוא מכובה השירות לא יעבוד, מה שהופך את הכל ללא יציב.

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

    תכנות
  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום