אהבתי את התהילים!
כל הכבוד, אתר ממש יפה ובעזרת השם שלא יהיה שימושי כלל וכלל
צבי-ש
-
אתר חדש להתראות צבע אדום עם התרעות מקדימות וסינון לפי ערים -
איך למדתם לכתוב קוד - סקרהתחלתי משיחת טלפון בקורונה מחבר שהסביר לי (טלפונית, ואני במחברת) על
<?phpהמשכתי ב w3schools וב webmaster על תכנות בphp רק לפי מה שהייתי צריך באותו רגע (לולאה - אז נלמד על לולאה וכדומה) , ולא כקורס אמיתי
כמובן כל הזמן חיפושי גוגל ותשובות ב stack overflow ודומיו
אחרי זה התקבלתי לעבודה המסודרת הראשונה, שם לקחתי קורס אינטרנט לפייתון ועשיתי חלק קטן מהקורס, והשאר שוב שאלות בגוגל, או ללמוד על דברים ספציפיים
אחרי זה הלכתי לעבודה הנוכחית כיום, ששם כבר התחלתי עם פייתון (תודות לdevאופס שלא הסכים לי לכתוב בphp)
ובמשך הזמן המשכתי אל nodejs קצת וכדומה, שוב, ללא קורס אמיתי.אני חושב ששיטה זאת הייתה הכי טובה בשבילי כי לא הייתי מצליח להושיב את עצמי ללמוד חומר בצורה טובה, כן אני יודע ומיצר על זה שלפעמים יש דברים בסיסיים או ידע מתחת למכסה המנוע שאני לא מכיר טוב כמו שהייתי רוצה
כן מנסה כל הזמן לשמוע פודקאסטים, ולקרא דוגמאות קודים וכדומה או ספריות קצת איך הם עובדות כדי להכיר יותר ולהבין עוד
-
האם נטפרי חוסמת/משבשת/קוטעת חיבור SSE (Server Sent Events)?
כרגע זה עם 502 בכלל
(עריכה) חזר לעבוד
-
דרוש יעוץ (אפשר בתשלום) לתכנון פרויקט בJS@dovid מציע שירות כזה, תוכל לבדוק עוד פרטים בחתימה של כל הודעה שלו
-
תכנון טבלאות לפרוייקט@dovid כתב בתכנון טבלאות לפרוייקט:
הוא כותב שגם אחרי גיבוב זה קל לניחוש בגלל שהקלט קטן ומוגדר מאוד, זה בעיה רצינית
אפשר לשמור מגובב מספר-שדירג_מספר-מדורג, ועם עמודה ליד מה הדירוג,
זה יעבור האשינג והלוגיקה תהיה דומה, וזה יכפיל בהרבה את מספר האופציות שצריך לנחש (זה עדיין יהיה מוגבל, אבל טוב יותר משמעותית), אם חשוב לדעת כמה דירוגים יש לבן אדם מסויים (כמו שנכתב בהודעה של פותח השרשור), זה יסרבל את התהליך, כי יצטרכו לשמור את הנתון הזה בנפרד, ולעדכן אותו על כל שינוי עם שאילתה ייעודית, בגלל שלא יוכלו לעשות פשוט count על מספר עמודות מול הdb, כי לא נשמר שם מסודר המספר שאותו דירגו, (ואז יצטרכו ללכת כמו הלישנא בתרא שלו, בכל דירוג לעדכן את הפרטים) -
תכנון טבלאות לפרוייקט@eido כתב בתכנון טבלאות לפרוייקט:
הדירוג צריך להיות אנונימי, אחרת לא ידרגו.
מה שמשאיר אותנו עם מספר טלפון (שעליו יהיה הדירוג) והדירוג עצמו, מכיון שא"א להשאיר רק דירוג, כי אז הוא לא ישתקלל נכון עם דירוגים הבאים, צריך להשאיר את מספר המדרגים והדירוג הכולל כדי שיהיה אפשר להוסיף עליו את הדירוג החדש ולשקלל מחדש.
אתה רוצה לאפשר לכל אדם להקיש כמה דירוגים שהוא רוצה על כל אחד?
אם ראובן ירצה להתנכל לשמעון, הוא פשוט יתקשר 10 פעמים וידרג אותו 1, וזהו?אולי כדאי לשמור מי דירג ומתי, ולאפשר לו לדרג שוב רק בעוד חודש נגיד, או לאפשר לו לערוך את הדירוג ל2 אם הוא פתאום כן קיבל שירות וכדומה
בשביל להשאיר את זה אנונימי אתה יכול או לשמור מספר ולא להציג אותו לאף אחד (אנונימי כלפי המאזינים, שלהם אין דרך לדעת מי דירג ומתי),
או לשמור האשינג של מספר שדירג, ולבדוק האם יש לו דירוג קיים לפי ההאשינג, להשמיע לו את הדירוג הקיים ולאפשר לערוך, או אם לא קיים, להשאיר דירוג חדש
ככה אתה גם לא יודע מי זה, אבל אתה יודע שx כבר היה או לא היה(האשינג היא פונקציה שלוקחת מחרוזת כלשהיא, ומוציאה מחרוזת אחרת, עם מספר כללים
1 אי אפשר לחזור אחורה למחרוזת המקורית,
2 כל קלט שתכניס, ייצא פלט אחר.או במקרה שלנו, אם תכניס לפונקציה 0521234567 אתה תקבל למשל אבגדהו,
תשמור בdb ״אבגדהו״ דירג 5 את מספר פלאפון xyz,
אבל אתה לעולם לא תוכל לחזור אחורה מ אבגדהו אל 0521234567,
כשתרצה לבדוק האם הוא כבר דירג, ומה הדירוג שלו, תוכל להכניס שוב את 0521234567 אל הפונקציה, לקבל שוב את אבגדהו ועליו לבדוק בdb את הנתונים ) -
הפעלת תהליך נוד מחדש לקובץ ספציפי - הגיוני?@ששא כתב בהפעלת תהליך נוד מחדש לקובץ ספציפי - הגיוני?:
הספרייה עובדת שהוא שומר מידע על כל שיחה לפי מזהה השיחה שנשלח מימות, ולכן אם מפעילים מחדש אז כל המידע הזה נמחק ולכן השיחה מתחילה מחדש
נכון, כי זה נשמר לקואלית, לא מורכב לשייך את כל הנתונים שיישמרו בredis או מסד חיצוני מהיר אחר, ולא יורגש כמעט ההבדל במהירות במהלך השיחה, וזה כן יישמור נתונים אחרי ריסטארט
את מה שהוא הביא לך אני לא מכיר, אבל אם את עיקר הבעיה אתה יכול לפתור עם שמירה של הנתונים חיצונית, אז מה נשאר עוד?
-
הגדרת תנאים שונים שלא יזוהו כבוטים בקלאודפלר@ששא כתב בהגדרת תנאים שונים שלא יזוהו כבוטים בקלאודפלר:
(את ה UA אפשר לזייף)
לא הבנתי
user agnet הוא פרמטר שכל אחד מחליט מה למלאות שם, אי אפשר לסמוך על זה כאבטחה
-
וואו! מדהים! speedy ai -מפסיקים לחכות על הקו לנציגי שירותhttps://www.speedyai.co.il/terms-of-service#terms-section
4.2 המידע יישמר במאגרי החברה לפרק זמן שייקבע לפי שיקול דעתה, לצרכים תפעוליים, אבטחת מידע, שיפור השירות, או בהתאם לדרישות הדין. אין כל התחייבות למחיקת מידע באופן אוטומטי או להפיכתו לאנונימי.
-
ימות המשיח השמעת הודעת קמפיין בכניסה לשלוחת API - מי מכיר?לא מוצא כרגע את התיעוד של שמיעת הודעת קמפיין כשלוחה רגילה
אבל השמעה עם api זה לכאורה זה ${templateId}.wav
אם לא עובד אנסה לבדוק לעומק -
ימות המשיח השמעת הודעת קמפיין בכניסה לשלוחת API - מי מכיר?אתה יכול בapi עצמו להשמיע את ההקלטה של הקמפיין,
אתה יכול לעשות שלוחת ביניים שתשמיע את ההקטה, ואז תעביר אל השלוחת api -
פיתוח אפליקציית אנטרנט + מסד נתונים בדוקרתאר לעצמך שעוד שבועיים אתה צריך לתת גישה למתכנת לקוד/ לשרת, והוא ירצה להריץ לוקאלית את המערכת, למה שיריץ הכל, וישים env לכל הפרויקטים, והגדרות ניתוב דומיינים להכל, כשהוא צריך רק פרויקט אחד קטן של תזמון משימות?
אם יש לך חלק בפרויקט שאחראי על שלוחת api בקו, וברוך השם יש שם עומס עם מאות מאזינים בו זמנית, אתה תרצה להיות יכול לשכפל רק את החלק הזה, עם מאזן עומסים, ולא את כל הפרויקט כולו ולהסתבך עם זה
אם אחד מהם נופל מקריסה, למה שכולם ייפלו?
אם אתה רוצה לבדוק כמה זיכרון / עיבוד וכדומה צורך כל קונטיינר, זה פשוט יותר,
אם אתה רוצה לעדכן קוד בחלק אחד, למה לעשות בניה מחדש ולהפיל אותם לכמה שניות כשאפשר רק אותו -
מיקום קבצי nodejs בשרת@eido כתב במיקום קבצי nodejs בשרת:
@צבי-ש תודה
אני מדבר על ענין עקרוני, איך נכון לעשות. האם יש בעיה לשים אותם שם, או שאין בעיה.עכשיו בדקתי והם בהחלט נגישים, כל הקוד נגיש למי שיודע את הכתובת והשם שלהם. אבל בשביל זה יש vhost או htaccess, לא?
למה לך לשים קבצים רגישים בתיקיה חשופה לבחוץ, ואז להגן?
כשאתה יכול להפריד כל פרויקט מסודר לתיקיה משלו -
מיקום קבצי nodejs בשרת- תיקיית public_html הוא בדרך כלל המקום בו אחסון אתרים (לא שרת) מאחסן קבצים סטטיים שיהיה ניתן לגשת אליהם חיצונית דרך הדפדפן, למשל קבצי html, css ובתוך זה גם קבצי js שרצים בצד לקוח.
- nodejs היא שפת תוכנה שרצה בצד שרת (לא באחסון קבצים), והקבצים שלה בדרך כלל נכתבים בjs (או ts ומקומפלים אל js) ולא נגישים חיצונית כלל.
- אם בכל זאת השירות nodejs רוצה להחזיר קבצי js הוא כמובן יכול (במקום response של json למשל הוא יחזיר קובץ), ואת הקבצים הוא מגדיר בקוד מאיפה לקחת, זה לא קשור לתיקיית public_html.
זה חשוב להבין כבסיס,
מכאן לשאלה
אם אתה יכול להריץ קוד nodejs = אתה לא על אחסון קבצים אלא על שרת אמיתי ולכן אין כל משמעות לתיקיית public_html, אלא למה שמוגדר בקודאם אתה כן רואה שקבצים שנמצאים בשרת בתיקיית public_html נגישים חיצונית, תבדוק עם nginx / אפאצי / מי שמנהל את הרשת בשרת, למה התיקייה הזאת ממופה, והאם דרכה אפשר להגיע לתיקיות אחרות (צעד אבטחתי)
-
מהי הדרך הקלה ביותר, לתזמן מראש הפעלת קוד ע"י לינק ??התלבטתי לפני שכתבתי פה את הלינק ההוא, זה לתת דג, במקום ב2 דקות לתת חכה,
הוא נתן לך פיתרון, ועל זה אני שמח.רק מרחיב קצת על החכה שנתנו פה פיתרון איתה, ומוסיף את השנקל שלי לעניין
cron הוא כלי מדהים, שמאפשר לך לתזמן את כל המשימות במערכת, לא מחייב אותך להשאיר לינק פתוח שכל מי ש״עולה״ עליו יכול להריץ לך דברים במערכת... מדוייק יותר, אמין יותר, ולא תלוי בגורמים חיצוניים, ולא רק php אלא עוד סוגי הרצות
כתבת שאתה צריך להריץ קוד b לפני קוד a, למשל בcron בשרת זה ממש קל, אם אתה רוצה שa ירוץ רק עם b יצליח, אתה כותב את התזמון, (למשל פעם בחצי שעה) ואז את הפקודות עם && בינהם, (למשל python3 b.py && python3 a.py) ואם לא איכפת לך האם b הצליח, אלא העיקר שa ירוץ אחריו, אתה מפריד עם ; (למשל python3 b.py ; python3 a.py) ואתה לא צריך לתזמן פעמיים
עוד כתבת שיש בשרת שלך רשימת cronים כבר ממתכנת שהגדיר לפני כמה שנים, יותר קל ונוח לארגן את כלל התזמונים באותו מקום, ולא כל תזמון לזכור איפה ומי אחראי עליו.
-
שירות סליקה מומלץ וקל ליישוםהטמעה איפה?
באתר שלך? בבוט שבנית? במכשיר שאתה מפתח לסליקה עם nfc?
בשליחת דפי תשלום ללקוחות?
אתה צריך שיהיה שם הוראות קבע? שמירת טוקנים? מה הצרכים שלך? -
מהי הדרך הקלה ביותר, לתזמן מראש הפעלת קוד ע"י לינק ?? -
פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
@צבי-ש אז אם יש כמה קונטיינרים, צריך לפתוח הרבה פורטים? או שיש דרך לטפל בזה?
כל שירות שמקבל קריאות, רץ על פורט אחר
ומה זה ה8090:8080 שכתבת?
בקונטיינר עצמו יש 65k פורטים אפשריים וכנ״ל בשרת החיצוני
ויש מיפוי בינהם שאומר תעביר את כל הקריאות בשרת שמגיעות אל 8090 אל הקונטיינר בפורט 8080ports: - "8090:8080" -
פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
בבניה שלו, יש תכונות שמשתמשים בהם רק לצורך פיתוח ולא בטיחותי או נכון להשאיר אותם למוצר עצמו, יש דברים כאלו?
לא מכיר משהו ברמת הדוקר עצמו, אולי ברמת פיתוח האפליקציה עצמה למשל cors או token וכדומה שתרצה להגדיר מן הסתם בקובץ env (או בחלק env שבדוקר קומפוז) למשל
environment: DEBUG: "true"@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
איך מעבירים את מבנה הטבלאות, אם בעצם מורידים את המריה ישירות מהמאגר? ואם רוצים שיגיעו טבלאות עם שורות כבר?
אתה מוריד רק את התוכנה של הdb, בפנים אתה צריך להגדיר הכל מ0 כמו בכל db שקיים.
לגבי המבנה טבלאות, בדרך כלל כשאתה בונה אפלקיציה מסודרת יש שם חלק שנועד ליצור טבלאות בdb תואמות סכמה שאתה משתמש בה, דאטה קלאס או משהו כזה.
לרוב אם המערכת צריכה נתונים ראשוניים בשביל להעלות המפתח ייבנה סקריפט שיודע לבנות את הסכמות של הטבלאות הדרושות, ויודע להכניס לתוכם את הנתונים הבסיסיים החשובים
-
פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
בכוונה לא הוספת את index.js? לכאורה גם הוא אמור להיות בפנים, לא?
בשלב מאוחר יותר ב dockerfile העתקתי אותו
COPY . .זה בעצם מעתיק את הכל,
דוקר חכם ויודע לבנות מלמעלה למטה (לפי סדר השורות) רק את החלקים שהשתנו,
ולכן קודם כל, אעתיק את הקבצים של התלויות, שמשתנים פחות, ואתקין אותם.
אחרי זה אעתיק את שאר הקוד שמשתנה יותר, והבניה תהיה חסכונית יותר@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
לאיפה? לכתובת הIP של השרת ואז יהיה אפשר להגיע לקבצים האלו דרך פורט 8080 ו8090?
אחרי שאתה מפעיל אותם, הם רצים על השרת בפורט הזה, אם אין חומת אש הם נגישים כרגע ב ip:8080 או ip:8090, אם יש חומת אש אז תפנה לפורטים האלו דומיין כדי שיוכלו להגיע מבחוץ קריאות
@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
למה צריך גם מריה וגם phpmyadmin? הphpmyadmin לא כולל גם מסד נתונים?
לא, הוא רק תצוגה
@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
כל פעם שאני מוסיף קובץ ל"אפליקציה" צריך להוסיף אותו גם בcopy בdockerfile או שדרך הvolume זה מתווסף לבד?
בעיקרון הווליום נועד יותר לחלקים בתמונה שדורשים נתונים בחוץ, למשל מיקום שמירה של קבצי הdb או הורדות או קבצים שאתה רוצה לשתף בין כמה קונטיינרים וכדומה
אפשר טכנית לא להעתיק את כל הפרויקט אלא לשים דוקר לworkfolder הראשי, אבל זה פחות מומלץ, בכל מקרה את קובץ ההרצה עצמו (index.js) ואת קבצי התלויות תצטרך להעתיק בשביל שהבניה עצמה לא תקרוס.אם אתה מוסיף קוד לאפלקיציה, נכון יותר לבדוק אותו במחשב שלך לוקאלית, ואם עובד אצלך לבנות מחדש את התמונה בשרת, להוריד את הקיימת ולהעלות חדשה
@eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:
יש הבדל בין פרודקשן לפיתוח?
באיזה הקשר?