@pcinfogmach ערפול? זה רק הממשק הגרפי, זה בכל מקרה לא קריא בקלות בכלל (בכל הפרימוורקים המובילים שיש אריזה), וגם C# לא ממש מעורפל...
איך לומדים פיתוח WEB? מה היה קורה לו היית שואל אותי את זה על C# וWPF, או שהיית יודע יותר טוב או שלא היית יודע כלום...
במקרה שלך לא צריך את כל הסטאק, אפשר ממש רק צד לקוח: צריך בעיקרון ללמוד HTML+JS בסיסי, ובבסיסי הזה כדאי להבין טוב מה קורה שמה. כמו כן בJS להבין קצת אסינכרוניות: קלאבק, פרומייס וasync\await, ואז להתחיל ללמוד פרימוורק שאתה בוחר וזהו.
אם אתה רוצה ללמוד טיפה על הרעיון של שרת/לקוח (שאתה תממש אותו בדרך שונה בwebview2 עם post message) אז תוכל להפיק תועלת מהמדריך שלי פה בפורום על פיתוח full stack שנותן קצת רקע לעניין. לצערי חסר שמה כמה יסודות, אבל זה לא נוגע בכלל לענייננו.
dovid
-
הדפדפן ככלי אולטמטיבי לפיתוח GUI -
תוכנת אקסס לגמח@ארי כתב בתוכנת אקסס לגמח:
בעצם לעשות טבלה של פירעונות עם כל הפירעונות העתידיים, ואם אני רוצה שאוטו' יתחשב כאילו כבר שולם, אז להריץ קוד שמסמן כבוצע כל פירעון שעבר זמנו?
בלי לסמן. תחשב את אלו שעבר זמנם כאילו הם שולמו.
לגבי הפקדות הסכמתי שתיצור טבלה ושהיא תמולא לפי התאריך הנוכחי כמו שהצעת מלכתחילה, רק אמרתי שעדיף כפתור ולא קוד אוטומטי.
-
תוכנת אקסס לגמחהבנתי. אמת, בגלל שבהפקדות זה לא רלוונטי ומעשי בכלל יצירה מראש, מתבקש שבכל מקרה יהיה כזה מנגנון.
יש בזה היגיון. אם כי אני עדיין מתעקש להבדיל בין פירעונות שהם דבר אמיתי (יש לווה שחייב בתאריך הזה לפרוע סכום מסוים), לבין הפקדות שהם הבטחה ומשאלת לב, ואין בהם שום דבר אמיתי. ככל שאפליקציה משקפת את המציאות, ככה קל לכתוב ולתחזק אותה. בעיני המשתמש הפקדה היא ישות שקיימת רק בגלל שעבר התאריך, מה שאין כן פירעון.בכל מקרה, אני מציע שלא תריץ קוד בפתיחת התוכנה, אלא הקוד רק יברר שניתן להוסיף שורות פירעונות והפקדות, ויציע למשתמש כפתור של "צור שורות הפקדות מהתאריך XYZ". הרעיון הוא למחוק כל טריקיות ואוטומציה שגורמים לפער בין תחת מכסה המנוע לבין המציאות והשקפת המשתמש לאופן בו היא פועלת.
אגב זה אמור לקחת זמן קצר ביותר, ולא הרבה קודים. זה אמור להיות:
א. טבלת חודשים, שאותה תמלא בלולאה. זו טבלת עזר.
ב. כל שאר הטבלאות עם INSERT של SELECT של חודשים שאין להם תאום, אמור לקחת שבריר שניה. -
תוכנת אקסס לגמחזה השקפה עקרונית באופן כללי, אפילו לא התעמקתי במקרה הנוכחי.
אם מישהו רוצה לראות במסך משהו, בדרך כלל זה אומר שיש פה באמת "משהו".
אם היה מדובר רק בלראות כמה יוצא החוב או כמה תשלומים נשאר, זה לראות "חישוב". אבל אם רוצים לראות רשימת פרעונות או הפקדות, בעיני המשתמש יש פה ישויות, וממילא באפיון חייבים להניח שיש כזו ישות גם אם כל מרכיביה ניתנים להסקה בקלות.
כי לישות הזו צצים בהמשך מאפיינים ותכונות, כמו כל ישות. אין לי מושג איך לתרגם את זה למקרה שלך, וייתכן שיהיה קשה כעת לדמיין על מאפיינים של ישות הפקדה/פירעון, אבל מנסיוני זה מגיע. אפשר גם אז להתחכם ולהצמיד את המאפיינים לחישוב - ומפה מתחילה לגדול בעיה.
זו דעתי, לא חובה לקבל אותה, וגם לא בטוח שהיא רלוונטית למקרה שלא העמקתי בו (אני לא מבין מהי רשימת פרעונות, הייתי אומר כמה חודשים נשאר אבל לא הייתי בכלל מדבר על כזו רשימה, אותו דבר רשימת הפקדות. כלומר לא זו בלבד שאינני רואה פה ישות אלא אינני מבין מה המשתמש רוצה שיופיע במסך).
נ.ב. אולי יעזור שתפרט גם אתה מה הקושי טכני/נפשי/רעיוני עם הדרך של יצירת השורות מראש. -
תוכנת אקסס לגמחאני חושב שצריך לעשות טבלה מראש שיש בה באמת שורה לכל פירעון, ולא רק לחשב את זה.
-
הדפדפן ככלי אולטמטיבי לפיתוח GUI@pcinfogmach כתב בהדפדפן ככלי אולטמטיבי לפיתוח GUI:
אני משתמש באופציה זו הרבה - מה שמעניין לי שאתה מגדיר אותה כאופציה נהדרת בזמן שאצלי זה רק מקל עלי בגלל סיבה אחת שאני מתעסק עם מסמכים על בסיס טקסט (כלומר מאגרים תורניים).
אתה משתמש בפקד.
אני מתכוון למשהו אחר לגמרי, פיתוח לWEB נפרד בפני עצמו, כשהאפליקציה היא רק ה"צד האחורי". זה בעצם ללמוד פיתוח לWEB רק עבור הממשק משתמש, ואז לשלב את C# בשביל כל הפעילות האמיתית של האפליקציה (שלעיתים ממש קטנה).לולא זה אני מרגיש שאני מפסיד מדאי הרבה כשאני עובר לדפדפן - אני מפסיד את הקלות של ה-debugging, את ה-intellisense העוצמתי של C#, את ההתמשקות העוצמתית של C# עם WPF.
כיום חוויית הדיבאג של תכנות לדפדפן לעיתים עולה על של C#. גם ההשלמה אוטומטית וההבנה של IDE מעולה אם משתמשים בTypeScript (שזה הנורמה היום בכל הפרימוורקים המובילים).
הקושי שהתכוונתי זה עצם הפיצול. אתה כאילו מפתח שני כלים: צד אחורי וצד קדמי נפרדים שמתקשרים ביניהם כאילו הם שני תוכנות.בכל אופן עדיין נותרו לי כמה שאלות ברמה כללית:
א. האם זה לא מאט את זמן הטעינה - לעבוד ככה?
ב. האם יש לי את הגמישות של ה-layout שאני מכיר ב-wpf?
ג. באיזה IDE אוכל להשתמש כדי לייצר אפליקציות בזרימה שאני מכיר מ-C#.אם אתה רוצה לשלב ממשק WEB אתה לא יכול לעשות את זה בלי ללמוד פיתוח לWEB, זה לא יום אחד וזה השקעה, זה עולם שונה מאוד, אבל לדעתי זה משתלם ואף חובה לכל מתכנת בסופו של דבר.
א. תיאורטית אולי, מעשית בכלל לא.
ב. יותר...
ג. VSCODE, לתיקיה נפרדת לגמרי שאחראית על צד הממשק. -
הדפדפן ככלי אולטמטיבי לפיתוח GUI@pcinfogmach כתב בהדפדפן ככלי אולטמטיבי לפיתוח GUI:
ועוד שאלה: כמדומני שהביצועים של JS מוגבלים אם עושים פעולות כבדות
ועוד שאלה: כמדומני שיש הגבלות חמורות בהרשאות גישה על הדפדפן מסיבות בטיחות.
ועוד שאלה: כמדומני שדפדפן זולל זיכרון - לא?הכל נכון, אבל שוב, זה מאבד רלוונטיות אם משתמשים בדפדפן רק כממשק משתמש.
אם אתה מתוך דף HTML ישלך הגבלות רבות (וברוכות) על גישה, אבל הרוב ניתן כיום לבקש מהמשתמש לאפשר, וגם שוב, אנחנו מדברים על תכונה שיש לה צד אחורי שאינו פועל מתוך הדף HTML או הדפדפן בכךך.בקיצור אשמח לשמוע איך בעצם אפשר לתכנת על מלא על בסיס JS -HTML.
פה עיקר השאלה. יש כמה שיטות, למשל VSCODE וגם עוד הרבה תוכנות (סלאק למשל ועוד רבים) משתמשים עם פלטפורמה בשם אלקטרון. זה בעצם JS שחלקו רץ בהקשר של דפדפן, וחלקו רץ כחלק אחורי.
כיום נהייתה אפשרות חדשה, להשתמש בפקד WebView2 המטורף של מייקרוסופט. זה בעצם edge (שזה כרום) עם המון מאפיינים אירועים ופונקציות לשליטה מוחלטת עליו. אפשר להגיש שפקד תיקיית HTML סטטית, ולתקשר דרך הJS עם התוכנה המארחת שיכולה להיות WPF עם C#, אני עשיתי את זה וזה ממש עובד נהדר.
תכלס זה עדיין מורכב איך שלא תהפוך את זה, ובמקרים של אפליקציה קטנה מאוד הגיוני להסתפק בממשק אחר. אבל אחרי כמה קפיצות ראש קשה לשוב לממשקים המסורבלים ובלתי יעילים של הdesktop. -
הדפדפן ככלי אולטמטיבי לפיתוח GUI@pcinfogmach שים לב שלא אמרתי שזה הכי טוב או הכי קל באופן כללי, אלא שמתי דגש על "פיתוח GUI". בנקודה הזו זה שווה, בדברים אחרים (לא הרבה) זה עלול להיות פחות טוב.
לגבי פקדים מורכבים - זה נכון יחד עם העיקרו הנסתר שהנחת - לא להשתמש ברכיבים צד שלישי.
ברור שיש הרבה דברים שקשה בלי ספריות צד שלישי, אבל ספריות צד שלישי בווב זה כמו .net framework בWPF כמעט.הדוגמאות שהזכרת ממחישות את עוצמת הדפדפן, הם לא צריכים שום רכיב צד ג':
- יצירת עץ זה קלי קלות כמעט בלי CSS עם HTML נטו.
- טיפול גרירה של אובייקטים לדעתי יותר קלה בWEB מאשר בדסקטופ.
-
שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת@pcinfogmach שום כלי ושום פלטפורמה כיום לא טובה מספיק כמו הסטאק של הדפדפן.
למשל אם משתמשים בכלי UI שעובד עם פייתון ורוצים שיהיה עיצוב בעת מעבר עכבר (:hover בCSS), זה פי כמה (עשרות? ואולי מאות?) עבודה, תחזוקה, ואי יעילות, מהשורת עיצוב הקלילה בCSS.
הדפדפן זה הכלי האולטימטיבי לפיתוח GUI היום, גם של תוכנות אופליין (כמו VSCODE), כפי שאמר @צדיק-תמים. -
שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת@pcinfogmach מדובר באתר סטטי בguthub, אז צריך לעבוד רק עם HTML\CSS\JS (אפשר כמובן לעבוד עם כל הפימוורקים).
באמת זה כלי שלא מחייב צד שרת ולכן הייתי ממליץ להישאר עם צד לקוח בלבד. -
איפה הכי כדאי לרשום דומיין .co.il?@one1010 סיומת מקומית הכוונה סיומת של מדינה, לאפוקי סיומות שלא גיאוגרפיות.
למשל co.il. שייך למדינת ישראל, ומדינת ישראל מפעילה את הסיומת על ידי הארגון איגוד האינטרנט הישראלי.
כל מדינה עושה מה שבא לה עם הסיומת שלה, חלקם נתנו אפילו דומיינים בחינם, חלק מרשים רק לבעלי אזרחות ועוד.
@צדיק-תמים טען שהעובדה שco.il. יותר יקר זה לא יכול להצטרף לתחושה שבישראל הכל יותר יקר, כי כל הדומיינים של מדינות הם ממוצע יקר יותר מהדומיינים הכללים (com/org וכדומה).
אם תרצו לבדוק לעומק GPT יודע ממש טוב את הנתונים בעניין... -
אתר למסעדות כשרות - יש לזה ביקוש?רבותיי, אפיון המוצר, הצרכים, והבניה, הם נושאים חשובים וטובים אבל גם ענקיים אם לא ממקדים אותם.
הם ראשית חורגים מהנושא המקורי, ושנית גורמים לשיח להיות אין סופי, מטריח, וחסר ערך עתידי. אני מציע שאם פותח הנושא רוצה דיון על נושא, הוא יכול כמובן לפתוח נושא ממוקד לזה. וגם שאם מישהו אחר חושב לעזור לו גם לפתוח נושא עם התייחסות לנושא הזה ובלבד שיהיה ספציפי, או לשלוח מייל עם העצות וההערות/הארות.
תודה, וסליחה על הסדרנות, אני עצמי המסיט הראשון בשרשור הזה... -
שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסתנראה מדהים מדהים!!
לא הבנתי איך משתמשים, אחרי הוספת אובייקט הוא ניתן להזזה ואפילו לא לבחירה אחרי הוספת אובייקט נוסף. -
אתר למסעדות כשרות - יש לזה ביקוש?@אף-אחד-3 בקשר למודל הכלכלי שלך, לדעתי אתה טועה, תעשה הכל בחינם לכולם וככה תשיג את כל המידע ואת מירב הפופולריות, ואחרי זה או תוך כדי תתייעץ עם יועץ כלכלי איפה ועל מה לקבל תשלום.
-
אתר למסעדות כשרות - יש לזה ביקוש?לי ברור כשמש שיש ביקוש גדול לכזה דבר.
-
האצת TreeView ב-WPF על ידי וירטואליזציה עצמית@pcinfogmach כתב בהאצת TreeView ב-WPF על ידי וירטואליזציה עצמית:
כמו"כ אשמח לשמוע רעיונות איך להפוך את זה למשהו יותר כללי (כרגע הוא מגבל לסוג datacontext מסויים מאוד.
public static class TreeItemVirtualizationBehavior { public static bool GetEnableVirtualization(DependencyObject obj) => (bool)obj.GetValue(EnableVirtualizationProperty); public static void SetEnableVirtualization(DependencyObject obj, bool value) => obj.SetValue(EnableVirtualizationProperty, value); public static readonly DependencyProperty EnableVirtualizationProperty = DependencyProperty.RegisterAttached("EnableVirtualization", typeof(bool), typeof(TreeItemVirtualizationBehavior), new PropertyMetadata(false, OnEnableVirtualizationChanged)); private static void OnEnableVirtualizationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var item = (TreeViewItem)d; if ((bool)e.NewValue) { item.Expanded += setSource; item.Collapsed += setSource; item.Loaded += setSource; } else { item.Expanded -= setSource; item.Collapsed -= setSource; item.Loaded -= setSource; } } public static Func<object, bool> needPlaceHolders = (s) => false; private static void setSource(object sender, RoutedEventArgs e) { var treeViewItem = (TreeViewItem)sender; if (needPlaceHolders(treeViewItem.DataContext)) treeViewItem.ItemsSource = Enumerable.Repeat("", 1); } }צריך להפוך לספציפי בטעינת האפליקציה על ידי השמה של needPlaceHolders:
TreeItemVirtualizationBehavior.needPlaceHolders = (dataContext) => dataContext is TreeItem treeItem && treeItem.Items?.Any() == true;יש מצב שלא הבנתי מה שהקוד צריך לעשות ואם ככה שטעיתי גם בהצעה.
-
מיני דיסק עם יציאה אופטית, או דגם MZ-RH1@איש-אחד ליבי החסיר פעימה...
(נ.ב. כשכתבת פה לפני הרבה שנים זה כי היה לך זמן לעקוב אחרי פורומים
? ). -
שינוי תמונת הפתיח בפוטושופ@מד פתיחה של קובץ היא כמו פתיחה ישירה, רק ששמה את הפרמטר צריך לשים ברג'יסטרי
פעם עשיתי לזה סקריפט, ראה פה: https://tchumim.com/topic/3697
על פניו הסקריפט אמור להתאים לגירסאות אחרות ממה שמצויין שם. -
איזה שרת ואחסון מומלצים לפרויקט Laravel + Filament עם העלאת סרטונים?אתה בטוח שאת צריך דוקא שרת? אני חושב שאירוח אתרים יכול להתאים לך.
אירוח אתרים מתאים בעיקר לPHP, אירוח אתרים זה הרבה יותר שקט מבחינת תחזוקה, אפס תקלות בדרך כלל, עובד לנצח בלי מגע יד אדם.
בעיקרון גם ההכי זולים יעבדו לך, אבל בשביל מהירות כנראה צריך חברה לא זולה מידי, למשל Cloudways או משהו במחיר דומה (מאה ש"ח בחודש בערך). -
חידוש דומיין לאחר שנה ראשונה, יש טריק להוזלה במחיר?@shraga ההשערות ש@צדיק-תמים אמר הם עובדות:
א. הרשמים שמביאים מחיר זול מפסידים עליך ועוקצים אותך במגוון דרכים אחרות (לפעמים על ידי מחיר שנה שניה, אבל עוד הרבה דברים, למשל שאתה בכלל נמצא אצלם). קל לוודא את זה עם סיומות כמו .com שהמחיר האמיתי שלו שקוף לציבור, מעל 9 דולר. בהרבה חברות אתה יכול לקבל את זה בפחות בשנה ראשונה.
ב. המחיר האמיתי של הדומיין .forum הוא כמעט כלום. החברה שמחזיקה בו (Fegistry) לוקחת סכום בלתי ידוע מהרשם - זה חוזה פרטי בין החברה שבעלים על הסיומת לבין הרשמים, וסביר שכל רשם מקבל מחיר אחר לפי כוחו בחוזה. עם זאת סביר שcloudflair קיבלה מחיר טוב, כך שפה זה לא הנקודה לדעתי.הנקודה הראשונה חשובה מאוד.
החברות שעושות כסף מרישום דומיינים הם חברות "זולות" במובן השלילי של המילה. קהל היעד הם ברמה נמוכה: מתחילים/טירונים, חסרי ניסיון, או רמאים.. כל חברה שמציעה מחיר זול לשנה שניה, בעצם אומרת מפורש שהיא פונה לכאלו שמנסים את דרכם או מהמרים, או מקימים דברים זמניים. אם הכסף שלך מגיע מהחתך הזה (וזה בדרך בגלל שאתה באמת לא מספיק מקצועי/יוקרתי), אתה עושה הרבה קומבינות כדי להגדיל את הכסף, כי אתה לא מתעסק עם עשירים.
הקומבינות הידועות לי הם סל המוצרים הגרוע עם מגוון הונאות ומלכודות, שנה שניה וכל מיני כאלו, אבל מה שלא ידוע עשוי להיות גרוע בהרבה. סביר מאוד בעיני שהם מוכרים מידע, למשל את פרטי מחזיק הדומיין או לפחות סטטיסטיקות עליו.
בקיצור, מי שלא מתעסק עם אנשים חשובים, חשוד להתנהג בצורה בזויה.