@dovid אגב האופציה היתה קיימת מאז ומעולם (יותר נכון מאז שאני מכיר את nodebb),
אלא שבערכת נושא הישנה (persona) התמונה הממוזערת היתה מחליפה את התמונת פרופיל של הנושא בדף קטגוריה/לא נקראו וכו' בלבד (ראה לדוגמה כאן), ובהרמוני היא מופיעה במיקום שבתמונה, וגם בתוך הנושא בצד שמאל למעלה, וכן אפשר לצרף כמה תמונות
ואגב, כשזה מופעל אפשר להוסיף גם בנושא קיים ולא רק בחדש

צדיק תמים
-
מה זה התמונה הזאת שמופיעה רק ליד הנושא של מסדר הסינגלים? -
העיצוב החדש בפורום@shraga כתב בהעיצוב החדש בפורום:
תרגומים חסרים לעברית (לא ברור לי האם זה אמור להתבצע ספציפית לפלטפורמה זו או שיש לnodebb פלטפורמת תרגום משל עצמה שאיכשהו הפורום יכול להסתנכרן איתה), מסתבר שהחבר'ה כאן ישמחו לתרום אך רק יכוונו אותם.
התרגום מתבצע דרך transifex, אחרי העדכון כאן תרגמתי שם יותר ממאה מחרוזות (שייתעדכנו בגרסה הבאה של nodebb), נשאר 40.
הציבור מוזמן -
מדריך | כתיבת סקריפט צד לקוח עבור אתר NodeBB - שימוש בhooksבפוסטים הקודמים כתבתי רק על האזנה לאירועים של NodeBB בצד הלקוח.
אלא שניתן גם ליזום אירועים, וכך ניתן לבצע פעולות בממשק בצורה נקיה, ללא צורך בדימוי לחיצות ושאר שטיקים מכוערים...
לדוגמה אם אני רוצה לפתוח נושא חדש (זה רק דוגמה, ספציפית בזה יש אתapp.newTopic
), אני לא צריך לדמות לחיצה על כפתור פתח נושא, ואז לדמות לחיצה על בורר הקטגוריות, וכן הלאה...
אני יכול פשוט לקרוא לאירועaction:composer.topic.new
(מאיפה יש לי אותו? מהתיעוד הרשמי) עם הפרמטרים הנכונים,ואיך אני יידע איזה פרמטרים?
פשוט מאזינים להוק הרלוונטי ומפעילים אותו בממשק, ורואים בקונסולה איזה פרמטרים הועברו אליו... אפשר גם להיעזר בסקריפט שהבאתי בפוסט הקודם
לדוגמה כדי להאזין להוק של יצירת נושא:$(window).on('action:composer.topic.new', (event, data) => { console.log(data); });
אם תאזינו כך להוק של פתיחת נושא, תוכלו לראות שהוא מקבל אובייקט שמכיל
cid
ומערך שלtags
, שבמקרה הזה הם ריקים:{ "cid": 0, "tags": [] }
וממילא ברגע שנקרא להוק בצורה הזאת:
$(window).trigger('action:composer.topic.new', { cid: "9", tags: [ 'test', 'test2' ] });
נראה שנפתח מייד חלון כתיבת נושא חדש, כאשר ב"קטגוריה" כבר נבחרה קטגוריה מספר 9 - בניה ושיפוצים, ובמקום המיועד כבר הוכנסו התגיות
test
וtest2
:
ותן לחכם ויחכם עוד... -
בעיית מיקום בחיפוש גוגל@אורח-פורח תבקש מ claude.ai או ChatGPT סקריפט Tempermonkey (UserScript) שעושה את זה והוראות איך להתקין. יעשה את זה כנראה מושלם בנסיון ראשון
עריכה: תיכנס להגדרות מנועי חיפוש
chrome://settings/searchEngines
תחת "חיפוש באתרים ספציפיים" תלחץ הוספה, בURL תכניס:
https://www.google.com/search?q=%s&gl=BE
אח"כ תלחץ לידו ב3 נקודות ותקבע כברירת מחדל
-
למה תקלת CrowdStrike לא יכולה להתרחש בmacOS, ולמה מייקרוסופט לא יכולה לנקוט בצעדי התגוננות דומיםאני רק זורק כאן מידע מעניין שקראתי ואולי יעניין מישהו, על ההבדל בין macOS לוינדוס מבחינת רגישות ל:
א. שיבושים של קבצי המערכת
ב. שגיאות בתוספות צד ג’ לקרנל (CrowdStrike...)כאן יש הסבר טוב שאפל מגנים משיבוש של קבצי מערכת, כך שברגע המחשב מפעיל את עצמו מחדש אתה יכול להיות בטוח שכל קבצי המערכת הפעלה מקוריים ושלמים, בעוד בוינדוס כידוע הרבה מסכים כחולים נובעים מcorruption of system files:
https://eclecticlight.co/2021/12/26/last-week-on-my-mac-maintaining-macos-has-changedאבל החלק המעוניין הוא שאפל גם השביתה את מנגנון הkernel extentions (kexts), מה שאומר לכאורה שלא יכול להתרחש kernel panic (ה“מסך כחול” של מק) כתוצאה משגיאה בהרחבת קרנל צד ג’ כמו שקרה עם CrowdStruck כיוון שהמנגנון החדש רץ בהרשאות משתמש, בשונה מוינדוס שאפשר לרוץ בקרנל בהרשאות מערכת.
אלא שנראה שמייקרוסופט לא יכולה בכלל לנעול את הקרנל לשינויים חיצוניים! היא רצתה לעשות את זה לפני 20 שנה, חברות אנטיוירוס טענו שזה יפגע באבטחה ובתחרות, והיא התחייבה לאיחוד האירופי שלא תעשה את הצעד הזה...
מקורות:
https://stratechery.com/2024/crashes-and-competition
https://www.tomshardware.com/software/windows/microsofts-eu-agreement-means-it-will-be-hard-to-avoid-crowdstrike-like-calamities-in-the-futureנ.ב. כמובן שתקלה כזאת יכולה להתרחש בעקבות תקלה בעדכון של אפל עצמם, אבל זה מפחית מאוד את הסיכון.
אשמח לתגובות
-
לימודי תכנות@chagold כתב בלימודי תכנות:
@מבקש ללמוד html css js זה כמו ללמוד אותיות ומילים ולחבר אותם למשפט אחד, וזה הבסיס, אבל זה לא ספר.
יש המון מה ללמוד בבסיס, כל מיני אלמנטים בHTML, הגדרות בCSS ופונקציות בJS, אבל כיון שבכל מקרה תצטרך ליסוע בכביש של הגדולים, לכן לענ"ד ברגע שאתה מרגיש שאתה מבין מי נגד מי, תעבור לשלב הבא שזה לעבוד עם פריימוורק, שם תמשיך את הלמידה ותשתפשף בדברים הבסיסיים, רק ממבט מתקדם יותר.אני נגד ההגדרה של פריימוורק כ"מבט מתקדם יותר", זה פשוט שכבת הפשטה נוחה. וכמו כל שכבת הפשטה, זה בא על חשבון ההבנה של מה ש"מתחת", שהיא חשובה מאוד
פגשתי כבר יותר מידי מתכנתים שהתפתו (או פותו על ידי בוטקאמפ וכדו') לדלג ישר לשכבת ההפשטה, וזו דרך קצרה שהיא ארוכה - לטווח הארוך ניכר שחסר להם הבסיס בצורה מסודרת ועדכנית. אני מדבר על הבסיס של השפה, לאו דווקא להכיר את כל המתודות שלMath
בעל פה
אלמנטים בHTML והגדרות עיצוב בCSS זה יותר סינטקס איך להצהיר על עיצוב, אבל JS זה לא "כמה פונקציות", זו שפת תכנות. צריך להבין את ה"ראש" של תכנות ושל השפה הספציפית, לדלג על זה ולרוץ הלאה זה ממש לא מומלץ -
רג'קס להסרת גרשיים מטקסט מלבד ר"ת/(?<=[א-ת])"(?![א-ת])|(?<![א-ת])"(?=[א-ת])|(?<=\s)"(?=\s)/gs
הביטוי הזה מחפש:
- יש לִפְנֵי (positive lookbehind) אות בעברית, מירכאות, אין אַחֲרֵי (negative lookahead) אות בעברית
או
- אין לִפְנֵי (negative lookbehind) אות בעברית, מירכאות, יש אַחֲרֵי (positive lookahead) אות בעברית
או
- יש לִפְנֵי (positive lookbehind) רווח, מירכאות, יש אַחֲרֵי (positive lookahead) רווח
מראי מקומות:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Lookbehind_assertion
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Lookahead_assertion -
מחפש מדריך TS -
עזרה בחלוקת קובץ node js למספר קבצים נפרדים@מוטי-מן קודם כל אני ממליץ לך בחום ומנסיון כשהייתי בשלב שלך בזמנו, לעבור על סדרת הסרטונים הזאת, נראה לי שזה יכסה לך דברים בסיסיים (לדוגמה את השאלה הנוכחית).
אני ממליץ על מבנה כזה:
app.js
תקיית src:
utils.js
תקיית api בתוך src:
router.js
controller.js
תקיית ivr בתוך src:
controller.js
router.jsכך קובץ utils.js ייצא את פונקציית הבדיקה:
export function licenseVerification(apiDID) { if (apiDID) { console.log('status: ', 'true'); return true; } else { console.log('status: ', 'blocked'); return false; } }
קובץ
controller.js
תחת ivr - מייצא פונקציות של הלוגיקת שיחה עצמה:import { licenseVerification } '../utils.js'; export async function sharing(call) { await call.id_list_message([{ type: 'text', data: 'הפעולה הושלמה' }]); } export async function callHandler(call) { if (await licenseVerification(call.ApiDID) === true) { return call.id_list_message([{ type: 'text', data: 'גישה מאופשרת' }]); } else { return call.id_list_message([{ type: 'text', data: 'המספר שלכם חסום לגישה' }]); } }
קובץ src/ivr/router.js:
import { YemotRouter } from 'yemot-router2'; import { callHandler } from './controller.js'; const router = YemotRouter({ printLog: true, uncaughtErrorHandler: (error, call) => { console.log(`Uncaught error from ${call.phone}. error stack: ${error.stack}`); return call.id_list_message([{ type: 'text', data: 'השרת נתקל בשגיאה פנה למנהל' }]); } }); router.get('/call', callHandler); export default router;
קובץ src/api/controller.js:
import { licenseVerification } '../utils.js'; export async function yemotLogin(req, res) { // licenseVerification(...) console.log('yemotLogin'); res.send('Blocked'); }
קובץ src/api/router.js:
import { Router } from 'express'; import { yemotLogin } from './controller.js'; const router = Router(); router.get('/page', yemotLogin); export default router;
קובץ
app.js
- אחראי רק על רמת השרת/אקספרס, ומייבא את הראוטרים ו"מפעיל" אותם באמצעות app.use:import express from 'express'; const app = express(); import ivrRouter from './src/ivr/router.js'; import apiRouter from './src/api/router.js'; app.use(express.urlencoded({ extended: true })); app.use(apiRouter); app.use('/ivr', ivrRouter); const port = 3000; app.listen(port, () => console.log(`The express server is now running and listening on port ${port}`));
-
js - פופ-אפ / דיאולוג - מה החלופות לSweetAlert2@mekev יש את bootbox שזה מה שיש פה באתר, אתה יכול להשתמש גם בגרסה הראשונה של sweetalert שפתוחה - https://sweetalert.js.org/guides
לגבי sweetalert2 הבעיה היא לא בתיעוד עצמו אלא בתוכן אחר שיש באתר שלהם, ככה שאם יש לך את התיעוד אתה יכול להשתמש בספריה (השימוש בה דרך CDN/NPM פתוח בנטפרי): SweetAlert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup_ boxes (3.7.2023 13_30_08).html -
תגיות html, css, js וכו'@יעקב-מ-פינס זה הכי מסודר שאני מכיר בעברית:
https://www.gov.il/BlobFolder/generalpage/html5/he/חומרי הדרכה ותרגיליםhtml5.pdf -
למה אני לא משתמש ב Chat openai@NH-LOCAL אף אחד לא חולק שכאשר הוא צודק הוא מקצר הליכים ונוח וכו'. הבעיה היא חוסר הוודאות בנכונות התשובה, כמו ש@יוסף-בן-שמעון כתב בלמה אני לא משתמש ב Chat openai:
הסוג השלישי אלו האנשים שתמיד תמיד בטוחים בעצמם, הם תמיד יודעים הכל, אין מצב שהם לא יענו לך תשובה על שאלתך, אף פעם לא יפנו אותך לייעוץ אצל מישהו אחר.
...
מהסוג השלישי אני בורח כמו מאש, אני סולד מאדם שמוכן לתת לי עצות בלי שום אחריות על מה שהוא מדבר, ואין לי שום אפשרות לדעת אם הוא אומר את דבריו מידיעה או השערה או המצאה.ובדוגמה שנתת. בהנחה שאתה לא יודע את כיווני המצפן (אחרת לא היית שואל אותו), אתה לא יכול לדעת בוודאות האם באמת הוא צודק (כן) או מקשקש,
אז אני יעדיף כבר להיכנס לתוצאה הראשונה של גוגל (ויקיפדיה - שושנת הרוחות), שם הייתי מוצא את השרטוט הבא:
שבהחלט היה עונה על השאלה שלך, ואמין בזכות "חכמת ההמונים", מאשר לקבל תשובה על מגש של כסף, אבל שאני לא יודע אם היא נכונה או לא... -
עזרה | זמני היום בAPI@ג-י-מ למעשה אתה לא צריך את כל מה שיש בפרויקט של @chv, כי אתה לא צריך ממשק, ולא לשלוח פושים, ואפילו DB אתה לכאורה לא צריך...
אתה צריך סה"כ אפליקצית nodeJS שתקבל את הזמנים למיקום אחד (מחבילת זמני הלכה, כגון זו ששימשה את chv או כל אחת אחרת), ובהתקיים תנאי מסוים לשלוח בקשת רשת לכתובת מסוימת.
גם אני נהנה מהמערכת שלך כבר תקופה ארוכהואני חושב שזה זיכוי הרבים גדול, ואשמח לעזור בעניין, צור קשר בפרטי
-
התייעצות כללית בנוגע לפתיחת חנות פוטו שכונתית -
איך מזהים לפי מספר טלפון איזה מדינה זה?@nachman יש ספריה של גוגל בשם libphonenumber לניתוח מספרי טלפון
או שתבנה משהו לבד עם הרשימה https://country.io/phone.json -
הסתרת אובייקטים מפורום NodeBB@zvinissim תוסף שמאוד עוזר - הוא מאפשר לראות את התוצאות של הCSS בלייב, בלי צורך כל פעם לשמור ולרענן.
-
ג'מיני עולה על GPT בכמה רמות@משרדי AI סטודיו הוא לא מוצר שמכוון לקהל הרחב, והוא באמת עם UIUX גרוע מאוד
אני לא חושב שהממשק של קלוד מזעזע, אבל הוא לא משהו
אם כבר הממשק הכי טוב בשוק הוא בכלל של grok. דוגמה קטנה לחשיבה שלהם על פרטים קטנים - אתה יכול באמצע שהAI כותב להקליד תגובה ואנטר וזה קוטע אותו. זה חוויית שיחה הרבה יותר טבעית, אצל כל האחרים אתה צריך ללחוץ ידנית על כפתור עצור, לחכות שיעצור, וללחוץ שליחה -
css של תפריטי windows 11@הפצת-אנקי כוונתך לפינות המעוגלות? בד"כ זה מוגדר ב
border-radius
- https://www.w3schools.com/cssref/css3_pr_border-radius.asp
- https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius
- https://www.w3schools.com/css/css3_borders.asp
עריכה: אם כוונתך שאתה רוצה את העיגול המדויק שיש בווינדוס 11, תוכל לנסות לדגום את ההגדרות CSS בדמו הזה עם כלי הפיתוח של הדפדפן.
-
החיפוש בפורום עובד@קינג-קומפיוטר רק עכשיו שמת לב
ראה https://tchumim.com/topic/15022/החיפוש-בפורום/5
אגב לי הכפתור חיפוש גוגל מופיע -
העיצוב החדש בפורום@dovid יצאה גרסה 3.1.0