רוב האתרים בעולם הם סטנדרטים, כמו דפי נחיתה, חנויות אינטרנט, פורומים וכדומה. ולכן רוב האתרים בעולם לא בנויים מאפס אלא מתבניות - שהנפוצה בהם היא וורדפרס כמובן.
נפשי בשאלתי: יש גם פלטפורמות/תבניות מוכרות שעובדות עם JS ולא עם PHP המיושן והמרגיז?
davidnead
-
תבניות אתרים על NODEJS -
דרוש מתכנת וקצת יותר מזהלצורך פרוייקט תורני גדול בהתהוות, יש צורך ב:
- ליווי השלב הראשוני של אפיון הצרכים הטכניים של הפרוייקט, הפלטפורמות והטכנולוגיות שצריך ליישם אותו
- גיוס מתכנתים מתאימים
- ניהול תכנותי של הפרוייקט בפועל (ראש צוות)
דרוש מתכנת מקצועי ומנוסה שיקח על עצמו את המשימות הנ"ל או את חלקם (אפשר רק שלב ההקמה).
לפנות אלי למייל davidnead גימייל. -
תכנות | איך להתחיל?יש הרבה שפות, ואין שפה ש"כל העולם משתמש בה". אפילו מתכנת בודד יודע בדרך כלל יותר משפה אחת. יש שפות שמתאימות יותר למטרה אחת ויש למטרה אחרת, וכמובן גם ענין של טעם, של שיקולים עסקיים ועוד.
בדר"כ לחובבנים שרוצים משהו קליל להתחלה מומלץ JS, זו אחת השפות הפופלריות+קלות ללמידה שיש.
-
תכנות | איך להתחיל?@מוטי-אורן אמר בתכנות | איך להתחיל?:
@שוהם307 אני יכול להגיד לך מנסיון אישי (קראתי את הספר הזה בהתחלה) שהוא מאוד מוצלח, בפרט למתחילים.
האמת היא אם נהיה כנים, שאין אלטרנטיבה טובה לספר הזה בעברית (לכל הפחות אני לא הצלחתי למצוא כזה דבר) ככה שאני לא יכול לנסות לערוך השוואות בינו לבין מקורות לימוד אחרים. אבל בכל זאת אני חושב שהוא מומלץ בחום. אני התחלתי איתו (לא שאני ברמה גבוהה, אבל אני בהחלט חושב שהספר הזה יכול לתת ידע יפה בשביל להתקדם עם זה הלאה לרמות יותר גבוהות).
יש אלטרנטיבה - TOCODE. מעולה, גולל טקסט+וידיאו+תרגולים וקודים.
-
תכנות | איך להתחיל?@nigun אמר בתכנות | איך להתחיל?:
- אני לא מרגיש סיפוק בידע שלי היום
- אני נתקל האתגרים חדשים כל הזמן, אבל לא בתחום שלך, יותר בקטע של ניהול עומסים.
ללא ספק גם בתחום הזה יש תחומי ידע נלמדים שמעניקים הבנה מעמיקה ומקצועית יותר ונותנים לך כלי התמודדות במקום להמציא את הגלגל.
- אני נהנה ללמוד מושגים חדשים כל הזמן.
- אני לא אוהב משימות קבועות, ונהנה לעבור בין תחומים.
- אני יהנה מאוד ללמוד איך לבנות אינדקס, אבל רק כשיהיה לי צורך באינדקסים
סתם ללמוד את זה בתיאוריה? חבל על הזמן.
גם לי חבל על הזמן ללכת ללמוד עכשיו שנה במכללה, לכן אני לא עושה את זה. זה לא אומר שאני לא מרגיש את פערי הידע ומחפש למצוא דרך שמתאימה לי להשלים אותם.
-
תכנות | איך להתחיל?הדיון שם באתגר של רחמים הוא דוגמה מעולה. ניכר שרבים מהמשתמשםי לא הבינו בכלל את המשמעות של אלוגריתם יעיל ומה הוא יכול לתרום, ובטח לא את עולם האינדוקס. לקח זמן להבין שבכלל דרוש אינדקס.
וגם אז - ניסו להמציא תבניות של אינדקסים לבד, או לתת קישורים לרשימות של אלוגריתמים.
אני לא הייתי הולך לבנות אלוגריתם של אינדקס לבד, לפחות חלק מהסוגים הם מסוכים ואחרים כבר עשו את העבודה. אבל להבין ולהכיר אותם! עולם אחר לגמרי מהדיון שם.
וההנחה שם של מישהו שזה אתגר חריג שלא נתקלים בו בפיתוח סטנרדטי - שגויה לחלוטין. אלא אם אתה מתכוון להספתק בלהיות בודק תכנה או מפתח וורדפרס.
זה אתגר שנתקלתי בו כמה וכמה פעמים, ופתרתי אותו אחרת כל פעם, לפי הצרכים המקומיים.
-
תכנות | איך להתחיל?@nigun אמר בתכנות | איך להתחיל?:
@dovid
לא באמת הבנתי, אבל הבנתי שיש פה קונספט נוסף שאני לא מודע לו,
ושאני יוכל לדון עליו רק אחרי שהבנתי את הקונספט.
אין לי מספיק סיפוק מלפתור בעיות מתמטיות או אתגרי תכנות המופעים באתרים שונים
אז כנראה שאני באמת לא יצליח להבין את הנקודה (כנראה גם אם הייתי הולך למכללה)הבעיה שלי שאתגרים אלו דוקא בגלל פשטותם משעממים אותי ולכן אין לי כוח לשבור את הראש עליהם. אבל האמת שמה שדרוש זה דוקא ללעוס היטב עד דק את הדברים הפשוטים (לפחות, והמוסיף הרי זה משובח), כדי לחיות חשיבה אלוגריתמית נכונה.
ובשביל לימודים משעממים כאלו, לפחות אנשים כמוני, צריכים כנראה את הדרבון של סביבת למידה. -
תכנות | איך להתחיל?@nigun אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
מה אני אמור לענות על זה?
לא באתי לנגח, אני באמת מנסה להבין מתי? איפה? ואיך? צריכים ללמוד מתמטיקה?גם אני לא באתי לנגח, חלילה. רק לא היה לי כל כך מה לענות. הצגתי בעיה פשוטה ומעשית, שכמוה אפשר להיתקל הרבה, ידע מסודר במתמטיקה בסיסית פותר אותה מהר ובקלות, ועוד יותר מזה ידע באלוגריתמים בסגנון מדעי המחשב. אתה פוטר את זה כלאחר יד, לא ברור לי איך, בסגנון ישראלי של "יהיה בסדר איכשהו".
אני יודע שיהיה בסדר, הסתדרתי עם זה ועם אתגרים גדולים בהרבה, אני רק, כמו ש @dovid ו @yossiz חידדו למעלה כל כך יפה, מנסה להבהיר לעצמי מה אני מפסיד (אני יותר אוהב: מה יכולתי להרוויח) ולא איך אני יכול להמשיך איכשהו להסתדר עם המצב הקיים.יודע מה? אתגר: תן לי קוד JS שעושה מה שביקשתי. ותתאר אחר כך איך הגעת לפתרון וכמה זמן לקח לך. זאת, אחרי שכבר יש לנו חצי תשובה.
-
תכנות | איך להתחיל?@nigun אמר בתכנות | איך להתחיל?:
@davidnead
אתה מרגיש שחסר לך מתמטיקה?לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
אני גם מרגיש חוסר בהבנה מעמיקה של איך פועל המחשב, הזכרון, קבצים בינאריים, מערכות הפעלה.
אנגלית-בעיה ידועה, כמה שניסיתי להתגבר עליה - אני מתקדם נפלא, אבל רק רואה כמה יכולתי להתקדם יותר אם הייתי יודע יותר. אגב, לזה לא יעזור לימוד מסודר, למדתי גם קורס אישי טוב. לזה צריך או לימוד בי"ס יסודי או חופשות בחו"ל.
-
VUE שימוש במשתנה מקומפוננט אחרהדרך האולטימטיבית היא VUEX, אלא אם זה מקרה חריג ובדרך כלל אינך צריך, ואז לא שווה "להתלכלך" עם VUEX בשביל זה.
VUEX - נועד בדיוק לזה, סטייט שאינו ספציפי לקומפוננט מסוים. -
שוק התכנות החרדי@www אמר בשוק התכנות החרדי:
@davidnead אני מכיר כמה מתכנתים חרדיים (כולל אותי), ש:
-
אין להם כל השכלה מוקדמת בתכנות, רובם התחילו עם VBA באקסס וכדו'.
-
הם בעיקר פרילנסרים (לפעמים שחור).
-
בעיקר עובדים אצל חרדים, הרי לא מפרסמים את עצמם וכדו', זה 'חבר מביא חבר',
-
כתוצאה מהנ"ל, "למתכנת חרדי יש מעמד והכרה שזוכה לה מתכנת חילוני?" התשובה היא, זה לא מעניין אותם, כי עובדים אצל חרדים.
-
בגלל שזה פרלינסרים, גובה השכר כ"א לוקח אחרת אם לפי שעות אם לפי פרויקט (בד"כ רק בדברים קטנים).
-
יש גם כאלה שמועסקים אצל מתכנתים חרדים עצמאיים, שלוקחים אותם ככח עזר.
עריכה: החסרון בזה לטעמי, שעל פניו מפסידים בזה הרבה שעות עבודה = כסף, כי ברגע שאתה עצמאי, יש הרבה דברים שמוציאים אותך מהעבודה. מצד שני אם הם היו שכירים ייתכן וכלל לא היו יוצאים לתכנות.
כמו"כ עוד פרט חשוב ששכחתי לכתוב:
- חלק מאלה שאני מכיר, זה לא התעסוקה העיקרית שלהם ברוב היום, הם אברכים וכדו', ולכן אינם יכולים לעבוד כשכירים בשעות רגילות.
הדברים הללו די מתאימים למה שחשבתי לפחות על חלק מאיתנו. וזה לא כל כך משמח. זה אומר שבהרבה מקרים אנשים שיש להם ידע מקצועי ונסיון רב שנים, עובדים כעצמאים וחיים מפה לשם, לא בגלל שזו דוקא הדרך התעסוקתית המתאימה להם, אלא כי הם סוחבים על הגב את הימים שבקושי ידעו VBA (גם אני הייתי שם), וכי הם רוצים להישאר בסביבה הנחמדה והמוכרת (הם לא יפרסמו את עצמם...), אז תכל'ס הם בחרו מקצוע - אבל לא באמת הולכים איתו עד הסוף. לא מקבלים את תנאי העבודה, הבטחון התעסוקתי, השקט הנפשי וגובה השכר שאולי היו רוצים וגם יכולים לקבל.
אולי יש כאלו שלא יאהבו את איך שהצגתי את זה, אבל אני לא נחרץ, אני מנסה ללמוד ולהבין.
הערות חשובות:
אני לא מדבר על אלו שנשארו אברכים ועושים את זה מהצד - להם כנראה זה כמעט הכרחי.
אני לא מציע "לצאת החוצה" כחלופה. אולי זה המצב וזה המחיר שאנו רוצים לשלם עבור הזכות להישאר בבית (במובן המטאפורי של המילה). אבל אולי, אולי זה סתם כי אנו לא מכירים מספיק טוב את האפשרויות שלנו -
-
np.unravel_index בjsוואו! תודה רבה. ההסברים שלך בהירים ואתה גם טורח עליהם להגיש אותם היטב.
בהתחלה הייתי בטוח שפיספסת את נקודת השאלה, עד שתפסתי שאני פיספסתי את הנקודה בתשובה:אם הבנתי נכון, יוצא לי שהשמה זו חייבת שה-shape של
el
יהיה זהה ל-shape של החלון שחצבת ב-tile
בקיצור לא צריך להוית קשר בין הצורה של המערך הימני והשמאלי, אך צריך להיות זהות מוחלטת בין הצורה של המערך הימני לצורה של החיתוך שאליו אני מציב את הנתונים. הגיוני.
כללית, ברגע שאתה חושב על זה במונחים של טבלאות וריבועים (רב-מימדי) זה הרבה יותר קל. זו לא חשיבה שאני מתורגל בה.
-
np.unravel_index בjsאז הנה המימוש לכל השורה השלמה הנ"ל. למען הפשטות הוא מתאים למערך דו-מימדי כי זה מה שאני צריך.
כ"כ לא טיפלתי בביצועים.
אני מניח שהחוזק של הפונקציות המובנות הנ"ל זה הטיפול במימדים שונים, וכן ביצועים.let maxarg = 0, max = 0 tile.forEach((t, i) => { return t.reduce((p, c, ii) => { if (c > max) { max = c maxarg = (i * t.length) + ii; } return c }) }) const unravel_index = (arr, indices) => { const shape = [arr.length, arr[0].length]; const [x, y] = [indices % shape[1], (indices - (indices % shape[1])) / shape[1]] return { x, y } } const { x, y } = unravel_index(tile, maxarg);
-
np.unravel_index בjs@odeddvir אמר בnp.unravel_index בjs:
אז ככה:
אודה שלא התעמקתי עד הסוף, אבל כפי הבנתי הפונקציה ממירה אינדקס לינארי לאינדקס N מימדי, בהנתן גודל המימדים הרצוי.אני אנסה להמחיש על ידי דוגמא:
נניח שאני רוצה לבנות בנין הדומה למבנה קוביה הונגרית, מימדי הקוביה הן 3x3x3.
אם כן, הבניין יכיל 3 קומות ובכל קומה 9 דירות: 3 לאורך ו-3 לרוחב. סה"כ 27 דירות.אני רוצה לתת מספר לכל דירה.
אני אתחיל בסריקה קומה אחר קומה מ-1 עד 3, ובכל קומה אני אסרוק את הדירות שורה שורה, בכל פעם אני אתן מספר עוקב מ-1 עד 27.
(למעשה, מספרי הקומות הן 0 עד 2 ומספרי הדירות יהיו 0-26. למה? כי מתכנתים אמיתיים לא סופרים מ-1...)בוא נראה, מה האינדקס של כל דירה? הוא תלת מימדי [x,y,z]
X – קומה
Y – שורה
Z - טורמספר דירה אינדקס 0 [0,0,0] 1 [0,0,1] 2 [0,0,2] 3 [0,1,0] 4 [0,1,1] 5 [0,1,2] כעת אני אשאל: היכן נמצאת דירה מספר 12 בקוביה? האינדקס הלינארי של הדירה הוא 12, אבל מה האינדקס התלת מימדי שלה?
נכון, היא בקומה השניה (1) בשורה השניה (1) ובטור הראשון (0)
כלומר באינדקס [1,1,0]
(שים לב שוב שהיא הדירה ה-13 כי מתחילים מ-0...)הפונקציה unravel_index מבצעת את הפעולה שעשיתי למעלה: היא מקבלת שני ארגומנטים, א. האינדקס הלינארי, ב. מימדי התחום
ומחזירה את האינדקס ה-N מימדי.בדוגמא שלנו, הקריאה
unravel_index(12,(3,3,3))
אמורה להחזיר את האינדקס התלת מימדי: (1,1,0)
תודה רבה! הסבר מושקע, וברור. אחרי שהבנתי את יוסי זה חידד בצורה פשוטה עוד יותר. אינדקס לינארי לעומד אינדקס n-מימדי.
-
איפה שמורים כל הנתונים של כרום?@מעלה-ומוריד אמר באיפה שמורים כל הנתונים של כרום?:
@אוריי ברגע שהסנכרון מופעל הכל מסונכרן
זה לא מדויק. בהגדרות כרום (chrome://settings/syncSetup/advanced) ניתן לבחור מה לסנכרן. בברירת מחדל יש שם את כל מה שצריך, אבל אתה כה חרד-מומלץ לעבור על ההגדרות ולראות שהכל טוב.
כמו שאמר רחמים - הכי טוב שפשוט תיכנס ממחשב אחר, תוודא שאתה מצליח להיכנס (סיסמת כרום) ושכל הנתונים נמצאים שם. הסנכרון הוא די מיידי.
-
פתיחת פורט בWIN10 (עבור RDP)@yossiz אמר בפתיחת פורט בWIN10 (עבור RDP):
@davidnead נראה לי שאתה מפספס פה משהו בסיסי.
אם אתה רוצה לתקשר עם מישהו, אתה צריך לטפל בשני נשאים.
א) לדאוג שיש לך מספר טלפון נכון ושהוא עונה לשיחות במספר הזה.
ב) לדאוג שהוא לא חוסם שיחות נכנסות (בכלל, או לפחות בפרט מהמספר שלך).כדי להתחבר למחשב מרוחק ב-RDP צריך לעשות שתי דברים:
א) לדאוג שהתהליך של RDP מאזין בכתובת שאליה תתחבר. במקרה שלך אתה רוצה שהכתובת יהיה <IP הפנימי שלך> בפורט 3379. בברירת מחדל התהליך מאזין על פורט 3389. לכן יש צורך לשנות את ההגדרות ברג'יסטרי.
ב) לדאוג שהמחשב לא חוסם חיבורים נכנסים בפורט הזה. לצורך זה צריך לבדוק בכללי חומת האש ולהגדיר בהתאם.אתה צודק, תודה. הבנתי שכתבת שאין מי שמאזין לפורט. כעת אכן שיניתי את זה בREG והכל טוב.
תודה רבה! -
הפיכת מחשב עם Win10 לשרת אינטרנטאני מפעיל כבר תקופה ארוכה כמה שרתים בWIN (סרוור, כמובן, 10 אין לי נסיון, ואני מאמין שזה מתכון לבעוית שהעדכונים רק אחת מהם). הפעלתי על אפאצ'י (שזו טעות) או על NODE. לא התנסתי בIIS.
לא זכורים לי כרגע בעוית ספציפיות, אולי אם תמקד שאלות אזכר. כן היו כמה פעמים שקיטרתי על WIN, כמו שגם קרו כמה פעמים שקיטרתי על לינוקס בשרתי הלינקס שהחזקתי (סיפורים של הרשאות בדרך כלל, שזה אחד הכאבי ראש שם). -
עבודה עם מסד נתונים@clickone אמר בעבודה עם מסד נתונים:
@davidnead אמר בעבודה עם מסד נתונים:
ls -l
ls -l
זו פקודה שמורה להציג את רשימת הקצים + תאריך והרשאות.
מקבילה לll
אקיצור סתם הדגמה של השימוש עם פקודה כשלהי.
ומה בקשר להסרה?
-
עבודה עם מסד נתונים@clickone אמר בעבודה עם מסד נתונים:
@davidnead אמר בעבודה עם מסד נתונים:
כדי לשלול בעיה נוספת מלבד בעיית מקום איחסון?
כן.
אין טעם שתתחיל לחבר שרתים אחד לשני....
האמת אם יש לך כח תנסה את זה
https://www.howtogeek.com/howto/ubuntu/how-to-mount-a-remote-folder-using-ssh-on-ubuntu/או את זה
https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem
ואז תחבר את שרת 2 לשרת 3
אתה יודע מה אני אנסה את זה באמת, כי זה עשוי להיות לי שימושי מעבר לצורך הספציפי שדובר פה. זה בעצם עונה על זה לכתחילה ועל בעיות דומות שכבר נתקלתי.
זה פשוט מאפשר חופשיות בהגדלת המקום של השרת במין תיקיה חיצונית.
אנסה את הקישור הראשון, הוא יותר נשמע לי. -
עבודה עם מסד נתונים@clickone אמר בעבודה עם מסד נתונים:
@davidnead
כמה מקום אין בו?
ז"א, יש לך בו 10 מגה מיותרים? (אני מניח ששיש קצת יותר)
עכשיו, בא נשער שהקובץ של הDB שנמצא בשרת 1, שוקל 10G.
אתה מתחיל גיבוי וממתין שנייה.
הרי גיבוי של 10G לא יהיה שנייה.
אם אתה רואה שהוא נוסע, אז תבטל מיד את הגייבוי עם קונטרול + C
אם הוא נופל, הוא ייפול מייד.
במקרה שהוא ייפול מחוסר מקום, אז ההודעה תהיה שאין מקום ואז יישאר רק להסביר איך להוסיף תיקייה שתהיה בכלל הכונן שנמצא בשרת המרוחקאני מבין, אבל לשם מה להפעיל אותו (ולראות שהוא נוסע) ומיד לבטל? כדי לשלול בעיה נוספת מלבד בעיית מקום איחסון?
כי אין לי ספק שאין לי מספיק מקום בשרת 2, אין טעם לנסות את זה ולסתום את השרת.