לגבי השאלה האם נכון להתחשב ברווח של הלקוח כפרמטר לתמחור - לא נראה לי מקובל בשום ענף לעשות את החישוב הזה, אף מוכר רכב לא שואל האם הקונה ישתמש ברכב למטרות רווח או לשימושים פרטיים.
נכון שבדוגמא של הגבאי הקטן מול קופת העיר המוצר באמת יעלה יותר, אבל זה רק בגלל שלקופת העיר יהיו יותר דרישות איכות וקיסטום, אם אתה מספק ממש אותו מוצר ודורש יותר כסף כי הם מרוויחים יותר, זה בהחלט יהיה סיבה לזעקה מה לך ולרווחים שלנו
יוסף בן שמעון
-
תמחור פרוייקט -
תמחור פרוייקט@חוקר תשואות חן חן על הדברים, זה עוזר לנו להתמודד עם המבוכה שמלווה כל פרילנסר בתחילת דרכו לדרוש את המגיע לו.
אבל אני חושב שמה שכתבת לא עונה על השאלה של @שואף , כל הדוגמאות שהבאת עוסקות בשני מוצרים שונים שבאים לענות על סדר גודל שונה של צרכים, ולכן המחיר שלהם שונה, זה כמו שתנסה להשוות בין מונית לאוטובוס בגלל ששניהם מגיעים לאותו מקום. ברור שמערכת בבניה אישית תעלה יותר כי היא באמת שווה יותר, היא עונה על צרכים אחרים ומכילה הרבה יותר אפשרויות.
שואף שאל כך: האם יתכן שעל אותו מוצר מתכנת א ידרוש 70K ומתכנת ב יעריך אותו בשווי 5K.
יכולות להיות לזה שתי סיבות:- מתכנת ב טועה בהערכתו, ומתכנת א צודק בגלל שהוא יותר מנוסה (אולי לזה התכוין @dovid )
- מתכנת א מסתמך על תמימות הלקוח כדי לאנות אותו באלפי אחוזים
אם אפשרות ב היא הנכונה, אין שום רמז במהרשד"ם להצדיק את מתכנת א, הסיבה שבית גרמו דרשו כפול היא בגלל שמחיר שוק נקבע לפי היצע וביקוש, וכשהתברר שאין להם מתחרים המחיר שוק שלהם עלה באמת ולא בגלל סחטנות.
במקרה דנן, אם מתכנת ב מעריך ששווה לו לעשות את העבודה ב 5K, זה אומר שיהיו עוד הרבה מתכנתים כמוהו, הוא לא היחיד בשוק, אז יש היצע וזה גורם שזה המחיר שוק האמיתי, וא"כ מתכנת א הוא המאנה.
אמנם זה לא מוכרח שמתכנת א הוא שרלטן, יתכן שהוא לא מכיר טכנולוגיות שמתכנת ב מכיר ולכן הוא מעריך את העבודה כקשה הרבה יותר, זה כמו שלקוח יבקש בלוג פשוט והמתכנת יעריך את העבודה ב 50 K כי יש הרבה עבודה לבנות מערכת ניהול תוכן, בגלל שהוא לא מכיר את המערכות הקיימות. אבל גם אונאה בשגגה נקראת אונאה (ואני כמובן לא נכנס לנושא ההלכתי שאני לא מכיר, אני מדבר על העיקרון) -
מעבר לGO למה? איך? ומתי?נשמע לי הזוי לפתח אפליקציית ווב ב GO, זה נועד לאפליקציות ענק בסדר גודל של גוגל, בנוד יש לך הכל מוכן על מגש של כסף, ב GO אין קהילה גדולה כמו נוד ולא עשירית מהכמות של הספריות והתמיכה, נסה לגגל על שאלות ב GO ותראה כמה תוצאות תקבל, ולעומת זה כמה תוצאות תקבל בנוד, אין בכלל יחס ביניהם. למה אתה צריך להמציא את הגלגל?
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
@אהרן אמר בשאלות של מתחיל - מקצועי ב nodejs:
לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.
תן לי להבין דקה מה הולך פה.
אני הרי לא צריך שתהליך הבדיקה יופעל כל הזמן אלא בכל פעם שניגשים לכתובת ולפורט זה.
או אולי הבנתי נכון שבעצם התהליך כאן יתרחש בכל מקרה כל 2 שניות, ומאידך גיסה התהליך הזה מתרחש כל שני שניות וכל הבקשות הנוכחיות ימתינו עד לפעם הבא שהתהליך יתרחש (כל 2 שניות) וכולם מקבלים יחד את אותה התשובה , משהו כזה.
לפי הדוגמה כאן וההסבר שנתת לי, מה הולך כאן זה תהליך שחוזר על עצמו כל הזמן?
אני שואל שאלות עמרציות, אבל לא הביישן למד..
תודהכל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות
-
שאלות של מתחיל - מקצועי ב nodejs@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
לשם ההבנה, ברעיון זה אפשרי ותיקני לכתוב כמה קבצים נפרדים, וכל אחד יוגדר על פורט אחר, ולהפעיל אותם במקביל, ואז בעצם יש לנו כמה תהליכים של הנוד שהם פעילים בו זמנית כל אחד ליציאה אחרת?
כך היה נראה לי מהנסיונות שלי, כאשר הרצתי סקריפט חדש על פורט אחר, ושני הפורטים ממשיכים לעבוד.
האם זה בסדר?
זה תקני כאשר אתה מריץ כמה אפליקציות נפרדות על אותו שרת, אז כל אפליקציה מאזינה לפורט אחר, אם מדובר באותה אפליקציה זה מיותר ומבזבז משאבים בלי צורך.
אם אני מבין נכון, מה שמניע אותך זה לקבל את נוד כמה שיותר דומה ל PHP, אז זה ניסיון סרק, אם אתה רוצה שרת פעיל במהירות, פשוט תתקין express. תכתוב את הפונקציות שאמורות לטפל בכל בקשה לפי ה URL, ותעשה ניתוב לפונקציה, יש מדריך טוב באתר של רן בר זיק על אקספרס וראוטינג. תתחיל ותדווח איפה נתקעת.
https://internet-israel.com/category/מדריכים/express/ -
ממשק ניהול חינמי לשרת לינוקסלאחרונה התוודעתי לממשק הניהול aapanel
יש לו גירסה חינמית בלי הגבלת זמן
והאופציות שם מדהימות
יש ניהול ויזואלי שלם לכל המערך של דוקר, ניהול אפליקציות נוד, אתרים סטטיים ו PHP, וובהוקים, FTP, משימות מתוזמנות, ממשק עריכת קבצים, כלי אוטומציה של וורדפרס, וחנות גדולה של תוספים בחינם, ועוד היד נטויה.
אפשר להקים שרת עבור לקוח בלי שידע איך מתנהלים מהטרמינל בכלל
החסרון שמצאתי בנתיים הוא שאין תמיכה בריבוי יוזרים, רק יוזר אחד ניהולי
ממש עכשיו הם הוסיפו יוזרים מרובים בגירסה בתשלום, אבל בחינמי אין את זה. -
לפני שאתם הולכים ל-AI חכם תשתמשו בכלים קיימים :)@yossiz כתב בלפני שאתם הולכים ל-AI חכם תשתמשו בכלים קיימים
:
זה לא מובן לי. מתי שאתה רוצה אתה יכול לכתוב JS נקי (ע"י פתח המילוט של any) ועדיין לקבל את התועלת לגבי שאר הקוד. לא מבין מה שייך כאן חרטה על המעשים הטובים של העבר
אני כבר לא זוכר במדויק, מדובר על תסכולים מצטברים של למעלה משלש שנים...
אבל יש דוגמא אחת שנתקלתי בה לאחרונה. חבילת NPM שמתפקדת כמודל ES2020, ואי אפשר לעשות לה require, אני מנסה לשלב אותה בפרוייקט שעובד עם מודל commonjs, אז הקומפיילר החכם של TS מקמפל את כל ה import ל require, והייבוא של החבילה הנ"ל נכשל, ומאידך אם אני משדרג את כל הפרוייקט למודל ES2020 הרבה חבילות אחרות יישברו, ולך תתמודד עם פרויקט מנופח של עשרות חבילות..
לא מצאתי פיתרון לבעיה הזו כי בסוף התייתר הצורך בחבילה הזו, אבל זו דוגמא לתסכול מתמשך שאופייני לצורת העבודה של TS, TS זה לא אמיתי, זה זיוף שמנסה לחקות שפה טיפוסית קשוחה, וזה אמור איכשהו להתלבש על מודלים וחבילות שנכתבו לא בצורה מותאמת מראש, וזה פתח לבעיות.
לעומת נוד, אנגולר עובד מדהים עם TS, לא נתקלתי כמעט בבעיות שם, בגלל שזה נכתב מראש בצורה הנכונה מותאם לעבודה עם TS. -
טופס - HTML - הצגת ערך בתיבה שלא יהיה ניתן לשינוי@ממ כעת תורו של שלב הדיבוג, כדי להציג שאלה בפורום צריך לשחזר את הבעיה, אם לא מצליחים לשחזר בעיה צריך להתחיל לסנן את הקוד, להוריד חלקים לא רלוונטים, לבדוק מתי זה עובד ומתי לא עובד, וכשמוצאים את הסיטואציה שבה הקוד לא עובד, אפשר להציג אותה בפורום.
אם כי בדרך כלל כשמגיעים לשלב הזה, כבר מבינים לבד מה הבעיה. -
העלאת קובץ ב javascript ע"י input מסוג file@pancake לא שומרים נתיב, הנתיב לא אמור לעניין אותך
אתה צריך להעלות את הקובץ עצמו לשרת ולשמור אותו שם
בעיקרון כשמשתמש בוחר קובץ עם input file אתה מקבל גישה למידע הבינארי של הקובץ, ואתה יכול להעלות אותו בדרך הפרימיטיבית עם טופס
יש דרך יותר מודרנית להשתמש ב FileReader, אתה קורא את הקובץ לוקאלית, ויכול להעלות אותו או חלקים ממנו, ולהציג מחוון העלאה. -
עזרה|חילוץ מספר בPHP@לעזור-לכולם אתה לא חייב
יכול להיות שזה יעזור לחברים לעזור לך, כשמבינים את הסיטואציה המלאה יותר קל להתאים פתרונות -
הרצת סקריפט PHP כל 10 דקות בשעות וימים מסוימים@איש-נחמד אמר בהרצת סקריפט PHP כל 10 דקות בשעות וימים מסוימים:
שאלה שמציקה לי בדיוק בנושא הזה, היות ובכל זאת הקוד רץ בשרת שלי, האם יש בזה חשש הלכתי?
הלכה פסוקה היא, אין אדם מצווה על שביתת כלים בשבת (אני מניח לכתחילה משימות תחזוקת שרתים לשבת שאז אין תעבורה והשרת פנוי)
-
עזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה@צדיק-תמים אמר בעזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה:
למה באמת response.json() לוקח זמן? במה זה שונה מכל ניתוח מקומי אחר, לדוגמה .split()?
ה then הראשון חוזר מיד בתגובה הראשונית מהשרת שמכילה הידרים וקוד תגובה, אחר כך השרת מתחיל לשלוח את גוף התשובה body וזה יכול לקחת הרבה זמן, וזה מצריך עוד פרומיס כי זה לא עיבוד נתונים מקומי אלא ממתין לכל הפאקטות שיגיעו מהשרת
-
Sequelize מיון לפי נתוני טבלה אחרת@dovid תודה!
רק למען התיעוד לבאים אחרי, יש גם אפשרות לסאב שאילתות בצורה פשוטה:
https://sequelize.org/master/manual/sub-queries.html -
עזרה עם בניית תוסף כרום@ivrtikshoret
לתוספי כרום יש שני חלקים, יש דף רקע שזה הפופאפ, ויש קוד שמוזרק לתוך הדף, הקוד שמוזרק לדף יכול להיות מוזרק רק בטעינת הדף ולא מאוחר יותר, והקוד שבפופאפ לא יכול להשפיע ישירות על הדף, אבל אפשר לשלוח הודעות מהפופאפ לדף ומהדף לפופאפ
אז אתה צריך לעשות שני דברים - קודם כל להזריק קוד לדף שיאזין להודעות מהפופאפ, וכשיקבל הודעה שהמשתמש רוצה לצבוע את הדף בצבע מסוים אז הוא יבצע את זה. ודבר שני לבנות את הפופאפ עם אפשרות בחירת צבעים ושליחת הודעות לדף.
תתחיל ותודיע איפה נתקעת -
עזרה - שרשור פרומיסים מותנה וביצוע פעולה רק בסיום כולם (JS)@צדיק-תמים אמר בעזרה - שרשור פרומיסים מותנה וביצוע פעולה רק בסיום כולם (JS):
אני אישית סובר שקוד טוב הוא קוד חסכני (כמובן שמשיג את אותה תוצאה, ובצורה שברורה לי).
קיבלת עצה זהב ממקצוען, וזו לא רק דעתו האישית, זו מוסכמה רווחת ותקן סטנדרטי בענף, אל תחסוך בקוד גם אם נדמה לך שזה חסכוני, כי זה בסוף הרבה יותר יקר..
אגב גם בשמות משתנים אל תחסוך, שם משתנה a1 זה לא תקין בעליל, גם העובדה שהוא משמש לכמה דברים בזה אחר זה זו עבירה פלילית,
-
חשיבת מפתחים לטווח רחוק..@ארכיטקט אמר בחשיבת מפתחים לטווח רחוק..:
חולק עליך, ממש לא טיפה, צריך להשקיע אוקיינוס של זמן לטווח הרחוק, וטיפה כדי שיעבוד עכשיו.
חולק על שניכם, אם אתה לא מפתח מערכת לטילים בליסטיים או לכור הגרעיני, אל תשקיע מחשבה בטווח יותר מידי רחוק, זה רק יסבך את המערכת, כל עוד אתה מפתח אפליקציות שכונתיות נחמדות תשקיע בטווח הקרוב, פעם בכמה שנים תשכתב הכל וזהו, זה יותר זול מלהשקיע לטווח הרחוק, בערך כמו לקנות קומקום במאה שקל פעם בשנה במקום לקנות בשלש מאות שקל פעם בשנתיים
ודיה לחסידה שיצאה בשלום... -
הרצה אוטומטית של קוד@אנא אמר בהרצה אוטומטית של קוד:
אני יבדוק בהמשך אני לא על המחשב
לכשתמצא את הפקודה הנכונה שמפעילה את הסקריפט:
כתוב בטרמינל
crontab -e
זה יכניס אותך לעורך טקסט של מתזמן המשימות הלינוקסאי, יתכן שבפעם הראשונה תצטרך לבחור באיזה עורך אתה מעדיף להשתמש, לא קריטי
רד לתחתית הקובץ, ותוסיף שם שורה כזו:0 */1 * * * <command.php>
תלחץ על קונטרול X כדי לצאת מהחלון
תקבל הודעה שהקובץ החדש הותקן בהצלחה
זה יגרום שבכל שעה עגולה הפקודה תרוץ.
אפשר להעזר בממשק הבא
https://crontab.guru/
ללמוד את התחביר של קרון איך מגדירים שעות וימים -
בקשה | מדריכים בJS@אינטרקום אמר בבקשה | מדריכים בJS:
החיסרון הוא שעולה כסף ולא הייתי רוצה לשלם לפני שאני יודע שאכן מתאים לי הלימוד הזה
אני מאד ממליץ על רן בר זיק, יש לו סגנון לימוד מעולה, הוא יודע איפה נקודות התורפה של המתחילים
לדעתי העניה שווה לשלם את המחיר שלו, זה לא סיכון כספי גבוה מידי (המלצתי היא בלי לקיחת אחריות על שום דבר)
וכמובן ללכת להפגש עם @yossiz -
פרוייקט אבן הטוען@chv אמר בפרוייקט אבן הטוען:
טבלאת אבידות - שם החפץ, תיאור, מיקום האבידה - עיר, טלפון\מייל\חשבון (ID של חשבון באתר), timestamp של יצירת האייטם בDB
טבלאת מציאות - כנ"ל בערך. + סטטוס של האייטם - אם 'נמסר' כבר או לאלכאורה אפשר לאחד אותם לטבלה אחת עם דגל שיסמן אם זו אבידה או מציאה
https://github.com/chaim-chv/even-hatoan/blob/master/app.js#L7
עשית חיבור אחד למסד, זה לא טוב, צריך ליצור מאגר של חיבורים, במקום createConnection צריך createPool
https://stackoverflow.com/a/37102397 -
query string peremeters ב-fetch post@chagold יש דרך לשרשר פרמטרים לפי הספר עם המחלקה URLSearchParams
const params = new URLSearchParams(); params.append('parameter1', 1) params.append('parameter2', 2) fetch('https://example.com?' + params.toString)
ואפשר גם לבנות את כל ה URL לפי הספר
const url = new URL('https://example.com'); url.search = params.toString(); fetch(url.toString())