"נשאלתי"
אני השואל הקטן
שכוייח למורינו ורבינו רבי דוד שליט"א.
"נשאלתי"
אני השואל הקטן
שכוייח למורינו ורבינו רבי דוד שליט"א.
@dovid אמר בSQL - GROUP BY HEBREW MONTH ?:
עוד אפשרות שאני זוכר שממליצים זה טבלה סטטית עם רשימת ימים.
מדובר באלפי שורות בודדים, ואז בהנחה שיש לך שדה תאריך ללא שעה זה JOIN פשוט.
זה אני המלצתי בזמנו ונראה לי שהעלתי לפורום בצורה כזו או אחרת את הטבלה ב SQL SERVER אם זה רלוונטי אעלה אולי שוב (לא מבטיח כלום לאף אחד כבר שנים).
@ש-ב-ח אמר ביש מה לנסות? SQL ענק ומלא שאילתות וחישובים:
כך דעתך גם על google sheets?
זו לא דעתי, זו הצהרה שלהם ("טבלת אוויר") מול לקוח ששלחתי אליהם (כפי שאני עושה ל 99% מהלקוחות שמתקשרים, אומר להם יש מוצרים בעשרה דולר לחודש לכו לשם כי אצלי החיים קשים, יקרים מאוד, ומתסכלים) הם אמרו לו שאין להם איך לעזור לו כשהמאגר שלו גדול יותר מהסך הנ"ל.
לגבי גליונות גוגול הם מוגבלים רשמית ל 40,000 שורות, 18,278 עמודות 200 טאבים. איך אני יודע? גיגול פשוט באנגלית: google sheets limit rows
בקיצור זה לא עסק.
@צבי-ש מה אומר, אין לי עדיין דוקר, אין לי אלקטרון, אין לי גירסה לתת "מהקופסא", למרות שזה לא ייקח הרבה זמן לעשות את זה, אבל איך אומרים "אני לא מגיע לזה" מה דעתך על גירסת אונליין, שבה אתה למעשה מתקין רכיב תוכנה פיצקי על השרת שלך הוא ירוץ כסרביס והוא יהיה ה Agent שלך לדבר עם הדטה בייס מקומית, כך שלא תצטרך לחשוף את מסד הנתונים שלך החוצה, אתה תכניס קונעקשן סטרינג כנפשך עם מגבלות, ואז האונליין יתחיל לנגן?
זה מהלך שנשמע לי יותר הגיוני מאשר להתחיל לפזר מפלצות.
חסרה בשוק חברת פינטק מורשית, שהשירות שהיא תיתן זה בדיוק זה, עבור חברות שאין להן רישיון כזה, הם יהוו גשר מול הבנק.
אממה למי יש כוח להתקשקש עם זה.
@איש-נחמד אמר ביצירת פונקציות "עוקבות" - כאובייקט של פונקציות או ככמה פונקציות קטנות?:
האם לא כדאי ליצור פונקציות נפרדות עבור כל סוג זיכרון?
עד כמה שהטיפול בשליפת נתונים ושמירתם למקומות אחסון שונים נעשה בדרכים שונות, יהיה צורך להתייחס אליהם בנפרד, לא?
אם כבר אז פונקציות פנימיות פרטיות, זה לא אמור להיות עניינו של צרכן הפונקציה הראשית איפה מאחסנים ומאיפה שולפים.
כשאתה נכנס לחנות מכולת אתה (בדרך כלל) לא שואל אותו מי היה הסוכן שסיפק לו את הסחורה ומה הדגם של המשאית, גם נהג המשאית לא בהכרח שואל אותו למי הוא מוכר את הסחורה ואיך הוא מסדר את זה במדפים
כזו היא פונקציה ביחס לצרכנים שלה, כומסת אחריות ומספקת בסופו של דבר את המהות שאליה היא התחייבה בלבד.
@ארכיטקט אמר במירג'וג' פירידאפים מרובים לתוך קובץ אחד:
להוריד איזה קובץ זיפ ולתת להם להעלות אותו לסרביס חיצוני חינמי/תשלומי, אממה רוב הסיכויים שלהקוח יתנגד
הלכתי על הכיוון הדיפלומטי הזה והוא השתכנע למרבה הפלא לע"ע (עד שהוא יבין שהוא בעצם הצביע למפלגת העבודה) אז חדל אש.
ובכל מקרה תודה למסייעים. וטוב שהעלו כאן מידע יקר ערך שכן בוודאות מישהו יזדקק לזה (כנראה אני בקרוב...).
@chagold אמר בניהול היסטוריית עריכות בטבלה:
PostgreSql
אוי לא, בMSSQL יש לי פתרון מובנה וחלק
@chagold אמר בניהול היסטוריית עריכות בטבלה:
האם הנכון לעשות טבלה נפרדת שמחזיקה נתוני שינויים של כל טבלאות הפרוייקט (כשהשדות בטבלה הזו הם: טבלת שינוי, שדה שינוי, ערך ישן, ערך חדש, תאריך, יוזר מבצע השינוי)?
כן, האתגר שלך כאן זה הקוד שינהל את זה בצורה גנרית, וMSSQL יש אפשרות באמצעות טריגר ופרוצדורה, אבל פוסטרגס אני פחות מתמצא ייתכן שגם תמצא פתרון מהסוג הזה.
@chagold אמר בניהול היסטוריית עריכות בטבלה:
ואם כן, האם כדאי לאחד את הטבלה הזו עם טבלת תיעוד היסטוריית גישה לאתר?
לא
@www אמר בSQL | שאילתת JOIN עם מופע אחרון בטבלה שניה:
שפת תוצאות
הנכון: שפה הצהרתית (דקלרטיבית)
רוצה לומר: אתה מצהיר שאלו התוצאות שאתה רוצה והוא צריך "לשבור את הראש" איך להביא לך אותם.
אגב מסורת מקובלת מגדולי ה DBA (מ.ד. מהר נוף, למי שמכיר) תמיד לעשות פרוצדורות, ולא שאילתות זה מאפשר לדטה בייס הרבה יותר תיכנון ואופטימיזצה.
כמו"כ בפרוצדורה (וגם בסקריפט) אני אישית לא חושש להשתמש בטבלאות זמניות, אפילו עם אינדקסים בתוך הטבלה הזמנית, כדי "לעזור" למנוע וגם למפתח עם שאילתות מורכבות. בטבלאות זמניות אתה יכול לעשות כבתוך שלך (כגון להניף דגלים, לצבוע שורות וכדומה) בלי "לטנף" את הדטה בייס. אבל ברור שכל מקרה לגופו ואין בזה שום כללים.
qlik sense בלבד, אין בלתו ואפס זולתו בתחום הזה. הוא גם טוב במערכי נתונים עצומי מימדים ואוכל אותם בלי מלח ובלי עשבי תיבול.
אמנם יש עקומת למידה כלשהי, אבל קטן עליך, אם אתה צריך אעזור לך לצלוח את הקטעים המעצבנים.
אני עובד איתם כבר 7 שנים ויחד עם חברה שמתמחה בפיתוח הBI הזה, שום כלי בשוק לא מתקרב ליכולות שלהם, ולחוויית הלקוח המובטחת שזה הכי חשוב ב BI.
https://www.qlik.com/us/
@צדיק-תמים אמר בחשיבת מפתחים לטווח רחוק..:
כמובן שאפשר לחלוק עליי...
טיפ ממני, אם אתה רוצה להזמין אנשים לחלוק עליך, תודיע שאתה לא נותן לא אחד לחלוק עליך, ואסור לחלוק עליך, ואין שום צד אחר. זה מזמין יותר מכל הצהרה אחרת
@יוסף-בן-שמעון אמר בחשיבת מפתחים לטווח רחוק..:
בערך כמו לקנות קומקום במאה שקל פעם בשנה במקום לקנות בשלש מאות שקל פעם בשנתיים
זאת בדיוק הנקודה, השחתת הנפש על ידי הרגלים מסחריים נוסח ארה"ב/סין. תקנה בזול ותחליף כל שנתיים.
לא לא!!! קומקום חשמלי אמור להחזיק ארבעים שנה, אינני יודע את גילך אבל אני עוד זוכר את המקררים של אמקור שאורך החיים שלהם היה בין 25 ל 30 שנה. וככה צריך לחיות, זה עניין עקרוני ולא קשור לניהול סיכונים.
וכן, אני בן אדם עקרוני שמוכן להרוג ולהיהרג על עקרונות.
ראה "קונספירציית הנורה החשמלית".
כשאני חושב על הדברים האלו תמיד אני חושב על SQL עשרות שנים עברו ולא נס ליחה, כמה הכלכלה תלויה בשפה הזו. והיא כאן כדי להישאר.
@חגי אמר בקוד SQL טהור לחיפוש חופשי בעמודה:
אני מאחד את כל העמודות ומבצע עליהן חיפוש כאילו הן עמודה אחת
עד כמה שאני יודע עושים תת שאילתה ככה:
SELECT * FROM
(SELECT
CONCAT(COL1,' ',COL2) AS ConcatenateColumn
FROM MyTable) AS T
WHERE ConcatenateColumn like '%bla%'
אפשר כמובן לקנקט רק בWHERE ואז זה לא מצריך אפילו תת שאילתה.
לא מבין מה הביא אותך לקוד הנ"ל שעושים בשאילתות רקורסיביות בלבד. לגבי HAVING הוא רלוונטי רק אחרי GROUP BY והוא למעשה סוג של WHERE על אגרגציה
כמו"כ השירשור עם פלוס יש בו בעיה בערכי NULL והפונקציה CONCAT פותרת את זה.
מלבד זאת אתה חוזר לפתרון שהצעתי למעלה רק בעמודות מקונקטות.
אבל אולי אני בכל זאת מפספס משהו, הכי פשוט לשים קוד עם טבלה זמנית שכולנו נוכל לראות את הפעולה ולהבין מה החלופות הטובות יותר או פחות.
מאז ומתמיד גיבויים הם נושא של אנשי IT.
המתכנתים מסירים כל אחריות, כותבים קוד שומרים אותו בגיט האב וזהו.
לאחרונה אני חש צורך נפשי עמוק להתחיל להשתלט על הנושא הזה בכוחות עצמי, (דטה בייסים וקבצים, כי הקוד כמובן בגיט) ממה שאני מבין עד כה אנשי IT משתמשים בכלים מכלים שונים ויין מלכות רב, לאו דווקא כלים חכמים, חלקם גסים מאוד. כשמדברים על גיבוי ליעדים מרובים (אני לא אוהב להתחתן עם סרביסים), סטורג' חכם באמזון (חלק צריך ללכת לגלישר וכדו'), השוואות hash וכו', משהו שם לא כל כך נראה לי טוב.
לסיכום השאלה היא האם למישהו יש ניסיון בתחום, אולי יש כלים חכמים יותר או פחות, והאם כדאי לכתוב קוד שעושה את הגיבויים שלי לשלוט בכל התהליך הזה ביד רמה או שלא שווה את המאמץ?
@שואף אמר בהתייעצות לגבי שידרוג מערכת קיימת:
מה התכוונת להגיד?
אסקימואים
חיים בתנאים נוראים וצריכים להילחם כל הזמן על מזון וחומרי בעירה, מה שגרם לאגדה (שהתבררה כלא כל כך נכונה) להתפשט - לגבי מנהג האסקימואים עם זקנים שלא מסוגלים לצוד - לזנוח אותם למוות מכיוון שאין להם די לספק את צרכי הזקנים.
ומצאתי כתוב:
האם האסקימואים שלחו את זקניהם לבד לשלג כדי שימותו מקור?
הסיפור על האסקימוסים שנהגו לשלוח את הזקנים אל מותם על גבי קרחון נודד הוא כנראה גם נכון וגם לא נכון.
אכן היו מקרים שהדברים התרחשו כך בעבר, אבל לא כמנהג רווח אלא במקרים מסוימים של מחסור כלכלי ורעב ובמצבים שלא היו הרבה ברירות, שכן הזקנים סבלו מתשישות וזקנה ולא תרמו דבר.
נראה שבעידן המודרני פסקו המקרים הללו, אם מפני שהחוק אסר על כך ואם מכיוון שהאסקימואים כיום מבוייתים, תרבותיים יותר, נהנים ממצב כלכלי טוב יותר וחיים ביישובי קבע. המקרה המתועד האחרון בו נשלחו זקנים אל מותם, התרחש בשנת 1939.
https://eureka.org.il/item/43283/למה-נשלחו-זקני-האסקימואים-למות-בשלג
יש פלטפורמות כגון Fire Base יעילות מאוד, הם עשו כימוס לכל הנושא הטכני המטמטם הזה של סוקטים, והם מאוד מאוד מאוד מאוד יעילים. ורוב הסיכויים שבשבילך הם בחיני חינם.
@yossiz אמר בכת מיסיונרית נכשלה שוב בניסיון המי יודע כמה להעביר אותי על דתי:
באנגולר כופים עליך סדר ובריאקט אתה מחליט על הסדר
רק אם אתה מחליט על סדר, אז אני מקבל לחלוטין את מה שאתה אומר.
אבל רוב אוהבי ותומכי ריקאט שנפגשתי איתם משבחים את הספריה בגלל החופש שהיא נותנת. ואותם אני מגנה בכל פה. הם אנשים שאוהבים בלגן בגלל שזה כיף להם הסדר מחייב ומגביל, ואני אישית (כאן זה כבר העדפה אישית ולא "מבנה של מוח") מעדיף להיכנס למקום שכבר סידרו אותו עבורי טובי האנשים מאשר להמציא גם את הסדר הזה לבד.
@yossiz אמר בכת מיסיונרית נכשלה שוב בניסיון המי יודע כמה להעביר אותי על דתי:
אז למה פתחת שירשור כזה?
הלו? זו לא היתה הבטחת בחירות,. זה פשוט לא היה בתוכנית ועכשיו מישהו הדליק אותי. אם עשיתי טעות בלשוני והשתמע שאסור לי לשבור את המילה, אמחק את הפוסט (אך ורק בהוראת מנהל הפורום).
@yossiz אמר בכת מיסיונרית נכשלה שוב בניסיון המי יודע כמה להעביר אותי על דתי:
אתה בטח לא תאהב סביבה שבה כולם מנדנדים את הראש ומסכימים לכל מילה שלך?
ח"ו לא יודע למה חשדת אותי בכך. ההתבטאויות שלי לא פחות חריפות משלך (אולי יותר), ואין לי שום פריווילגיה בפורום חוץ מהעובדה שהייתי מהמייסדים ושאני תלמיד מובהק של מרן המנהל שליט"א.
@רפאל אמר בהתקנתי Visual Studio 2022 כאן המקום למי שיודע דברים חשובים על IDE בכלל - דברים ששינו לי את החיים:
יש את הMX (עכבר הדגל של Logitech), מאוד נהנה ממנו.
קניתי עכשיו מחיר נמוך וגם משלוח חינם.
תודה.
@davidnead אמר בהתקנתי Visual Studio 2022 כאן המקום למי שיודע דברים חשובים על IDE בכלל - דברים ששינו לי את החיים:
נשמע מעניין. תספר על זה קצת יותר?
זה פרוייקט קוד לכל דבר ועניין, אתה יוצר את הסכמה, את הפרוצדורות והכל, והוא מתחייב לקמפל את זה "כאילו" מדובר בדטה בייס ממשי, כך שאתה לא יכול לטעות שם הוא פשוט יזרוק לך שגיאות. כשאתה רוצה לשדרג דטה בייס אמיתי, הוא יודע להשוות בין המצב של הדטה בייס לבין המצב של הקוד, ועושה כל מה שצריך כדי שהדטה בייס ייראה כמו שמוגדר בקוד. אם הורדת או הוספת עמודה, אם שינית סוג ערך, בשביל מישהו כמוני שמרים דטה בייס כל שני וחמישי ומפתח אותו בארגסיביות, זה פתרון נהדר. אינני יודע איך DBA בעולמות אחרים כגון Mysql יכול לחיות בלי הדבר הזה, כמה קוד צריך לכתוב לבד כדי לעשות מיגרציה לדטה בייס פרודקשן? ובכלל הפיתוח הוא סיוט על דטה בייס ממשי, ואיפה הGit? בקיצור סיוט.
אני אישית עוזב עכשיו דטה בייס של פוסטגרס למרות שהיה מאוד נחמד להתנסות בו, ואחת הסיבות היא בגלל הפיתוח שלו והמיגרציות שעושות לי מיגרנה.