@משרדי אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
זה מה שקורה אצלי לאחר הלחיצה על הסקריפט של @יוסף-בן-שמעון
בדרך כלל בפעם הראשונה שהדף נטען צריך ללחוץ פעמיים כדי לקבל תוצאה רצויה
@משרדי אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
זה מה שקורה אצלי לאחר הלחיצה על הסקריפט של @יוסף-בן-שמעון
בדרך כלל בפעם הראשונה שהדף נטען צריך ללחוץ פעמיים כדי לקבל תוצאה רצויה
@yossiz אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@yossiz אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@יוסף-בן-שמעון אני נתקל כל הזמן בבעיות, עכשיו לקחתי לדוגמא את הראשון שמצאתי. ולזה באמת הסימניה שלך עובד. (מזל טוב זכית בפרס היוקרתי...).
איך אפשר להעביר לך את פרטי החשבון בנק שלי?
ב. מסקרן אותי אם יש מקומות שבהם לא יעזור.
אני משתמש בזה המון זמן ולא נתקלתי בבעיות
@aiib אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@יוסף-בן-שמעון ומה? כל פעם להפעיל אותה?
שגעון...
זה קשה ללחוץ על סימניה? אתה לוחץ מאות לחיצות בדקת גלישה בדפדפן!

הפתרון לענ:ד הוא לשים סימניה בדפדפן כזו:
javascript: (function() { var elements = document.getElementsByTagName("*"); for (e of elements) { if (!e.style) continue; if (!e.style.direction || e.style.direction === 'ltr' ) e.style.direction = 'rtl'; else e.style.direction = 'ltr'; } } )()
אותי זה משמש לדפים שאני מתרגם בגוגל טרנסלייט, אבל זה יכול לעזור גם לבעיה הזו לכאורה
@yits אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@dovid אמר במי עוד משתגע מהתנהגות כרום לגבי טקסט bidi?:
@yossiz העלית קובץ HTML והוא נפתח בדפדפן, זה חור אבטחה של ממש!
אני רץ לטפל בזה.ואגב מה החור אבטחה בזה?
זה חור חמור מאד כי זה מאפשר לכל משתמש להריץ JS בדפדפן שלך תחת הדומיין של תחומים, זה אומר שתוך כמה שניות העוגיות של המנהל נמצאות בידים שלי ואני נכנס בשמו לפורום
@dovid אמר בשינוי מחלקה חיצונית c#:
זה מאוד נועז מה שאתה עושה - אתה לומד תחביר של שפה "תוך כדי נסיעה". מעניין איך תתחבר לזה בסוף.
זה הכי טוב לא?
לא עזר, בסוף התקנתי את webpack גלובלי והרצתי אותו לא דרך NPM והשגיאה נעלמה, ועדיין זה נכשל בלי שום שגיאה, אז העברתי את הפקודות מהקובץ gitlab-ci.yml לקובץ באש חיצוני וזה עובד, לא יודע למה.
תודה בכל אופן
יש לי אפליקציה שמתקמפלת עם webpack, בסביבת פיתוח אצלי הכל מתקמפל כמו שצריך, הבעיה שאני מנסה להריץ את הקומפיילר של webpack על השרת של גיטלאב, זה מראה את הפלט הרגיל של webpack עם רשימת הקבצים, וכשהוא מגיע לשלב האחרון ונראה שזה סיים את התהליך, הוא פולט שגיאה לא ברורה.
הפלט של וובפאק על השרת זהה לפלט על המחשב המקומי, ורק בשלב האחרון שהוא אמור להודיע על סיום מוצלח מגיעה השגיאה, זה לכאורה אומר שאין בעיה בהגדרות של וובפאק ובפקודות, אז אני לא מצליח להבין מה יכול לגרום לשגיאה.
זו השגיאה:
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @1.0.0 build: `webpack --progress`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-02-15T00_00_17_707Z-debug.log
ERROR: Job failed: exit code 1
כך נראה הקובץ .gitlab-ci.yml
image: node:latest
pages:
stage: build
script:
- npm install
- npm run build
artifacts:
paths:
- public
only:
- master
תודה על כל עזרה
@dovid אמר בחיפוש גוגל רגיל לפי ערוצים ביוטיוב:
@יוסף-בן-שמעון לי זה עבד מעולה הAPI.
בערוצים של יותר ממאה חמישים סרטים זה היה נתקע ובאיזה שלב היה מחזיר לי דפים ריקים, והיה כתוב שיש עוד X סרטים אבל לא היה מופיע כלום בדף, אחרי שוטטות מצאתי פוסט בסטאק שהתלוננו על זה והציעו במקום להשתמש ב nextPageToken לחפש לפי תאריך פרסום, וזה עובד בלי מגבלה
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
לשם ההבנה, ברעיון זה אפשרי ותיקני לכתוב כמה קבצים נפרדים, וכל אחד יוגדר על פורט אחר, ולהפעיל אותם במקביל, ואז בעצם יש לנו כמה תהליכים של הנוד שהם פעילים בו זמנית כל אחד ליציאה אחרת?
כך היה נראה לי מהנסיונות שלי, כאשר הרצתי סקריפט חדש על פורט אחר, ושני הפורטים ממשיכים לעבוד.
האם זה בסדר?
זה תקני כאשר אתה מריץ כמה אפליקציות נפרדות על אותו שרת, אז כל אפליקציה מאזינה לפורט אחר, אם מדובר באותה אפליקציה זה מיותר ומבזבז משאבים בלי צורך.
אם אני מבין נכון, מה שמניע אותך זה לקבל את נוד כמה שיותר דומה ל PHP, אז זה ניסיון סרק, אם אתה רוצה שרת פעיל במהירות, פשוט תתקין express. תכתוב את הפונקציות שאמורות לטפל בכל בקשה לפי ה URL, ותעשה ניתוב לפונקציה, יש מדריך טוב באתר של רן בר זיק על אקספרס וראוטינג. תתחיל ותדווח איפה נתקעת.
https://internet-israel.com/category/מדריכים/express/
@חוקר אני לא מכיר את החבילה הזו שאתה משתמש, לפי הפלט זה נראה שהוא מנסה להריץ פעמיים את האפליקציה ויש התנגשות בגלל ששתיהם מאזינות לאותו פורט, אולי אתה מעדכן בבת אחת שני קבצים אז הוא יורה פעמיים את העדכון?
בכל אופן לשאלתך איך השינויים מתבצעים, כנראה הפעם הראשונה נכשלת והפעם השניה עובדת
@חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:
עוד משהו, בקשר לסביבת פיתוח, זה באמת חיסרון בשפות האלה יחסית ל PHP שצריך להשקיע יותר בסביבת פיתוח ואין את הפשטות של עריכת קובץ ושמירה, צריך קצת להתרגל לזה, אבל בשום אופן לא לפתח ישירות על השרת.
אני ממליץ על vscode, זה מגיע עם IDE אינטגרלי עבור נוד וזה מאד מקל על העבודה, אפשר לדבג לכבות ולרסט את השרת בקלות, יש הודעות שגיאה עם מצביע למיקום השגיאה, ההדפסה לקונסול בגירסאות האחרונות מאד משוכללת, זה מציין את השורה שמשם התבצעה הבקשה להדפסה (וזה מאד משמעותי כשאתה רוצה לדבג וללכוד שגיאות) זה מדפיס אובייקטים כמו שהדפדפן כרום מדפיס אותם עם אפשרות לפתוח לראות את כל השרשרת של האובייקט והמורישים שלו.
גם דבר חשוב , vscode מציע לך השלמה אוטומטית לפרמטרים ושאר ירקות, הוא תומך בטייפסקריפט וב jsdoc שמודיעות לך לאיזה סוגי משתנים הפונקציה מצפה, וזה משמעותי כשאתה משתמש בספריה חיצונית במקום לדפדף בין הקוד להדרכות של המפתח של הספריה.
ויש עוד מעלות שאיני זוכר כרגע, בכל אופן מאד מומלץ
בהצלחה
הוספה קטנה לשאלה ג'
א. הדרך המקובלת היא כמו שאמר דוד, לכתוב את הפונקציה בקובץ כך:
//child-script.js
function globalFunc(){
console.log("A")
}
module.exports = globalFunc;
ולייבא אותו כך
//main-script.js
var globalFunc = require('./child-script.js')
globalFunc()
אפשר גם ליצור משתנים גלובליים ממש, אם אתה מאתחל את המשתנה בלי להצהיר עליו עם var או let או function וכדומה, לדוגמא:
globalFunc = function(){
console.log("A")
}
globalVar = "globalVar"
ואז אתה עושה ממש כמו include בקובץ הראשי או בכל קובץ שהוא ממרחבי האפליקציה:
require('./child-script.js')
globalFunc()
console.log(globalVar )
והמשתנים האלה זמינים לך בכל האפליקציה.
אבל זכור לי שלא ממליצים לעבוד כך, כי זה יכול לגרום התנגשות בין משתנים בלי שימת לב, וגם אם אתה עובד עם IDE נורמלי כמו vscode הוא לא יודע לזהות את המשתנים ולא יתן לך הצעות להשלמה אוטומטית.
@אהרן אמר בטאבלט למשימות וורד פשוטות:
יש לי את הטאבלט הזה (קניתי אותו חדש) שאם אני כותב עליו במסמכים קצת ארוכים (80-100 עמודים) לוקח לו כמה שניות (!) להגיב בין אות לאות, בלי עיצובים ובלי חישובים מיוחדים.
וורד לא סוחבת מסמכים גדולים בלי מעבד חזק וזיכרון טוב
הוספה: אני כותב בתצוגת אינטרנט כך שהעימוד לא משפיע על העיבוד ובכל זאת זה מגיב מאד לאט
@aiib אמר בפיענוח תוסף?!:
פעם ניסיתי לעקוב אחרי הפעולה שלו, הוא שולח בקשות לשרת עם המילים הרצויות ומקבל תרגום, אבל לזכרוני יש איזה מזהה או מפתח אימות שהוא מוסיף לכל בקשה, אתה תצטרך לפענח לפי מה הוא מייצר את המזהה הזה.
כדי לעקוב אחרי הפעולה שלו אתה צריך ללחוץ F12 על החלון של התוסף עצמו, ולעקוב אחרי ה Networrk לראות מה נשלח ומה מתקבל. אם תרצה לנסות לקרוא גם את הקוד, פתח את הקבצי סקריפט דרך כלי המפתחים, ומתחת החלון של תצוגת הסקריפט יש סוגריים מסולסלות {} שפותחות את המיניפקציה לקוד קריא (יחסית, עדיין חסר את השמות המלאים של המשתנים, אבל זה יותר טוב מכלום)
כדי לאחד שני נתיבים צריך לבחור שתי נקודות פתוחות של שני נתיבים שונים
כלומר, לא לבחור נקודות סגורות (שיש אחריהם המשך) ולא לבחור שתי נקודות של אותו נתיב
אני לא יודע, אבל אם אתה רק רוצה לצבוע את הקוד זה לא נראה מסובך כל כך, לפי התיעוד יש חבילה לפיתוח תוספים שעושה את העבודה, אתה רק צריך לבנות ג'ייסון עם המילים שלך
@yossiz אמר במי יכול לתרגם לי ?:
הוא עשה שפת סקריפט וסביבת הרצה לזה בעצמו
באמת תמוה למה הוא היה צריך להמציא סינטקס חדש ולהכביד על המפתחים ללמוד שפה חדשה בלי שום תיעוד מסודר, היה עדיף שיצמד לסינטקס של שפה מוכרת שיש עליה תיעוד ומדריכים