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

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

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

אהרן

@אהרן
אודות
פוסטים
956
נושאים
165
קבוצות
0
עוקבים
0
עוקב אחרי
6

פוסטים

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

  • איך מתמודדים עם asinc ב-javascript
    א אהרן

    http://expressjs.com/guide/routing.html
    אבל זה החלק השולי
    get.post זו הוראה לשרת ליצור כתובת
    לכתובת הזו ajax שולח את הבקשה ומקבל תשובה.

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

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

    זהו, אני קירח....

    פורסם במקור בפורום CODE613 ב06/09/2015 10:56 (+03:00)


  • איך מתמודדים עם asinc ב-javascript
    א אהרן

    @softs

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

    תחשוב איך זה כשאני צריך לחפש מילה ואם לא מוצא לנסות בוירואציות שונות, וכל זה באסינכרוני :shock:

    פורסם במקור בפורום CODE613 ב06/09/2015 09:18 (+03:00)


  • איך מתמודדים עם asinc ב-javascript
    א אהרן

    @softs

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

    אני ממתין לך בסבלנות
    ואתה בורח אחרי שורה אחת?
    😮
    🙂

    פורסם במקור בפורום CODE613 ב06/09/2015 03:01 (+03:00)


  • איך מתמודדים עם asinc ב-javascript
    א אהרן

    כן, אני הולך לעשות פה נחת לכמה עם ההסתבכות ב-JS..
    (אם כי, הופתעתי לגלות שעל השפה שהם 'לא יודעים', לא אוהבים ולא מסתדרים - הם יודעים יותר מכל מה שאני יודע על תכנות בכלל)

    function getDataFromDB(word) {
        db.get(word, function (err, value) {
        if (err) return console.log('Ooops! cnot get nikud', err); // likely the key was not found
        return value;
      });
    }
    

    עד כאן ממש נפלא
    מעתיקים מהתיעוד ורואים שהערך נרשם בקונסול אז 'הכל עובד', ורצים להדפיס מודעות על קורס מתקדם....
    הצרה היא שבעולם האמיתי פתאום רוצים לקבל את הדאטה חזרה לפונקציה הקוראת וכש-return מחזיר את הערך הפונקציה הקוראת כבר לא קיימת!
    אז בשביל יש את הקול-בק.
    אז מה עושים כשהפונקציה הקוראת זה get.post בסרבר שמקבל בקשת ajax שבנתיים מחזירה undefined לקלינט, שלא לדבר אם מפעילים את db.get בלולאה..
    ??

    פורסם במקור בפורום CODE613 ב03/09/2015 23:08 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    @דוד ל.ט.

    @אהרן

    function myModule() {
        ...
    }
    var myModule = new myModule(); //creating the instanceמה זה עושה ??
    

    מה עושה שמכניסים את אותו משתנה לתוכו?

    כשכותבים new לפני קריאה לפונקציה, אז:

    1. במידה והפונקציה מחזירה אובייקט (לא פרימיטיבי כטקסט ומספר כלומר כזה שהלוג שלו מיוצג עם סוגריים {}), אז הוא מוחזר למשתנה.
    2. במידה ואיננה מחזירה אובייקט (או שאיננה מחזירה כלום או טיפוס פרימיטיבי) אז נוצר אובייקט חדש שמהווה "קרקע" (בתכנותית: מופע, instance) לthis שבפונקציה. בלי ה"קרקע" הזו הפונקציה הנקראת "דורכת" על "קרקע" הפונקציה הקוראת.

    הדגמה:

    function func() {
    	this.a = "variable ";
    	return "function result...";
    }
    
    var resultWithoutNew = func();
    console.log(resultWithoutNew); //function result...
    console.log(a); // variable
    console.log(resultWithoutNew.a); // undefined
    
    a = 123;
    
    var resultWithNew = new func();
    console.log(resultWithNew); // { a: 'variable ' }
    console.log(a); // 123
    console.log(resultWithNew.a); // variable
    

    הnew מאפשר לתת "סקופ" חדש למה שהפונקציה מחזירה וככה ליצור מופעים שונים של אותו מחלקה-אב טיפוס על מאפייניו והפונקציות שלו.

    לא מבין [כמעט] כלום

    this.a = "variable ";
    

    שווה ל

    func.a = "variable ";
    

    ?

    איך

    console.log(a); // variable
    a = 123;
    

    ממתי יש משתנה a?
    הרי a הוא רק תכונה (property) של func והעתקים ממנו?!


    var resultWithoutNew = func();
    

    אם כן אני צודק שיש 3 'רמות' של העברה בין פונקציה לפונקציה

    resultWithNew = func();
    resultWithNew = new func();
    resultWithNew = func;
    
    1. מעביר רק את התוצאה.
    2. רק את התכונות (במידה ומדובר באוביקט).
    3. את כל הפונקציה במלואה.
      ?

    אם משתמשים באפשרות 3, ואז שעכשיו מכיל בתוכו

    this.a = "variable ";
    

    מי שם ה-this ?

    סליחה על ההתקפה ותודה על הסבלנות 🙂

    פורסם במקור בפורום CODE613 ב18/09/2015 16:48 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

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

    פורסם במקור בפורום CODE613 ב06/09/2015 21:41 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    @דוד ל.ט.

    תלונתו היא שאתה ניגש לvalur בלי לבדוק קודם שהerror ריק (אם תוסיף if (!err) אזי הוא ישתוק כנראה), אבל נשגב מבינתי איך ה"חוזה" הזה מוכר לIDE.

    עכשיו מצאתי איך הפונקציה עובדת
    באמת עם try (מושג חדש שלא הכרתי עד שהכרת לי)

    LevelUP.prototype.get = function (key_, options, callback) {
      var self = this
        , key
    
      callback = getCallback(options, callback)
    
      if (maybeError(this, options, callback))
        return
    
      if (key_ === null || key_ === undefined || 'function' !== typeof callback)
        return readError(this
          , 'get() requires key and callback arguments', callback)
    
      options = util.getOptions(options)
      key = this._codec.encodeKey(key_, options)
    
      options.asBuffer = this._codec.valueAsBuffer(options)
    
      this.db.get(key, options, function (err, value) {
        if (err) {
          if ((/notfound/i).test(err) || err.notFound) {
            err = new NotFoundError(
                'Key not found in database [' + key_ + ']', err)
          } else {
            err = new ReadError(err)
          }
          return dispatchError(self, err, callback)
        }
        if (callback) {
          try {
            value = self._codec.decodeValue(value, options)
          } catch (e) {
            return callback(new EncodingError(e))
          }
          callback(null, value)
        }
      })
    }
    

    פורסם במקור בפורום CODE613 ב06/09/2015 21:32 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    אז עוד שאלה על JS......
    לשאלה הזו יש הרבה חברים 🙂

    פורסם במקור בפורום CODE613 ב06/09/2015 11:21 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    ובהרצה זה כן מובן?

    פורסם במקור בפורום CODE613 ב06/09/2015 11:16 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    אשמח תשפרט את הרקע, מי צועק ואיפה בדיוק.

    ide c9

    לכידה.JPG

    פורסם במקור בפורום CODE613 ב04/09/2015 13:29 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן
    function myModule() {
        ...
    }
    var myModule = new myModule(); //creating the instanceמה זה עושה ??
    

    מה עושה שמכניסים את אותו משתנה לתוכו?

    פורסם במקור בפורום CODE613 ב04/09/2015 00:50 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    כהשלמה לשאלות הקודמות
    ראיתי קוד כזה בערך (כותב מהזכרון)

    on.(data, console) {
    on.(console, console.log('bla')) {
    

    console זה ארוע ?? הרי הוא אוביקט שמחזיק שלל פונקציות!

    עוד משהו דומה
    זה המימוש הסטנדרטי:

    http = require("http"); //The require
    
    var MyServer = http.createServer(function(request, response) {
    

    והוא שווה ל:

    var server = http.createServer();
    
    server.on("request", function (request, response) {
    

    request הוא ארוע בגלל שכל העברת ארגומנט, או סוגים מסוימים מפעילים ארועים שאפשר להאזין להם, או שפשוט כותבי המודול כתבו במפורש שכש-request נשלח מופעל ארוע באותו שם ??

    פורסם במקור בפורום CODE613 ב03/09/2015 23:34 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    @דוד ל.ט.

    @אהרן
    שאלה נוספת 🙂

    server.on("request", function (request, response) {})
    

    response זו התשובה שנשלחת
    איך היא נשלחת ללא return ??

    ספק אם הבנתיך. הקוד שאתה מציג זה הרשמה להאזנה לאיוונט, לפי הנהוג במימוש קלאסי של תבנית Observer pattern (ראה בויקי עברית).
    כשהserver מקבל reqest הוא עובד בלולאה על הפונקציות שנשלחו לו (ע"י פונקציות הon) ומפעיל אותם תוך השמת הפרמטרים הנדרשים.

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

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

    שוב תודה על הזמן היקר והכוחות שאתם משקיעים עבור אחרים!

    פורסם במקור בפורום CODE613 ב03/09/2015 22:52 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    @דוד ל.ט.

    @אהרן

    עכשיו, אם אין אזכור למשתמש err ה-ide הוא צועק: expected error to be handled.
    ממתי זה מעניין אותו?

    ובכלל, כל העברת ארגמנט ב-js זה handled ??

    כתב חידה קשה מאוד. לא מבין אפי' מילה.

    יש פונקצית קולבק כזו

    function (err, value) {
      if (err) return console.log('Ooops!', err) // likely the key was not found
      console.log(value)
    }
    

    עכשיו אם אני מוחק את השורה הזו

    if (err) return console.log('Ooops!', err)
    

    ה-ide צועק שגיאה expected error to be handled, ככל שאני מבין הכוונה שאני לא מממש את הארגומנט err שמועבר לפונקציה.
    למה זה מעניין אותו? הוא הרי אפילו לא מצפה שאכניס בארגומנט הזה ערך או משהו.
    נכון יותר: אני מרגיש שזה לא ארגומנט רגיל, או שלפונקצית קולבק יש התנהגויות מיוחדות או כל דבר אחר שאני מפספס.

    אפשרות נוספת, הכל רגיל, רק שבפונקציה שמריצה את פונקצית הקול-בק יש התניה מפורשת שחייב להיות בדיקת ה-error.

    באמת עשיתי מאמץ להתבטא ברור.. מקווה שהצלחת 🙂
    תודה רבה!

    פורסם במקור בפורום CODE613 ב03/09/2015 22:39 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    שאלה נוספת 🙂

    server.on("request", function (request, response) {
    

    response זו התשובה שנשלחת
    איך היא נשלחת ללא return ??

    פורסם במקור בפורום CODE613 ב01/09/2015 02:18 (+03:00)


  • שאלות בסיסיות ב-js או בכלל בתכנות
    א אהרן

    אני מפעיל פונקציה לדוגמא

    db.get(word, function (err, value) {
    

    עכשיו, אם אין אזכור למשתמש err ה-ide הוא צועק: expected error to be handled.
    ממתי זה מעניין אותו?

    ובכלל, כל העברת ארגמנט ב-js זה handled ??

    פורסם במקור בפורום CODE613 ב01/09/2015 00:54 (+03:00)


  • levelUP db שאלת בסיסיות
    א אהרן

    @ארכיטקט

    @אהרן
    שעות שאני מחפש

    האם אפשר לקבל את ה-key שיש בו value מסוים?

    תודה!!

    זה מחזיר אותי לפוסט הזה
    ואני יכול לספר לך שהיום היתה לי שעה של קורת רוח, עם DBA ענק מהבודדים בארץ ברמת המקצועיות שלו, הוא עושה היום את הדטה בייס של טרם ועוד כמה חברות ענק. האיש הזה DBA משנת 1992!!!! כלומר כמעט מתחילת דרכו של מסד הנתונים הרלציוני, ועובד בזה כל היום כבר למעלה מ 20 שנה.

    דיברתי איתו איך לא, על ביג דאטה. הוא אמר שלדעתו כל הנהירה אחרי ביג דאטה זה לא בגלל שאין אפשרות לממש את זה ב SQL אלא בגלל שאין מספיק אנשים שיודעים מספיק על SQL ומרימים ידיים כשהוא מתחיל לעבוד לאט. והסיבה האמיתית שהוא עובד לאט, זה בגלל שכדי לתכנן דטה בייס טוב, זה לא רק עניין של אינדקסים, אלא יש המון קומבינציות נוספות. לפי טענתו אין גבול לכמות המידע שמסד נתונים רגיל יכול לאחסן ולהחזיר מידע, גם אם זה זטה בייט של מידע. העניין הוא שרוב ה DBA בארץ נעצרים בשלב האינדקסים, אבל יש עוד הרבה עומק מעבר לכך, ויש בודדים שיודעים באמת איך דטה בייס עובד מהקישקע של הקישקע ומה אפשר לעשות בו עוד (למשל הוא אומר שאחת השיטות היא ליצור סכמה חדשה בזמן ריצה על מנת למטב חלק מהשאילתות, ויש גם מחלקת DLL שלמה של דוט נט, שעושה פרסינג ל SQL אף אחד כמעט לא יודע על המחלקה הזו, ויש לה מעט מאוד משתמשים, כי זה עשוי לרמה גבוהה מאוד שרק צוות הפיתוח של SQL SERVER יודעים עליו)
    דיברתי איתו על התוכנית שלי הזו, הוא אמר שדטה בייס הוא לא האתגר, אלא דברים אחרים.
    אז אני שמח שמצאתי לי חבר בעניין הזה. אין כמו SQL מסורתי ורלציוני!!!

    מעניין
    אל תשכח לחזור ולספר איך הולך.

    בפרויקט שלך הנטיה שלך לsql מובן, כי אתה רוצה שאילתות מורכבות.
    אבל אם זה לא נצרך ו\או השאילתות צפויות, nosql יתן תוצאות עם פשטות שיא.

    כך לפי מה שאני יודע כרגע.

    פורסם במקור בפורום CODE613 ב31/08/2015 22:37 (+03:00)


  • levelUP db שאלת בסיסיות
    א אהרן

    @דוד ל.ט.

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

    יחי ההבדל 'הקטן'.
    א"כ זה DB ממש מוגבל.

    פורסם במקור בפורום CODE613 ב30/08/2015 10:38 (+03:00)


  • levelUP db שאלת בסיסיות
    א אהרן

    @דוד ל.ט.

    תוסיף כל פעם גם את המילה המנוקדת כמפתח כשהערך הוא המילה הבלתי מנוקדת.
    תראה מה התכוונתי:
    מפתח ערך
    מפתח - ערך
    1 - א,ב,ג
    2 - ב
    3 - ג
    4 - ד
    5 - ה
    א - 1
    ב - 1,2
    ג - 1,3
    ד - 4
    ה - 5

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

    הכוונה לזה?

    {
      key: word1
      value: [nikud11, nikud12, nikud13]
    }
    {
      key: nikud11
      wordClear: word
      value: [nikud12, nikud13]
    }
    {
      key: nikud12
      wordClear: word
      value: [nikud11, nikud13]
    }
    {
      key: nikud13
      wordClear: word
      value: [nikud11, nikud12]
    }
    

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

    אבל בעיקר, הדוגמא שלך נראית לי מורכבת יותר, ואשמח מאוד להבין אותה!

    פורסם במקור בפורום CODE613 ב30/08/2015 23:08 (+03:00)


  • levelUP db שאלת בסיסיות
    א אהרן

    טוב הבנתי :mrgreen:

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

    ב-db לא מצאתי קבצי c, הכתיבה הבינארית נעשית על ידי JS ?
    איך שהבנתי, בשביל להשתמש בווינדוס צריך אפשרות לקרוא קבצי C, מדוע ?

    פורסם במקור בפורום CODE613 ב31/08/2015 01:16 (+03:00)

  • 1
  • 2
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 43 / 48
  • התחברות

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

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