תשובה לשאלה הראשונה:
הסרוויס צריך להכיל את כל המידע ולהפיץ אותו בכמה שיטות לקומפוננטות כך שהם יוכלו לקבל אותו באיזה צורה שהם רוצים (מידע קצר / מידע מלא), במקרה שזה ממש הרבה קוד לסרוויס אחד אולי באמת מומלץ לפצל את זה לשני סרוויסים (שמקושרים אחד לשני)
קומפיונט
-
אנגולר - תכנון סרוויס -
ג'מבו מייל לא מוכן להוריד בגלל חוסם פרסומותקרה לי לאחרונה כמה פעמים שאני מנסה להוריד מג'מבו מייל ואני מקבל את ההודעה הבאה:
יש אפשרות לעקוף את זה, או שתם עידן הג'מבו מייל לאינטרנט מסונן? (למי שאין מנוי) -
המלצה למנהל משימות מתקדם -
כך תריצו מודל שפה חזק על המחשב הביתי שלכם@nigun כתב בכך תריצו מודל שפה חזק על המחשב הביתי שלכם:
זה קובץ של "רשת נוירונים" שאף אחד לא יודע להסביר מה הולך בתוכו, כשהמודל מקבל משפט הוא מחשב ע"פ הקובץ הזה מה ההסתברות למילה הבאה.
לייתר דיוק, זה קובץ שמכיל 'משקלים' שהם מיועדים כקלט לרשת הנוירונים, הרשת עצמה כלולה בארכיטקטורה של המודל ולא שוקלת הרבה, במהלך שלב האימון נוצר הקובץ של ה'משקלים', שאתו משתמשים בשלב ההסקה.
-
הגנה מפישינג והאקינג@משתמש-תמים כתב בהגנה מפישינג והאקינג:
או שלגוגל חסר יותר מידי מידע על הלקוחות שלהם בגלל הגבלות של מדינות שונות על שימוש במידע בלי הסכמה מפורשת אז הם מנסים לדוג עוד לקוחות לתת להם הרשאות גם בלי שהם ייכנסו לבד להגדרות.
מדויק, זה הסיבה שלא הפעלתי את זה.
-
מישהו מכיר תוכנה שמגדילה את עוצמת הקול של קבצי קול WAV?@אף-אחד-3 אם תיקח סתם קובץ שמע, שיר לדוגמא, ותבצע לו את ההגברה עם הסקריפט, מה שיקרה זה שחלק מהמידע (מה שעובר את ה 0db) בשיר יאבד, קוראים לזה בהגדרה המקצועית 'clipping, לכן הדרך הנכונה להגביר קובץ שמע שקט זה באמצעות נירמול, שזה אומר להגביר את כל הקובץ בעוצמה קבועה אבל בלי שהעוצמה בשום חלק מהשיר תעבור את ה 0db.
-
מישהו מכיר תוכנה שמגדילה את עוצמת הקול של קבצי קול WAV?אני רק מוסיף שמה ש @אף-אחד-3 כתב זה מגביר את העוצמת שמע בעוצמה קבועה, כדי להגביר בצורה אוטומטית עד שיגיע לסף של 0db צריך ל'נרמל' את השמע, יש לזה פונקציה מיוחדת שנקראת
normalize
. -
פלייבקים חדשים באורגני yamaha@dovid כתב בפלייבקים חדשים באורגני yamaha:
האם נכון לומר שאין במפרט אפשרות לדעת אם זה תומך בדגימות?
תמיכה בדגימות זה דבר בסיסי שאמור להיות כתוב במפרט אבל השאלה איך זה כתוב, לדוג' ב-PST-SX900 זה מצוין כ- internal memory, ובחברה אחרת זה מצוין כ- Wave Expansion Memory for Sampling/Sample Import.
לגבי המקצבים זה משנה על איזה דגם בנו את המקצב, בד"כ יש תאימות לאחור, אבל לא להיפך, לדוג' אם מקצב משתמש בצליל או פונקציה מסוימת שקיימת בדגם חדש, אז כשינסו לטעון אותו על דגם מדור ישן שלא קיימת בו הפונקציה הזאת זה יהיה בעיה (אני לא יודע לדייק בפרטים כי אני לא מחזיק ב-Yamaha)
-
פלייבקים חדשים באורגני yamahaהפורמט SMF זה באמת פורמט של פלייבקים אבל אני לא חושב שהוא התכוון לזה, אלא למקצבים שלפעמים נותנים מעטפת שלימה לשיר מסוים ולכן הוא קורא לזה פלייבק, אבל זה מגיע כמקצב ולא SMF.
לגבי איזה אורגן תומך באיזה מקצבים זה כבר מסובך, כי זה תלוי איזה מקצב, ואם יש בו שימוש בדגימות (קבצי סאונד חיצונים שימבאים לאורגן) אז צריך אורגן שתומך בדגימות. מה שהיום הכי טוב זה PSR-SX900 אבל הוא יקר (באזור 8,000 ליד שניה), יש את ה PSR-XS700 שהוא קצת פחות יקר, אפשרות יותר זולה זה PSR-S970 או S975, שהוא קצת יותר ישן, ואפשר להשיג יחסית בזול (6,000 בערך) ואמור להתאים לרוב הדברים.
-
הגדרת חלון כעליון@אביי אני לא מכיר את התוכנה של קול הלשון, אבל אם גם היא מוגדרת כ-top-most אז אולי שינוי בחזרה של החלון ל-no-top-most תעזור, כדי לבדוק את זה תריץ את WinSpy (ואגב, אני לא נכנס לאיך תראה את החלון של WinSpy מעל לקול הלשון, בזה תצטרך להתמודד לבד...) תבחר את החלון הראשי של קול הלשון ובחץ הקטן שמופיע בשורה של ה-Handle תוריד את ה-V מה-Always On Top (אם הוא מסומן)
אם זה פותר את הבעיה, אז צריך לעבוד לשלב של איך כותבים את זה בקוד.
-
עיצוב תוכנה כמו בווינדוס 11 -
תהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי@yyy אני רק מוסיף הערת אגב, אם הוספת את התיקייה למשתני הסביבה עם הפקודה:
PATH="$PATH:/home/ubuntu/.dotnet"
אז בהפעלה מחדש זה לא יישאר ב-
PATH
, כדי לשנות את זה לתמיד צריך לערוך את הקובץetc/environment/
לדוגמא עםsudo nano /etc/environment
ולהוסיף שם את הנתיב (עם הפרדה של:
) ולשמור. -
תהליך העלאת מערכת fullstack מה-localhost לעולם האמיתיאני מקווה שאני לא מקשקש, אבל כנראה שבתייקה home/ubuntu/.dotnet/
נמצאים הקבצים הבינאריים של dotnet, אפשר לנווט לשם עםcd /home/ubuntu/.dotnet
ואז להריץdotnet --info/.
אם אכן זה גרסה 3 אז רק צריך להוסיף את התיקייה הזאת למשתני הסביבה. -
עצירת תהליך שמופעל באירוע לחיצה@אביי אם הבעיה ש-NAudio נועל את הקובץ גם אחרי ההשמעה (לא יודע למה) אז זמנית יש לי ב' פתרונות חלופיים:
א. לכתוב כל פעם לקובץ חדש (לא לדרוס את הישן) ובסיום התוכנית למחוק הכל.
ב. אם אתה צריך להשמיע קובץ שיורד מהרשת אז לא חייב לשמור לקובץ, אפשר להשמיע ישירות עםRawSourceWaveStream
. -
האם הבינה המלאכותית יכולה להחליף את נרנדה בנטפרי@yossiz כתב בהאם הבינה המלאכותית יכולה להחליף את נרנדה בנטפרי:
לפי הערכה/ניחוש שלי, אפשר לאמן מודל שיגיע לרמת הדיוק של הבדיקה האנושית של היום, שרק ייתן תשובה של [טוב/לא טוב/להעביר לבדיקה אנושית]
אני חושב שמודל מאומן ככל שיהיה לעולם לא יגיע לרמת דיוק של זיהוי אנושי, מודלים טובים של סיווג תמונות כמו Mobilenet או Resnet אחוז הדיוק שלהם נמצא בסביבות ה90% אמנם זה על 1000 מחלקות ועל מיליוני תמונות אבל היתרון שלהם שהאובייקט נוכח כולו במרכז התמונה, משא"כ בסינון תמונות בעייתיות לפעמים האובייקט הבעייתי מצולם מזווית לא צפויה או שהוא לא מופיע בשלמותו, מה שיכול לגרום לבעיות בזיהוי. אני לא מבין גדול אבל יכול להיות שזה גם יגרום לבעיות בשלב האימון.
-
אבטחת מידע בסייפר@אף-אחד-3 בחדרי מחשבים שרוצים יותר הגנה מתקינים את תוכנת ההקפאה ShadowDefender, ומוסיפים הגדרה שברגע שהמשתמש יוצא מהחשבון המחשב מבצע הפעלה מחדש, בכזה מקרה אין שום בעיה.
-
על Avalonia כבר שמעתם?יש ב-Avalonia המון טריקים ופיצ'רים מגניבים, שרק בגללם שווה לבחור אותו (אפילו רק לחלונות), ככל שאני חופר עוד בפרויקט אני מוקסם מהגאונות שטמונה בו (עז"נ חכמה בגויים תאמין), הנה כמה קסמי Binding של Avalonia באמצעות קוד #C:
- הצמדה של Text Property מ-TextBox לתוכן הטקסט של TextBlock:
var textBox = new TextBox { Width = 100, }; var textBlock = new TextBlock { Width = 100, [!TextBlock.TextProperty] = textBox[!TextBox.TextProperty] };
באמצעות שורה 9 חיברתי את
textBox.Text
עםtextBlock.Text
, כמה פשוט וקל!- אותו רעיון בתוספת מניפולציה על הטקסט עם האופרטור
Select
:
var textBox = new TextBox(); var text = textBox.GetObservable(TextBox.TextProperty); var textBlock = new TextBlock { [!TextBlock.TextProperty] = text.Select(x => x + x).ToBinding() };
- אפשר גם להצמיד
Property
של פקד ישירות ל-Observable
כלשהו:
var source = new Subject<string>(); var textBlock = new TextBlock(); textBlock.Bind(TextBlock.TextProperty, source.AsObservable()); source.OnNext("Next 1"); await Task.Delay(1000); source.OnNext(" Next 2");
בכל פעם שיגיע ערך מה-Observable הטקסט של הפקד ישתנה לערך החדש.
עד כאן זה היה בקוד #C, גם בתחביר xaml יש עוד המון פיצ'רים הנה כמה לדוגמא:
- הצמדה למאפיין בוליאני והפיכה של הערך עם האופרטור
!
:
{Binding MyProperty} {Binding !MyProperty}
- הצמדה באמצעות שם של הפקד:
<TextBox Name="tb"> <TextBlock Text="{Binding #tb.Text}"/>
- הצמדה לפקד האב באמצעות הסימבול
parent$
:
<Border Tag="Hello World!"> <TextBlock Text="{Binding $parent.Tag}"/> </Border>
אפשר גם באמצעות אינדקס:
<Border Tag="Hello World!"> <Border> <TextBlock Text="{Binding $parent[1].Tag}"/> </Border> </Border>
ואפשר גם באמצעות הטייפ:
<Border Tag="Hello World!"> <Decorator> <TextBlock Text="{Binding $parent[Border].Tag}"/> </Decorator> </Border>
ואפשר גם באמצעות טייפ ואינדקס:
<Border Tag="Hello World!"> <Border> <Decorator> <TextBlock Text="{Binding $parent[Border;1].Tag}"/> </Decorator> </Border> </Border>
- הצמדת מאפיינים מסוג <IObservable<T באמצעות האופרטור
^
:
// ViewModel public IObservable<string> Name {get; set; } // xaml <TextBlock Text="{Binding Name^.Length}"/>
- הצמדה למאפיינים א סינכרוניים, עם טקסט שמוצג לפני שהערך מוכן:
// ViewModel public Task<string> MyAsyncText => GetTextAsync(); private async Task<string> GetTextAsync() { await Task.Delay(1000); // The delay is just for demonstration purpose return "Hello from async operation"; } // xaml <TextBlock Text="{Binding MyAsyncText^, FallbackValue='Wait a second'}" />
בקיצור, תן לחכם ויחכם עוד, יש עוד הרבה דוגמאות שאפשר לראות בתיעוד.
יש הרבה סיבות טובות לבחור ב-Avalonia. -
על Avalonia כבר שמעתם?@dovid זה שזה לא נתמך בלינוקס לא מספיק סיבה טובה?
-
מחיקת פרטים מזהים ממסמך@one1010 כתב במחיקת פרטים מזהים ממסמך:
אני מתכוון תמונה וסרטון ששמו עליהם שכבה נוספת של השחרה, לא משהו שככה צלם או הוסרט
ברור. אם הווידאו מקודד בקובץ mp4 / mov / avi וכו' (לאפוקי קובץ עריכה פתוח של תוכנה כלשהי) אין שום דרך לגלות דברים מתחת.