2019-08.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. הי חברים,
  2. החודש עשיתי הפסקה בוובינרים, אבל האחרון שכן עבר היה מבוא לשפת Go שהעביר עידו קנר. היתה התעניינות גדולה והאמת שגם אני למדתי לא מעט דברים חדשים. אם גם אתם בקטע של גו ורוצים ללמוד יותר, או שפספסתם את הוובינר, יש לכם הזדמנות ממש טובה השבוע והפעם במפגש פיזי. גבור סאבו יעביר (בחינם) שלוש שעות על Go בגוגל קמפוס ביום רביעי הקרוב אחר הצהריים. זה הלינק לפרטים והרשמה:
  3. https://www.meetup.com/Code-Mavens/events/264153384/
  4. ובצד הוובינרים אנחנו חוזרים למסלול ואני אעביר ביום חמישי בבוקר וובינר בנושא Webpack למתחילים (ושבוע אחרי זה וובינר וובפאק למתקדמים יותר). פרטים והרשמה בקישור הזה:
  5. https://www.tocode.co.il/workshops/84
  6. ## פיתוח צד לקוח
  7. התמודדות עם הבדלים בין דפדפנים
  8. https://medium.com/@Raicuparta/dealing-with-platform-inconsistencies-as-a-north-korean-front-end-developer-ea116b910c55
  9. סיפור מצחיק ומלמד על התמודדות עם ההבדלים בין דפדפנים ופיתוח חוצה דפדפנים עם שיק צפון קוריאני.
  10. תבנית העיצוב Decorator ב JavaScript
  11. https://www.tocode.co.il/blog/2019-08-javascript-decorators
  12. הסבר קצר על סימן השטרודל ב JavaScript ואיך להשתמש בו עם Babel. שימו לב שיש שתי גירסאות ל Decorators - הגירסא הישנה (שנקראת Legacy בהגדרות ה Babel) וההצעה העדכנית, הפוסט הוא על ההצעה העדכנית יותר.
  13. כלי פיתוח חדשים לריאקט
  14. https://reactjs.org/blog/2019/08/15/new-react-devtools.html
  15. שיפורי ביצועים משמעותיים ותמיכה מלאה ב React Hooks הוצגו החודש עם השקת כלי הפיתוח החדשים של React לדפדפנים, אז אם פתאום כלי הפיתוח השתנו לכם ולא הבנתם למה מוזמנים להעיף מבט בפוסט או לחטט ברשימת השינויים המלאה ששם.
  16. יחידות ב CSS
  17. https://alligator.io/css/css-units-explained/
  18. רשימה מלאה של יחידות ב CSS מחולקות ליחידות אבסולוטיות או יחסיות, כולל דוגמאות קוד, מתי להשתמש בכל דבר וקצת אימוג'ים.
  19. שיטות לכתיבת JSX נקי
  20. https://verekia.com/react/logic-less-jsx/
  21. אחד האתגרים הגדולים בפיתוח React שגם מוביל הרבה אנשים להירתע מהפריימוורק הוא הצורך במשמעת כדי שקוד ה JSX שלנו לא יצא משליטה. בפוסט בקישור תמצאו 4 גישות טובות איך לסדר את היחס בין הלוגיקה ל JSX וגם כמה טיפים מתי להשתמש בכל גישה.
  22. מודולים ב JavaScript
  23. https://philipwalton.com/articles/using-native-javascript-modules-in-production-today/
  24. בניגוד לדעה הרווחת, דפדפנים כבר היום תומכים ב import בצורה מובנית ולא חייבים להשתמש ב Webpack כדי לטעון מודולים. בפוסט תמצאו רשימה של יתרונות לשימוש הטבעי ב Modules והמלצה על Rollup (מתחרה של Webpack) שיודע לייצר קוד באנדל שמשתמש במודולים בדפדפנים חדשים.
  25. ## פיתוח צד שרת | קוד נקי | בסיסי נתונים
  26. השוואת ביצועים בין Java ל Kotlin
  27. https://medium.com/@bards95/comparative-evaluation-of-selected-constructs-in-java-and-kotlin-part-1-dynamic-metrics-2592820ce80
  28. ג'קוב אניוטה ישב לחקור שאלה שמעניינת רבים - מה יותר מהיר, Java או Kotlin? הפוסט כולל הסבר ארוך על התוכניות שכתב וההשוואות שביצע. והתוצאות? בשביל זה תצטרכו להיכנס לקרוא בעצמכם.
  29. חזרה מוקדמת מפונקציות
  30. https://jamesmonger.com/2019/08/06/return-early-return-often.html
  31. אחד הוויכוחים הוותיקים בקרב מתכנתים נוגע למספר ומיקום פקודות ה return שצריך לכתוב בפונקציה. מצד אחד כשאנחנו מתאמצים לשמור על נקודת יציאה בודדת מפונקציה הרבה יותר קל לוודא שאנחנו מנקים את כל המשאבים שהקצינו, אבל מצד שני הקוד עצמו עשוי להיות יותר מסורבל. דוגמא קצרה של ג'יימס מונגר אולי תשכנע אתכם לשנות צד.
  32. למה Clojure
  33. http://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html
  34. דוד בוב בפוסט מלא רגש על היתרונות של Lisp ובפרט Clojure בפיתוח מערכות גדולות. הסיבה המרכזית היא התחביר המאוד רזה של Clojure שמייצר קוד נקי, קצר ומדויק. יש גם רשימת התנגדויות נפוצות ותשובות של דוד בוב אליהן.
  35. פונקציות חלון ב SQL
  36. http://www.helenanderson.co.nz/sql-window-functions-part-1/
  37. סידרה של שני פוסטים על Window Functions ב SQL, כלומר פונקציות שמאפשרות לנו לראות נתונים נצברים תוך כדי שאנחנו מחשבים אותם (לדוגמא שאילתה שמוציאה רשימת מכירות ובכל שורה מראה גם כמה סך הכל הכנסות היו עד אותה נקודה).
  38. ## מובייל
  39. שימוש ב Room מ Kotlin
  40. https://heartbeat.fritz.ai/insert-and-fetch-records-with-room-on-android-using-kotlin-2de28fdeae2b
  41. רום היא ספריית ORM חדשה של גוגל שתפקידה לייצר עבורכם שאילתות לבסיס הנתונים SQLite שנמצא על המכשיר. בפוסט תמצאו הסברים ודוגמאות ליצירת המודלים וביצוע שאילתות באמצעות הספריה.
  42. ריינווי עברו לפלאטר
  43. https://rainway.com/blog/2019/08/06/flutter/
  44. ריינווי מייצרים תוכנה שמאפשרת לכם לשחק במשחקי המחשב האהובים עליכם מכל מקום דרך הדפדפן ולאחרונה הם הוסיפו אפליקציית מובייל. לאחר בחינה טכנולוגית של האפשרויות הם בחרו ב Flutter ובפוסט הם מסבירים בקצרה למה וכמה הם מרוצים מהבחירה.
  45. דרובפוקס מוותרים על שיתוף קוד בין iOS ל Android
  46. https://blogs.dropbox.com/tech/2019/08/the-not-so-hidden-cost-of-sharing-code-between-ios-and-android/
  47. תקופה ארוכה דרופבוקס השתמשו ב C++ כדי לשתף מודולים בין קוד ה iOS ל Android שלהם. עכשיו הם יורדים מהרעיון לטובת פיתוח אפליקציות נפרדות ב Kotlin וב Swift. בפוסט הם מסבירים על העלות הגבוהה של שיתוף הקוד שהובילה לשינוי.
  48. ## יוניקס | קוד פתוח | קהילה | כלי פיתוח
  49. כלי חדש: git revise
  50. https://mystor.github.io/git-revise.html
  51. ניקה לייזל מ Firefox שמה לב שהיא משתמשת ב rebase כדי לתקן קומיטים ישנים, אבל במאגר גדול כמו mozilla-central זה עובד לאט מדי ולא נוח. אז כמו כל מתכנתת טובה היא כתבה כלי חדש שנקרא git-revise שעוזר לתקן קומיטים ישנים עם פחות בלאגן מ rebase. בפוסט יש כמה דוגמאות וגם הוראות התקנה. אני כבר התקנתי.
  52. גיטהאב אקשנס ותמיכה ב CI/CD
  53. https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/
  54. גיטהאב הצטרפו למועדון ה CI/CD ושילבו עכשיו אפשרות להריץ את הקוד והבדיקות שלכם בתוך קונטיינרים כחלק מפיצ'ר ה Actions שלהם. ההבדל המרכזי בין זה לבין Travis הוא שכאן יש לכם אפשרות לבנות Pipeline שלם שגם יריץ את הבדיקות וגם יעשה Deploy בסוף לשרת שלכם.
  55. גיט 2.23
  56. https://github.blog/2019-08-16-highlights-from-git-2-23/
  57. גירסא חדשה של גיט עם שתי פקודות חדשות: הפקודה switch עוזרת לעבור מהר בין ענפים והפקודה restore עוזרת למשוך קוד מהמאגר לתיקיית העבודה. שתיהן היו (ועדיין) חלק מ checkout ונוצרו כקיצורי דרך כדי לתת פיתרונות יותר ממוקדים ל Use Cases ספציפיים.
  58. מעטפת חדשה ב Rust
  59. http://www.jonathanturner.org/2019/08/introducing-nushell.html
  60. הכלי nu הוא Shell חדש שנכתב ב Rust. מהפוסט זה נראה ממש מעולה כי כל פלט של פקודה אוטומטית הופך ל Data ולכן אפשר לכתוב פילטרים ו Pipelines הרבה יותר בקלות בהשוואה ל Shells שאנחנו רגילים אליהן.
  61. ## אבטחת מידע
  62. פירצת אבטחה קריטית ב Windows התגלתה אחרי 20 שנה
  63. https://googleprojectzero.blogspot.com/2019/08/down-rabbit-hole.html
  64. ה CTF של Windows הוא מנגנון באמצעותו מערכת ההפעלה מודיעה לתוכניות על שינויים בממשק הטקסט, לדוגמא כשמישהו החליף שפה. המנוע מורכב וישן ולא כולל שום מנגנוני הגנה ולכן אחרי Session ארוך של דיבאגינג טאוויס אורמנדי הצליח למצוא לא מעט פירצות וגם לכתוב כלי אוטומטי שעוזר בניצול שלהן. וכן המנגנון יחד עם כל הפירצות נמצא במערכת ההפעלה שלכם כבר כמעט 20 שנה.
  65. מתקפת HTTP Request Smuggling
  66. https://portswigger.net/blog/http-desync-attacks-request-smuggling-reborn
  67. עם המעבר לתשתיות Micro Services אנחנו צריכים בצד השרת להעביר הודעות בין סרביסים שונים. תקשורת זו, אם לא מוגנת כמו שצריך, עלולה לאפשר ללקוחות זדוניים לשתול מידע בין ההודעות וכך להשפיע על התנהגות המערכת כולה. בפוסט הדי ארוך אבל חשוב בקישור תמצאו מספר דוגמאות כאלה כולל על אתרים מפורסמים כמו טרלו ופייפאל.
  68. רסט-קליינט שוחררה עם דלת אחורית
  69. https://github.com/rest-client/rest-client/issues/713
  70. בעקבות פריצה לחשבון של אחד המפתחים גירסא 1.6.13 של rest-client פורסמה עם דלת אחורית שלפי השמועות תפקידה לכרות ביטקוינים באמצעות שרת הפרודקשן שלכם. לשמחתנו הגירסא לא חדשה ולכן היו יחסית מעט הורדות של הקוד הפגיע.
  71. אתרים זדוניים פרצו לנו לאייפון במשך שנים
  72. https://www.vice.com/en_ca/article/bjwne5/malicious-websites-hacked-iphones-for-years
  73. חוקרים בגוגל זיהו כנראה את המתקפה הגדולה ביותר נגד משתמשי אייפון של השנים האחרונות, וחשפו חמש Exploit Chains שהתבססו בתורן על 14 חולשות במערכת ההפעלה. המטרה המרכזית של הפורצים הפעם היתה גניבת קבצים והעלאת נתוני מיקום של הגולשים. גוגל לא שחררו מידע על האתרים הזדוניים ולא ראיתי דרך טובה לדעת אם הותקפתם.
  74. קמסקנר כלל קוד זדוני
  75. https://securelist.com/dropper-in-google-play/92496/
  76. זה היה להיט פה בארץ אז בטח שמעתם עליו, אז הנה הקישור לפרטים הטכניים עם הקוד הפגיע. הבעיה המרכזית ממה שנראה היא שהאפליקציה כוללת קוד שמוריד קוד מהאינטרנט ואז מריץ אותו, ואנחנו לא יודעים מה הקוד שיורד עשוי לעשות עם המכשיר. מאז יצאה גירסא חדשה של קמסקנר אז נשמע שאנחנו יחסית בטוחים היום.
  77. זיהוי מספר טלפון חסום בטלגרם
  78. https://www.forbes.com/sites/zakdoffman/2019/08/25/chinese-agencies-crack-telegram-a-timely-warning-for-end-to-end-encryption/#657e60316342
  79. כשאתם מצטרפים לקבוצה ציבורית בטלגרם אתם יכולים לבחור להצטרף עם שם המשתמש שלכם ולהשאיר את מספר הטלפון סודי. זה עוזר כי ככה תוכלו להיכנס לקבוצות ציבוריות בלי לפחד שאנשים ידעו שאתם שם. טוב, כמעט. בעיית אבטחה שהתגלתה בטלגרם לאחרונה מאפשרת לשלטון או לחברות התקשורת לשלוף את מספרי הטלפון של מי שנמצא בקבוצה ציבורית וכך לדעת למשל אם אתם משתתפים בהפגנות נגד המשטר.
  80. ## לימודים | קריירה | מדריכי קוד
  81. ווב סקרייפינג ב Python
  82. https://www.freecodecamp.org/news/web-scraping-101-in-python/
  83. פוסט סופר ארוך שמסכם את כל הכלים לביצוע Web Scraping ב Python כולל דוגמאות קוד ל BeautifulSoup, Scrapy ו Selenium. דוגמאות הקוד לא מורכבות במיוחד והדגש כאן הוא על הצגת הכלים השונים עם דוגמא קטנה לכל כלי.
  84. תרגילים ללמוד curl
  85. https://jvns.ca/blog/2019/08/27/curl-exercises/
  86. רשימה של 21 תרגילים קטנים ללימוד curl שיעזרו לכם גם להבין את המתגים השונים של הפקודה וגם בזכות התרגול החוזר לזכור בעל פה את הדברים החשובים (או לפחות לדעת איפה לחפש). אני ממליץ לבצע אחד ביום למשך חודש.
  87. איך לפתוח בלוג
  88. https://gocodeblog.netlify.com/want-blog
  89. מדריך טכני בעברית שמראה איך לפתוח בלוג סטטי ב GridSome. דעתי שהחלק הקשה בבלוג הוא דווקא לא ההיבט הטכני אלא האתגר של לכתוב באופן קבוע, אבל החלק הטכני הוא גם התחלה חשובה ואולי זה ייתן לכם מוטיבציה לכתוב.
  90. שישים ימים של פלאטר
  91. https://medium.com/@adityadroid/60-days-of-flutter-building-a-messenger-from-scratch-ab2c89e1fd0f
  92. אדיטיה גורג'אר מזמין אתכם למסע של חודשיים לכתיבת יישום פלאטר מלא. מדובר באפליקציית הודעות עם אפשרות לצ׳ט Peer To Peer, לשלוח הודעות קוליות, לצרף קבצים ועוד. אם אתם מוכנים להקדיש שעה ביום לחודשיים הקרובים תוכלו ללמוד יחד עם אדיטיה מיומנות שווה במיוחד.
  93. אחד עשר משחקים שילמדו את הילדים שלכם לכתוב קוד
  94. https://www.kidtocode.com/the-11-best-coding-games-for-kids-to-learn-programming/
  95. ## ספריות קוד | ספרים
  96. דניאל סטרליכט כתב ספריה ל Data Visualisation ב React
  97. https://medium.com/outbrain-engineering/react-dynamic-charts-a-react-library-for-visualizing-dynamic-data-9b299a107e06
  98. ומדף הדוגמאות היא נראית ממש אחלה עם גרפים ואנימציות ובלי בלבולי מוח.
  99. דרגון רובי היא ספריה לפיתוח משחקים ב Ruby
  100. http://fiddle.dragonruby.org/?share=https://gist.github.com/amirrajan/08ae7c9800ff56895c5ea242e2a3317f
  101. ובקישור תמצאו קוד של משחק פונג שכתוב בספריה בפחות מ 170 שורות רובי. את הקוד אפשר להריץ בדפדפן וכמובן גם נייטיב בחלונות, מק או Linux.
  102. ריאקט לייאאוטס יעזור לכם לבנות תבנית ריאקט בקלות
  103. https://react-layouts.com/
  104. בעזרת 10 תבניות פשוטות ל Layout שממומשות גם ב Rebass, גם ב theme-ui וגם ב emotion תוכלו לקבל בסיס טוב ליישום ריאקט הבא שלכם.
  105. ## פאן לסיום
  106. ברט הארט עושה Code Review
  107. https://youtu.be/HSmKiws-4NU