השינוי המתוכנן ברשיון Qt והשפעתו על המוצר שלכם
ידיעה שפורסמה היום בבלוג הרשמי של Qt מספרת על שינוי מתוכנן ברשיון השימוש החופשי ב Qt מרשיון LGPLv2 ל LGPLv3. למי שלא בקיא ברשיונות קוד פתוח אנסה להסביר בקצרה מה ההבדל והאם השינוי משפיע עליכם.
טיפים קצרים וחדשות למתכנתים
ידיעה שפורסמה היום בבלוג הרשמי של Qt מספרת על שינוי מתוכנן ברשיון השימוש החופשי ב Qt מרשיון LGPLv2 ל LGPLv3. למי שלא בקיא ברשיונות קוד פתוח אנסה להסביר בקצרה מה ההבדל והאם השינוי משפיע עליכם.
את הבאג הבא בקוד C++ לקח לי יותר מדי זמן למצוא, אז אני מפרסם כאן גירסא ידידותית שלו כדי שתוכלו לנסות גם אתם, ואולי לחסוך לעצמכם את כאב הראש.
פיצ׳ר חדש של Qt מאפשר אינטגרציה חלקה בין כל יישום JavaScript לתוכנית C++, ופותח את הדרך לתוכניות שרת/לקוח מתקדמות. החל מפיתוח לוח בקרה חדשני ומבוסס ווב ועד רענון ממשק המשתמש הישן שלכם. ההסבר המלא ודוגמת קוד בפנים.
קוראים קבועים של הבלוג וודאי זוכרים שבשבוע שעבר השוויתי כאן בין השפות פרל, פייתון ורובי לראות מי מציגה את הביצועים הטובים ביותר. שיטת העבודה כללה מימוש משימה חישובית באופן זהה בשלושת השפות. השבוע הגיע הזמן לפרוע את הצ׳ק: אנו נמיר את הקוד לגירסא מקבילית, נריץ אותו מכמה תהליכונים במקביל ונראה כמה רחוק נגיע עם ניצול אופטימלי של המעבד.
מי יותר מהירה: רובי, פרל או פייתון? התשובה תלויה כמובן במה אתם רוצים לעשות עם השפה ובכל זאת בשביל לקבל אינדיקציה כתבתי תוכנית עם מורכבות חישובית מסוימת בשלושת השפות ומדדתי.
C++ נמצאת בשימוש נרחב היום במקומות רבים בגלל יתרונותיה: היא עוזרת למתכנתים לשלוט בכל מה שקורה בתוכנית ולכן תוכניות C++ מצליחות להגיע לביצועים טובים יותר ביחס לשפות מתחרות. ניתן להשתמש ב C++ כדי לכתוב תוכניות למערכות הפעלה רבות, בכלל זה חלונות, מק ויוניקס וגם מערכות המובייל אייפון ואנדרואיד מריצות קוד C++. אבל C++ אינה ידידותית מספיק למשתמשים חדשים: כמות העבודה והלמידה שתצטרכי להשקיע עד שתגיעי לכתוב משהו מועיל היא גדולה בהרבה מאשר בשפות קלות יותר כגון פייתון (או MATLAB). חמש העצות הבאות יעזרו לך ללמוד C++ בדרך הנכונה ולהגיע מהר יותר לתוצאות טובות בפיתוח בשפה זו.
השבוע רציתי להציג רשימת פריטים של קופה רושמת, כאשר חלק מהפריטים כוללים יותר מידע מאחרים ולכן צריכים להופיע בגבהים שונים. Qt מציעה לא מעט דרכים קשות לבניית רשימות כאלו, ודרך אחת קלה ונקייה באמצעות ארכיטקטורת Model/View, עליה תוכלו לקרוא בפוסט זה.