יוסף בן שמעון
-
FTP באחסון אתרים הוסטינגר -
הדברים החשובים לריבוי שורות ב mySql | והאם seqelize אכן מתאים?Sequlize זה סה"כ ממשק שממיר קוד לשאילתת SQL, הוא לא מחזיק שום דבר בזיכרון
-
שימוש יעיל ב AIכתשובת המשקל על שביזיתי ופגעתי בו, אני מוצא לנכון לרשום מעט הגיגים על שימוש נכון ב AI לשאלות טכניות. בתקוה שהאחרים יוסיפו משלהם ויחכימו אותי.
-
אני משתמש בדרך כלל ב chat GPT במודל 4o של openAI, וכשנגמר לי הטוקנים אני עובר ל claude 3.7 sonnet, אלו המודלים החינמיים שיש לי ניסיון חיובי איתם, הם בדרך כלל עונים לענין.
אם יש מודלים אחרים טובים אשמח לשמוע. -
אל תרבה שיחה, ככל שניתן כדאי לחתוך את השיחה ולעבור לשיחה חדשה, למרות הפיתויים שהמודל מציב בסוף התשובה שלו כמו "רוצה שאתן לך דוגמא מפורטת?" "ספר לי על האתגר שאתה מתמודד איתו ואתן לך תשובה יותר ספציפית". זו טעות.
שיחה ארוכה זוללת טוקנים בגידול מעריכי, כל תשובה שהמודל עונה צריכה לשקלל את כל השאלות והתשובות הקודמות לה, כולל כל דוגמאות הקוד וההסברים הקשורים ושאינם קשורים, חבל לבזבז טוקנים כשאפשר לשאול את אותה שאלה בשיחה חדשה.
דבר נוסף שהתרשמתי, אם כי הוא לא נבדק במעבדה, ככל שהשיחה מתארכת הסיכויים לקבל תשובה נכונה יורדים, יכול להיות שההסתברות לתשובה עניינית נפגעת בשקלול תשובות ארוכות, איני יודע. -
לדעת להרפות, אם הניסיון הראשון והשני לא הצליחו, הסיכויים לקבל פיתרון בניסיון השלישי שואפים לאפס, כאן מתחיל השלב של ההזיות, וחבל לבזבז זמן על הרצת קוד ודיבוג כדי לגלות שהמודל הוזה.
-
ללמוד לזהות את היכולות של המודל, קשה להגדיר במילים, אבל בגדול יש סיכויים גבוהים שהמודל ידע לענות לך על קוד שהעתקת מגיטהאב או מדוקומנטציה רשמית, כיון שהקוד הזה והדיונים עליו היו מונחים לפני המודל בזמן האימון שלו, אבל סיכויים נמוכים שתקבל תשובה עניינית על באג פנימי באפליקציה שלך שפונקציה A מתנגשת עם פונקציה B בגלל פרמטר C. אז לגשת בזהירות מראש לשאלות כאלו, ולא לבזבז זמן על לשכנע את המודל שבכל זאת הפיתרון שלו לא עזר.
-
לענ"ד הנקודה המנצחת של ה AI, מה שהיה תמיד חסר בחיפוש גוגל, זה היכולת שלו לסכם עבורך בשפה שאתה מבין, את הנושאים החדשים שעדיין אינך מכיר, בעבר כדי ללמוד טכנולוגיה חדשה הייתי צריך לגגל הרבה, למצוא מאמרים שמדברים באריכות על הנושא, ולפלטר מתוכם מה שמעניין אותי, היום אני שואל את המודל, מקבל תשובה ספציפית, מבקש הבהרות ספציפיות, והכל בעברית, בדיוק מה שאני צריך, עם תוספות הבהרות למה שאני לא מבין.
-
-
האם Blazor הוא תקוות העתיד@dovid כתב בהאם Blazor הוא תקוות העתיד:
יש עוד משהו שעם השנים למדתי לשים לב. יש מיינסטרים, ויש שוליים. רוב הפעמים, גם טכנולוגיות מאוד מצליחות בשוליים, כובלים את המפתח והלקוח ומכבידים מאוד לאורך הזמן. נניח עוד חמש שנים תהיה מהפכה בשרת לקוח, איפה בלייזור יהיה? הוא כמובן יתאים את עצמו, אבל אז הוא יהיה רק "מתאים" וכבר פחות "נדרש". מהשלב הזה מתחיל תהליך מרגיש ומייסר שנגמר לעיתים בזניחת המוצר ולעיתים בהגירה קשה.
תוכל להרחיב יותר? מה החשש אם תהיה מהפכה, ולמה זה נוגע רק לבלייזור?
-
האם Blazor הוא תקוות העתידקראתי וצפיתי בכמה מדריכים על הנושא, זה נראה מבטיח מאד, כל הכאבים של אנגולר עם הפלסטלינה של TS, והקשר המלאכותי בין השרת לקליינט, הכל נעלם בבלייזור, הקומוניקציה אמיתית, השפה אותה שפה, עם טיפוסיות קשוחה באמת ולא פלסטית.
מצד שני, זה עדיין טכנולוגיה צעירה, אין מספיק תמיכה, הבנתי גם שיכולות להיות בעיות ביצועים בשימוש ב WebAssembly, ויכול להיות שזו תהיה עוד טכנולוגיה שתתאדה במשך הזמן ותעלם בפח האשפה של ההיסטוריה יחד עם עשרות טכנולוגיות כמותה.
האם שווה להשקיע בלמידה בתחום הזה? -
לתכנת דף PHP שיתחבר לקורא כרטיסיםיש איזו תכונה ניסיונית שיכולה לעזור
https://developer.mozilla.org/en-US/docs/Web/API/USB/requestDevice -
Rclone - לא לכלול שם תיקיה בכל מקום בעץנראה שזה הפיתרון
rclone ls "D:\projects" ^ --filter="- /**/node_modules/" ^ --filter "+ *.yml" --filter "+ *.conf" --filter "+ *.sh" --filter "+ *.yaml" --filter "+ *Dockerfile" --filter "- *" -
Rclone - לא לכלול שם תיקיה בכל מקום בעץprojects\ │ ├── project1\ │ ├── src\ │ │ ├── index.js │ │ └── config.yml │ ├── node_modules\ │ │ ├── module1\ │ │ │ ├── index.js │ │ │ └── package.json │ │ └── module2\ │ │ ├── lib\ │ │ │ └── helper.js │ │ └── package.json │ └── package.json │ ├── project2\ │ ├── app\ │ │ ├── main.js │ │ └── config.yml │ ├── node_modules\ │ │ ├── module3\ │ │ │ ├── index.js │ │ │ └── package.json │ │ └── module4\ │ │ ├── src\ │ │ │ └── util.js │ │ └── package.json │ └── docker-compose.ymlאני רוצה לגבות את כל קבצי js yml
בתנאי שהם לא בתוך node_modulesניסיתי משהו כזה
rclone ls "D:\projects" --include "*.{js,yml}" --exclude "**/node_modules/**"אבל זה עדיין מדפיס קבצים מתוך התתי תיקיות של node_modules
מה הפיתרון?
-
תוסף או סקריפט שיכולים לומר לי מה כבר ראיתי ומה עדיין לא@yossiz כתב בתוסף או סקריפט שיכולים לומר לי מה כבר ראיתי ומה עדיין לא:
יימח שמו של הבינה המלאכותית
ולו רק מפני שהוא מעורר בי נטיות אלימות כלפיו...צ"ע...

אבל כדי שלא יהיה הגיליון חלק, אכתוב את אשר על ליבי
הבינה המלאכותית היא כלי נהדר, אני נעזר בה רבות, למרות שבעבר לא חשבתי כךגיליתי שאם משתמשים בה נכון, היא יכולה לקצר תהליכים, רק צריך לדעת באיזה תחומים היא יכולה לעזור.
היא מסתמא לא תדע לפתור לי בעיות בקוד, אבל היא תדע לכתוב לי קוד (ספגטי) מאפס, היא יודעת להנחות אותי איזה כלים לחפש, ויודעת לתת לי מושגים בעניינים שאני לא מכיר.כדאי ללמוד איך להעזר בה, היא עוזרת בהמון תחומים.
לדוגמא, לשאלת @THMV , אם הייתי צריך להגיע לפיתרון בלי לדעת לכתוב קוד, הייתי שואל כך:
אין לי ידע בתכנות, אני רוצה קוד פשוט שיקרא לי הזנות RSS ויביא לי רק מה שלא קראתי, אבל שיהיה לי פשוט להריץ את הקוד בדפדפן או משהו דומה
וזה מה שהיא עונה:
כדי לקרוא הזנות RSS ולסנן את אלו שלא קראת, ניתן להשתמש בקוד JavaScript פשוט שירוץ בדפדפן שלך. הנה קוד שמבצע את הפעולה הזו:
איך זה עובד:
- הקוד בודק את ההזנות RSS שלך.
- הוא מוציא את הפריטים שלא קראת, בהתבסס על השם או מזהה ייחודי של כל פריט.
- אתה יכול להריץ את הקוד בדפדפן דרך כלי המפתחים.
דוגמת קוד JavaScript:
הקוד הזה פשוט קורא את הזנת RSS שלך ומציג רק את הפריטים שלא קראת, אם שמרת את המידע על מה קראת (למשל, באמצעות cookies או אחסון מקומי).
<!DOCTYPE html> <html lang="he"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>RSS Reader</title> <script> async function fetchRSS() { const rssUrl = 'https://rss.example.com/feed'; // הכנס כאן את ה-URL של ה-RSS שלך try { const response = await fetch(rssUrl); const text = await response.text(); const parser = new DOMParser(); const xmlDoc = parser.parseFromString(text, "application/xml"); const items = xmlDoc.querySelectorAll("item"); const unreadItems = []; items.forEach(item => { const title = item.querySelector("title").textContent; const link = item.querySelector("link").textContent; // בודק אם קראת את הפריט הזה (ניתן לשפר זאת על ידי שמירה בלוקלסטורג' או בעוגיות) const readItems = JSON.parse(localStorage.getItem('readItems') || '[]'); if (!readItems.includes(link)) { unreadItems.push({ title, link }); } }); // הצגת הפריטים שלא קראת displayUnreadItems(unreadItems); } catch (error) { console.error('Error fetching RSS feed:', error); } } function displayUnreadItems(items) { const list = document.getElementById("unreadItems"); list.innerHTML = ''; // לנקות את התצוגה הישנה items.forEach(item => { const listItem = document.createElement("li"); listItem.innerHTML = `<a href="${item.link}" target="_blank">${item.title}</a>`; list.appendChild(listItem); }); } // פונקציה לסימון פריט כנקרא function markAsRead(link) { const readItems = JSON.parse(localStorage.getItem('readItems') || '[]'); if (!readItems.includes(link)) { readItems.push(link); localStorage.setItem('readItems', JSON.stringify(readItems)); } } window.onload = fetchRSS; </script> </head> <body> <h1>RSS Reader - פריטים שלא קראת</h1> <ul id="unreadItems"> <!-- כאן יופיעו הפריטים שלא קראת --> </ul> </body> </html>הסבר על הקוד:
- fetchRSS() - פונקציה זו טוענת את הזנת ה-RSS מהכתובת שציינת, מפענחת את ה-XML, ומסננת את הפריטים שלא קראת.
- displayUnreadItems() - מציגה את רשימת הפריטים שלא קראת בדף.
- markAsRead() - אם תלחץ על אחד מהקישורים, תוכל לסמן אותו כנקרא (באמצעות אחסון בלוקלסטורג').
- localStorage - הקוד משתמש ב-
localStorageכדי לשמור את רשימת הפריטים שקראת, כך שהדפדפן יזכור את המידע גם אחרי טעינה מחדש של הדף.
איך להריץ את הקוד:
- פתח את דפדפן האינטרנט שלך.
- פתח כלי מפתחים על ידי לחיצה על F12 או קליק ימני על הדף ובחירת "Inspect".
- בחר בלשונית "Console".
- הדבק את הקוד בתיבת הקונסול ולחץ Enter.
- הקוד יטעין את הזנת ה-RSS ויציג את הפריטים שלא קראת.
הערות:
- יש להחליף את כתובת ה-RSS בכתובת הזנת ה-RSS שלך בשדה
rssUrl. - אם אתה רוצה לסמן פריטים כנקראים, אתה יכול להוסיף פונקציה שתופעל כאשר תלחץ על הקישורים.
אם יש לך שאלות נוספות או אם אתה רוצה להוסיף פונקציות נוספות, אני כאן לעזור!
-
דרייבר של קורא כרטיסים קרס אחרי עדכון וינדוסקורא כרטיסים USB שקניתי מרב קו בזמנו, עד היום עבד נפלא, אחרי העדכון האחרון של וינדוס אני מקבל שגיאה וההתקן לא עובד יותר.
מיקרוסופט מציעים לבטל את ההגדרה תקינות זיכרון, האם זה כדאי?

-
ממשק גרירה תומר עברית (rtl)פעם כתבתי קומפוננטה כזו, אני שם את הקוד כאן בלי אחריות
onDragStart(event: any, data: any) { event.dataTransfer.setData('id', data.id); } onDragLeave(event: any) { event.path[0].id = "" } onDragEnter(event: any) { event.path[0].id = "on-drag" } allowDrop(event: any) { event.preventDefault(); } onDrop(event: any, target: any) { event.path[0].id = "" let movedId = event.dataTransfer.getData('id'); event.preventDefault(); let oldIndex = this.plstService.activeList?.items?.findIndex(item => item.id == movedId); let newIndex = this.plstService.activeList?.items?.findIndex(item => item.id == target.id); // console.log("newIndex", newIndex, "oldIndex", oldIndex) if (oldIndex! > newIndex!) ++newIndex!; console.log("newIndex", newIndex, "oldIndex", oldIndex) if (oldIndex == newIndex) return; this.arrayMove(this.plstService.activeList?.items, oldIndex, newIndex) this.plstService.storeLists() } arrayMove(arr: any, oldIndex: any, newIndex: any) { arr.splice(newIndex, 0, arr.splice(oldIndex, 1)[0]); };.drag{ cursor: move; /* height: 20px; background: #5f5f5f; width: 97%; */ } .drop{ position: absolute; left: 0; top: 0; z-index: 8; height: 78%; width: 10px; } .drop#on-drag{ background-color: #ffffff; box-shadow: 0 0 10px 3px #fff; }<div class="item-container"> <div class="item" *ngFor="let item of plstService.activeList.items"> <div class="drag" draggable="true" (dragstart)="onDragStart($event, item)"> <i class="fas fa-arrows-alt"></i> </div> <a>{{item.title}}</a> <div class="drop" (drop)="onDrop($event, item)" (dragover)="allowDrop($event)" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)"> </div> </div> </div> -
ממשק ניהול חינמי לשרת לינוקס@zvinissim כתב בממשק ניהול חינמי לשרת לינוקס:
כיום אני משתמש ב Hestia.
לדעתי כיום שעברתי מספר מערכות אני חושב שהיא מערכת מצוינת.נראה שהפונקציונליות שלה לא מגיע לרבע מ aapanel
האם יש בה מעלות שאין ב aapanel? -
ממשק ניהול חינמי לשרת לינוקס@חגי זה בערך כמו שתאמר לא לעלות על מטוס הרקולס...
זו לא עבודה זרה, זו מיתולוגיה עתיקה שאבד עליה הכלח -
ממשק ניהול חינמי לשרת לינוקסלאחרונה התוודעתי לממשק הניהול aapanel
יש לו גירסה חינמית בלי הגבלת זמן
והאופציות שם מדהימות
יש ניהול ויזואלי שלם לכל המערך של דוקר, ניהול אפליקציות נוד, אתרים סטטיים ו PHP, וובהוקים, FTP, משימות מתוזמנות, ממשק עריכת קבצים, כלי אוטומציה של וורדפרס, וחנות גדולה של תוספים בחינם, ועוד היד נטויה.
אפשר להקים שרת עבור לקוח בלי שידע איך מתנהלים מהטרמינל בכלל
החסרון שמצאתי בנתיים הוא שאין תמיכה בריבוי יוזרים, רק יוזר אחד ניהולי
ממש עכשיו הם הוסיפו יוזרים מרובים בגירסה בתשלום, אבל בחינמי אין את זה. -
אסטריסק מתקשר עם שרת AGIמכונת דוקר 1 - מרכזיה של אסטריסק שמקבלת שיחות, ומעבירה את הניהול של השיחות לשרת AGI שיושב במכונת דוקר 2.
השרת AGI זו בעצם אפליקצית ווב גדולה, עם שרת API של נוד, ובנוסף הוא מחזיק גם שרת AGI לנהל את השיחות, לקבל את ההקשות של המשתמש, לתשאל את המסד, ולעדכן על בחירות של המתקשר ועל שעת סיום שיחה, כל הנתונים נשלפים ונשמרים מול המסד המרכזי של האפליקציה.
מטבע הדברים השרת דורש עדכונים מפעם לפעם, וזה דורש הפעלה מחדש של האפליקצית נוד.
דא עקא, שהפעלה מחדש מפילה את ה AGI, והשיחות הפעילות נופלות.
עד עכשיו לפני שהייתי עושה עדכון הייתי נכנס לאסטריסק, ומבקשcore show channelsורק כשאני רואה שהרשימה ריקה ואין שיחות פעילות אני מרסטרט את השרת
אבל זו דרך מסורבלת מידי, אני מאמין שיש דרך לעשות איזה סקריפט חיצוני שיבדוק אם יש שיחות פעילות, ואם לא שיתן הוראה לשרת להפעיל את עצמו מחדש
האם אכן יש דרך כזו? -
אובנטו 22.04 לא מצליח להתקין GMPנהוג להוציא עלוני סיכומה של שנה, אז חשבתי לכתוב איזו ברכה מליצית ל @yossiz על העובדה שהוא אף פעם לא מרפה, וגם אחרי שהוא עונה בפורום הוא ממשיך להיות זמין בפרטי ולהמשיך את שרשרת התקלות עד לסיום המוצלח
אבל מעיינות המליצות יבשו כנחל אכזב וכנהר אשר יכזבו מימיו
פניתי למכונה האדישה, וגם היא איכזבה כמובן...
https://chatgpt.com/share/66f9af49-a850-800d-a6ce-e74f6f607a79אמרתי אין הדבר תלוי אלא בי, הנחתי ראשי בין ברכי ובירכתי את @yossiz בברכת הדיוט שיזכה לשנה טובה ומבורכת, שיתמלאו כל משאלות ליבו לטובה וימשיך להועיל לקהילה מהידע העצום שלו והלב הענק שלו!
-
אובנטו 22.04 לא מצליח להתקין GMPPHP 7.4
אני צריך GMP בשביל הודעות פוש.php --iniפולט שגיאהPHP Warning: PHP Startup: Unable to load dynamic library 'php_gmp.so' (tried: /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/php_gmp.so (/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/php_gmp.so: cannot open shared object file: No such file or directory), /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/php_gmp.so.so (/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/php_gmp.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0הרצתי
apt-get install libgmp3-dev apt install libgmp-dev
ועבר בהצלחה
אבלapt-get install php7.4-gmpמחזיר שגיאהE: Unable to locate package php7.4-gmp E: Couldn't find any package by glob 'php7.4-gmp' E: Couldn't find any package by regex 'php7.4-gmp'phpinfo מראה כך

ובפועל אין תמיכה ב GMP
מה ניתן לעשות? -
למה האפריקאים שחורים@צבי-ש כתב בלמה האפריקאים שחורים:
ראה עוד
https://en.wikipedia.org/wiki/Sodium/potassium/calcium_exchanger_5אני מבין שכתוב שם שהאקלים משפיע על הסיכויים שמוטציות מסויימות יתרחשו בשעת שכפול הDNA, ולכן באיזור אירופה התרחשו יותר מוטציות שגרמו לצבע העור להיראות כך, האם הבנתי נכון?
-
למה האפריקאים שחורים@סקרן-0 כתב בלמה האפריקאים שחורים:
כי תכונות נרכשות הופכות במהלך הזמן גם למטען גנטי
אם זה כמו שאתה אומר אז תשובתך ברורה ונכוחה, אבל כיום אוחזים שתכונות נרכשות לא משפיעות על רצף ה DNA, ולכן אני שואל איך באמת הפיגמנטציה עוברת בירושה
-
למה האפריקאים שחורים@ek0583232948 עכשיו זה חסום לי לגמרי...