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

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

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

5566brs

@5566brs
אודות
פוסטים
108
נושאים
5
קבוצות
0
עוקבים
0
עוקב אחרי
0

פוסטים

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

  • האם איחסון בענן של מערכת שמורכבת משפות : Node.js MySql React אמורה לעלות מינימום 40-50 דולר לחודש?
    5 5566brs

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

    חסרון של סוג זה:

    1. צריך לדעת מה לבחור, כמה אחסון, כמה זכרון, איזה CPU וכדומה.
    2. זה לא גמיש, או פחות גמיש, אם רוצים להגדיל אחד מהמרכיבים שבחרנו בסעיף 1 צריך לקנות חדש ולהעביר וכדומה.
    3. המשתמש אחראי על התקנת התוכנות והכל (אפשר אמנם להתחיל ממשהו שמותקן בו דברים מסוימים, תלוי בספקים השונים) לטוב ולרע, כולל זה שיש אפשרות שננעלים בחוץ וצריך לאפס הכל (זה ממש דורש זמן למידה) וכולל האפשרות שהעמסנו יותר מדי והמכונה פשוט הפסיקה להגיב, וצריך לאתחל דרך הממשק שהספק נותן.
    4. המשתמש אחראי על תעודת אבטחה, דומיין, DNS ואין אפילו איך להתחיל להשתמש בלעדיהם, גם לא זמנית.

    יתרונות:
    זול בפער עצום מסוג מספר 2 להלן. בדרך כלל עם חיבור עם שירותים כמו cloudflare או letsencrypt כדי להשיג TLS וכדומה (בחינם).
    יש לסייג שזה זול רק בשימוש עם מערכת הפעלה לינוקס (זה הנפוץ ב99% מהמקרים, אמנם יש אפשרות גם להתקין בכל מיני דרכים WIN לבד, אבל כשמראש הספק מאפשר שימוש בWIN בצורה חוקית, זה מעלה את המחיר בהרבה מאד, גם בגלל שזה בדרך כלל דורש מחשב חזק יותר, וגם בגלל שזה עולה כסף בנפרד).
    ישנן עוד מעלות וחסרונות אבל זה הבסיס.

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

    חסרונות:

    1. יקר יותר בפער, למרות שגם בזה יש ספקים שנותנים בסיס בחינם מתוך ההנחה שכשתגדלו ותצרכו יותר תשלמו (או שתתרגלו לפלטפורמה וגם בפרויקטים גדולים יותר תשתמשו בזה, וזה מתחבר עם חסרון מספר 2 שהוא חסרון אדיר מימדים בעיני).
    2. צריך לבנות מראש או להתאים את הפרויקט מקצה לקצה כדי להשתמש בשירות, לפחות בחלק מהתצורות של השירותים האלו (למשל בcloud functions) או לבחור במסגרת פיתוח שמתאימה את עצמה לזה (כמו nuxt.js בגירסה האחרונה), וככל שהשירות פחות מצריך פיתוח מראש בהתאמה לפלטפורמה, כך מחירו יעלה בהתאם.
    3. הדרך להשתמש בשירות הזה, תמיד תבוא עם עוד שירותים בתשלום.. כמו אחסון של DB במקרה של functions כמו lambda.
      וזה מכיון שהשירות רק מפעיל את הקוד, כלומר הרעיון בבסיס השירות הוא שהם מספקים רק הפעלה של הקוד, אבל לא אחסון של נתונים או קבצים. זה לא מחשב שאתם מקבלים, זה שירות שמפעיל את הקוד שכתבתם, ואם השירות לא באוויר - הקוד לא באוויר.
      ההמשך של הרעיון הוא להשתמש בשירות אחר שמספק אחסון נתונים (למשל) ולחבר בין שני השירותים.
    4. משאיר את המשתמש חסר ידע לחלוטין (הסימון של זה כחסרון הוא לטעמי האישי בלבד, ועל זה אפשר להוסיף שזה גם מצריך רכישת ידע - למידת השירות).

    מעלות-הפוך מהחסרונות בסוג שירות מספר 1:

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

    --

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

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


  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    @dovid
    JS:
    https://1loc.dev/
    https://javascript.plainenglish.io/20-javascript-shorthand-techniques-that-will-save-your-time-f1671aab405f
    https://www.30secondsofcode.org/
    https://github.com/trekhleb/javascript-algorithms
    CSS:
    https://csslayout.io/
    bash\shell
    https://linuxcommand.org/
    אבטחת מידע:
    https://github.com/riramar/Web-Attack-Cheat-Sheet
    https://cyber-eliya.com/ (בעברית)
    זה מה שכרגע נזכרתי או שמרתי ממה שראיתי בעבר, אם יהיה עוד אשתדל לשתף.


  • CSS - הדפסת דף אינטרנט עם דפים בגדלים שונים
    5 5566brs

    @yossiz אמר בCSS - הדפסת דף אינטרנט עם דפים בגדלים שונים:

    לפי ה-spec הזה (שהוא עדיין טיוטה - working draft) אמור להיות אפשרי לעשות משהו כזה:

    <p style='page: p1;'>page1</p>
    <p style='page: p2;'>page2</p>
    
    @page p1 {
        size: A4;
    }
    
    @page p2 {
        size: A5;
    }
    

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

    זה התחיל לעבוד בכרום.
    דוגמה:
    multiple-sizes-in-print.html

    אפשר גם לשנות את השוליים בהתאם לגודל כל דף.


  • איך לבנות שרת מיילים?
    5 5566brs

    שרת מיילים ששולח או שמקבל?

    לשולח - כמה טיפים שיעזרו:
    בדוק שיש לו אפשרות להוציא תקשורת מפורט 25.. (תיקון טעות: אל פורט 25).
    אם אין לדומיין שבשמו אתה שולח רשומת ptr, גוגל ידחו שליחה אליהם עוד בשלב המגעים עם השרת שלהם.
    כדאי לדאוג להגדיר spf, dkim, dmark כראוי (רשומת TXT עם הגדרות הIP/דומיין שמורשה לשלוח וכדו', מפתח פומבי שמור ברשומתTXT בתוך סאב דומיין ייחודי וחתימה של המייל עם המפתח הפרטי, רשומת TXT עם הגדרות מי מקבל דיווח על הפרה של הרשאות, בהתאמה).
    זה הבסיס, יש עוד המון טריקים שיכולים לעזור בהרבה כיוונים.

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

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


  • פוסט שיתוף תוכן | יישום רשימה שחורה בשרתי node.js
    5 5566brs

    לא מזמן נתקלתי בתכונה חמודה שנוספה לאובייקט net - המודול המובנה בnode.js לטיפול בתעבורת רשת.

    האובייקט שנוסף נקרא BlockList, והוא מאפשר לשמור ולעדכן (באופן חד-כיווני) רשימה "שחורה" של מספרי IP או טווח של מספרים כאלו, בצמוד לאובייקט net.

    ומה קורה כשמתקבלת בקשה בשרת ממספר שנמצא ברשימה הרשחורה? - טוב ששאלתם: כלום.. כלומר, קורה בדיוק מה שקורה כשמספר אחר שולח בקשה דומה.

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

    אז איך זה יכול לעזור לנו לממש את החלומות על מערכת מפולטרת ומאובטחת שתמיד חלמנו לפתח?
    אז זהו שלא ממש עוזר, אבל נחמד זה כן.

    קוד בסיסי לדוגמה עבור המודול HTTP:

    const http = require('http');
    const net = require('net');
    let server = http.createServer((req, res) => {
        //console.log(`source ip: ${req.socket.remoteAddress} ,BlockList rules: ${res.socket.server.BlockList.rules} ,ip match rules: ${res.socket.server.BlockList.check(req.socket.remoteAddress)}`);
        if (server.BlockList.check(req.socket.remoteAddress)) {
            res.statusCode = 403;
            return res.end();
        }
        res.end('hello FILTERED world!')
    
    });
    const BlockList = new net.BlockList();
    BlockList.addAddress('127.0.0.1', 'ipv4');
    server.BlockList = BlockList;
    server.listen(8080, '0.0.0.0');
    

    ובשימוש בexpress ניתן להוסיף middleware:

    app.use((req, res, next) => {
        if (req.socket.server.BlockList.check(req.socket.remoteAddress)) {
            return res.status(403).end();
        next();
    });
    
    

    כמה נקודות:

    1. עבור השימוש בתכונה יש צורך לעדכן את Node לגירסה 15.x באמצעות כלי האקרובטיקה האהוב עליכם.
    2. כדי שזה יעבוד, יש צורך להוסיף לפונקציה listen() מספר של host שמאזין לבקשות הנשלחות. אם לא תעשו את זה, אלא תשאירו את הפרמטר ריק, מה שיקרה הוא שמספרי IPV4 לא יתאימו לכללים שהוספתם, בגלל מנגנון שנקרא dual-stack support, שהופך מספרי IPV4 למשולבי IPV6 (ייתכן שזה באג, אבל זה המצב כעת).
    3. אם אתם משתמשים בnginx ודרכו הגישה לNode, בדרך כלל הגישה לIP של שולח הבקשה הוא דרך הheader x-forwarded-for.
    4. כפי שציינתי לפני כן, אין אפשרות להוציא מספר שנחסם מהרשימה. אבל סביר להניח שאפשר לפתור את זה איכשהו.. או אפילו לכתוב modoule חדש שיעשה בדיוק את זה, ולתרום אותו לאנושות.
    5. את החסימה בפועל תצטרכו לממש בעצמכם.
    6. בדוגמה שצורפה החסימה היא באמצעות הודעת שגיאה 403. אפשר גם להוסיף קאפצ'ה, ומנגנוני זיהוי לבוטים, ושמירה של המידע בDB לשימוש עתידי, ועוד ועוד כיד הדמיון..

    לחסום את אלו שברשימה השחורה באופן "מקצועי", כלומר לחסום את האפשרות ליצור socket עם השרת (בשונה מהקמת סוקט ושליחת תוכן בתוך הסוקט, כשהתוכן כולל הודעת חסימה), באמצעות REJECT או DROP (מונחים שמתייחסים לתעבורת הTCP: שליחת הודעת ניתוק בעת ניסיון ליצור סוקט, או חוסר תגובה לניסיון כזה, בהתאמה) לא ניתן באמצעות הprocess של Node עצמו (וגם לא באמצעות python לדוגמה) בלי התממשקות עם מערכת ההפעלה באופן כלשהו (בlinux התממשקות עם netfilter, ובwin עם winsock), מכיון שמערכת ההפעלה היא זו שמקימה את החיבור, ומעבירה את השליטה בsocket שהוקם לnode לאחר שהחיבור כבר הוקם.
    ניתן לקרוא בנושא למשל כאן.

    אמנם עדיין נוכל לטרוק להם את הדלת בצורה לא נעימה בכלל, עם הקוד הזה:

    req.socket.destroy()
    

    למהדרין ניתן בקלות להוסיף קוד שיריץ פקודה בiptables (או netsh עבור WIN) שתבצע את החסימה ולא תאפשר ל"שחורים" לפתוח סוקט עם השרת, אבל שני פרטים כדאי לזכור:

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

    השאלות שנשארו פתוחות:

    1. האם זה לא משהו שיכולתם לממש בעצמכם?
    2. איזה שירותים לדוגמה מאפשרים את השימוש בתכונה הזו?

    אשמח למידע בתגובות.

    קישור לפרטים נוספים באתר הדוקו של Node.js

    קישור למימוש הפנימי של התכונה בדף Node בgithub


  • קבלת תאריך עברי של היום בשפת JS
    5 5566brs

    בJS גם אפשר, מאמין שיש דרך יותר מסודרת ונכונה, זה מה שיצא לי כעת:

    const hebm = ['תשרי', 'חשון', 'כסליו', 'טבת', 'שבט', 'אדר א', 'אדר ב', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];
    const hebc = 'אבגדהוזחטיכלמנסעפצקרשת'.split('');
    const toObj = a => Object.fromEntries(a.map((e, i) => [i + 1, e]));
    const [mobj, cobj] = [hebm, hebc].map(toObj);
    const toHebCount = n => String(n).split('').toReversed().map((e, i) => cobj[i ? (i * 9) + Number(e) : Number(e)]).toReversed().filter(Boolean).join('"').replace('י"ה', 'ט"ו').replace('י"ו', 'ט"ז').padEnd(2,"'")
    
    const [d, m, y] = Intl.DateTimeFormat('en-u-ca-hebrew', { year: '2-digit', month: 'narrow', day: 'numeric' }).format(new Date()).split(' ');
    console.log(d, m, y);
    console.log(toHebCount(d), mobj[m], `תש${toHebCount(y)}`);
    

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

    const getHebDate = date => {
        const [mobj, cobj] = [['תשרי', 'חשון', 'כסליו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'], 'אבגדהוזחטיכלמנסעפצקרשת'.split('')].map(a => Object.fromEntries(a.map((e, i) => [i + 1, e])));
        const toHebCount = n => String(n).split('').toReversed().map((e, i) => cobj[i ? (i * 9) + Number(e) : Number(e)]).toReversed().filter(Boolean).join('"').replace('י"ה', 'ט"ו').replace('י"ו', 'ט"ז').padEnd(2, "'");
        const [d, m, y] = Intl.DateTimeFormat('en-u-ca-hebrew', { year: '2-digit', month: 'narrow', day: 'numeric' }).format(date || new Date()).split(' ').map(Number);
        return `${toHebCount(d)} ${m > 5 ? [0, 3, 6, 8, 11, 14, 17].includes((5700 + y) % 19) && [6, 7].includes(m) ? m === 6 ? "אדר א'" : "אדר ב'" : mobj[m - 1] : mobj[m]} תש${toHebCount(y)}`;
    }
    
    console.log(getHebDate(Date.now() + 1000*60*60*24*3));
    

  • פתיחת קובץ מקומי דרך JS ב-HTML
    5 5566brs

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


  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    מוכר, אבל ..
    https://github.com/sindresorhus/awesome


  • מה הסוד להינצל מלהשלח לספאם
    5 5566brs

    זה עובד הפוך, צריך להיות עם וותק מסוים כדי לא להכנס לספאם. אין דרך אחרת, והחימום עוזר מניסיון. (אם הכל מוגדר נכון)
    https://www.google.com/search?q=warming+up+an+ip+address


  • הורדת הרבה תמונות מאתר
    5 5566brs

    @יוני אמר בהורדת הרבה תמונות מאתר:

    תודה רבה עם איזה פקודה עשית את זה ?

    for i in {01..60}; do curl http://www.coloring-book.info/coloring/Hello%20Kitty/hello-kitty-$i.jpg -OJL; done && zip img.zip *
    

  • לא מצליח לחפש בגוגל בכתובת URL
    5 5566brs

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


  • באיזה תוכנת אינדקס גוגל משתמשים?
    5 5566brs

    bigtable

    https://stackoverflow.com/questions/362956 (מקור)

    אגב:

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

    2. בכל תוכנות מסדי הנתונים הנפוצות (שאני מכיר) יש אפשרות לאינדקסים.


  • דרכים לאבטחת שימוש בapi
    5 5566brs

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


  • ווטצאפ API
    5 5566brs

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


  • כמה כדאי לקחת על פיתוח?
    5 5566brs

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

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


    היו שני חלקים:

    1. לא נכון לקחת כמה שמותר\צודק\ראוי לקחת, הדבר היחיד שנכון הוא לקחת כמה שיותר.
    2. התגובות מחלישות את השואל (התייחסת בעיקר לזה, אבל זה משני, לא ברור כמה פותח האשכול קשוב לאשכול בשלב זה).

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

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

    המחשבה על כמה מוצדק לקחת נובעת מטוב לב ומידות טובות. אבל מה לעשות. זה לא נכון ולא טוב.


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

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


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


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


  • הורדת הרבה תמונות מאתר
    5 5566brs

    @יוני אמר בהורדת הרבה תמונות מאתר:

    מישהו יכול להסביר לי איך עושים את זה עם המדריך הזה

    מקווה שזה הסבר מספיק טוב:
    https://send.magicode.me/send-file/file/a4009049c9e2af16adecd133fe820294c091d444/view


  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    זה שייך ל"מסתעף":
    https://github.com/awesome-selfhosted/awesome-selfhosted
    https://github.com/trimstray/the-book-of-secret-knowledge
    https://github.com/ripienaar/free-for-dev
    יש עוד כמה וכמה כאלו, השאלה אם זה גם כיוון טוב.


  • אתר למכירת קורסי וידאו. עם הגבלת כניסות ליוזר.
    5 5566brs

    @אבי-203 אמר באתר למכירת קורסי וידאו. עם הגבלת כניסות ליוזר.:

    איך אני חוסם למשל שלא יהיה מישהו אחד ישלם ויתן את היוזר שלו לכל אחד

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

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


  • Android studio
    5 5566brs

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


  • איך לקמפל JSON לתוך EXE
    5 5566brs
    1. אפשרי להצפין את הקובץ, עם מפתח סטטי שנמצא בתוך הexe.

    2. אפשר לשמור את המידע הזה בregistry, או לשמור במיקום קבוע בתוך %localappdata% וכדומה, המיקום תלוי אם זה גלובלי למחשב או לכל משתמש בנפרד.
      אין בעיה בזה שתוכנה יוצרת קובץ במחשב, זה הגיוני ונורמלי.

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

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

  • 1
  • 2
  • 3
  • 4
  • 1 / 4
  • התחברות

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

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