אופטימיזציה ב-vb6
-
אפשר לקבל ולשלוח מידע בינארי עם http אבל זה לא עוזר למה שאמרת "לדבר עם השרת בשפת תכנות", בשביל להשיג תוצאה כזו עולה ברעיוני שאפשר להשתמש ב websockets עם איזשהו eval בצד השרת וגם להיפך לשלוח פקודות js לקליינט ולבצע eval בקליינט
פורסם במקור בפורום CODE613 ב04/04/2016 22:38 (+03:00)
-
@רחמים
וכל הדפדפנים מציגים HTTPאתה מבלבל אולי בין HTTP לבין HTML??? אין שום קשר בין הדברים, דפדפנים יודעים לרנדר טקסט של HTML לתצוגה, אני מדבר על פרוטוקול שניתן להעביר בו מידע קצת מעבר לטקסט, ולדבר עם השרת בשפת תיכנות, ולא להמיר כל הזמן טקסט למשמעויות שונות, האם זה אפשרי?? ייתכן שלא.
בשביל זה לא צריך פרוטוקול חדש שכל הדפדפנים יצטרכו ללמוד, פשוט ספריית עזר שתהיה בצד שרת ובצד לקוח, ואתה תדבר עם הספריה בשפת תיכנות והיא תתרגם את זה ל HTTP ובחזרה.
אגב, HTTP ו HTML הם צמד חמד, HTML זה HyperTextMarkup Language, ו HTTP זה HypertextTransfer Protocol
פורסם במקור בפורום CODE613 ב05/04/2016 09:45 (+03:00)
-
מאידך, אם אתה רוצה לעשות דטה-בינדיג דו כיווני אז זה הרבה יותר מסובך וצורך ביצועים בווב, משא"כ באפליקציה שולחנית, הלא כן? אמנם באנגולר 2 שיפרו את הנקודה הזו, אבל דווקא אתה המלצת שלא לעבור לגרסא2 אלא להשאר בגרסא אחת..
כמו כן, כל פעם שאתה קורא לשרת, אז הוא פונה לדטה בייס וטוען את הנתונים ושולח לך את המידע. משא"כ כשהאובייקט חי ברקע, ואתה פשוט יכול לגשת אליו מכל מקום..הבינדינג הדו כיווני זה עניין של תכנון. לא חייבים אותו, ואם חייבים זה אפשרי בכל פלטפורמה, לא כ"כ קשה. הביצועים לעניין זה לא מעניינים באמת מישהו.
בקשר לטעינות מיותרות מהDB אז זה גם עניין של תכנון כמו שארכיטקט כתב. אבל גם אם כן, אז מה?
פורסם במקור בפורום CODE613 ב05/04/2016 12:05 (+03:00)
-
כל הישויות המורכבות של DOTNET. מוכרבות בסופו של דבר ממידע בינארי פשוט.
אתה גם יכול לממש את זה על איזה תקן משלך.
אני חושב שבטלריק אתה יכול לקבל תמורת תשלום פקדים חיים. באותו טכנולוגיה כמו שיש בשולחני.
אבל זה כבר דפוק לנסות לבנות את הווב בראש שולחני. צריך לבנות ווב בראש של ווב.פורסם במקור בפורום CODE613 ב05/04/2016 17:56 (+03:00)
-
אין אפשרות לפתח פרוטוקול שיתמוך בישויות מורכבות????
או שאני מדבר מתוך עם הארצות ובורות גמורה, ואולי יש איזה סוד כמוס שהפרוטוקול צריך להעביר טקסט דייקא ולא מצביעים לאובייקטים :? :? :?ברגע שאין לך מצביע לזיכרון, התקשורת היחידה שיש זה סריאליזציה לטקסט או בתים וחזרה. אין דרך אחרת. ישויות מורכבות זה לא בעיה, כי יש פורמטים בינאריים וטקסטואליים שעושים זאת יופי אבל עדיין זה לא יהיה מצביע לזיכרון. אפי' באותה המכונה מתוכנה לתוכנה קשה להיעזר במצביעים.
אתם פתאום עוברים לדבר על "שליחת הוראות" מהשרת ללקוח וזה גם צורך של חוסר תכנון. אין שום טעם במצב הזה.
פורסם במקור בפורום CODE613 ב05/04/2016 12:08 (+03:00)
-
וכל הדפדפנים מציגים HTTP
אתה מבלבל אולי בין HTTP לבין HTML??? אין שום קשר בין הדברים, דפדפנים יודעים לרנדר טקסט של HTML לתצוגה, אני מדבר על פרוטוקול שניתן להעביר בו מידע קצת מעבר לטקסט, ולדבר עם השרת בשפת תיכנות, ולא להמיר כל הזמן טקסט למשמעויות שונות, האם זה אפשרי?? ייתכן שלא.
פורסם במקור בפורום CODE613 ב04/04/2016 20:52 (+03:00)
-
@דוד ל.ט.
עם תקשורת פרימיטיבית ביניהםכמה שזה נכון!!! בתחילת דרכי עם עולם הווב, לקח לי כמה חודשים לעכל שכל הפלט והקלט של HTTP זה טקסט בלבד, ט-ק-ס-ט כמה פרימיטיבי. את הכל עיקמו בשביל ליישר קו עם הפרוטוקול הזה, עשו Base64, מאות אלפי פריימוורקים ליצור הפשטה של כל העסק הזה.
וכל כך למה כי תמיד יש רק מדען אחד שממציא משהו פעם במאה שנה (פרוטוקול HTTP במקרה שלנו) וכל החברות המסחריות פרזיטים בני פרזיטים, רק מחפשים איך אפשר לעשות כסף מההמצאה שלו וכמה שיותר מהר. אין אפשרות לפתח פרוטוקול שיתמוך בישויות מורכבות????
או שאני מדבר מתוך עם הארצות ובורות גמורה, ואולי יש איזה סוד כמוס שהפרוטוקול צריך להעביר טקסט דייקא ולא מצביעים לאובייקטים :? :? :?הסיבה שלא עברו לפרוטוקול אחר היא שבסופו של דבר הלקוח רואה את האתר שלך בדפדפן, ולכל אחד יש דפדפן שהוא אוהב וכל הדפדפנים מציגים HTTP, אם היית מביא ללקוח את האתר ביחד עם הדפדפן היית מתקשר בין השרת ללקוח עם איזה פרוטוקול שתרצה, אבל אתה נתון לחסדי כרום ופיירפוקס ואקספלורר....
פורסם במקור בפורום CODE613 ב04/04/2016 19:44 (+03:00)
-
כמו כן, כל פעם שאתה קורא לשרת, אז הוא פונה לדטה בייס וטוען את הנתונים ושולח לך את המידע. משא"כ כשהאובייקט חי ברקע, ואתה פשוט יכול לגשת אליו מכל מקום..
מי הכריח אותך "להרוג" אובייקטים בשרת?? זה עניין של ארכיטקטורה מקובלת, והתפיסה של ווב היא שאתה צריך להפגין יכולת עמידה בעומסים כי אולי יום אחד תהיה גוגל, אבל הבחירה בידיך להשאיר אובייקטים חיים בשרת (על ידי static או פשוט להצמיד אותם לסשן, שזאת אפשרות לא רעה בכלל וגם מאפשרתלהרוג אותם ביחד עם הסשן שמת בלי צורך באירועים מיוחדים), יש לי המון קוד שבנוי בארכיטקטורה הזו וזה יעיל מאוד. אם אתה יודע את כמות הנתונים שלך, אתה יכול נניח פעם בעשר דקות לרענן אותם מול מסד הנתונים, או לעשות אופטימיזציה על ידי כך שרק רשומות שעודכנו לאחרונה עולות וכן הלאה. בסך הכל מחזיק אובייקטים סטטיים באפליקציה, ומהירות התגובה לא תיאמן במקרים כאלו.
פורסם במקור בפורום CODE613 ב04/04/2016 19:35 (+03:00)
-
@דוד ל.ט.
עם תקשורת פרימיטיבית ביניהם
כמה שזה נכון!!! בתחילת דרכי עם עולם הווב, לקח לי כמה חודשים לעכל שכל הפלט והקלט של HTTP זה טקסט בלבד, ט-ק-ס-ט כמה פרימיטיבי. את הכל עיקמו בשביל ליישר קו עם הפרוטוקול הזה, עשו Base64, מאות אלפי פריימוורקים ליצור הפשטה של כל העסק הזה.
וכל כך למה כי תמיד יש רק מדען אחד שממציא משהו פעם במאה שנה (פרוטוקול HTTP במקרה שלנו) וכל החברות המסחריות פרזיטים בני פרזיטים, רק מחפשים איך אפשר לעשות כסף מההמצאה שלו וכמה שיותר מהר. אין אפשרות לפתח פרוטוקול שיתמוך בישויות מורכבות????
או שאני מדבר מתוך עם הארצות ובורות גמורה, ואולי יש איזה סוד כמוס שהפרוטוקול צריך להעביר טקסט דייקא ולא מצביעים לאובייקטים :? :? :?פורסם במקור בפורום CODE613 ב04/04/2016 19:31 (+03:00)
-
התשובה שלי נכונה גם לשאלה הקודמת שלך. עניתי לך תשובה לשני הבעיות.
אמנם אינני ראוי לחלוק על mat, כיון שאין לי את הידע והניסיון שלו.
אך נראה לי שלא כל דבר יותר טוב לפתח בצורה וובית, יש דברים שאין שום צורך שיהיו בווב וממילא יותר פשוט לפתח אותם בפלטפורמה שולחנית (wpf, או הפלטפורמה החדשה של וינדוס - Universal Windows Platform - UWP שמאפשרת לפתח אפי' ללא ידע בC# אלא רק JS, HTML, CSS אם הבנתי נכון. עיין כאן, ו כאן).
כיון שפיתוח לווב הוא הרבה יותר מורכב שהרי התוכנה מתחלקת לקליינט ולסרבר, וממילא כל הזמן צריך לעדכן את הקליינט ולבדוק איזה אובייקט השתנה, וממילא יש את כל הספריות כדוגמת אנגולר וכדו' שצורכים הרבה ביצועים וכו'. דברים שבפיתוח שולחני הרבה יותר פשוט לעשות אותם כיון שכל הזמן יש לך אובייקט שחי ברקע, וכשמשהו משתנה - יודעים בדיוק מה השתנה ואפשר לעדכן את החלק של הUI שצריך, ולא לבדוק שוב את כל הDOM.
אז נכון שפיתוח וובי הוא חוצה פלטפורמות, והוא מתאים לכל מכשיר ולא צריך להתקין אותו על כל מחשב.. אך מאידך - צריך להחזיק שרת ואבטחה וכו'.
קיצר - לכל דבר יש חסרונות ויתרונות וצריך לבדוק מה הפלטפורמה המתאימה לכל צורך.
וכמובן שאני מסכים איתו לגבי מה שהוא התכוון שצריך לעזוב את VB כמה שיותר מהר.. ולעבור למשהו קצת יותר עדכני (למרות שאינני מכיר את VB)
והנלע"ד כתבתי ודו"קפורסם במקור בפורום CODE613 ב03/04/2016 22:39 (+03:00)
-
יש כאן טיפים:
http://www.vb6.us/tutorials/optimizing-vb-applications
כלי בתשלום - דמו חינם לחודש עד 10 קבצי מקור:
http://www.aivosto.com/vbwatch.htmlפורסם במקור בפורום CODE613 ב03/04/2016 20:01 (+03:00)
-
אופטימיזציה לתוכנה באופן כללי, בלי להצביע על פונקציה מסויימת, איך אפשר לענות על דבר כזה??? זה פשוט ללמוד את כל הקוד מבפנים, ולנסות לעשות לו קאיזן אינסופי, במקרה כזה אני בהחלט מקבל את התשובה של מאט ורחמים, יותר קל לבנות תוכנה מאפס מאשר ללמוד קוד של מישהו, אלא אם כן זה אותו מישהו ששואל כאן, ואז עליו להצביע על פונקציות מסויימות.
לגבי לקוח שלא רוצה לשלם, אבל רוצה שיעשו עבורו את כל העבודות שבעולם כלול במחיר שנקבע מראש על ידו, יש 2 דרכים, לתת לו להירקב לאיטו, או להאיץ את תהליך הריקבון באמצעות חומרים כימיים. בסוף עוד יתברר שהוא התקמצן על רכישה של מחשב חזק יותר.פורסם במקור בפורום CODE613 ב03/04/2016 18:35 (+03:00)
-
ואם מדובר על שנה עבודה והלקוח לא רוצה לשלם? או בארגון שלקבל אישור להרים IIS לוקח שנתיים? מי שעובד עם VB6 כנראה יש לו אילוצים, הוא שאל שאלה ואתם פשוט עונים מה שנוח לכם במקום על השאלה, אם לא יודעים לא חייבים לענות.
פורסם במקור בפורום CODE613 ב03/04/2016 16:23 (+03:00)
-
VB6 כבר לא נתמכת על ידי מי שיצר אותו וכבר 18 שנה שהשפה לא מתקדמת [משנת 1998], לעומת זאת דוטנט למשל תמיד משופר לא רק בשפה הגלויה למתכנת אלא גם במימוש הפנימי של הקצאה ושחרור זכרון, מבנה האובייקטים וכו' וכו'.
ומכאן שהתשובה שאפשר לעשות אופטמיזציא אבל זה כמו לעשות אופטמיזציה לסוס ועגלה, כמה זה יכול כבר לעזור אם ה GC של VB6 לא בנוי כמו שצריך ויש בו המון באגים, והקומפילר מיושן, וכן על זה הדרך.@ויקיפדיה
מהירות הריצה של שפה זו איטית יחסית לשפות כמו C, C++ ופסקל. בפעילות חישוביות כמו חיפושים ומיונים ניכרת האיטיות שלה. ולכן היא לא מתאימה לכתיבה של עיבודים כבדים כמו עיבודי וידאו.
אז באמת חבל על הזמן, תעבר לדוטנט או לווב, תלוי מה ציבור היעד שלך, שולחני או אינטרנטי.
פורסם במקור בפורום CODE613 ב03/04/2016 15:45 (+03:00)