@אבי
גם אם השדות שמורים בנפרד, אבל רוצים לתת למשתמש שדה אחת לחיפוש, שבה יוכל להכניס שם משפחה ופרטי, לא משנה הסדר, או כל אחד בנפרד.
אבל למקרה כזה (שהעמודות נפרדות), צריך לחבר את השם משפחה ופרטי ביחד (עם רווח ביניהם) ולחפש על שניהם ביחד.
@אבי
גם אם השדות שמורים בנפרד, אבל רוצים לתת למשתמש שדה אחת לחיפוש, שבה יוכל להכניס שם משפחה ופרטי, לא משנה הסדר, או כל אחד בנפרד.
אבל למקרה כזה (שהעמודות נפרדות), צריך לחבר את השם משפחה ופרטי ביחד (עם רווח ביניהם) ולחפש על שניהם ביחד.
בעיה מוזרה מאוד ב CORS.
אני מאפשר בצד שרת כך:
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTION');
res.header('Access-Control-Allow-Headers', '*');
וזה עבד כצפוי.
אך כשהוספתי לבקשה איזשהו header (לא משנה מה. אני ניסיתי authorization),
הדפדפן לא שולח בכלל את הבקשה. רק שולח בהתחלה OPTION.
בקיצור, השאלה היא, מדוע כשמוסיפים הדר (מכל סוג) לבקשה ה CORS מתחרפן. כשהורדתי את ההדר, זה עובד היטב.
@רחמים
ייתכן. אני לא זוכר במדויק.
אולי היתה בעיה הפוכה, שכל הסריאלים שלהם היו אותו הדבר, ולא יכלנו לשנות אותם.
אבל עדיין זכור לי שהיתה תוכנה להחליף הסריאל
@רחמים
לפי הבדיקה האחרונה שעשיתי (לפני כ-7 שנים), בדיסקים הפשוטים הסיניים, אפשר לכתוב את המספר הסריאלי.
איני יודע מה הפקודות. (אני גם השתמשתי בתוכנה)
@davidnead
לא!
יש לי ניסיון בזה.
אל תתפתה ליכולת להשתמש בכמה מסדי נתונים, אין שום פרוייקט בחיים האמיתיים שהחליף מסד נתונים.
הSAILS משתמש בכל מיני ספריות לא מעודכנות. כמו waterLine שזה ה ORM הכי מזעזע שפגשתי.
אני לא מדבר על בעיות של זליגות זכרון שכמעט גרמו לי להתקף לב.
וחוץ מזה, זה JS ישן שלא תומך באמת ב CLASS וכל זה, הוא מייבא את הcontrollers שלך ע"י חיפוש כל ה *.JS בתיקיה...
לאחר מעשה, זה היה לי טוב בשביל להעלות מהר (ובלי ניסיון) פרוייקט.
היום אני מצטער שאני שם.
אני ממליץ לך בחום, קח תבנית מוכנה, שזה אומר מבחינתי, מבנה תיקיות ברור.
controllers
models
DAL
ועוד. אני בעצמי לא מומחה גדול למבנה פרוייקטים.
תחליט על איזה ORM שאתה רוצה (objectiveJS או sequlizeJS)
וצא לדרך.
מסד נתונים, זה לא קשור לכאן. אני אישית אוהב PG.
תשמור על הפרדה בין ה ORM לבין בcontrollers ע"י ה DAL (אני לא סגור שזה מה שה DAL אמור לעשות. אבל תעשה שכבה כזאת).
ואז תהיה חופשי מבחינת ORM.
שרת תשתמש ב EXPRESS
אל תבנה על איזה CLI שיבנה לך. זה סתם מסרבל ולא נותן כלום בהיקפים של צוות קטן. (1 +-...)
תפריד את הצד לקוח (SPA) לפרוייקט נפרד. לדעתי. וודאי שירוץ על שרת (סטטי) נפרד על Port אחר.
בהצלחה.
ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.
ואז לא יהיה מצב של כפילות. מקסימום אתה מריץ כמה פעמים את השאילתה (לדעתי זה הפתרון הכי קל, להריץ בלולאה עם כמה ניסיונות- attempts).
(אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)
@dovid
אני מסתפק האם פרויקט כזה (וראיתי בעבר משהו דומה שעובד עם גיטהאב) מראה כמה CODE הוא כלי פשוט שלא מתאים לעבודה מקצועית (כמו שטענו כאן במקום אחר, מבחינת ביצועים כנראה), או להיפך.
כלומר, זה קצת מוזיל את הכלי בעיניי.
@יוסף-בן-שמעון
זה כבר שאלה של יעילות מסד נתונים.
בעיקרון ENUM עושים עם INT, זה כל העניין שלו. ו ORM טוב יודע לחבר לך את ה ENUM למידע מהטבלה.
אבל למען האמת פעמים רבות חורגים מזה וכותבים תוכן טקסטואלי.
זה פתח לטעויות וכמובן מוריד מיעילות. תלוי בפרוייקט.
@יוסף-בן-שמעון
העמודה צריכה להיות לדעתי INT, שתמיד תוכל להוסיף סוגי התאמות (כגון, בחירת USER, בחירת מנהל, בחירת מערכת AI וכן הלאה)
אני רואה שב PM2 יש אפשרות להגדיר באיזו גירסת NODEJS ירוץ כל תהליך
ע"י הגדרת ארגומנט interpreter
בדקתי וזה עובד טוב. בפעם הראשונה זה מוריד את הגירסה הרצויה (כנראה עם NVM) ומריץ מיד בלי בעיה.
מישהו כאן עובד עם זה? יש למישהו תובנות בעניין האם זה עובד טוב או לא.
אני מדבר גם על עצם הרצה של כמה גירסאות NODE במקביל
(מסברא לא אמורה להיות שום בעיה)
@yossiz
אני מעלה את הנושא כדי לשמוע מניסיונכם במקרים דומים.
והתשובה שלך אכן עזרה.
השאלה שלי היא גם שאני מריץ הרבה תהליכים שונים של nodejs על אותה מכונה (כל אחד הוא סרבר אחר). גם במקרה זה בעצם אפשר לטעון שזה מוריד את הביצועים.
@odeddvir
תודה. מעניין.
אך הדגשתי בשאלתי שהעניין שלי לפצל תהליכים הוא בשביל למנוע ניפוח של זיכרון (שמסיבה לא ברורה, בנקודה קריטית של עומס, התהליך לא מצליח לשחרר זכרון).
@יוס
אני בניתי בעבר תוכנה עבור איזשהו גמ"ח (אקסס).
ייתכן שיתאים לך.
(לגמ"ח זה בחינם)
NodeJS כעיקרון רץ על core אחד.
אבל יש בו אופציה של cluster שמאפשרת להריץ את אותו תהליך על כמה CPU בשיתוף ה TCP (כלומר שכל התהליכים מאזינים לאותו פורט, והמנוע של NODEJS מנתב ביניהם).
הבעיה העיקרית שבגללה הייתי צריך לפצל את התהליך (cluster), היא בגלל בעיות זיכרון, שהתהליך הגיע לכמויות גדולות של RAM ופשוט נתקע. אני משער שזו היתה איזושהי בעייה של דליפת זיכרון. ומאז שפיצלתי, לא נתקלתי בבעיה.
כנראה שכשהתהליך מגיע לאיזשהו עומס, הוא לא מצליח לשחרר את הRAM.
השאלה שלי היא האם יש עניין לפצל תהליך ליותר מכמות ה CPU שיש במכונה.
מה דעתכם?
@nigun
דעתי היא שכל UI מורכב שיש צד לעשות אותו קרוס פלטפורם או רצון לעשות אותו אונליין, והוא לא כלי של עיצוב גרפי וכדו', כדאי לעשות אותו WEB.
אם זה תוכנה קטנה, אז לא. אבל תוכנה בינונית שרוצים לאפשר בה UI מורכב ומודרני, זה או WPF (כואב מאוד), או וובי.
יש לי ניסיון בקיוסקים.
דעתי היא:
UI ב WEB.
שרת מקומי dotNetCore או וואטאוור. או nodeJS. העיקר cross platfroms
החלק (הקטן) שמתממשק עם מערכת ההפעלה, בוינדוס: C# WINFORM
באנדרואיד ולינוקס שפות אחרות.
אלקטרון, זה בגדול NodeJS + chromuim. אני אישית פחות התחברתי, ממעט התעסקותי.
WPF: הס מלהזכיר.
@אפר-שריפה
נניח מחיר.
יש בבן ואין באב.
מלאים, תמונות ועוד
זה לא בהכרח נורא לדעתי. כיום אין משמעות גדולה לגודל מסד הנתונים.
@אפר-שריפה
שזה יפנה לאותה הטבלה?
ככה גם אפשר לעשות היררכיה אין סופית. וצריך גם לשים לב שלא קורה מצב של לופים.
השאלה היא האם זה נכון לעשות כך.
כי במוצר האב יהיו שדות לא רלונטיות למוצר הבן ולהיפך.
@שוהם307
מניסיון שלי על עצמי, לא עזר לי כמעט כלום חוץ מלשלם כסף.
עשיתי בגרוזלם פוסט, עולה לי בערך 40 שח לרבע שעה (פעמיים בשבוע).
התקדמתי הרבה בזכות זה, וכיום אני יכול לבצע שיחות בסיסיות (אם כי עם שגיאות מביכות). ואין לי בכלל כישרון ללימוד שפות.
אני יודע שזה נשמע יקר, אבל האפשרויות שזה פתח לי מבחינה עסקית, שוות הרבה יותר.
לאדם עסוק כמוך צריך מחייב חזק כדוגמת כסף.