@ששא כתב במה עושים בצפון?:
הכנסת ביצים בתבניות בספסופה
מה זה? פשוט יושבים וממלאים תבניות ביצים?
@ששא כתב במה עושים בצפון?:
נרות צפת
זה לא חנות? מה יש לעשות שם?
@ששא כתב במה עושים בצפון?:
הכנסת ביצים בתבניות בספסופה
מה זה? פשוט יושבים וממלאים תבניות ביצים?
@ששא כתב במה עושים בצפון?:
נרות צפת
זה לא חנות? מה יש לעשות שם?
לא ראיתי שום המלצות, גם בפרוג לא מצאתי...
ילדים מגיל 2 עד גיל עשר.
בתשלום סביר כן.
מסלולים בחום הזה, פחות, בכל זאת אחרי מעיין ובשעות של פריצות קצת...
תודה, אבל התכוונתי שאני לא היחיד שיוצא לצפון, מה כולם עושים?
אני מנסה לארגן טיול למשפחה לצפון, אבל כל פעם מחדש אני מסתבך ב"מה עושים?" נניח שקמנו מוקדם, התפללנו נץ באיזה בית כנסת ועל הבוקר היינו במעין, עד 12 נניח (אז מתחיל שם הבלאגן), מה הלאה? מה יש לעשות בצפון (טבריה-צפת אני מניח) עם ילדים קטנים?
@dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
א. השאלה לא עסקה בknex אלא בSQL
השאלה עדיין עומדת על SQL שאלתי
כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
השאלה איך נכון לעשות את זה.
וחידדתי
כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
מבחינת עומס על השרת, AI למיניהם טענו שכ"כ הרבה join מהוה עומס על השרת ומכביד סתם על כל תהליך השליפה, מה שא"כ אם חלק מהם עושים ע"י בקשה שניה בקוד עצמו.
האמת, שאני רואה עכשיו שיצא לא מובן (בכל זאת 4 לפנות בוקר, קמתי רק להכין מטרנה או משהו...) אז אסביר כאן ואשנה גם שם.
הבעיה שלי היא לא המימוש, (כמו שכתבתי כמה וכמה פעמים, אני משתדל לא לבקש שיכתבו במקומי אלא איך נכון לעשות) אלא האם נכון לשלב 4 טבלאות ביחד... ניסיתי לחדד בהודעה השניה שהAI טענו שלא כדאי לעשות גם לזה JOIN כיון שזה מאוד מכביד על השרת, אלא עדיף למשוך את הערים בשאילתא נפרדת שלא תסבך את השרת, ושאלתי (לפחות התכוונתי) האם זה נכון? או שהם טועים ואין שום בעיה לחבר טבלאות.
@dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
לראשונה בחיי שאני שומע על knex
גם אני, @צדיק-תמים המליץ לי עליה במקום אחר ושיניתי את כל הפרויקט לספריה הזו, אני חושב שהיא מאוד שימושית.
@dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
אבל תבין שהשאלה הראשונה מזמינה כל אחד שקצת למד SQL לענות
מצוין, זה מה שאני צריך, כאמור אני צריך תאורטית, מה הדרך הנכונה, והאם הטענה ההיא נכונה או לא נכונה.
@dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
ובהודעה האחרונה אתה דופק את כלי מי שהיה טורח לענות, כי כמה שהתשובה יפה ונכונה היא לא בטוח רלוונטית עבור איזה כלי בשם knex
לא דופק אף אחד, מותר להגיד "הדרך של חיבור 4 טבלאות היא הנכונה כאן, לגבי knex - לא יודע" (אגב, בknex אפשר גם להכניס raw כך שאין בעיה, מכניסים שאילתת SQL כמו שהיא והכל טוב).
@dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות:
בין העובדה שאתה לא יודע בכלל SQL
מי קבע? למדתי את הנושא, הבנתי פחות או יותר אני יודע מה שאני צריך, נכון אני לא יודע עד הסוף, אבל את הבסיס אני בהחלט יודע. יש כאן לדוגמא מדריך חמוד ועוד מקומות. ובינינו SQL בסיסי כמו שאני צריך זה לא משהו מורכב כ"כ.
התנאים אצלי נראים יותר ככה:
let queryBuilder = knex("advertiser_ads as M").select("M.*");
queryBuilder.leftJoin("ratings as R", "R.rated", "M.phone");
queryBuilder.select(knex.raw("AVG(R.rating) as average_rating"));
queryBuilder.groupBy("M.id");
עוד קוד, לא רלוונטי
if (filters.phoneOfSearcher && isValidIsraeliPhone(filters.phoneOfSearcher)) {
queryBuilder.select(
knex.raw(
`EXISTS (
SELECT 1 FROM advertiser_ads_read MK
WHERE MK.id = M.id AND MK.phone = ?
) as was_read`, [filters.phoneOfSearcher]
)
);
}
עוד קוד לא רלוונטי
queryBuilder.innerJoin("advertiser_cities as E", "E.id", "M.id");
queryBuilder.groupBy("M.id"); // חשוב למנוע כפילויות במודעה אם יש לה כמה ערים
if (filters.cities && filters.cities.length > 0) {
// המצב שבו המחפש הזין עיר/ערים ספציפיות
queryBuilder.where(function() {
// כלל 3: לשניהם יש עיר - בדיקת התאמה מדויקת לעיר
this.whereIn("E.city", filters.cities)
// כלל 2: למפרסם יש רק אזור - מפרסם שמשרת את כל האזור יעלה בתוצאות
.orWhere(function() {
this.where("E.area", filters.area).whereNull("E.city");
})
// כלל 1 (מתוקן ומאובטח): למפרסם יש "כל הארץ" (אזור ריק + עיר ריקה) - הוא יעלה בתוצאות תמיד
.orWhere(function() {
this.whereNull("E.area").whereNull("E.city");
});
});
} else {
// המצב שבו המחפש הזין רק אזור (ללא עיר)
queryBuilder.where(function() {
// כלל 2: חיפוש לפי אזור (מכסה מפרסמים של כל האזור, וגם מפרסמים של עיר ספציפית באזור)
this.where("E.area", filters.area)
// כלל 1 (מתוקן ומאובטח): למפרסם יש "כל הארץ" (אזור ריק + עיר ריקה) - הוא יעלה בתוצאות תמיד
.orWhere(function() {
this.whereNull("E.area").whereNull("E.city");
});
});
}
תנאים מורכבים שחושבו כמו שצריך.
@אביי תודה רבה
עריכה:
השאלה שלי היא כי AI למיניהם טענו שכ"כ הרבה join מהוה עומס על השרת ומכביד סתם על כל תהליך השליפה, מה שא"כ אם שליפה מחלק מהטבלאות עושים ע"י בקשה שניה בקוד עצמו שאז אמנם זה לא שאילתא אחת מסודרת אבל זה לא מכריח את השרת לחבר טבלאות ולהשוות ביניהם. האם זו טענה נכונה וכזו כמות עדיף לא לחבר ולסנן (במקרה הצורך) בבת אחת או שזה שטויות ואין עם זה שום בעיה.
אגב, מבחינת עבודה עם knex, זה עדיין טוב? אם הסינון לא מוגדר צמוד לטבלה איך מגדירים שהוא יהיה דוקא עליו ולא על טבלה אחרת? אני מרגיש שknex פחות טוב לדברים כאלה, הוא קצת מסבך את העסק בתנאים שקצת טיפה מורכבים.
לכל טבלה שמייצגת מודעה יש:
טבלה של ערים - לפי הID של המודעה
טבלה של נקרא/לא נקרא - לפי הID של המודעה - כאן חוזרות גם המודעות שנקרא וגם אלו שלא אלא שהן מחולקות לנקראו ולא נקראו
טבלה של דירוג - לפי מספר הטלפון של המפרסם
השאילתה אמורה להוסיף את כל הנתונים מכל הטבלאות
אם מעבירים כפרמטר ערך לסינון (כמו עיר או אזור מסוימים, מספר טלפון מפרסם, מספר טלפון של מי ששומע את המודעות ועוד) אז המודעות צריכות להיות מסוננות (לדוגמא יופיעו רק מודעות מחיפה ולא מכל הארץ כמו אילו לא שלחו עיר לסינון)
השאלה איך נכון לעשות את זה.
במצב הנוכחי (הקוד שכתבתי) אם לא שלחו עיר כפרמטר, בכלל לא מחברים את הטבלה, מה שגורם לזה שחוזרות מודעות, אבל בלי ערים.
למה כאן ולא בפורום של ימות המשיח?
לא מכיר דרך
אנחנו קצת סוטים מהנושא (dovid, עמך הסליחה) אני אמנם לא התעמקתי עדיין בלימוד הjs אבל ברגע שהפסקתי לחשוב על פיתוח גנרי מידי וclean code לגמרי, הפיתוח נהיה הרבה יותר קל... אמנם "מלוכלך" קצת אבל מובן ונוח לכתיבה והכי חשוב - הרבה פחות מעיק.
בילדותי גיליתי ספר על VBA (לא למדתי אותו, זה לא היה פרקטי לי), הענין מאוד משך אותי, כשגדלתי לקחתי קצת ספרים מפה ומשם וקראתי אבל לא יצא מזה כלום, בישיבה גדולה כמדומני קניתי ספר C# טוב (היה אז גירסה 3) ולמדתי אותו בין הסדרים, התחלתי לכתוב קוד במחברת, רק כשהייתי חוזר הביתה לשבת חופשה הייתי מתרגל במחשב וקיבלתי ידע טוב ומעמיק בשפה הנ"ל.
מכיון שראיתי את עצמי כאברך (עד היום ב"ה) אבל לא אחד שחי מתרומות, בקשתי מהרב שלי (בישיבה) רשות ללמוד את זה מסודר תוך כדי הישיבה, שיהיה משהו ביד, זה הרי לימוד של כמה שנים, בהתייעצות עם הרב שלו (דמות חינוכית מוכרת מאוד) זה אושר בתנאי שלא יפריע לסדרים, המקום המתאים היחיד הוא כמובן האונ' הפתוחה בררתי מחירים (והלכתי לאיזה ארגון בירושלים שמממן לימודים לחרדים ע"מ לקבל מימון), תאריכים ואיך הכל הולך.
מסיבה מסוימת עצרתי את התהליך ולא התחלתי ללמוד, לקחתי ספרים מאיזה סטודנט שגמר את לימודיו שם והתחלתי ללמוד לבד (לא הספקתי הרבה, ומה שכן הספקתי, בעיני מיותר לגמרי כאילו דוחפים חומר כדי שיהיו מספיק שעות שיצדיקו לימודי תעודה).
לאחר שהתחתנתי הפסקתי עם התכנות כמעט לגמרי (קשה, התכנות בדם שלי) בגלל שזה לא הולך ביחד עם שאיפותי הרוחניות, כמה פרויקטים החזירו אותי לתכנות, אחד בכלל לקח אותי למיקרו בקרים, מצאתי את עצמי לומד C (שפה נוראית בעיני, אחרי שהתרגלתי לC#) ושוב זונח הכל עד שהגעתי למצב שכשרציתי לחזור לכתוב קוד הייתי צריך לבדוק בספרים איך כותבים פונקציה... ככה הפסדתי את C#.
כשהתחלתי עם ימות המשיח התחלתי עם PHP בעקבות המלצות עברתי לnodejs, אבל אני לא מונח בה בכלל, בפרט שזה בין הסדרים...
כמו שכתבתי, תכנות כמקצוע לא הולך בד בבד עם שאיפותי, הפרויקט הקודם זיעזע אותי וגרם לי לחשב מסלול מחדש, לכן אני מקוה שבעז"ה אסיים את הפרויקט ואצליח לעזוב את התחום לפחות כמעט לגמרי (יש לחצים שלא אעזוב וכמובן, יש את הצורך בהשתדלות לפרנסה) ואוכל להשקיע גם את הערבים ללמוד.
@chv כתב באיך למדתם לכתוב קוד - סקר:
סקר מרתק. בעיקר בכזו פלטפורמה.
מסכים איתך בהחלט!
@chv כתב באיך למדתם לכתוב קוד - סקר:
ועכשיו עם הLLM וכל הטררם מסביב זה דופק את כל הלמידה ואני לא לומד כלום כבר שנתיים. זהו..
כל מילה בסלע, ולא משנה מה יגידו אחרים.
לא חסר לך מה שכינה @צבי-ש
@צבי-ש כתב באיך למדתם לכתוב קוד - סקר:
דברים בסיסיים או ידע מתחת למכסה המנוע שאני לא מכיר טוב כמו שהייתי רוצה
?
@חגי כתב באיך למדתם לכתוב קוד - סקר:
כנראה שאנחנו מכירים את אותו אחד הוא היה צריך ללמוד בדרכים המקובלות תוך כדי שהוא עבד, הדרכים המקובלות זה לאו דווקא קורסים.
לא התכוונתי אליי... (או שהתכוונת למישהו אחר כאן?) אני לא יודע לחרטט, למרות שבפשטות הייתי מתקבל למקום עבודה, כך אמרו לי כאלו שעובדים בתחום ומכירים את הידיעות שלי (C# לא JS)
@חגי אני חושב שלימודי תואר או תעודה ממכללה/אוניברסיטה זה אפשרות לימוד, אולי אפילו הכי איכותית.
קורס באנטרנט או ספרים בהחלט יכולים לשמש כמקור לימוד, אבל התכוונתי ללמוד של כתיבת קוד (כמו שכתבתי בהודעה הראשונה) לא לימוד שפת תכנות, בעיני אלו שני דברים שונים.
אני מכיר מישהו שידע לחרטט מצוין, הוא התחיל לימודים ובמקביל התקבל לעבודה והתקדם שם יופי (עד כמה שידוע לי הוא פרש מהלימודים...), מתפקיד של מזכירה בערך (אני מקצין, אבל זה היה בעיקר מו הלקוחות) התקדם לתפקידים של כתיבת קוד.
ככה שעד כמה שידוע לי כל האופציות קיימות.
@מד בא נגיד שבד"כ אני יותר מעריך את התגובות שלך, יותר לענין.
איך למדתם לכתוב קוד:
1 - תואר/תעודה
2 - קורס באנטרנט
3 - ספרים
4 - לימוד בקטנה והשאר תוך כדי עבודה במקום מסודר
@meir-lamdan עד כמה הספרים שלו מעודכנים?