שאלה עם פתרון רקורסיבי טריוויאלי, לכאורה, הופכת לפחות-טריוויאלית כשכופים על הפתרון גם מגבלת זמן, ומהווה דוגמה מצוינת לעיקרון של תכנות דינמי.
להמשיך לקרוא חידות תכנות 3: נתיב במשולש מספריםארכיון הקטגוריה: תוכנה
מחשבות על סטגנוגרפיה
ממש לאחרונה יצא לאור ספר ישראלי שמוקדש כולו לנושא הסטגנוגרפיה – הטמנה והחבאה של מסרים ונתונים בתוך תוכן גלוי, באמצעות שיטות פיזיות, דיגיטליות ואפילו פסיכולוגיות. הנה התרשמות קצרצרה שלי ממנו, וכן כמה הבחנות ורעיונות לא רשמיים, משל עצמי, על הנושא.
להמשיך לקרוא מחשבות על סטגנוגרפיהחידות תכנות 2: חלק מהמערך, חצי מהסכום
נתון מערך של מספרים חיוביים, האם ניתן לחלק אותו לשני מערכים בעלי סכום זהה? בואו נפתור ביחד חידה פשוטה לכאורה, שהגיעה (לכאורה) מראיון קבלה למתכנתים בגוגל.
להמשיך לקרוא חידות תכנות 2: חלק מהמערך, חצי מהסכוםקלט ופלט בסיסיים ב-Xiao RP2040
אחרי שראינו איך מכינים את לוח הפיתוח הזעיר לעבודה עם MicroPython ומעלים אליו קוד, בואו נלמד כיצד מבצעים את הפעולות הבסיסיות של קלט ופלט דיגיטליים, פלט PWM וקלט אנלוגי. המידע הזה יתאים גם ללוח Raspberry Pi Pico.
להמשיך לקרוא קלט ופלט בסיסיים ב-Xiao RP2040תסריטי פעולה (או: בלינק למתקדמים)
הדבר הראשון שעשינו עם ארדואינו זה להבהב בלד, שנייה ON ושנייה OFF במחזוריות. מאז התקדמנו קצת, ועכשיו הלקוח מבקש – במקביל לפעולות האחרות של המערכת! – שהלד "יהבהב שלוש פעמים מהר, יכבה לעשר שניות ואז יהבהב לאט פעמיים עם fade. לא, רגע, ארבע פעמים. קצת יותר מהר. אתה יודע מה, בעצם…" בואו נראה איך אפשר להתמודד ביעילות עם תסריטי פעולה כאלה, ועם שינויים תכופים שאנחנו מתבקשים לעשות בהם.
להמשיך לקרוא תסריטי פעולה (או: בלינק למתקדמים)סיפורי אופטימיזציה: ניהול באפר במינימום זיכרון
באחד הסרטונים הישנים שלו, מהתקופה שבה הוא קישקש פחות והיה מעניין יותר, דייב ג'ונס אמר משפט חכם לגבי אופטימיזציה של זיכרון במיקרו-בקרים: אנחנו לא בשנות השמונים, אם הגעת למצב שאתה צריך לחשוב על כל בייט, כנראה בחרת במיקרו-בקר לא מתאים. זה נכון, ולכן הפוסט הזה, שעוסק תכל'ס בחיסכון של בייטים בודדים ממש, הוא לא עצה מעשית שמומלץ ליישם אלא פשוט תרגיל מחשבתי, איך לערער קצת על מוסמכות ולא לקחת שום דבר כמובן מאליו.
להמשיך לקרוא סיפורי אופטימיזציה: ניהול באפר במינימום זיכרוןחידות תכנות 1.5: עוד סהרונים ומטריות
בפוסט הקודם טיפלנו במקרה הקל, שבו האמן צריך היה לשלם על כל CJ וכל JC שמופיעים בציור שלו. כעת אנחנו עוברים לשלב הבונוס של אותה חידה, שבו שני הצירופים האלה – או רק אחד מהם! – יכולים להוות מקור הכנסה לאמן.
להמשיך לקרוא חידות תכנות 1.5: עוד סהרונים ומטריותחידות תכנות 1: סהרונים ומטריות
בחזרה סמלית למקורות של הבלוג, אנחנו מתחילים סדרה חדשה של חידות, שאלות ואתגרי תכנות. השאלה הראשונה מגיעה היישר משלב המוקדמות של תחרות Google Code Jam בשנת 2021. מוכנים?
להמשיך לקרוא חידות תכנות 1: סהרונים ומטריותגישה מהירה ל-Struct, בלי כפל
לפני כחודש הראיתי מדוע, כאשר המהירות חשובה, זה לא רעיון טוב להשתמש במערך של struct בקוד שמיועד למיקרו-בקר שאינו מסוגל לבצע פעולת כפל בחומרה (איזה משפט, אה? 🙂 ) בפוסט זה אראה איך לשמר, פחות או יותר, את הנוחות של struct בלי להתפשר על המהירות, גם ברכיבים מוגבלים כאלה – ואת הסכנות שאורבות לנו בדרך. יש גם דוגמת קוד בסוף.
להמשיך לקרוא גישה מהירה ל-Struct, בלי כפלפרויקט: מחוון שפת הקלדה
njkh… סליחה, מחליפים שפה במקלדת לעתים קרובות ומשתגעים מהטעויות שזה גורר? הנה פרויקט משולב של תוכנה, אמבדד והדפסה בתלת-ממד, שמראה בצורה בולטת וברורה לאיזו שפה המחשב מכוון בכל רגע נתון.
להמשיך לקרוא פרויקט: מחוון שפת הקלדה