@nigun @קינג-קומפיוטר אני מתנצל שלא הצבעתי
הנה מהבעיות הראשונות של אתרוג.. METHOD PUT לא עובד ולכן לא ניתן להצביע..
קבלו את התנצלותי..
בל"נ בהמשך ברשתות אחרות..
חוקר
-
התחברות לסיבים באמצעות נטפרי על גבי תשתית רימון -
חומת האש באובונטו@yossiz אמר בחומת האש באובונטו:
@חוקר היה כדאי אולי לפתוח נושא חדש לזה... התשובה היא:
echo "deny x.x.x.x" | sudo tee /etc/nginx/blockips.conf > /dev/null
ההסבר אולי אני אכתוב בהזדמנות אחרת
הבעיה שזה דורס את הקובץ במקום להוסיף בסופו.
צריך פשוט להוסיף את הדגל של -aecho "deny x.x.x.x" | sudo tee -a /etc/nginx/blockips.conf > /dev/null
-
קישור לא תקין של פורום מקצועות@מוטי-אורן אמר בקישור לא תקין של פורום מקצועות:
זהו שירות לקיצור קישורים
בדר"כ כשמדובר בלינק קצר כמו כאן שמופנה ס"ה ללינק הראשי של https://מקצועות.com אין צורך לקצר אותו יותר..
וא"כ מסתבר שהמטרה כפי שכתבתי לספירת הקליקים על הלינק -
אימות עסק בפייסבוק/וואטסאפ APIברוך השם, בשעה טובה הצלחתי!
התקשרתי לחברת החשמל וביקשתי לשנות את השם שלי לשם העסק.
לאחר מכן ביצעתי תשלום של חשבונית פתוחה והקבלה הגיע עם שם העסק
שם מופיעים השם והכתובת.
בנוסף כבר החלפתי בעבר גם בסופרגז לשם העסק ושם מופיע גם מספר הטלפון.
מקודם צירפתי את הפרטים שוב, תעודת עוסק מורשה לשם העסק, וקבלה מחברת החשמל + העתק קבלה מסופר גז עבור הכתובת והטלפון, ולאר כשעה קיבלתי הודעה למייל שהאימות בוצע בהצלחה -
נורית חיווי שדולקת חלק במצב כבוילמען האמת אני חייב להודות באשמה שהייתי יכול לפתוח מיד ולבדוק את החיבורים, בלי להעלות את הנושא לפורום.
אלא שידעתי שזה לא יקרה כ"כ מהר.. (כבר כשלושת רבעי שנה בדירה וזה לא זז)
אך ידעתי שאם אכתוב ואשאל על כך, כבר אהיה מוכרח לסדר זאת על פי התשובות.
אני מתנצל אם זה הפריע למישהו.. -
נורית חיווי שדולקת חלק במצב כבויאכן פתחתי כעת וראיתי שהחוטים של הנורה לא היו מחוברים טוב.
השלילי היה מחובר אחורי המתג, והחיובי לפני המתג שזה אומר מחובר תמיד.
אני לא הכי מבין איך זה דלק חלש אם השלילי אמור להיות מנוטל כי הוא לאחר מתג, אבל תכלית את החיובי ג'כ העברתי למאחורי המתג וכעת הנורה דולקת רק כשהדוד פועל.
תודה לעוזרים -
לימוד Asteriskואני אומר שיש מספיק פרנסה לכולם, ואדרבה אני חושב שרוב הציבור כאן בפורום נותן משלו למתחרים שלו, ומאמין באמונה שכמו שלנר אין בעיה להדליק אחרים וזה לא מחסיר ממנו, כך להעביר מידע ורעיונות לא אמור להחסיר.
כמובן שאין הכוונה לכתוב בריש גלי את המחלקות וארגז הכלים האישי שצברת, אבל עזרה נקודתית והנחיה, כולנו כאן נותנים בשמחה. -
סביבת טסטים לשלוחת API בימות המשיחלינק לפוסט שפירסמתי בפורום ימות
סביבת בדיקה לשלוחת API שמשרשר את הבקשות בקלות.
היות ויש בינינו מתכנתים בימות שאינם מדפדפים הרבה בפורום ימות, לכן אני מעלה גם כאן את הלינק -
JS תיבת תפריט בחירת תאריך משולב עברי ולועזילמעשה שידרגתי קצת ועשיתי כלאים של שתי ספריות.
יש גם תפריט בחירת יום לועזי או עברי
וגם אפשרות של בחירת טווח תאריכים
ואגב, 37,153 זה מספר המבחנים שהיו ביום רביעי (י"ח טבת תש"פ) בישיבה על קברו -
שירות לקוחות ושדרוגים של מתכנת עצמאיהאמת נושא שלפעמים זה כאוב, ואני חושב שאולי יחד עם חברי הפרום ניתן להגיע ליותר תובנות בנושא ולשפר אותו.
מתכנת שעובד עצמאי, ויש לו ביקוש (או אפילו לאו דווקא) והוא מוצף בעבודה (או בלמידה), יש מצב, ונושא שירות הלקוחות מגיע לו בקושי.
המתכנת לא זמין בטלפון, לא מטפל בכל הבקשות, אמר שהוא מקווה שעד יום רביעי זה יהיה מוכן ובסוף נדחף לו פרוייקט אחר יותר מעניין לתוך סדר העדיפויות וכו'.
והלקוחות? יש כאלו שמיד ברגע הראשון אתה יודע שאיתם אתה תסתדר, הם ישלמו בזמן, הם לא ידרשו הרבה, וגם לא ישגעו אותך אם זה לא יהיה מוכן וכו'.
בדר"כ הזמנות של לקוחות כאלו עולים למעלה בסדר העדיפויות.
לעומת זאת, יש לקוחות שהתחילו עם הזמנה שנראית פשוטה ותמימה, אבל אח"כ אתה קולט שהם תיכננו שתבנה להם את מגדלי התהומים, רק שהם לא ניסחו את עצמם כראוי.
והם רודפים אחריך, וכמובן שאין להם לשלם בדיוק לפי הציפיות, ואם אתה לא מתייחס הם עושים את עצמם הכי מסכנים בעולם, ובגללך הם לא מרוויחים/הם מפסידים כסף, והנה כעת יש להם הזדמנות, אם רק תוסיף את הפיתוח הספיציפי הנוכחי למערכת (ומה זה כבר סך הכל?) אז יתחילו להרוויח מזה את המיליונים, והם מציעים שאולי כדאי לך להיות שותף פעיל, לקבל לפי האוחזים וכו' וכו'.
קשה להתחמק מהם, כי אתה מרגיש חסר לב, בן אדם נלחם על פת לחמו ובידך לעזור לו, ומצד שני אתה לא מחוייב להקריב את חייך עבורו, בזמן הזה תוכל להרוויח ביותר קלות ולהביא תועלת אחרת לעולם.
כמו כן יש לפעמים פרוייקטים שנקטעים בגלל סיבה טכנית, למשל זה דרש התחברות לAPI מול שרת חיצוני, ובסוף זה לא בא בקלות בגלל כשלים בחיבור וכדומה, ואז אפילו כשזה כן הסתדר אתה מרגיש שזה כבר לא ריווחי הפרוייקט וזה אוטומטי יורד מסדר העדיפויות, וכאשר הוא יצטרך שדרוג זה לא יבוא לו בקלות.
בקיצור לכל אחד יש את הסיפורים שלו, והנסיון שלו.
אני רוצה בפורום זה להעלות את הנושא ולשאול כך:
מהו המחוייבות של מתכנת שפיתח מערכת, והלקוח בא ומבקש שידרוגים והוספות, ובלשון המעטה זה לא מושך את המתכנת, כל אחד מסיבותיו שלו.
האם וכמה הוא כן מחוייב, או בכלל לא מחוייב.
מה הנוסח שכדאי להסדיר עם לקוחות לפני התחלת מתן שירות.
ומה עושים באמת עם לקוחות שמתקשים איתם?
וכן כל תובנה או שאלה אחרת בנושא.
מה דעתכם?
האם אני מדבר כאן לא לעניין? או שזה נושא (כאוב או אהוב) שכן כדאי לפתוח אותו.@dovid אשמח אם תאשר האם הנושא הזה מתאים לדיון.
-
תמחור פרוייקט@chagold אמר בתמחור פרוייקט:
ובתחום הזה של תכנות, למרות שהנסיון מקדם וכנ"ל. אבל מצד שני, גם מתכנת מקצועי שמתמחר עצמו לפי שעות, אז יש שעות של עבודה סיזיפית שלא בהכרח תלויים בכישרון המתכנת ובידע שלו, וכוללים ניסוי ותעיה גם למתכנתים עם נסיון (לדוגמא קידוד עיצוב ב-HTML, מי יותר ומי פחות) והוא לא עדיף בזה כ"כ על המתכנת הבינוני, ובכ"א מותר לו לקחת את המחיר הגבוה שהוא מתמחר את עצמו. (וכמו חברה שמתמחרת את עצמה במחיר יותר גבוה כיון שיש מערכת (רווח של בעל החברה, שכירות משרד וכו') שגוזרת קופון על העבודה, ובכ"א זה הוגן לגמרי).
פשוט מאוד, עם כחלק המהפרוייקט על המתכנת המדופלם לבצע ג"כ עבודת קלדנות פשוטה (שלא ניתן להעביר לקלדנית), הוא ג"כ יקח את המאתיים ש"ח לשעה או יותר, כי בתכלית זה המחיר ששוה הזמן שלו! והוא יכול בזמן זה אכן לעשות שירות ששווה את התעריף היקר שלו.
ומצד שני לא כל פעם הוא יקח לפי שעות כי זה רק מבוסס על העתק הדבק וכו'.אבל לדעתי ודאי שיש מושג של מקצועיות ששווה כסף, דוגמא פשוטה, בימות המשיח יש שלוחה של קבלת נתונים, כל אחד שמתמצא בימות כמו שצריך יכול לבנות שלוחת ההרשמה וייקח על זה מאתיים שקלים, והדוחות יצאו בקבצי HTML או YMGR (למי שמכיר את ימות). אבל אם הוא מתכנת שבונה בשפת קוד ועושה זאת בשלוחת API, הרי שהוא יכול לבקש בשקט נפשי כמה וכמה מאות, על עבודה של פחות זמן (אם הוא אכן עושה במקצועיות), כי בדר"כ בסופו של דבר הוא יתאים את השלוחה יותר טוב לדרישות, יבנה טבלאות בבסיס נתונים אמיתי, ימנע כפילויות, ייתן אפשרות של שינוי הרשמה קודמת, או כל מיני פיציפ'קעס אחרים קטנים, שכשאתה עוצר ואומר אז מה בשביל התוספת הזו עלי לשלם * 4 מהמחיר? הרי אותו דבר ניתן לבנות במודולים של ימות המשיח, ולא יהיה לי את התוספת הקטנה הזו, נתמודד, נבצע מיון כפילויות באקסל וכו'.
זה נכון, והשאלה מורכבת ממי הלקוח, מה המטרה שלו ומה התקציב שלו, יש שיאמר לכזה דבר קטן אני לא מוסיף שקל, אני גומר את הסיפור במאתיים שקלים, (כגון קו הרשמה לנסיעה לחתונה פלונית, שכל הרווח של המארגן [אם בכלל] הוא מאתיים ש"ח, אז ודאי שהוא לא יישלם 800 ש"ח למשהו איכותי, ואכן הוא לא צריך לעשות זאת). ומצד שני אם מדובר במוסד שמכבד את עצמו, עבור אירוע מכובד שהושקע בו 150-200 אלף ש"ח, אז לשלם עוד 600 ש"ח ותיהיה להם מערכת מקצועית ומכובדת שמכבדת את המוסד, כן בהחלט, שווה להם.
בשורה אחרונה, כמעט תמיד יהיה למקצועי לפחות איזה שהוא יתרון קטן על פני האחר, ולפעמים עבור היתרון הזה משלמים כפול עשר ויותר מהמחיר בשוק, אבל זה שווה ללקוח.
ולענ"ד זה מה שהתכוון המהרשד"ם בתשובה לעיל, דו"ק ותשכח. -
תמחור פרוייקטלא היה לי את הזמן להגיב (וגם עכשיו זה בקושי) רק אצטט משהו קטן לגבי הנידון של עצם השאלה הראשונה כאן בשרשוש האם זה מן היושר לקחת מחיר גבוה עבור עבודה.
להלן צילום מתוך תשובת מהרשד"ם (פוסק לפני 400 שנה) חו"מ סימן שע"ב.
ותמצית התשובה, תיקח כמה שמגיע לך ללא פקפוק!
מה שנוגע הוא הקטע הראשון של התשובה. הדגשתי את העיקר
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
תודה רבה לכל אלו שעזרו וסייעו
@david @יוסף-בן-שמעון @אהרן @magicode @clickone
מקוה שלא פיספסתי מישהו.
ב"ה הייתה התקדמות משמעותית היום, השלמתי בניית מערכת שעובדת בצורה חלקה, כמובן בעזרתכם.
עדיין לא גמרתי, אני לא למדתי עדיין מספיק את השפה, אבל כבר היה מספיק בסיסי כדי לעשות משהו שזז באמת..
במיוחד תודה ל @magicode על הדוגמה הראשונה שנתן, זה נתן לי פריצת דרך רצינית, וכן לימדה אותי פרק נוסף בנושא.
וכן ל @david שדחף אותי להיכנס לזה..
תודהנ.ב. אני מקוה שסיימתי לאשכול זה, הנושא הבא כבר יהיה באשכול חדש..
למי שעדיין לא שם לב, אכן דובר כאן הכל על צ'רידי, אבל יישמתי את זה בגדול דבר ראשון על קוזמאצ'..
*8002
חדי אוזן יכולים להשים לב למהירות התגובה של שלוחת שמיעת מצב הקמפיין ותרומות אונליין, לעומת מה שהיה בקמפיינים קודמים שלי עם צ'רידי שהיו באמצעות PHP.
בעזה"י בהמשך נשלים גם מול צ'רידי. (אולי עבור קמניץ?)
שוב תודה ענקית לכל אלו שיעצו ועזרו.
נ.ב. @david בהתחלה לא קלטתי את הרעיון של נוד, אבל לאחר הדוגמה הראשונה של @magicode וההסבר של @אהרן קלטתי מה התכוונת, ולכן נכנסתי לזה חזק.
כעת יהיה עלי לתכנן לפני כל מערכת באיזה שפה עדיף.. -
וויסות עומסים של שרתיםאולי חלק מנידון זה שייך לסעיף חומרה ולא לתכנות, אבל אני צריך את עזרת המתכנתים ולא כ"כ את הטכנאים...
אני משתמש בשרת לינוקס על AWS והתקנתי עליו LAMP.
אני מתכנת מערכות טלפוניות באמצעות API עם ימות המשיח.
רוב המערכות שלי בדר"כ זה PHP וMYSQL שמותקן על השרת והגישה עליו היא
ב localhost.
ב"ה בדר"כ לא חוויתי תקלות ואני מסתפק בשרת t3.small של 2 מעבדים ו 2 ראם.
בקמפיין של עטרת שלמה היה ב"ה עומס גדול, בפרט בערב, והתחלתי לחוש שהשרת שלי נושם עמוק מידי, לקח לו הרבה זמן תגובה.
מה שעשיתי למעשה, זה שהתחלתי לחלק את השלוחות לשרת אחר שהיה לי מוכן (שלוחת אידיש עבדה יותר מהר מי ששם לב, כי זה העברתי מיד על שרת נפרד, והתנועה בו הייתה דלילה יותר) ולאחר מכן הרמתי עוד שלושה העתקים של השרת ויצרתי שלוחה רנדומאלית בימות המשיח שתפנה כל פעם לשלוחה אחרת, שכל שלוחה מחוברת לשרת אחר.
למעשה שלוחת שמיעת מצב הקמפיין לא היה מחובר לד"ב, אלא חיבור ברגע אמת לשרתי צ'רידי לשליפות מצב הקמפיין. (ע"י file_get_contents)
בעת העומסים של הקמפיין הCPU היה בסך הכל בסביבות ה20 ,כאשר רובו הוא של httpd השרת אפאצ'י.
בדר"כ עיקר הCPU הוא מה SQL.
ובשרתים החדשים שהרמתי לקמפיין ג"כ הCPU נע בסביבות 10 רובו של httpd.
יש לי כמה נקודות שברצוני להבין.
א. נראה שהבעיה לא הייתה ביכולת המעבד כי כמו שכתבתי הCPU היה נמוך.
א"כ מה כן הבעיה?
ב. אם אני רוצה לאזן עומסין בין כמה שרתים, איך עושים את זה, והשאלה מורכבת בעיקר לגבי מערכות שכן צורכות SQL ואני צריך ד"ב אחיד, איך עושים בצורה שלא יאט את המהירות (האם יש מצב להגיע לאותו מהירות כמו בlocalhost כאדר הד"ב בשרת נפרד?)
ואיך זה מבחינת העלאת הקבצים לשרתים? איך יוצרים קבוצת שרתים שכולם מתעדכנים בקבצים חדשים? ואיך יוצרים IP שמחולק בצורה אוטומטית לפי עומסים, בין השרתים?
או אולי לבודד מראש כל מערכת לשרת/ים נפרד/ים, לפי העומס הצפוי להיות במערכת זו? א"כ מה לעשות לגבי המערכות הקבועות?
או להישאר עם שלוחה רנדומאלית בימות, שהיא תווסת את העומסים.כנראה יש עוד נקודות בנושא שעדיין לא בראש לשאול אותם.
אך בקיצור הייתי שמח לקצת הדרכה להתמודד עם עומסים ושרתים בצורה נכונה ומתוכננת מראש.בנוסף ישנם דברים שהייתי יכול לעשות ע"י SQL, לדוגמה, המערכת הייתה שולחת את מספר הטלפון לבדיקה מול צ'רידי האם קיים מתרים על מספר זה, וא"כ היה משמיע לו תפריט לשמיעת מצב התרומות שנתרמו על ידך, אחרת זה היה משמיע, לחיפוש מתרים ע"י הקשת המספר שלו הקש שתיים, וכו'.
כעת זה היה בנוי שהכל בוצע ישירות מול צ'רידי בכל שלב במערכת.
והאמת שהעדפתי להמנע מSQL כי חשוב לי מאוד שזה לא יקרוס.
השאלה היא האם כן היה עדיף לעשות אצלי בSQL טבלה של המתרימים, והמערכת הייתה בודקת אצלי האם קיים מתרים למספר הטלפון, ולהציע תפריט לפי זה.
ואז הייתי עושה סקריפט שפעם בעשר דקות / חצי שעה זה היה שולף את נתוני המתרימים מצ'רידי ומעדכן אותם בטבלה.
במקרה זה הייתי מעמיס יותר על הSQL ופחות על שליפת נתונים חיצוניים על ידי file_get_contents.
והאמת שניתן אפילו לעשות זאת לגבי התרומות עצמם, טבלת מצב הקמפיין שמתעדכן כל דקה, והמערכת תשלוף את הנתונים רק מהטבלה ולא מצ'רידי בכל שיחה.אשמח לחוות הדעת של המומחים כאן, איך ומה ניתן לעשות לגבי הנ"ל.
תודה -
תכנות מהבית ומהמשרד, איך לשלב ביניהםאני עובד ככה:
בבית נייח עם IP קבוע, תיקיות העבודה, הן של קבצי הקוד (כולל node_module, מה אכפת לי, אני לא מתקין הרבה פעמים ספריות, ואפילו אם אני מתקין זה תוך כמה דקות מסתדר) והן של קבצים, שמע אקסלים וכו' של לקוחות נמצאים על הדרופבוקס.
יש לי מחשב נייד לעבודה מחוץ לבית, שם מותקנים לי כל התוכנות שלי (phpstorm וכו') כמו במחשב באותם נתיבים (כונן D)
בעיקרון אני משתמש עם RDP למחשב בבית כי הוא מעבד יותר חזק, אבל כשאין לי גלישה רציפה (בנסיעה מנס הרים וכדומה) אני פותח את התוכנות במחשב הנייד ועובד משם וזה מסתנכרן חזרה דרך הדרופבוקס מיד כשיש רשת, ואפילו תוך כדי נסיעה כשחוזר להיות קליטה יציבה אני חוזר לעבוד על המחשב הנייח באמצעות ה RDP.
אני מרוצה מזה
אציין שלפעמים חוויתי בעיה בהתקנת ספריות כאשר דרופבוקס פתוח, כי יש לו מנגנון של איתור מחיקות וכדומה שהיה מפריע למחוק תיקיות זמניות שנוצרו וכו'. התרגלתי להשבית את הדרופבוקס כשאני מתקין משהו, ומיד אח"כ מדליק שוב ונותן לשינויים להסתנכרן לגיבוי ולמחשב השני -
בסיס נתונים עם עמודות דינאמיות בדומה ל CRMיוצא לי לא אחת שאני צריך לתת ללקוח אפשרות של עמודות דינאמיות, דהיינו לכל לקוח שדות שונות באותה טבלה.
עד כה הייתי משתמש בטבלה עם עשר עמודות נוספות מעבר לבסיס הקבוע, והם נקראו בישראל "שדה נוסף 1" וכן הלאה.
אבל אני מחפש כעת להבין איך זה עובד בכל חברות ה CRM שכל לקוח יכול לשנות ולהוסיף עמודות וטבלאות לכאורה כאוות נפשו, הוא צריך אולי להגדיר את סוגי השדות אבל בתכלית ניתן להוסיף עמודות כצרכיו.
זה נוגע לי כעת שלקוח ביקש לי מערכת שתצטרך להיות לכאורה די דינאמית ומשתנה בין צורך לצורך.
כידוע MYSQL הינה שדה טיפוסית וחייבת הגדרה ברורה מראש של כל העמודות, ולכן הדרך היחידה העולה בפני לבצע זאת באמצעות MYSQL הינה לכאורה 3 טבלאות, אחת של שמות הטבלאות, והשניה של העמודות לכל טבלה, והשלישית של הנתונים עצמם משהו בסגנון של ( כמובן מזהה שורה A I), מזהה מנוי, מזהה טבלה, מזהה עמודה, והתוכן.
ובכל הצגת טבלה זה בעצם לעשות איזה שהוא סוג PIVOT לנתונים.
אבל נשמע לי די הזוי, די זולל משאבים ודי עבודה. (וייתכן מאוד שאני לא צודק, ואותו מנוע MYSQL שמטפל בהצגת טבלאות ועמודות רגילות יכול בקלות לעשות זאת מתוך הנ"ל באמצעות אינדקסים טובים).
למען האמת אני לא מכיר עדיין בסיסי נתונים אחרים.
אך יותר נשמע לי שהם משתמשים בבסיסי נתונים מסוגי אחרים, ששם אין צורך להגדיר מראש את השדות וזה נשמר יותר כמו אובייקטים בדומה ל JSON ואין צורך להגדיר כלום מראש, ואז יש רק טבלת נתונים וטבלת שדות (לצורך תצוגה, לתת ללקוח את המידע מראש של השדות הקיימים) והנתונים עצמם שמורים כל שורה כל העמודות כמו בטבלה מוגדרת מראש.
אשמח מי שיכול לשפוך קצת אור על העניין, ובעיקר איך ניתן לעשות זאת באמצעות הסביבה המוכרת שלי MYSQL..
תודה -
JS מחרוזת טקסט עברית הפוך עבור מדפסת קופה@yossiz כתב בJS מחרוזת טקסט עברית הפוך עבור מדפסת קופה:
@חוקר זה לא גופן שכל התווים ברוחב זהה? אם כן תוכל לדעת מראש איפה הוא יגלוש לשורה הבאה, ולחפש אחורה לרווח ושם לשבור שורה
בסוף הגענו לזה..
אכן במדפסת זו (80mm) ניתן להכניס בגופן הרגיל 48 תווים
לקחתי מכאן פונקציה לפיצול מילים
וב"ה זה התוצאהawait printer.text(typeof row.value === 'string' ? row.value.split('\n').map((line) => { return line.match(/\S.{1,48}(?=\s|$)/g).map(reverseRTLchars).join('\n'); }).join('\n') : row.value);
-
JS מחרוזת טקסט עברית הפוך עבור מדפסת קופה@yossiz כתב בJS מחרוזת טקסט עברית הפוך עבור מדפסת קופה:
@חוקר האם שמת לב לזה:
@yossiz כתב בJS מחרוזת טקסט עברית הפוך עבור מדפסת קופה:
אם יש טקסט שגולש לכמה שורות, צריך קודם לחלק לשורות, ואז להריץ בנפרד לכל שורה
צדיק אתה
לא שמתי לב
, אכן כעת זה תקין -
bootstrap-vue CSS יצירת משבצותתודה רבה לכל מי שעזר ולכל מי שרצה לעזור
זה המוצר הסופי
עשיתי את הdivים גובה לפי אחוזים.<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>תצוגה</title> <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap@5.1.3/dist/css/bootstrap.min.css" /> <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@2.21.2/dist/bootstrap-vue.css" /> <!-- Load polyfills to support older browsers --> <script src="https://polyfill.io/v3/polyfill.min.js?features=es2015%2CIntersectionObserver"></script> <!-- Required scripts --> <script src="//unpkg.com/vue@2.1.10/dist/vue.min.js"></script> <script src="//unpkg.com/bootstrap-vue@2.21.2/dist/bootstrap-vue.js"></script> <style> html, body { height: 100%; margin: 0; } body { background-image: url(image/background.png); background-repeat: no-repeat; background-size: cover; background-attachment: fixed; height: 100%; } .slot { background-color: rgba(0,0,255,.2); border: 3px solid #00f; min-width: 22%; height: 30%; } .card-header { background-color:white; color: #73496d; } .card-body { background-color:#73496d; border-radius: 0 0 0.25rem 0.25rem; color: white; } .my-row { height: 85%; } </style> </head> <body dir="rtl"> <div id="app" style="height: 100%"> <b-row class="my-row" no-gutters style="" > <b-col v-for="(val, key) in slotsA" cols="3" style="height: 30%" class="hidden-md-down"> <b-card class="text-center mb-4" style="height: 100%"> <b-card-header style="font-size: 4em;height: 50%" dir="ltr">{{val !== '' ? val.name : ''}}</b-card-header> <b-card-text style="font-size: 4em;height: 50%"><div style="height: 100%">{{ val !== '' && val.data ? 'חדר מספר ' + val.data : '' }}</div></b-card-text> </b-card> </b-col> </b-row> <div style="font-size: 7em;text-align: center">{{ time }} | {{ heDate }}</div> </div> <script> window.app = new Vue({ el: '#app', data: { slotsA: { 0: '', 1: '', 2: '', 3: '', 4: '', 5: '', 6: '', 7: '', 8: '', 9: '', 10: '', 11: '', }, time: '00:00', heDate: '', ProjectID: window.location.search.substring(1) || 1, List: [], }, created() { }, beforeDestroy() { }, computed: { }, mounted() { this.getData() this.nowClock() }, methods: { getData() { fetch('').then(response => response.json()).then(response => { console.log(response) if (response.heDate) { this.heDate = response.heDate } if (JSON.stringify(this.List) !== JSON.stringify(response.List)){ this.List = response.List; this.resetSlots() for (let i in response.List) { const element = response.List[i]; if (i === 12){ break; } this.slotsA[i] = {'name' : element.name, 'data': element.data} } } }).catch(error => { console.error(error); }); let this2 = this; setTimeout(() => { this2.getData()}, 5000) }, nowClock() { // this.timeClock = +' ' + new Date(Date.now()).toLocaleTimeString('en-US') const today = new Date() const h = today.getHours() const m = today.getMinutes() const s = today.getSeconds() // document.getElementById('Date').innerHTML = (('0' + today.getDate()).slice(-2)) + '/' + (('0' + (today.getMonth() + 1)).slice(-2)) + '/' + (today.getFullYear()) this.time = `${this.checkTime(h)}:${this.checkTime(m)}:${this.checkTime(s)}` if (!this.stopClock) setTimeout(this.nowClock, 1000) }, checkTime(i) { // eslint-disable-next-line no-param-reassign if (i < 10) { i = `0${i}` } // add zero in front of numbers < 10 return i }, resetSlots() { this.slotsA = { 0: '', 1: '', 2: '', 3: '', 4: '', 5: '', 6: '', 7: '', 8: '', 9: '', 10: '', 11: '', } }, } }); </script> </body> </html>
-
איזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?@גמליאל אמר באיזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?:
באיזה מהפריימורקים המוכרים יש לך חבר מומחה עם סבלנות לענות על כל שאלה
@צדיק-תמים
כאן בפורום יש חבר מומחה עם סבלנות לענות על כל שאלה @yossiz היקר, והוא המליץ על VUE קח את זה בחשבון
@yossiz אני מקוה שזה לא נכנס בגדר מברך רעהו בקול גדול, שיהיה לך כעת הרבה עבודה לענות לשאלותיו..