if-else-switch

אני הולך לפתוח פה מהומת אלוהים.מריבות על code style היא תמיד עניין מלוכלך. לכולם יש דעות על הנושא הזה.והרבה שורות כבר נכתבו על רווחים מול טאבים, סוגריים באותה שורה או בשורה חדשה ועוד.אחד הנושאים שאוהבים לדון עליהם זה if-else-switch. המקור לדיון לפני כמה זמן ראיתי בטוויטר את הדוגמת קוד הבאה והכותב שאל מה הריפקטורינג המועדף […]

if-else-switch Read More »

Conway's Law Post Main Photo

חוק קונוויי – Conway's law

ארכיטקטורת תוכנה טובה היא תלוית קונטקסט, מנתחת trade-offs שפותרים את הבעיות בצורה שונה על פני הרבה סביבות.נכון? ככה לימדו אותנו. אין פתרון קסם "הכי טוב" לבעיה.כמעט אף פעם אנחנו לא נצליח למצוא חוק כללי שמתאים לכל הסיטואציות.האמנם?חוק קונוויי הוא אחד החוקים שלא מצאתי הרבה אנשים שסותרים את החשיבות שלו באופן כללי.הוא מסוגל להשפיע על כל

חוק קונוויי – Conway's law Read More »

Locust

שימוש ב-Locust בפרודקשיין

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

שימוש ב-Locust בפרודקשיין Read More »

Load Test עם Locust

בזמן האחרון אני עובד על סרביס חדש אצלנו, וזו הפעם הראשונה בה אנחנו עובדים עם SaaS.אז קודם כל זה מרגש, שנותנים לי להיות שותף בהרמה של פרויקט כזה גדול.אבל מעבר לזה, זה נותן לי המון אופציות להכיר טכנולוגיות חדשות.אחת הטכנולוגיות האלו היא ספריית Locust, אשר משמשת לביצוע של Load Test מהו Load Test לפני שנצלול

Load Test עם Locust Read More »

Command Main Photo

לעטוף קריאות – The Command Pattern

שלום לכולם,אנחנו ממשיכים בסדרה של design-pattern, והפעם זה משהו שכמה ביקשו ממני כבר כמה פעמים The Command Pattern.בפוסט הזה אנחנו לוקחים את ההכמסה לרמה אחרת לגמרי: אנחנו הולכים לעטוף הפעלה של מתודות.היתרון של השיטה הזאת היא שמי שמפעיל את המתודות לא צריך לחשוב יותר מדי איך דברים מתבצעים. כמו כל הפוסטים האחרים בסדרה הזאת, גם

לעטוף קריאות – The Command Pattern Read More »

train, building, airport-5150747.jpg

להיות סתגלתנים חלק ב' – פאסד Facade

שלום לכולם, היום אנחנו נמשיך במסע שלנו ברחבי ה-design patterns.בפעם הקודמת דיברנו על Adapter Design Pattern.והיום אנחנו נדבר על design pattern דומה שקוראים לו Facade כמו כל הפוסטים בסדר הזאת, גם הפוסט הזה מבוסס על הספר הנהדר Head First Design Pattern כשדיברנו על ה-Adapter ראינו איך הוא מסוגל להמיר interface אחד ל-interface אחר.השגנו את זה

להיות סתגלתנים חלק ב' – פאסד Facade Read More »

איך להריץ Async Profiler

לפעמים, לכתוב קוד שפשוט עובד זה לא מספיק. לפעמים אנחנו נרצה מה באמת קורה עם הקוד שלנו בזמן ריצה.כמו למשל מה מצב הזיכרון, איך המעבד עובד וכו'.אחד מהכלים הכי פופולריים היום שמאפשרים לנו לחקור את הקרביים שלנו הוא ה-Async Profiler.בפוסט הזה אני אסביר מה הוא בכלל פרופיילר, מהו ה-Async Profiler ואיך משתמשים בו. אלה מכם

איך להריץ Async Profiler Read More »

web design, coding, web developing-2906159.jpg

מבוא לריאקטור – Intro to Reactor

שלום לכולם,בפוסט הקודם בסדר כתבתי קצת מה זה תכנות ריאקטיבי, מה ההיתרונות, ומה החסרונות של הפרדיגמה הזאת.הפעם אנחנו נתחיל ללמוד על אחד המימושים הפופולריים לתכנות ריאקטיבי בג'אווה.אני כמובן מדבר על ספריית Reactor. ריאקטור היא מימוש מלא של תכנות ריאקטיבי עבור JVM, עם ניהול דרישות יעיל.היא משתלבת ישירות עם ה-APIs של Java 8.היא נותנת לנו APIs

מבוא לריאקטור – Intro to Reactor Read More »

תכנות ריאקטיבי – Reactive Programming

תכנות ריאקטיבי – reactive programming – היא פרדיגמה של תכנות אסינכרוני המתמקדת בזרמי מידע (data streams) והתפשטות של שינויים (propagation of changes). בתכלס זה הרבה מילים גדולות, אז בואו ננסה לפרק אותם למשהו יותר מובן בסופו של דבר, מדובר על אפיון של מודל, שנועד לטפל בתכנות אסינכרוני (להבדיל ממקבילי) על מנת שהקוד שלנו יהיה יותר

תכנות ריאקטיבי – Reactive Programming Read More »

Scroll to Top