@חוקר אני יכול להמליץ על עצמי?
אתה מוזמן ליצור איתי קשר: shaya.netfree@gmail.com
@חוקר אני יכול להמליץ על עצמי?
אתה מוזמן ליצור איתי קשר: shaya.netfree@gmail.com
@liy770
בתוך main.js
:
Vue.prototype.$value = value;
רק להזכירכם שעד 1 באוגוסט (שני הבא) אפשר עוד לטעון ערך צבור עד 1000 ש"ח לכל כרטיס רב קו ולקבל את ההנחה של 25%.
תעשו את זה לכל כרטיסי בני המשפחה והנה עשיתם משהו מועיל במקום ההתבכיינות שבמילא לא יעזור...
זה כנראה יעבוד יותר טוב:
רוצה להרוויח 25% על הכסף שלך ביום אחד?!? (למזדרזים בלבד) כנסו כאן!!! >>>
https://www.mathsisfun.com/games/chess.html
עריכה: אם התכוונת למשהו שפתוח בנטפרי, זאת לא תוכנה כמובן
אתר עם רשימה נרחבת של פונטים לעורכי קוד
https://devfonts.gafi.dev/
@dovid אמר בGithub Copilto:
ובלי לקרוא את החוזה אני יכול לומר לך שהוא יותר קנאי לפרטיותך ממה שהנך.
זה מה שהם כותבים כאן בין השאר:
Code Snippets Data
Depending on your preferred telemetry settings, GitHub Copilot may also collect and retain the following, collectively referred to as “code snippets”: source code that you are editing, related files and other files open in the same IDE or editor, URLs of repositories and files paths.
כלומר הם לוקחים לעצמם חירות מאוד נרחבת...
אני בהחלט יכול להבין שאנשים מסויימים, ובפרט חברות גודלות יהיה להם בעיה עם זה.
לגבי המוצר עצמו - בשבילי זה כבר קשה להסתדר בלי...
אני לא חושב שהוא מושלם, אבל לדעתי לומדים מהר מאוד לזהות איפה הוא עוזר ואיפה לא.
הוא עובד מעולה עם קודים גנריים ומתכונות מסויימת שיש לך כבר בתוך הקובץ/פרויקט וכמובן פחות מוצלח כשזה מגיע לצרכים ספציפיים ומקרי קצה, שזה, אגב, בד"כ החלק המועט בקוד.
@yossiz אמר בGithub Copilto:
לדעתי זה יותר משעשע מעוזר, אבל מחכים לשמוע דעתך
אה, כן, אכן יש גם הרבה שעשוע (בפרט בעברית...), זה לא רע ככה באמצע העבודה
@מעלה-ומוריד, וואו, איזה טקסט יפה... מעניין אותי מאוד מה המקור? (זה נשמע יידיש קצת עתיקה וגם עסיסית...)
הנה בבקשה, תרגמתי את זה מילולית לכן זה לא יישמע כ"כ טוב [שים גם לב שהתרגום קצת חפיף, לא השקעתי כ"כ...]:
באמצע הרבה עבודה קשה
פרעה הרשע התחשב
צריך את היהודים לשקוע
ולהטביע
אל תוך הנהר
כי נבואה מהכוכבים הגיע
שילד צריך להיוולד
הוא ינהיג, יַרְאה
ויפדה
את היהודים מהסבל
היה ילד שמור
החביאו אותו בארון
עם זפת וסיד מרחו אותו
שלא יוקפא
יירטב מקור
כשבתיה של פרעה רוצה ללכת לשחות
היא קיבלה ידיים ארוכות
לא הייתה צריכה להתאמץ
בכדי להביא אותו
להאיר את העולם
ומתוך הארון הוא האיר
באורה, מורא, סחורה, תורה
מה שמעולם לא ראו
אומרים חוזי הכוכבים כל הזמן
הקטן, הנחמד(?), היפה, הטהור
הוא יאיר את כלל ישראל
המצריים עם הנשק
אחרי היהודים רצו
עד שמצאו
מה רבינו
הוא מעיר את היהודים
אסור לפחד
מנחש נהיה מקל
מציג משה רבינו
-ויאמינו בה' ובמשה עבדו
פרעה מציק ליהודים
אהל הוא לא נהיה פטור
הרי יש לנו אבא
שולח את משה רבינו
כאלו צעקות
פרעה עם המכות
יהודים כמה נעים זה
ע"י משה רבינו
-ויאמינו בה' ובמשה עבדו
רבנו הרועה שלנו
לחזור אתה צריך
הרועה צאן
איפה אתה
הנה הנה "הינה זה בא"
אלו שמחזיקים את עצמם באמונה
כמו שהיה בקריעת ים סוף
ראו את צורתך
שרו "שירה"
כי גאה גאה
זה קולי ואנוהו (א.ה. נראה ש"קולי" זה בדווקא...)
לעמוד, ..., והם צועקים
כמו שאז גם היום כחדש
אלוקי אבי וארוממנהו
באורה, מורא, תורה, סחורה
כמו אז בהר סיני
כל אחד יכול
רואים את הקולות
יהודים כמה טוב זה
עם משה רבינו
הכנה ישרה
עם כוונה גבוהה
התורה עם המתנה
ע"י משה רבינו
-ויאמינו בה' ובמשה עבדו
הרי אנחנו מחכים תמיד
אלף(/פי) שנים לדאבוננו
איפה החדר ("חיידער")
של משה רבינו
כבר אין מועקות
הכל לקחו
משה עבד נאמן
איפה משה רבינו
-ויאמינו בה’ ובמשה עבדו
בקרוב כבר נחיה (כמו "נחיה ונראה")
אורה, תורה כבר לא מורא
מעול הגלות
ומשה ייתן לנו שיעור
תורה סחורה גם הבורא
גם לומד את השיעור שעה אחרי שעה
אף אחד לא מגושם
פירושים מאירים
חידושים מרוממים
אומר משה רבינו
וכל מי שטרח
גמרא שולחן ערוך
יבוא ויתברך
מברך משה רבינו
-ויאמינו בה' ובמשה עבדו
כמה יפה זה
העתידות שלנו
הכל חסידות אחת
רבי אחד - רבינו
מנהיג "טיש" ברינה
ב"מזרח" השכינה
כל אחד עם אמונה
מאמין במשה רבינו
-ויאמינו בה' ובמשה עבדו
@chagold לא התעמקתי בבעיה עצמה, אבל באופן כללי כל החבילה הזאת לא נראה איכותית, publish האחרון לפני 4 שנים, הרבה PR פתוחים, מספר כוכבים בגיטהאב מועט יחסית, מספר הורדות נמוך מאוד וגם הקומיטים בסינית, בקיצור, לא מריח טוב... אני לא הייתי משתמש בה.
לצורך הזה השתמשתי בעבר עם החבילה הזאת.
אז אולי פתרתי לך את הבעיה בעקיפין...
יש לי כמה תוספים מוצלחים להוסיף לכל הנ"ל:
Color Highlight - צובע ערכים של צבעים (כמו #efefef
וכו') עם הצבע המתאים בתוך העורך קוד.
Material Icon Theme - נותן את האייקון המתאים לכל קובץ לפי הסיומת.
GitHub Copilot - תוסף שנוי במחלוקת... בהתחלה הייתי סקפטי לגביו, אבל למעשה בשבילי זה ממש עוזר ברוב המקרים (יש לציין שזה עדיין בבטא ויש להירשם כאן כדי לקבל גישה). עובד מצויין עם נטפרי.
במאמר המצויין הזה יש שלל טיפים איך לייעל את VS Code באופן כללי (תוספים, תצוגה, קיצורי דרך ועוד), שווה לבדוק (יש לו גם קורס שלם על הנושא...).
@צדיק-תמים אמר בדרוש מתכנת מנוסה למענה על שאלות גם מחוץ לגבולות הפורום:
קטנות וקצרות שנובעות בד"כ מחוסר הנסיון שלי
שאלות יהיו כל הזמן גם אחרי 10 שנות ניסיון...
לדעתי רוב רובם של השאלות אינן מצריכות דיון בפורום, לכל טכנולוגיה שמכבדת את עצמה יש דוקומנטציה (ואם אין, זה כבר סיבה לא להשתמש...), וכמובן יש את גוגל ו-StackOverflow, ובאופן כללי אם אתה משתמש עם טכנולוגיות פופלריות יש מבול של מדריכים באינטרנט על כל דבר.
עם הזמן לומדים איך לגגל דברים בצורה מועילה יותר ויותר, יש אומרים שזה כל המקצוע...
בקיצור, הפורום הוא מקום נהדר לשאול שאלות יותר על פרקטיקות, ייעוץ כללי וכו', (או שאלות כמו "איזה פריימוורק באמת הכי הכי טובה ועדכנית"...).
@צדיק-תמים התקשיתי להבין את הקוד שלך ומשום מה התחשק לי לארגן את זה מחדש (refactoring בלע"ז). זה מה שיצא לי (מקוה שיהיה לתועלת...):
const API_TOKEN = 'AIzaSyBUtCAp82VCsH5z3XmTMy1KMnLQ1g3Cqm0';
const YOUTUBE_SEARCH_ENDPOINT = 'https://www.googleapis.com/youtube/v3/search';
async function fetchVideoIds (channelId, pageToken = null) {
const endPoint = getYouTubeEndpoint(channelId, pageToken);
const response = await fetch(endPoint).then((res) => res.json());
const videoList = response.items.filter((item) => item.id.kind === 'youtube#video');
const videoIdList = videoList.map((item) => item.id.videoId);
const nextPageToken = response.nextPageToken;
return { videoIdList, nextPageToken };
}
function loop () {
const list = [];
// recursive function
async function getVideoIdList (pageToken) {
const CHANNEL_ID = 'UCzlw5vTVVMPwBKElMt3gYQw';
console.log('Fetching...');
const { videoIdList, nextPageToken } = await fetchVideoIds(CHANNEL_ID, pageToken);
list.push(...videoIdList);
if (!nextPageToken) {
return list;
}
return getVideoIdList(nextPageToken);
}
return getVideoIdList();
}
// trigger the function
loop().then((result) => console.log(result));
// helper function
function getYouTubeEndpoint (channelId, nextPageToken) {
const endPoint = `${YOUTUBE_SEARCH_ENDPOINT}?key=${API_TOKEN}&channelId=${channelId}&part=id&order=date&maxResults=50`;
if (nextPageToken) {
return `${endPoint}&pageToken=${nextPageToken}`;
}
return endPoint;
}
אני מסתפק אם יותר נכון לממש את הלולאה עם while
במקום הרקורסיה. כמובן, שתמיד אפשר לשפר עוד...
מראה מקומות:
טיפ כללי: תמיד אחרי שהקוד עובד והמחשב כבר מבין מה אתה רוצה, שוה לעצור ולכתוב מחדש את הכל כדי שגם אתה תבין מה כתוב בפעם הבא כשאתה מסתכל על הקוד ("פעם הבא" יכול להיות גם מחר...).
@davidnead אמר בVUE 3:
למדתי שם על ההבדל בין השיטה הראשונה של פונקציות קומפוזיציה שהכל נכתב בתוך פונקציית setup, לבין החדשה יותר של script setup. זה היה נשמע קצת יותר טוב, משאיר קוד יותר נקי, וכבר יותר מאוזן בין יעילות וניהול לאינטואיטיביות וקוד נקי/חסכוני.
אכן, תוספת מאוד חשוב (רציתי להזכיר את זה בפוסט ושכחתי). אני חושב שזה קצת "סתירה" לכל הרעיון של ה-composition api, אבל זה בהחלט יכול לעזור הרבה, זה היה experimental עד לאחרונה.
פחות קוד הוא הרבה פעמים יתרון גדול (פחות קוד = פחות באגים, לא? ).
@davidnead, אני מרגיש שיש פה בלבול ומרמור מיותר...
Vue 3 אינה מסלקת את ה-API הישן ("Options API"), אלא רק מוסיפה עוד API חדש בשם "Composition API".
עם גירסה 3 אפשר להמשיך לכתוב Vue בדיוק באותה צורה ישנה וידועה, ועדיין להנות מהרבה יתרונות חדשים: ביצועים יותר טובים, פתרון ה-caveats, ועוד הרבה יכולות חדשות. (אכן, יש כמה breaking changes קטנים אבל זה סביר ומקובל בעדכון שקורה אחת לכמה שנים).
עכשיו בחזרה ל-Composition API החדש, אני אישית משוכנע שיש בזה הרבה יתרונות, בין השאר זה נותן אפשרות לכתוב קוד יותר מאורגן ונקי ו"יבש" (DRY). אני לא ינסה לשכנע אותך כי זה לא מאוד חשוב, רק הייתי מציע לך להתנסות קצת לדעת לפחות במה מדובר.
החסרון הגדול בעיני:
אתה צריך לעשות ידני את כל מה שVUE עשתה לך לבד עד עכשיו. בשביל מה יש VUE? זה גם מאוד מלכלך את הקוד.
טעות היא בידך... זה פשוט ממומש אחרת, הרעיונות אותן רעיונות.
במקום לסמוך על מנגנון קסם שמזהה שמות של מאפיינים באופן אוטומטי (ונכשל למשל אם יש typo), אתה כותב קוד יותר הצהרתי, מייבא את המודול ומשתמש איפה שצריך. למי שיודע Vue ברמה בסיסית, לא אמור להיות בעיה להבין את הקונספט בזמן מועט.
אגב, שיטת המודולים מביא איתה יתרון נוספת, מכיון שמייבאים רק את החלקים מהספרייה שרוצים, אפשר להשתמש עם כלי כמו Webpack שיכול לעשות Treeshaking לספרייה ולהוציא כל מה שאינו נצרך, שזה מביא לתוצאה של bundle יותר קטן.
אני לא חושב שיש צורך לרוץ ולעדכן פרויקטים קיימים, אבל אם מתחילים פרויקט חדש, לרוב לא יהיה סיבה למה לא לבחור בגירסה החדשה. כל חבילה מתוחזקת שקצת מכבדת את עצמה, כבר אמורה לתמוך בגירסה 3 מזמן, או לכה"פ הם יציינו חחלופה טובה. (ואם לא, זה לבד כבר סיבה לא להשתמש איתה גם לא בפרויקט ישן...).
תגובה: באג בגלילה עם העכבר במספר אתרים
באתר הנ"ל - https://www.kore.co.il/, שמתי לב לעוד בעיה בכרום 94 (לא בטוח שזה "באג", אבל כנראה גורם לבעיות וויזאליות הרבה אתרים):
אם הכרטיסיה בה נטען האתר לא פעילה לזמן מה האנימציה של ה"מבזקים" רצה מהר מאוד לכמה שניות:
יש עוד מישהו ששם לב לכך?
קצת ניסיתי להבין את הגורם של הבעיה, זה מה שעלה לי:
הדרך שהאנימציה עובדת הוא שיש פונקציה שמוסיפה 30px
כל רבע שנייה לערך הזה: transform: translateX(Npx);
.
מה שקורה הוא שה-Javascript ממשיך לרוץ והערך מתעדכן (אבל משום מה יותר לאט - רק פעם 1 בשנייה), מצד השני הדף לא מתעדכן בהתאם, כנראה תוצאה של ניסיון שיפור ביצועים ע"י השבתת כרטיסיות לא פעילות ברקע, ואז כשהכרטיסיה הופכת להיות פעילה יש פער גדול בין הערך הישן לערך החדש, והדף מתעדכן בהתאם (ע"י transition של 2 שניות).
אגב, את האנימציה הזאת אפשר לעשות בצורה הרבה יותר יעילה עם CSS בלבד (ראה כאן לדוגמה), ואני מניח כמעט בוודאות שזה גם יפתור את הבעיה הזאת...
@chagold אמר בניקוי אובייקט js:
בשביל ההפניה המעגלית, צריך בפוקנציה שבקומפוננט שקורא (למוטציה), לשכפל את האובייקט
selectaccount:function (payload) { const { account } = payload; this.$store.commit("selectaccount",account); }
@chagold, הערה בדרך אגב (לא חושב שזה מצדיק נושא חדש):
אפשר לעשות destructuring על הארגומנט עצמו, ובכך לחסוך שורה מיותרת:
selectaccount:function ({ account }) {
this.$store.commit("selectaccount",account);
}
@chagold אמר בהראוטר VUE לא קולט טוב:
ההסבר בזה - שבשונה מהפורמט של הראוטר של VUE הרגיל שאני מכיר, שהניתוב הוא אחרי ה-# (ככה: , הראוטר של האתר שנוצר ע"י הbuild הוא כמו אתרים רגילים בלי הסולמית, וא"כ הכתובת פונה לתיקיה פנימית, והאפאצי' לא מכיר בה.
אז , איך מטפלים בזה?
אתה יכול להשתמש עם "History mode", (במקום "Hash mode" הדיפולטיבי) ראה כאן.
יכול להיות שזה יפתור לך את הבעיה.
יש להם גם גירסה יותר חדשנית מבוסס מודולים (ES6):
https://github.com/hebcal/hebcal-es6
@ארכיטקט האם לא יותר נכון לחפש פיתרון קיים?
בעיות מהסוג הזה הם מאוד גנריות, ומצד שני בד"כ לא קל לפתור באופן מושלם.
גם בלי לחפש אני מאוד משוכנע שאפשר למצוא בגיטהאב directive (או לפחות פוסט ב-Stackoverflow) שעושה בדיוק את זה...
@יהודי-טוב אמר בצפייה בווידיאו עם אפשרות לשינוי המהירות:
אני מחפש תוכנה שאפשר לשנות את מהירות הצפיה בווידיאו (כמו שיש ביוטיוב) תוך כדי השמעה (לא המרה לקובץ מהיר).
יש למישהו תוכנה מומלצת??
תודה רבה
יש גם תוסף כרום מוצלח (לדפדפן, כמובן).
עובד גם על שמע.