@0772637000 אסור למנוע ניוד, ויש קנסות גם על הפקעת מחירים שמונעת ניוד (לכן הרבה כוכביות הן רק להשכרה, כדי שלא תוכל להכריח אותם לנייד אותו).
הענין הוא שכל זה דוקא אם הקו ברשותך, כאן הקו בכלל לא ברשותך הוא שלהם לגמרי (לא נכנס לאיך הגיע אליהם, רק לטענה שהמחיר לא חוקי) ואף אחד בעולם לא יכול לחייב אותם להביא לך אותו, הם יכולים למכור אותו גם במיליונים אם יהיו קונים, והם יכולים גם לתת אותו לאחר בחינם.
עידו300
-
בעיה | מספר עבר לימות המשיח -
בירור | תוספי AI לvscodeאשמח לקצת סדר בענין.
איזה יש? מה הם עושים? -
בירור | קובץ הוראות לצורת עבודה נכונה בjsלאור המסקנות מהשרשור הקודם, בקשתי מAI שינסח לי כללים לעבודה נכונה + הוראות לAI.
מאחר ואני לא סומך על AI כזה או אחר הייתי שמח אם מישהו יוכל לעבור על זה לראות שכל תקין ונכון, וכמובן אם יש הערות.
מעולה.
הנה ערכת כללים מותאמת במיוחד לפרויקט שלך (Node.js + MySQL + API + מערכת טלפונית).
לא דוגמטית, לא בירוקרטית — אבל מקצועית, נקייה ובטוחה.
ערכת כללים לפרויקט API (Node + MySQL)
1️⃣ ארכיטקטורה (חובה)
שכבות קבועות
Route → Controller → Service → Repository → DB
אסור:- SQL בתוך Controller
- לוגיקה עסקית בתוך Route
- בדיקות ולידציה בתוך Repository
אחריות כל שכבה
Route
- ניתוב בלבד
- חיבור middleware
Controller
- request / response
- קודי סטטוס
- העברת נתונים ל-Service
Service
- כל הלוגיקה העסקית
- בדיקות תנאים
- חוקים מורכבים
- שילוב כמה repositories
Repository
- שאילתות בלבד
- אין if עסקי
- אין החלטות
2️⃣ ולידציה (קריטי)
כלל ברזל:
כל קלט חיצוני עובר ולידציה לפני שהוא מגיע ל-Service.
חובה:
- שימוש בסכמה (Zod / Joi)
- בדיקה של ערכים ריקים
- בדיקת טיפוסים
- בדיקת טווחים
- בדיקת פורמט (טלפון, זמן וכו')
אסור:- לבדוק טיפוס בתוך Service
- לסמוך על הלקוח
3️⃣ עבודה עם SQL
חובה:
Prepared Statements בלבד
שימוש ב־? placeholders
אין שרשור מחרוזות ל-SQL
אין הכנסת ערכים ישירות ל-ORDER BY
אסור:const sql = "SELECT * FROM ads WHERE phone = " + phone;
כלל חשוב נוסף
אם שאילתה חוזרת על עצמה ביותר ממקום אחד →
להוציא אותה ל-Repository פונקציה ייעודית.
4️⃣ שגיאות (Error Handling)
סוגי שגיאות
Business Error
- משתמש חרג ממגבלה
- ערך לא חוקי לפי כללי מערכת
- פעולה כפולה
→ מחזירים 400 עם הודעה ברורה
System Error
- DB לא עונה
- קריסה לא צפויה
- בעיית קישוריות
→ לוג ERROR
→ מחזירים 500 כללי
כלל ברזל:
לא לבלוע שגיאות.
אסור:
catch (e) {}
5️⃣ לוגים
רמות:
- INFO → אירועים עסקיים תקינים
- WARN → חריגה לא קריטית
- ERROR → תקלה מערכתית
אסור:
- console.log בפרודקשן
- לוגים מפוצצים בלי צורך
6️⃣ מבנה פונקציות
כללים פשוטים:
פונקציה עושה דבר אחד
שם מסביר למה היא קיימת
עדיף פחות מ-30 שורות
יותר מ-3 פרמטרים? שקול להעביר אובייקט
7️⃣ שמות
אסור:
- data
- temp
- info
- manager
- handler
כן:
- createAdIfAllowed
- validateRingModeForPublisher
- findAdsByPhone
שם צריך להסביר כוונה.
8️⃣ Hard Coding
אסור:
- ערכי DB בקוד
- URL בקוד
- מפתחות API בקוד
- מספרי קסם (magic numbers)
כן:
- משתני סביבה
- קובץ config מרכזי
9️⃣ בדיקות (בצורה ריאלית)
לא צריך 3 רמות לכל פונקציה.
כן צריך:
בדיקות לפונקציות לוגיקה מורכבות
בדיקות למקרים חריגים
בדיקה לפחות ל-happy path
ביצועים וניקיון
לא לבצע שאילתות מיותרות
לא לטעון הכל לזיכרון אם לא צריך
לא לבצע לולאות על תוצאות DB בלי סיבה
להשתמש ב-LIMIT כשאפשר
1️⃣1️⃣ אבטחה (קריטי למערכת טלפונית)
כל קלט מסונן
אין echo של שגיאת DB
אין חשיפת stack trace
Rate limit ל-API אם רלוונטי
לא לסמוך על client-side validation
1️⃣2️⃣ עקרון הזהב
אם אתה שואל את עצמך:
"איפה לשים את הקוד הזה?"
שאל:
- האם זו החלטה עסקית? → Service
- האם זו שאילתת DB? → Repository
- האם זו בדיקת קלט? → Validator
- האם זו תגובת HTTP? → Controller
גרסה מקוצרת במיוחד (לשים מול העיניים)- אין SQL מחוץ ל-Repository
- אין לוגיקה מחוץ ל-Service
- אין קלט בלי ולידציה
- אין שרשור SQL
- אין בליעת שגיאות
- אין Hard Coding
- פונקציות ברורות וקצרות
- לוגים ברמות נכונות
או באנגליתAI_RULES.md
תודה
-
בירור | קיבלתם פעם שיחה ממספר טלפון 0 ?@מנעמע אין ספק שזה לא חוקי, אא"כ בעל הקו אישר לך לחייג מהמספר שלו.
-
שיתוף | נפלתי לוירוס של תוכנת כופר, תקראו ותלמדו להיזהר@שלמפוק לא יעזור להדליק ולכבות 20 פעם.
לכבות וזהו!לפעמים הוירוס לוקח את הזמן עד שהוא עובד ועושה את כל העבודה, לפעמים הוא סתם ישן כדי להרדים את האדם ואז מתעורר ועושה מה שצריך.
בקיצור, לא להדליק.
אני מסכים עם @צדיק-תמים מי שלא מתמצא לא כדאי להעיר הערות ולהביא עצות, הוירוסים הרבה הרבה יותר מתוחכמים ממה שחושבים.
לוירוס בקלות יכולה להיות גירסא למק/לינוקס/וינדוס שתרד לפי סוג המחשב שרוצים להדביק.
אם לא הורדת כלום אלא רק קפצה לך ההודעה סביר להניח שלא קרה כלום (נכנסת לאחד הקישורים כאן?) למרות שתמיד יגלו איזו פרצה שעוקפת ארגזי חול (היו דברים מעולם) ופוליסים למיניהם. בכל זאת כדאי להריץ אנטי וירוס בגרסת לייב, למרות שאני לא יודע איך עושים את זה במק.
-
בקשת מידע | שליחת גליון להדפסה ללא אפשרות הורדה ושליחה@חכמון אני אישית לא מבין את ענין המומחים דוקא, אבל נניח.
-
בקשת מידע | חיבור ימות המשיח לאתר שלי@aiib יש אותו מוכר בזול
yechidot1@gmail.com -
המלצה | אתר חדש אתר לכל פריטי הגרפיקה (רובם לעיצוב ספרי קודש) בחינם ולשימוש מסחרי!!@kasnik @יעקב-המלך יש את הקישור הזה
@בנימין-כפיר אז מה זה הקישור הנ"ל שפורסם כאן?

-
שיתוף | נפלתי לוירוס של תוכנת כופר, תקראו ותלמדו להיזהר -
שאלה | במערכת של ימות המשיח. מישהו יודע להסביר מה עושים כדי לבנות מערכת של צינתוקים לרשומים במערכת? -
המלצה | סקריפט לגיבוי ושחזור מערכתהודעה חשובה
עקב זה שמגבלת הזמן היא נמוכה משמעותית ממה שציפיתי (6 דקות במקום חצי שעה) וא"כ זה מתאים רק למערכות קטנות אני משהה את הפרוייקט (אם מישהו בכל זאת רוצה לקנות בשביל מערכת קטנה מוזמן...) עד שאצליח להתאים אותו למערכות גדולות - מי שיש לו מערכת גדולה ומוכן לנסות את זה עליה, אשמח שיצור איתי קשר במייל stamandsefer@gmail.com.
יצרתי (בשיטס + גוגל סקריפט ) סקריפט לגיבוי ושיחזור המערכת.השקעתי בפרויקט הזה המון שעות ואני מוכר אותו בסכום סמלי של 50 ש"ח ח"פ, ככה כל מי שרוצה יוכל בקלות לגבות ולשחזר את המערכת.
עבדתי המון כדי שהיא תהיה נגישה וקלה להתקנה.
לכן, המערכת נמכרת כמו שהיא (as-is) אין לי אחריות על התוצאות ולא יתקבלו תלונות או החזרים! כמובן אפשר ליידע אותי על באגים, אבל לא מבטיח לעשות עם זה משהו.היתרונות:הכל מגובה באופן אוטומטי בדרייב (ממליץ לפתוח דרייב מיוחד בשביל זה).
הקבצים מגובים כמו שהם ללא שינויים אתם יכולים לראות/להשתמש בהם.
מגובים גם קבצי המטא דטה, לפחות אלו שאני מכיר.
ניתן לגבות ואז להכניס טוקן של מערכת אחרת ואז "לשחזר" אליה, מה שיתן העברת מערכת למערכת אחרת בקלות.
בדרך הנ"ל ניתן ליצור "תבנית" של מערכת לשימושים עתידיים.
חסרונות:גוגל סקריפט מוגבל בזכרון, לכן א"א להוריד קובץ ששוקל מעל 50 מ"ב (ליתר דיוק ירדו רק 50 מ"ב מתוכו) ולכן המערכת לא יודעת להתעסק איתם, גם אם ירדו לדרייב, לא יעלו בחזרה לימות המשיח.
גוגל סקריפט מוגבל ב6 דקות זמן ריצה, לכן אם יש מערכת מאוד גדולה ועמוסה, יתכן שהזמן ריצה לא יספיק ולא הכל יגובה/ישוחזר.
מכיון שאני לא מחזיק מערכות גדולות ומורכבות המערכת לא נוסתה על כאלו... אבל על שלי היא עבדה מצוין.
בפעם הראשונה צריך להיכנס לסקריפט ולהריץ את הפונקציה installOnEditTrigger, מכאן הכל מתבצע דרך השיטס.
באשראי או בביט לאחר התשלום תועברו לדף להעתקת השיטס. ניתן לשלם גם בהעברה בנקאית (לשלוח מייל).מי שרוצה לנסות את השיטס לפני הקניה מוזמן ליצור איתי קשר, ובתנאי, שאם הסקריפט עובד טוב על הקו שלו הוא מתחייב לקנותו.מיותר לציין שזה לשימוש אישי ואין להעביר לאדם אחרלכל תקלה בקניה ניתן לשלוח מייל לstamandsefer@gmail.com -
בקשת מידע | וצאפון בימות המשיח נחסם מיד ע"י ועדת הרבנים@קוקר מבזק זה ריסיילר של ימות המשיח (זה בעצם ימות המשיח בעצמם רק שמישהו אחר אחראי על זה) וזה מאושר על ידי הועדה
-
בקשת מידע | מערכת לקמפיין פוריםנראה לי אחד מאלה, לא?
https://f2.freeivr.co.il/post/123
https://f2.freeivr.co.il/post/90 -
בעיה | זקוק בדחיפות לעזרת המומחים ב-stripe (ספרייט)@hartkhartk כתב בבעיה | זקוק בדחיפות לעזרת המומחים ב-stripe (ספרייט):
@צדיק-תמים כתב בבעיה | זקוק בדחיפות לעזרת המומחים ב-stripe (ספרייט):
סליקה קלאסית שיש לכל אתר מכירות
שאיך עושים את זה?
יוצרים קשר עם חברה כמו נדרים פלוס/טרנזילה/קארדקום וכו' ומבקשים לפתוח חשבון סליקה - ומודיעים את המטרה, זה חשוב מאוד! אחרת זה יכול להיות הלבנת הון!
לך יש מורכבות אחר כך להעביר את הכסף למוכר כמובן
מה באמת הפיתרון למורכבות הזו?
לעשות להם העברה בנקאית...
-
פיתוח בטוח@צדיק-תמים תודה
@צדיק-תמים כתב בבירור | פיתוח בטוח:
רק מציין לגבי sql injection שלא "משתדלים להימנע" אלא מי שעובד לפי הספר זה לא קורה לו אף פעם, ומי שזה קורה לו כנראה שיש לו בקוד עוד המון בעיות
התכוונתי שמשתמשים בPDO או בפונקציה ההיא שמכינה את השאילתא, לא מכניסים קלט של המשתמש ישירות, בעקרון זה אמור להספיק, אבל כל פעם מוצאים פרצות חדשות...
-
בירור | בינה מלאכותית שאפשר לאמן/להכניס טקסט ויש לה API@yehokarpel האמת שהוא היה האופציה הראשונה שלי, אבל לא מצאתי שיש לו api, טוב שאתה אומר.
-
שיתוף | נפלתי לוירוס של תוכנת כופר, תקראו ותלמדו להיזהר -
בקשת מידע | ארדואינו, מישהו מנוסה?@אלף-שין אני רק רוצה להבהיר, לא אמרתי שהוא לא יענה על השאלות, גם לי הוא ענה על שאלות ובירורים אבל זה היה למטרת קניה.
סתם להתקשר אליו כדי לברר פתרון לבעיה, יתכן והוא ידרוש על זה תשלום, כי זה חלק מהשירותים שלו... ואני חושב שזה לא יפה להתקשר רק בשביל זה. אני אישית לא אוהב שמתקשרים אליי רק בשביל לברר פרטים או עזרה ובסוף לא קונים כלום, הזמן שלי יקר וחשוב לי גם אם אני לא אומר את זה בפועל ללקוחות. -
בקשת מידע | מייל פון בפלפון כשר@מנעמע תתקשר אליהם, יפנו אותך למילוי טופס.
025381858