בחודש מאי 2015 קבע השופט גינת באופן תקדימי כי אתר הורדות למוזיקה פיראטית ייחסם לגלישה ברשת. גינת קבע כי אתר UNIDOWN אינו אלא פלטפורמה מפירה ל"הורדת" יצירות מוגנות במסווה של מנוע חיפוש, וכי התובעות הוכיחו שהאתר, שנחזה להיות "מנוע חיפוש" לגיטימי ברשת האינטרנט, אינו אלא כלי שרת בידי בעליו, המעודד ומשדל את משתמשיו "להוריד" יצירות מוגנות באופן שמפר את זכויות היוצרים של התובעות, חברות התקליטים אן.אם. סי יונייטד אנטרטיינמנט בע"מ, הד ארצי בע"מ, הליקון בע"מ, לב גרופ מדיה בע"מ ו-התו השמיני בע"מ.
פי טי אנדרסון
גלאזורה
האוניברסיטה לאמנויות של ברלין
בוריס לקר
בוריס לקר (ברוסית: Борис Лекарь; 28 באוקטובר 1932 - 30 באוקטובר 2010) היה אדריכל, צייר ואמן רב תחומי ישראלי, יליד אוקראינה. היה דמות בולטת ומשפיעה בקהילת האמנים עולי ברית המועצות בישראל. ידוע בעיקר בזכות יצירותיו בצבעי מים.
תולדות חיים.
לקר נולד בחרקוב שבאוקראינה בשנת 1932. הוא למד ארכיטקטורה בחרקוב וקיבל את תואר הדוקטור באדריכלות בשנת 1983 בקייב. בשנת 1990 עלה לארץ וחי בשכונת גילה שבירושלים.
לקר היה אמן רב-תחומי פורה ויצר בתחומי ארכיטקטורה, פיסול וציור. עבודותיו כוללות ציורים - בצבעי מים, שמן, טמפרה וחומרים מעורבים - עיצוב אדריכלי, שימור מבנים ועיצוב אנדרטאות. הוא נודע בעיקר בזכות ציוריו בצבעי מים שזכו לשבחים של מבקרים וחובבי אמנות כאחד - "...זו סדרת מופת בעיני...זהו ציור מרתק..." כתב יונתן אמיר ב"ערב רב", 30.10.2010. כמה מפסליו מעטרים את רחובותיה של קייב.
בשנת 2004 הוענקה לו מלגת “Site International” בפריז, ובשנים 2004-2005 התגורר, צייר והציג את ציוריו בבירת צרפת. עבודותיו נרכשו והוצגו במוזיאון ישראל, במוזיאונים, מוסדות ואוספים פרטיים במספר מדינות ובכללם צרפת, ארצות הברית, גרמניה, יפן ואוקראינה.
הוא נשלח על ידי האוניברסיטה העברית להודו, טורקיה ומדינות נוספות לעבודת רישום, תיוק ושימור עיצובים של בתי כנסת עתיקים.
לקר נחשב בעיני מבקרי אומנות לאחד האמנים המיוחדים ויוצאי הדופן בקרב קהילת האמנים יוצאי ברית המועצות לשעבר. הוא עודד והציג את יצירותיהם של עשרות אומנים בתערוכות בביתו הפרטי, ובכך תרם לבניית קהילה פועמת של עולים ואמנים נוספים.
נפטר בשנת 2010 בהיותו בן 78.
Reflection (תכנות)
במדעי המחשב, reflection (ריפלקשן; מילולית מאנגלית: השתקפות או התבוננות) היא היכולת של תוכנת מחשב לבחון אובייקטים או לשנות את התנהגותם בזמן ריצה. בחינת האובייקטים מבוצעת באמצעות תהליך הנקרא type introspection - "הסתכלות פנימה על טיפוסים", ושינוי ההתנהגות של אובייקטים כוללת את היכולת לשנות ערכים, metadata, תכונות (properties) ופונקציות.
השימוש הנפוץ ביותר ב-reflection הוא בשפות עילית הרצות על גבי מכונה וירטואלית, כדוגמת Smalltalk. כמו כן השימוש ב-reflection נפוץ בשפות תסריט ובשפות בעלות טיפוסיות סטטית כגון: ML, Java, ו-Haskell.
לשפות תכנות התומכות ב-reflection קוראים "שפות רפלקטיביות" (reflective languages). לתכנות הכולל שימוש ב-reflection קוראים "תכנות מונחה-reflection-oriented programming) "reflection).
רקע היסטורי.
התכנות של מחשבים מוקדמים בוצע בשפת הסף הטבעית שלהם. שפות סף כאלה הן רפלקטיביות מטבען, מכיוון שהן פועלות על ידי הגדרת ההוראות בצורה של נתונים. פונקציונליות רפלקטיבית כגון שינוי ההוראות או ניתוח שלהן הייתה דבר שבשגרה. כאשר התכנות התקדם לשפות תכנות עיליות יותר כדוגמת שפת C, השימוש ב-reflection נעלם, עד שהופיעו שפות תכנות שמערכת הטיפוסים שלהן כוללת תמיכה ב-reflection.
שימושים.
ניתן להשתמש ב-reflection כדי לבחון את ביצוע התוכנית ולהשפיע עליה בזמן ריצה. רכיב בתוכנה מונחית-reflection יכול לפקח אחר הביצוע של יחידת קוד, ולשנות את עצמו בהתאם למטרה שרוצים להשיג בהקשר ליחידת קוד זו. בדרך כלל זה נעשה על ידי הקצאת קוד בזמן ריצה.
בשפות תכנות מונחות-עצמים כמו Java, שימוש ב-reflection מאפשר בדיקה בזמן ריצה של מחלקות, ממשקים, שדות ומתודות, מבלי לדעת את השמות שלהם בזמן הידור. כמו כן זה מאפשר יצירת מופעים חדשים של אובייקטים וקריאה למתודות.
בנוסף לכך, ניתן להשתמש ב-reflection על מנת לסגל תוכניות למצבים שונים בצורה דינאמית. לדוגמה, נחשוב על יישום המשתמש לסירוגין בשתי מחלקות שונות, codice_1 ו-codice_2, לצורך ביצוע של משימות דומות. בלי תכנות מונחה-reflection, יכול להיות שהיישום יהיה מתוכנת בצורה קשיחה (hard-coded) לקרוא לשמות של מתודות של מחלקה codice_1 ומחלקה codice_2. לעומת זאת, על ידי שימוש בפרדיגמת התכנות מונחה-reflection, ניתן לממש את היישום כך שישתמש ב-reflection כדי לקרוא למתודות במחלקות codice_1 ו-codice_2, מבלי לקודד מראש בצורה קשיחה את שמות המתודות.
על מנת לנצל את היתרונות שבכתיבת קוד גנרי יותר באמצעות תכנות מונחה-reflection, כמעט תמיד נדרשות מומחיות ותשתיות תוכנה נוספות. מידת השימוש ב-reflection קובעת עד כמה ניתן יהיה להימנע משימוש ב-hard coding (קידוד קשיח).
לעיתים קרובות משתמשים ב-reflection בבדיקות תוכנה, כאשר רוצים ליצור מופעים של "אובייקטי דמה" (mock objects) בזמן ריצה.
כמו כן, reflection היא האסטרטגיה הראשית ב-metaprogramming – כתיבת תוכנות מחשב שכותבות או משנות תוכנות אחרות.
מימוש.
שפת תכנות הכוללת תמיכה ב-reflection, מספקת מספר שירותים ייעודיים הזמינים בזמן ריצה, שאחרת היו קשים מאוד למימוש בשפה שהיא low-level יותר. בין היתר, שירותים אלו מאפשרים:
שירותים אלה ניתנים למימוש בדרכים שונות. שפות העוברות הידור מסתמכות על מערכת סביבת ההרצה (runtime) שלהן כדי לקבל מידע אודות קוד המקור. לדוגמה, קובץ הרצה מהודר בשפת Objective-C, שומר את שמות כל המתודות בבלוק בתוך הקובץ, ובכך מספק טבלה להתאמה בין שמות המתודות למתודות עצמן בתוכנית המהודרת.
בשפה מהודרת התומכת ביצירת פונקציות בזמן ריצה, כדוגמת Common Lisp, סביבת ההרצה חייבת לכלול מהדר או מפרש. כמו כן, ניתן לממש reflection גם בשפות שאינן כוללות מנגנונים מובנים לתמיכה ב-reflection, על ידי שימוש במערכת ל-program transformation, כדי להגדיר שינויים אוטומטיים בקוד המקור.
דוגמאות.
קטעי הקוד הבאים יוצרים מופע codice_7 של המחלקה codice_8, ואז קוראים למתודה codice_9. עבור כל שפת תכנות, מוצגות הקריאות הרגילות וגם הקריאות שעושות שימוש ב-reflection.
// Using Java package: java.lang.reflect
// Without reflection
new Foo().hello();
// With reflection
Class&lt;?&gt; clazz = Class.forName("Foo");
clazz.getMethod("hello").invoke(clazz.newInstance());
JavaScript.
// Without reflection
new Foo().hello()
// With reflection
// assuming that Foo resides in this
new this['Foo']()['hello']()
// or without assumption
new (eval('Foo'))()['hello']()
// or simply
eval('new Foo().hello()')
// without reflection
$foo = new Foo();
$foo-&gt;hello();
// with reflection
$reflector = new ReflectionClass('Foo');
$foo = $reflector-&gt;newInstance();
$hello = $reflector-&gt;getMethod('hello');
$hello-&gt;invoke($foo);
// using callback
$foo = new Foo();
call_user_func(array($foo, 'hello'));
// using variable variables syntax
$className = 'Foo';
$foo = new $className();
$method = 'hello';
$foo-&gt;$method();
obj = Foo.new
obj.hello
class_name = "Foo"
method = :hello
obj = Kernel.const_get(class_name).new
obj.send method
Objective-C.
// Foo class
@interface Foo : NSObject
- (void)hello;
// without reflection
Foo *obj = [[Foo alloc] init];
[obj hello];
// with reflection in OPENSTEP, loading class and call method using variables.
NSString *className = @"Foo";
SEL selector = @selector(hello);
id obj = [[NSClassFromString(className) alloc] init];
[obj performSelector:selector]; // This will emit an warning when compiling with Objective-C ARC.
קישורים חיצוניים.
[[קטגוריה:תכנות]]
זיגפריד ורוי
זיגפריד ורוי (בגרמנית: Siegfried &amp; Roy) היו צמד בדרנים גרמנים-אמריקאים, שהתפרסמו בשל מופעי הקרקס שלהם, שכללו אריות לבנים וטיגריסים לבנים. המופע שלהם "Siegfried &amp; Roy at the The Mirage Resort and Casino" במלון מיראז', היה הפופולרי והנצפה ביותר בלאס וגאס בשנות ה-90 ותחילת שנות ה-2000.
זיגפריד פישבאכר (בגרמנית: Siegfried Fischbacher; 13 ביוני 1939 - 13 בינואר 2021) נולד ברוזנהיים, בוואריה, ולמד בצעירותו לבצע קסמים; אובה לודוויג הורן (בגרמנית: Uwe Ludwig Horn; 3 באוקטובר 1944 - 8 במאי 2020) נולד בנורדנהם, אולדנבורג, ולמד לעבוד עם חיות אקזוטיות שבמחיצתן גדל. שניהם גדלו בגרמניה והיגרו לארצות הברית. הם נפגשו ב-1959 כאשר עבדו בעבודות סיפון ומלצרות על ספינת נוסעים ומשא. זיגפריד החל לבצע קסמים עבור הנוסעים, ולבסוף הותר לו לערוך מופע משלו בספינה, כאשר רוי משמש כעוזרו.
באחד ממסעותיהם הבריח רוי מגרמניה את הצ'יטה צ'יקו. הצמד יצר תוכנית מופע גדולה, והחל להציג בלאס וגאס, נבדה. ב-1972 זכו בפרס "המופע הטוב ביותר של השנה". ב-1990 נשכרו על ידי מנהל מלון מיראז' המפורסם בעיר, סטיב ויין, לחוזה יוקרתי וארוך טווח.