בסופו של דבר מה שאכן עזר זה משחק אגרסיבי בצינור עם סטלבנד, עד שיצאה אבן/חתיכת בטון נכבדה:

כעת הצינור לא ממש נקי, אבל החוטים עברו.
תודה לכולם על העזרה.
צדיק תמים
-
פתיחת תקיעה בהשחלת כבל רשת -
התנהגות מוזרה של מתודת ג'אווהסקריפט reduceרקע לתשובת @yossiz:
- הפונקציה של
reduceלא מקבלת ארגומנט שלitem1ו-item2דהיינו האיבר הנוכחי במערך והאיבר הקודם, אלאaccumulator(כלומר ההצטברות עד עכשיו, ראה בהמשך), וcurrentItemכלומר האיבר הנוכחי. - אם לא מעבירים ערך ראשוני (
initialValue), הערך ההתחלתי (כלומר הaccumulator- ההצטברות, באיטרציה הראשונה) יהיה הערך הראשון של המערך.
אתה יכול לראות כאן מבנה של פונקציית reduce תקינה: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#try_it
- הפונקציה של
-
איך לבנות שרת מיילים?@ivrtikshoret הנה לינקים למדריכים שעל פיהם פעלתי לפני תקופה כשהתקנתי על אובונטו שרת מיילים postfix לשליחה בלבד והגדרתי אותו למצב שהמיילים מקבלים 10/10 ב mail-tester.com, מקווה שיעזור:
כדי לבדוק האם פורט 25 (SMTP) פתוח בכלל ואפשר לשלוח מיילים - swaks
התקנת Postfix:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-20-04(התעודת TLS שנוצרת לא תקפה לתמיד, כדאי ליצור cronjob שיריץ
certbot renew)הגדרת SPF:
https://www.digitalocean.com/community/tutorials/how-to-use-an-spf-record-to-prevent-spoofing-improve-e-mail-reliability
הגדרת DKIM:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
הגדרת DMARC:
https://dmarcguide.globalcyberalliance.org -
עזרה בשליחת מייל דרך אנגולראגב Gmail שהוזכר כאן,
יש דרך אחרת יותר פשוטה והיא סקריפט בגוגל סקריפט, משהו כזה:function doPost(e) { const email = 'XXXXX@GMAIL.COM' GmailApp.sendEmail(email, 'הופעלה הפונקציה', e.parameter.text) return ContentService.createTextOutput(JSON.stringify({ success: true })).setMimeType(ContentService.MimeType.JSON) }לאחר מכן בצד שמאל למעלה תלחץ על "פריסה" > פריסה חדשה, ואז תבחר "אפליקציית אינטרנט":

לאחר מכן בשדה "לבצע בתור" תבחר "עצמי", ב"למי יש גישה" תבחר "כולם",
תקבל כתובת URL שאתה פשוט פונה אליה בPOST, וזה שולח לך מייל עם הכותרת שהוגדרה בסקריפט ("הופעלה הפונקציה"). מוגבל ל100 מיילים ביום בחשבון לא עסקי.
תוכל להוסיף query param בשם text עם טקסט לתוכן המייל.
בנטפרי הכתובת שתקבל תהיה חסומה, תוכל לפנות אליהם ויפתחו. -
sql - תכנון יצירת טבלאות@mekev כתב בsql - תכנון יצירת טבלאות:
במידה ויש נתון 'כפול' שניתן להשיגו באמצעות מפתח זר הקיים בטבלה נוכחית
אבל זה נתון 'רזה' מסוג nvarchar(30)
האם 'שווה' להוסיף את העמודה בכדי לחסוך את הjoin בשאילתותעריכה: דוגמא
למעשה המזהה ספק ושם הספק הינו נתון כפול
כי ניתן לשלוף את שם הספק באמצעות JOIN לטבלת ספקים
מצד שני - שם הספק הינו שדה 'רזה'אני חושב שמקובל לעשות טבלה נפרדת של ספקים.
שים לב שבצורה הזאת, אם תרצה לשנות שם ספק, תצטרך לעדכן אותו בשני מקומות... זה תופעת לוואי שאומרת שהנתון לא אמור להיות כפול. -
עזרה בקוד js@יושב-אוהלים אמר בעזרה בקוד js:
כיוון שההנחיה שכתבת מחזירה לדפדפן את הקלט שהמשתמש מזין כמחרוזת טקסט, וזה בגלל הסימון "" שגורם לדפדפן לחשוב שמדובר במחרוזת טקסט ולא באופרטור
ליתר דיוק בגלל ש
promptמחזיר תמיד סטרינג.
אגב לא הכרתי את השימוש בUnary plus להמרת סטרינג למספר, תמיד השתמשתי בparseInt
עריכה: נראה שיש יתרונות לכאן ולכאן - לדוגמה צורת הטיפול במספר עשרוני (יש בקישור הנ"ל טבלה מקיפה) :

-
תוספים שימושיים לVSCכהמשך לכאן, חשבתי שיהיה נחמד אם כל אחד יעלה כאן תוספים שימושיים במיוחד ל-VSC לתועלת כולם.
ואני יתחיל עם כמה שימושיים, אני משער שיש עוד המון...- LiveServer
- markdown-all-in-one - מקל על עריכת קבצי markdown (REDME.md לדוגמה). אתר אונליין באותו רעיון.
- thunder-client - מעין Postman מתוך העורך קוד עצמו.
- jquerysnippets - תוסף השלמה אוטומטית לjQuery - שימושי למי שכותב הרבה עם הספריה הזו.
- blockman מסמן את ה"בלוקים" בקוד. (סרטון הרחבה)
- spell-checker - מתקן טעויות כתיב ואיות - שימושי למי שבתחילת הדרך באנגלית... המילון בעברית שלו ממש דל (גם עם הוספת ההרחבת עברית), אז עדיף כבר להשבית אותו לשפה העברית - אם יש בקוד/הערות עברית.
- env עריכה נוחה של קבצי
.env
-
שיתוף - סקריפט לקול חי מיוזיקאפשר להשתמש גם בנגנן הזה שבניתי, שמבוסס בעיקר על קול חי מיוזיק: https://madrichim.ovh/live
-
בקשה | תירגום אוטומטי של חלק מדף אינטרנט ע"י JS@מעלה-ומוריד ניתן להגדיר האם תגית מסוימת (וצאצאיה) יתורגמו או לא, ע"י attribute בשם
translate:
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate
ממילא ניתן להוסיף את ההגדרה שלא לתרגם לתגית הhtml העליונה וכך כל האלמנטים שלא יוחרגו לא יתורגמו:document.querySelector("html").translate = false;ולאחר מכן ניתן להגדיר את האזור הספציפי שכן יתורגם, סתם לדוגמה כדי להגדיר שיתורגם אך ורק התוכן של הטבלת תאימויות דפדפנים באתר MDN:
document.querySelector("#content > article > div.table-scroll").translate = true; -
חדש - קו תזכורות לזמני היום לפי עריםחדש!
הקו שודרג, להלן השינויים:-
אפשרות לבחור במהלך ההרשמה כמה דקות לפני הזמן ההלכתי (כלומר כמה זמן לפני השקיעה/סוף זמן ק"ש/נץ וכן הלאה) יקבלו את השיחה. לדוגמה 20 דקות לפני, 25 דקות, שעה, וכו'.
-
בשלוחה 2 - אפשרות לשמוע לאיזה תזכורות מנויים ולבטל תזכורות מסוימות בלבד לפי בחירה, או הסרה מהירה מכל ההרשמות הקיימות.
-
שימו לב - הדיוק של התזכורות הופחת בצורה מכוונת (בשל הכרח טכני), כלומר עשוי להיות איחור או הקדמה של עד 30 שניות.
אם לדוגמה שעה לפני השקיעה זה לפי החישוב שלי ב16:00:00, התזכורת תגיע בין15:59:31ל16:00:29.
וגם סטטיסטיקות מורחבות בשלוחה 0, למי שזה מעניין אותו

מספרי הטלפון של המערכת נשארו ללא שינוי.
אם לא קיבלת תזכורת למרות שנרשמת, אשמח שתשאיר הודעה מפורטת בשלוחה 3 (כולל שם העיר והזמן שנרשמתם, וכמה זמן לפני בחרת לקבל את התזכורת), כדי שאוכל לתקן. תודה.
אפשר גם לפנות במייל - zmanim@madrichim.ovh -
-
שינוי שם של קבצים מרובים@בערל אמר בשינוי שם של קבצים מרובים:
שלום לכולם.
יש לי המון קבצים עם שמות ארוכים.
חלק מסתיימים ב$ותווים נוספים אחריו.לדוגמה:
ahfdsgxh jgschsv $55.jpg jhdcjgjs jsyryafv &100.jpg icysgxjs yutsvhx &250.jpgאיך אפשר למחוק את ה"דולר" וכל מה שאחריו מכל הקבצים בתיקייה?
אני מאמין שאפשרי בפקודה בCMD.
אודה לכל רעיון.תודה רבה!!
אפשר בפורמט פקטורי:


בוחרים תקייה
בוחרים להשאיר שם וזהו
ובשורה בחלק התחתון כותבים מה שרוצים להסיר
ועושים "שנה שם",
וזהו!
זה עובד מצויןן ומדוייק.
(מנסיון) -
מודלי שפה בקוד פתוח - שימושים בתעשייה@יוסף-בן-שמעון למודלי קוד פתוח יש את כל השימושים של מודל בקוד סגור עם שלל יתרונות נוספים כמו עלויות, לא להיות תלוי בחברה חיצונית, אבטחה, יכולת התאמה לצרכים מיוחדים
@יוסף-בן-שמעון כתב במודלי שפה בקוד פתוח - שימושים בתעשייה:
אבל למודל שפה אין פלט דטרמינסטי, ואפילו עם רג'קס אי אפשר לקרוא את הפלט, כך שלכאורה לא ניתן להשתמש בו לביצוע אוטונומי.
המודלים כבר מספיק חכמים כדי להחזיר פלט במבנה שתבקש
ואגב לLLM יש פלט דטרמיניסטי, הרי בסוף הLLM רק חוזה את הטוקן הבא בכל פעם על סמך כל הטוקנים עד הנקודה הנוכחית, ולכן אותו קלט ואותם פרמטרים (טמפרטורה וכו') ואותו seed (סה"כ מספר) יחזירו תמיד את אותה התשובה בדיוק,
רק שהממשקים מאחורי הקלעים מכניסים מספר seed אקראי כדי שהתוצאה תהיה שונה כל פעם, בAPI של OpenAI לדוגמה יש לך אפשרות לשלוט על הseed -
ארכיטקטורת ניהול משתמשים עם רמות גישה שונות@avi-rz כתב בארכיטקטורת ניהול משתמשים עם רמות גישה שונות:
ועשוי להיות פחות מאובטח מבחינת ניחוש מבנה המערכת
מה המשמעות האבטחתית לזה שמבינים את מבנה הטבלאות במערכת?
כנ"ל כתובת ההתחברות של המנהל. עדיף להתמקד באבטחה ולא באבטחה באמצעות הסתרה -
תוסף שמדגיש את המבזקים שלא נקראו בכל רגע@אביחיל עשיתי את התיקון כבר אתמול בערב, היום רק שיפרתי

-
סידור ואחסון העלאות@יוסף-בן-שמעון אני חושב שהאופציה הראשונה וודאי לא נכונה, לא אמור להיות תקייה לכל קובץ ששמה הוא מזהה הקובץ ובתוכה הקובץ, כיוון שאין בזה שום ערך ארגוני וכדומה (בשונה מחלוקה לפי חודשים וכדו')
אתה יכול לשמור ישירות את המזהה של הקובץ:/uploads/<filekey>.png>או אם תרצה מזהה + שם לצורך סדר בתקיה וכדו':
/uploads/<filekey>_<filename>.pngובמסד הנתונים אתה שומר את שם הקובץ ומספק אותו להורדה על פי המזהה, עם שם הקובץ ששמור במסד.
השאלה לדעתי היא רק האם לשמור את הקבצים עם חלוקה לפי תקיות על פי תאריך ו/או תחום, או לשמור הכל במעורבב ולסמוך לגמרי על החלוקה שבמסד -
ריצה בלופ מהאחרון לראשון בJS@שאול-נ-י לא הבנתי, מה המטרה של
a?
אם אתה משתמש בforof אין צורך במשתנה אינדקסconst str = 'שלום וברכה, נא להשאיר הודעה ונחזור אליכם בהקדם'; const words = str.match(/.{1,10}(\s|$)/g); for (const word of words.reverse()) { console.log(word) }ממליץ לקרוא על לולאות בספר של רן בר-זיק (בתשלום, משתלם מאוד לדעתי), זה יעשה לך קצת סדר...
-
עדכון משתנה בתנאינקודה נוספת -
@ענן אמר בעדכון משתנה בתנאי:if (lnghe.length = en) {זה לא תנאי תקין, תנאי תקין הוא עם
===(קפדני - משווה גם תוכן וגם סוג), או==- לא קפדני, ממיר לדוגמה מספר למחרוזת
דוגמה להשוואה רגילה (לא קפדנית):if (5 == '5') alert('=')כאן התנאי יתקיים, כיוון ש
5יומר ממספר לסטרינג, ואז זה שווה,
אבל כזה דבר:if (5 === '5') alert('=')לא יתקיים, כיוון שהסוג לא זהה, והשתמשנו בהשוואה קפדנית.
מומלץ להתרגל לשימוש בהשוואה קפדנית כיוון שזה מונע התנהגות לא צפויה של הקוד... -
אתר רשתטק נגד הרפורמה המשפטית איך זה משפע עלינו??@איש-נחמד אין מקום להשוואה. אנשים שילמו כסף מלא על המודעות שלהם בזמן שהאתר היה למטה, הבעלים של רשתטק לא חייב לך כלום
-
לשם התעניינות. האם נטפרי פותחים את ההצפנה של פרטים מוצפנים? -
העלאת טקסט מגוגל שיטס לתוך שלוחות בימות המשיח, ויצירת/מחיקת שלוחות@Y-Excel-Access כיוון שאני רואה שלא נתנו פה הדרכה יותר טובה או קישור למשהו מוכן, אנסה לכתוב משהו:
א - קריאה/כתיבה לטבלת שיטס מתוך גוגל סקריפטכל הנ"ל מתייחס לאם רוצים לקבל/לכתוב יותר מאשר תא של 1X1, אחרת ניתן להשתמש במתודת
getValue/setValueבהתאמה, שמקבלת/מחזירה סטרינג.הקריאה/כתיבה של נתונים אל קובץ השיטס נעשית באמצעות הSpreadsheet Service, כאשר הפעולה נעשית על ידי קבלת "אזור" תאים בטבלה -
ragne, וכתיבה אליו של "מערך דו מימדי", או בקריאה - שימוש במתודהgetValuesעל הrange מה שיחזיר מערך דו מימדי.
לדוגמה יש כזו טבלה:

נוסיף סקריפט דרך הטבלה - מה שיאפשר לי להשתמש בgetActiveSheet:

ונכתוב בו את הפונקציה הבאה:function getSheetValues() { const sheet = SpreadsheetApp.getActiveSheet() const range = sheet.getRange('A1:B3') const values = range.getValues() Logger.log(JSON.stringify(values)) }כאן אני מקבל את כל השורות בטבלה אז ניתן באותה מידה להשתמש ב
sheet.getValues(), אבל באופן כללי, כשזה רלוונטי, נעדיף לקבל רק את הטווח הרלוונטי כדי לחסוך ב"שאילתות" מול שירות חיצוני - השיטס, שמאיטות את הריצה של הקוד.יודפס המערך דו-מימדי הבא שמייצג את הטבלה:
[["שם","תפקיד"],["משה","מנהל"],["יעקב","מזכיר"]]כאשר התת-מערך הראשון מייצג את השורה הראשונה - שבד"כ מקובל להתייחס אליה ככותרות הטבלה, "שם" ו"תפקיד", והשני מייצג את ערכי השורה השניה - "משה" ו"מנהל", כך שאם לדוגמה ארצה לדעת מה התפקיד של האדם שמיוצג בשורה השניה (משה) אכתוב ככה (כאשר
valuesהוא המערך הדו מימדי הנזכר):values[1][1] // "מנהל"ממילא כל ההתעסקות עם הנתונים היא עם מתודות של מערכים בJS - סתם לדוגמה אני אוהב להפריד את השורה הראשונה ע"י מתודת
shift.
אם לדוגמה יעקב המזכיר קודם לדרגת מנהל, וגם שינו את שמו עקב מחלה קשה ליעקב-חיים, ואני ארצה לעדכן את השורה שלו,
אבצע את הפעולה הבאה:sheet.getRange(2, 1, 1, 2).setValues([["יעקב חיים", "מנהל"]]);כלומר אני מקבל את הrange בצורה הבאה:

דהיינו:
החל משורה: 2 (=שורה 1 לא כולל הכותרות)
החל מעמודה: 1
כמות שורות: 1
כמות עמודות: 2
ולאחר מכן אני כותב לטווח שזה בעצם האזור הזה בטבלה, מערך דו מימדי שכמובן במקרה הזה מכיל רק תת-מערך אחד.
אני מקווה שלא יצא מידי מעורפל, אם יש שאלות אתה מוזמן לשאול.
ב - שליחת בקשות לAPI של ימות
החלק הזה הוא החלק הפשוט, שליחת בקשות נעשית באמצעות UrlFetchApp (בד"כ באמצעותUrlFetchApp.fetch(קישור)), ויש לימות תיעוד ברור של הAPI שלהם:
https://f2.freeivr.co.il/topic/55