@davidnead
האם אתה צריך אתרים מעוצבים ולכל לקוח אתר חדש נפרד לגמרי למטרות שלו? או שיש לך נישה מסויימת שמאחדת את האופי של הלקוחות שלך?
אני למשל נמצא בנישה שאני מפתח מערכות טלפוניות, אבל לכל לקוח יש לי ממשק נפרד לפי הצרכים שלו, טבלאות שונות, פעולות שונות, API שונה והתממשקות לשירותים חיצוניים שונים, וכמו"כ ההתממשקות עצמה מול המערכת הטלפונית (באמצעות API של ימות המשיח).
לפני כמה שנים חיפשתי פרימוורק שאוכל לבנות עליו ממשק טוב ומצאתי את YII2 זה בנוי בPHP, ובשונה מוורדפס שניתן לבנות איתו אתר שלם ללא לגעת בקוד, ב YII אתה חייב לגעת בקוד, זה מיועד רק למתכנתים, אבל עושה להם את החיים קלים יותר, יש בו CRUD מצויין, יש גנרטור שניתן ליצור לכל טבלה בד"ב את הקבצים הנדרשים, ולאחר יצירת המודל וכו' אתה יכול לשנות וכתוב מה שבא לך ולהשתמש במחלקות ופונקציות העזר שהפרימוורק מביא.
בניתי עם זה הרבה ממשקים ומאות טבלאות, ולכל לקוח יש גישה רק לטבלאות שלו, ולכל לקוח אני שם פונקציות והתממשקות לשירותים שונים לפי צרכיו.
אציין שאני כבר כמה שנים עובד עם זה, והתחלה הכרתי את היכולות הבסיסיות ביותר שלו, ועם הזמן למדתי אותו יותר ויותר לעומק, הוספתי לזה כל מיני פונקציות ושינויים בקבצי הליבה בעצמם, שידרגתי את הגנרטור, הוספתי אפשרות של ייבוא מאקסל שלא הייתה קיימת במקור, ועוד.
אני לא מכיר את Laravel אבל אני מאמין שזה משהו בסגנון.
אך במשך הזמן יצא לי פה ושם שהייתי צריך כל מיני אפשרויות בצד קליינט (ב YII מוטמע כבר bootstrap ו jquery) ונמשכתי לעבור לאפליקציות SPA מבודד צד לקוח וצד שרת.
עד שהגעתי לפרוייקט אחד מורכב מאוד שהייתי צריך הרבה השקעה בצד לקוח ולכן הלכתי על vue, הלכתי על תבנית בתשלום שקניתי כאן ובהשקעה של זמן מה הצלחתי ב"ה להקים ממשק בסיסי ואני מתקדם איתו ומעשיר את הידע בVUE.
כשהתחלתי לפתח את הממשק בVUE תיכננתי לעשות תבניות מסויימות ולהעשיר את ארגז הכלים שלי שאוכל להתחיל להקים את כל שאר המערכות שלי והממשקים שלי עם VUE בצד לקוח ו nodejs צד שרת.
אבל למעשה אני רואה שכשמגיע לקוח ומבקש לי שהוא צריך מערכת רישום מסויים שהוא נותן לי טבלת אברכים ושגר להם הודעה והם יבחרו האם להרשם וכדומה, הכי קל לי לעשות זאת עם הכלים הישנים, אני יוצר טבלה חדשה בד"ב, באמצעות הגרנרטור אני יוצר את קבצי ה PHP, מייבא את הטבלה, יוצר משתמש חדש, מוסיף לו הרשאת גישה לטבלה, מוסיף לו לחצן של קישור לטבלה, ושולח לו פרטי גישה וסיימתי. הלקוח מקבל לינק, נכנס עם פרטי הגישה, יש לו כפתור "רישום ל...", הוא נכנס, יש לו טבלה עם אפשרות צפייה ועריכה ומחיקת והוספת שורה, סינון ומיון, יבוא וייצוא לאקסל. ואם הוא צריך לחצן לשליחת המידע לשרת חיצוני או כל תוספת אחרת אני פותח את קובץ הקונטרלר שנוצר ע"י הגנרטור, מוסיף פונקציה, ובמידת הצורך מוסיף view לזה וכו'.
אני מרגיש שזה הכי הוגן ללקוח, שמבחינתו אין לו הרבה נפק"מ האם הייתי בונה בPHP או בnodejs כאשר מה שדרוש לו הוא סה"כ שיגור הודעה טלפונית עם ממשק צפייה בתוצאות.
אולי אם יהיה לי יותר זמן אוכל לכתוב פוסט אחר נפרד על הרשמים שלי מPHP מול nodejs שאם שניהם אני עובד כל הזמן.
מה באתי לומר כאן?
הייתי בטוח שאחרי שאהיה בקי בטכנולוגיה החדשה אתחיל לפתח הכל שם, באה המציאות והוכיחה לי בפנים שזה לא בדיוק, אלא תמיד אצטרך לחשוב מה טוב וכדאי להשקיע ללקוח הנוכחי.
ייתכן שזה באמת מהלך טוב להכיר 2 טכנולוגיות חלוקות ולהתרגל להשתמש בכל אחת לצרכים שהיא מתאימה.
חוקר
-
תבניות של API -
(php) שגיאה בהכללת קבצים מתיקיית root@איש-נחמד אמר ב(php) שגיאה בהכללת קבצים מתיקיית root:
Permission denied
זה מראה על שגיאה בהרשאות
כאן יש פתרונות
(אציין שאני לא כ"כ ברור מה הפתרון הכי טוב שם ולכן אני רק נותן מראה מקום, אני לא זוכר מה עשיתי אצלי במקרים כגון אלו, וכן מה עדיף מבחינת אבטחה איזה רמת הרשאה כדאי לתת -
מחשב חזק לסביבת עבודה למתכנת@odeddvir אמר במחשב חזק לסביבת עבודה למתכנת:
מגיגול קצר ראיתי שהעיכוב בהשלמה אוטומטית של phpStorm הוא בעיה נפוצה. יש בתוצאות החיפוש גם כמה פתרונות, אבל לא בדקתי לעומק.
ראשית כל תודה רבה!
למרות שכבר הגדלתי מזמן את הזכרון המקסימאלי לתוכנה ל 10G, מדפדוף בתוצאות שהבאת בדקתי שוב וראיתי שיש שם ערך נוסף שלא כ"כ הבנתי את משמעותו, אבל הגדלתי אותו ג"כ וכעת זמן ההשהיה ירד לחצי.
אפשר לומר שזה הרבה יותר סביל כעת
לפי ההנחיה כאן, הגדלתי גם את הערך של Xms ונראה שזה מה ששיפר משמעותי
https://www.jetbrains.com/help/phpstorm/tuning-the-ide.html#common-jvm-options
מה שכן מסקרן אותי כעת האם שדרוג המעבד יזרז עוד יותר את המהירות
(מה שמעניין שנראה שגם צריכת הCPU נרגעה לאחר השינוי)

-
מחשב חזק לסביבת עבודה למתכנת@www אמר במחשב חזק לסביבת עבודה למתכנת:
@חוקר אולי תנסה להעלות את צג הביצועים כשבדיסק ממוין לפי Total.
לא כ"כ מצאתי למה אתה מתכווין
אבל להלן תמונה של ביצועי ה CPU

-
מחשב חזק לסביבת עבודה למתכנת@nigun אמר במחשב חזק לסביבת עבודה למתכנת:
אולי תרחיב את התהליך במסך הראשון ונראה בבירור האם יש ט'רד אחד שמגיע ל12.5%.

-
מחשב חזק לסביבת עבודה למתכנתתודה רבה לכל העונים
אציין מדובר במחשב חדש נייח(למי שאמר התקנה נקיה של ווינדוס, מדובר בהתקנה חדשה נקיה)
אכן הקבצים של הפרוייקט יושבים על ה HD ולא על ה SSD.
כמו"כ הביצועים שלו מעולים! ולמשל פעולת build שבנייד הקודם לכל 2-3 דקות יכול לקחת כאן 16-55 שניות.
כמו"כ השלמת מידע של אובייקטים ופונקציות בקובץ עצמו עובדים מצויין, כמעט ללא שהיה.
הן אובייקטים הקיימים בדף והן אובייקטים מיובאים, הוא משלים יחסית מהר.
החלק הבעייתי הינו בפונקציות המובנות בJS כגון console שהוא לא טוען מיידית.
ניתן לראות כולל לוח ביצועים

כפי שכתבתי לעיל המילה log הוא קיצור ל console.log() ומאידך המילה asyncxx היא קיצור לתחביר קצר לפונקציית asinc מהירה וזה עובד ללא שהיה.

ולגבי הנושא פיצול הקובץ, מדובר בקובץ שמכיל את כל המערכת של ישיבה על קברו ה API וה IVR וכן סינכרון לגוגל דרייב בו מכינים את השאלות ועוד וכל האובייקטים והפונקציות משותפות ומקושרות ולכן הכי קל לעבוד ולתחזק (ולהשלים אובייקטים ופונקציות) מתוך קובץ בודד -
מחשב חזק לסביבת עבודה למתכנתיש לי ב"ה מחשב טוב:
Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz 2.90 GHz
32.0 GB
sandisk ssd plus 240GB
ובנוסף כונן HD לקבצים.
עבור התכנות אני משתמש בסביבת עבודה מצוינת בשם phpstorm (מומלצת מאוד)
יש בו קטע אחד שמאוד מפריע לי, שבקבצים גדולים של כ 3000 שורות קוד יש השהיה מסויימת בחלק מההשלמות האוטומטיות
למשל יש שם הגדרה של קיצור להשלמות, מוגדר שם (מראש) ש log הוא קיצור ל console.log().
מאז שאני מסיים לכתוב log עד שההשלמה עולה לי לקח 3 שניות

לעומת זאת בקובץ ריק זה עובד חלק

השאלה היא למה זה קשור.
האם מעבד i9 אמור לפתור את זה? או שזה לא קשור למעבד?
ניתן לראות בצילום מסך מה קורה עם הCPU.
את הראם כבר שידרגתי ל 32 וזה לא השפיע על חלק זה.ומעניין לעניין באותו עניין (פשוט אני מסתפק אם לשדרג מסיבות נוספות)
כיום אני משתמש עם סביבת עבודה גדולה אחת הנ"ל, אני מסתפק שאולי אצטרך בהמשך לדברים מסויימים להתקין את android studio ואולי eclipse וכדומה עבור פיתוח יישומים ואפליקציות
אני חושש האם התקנת תוכנות כבדות רבות עלול להכביד על המחשב גם לא בשעת השימוש בהם, וליצור זבל מערכת וכדומה, או שלא אמור להיות כל חשש?
(לפני כמה שנים לוויתי מקרוב משפחה מחשב נייד i7 יקר והתקנתי עליו את AutoCAD (אדריכלות) והסרתי אותו לאחר השימוש, אבל היה נשמע שהמחשב הזדקן מאוד מזה שהקרוב איפס את המחשב והתקין מחדש ווינדוס)מהו באמת המפרט של מחשב הכי חזק לסוג השימוש של מתכנת?
האם הדבר היחיד שיש לי לשדרג זה מעבד ל i9 וזה המקסימום למחשב נייח רגיל? -
לא מצליח להיכנס בrdp לשרת@yair-na אמר בלא מצליח להיכנס בrdp לשרת:
צריך IP חיצוני קבוע, וכנראה שיש לו, לפי מה שאתה אומר.
תוכל לבדוק באמצעות הכלי האם ה IP והפורט (3389) פתוחים לעולם החיצוני.
-
ספריית nodemailer והאבטחה של גוגלב"ה אצלי זה עובד כבר כמה שנים שליחה של עשרות מיילים ביום דרך חשבון שלי ב gmail ללא שום בעיה.
בפעם או בפעמים הראשונות היה עלי לאשר את הפעילות "זה הייתי אני" ואח"כ עבד תקין -
שליטה מרחוק שקטה -
שליטה מרחוק שקטה@nigun אמר בשליטה מרחוק שקטה:
צפייה בשידור חי
נראה שחשוב לו אפשרות כזו.
מי מכיר?
הבעיה בטיימוויור ואנידסק זה שמופיע חלון במסך שמתחברים כעת -
שליטה מרחוק שקטההאם יש תוכנה של שליטה מרחוק שמאפשר שליטה מרחוק בשקט ללא שהמשתמש ירגיש?
המטרה היא, חבר ביקש ממני, עבור אפשרות שליטה מרחוק מהנייד על המחשב בבית שידע מה הילדים עושים כעת במחשב אך ללא שהילדים ידעו שהאבא עוקב כעת אחריהם -
פתיחת פורט בWIN10 (עבור RDP)@davidnead
לא הבנתי למה אתה צריך לשנות את זה במחשב ולא בראוטר
אני משתמש ג"כ באותו ראוטר לשני מחשבים ובהפניית פורטים בראוטר הגדרתי שפורט XXXX יפנה ל 10.0.0.1 לפורט 3389 ופורט YYYY יפנה ל 10.0.0.2 לפורט 3389 והכל תקין
ואם אתה רוצה להתחבר ממחשב אחד לשני ברשת הפנימי מספיק לציין את שם המחשב ולא צריך בכלל לעבור דרך הפורטים -
בית חכם...@yossiz אמר בבית חכם...:
אל תשקיע שקל בזה עד שתהיה בטוח שאתה באמת מבין בנושא
אם הזמן יותר חשוב לך מכסף אז גם את הזמן תשקיע רק בחכמה..
אני צריך לטפל בחיבור מדפסת קופה לאחד הפרוייקטים שלי, הזמנתי בעלי אקספרס מדפסת כזו והיא לא עלתה יקר, אך הזמן ששרפתי להסתדר עם העברית היה מידי הרבה (אני נוטה להיות עקשן למצוא דרך לבצע משהו שאני אמור לבצע, אני לא אוהב את המשפט "אי אפשר" או "לא יודע איך" או "לא הצלחתי"..) אך בסוף החלטתי שאני מחוייב לחזור לשגרה של פעולות שמחכות לביצוע שלי ולחכות אולי עד אחרי הימים טובים או מה.. -
כמה טיפים מלקוחות שכמובן לא משלמים לפי שעה אלא רק לפי סיכומים על פונקציונליותאציין שגם לי היה לקוח אחד (בתחילת דרכי) שלא למדתי מיד את האופי שלו. הוא דרש ודרש ודרש עוד ועוד פיתוחים ורעיונות עם נקודות קטנטנות שפתאום עלו לו בראש איך ומה ניתן לשדרג ולעצב ולשפר ולהוסיף ולסנכרן, וכל פעם עם לחצים רגשיים שזה הפרנסה שלו וכו' וכו' והוא באמת לא היה אז הכי מסודר כלכלית ולכן כל בעיה קטנה הוציאה אותו לגמרי מהכלים.
אותי זה איים להוציא משפיות דעתי וכמובן בא לי על חשבון פרוייקטים אחרים, ובכל אירוע שיצא לי להפגש איתו זה היה בשבילו הזדמנות פז לחלץ ממני עוד רעיונות ופיתוחים, ועבורי סיוט לראות אותו.
סופו של יום אמרתי לו בשיא התקיפות ובשיא העדינות שעברתי על כל המיילים מתחילת ההתקשרות איתו וראיתי שלא הייתה כל התחייבות מצידי לפתח עד אין סוף, אלא רק כך וכך ואת זה עשיתי מזמן.
אני מעוניין לגשת איתך לבוררות לדעת אם יש לך זכות לדרוש ממני לפתח עוד, הוא הבין שאין לו ברירות איתי ואני מצידי סיימתי את הפיתוחים עבורו (למרות שהוא היה משלם), הוא התחנן למשהו קטן נוסף שאת זה נתתי לו.
ומאז בדר"כ שקט איתו, המערכת זורמת ללא פיתוחים נוספים, למרות שמפעם לפעם הוא נזכר ממני אך אני לא טורח להשיב לו מיד ודוחהו בכה וכה.
התייעצתי על כך לפני זה עם איש חשוב ת"ח בעל חשיבה ישרה מאוד, והוא זה שטען שאני מחוייב לעשות זאת למען המשך פרנסתי והמשך היכולת שלי ללמוד בכולל ללא הפרעות ממנו.
צריך לדעת שלכל מתכנת יכול להיות משהו שהוא נפל איתו, אך צריך גם לדעת לקום מתי שניתן.
בהצלחה! -
הדפסת נתונים גולמיים בעברית במדפסת קופהכהמשך לפוסט כאן https://tchumim.com/post/127869
יש לי מדפסת קופה/תרמית שהיא מחוברת למחשב כמדפסת רגילה וניתן להדפיס בה מתוך אופיס/דפדפן וכו' כמדפסת רגילה רק שהגודל כמובן לא בדיוק תואם, אבל אם מגדירים מראש את רוחב הדף של המסמך נכון זה אמור לעבוד טוב.
אך אני צריך את זה להדפסה ישירות מתוך הדפדפן ללא הדיאלוג של ההדפסה
לצורך כך אני משתמש בשירות צד שלישי שאני שולח בקשת API מאובטחת לשרת חיצוני, ועל המחשב יש תוכנה מותקנת שמאזינה לפקודות המתקבלות מהצד השלישי ומדפיסות את התוכן להדפסה.
השירות הנ"ל תומך במספר אפשרויות תוכן להדפסה, או שליחת קובץ PDF או תוכן גולמי = פקודות שהמדפסת תומכת בהם.
על פניו נראה שאני יכול ליצור מסמך PDF מעוצב כקבלה ולשלוח לשירות הנ"ל לבצע את ההדפסה, אך מה שלא נוח לי בזה זה בגלל שקבלה יכולה להתארך ואין לה אורך קבוע, ולכן זה קצת יקשה להשתמש עם PDF כי במידה וזה יצא יותר ארוך מהגודל שהגדרתי זה יוצא לי כביכול 2 דפים ויהיה סתם חלק ריק בדף.
לכן אני מעדיף להשתמש בגולמי, שזה מבוסס על שליחת הטקסט להדפסה עם פקודות שונות לעיצוב המסמך, ואני שלח את המחרוזת הגולמית למדפסת באמצעות השירות הנ"ל.
הכל טוב והכל יפה עד העברית, הגדלים, הברקודים וכדומה יוצאים טוב, אך האותיות בעברית נראים כמו סינית.
למרות שהמכשיר עצמו במפרט מופיע שהוא תומך בעברית בקידוד PC862 ו WPC1255
חרשתי כמה ימים בגוגל פתרונות ועדיין לא מצאתי
אם יש למישהו נסיון בהדפסה למדפסת קופה בעברית ע"י נתונים גולמיים אשמח להדרכה מה ניתן לעשות.
או לחילופין אם ניתן לפתור באמצעות PDF ליצור PDF עם אורך דינאמי (מבוסס HTML כמובן), או גם ע"י קנבס ראיתי חצאי דיבורים אך לא הסתדרתי.
תודה -
התממשקות ל API של ניהול קופה והדפסת הקבלה על נייר תרמי@avi-rz אמר בהתממשקות ל API של ניהול קופה והדפסת הקבלה על נייר תרמי:
את הדיסק במלואו יש כאן
תודה רבה!
הורדתי והתקנתי
אכן זה מדפיס כמו מדפסת רגילה לגמרי
בהמשך אמשיך לשאלות בנוגע לשימוש.. -
התממשקות ל API של ניהול קופה והדפסת הקבלה על נייר תרמי@avi-rz אמר בהתממשקות ל API של ניהול קופה והדפסת הקבלה על נייר תרמי:
בעבר קניתי את זה
, ואני משתמש בו וממש מרוצה, לאחרונה קניתי עוד אחד,
יש בו משהו אפשר לקרוא לזה טיפה חסרון, כל פעם שמכבים את המחשב, צריך להתקין מנהל מדפסת מחדש, (יש להם תוכנה שאני בוחר את ההגדרות של המדפסת כמו עם חיתוך או בלי חיתוך גודל רוחב [60/70/80] ומקסימום אורך של עמוד) ואז היא(התוכנה) מייצרת מנהל מדפסת לפי הפרמטרים שבחרתי.הזמנתי והיום הגיע אבל הגיע ללא דיסק התקנה של התכונה
מאיפה יש לך את הדרייברים? -
fetch שא"א לקבל ממנו את הנתונים@chagold אמר בfetch שא"א לקבל ממנו את הנתונים:
הבקשה חוזרת עם סטטוס 200, אבל אני לא מצליח לגשת לנתונים.
בקוד דלהלן יש שגיאה שא"א לקבל את הנתונים בJSON. מצ"ב תמונה (השגיאה האדומה שם למעלה בצד ימין).fetch('http://admin.co.il:200/index.php?p=login&user='+user.username_or_email+'&password='+user.password) .then(user => { context.commit('loginUserSuccess', user); console.log(user); }) .then(response => response.json()) .then(resText => console.log(resText) ) .catch(error => { context.commit('loginUserFailure', error); });אתה לא מחזיר כלום מהשלב הראשון הלאה
תנסה כךfetch('http://admin.co.il:200/index.php?p=login&user='+user.username_or_email+'&password='+user.password) .then(user => { context.commit('loginUserSuccess', user); console.log(user); return user; }) .then(response => response.json()) .then(resText => console.log(resText) ) .catch(error => { context.commit('loginUserFailure', error); }); -
הזמנת קרטון מיץ ענבים של ענבי ירושליםאני מחפש היכן ניתן להזמין קרטון מיץ ענבים של חברת ענבי ירושלים עם משלוח עד הבית.
מאמין שלקראת החגים אמור להיות
תודה