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

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

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

אהרן

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

פוסטים

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

  • האם וכמה תשלמו על חסימת צינתוקים מספאם
    א אהרן

    5 ש"ח

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


  • deno החלופה ה-nodejs?
    א אהרן

    ראשית אבקש מ @dovid וכרישים נוספים שיתקנו אותי באם אני שוגה (כולל עריכה במקור).

    ריאן דאהל יוצר nodejs עבר להשתמש עם go המתאים יותר לעומסים כבדים ותחביר מאוד נוח לא-סינכרוני ומקביליות.
    לפני תקופה חזר להשתמש בnodejs ונחרד ממה שעשה 🙂
    אמנם האיסינכרוניות בקריאות I\O היה רעיון נהדר, אבל חסרים חלקים קריטיים משלימים.
    לכן הוא התחיל לעבוד על deno, עם 3 מטרות עיקריות:

    • תחביר נוח ע"י החדרת הפרומיסס לליבת המנוע (His biggest regret was not using promises, an abstraction for working with asynchronous, or parallel, computing tasks. Promises were actually included in an early version of the language but were stripped out soon thereafter, casting countless devs into callback hell), עם זאת הוא ממליץ מאוד להשתמש ב-TS.
    • ביצועים - אוחז ששפה דינאמית זה רעיון נהדר, ולא מוכרחים לשלם ע"ז מחיר בביצועים, כשהוא שוקל להחליף את המנוע מתחת בgo או אחר + יצירת דפדפן חדש (ככל שאני מבין נכון).
      אבטחה - אינו דומה הרצת js ומודולים צד ג' בדפדפן להרצתם במקום קריטי כשרת עם הרשאות מורחבות.

    jsconf2018.pdf
    https://thenewstack.io/node-js-creator-blasts-node-js-offers-a-secure-typescript-based-alternative/


  • שאלות של מתחיל - מקצועי ב nodejs
    א אהרן

    @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

    מה הוא ה setInterval וה x שהכנסת אליו, והסיומת 2000, כנראה הכוונה לפורט, אך לא הבנתי את כל התחביר כאן.

    שתהיה בריא, @magicode עונה לך על אריכטורה ואתה שואל שאלות בסיס-בסיסיות על פונקציות ותחביר שרק אזכור שלהם מעלה טרליון תשובות בגוגל?!
    נראה שבציטוט את זה אני מכיר מPHP שברח לך, הסברת הכל..

    לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

    כמו"כ בהטחה השניה .then(json => המשתנה json תמיד יהיה בעצם התשובה של ההבטחה הראשונה, לא משנה איזה שם אני תוקע שם?

    לא. של ההבטחה הקודמת.
    אסביר קצת יותר על הפרומיסס בכלל
    fetch('https://www.charidy.com/some/api') פשוט מכיל קוד (בערך)

    return promise(response)
    

    כלומר data עטופה בפרומיס, לכן

    fetch('https:...').then(res => res.json())
    

    שווה ל:

    promise.then(res => res.json())
    

    then הוא מתודה של promise
    then מקבל ארגומנט פונקציה (בדוגמא שלנו זו הפונקציה res => res.json()), אליה היא מעבירה את ה-DATA שהוכנס לתוך הפרומיס הנוכחי, בדוגמא שלנו הארגומנט שמכיל את ה-DATA שהוא בעצם התשובה שהתקבלה מהכתובת\האתר, הוא res (או כל שם אחר שנותנים לו).

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

    .then(res => res.json()).then(json =>
    

    שווה ל

    newPromise.then( dataFormatJson => you code that can usedataFormatJson value)
    

    התחביר של המחרוזת: אני רואה שהשתמש ב מה התקן שלו, מתי הוא משמש? מתי עדיף "" או '' או.
    כמו"כ אני רואה ששמת שם ${}

    אתה יכול להרשות לעצמך להתעלם מסכמות חדשות ליצירת מחרוזות. תשתמש רגיל:

    "string" + value + "string"
    

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


  • הגבול בין פונקציה גנרית לפונקציה מבולבלת
    א אהרן

    @ארכיטקט אמר בהגבול בין פונקציה גנרית לפונקציה מבולבלת:

    https://tchumim.com/topic/1305/כתיבת-קוד-כסיפור

    אוהה
    מי זה בא
    👏


  • מעבר לGO למה? איך? ומתי?
    א אהרן

    @nigun אמר במעבר לGO למה? איך? ומתי?:

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

    אם אתה לא מסוגל להעריך את יכולות המשתתפים כאן לפי היסטורית ההודעות שלהם, בשביל מה שאלת כאן?

    אתה 'סותר' את התשובות עם הנחות שגויות אותם אתה שולף תוך כדי תנועה ("אסינכרוני זה דבר איום", מביא הוכחה 'גרועה' מ @חוקר שהוא הוכחה לגמרי הפוכה, בנה מע' די מורכבת וקריטית (תרומות) שהושמשה מיד עבור אלפי משתמשים, והשיג המהרה של 1000%, וכל זה בלימוד תוך כדי תנועה כשלפני זה לא היה לו מושג ירוק בנוד) - במקרה הטוב, או שכבודו פשוט 'לא מסתפק' בתשובות, ויוצא 'צודק'.

    מערכות היום נהיות יותר ויותר תלויות תקשורת, והברזלים מרובי ליבות, ללא א-סינכרוניות ומקבליות איך תקבל מהירות משמעותית?
    הכלים החדשים מהירים יותר במידה רבה בגלל שינוי צורת החשיבה שהם מביאים איתם.
    בנתיים נראה שאתה רוצה שהכל ישאר כשהיה, ו'קסם' כלשהו יעשה עבורך את השדרוג.

    @yossiz להבנתי (נתחרה על אי הבנת הנקרא), ההסבר שלך לא הוסיף לי שום הבנה על יתרונות השפה.


  • מעבר לGO למה? איך? ומתי?
    א אהרן

    @nigun אמר במעבר לGO למה? איך? ומתי?:

    GO מהיר הרבה יותר ולפעמים אותו דבר כמו NodeJs ככה שלא הרווחתי כלום מקוד האסינכרוני

    זה לא דבר והיפוכו
    המהירות ב-GO מושגת במידה רבה משימוש רחב בא-סינכרוניות ומקביליות מאוד מובנה וזורם עם הקוד.

    קצת מוזר שאתה נכנס לדקויות של הפרשים בין נוד לGO בזמן שהוא קטן הרבה הרבה יותר מההפרש מהירות הריצה שבין PHP לשניהם.


  • ידידי קול הלשון - תוכניות ורעיונות..
    א אהרן

    @magicode אמר בידידי קול הלשון - תוכניות ורעיונות..:

    אני מוכן לעזור בלתת עצות 🙂

    אז העצה הראשונה שלי
    https://electronjs.org/

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


  • flexsearch - חיפוש בטקסט סופר מהיר ומשוכלל
    א אהרן

    בשפת JS, עובד בדפדפן וב-NODEJS.

    מראים טסטים שהם מנצחים כל מתחרה בפער ניכר.

    https://github.com/nextapps-de/flexsearch

    אשמח שמי שבודק א"ז יכתוב כאן התרשמות.


  • deno החלופה ה-nodejs?
    א אהרן

    ביצועים - אוחז ששפה דינאמית זה רעיון נהדר, ולא מוכרחים לשלם ע"ז מחיר בביצועים, כשהוא שוקל להחליף את המנוע מתחת בgo או אחר
    ככל שאני מבין נכון, התכנון הוא:
    להכניס מקביליות מובנית בכל הקודים הא-סינכרונים במהותם (פרומיסס, fs, תקשורת, timeOut וכדו') או קודים שיורצו שפירוש ע"י פונקצית ()run,
    ואת זה להשיג ע"י הורדת התלות ב-V8 למינימום (רק פיענוח ה-js שיכתוב המשתמש) ולמודולים רבים ככל האפשר להשתמש ב- go (הספיק להתחרט בשביל לא לנהל 2 אוספי זבל עצמאיים) rust & tokio שהיא גם שפה סופר מהירה בשל היותר סטטית (לא רק), גם מכילות כבר מודולים רבים שאפשר 'לגשר' אותם בקלות, וגם מובנה בהם המקביליות ביעילות ובקלות (הבדיקות נעשות הן כש-rust רץ בתהליך נפרד לגמרי והן כשהוא מורץ בתהליכון בשביל להסיק מה מהיר יותר).

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

    יצירת דפדפן חדש (ככל שאני מבין נכון).
    איזו מבוכה על התרגום השגוי. הנכון:
    תאימות לדפדפן - שהAPI יהיה תואם ככל האפשר (בשאיפה למוחלט, כמעט בקנאות) ל-API של הדפדפן; קוד שרץ בדנו יוכל לרוץ בדפדפן.


  • קיצור דרך לאתר של משתמש מישני
    א אהרן

    אמור מעתה @yossiz איש אשכולות.


  • מישהו התנסה עם ספריית yowsup?
    א אהרן

    @clickone
    מוערכת מאוד התרומה שלך כאן גם תוך כדי ניהול מגה-פרויקטים! 🙂


  • סדר המשתנים בnodejs
    א אהרן

    תשתמש ב-let במקום ב-var

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


  • ידידי קול הלשון - תוכניות ורעיונות..
    א אהרן

    לחדשים שלא מבינים במה מדובר
    מצורף לינק לתחילת הדיון.


  • בעניין איתחול ועדכון שרת HTTP
    א אהרן

    https://github.com/magicode/node-reload


  • כת מיסיונרית נכשלה שוב בניסיון המי יודע כמה להעביר אותי על דתי
    א אהרן

    @ארכיטקט אמר בכת מיסיונרית נכשלה שוב בניסיון המי יודע כמה להעביר אותי על דתי:

    זו לא היתה הבטחת בחירות

    זכור לי משהו על הבטחת בחירות
    לכתוב פה פעם בשבוע


  • בשורה מרעישה לכל מי שסובל מבעיות UX הנובעות מבלבול בין לחיצות כפולות לבודדות
    א אהרן

    @ארכיטקט
    מזמן אמרו זקני ציון
    אנשים כמוך עוזרים למתכנתים לשרוד במקצוע.

    בקיצור, תבוא יותר, זה תמיד יהיה פתרון לבעיה שלנו.


  • API באקסס
    א אהרן

    דוד
    עם אנשים כמוך
    משיח כבר צריך להגיע!

    פורסם במקור בפורום CODE613 ב31/03/2017 13:30 (+03:00)


  • נטפרי עם הפנים למתכנת.
    א אהרן

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

    (function() {
    
        function setList() {
            if ("undefined" == typeof ytplayer) {
                alert('אין מידע');
                return;
            }
    
            var formats = {
                '5': {
                    'ext': 'flv',
                    'width': 400,
                    'height': 240
                },
                '6': {
                    'ext': 'flv',
                    'width': 450,
                    'height': 270
                },
                '13': {
                    'ext': '3gp'
                },
                '17': {
                    'ext': '3gp',
                    'width': 176,
                    'height': 144
                },
                '18': {
                    'ext': 'mp4',
                    'width': 640,
                    'height': 360
                },
                '22': {
                    'ext': 'mp4',
                    'width': 1280,
                    'height': 720
                },
                '34': {
                    'ext': 'flv',
                    'width': 640,
                    'height': 360
                },
                '35': {
                    'ext': 'flv',
                    'width': 854,
                    'height': 480
                },
                '36': {
                    'ext': '3gp',
                    'width': 320,
                    'height': 240
                },
                '37': {
                    'ext': 'mp4',
                    'width': 1920,
                    'height': 1080
                },
                '38': {
                    'ext': 'mp4',
                    'width': 4096,
                    'height': 3072
                },
                '43': {
                    'ext': 'webm',
                    'width': 640,
                    'height': 360
                },
                '44': {
                    'ext': 'webm',
                    'width': 854,
                    'height': 480
                },
                '45': {
                    'ext': 'webm',
                    'width': 1280,
                    'height': 720
                },
                '46': {
                    'ext': 'webm',
                    'width': 1920,
                    'height': 1080
                },
                '59': {
                    'ext': 'mp4',
                    'width': 854,
                    'height': 480
                },
                '78': {
                    'ext': 'mp4',
                    'width': 854,
                    'height': 480
                },
            };
    
    
            var info = ytplayer.config.args.url_encoded_fmt_stream_map.split("&").map(function(e) {
                e = e.split("=");
                return {
                    key: e[0],
                    value: decodeURIComponent(e[1])
                };
            });
    
            var all = [];
            var current = {};
            info.forEach(function(i) {
                current[i.key] = i.value;
                if (i.key == "url") {
                    all.push(current);
                    current = {};
                }
            });
    
            var element = document.getElementById('watch7-main');
    
            function printDwonload(info) {
                var a = document.createElement('a');
                var format = formats[info.itag];
                a.target = "_blank";
                a.href = info.url;
                a.innerText = "הורדה " + format.ext + " " + format.width + "x" + format.height;
                a.download = "";
                a.style.display = "block";
                element.appendChild(a);
            }
    
            all.forEach(function(i) {
                if (!i.itag) return;
                printDwonload(i);
            });
        }
        
        
        var element = document.getElementById('watch7-main');
        //var a = document.createElement('a');
    
        var a = document.createElement('button');
    
        a.type = "submit";
        a.id = "download-submit";
        a.onclick = "setList";
        a.addEventListener('click', setList);
        a.target = "_blank";
        //a.href = 'setList()';
        a.innerText = "הורדה ";
        a.download = "";
        a.style.display = "block";
        a.style.color = "#fff";
        a.style.padding = "15px 25px";
        a.style.background = "#1ab394";
        a.style['background-color'] = "#428bca";
        a.style['border-color'] = "#357ebd";
        a.style['font-size'] = "18px";
        a.style.top = '30px';
        a.style.right = "auto";
        a.style.left = "auto";
        a.style.margin = "20px";
    
        element.appendChild(a);
    })();
    

    פורסם במקור בפורום CODE613 ב17/11/2015 13:52 (+02:00)

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

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

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