stanford-oval/wikipedia huggingface dataset:
حقن التبعية
أمثلة

بدون حقن التبعية
في مثال جافا التالي، يحتوي صنف على خدمة متغير عضو تمت تهيئته بواسطة مُنشئ.
يتحكم العميل في تنفيذ الخدمة المستخدمة ويتحكم في بنائها. في هذه الحالة، يُقال أن العميل لديه تبعية ذات كود صلب على. (بالإنجليزية: ExampleService)‏
// An example without dependency injection
public class Client {
  // Internal reference to the service used by this client
  private ExampleService service;

  // Constructor
  Client() {
    // Specify a specific implementation in the constructor instead of using dependency injection
    service = new ExampleService();
  }

  // Method within this client that uses the services
  public String greet() {
    return "Hello " + service.getName();
  }
}
يعتبر حقنالتبعية تقنية بديلة لتهيئة متغير العضو بدلاً من إنشاء كائن خدمة بشكل صريح كما هو موضح أعلاه. يمكننا تعديل هذا المثال
باستخدام التقنيات المختلفة الموضحة والموضحة في الأقسام الفرعية أدناه..
أمثلة > أنواع حقن التبعية

هناك ثلاث طرق على الأقل يمكن لكائن العميل تلقي مرجع لوحدة خارجية:
أمثلة > أنواع حقن التبعية > أنواع أخرى

من الممكن أن يكون لأطر حقن التبعية أنواع أخرى من الحقن بخلاف تلك المذكورة أعلاه. قد تستخدم أطر الاختبار أيضًا أنواعًا أخرى. بعض أطر الاختبار الحديثة لا تتطلب حتى أن يقبل العملاء بنشاط حقن التبعية وبالتالي جعل الكود القديم قابل للاختبار. على وجه الخصوص، في لغة جافا، من الممكن استخدام الانعكاس لجعل السمات الخاصة عامة عند الاختبار وبالتالي قبول الحقن عن طريق التعيين.
لا تقدم بعض محاولات عكس التحكم الإزالة الكاملة للتبعية، ولكن بدلاً من ذلك ببساطة استبدال أحد أشكال التبعية بأخرى. كقاعدة عامة، إذا لم يتمكن المبرمج من النظر إلى شيء سوى كود العميل والإخبار عن إطار العمل المستخدم، عندئذٍ يكون لدى العميل اعتماد مرتبط بالكود الصلب على الإطار.
أمثلة > أنواع حقن التبعية > حقن المنشئ

تتطلب هذه الطريقة من العميل توفير معلمة في مُنشئ للتبعية.
// Constructor
Client(Service service) {
  // Save the reference to the passed-in service inside this client
  this.service = service;
}
أمثلة > أنواع حقن التبعية > حقن المعيّن

تتطلب هذه الطريقة من العميل توفير طريقة ضبط للتبعية.
// Setter method
public void setService(Service service) {
  // Save the reference to the passed-in service inside this client.
  this.service = service;
}
أمثلة > أنواع حقن التبعية > حقن الواجهة

ببساطة العميل هو الذي ينشر واجهة الدور لطرق تعيين تبعيات العميل. يمكن استخدامه لتحديد الطريقة التي يجب أن يتحدث بها الحاقن مع العميل عند حقن التبعيات.
// Service setter interface.
public interface ServiceSetter {
  public void setService(Service service);
}

// Client class
public class Client implements ServiceSetter {
  // Internal reference to the service used by this client.
  private Service service;

  // Set the service that this client is to use.
  @Override
  public void setService(Service service) {
    this.service = service;
  }
}
أمثلة > أنواع حقن التبعية > مقارنة حقن المنشئ

يُفضل عند إنشاء جميع التبعيات أولاً لأنه يمكن استخدامها لضمان أن يكون كائن العميل دائمًا في حالة صالحة، على العكس من ذلك هو أن تكون بعض مراجع التبعية الخاصة به خالية (لم يتم تعيينها). ومع ذلك، من تلقاء نفسها، تفتقر إلى المرونة لتغيير تبعياتها في وقت لاحق. يمكن أن تكون هذه خطوة أولى نحو جعل العميل غير قابل للتغيير وبالتالي خيط آمن.
// Constructor
Client(Service service, Service otherService) {
  if (service == null) {
    throw new InvalidParameterException("service must not be null");
  }
  if (otherService == null) {
    throw new InvalidParameterException("otherService must not be null");
  }

  // Save the service references inside this client
  this.service = service;
  this.otherService = otherService;
}
أمثلة > أنواع حقن التبعية > مقارنة حقن المعيّن (الضبط)

يتطلب من العميل توفير طريقة ضبط لكل تبعية. وهذا يعطي حرية التلاعببحالة المراجع التبعية في أي وقت. يوفر هذا المرونة، ولكن إذا كان هناك أكثر من تبعية واحدة يجب حقنها، فمن الصعب على العميل التأكد من حقن جميع التبعيات قبل أن يتم توفير العميل للاستخدام.
// Set the service to be used by this client
public void setService(Service service) {
  if (service == null) {
    throw new InvalidParameterException("service must not be null");
  }
  this.service = service;
}

// Set the other service to be used by this client
public void setOtherService(Service otherService) {
  if (otherService == null) {
    throw new InvalidParameterException("otherService must not be null");
  }
  this.otherService = otherService;
}
نظرًا لأن هذه الحقن يحدث بشكل مستقل، فلا توجد طريقة لمعرفة متى ينتهي الحاقن من توصيل العميل. يمكن ترك التبعية فارغة ببساطة عن طريق الفشل في استدعاء أداة ضبطها. هذا يفرض التحقق من اكتمال الحقن من وقت تجميع العميل حتى وقت استخدامه.
// Set the service to be used by this client
public void setService(Service service) {
  this.service = service;
}

// Set the other service to be used by this client
public void setOtherService(Service otherService) {
  this.otherService = otherService;
}

// Check the service references of this client
private void validateState() {
  if (service == null) {
    throw new IllegalStateException("service must not be null");
  }
  if (otherService == null) {
    throw new IllegalStateException("otherService must not be null");
  }
}

// Method that uses the service references
public void doSomething() {
  validateState();
  service.doYourThing();
  otherService.doYourThing();
}
أمثلة > أنواع حقن التبعية > مقارنة حقن الواجهة

تتمثل ميزة حقن الواجهة في أن التبعيات يمكن أن تكون جاهلة تمامًا بعملائها، ومع ذلك لا يزال بإمكانها تلقي مرجع إلى عميل جديد واستخدامه، وإرسال مرجع إلى الذات إلى العميل. بهذه الطريقة، تصبح التبعيات عن طريق الحقن. الفكرة هي أن طريقة الحقن (التي يمكن أن تكون مجرد طريقة ضبط كلاسيكية) يتم توفيرها من خلال واجهة.
لا يزال هناك حاجة إلى مجمعلتعريفالعميل وتبعياته. سيأخذ المُجمِّع مرجع إلى العميل، ويحولها إلى واجهة المحدد التي تعيّن تلك التبعية وتمريرها إلى كائن التبعية هذا الذي يتحول ويمرر مرجع إلى الذات إلى العميل..
لكي يكون لحقن الواجهة قيمة، التبعية يجب أن تقوم بشيء، بالإضافة إلى إرجاع مرجع لنفسها.. يمكن أن يكون هذا بمثابة مصنع أو مجمع فرعي لحل تبعيات أخرى، وبالتالي تجريد بعض التفاصيل من المجمع الرئيسي.. يمكن أن يكون عدًا مرجعيًا حتى تعرف التبعية عدد العملاء الذين يستخدمونه. إذا احتفظت التبعية بمجموعة من العملاء، فيمكنها لاحقًا حقنهم جميعًا بمثيل مختلف عن نفسها
// Service setter interface.
public interface ServiceSetter {
  public void setService(Service service);
}

// Client class
public class Client implements ServiceSetter {
  // Internal reference to the service used by this client.
  private Service service;

  // Set the service that this client is to use.
  @Override
  public void setService(Service service) {
    this.service = service;
  }
}

// Injector class
public class ServiceInjector {
 Set<ServiceSetter> clients;
 public void inject(ServiceSetter client) {
  clients.add(client);
  client.setService(new ServiceFoo());
 }
 public void switchToBar() {
  for (Client client : clients) {
   client.setService(new ServiceBar());
  }
 }
}

// Service classes
public class ServiceFoo implements Service {}
public class ServiceBar implements Service {}
أمثلة > مقارنة التجميع

لا تختلف تنفيذات الحاقن المختلفة (المصانع، مواقع الخدمة، وحاويات حقن التبعية فيما يتعلق بحقن التبعية. ما يحدث فرقاً هو المكان الذي يسمح لهم باستخدامه. قم بنقل الاستدعاءات إلى المصنع أو محدد الخدمة خارج العميل وإلى الرئيسية (بالإنجليزية: main)‏ والمفاجئ الرئيسي يجعل حاوية حقن التبعية جيدة إلى حد ما. من خلال نقل كل المعرفة عن الحاقن إلى الخارج، يتم ترك عميل نظيف، خالٍ من المعرفة بالعالم الخارجي. ومع ذلك، يمكن اعتبار أي كائن يستخدم كائنات أخرى عميلاً. الكائن الذي يحتوي على main ليس استثناء. هذا الكائن الرئيسي لا يستخدم حقن التبعية. في الواقع استخدام نمط محدد مواقع الخدمة. لا يمكن تجنب ذلك لأنه يجب أن يتم اختيار تنفذيات الخدمة في مكان ما.
لا يؤدي إخارج التبعيات إلى ملفات التكوين إلى تغيير هذه الحقيقة. ما يجعل هذه حقاً جزءًا من التصميم الجيد هو أن محدد الخدمة لا ينتشر في جميع أنحاء قاعدة الكود. يقتصر على مكان واحد لكل تطبيق. هذا يترك بقية الكود الاساسي متاح لاستخدام حقن التبعية لعملاء (نظيفين).
أمثلة > نمط حقن التبعية

كانت الأمثلة حتى الآن أمثلة بسيطة للغاية حول إنشاء سلسلة (سلسلة نصية). ومع ذلك، يمكن أنه يكون نمط حقن التبعية أكثر فائدة عند إنشاء رسم بياني للكائن حيث تتواصل الكائنات عبر الرسائل.
ستستمر الكائنات التي تم إنشاؤها في main طوال عمر البرنامج. النمط النموذجي هو إنشاء الرسم البياني ثم استدعاء طريقة واحدة على كائن واحد لإرسال تدفق التحكم في الرسم البياني للكائن. تمامًا كما في main أن نقطة الدخول إلى الكود الثابت، فإن هذه الطريقة هي نقطة الدخول إلى الكود غير الثابت للتطبيقات.
.
public static void main(String[] args) throws IOException {

  // Construction code.
  Greeter greeter = new Greeter(System.out); // This may be many lines that connect many objects

  // Behavior code.
  greeter.greet(); // This is one call to one method on one object in the object graph
}

class Greeter {
  public void greet() {
    this.out.println("Hello world!");
  }
  public Greeter(PrintStream out) {
    this.out = out;
  }
  private PrintStream out;
}
أمثلة > مثال أنغولار جي إس

في إطار عمل أنغولار، هناك ثلاث طرق فقط يمكن للمكون (الكائن أو الوظيفة) الوصول مباشرةً إلى تبعياته:
يمكن للمكون إنشاء التبعية، عادةً باستخدام عامل new.
يمكن للمكون أن يبحث عن التبعية بالإشارة إلى متغير عام.
يمكن أن ينتقل المكون إلى التبعية إليه عند الحاجة..
أول خيارين لإنشاء التبعيات أو البحث عنها ليسا الأمثل لأنهما يكودا التبعية بشكل ثابت للمكون.
. وهذا يجعل من الصعب، إن لم يكن من المستحيل، تعديل التبعيات. هذا يمثل مشكلة خاصة في الاختبارات، حيث من المستحسن في الغالب توفير تبعيات وهمية لعزل الاختبار.
الخيار الثالث هو الأكثر قابلية للتطبيق، لأنه يزيل مسؤولية تحديد موقع التبعية من المكون. يتم تسليم التبعية ببساطة إلى المكون.
function SomeClass(greeter) {
 this.greeter = greeter;
}

SomeClass.prototype.doSomething = function(name) {
 this.greeter.greet(name);
}
في المثال أعلاه، لا تهتم SomeClass بإنشاء أو تحديد مكان تبعية المحيي، بل يتم ببساطة تسليم المحيي عند إنشاء مثيل لها. هذا أمر مرغوب فيه، ولكنه يضع مسؤولية الحصول على التبعية على الكود الذي يبني بعض الأصناف SomeClass.
لإدارة مسؤولية إنشاء التبعية، يحتوي كل تطبيق أنغولار جي إس، على حاقن. الحاقن هو محدد مواقع الخدمة المسؤول عن البناء والبحث عن التبعيات.
فيما يلي مثال على استخدام خدمة الحاقن:
// Provide the wiring information in a module
var myModule = angular.module('myModule', []);

// Teach the injector how to build a greeter service.
// greeter is dependent on the $window service.
// The greeter service is an object that
// contains a greet method.
myModule.factory('greeter', function($window) {
 return {
  greet: function(text) {
   $window.alert(text);
  }
 };
});
قم بإنشاء حاقن جديد يمكنه توفير المكونات المعرفة في نموذج myModule وطلب خدمة المحيي من الحاقن. (يتم ذلك تلقائيًا تلقائيًا عن طريق أنغولار جي اس بووتستراب (بالإنجليزية: AngularJS bootstrap)‏.
var injector = angular.injector(['myModule', 'ng']);
var greeter = injector.get('greeter');
إن طلب التبعيات يحل مشكلة التكويد الصلب، ولكنه يعني أيضًا أنه يجب تمرير الحاقن في كل التطبيق. تمرير الحاقن يخالف قانون ديميتر. لعلاج هذا، نستخدم تدوينًا توضيحيًا في قوالب HTML الخاصة بنا، لتسليم مسؤولية إنشاء المكونات إلى الحاقن، كما في هذا المثال:
<div ng-controller="MyController">
 <button ng-click="sayHello()">Hello</button>
</div>
function MyController($scope, greeter) {
 $scope.sayHello = function() {
  greeter.greet('Hello World');
 };
}
عندما يقوم أنغلار جي إس، بتجميع HTML، فإنه يعالج توجيه ng-controller، والذي بدوره يطلب من الحاقن إنشاء مثيل من وحدة التحكم وتبعياتها
.
injector.instantiate(MyController);
تمثيل صنف، فيمكنه تلبية جميع تبعيات MyController دون أن تعرف وحدة التحكم عن الحاقن. يعلن كود التطبيق ببساطة التبعيات التي يحتاجها، دون الحاجة إلى التعامل مع الحاقن. هذا الإعداد لا يخالف قانون ديميتر.
صفحة ويب ديناميكية

صفحة الويب الديناميكية هي صفحة ويب تُولد جزئيًا أو كُليًا لدى طلب مشاهدتها. في معظم الأحيان، تستخدم قوالب عرض جاهزة تُزود ببيانات ببيانات مستخرجة من قواعد بيانات، وبيانات أخرى ديناميكية تختلف باختلاف الزائر (كموقعه الجُغرافي ولُغة مُتصفّحه وما إلى ذلك).
تصنيف

تنقسم مواقع الويب إلي قسمين:
مواقع إستاتيكية مُكوّنة من صفحات ثابتة تُحفظ في شكلها النهائي على خوادم الموقع وتُستدعى كلما أراد الزائر مٌشاهدتها،
مواقع ديناميكية مُكوّنة من صفحات مُتغيرة.
يكمن الاختلاف الرئيسي ما بين النوعين يكمن في آلية حفظ البيانات. مبدئيا الصفحات الثابتة هي التي تُكْتب بواسطة لغة (لغة توصيف النص الفائق) إلا أنها قد تشمل أيضا الصفحات المُخزّنة في قواعد البيانات التي تظهر لجميع الزُوار على نفس الشكل وبنفس المُحتويات، ولا تتغير هذه الصفحات إلى بإدخال تغيير على شفرتها المصدرية بشكل يدوي. أما الصفحات الديناميكية فتتغير وتتأثر بما يجريه عليها المستخدم من عمليات.
تاريخ

ظهر مفهوم الصفحات الديناميكية مع تقدم تطوير الشبكة العنكبوتية وظهور ما يعرف بالويب 2.0 أين أصبح المُستخدم هم المحور في التطوير ونشأ الاهتمام بتطبيقات الويب الغنية مع ظهور تقنية AJAX التي غيّرت من مفهوم التفاعل مع المُتصفح.
لدى تطوير الصفحات الديناميكية فإن قوالب الموقع تُبنى أولاً، ويُقصد بذلك الأجزاء الثابتة على جميع صفحات الموقع، ومن ثم تُزود بالبيانات التي تظهر عليها حسب الطلب.
أشهر لغات برمجة الإنترنت الديناميكية
إيه إس بي
إيه إس بي دوت نت
بي إتش بي
روبي أون ليرز
صفحه الإنترنت غير الثابتة  هي وثيقة المقدمة لشبكة ويب العالمية المستخدم عرض المحتوى الذي تم تطويعه أو يتم تحقيقه لينظر كل فرد أو الترحيل أو يتم تحديث المعلومات باستمرار حتى تُعْرض الصفحة للمستخدم.
الكلاسيكية تصميم صفحات الويب باستخدام فقط لغة أعداد النص (Hypertext markup)(HTML) أو الأقسام المختلفة، ويوفر محتوى ثابت، وهذا يعني أن صفحة يمكن استردادها من قبل المستخدمين في نفس الوقت.
ومع ذلك، يمكن لصفحه على الأنتر نت أن توفر أيضا تجربه استخدام المحتوى (نصوص، صور، حقول النموذج، الخ) على صفحة الانتر نت غير ثابت، واستجابة لسياقات مختلفة أو شروط. هناك طريقتان لإنشاء هذا النوع من التأثير
باستخدام البرامج النصية من جانب العميل لتغيير السلوكيات واجهة داخل صفحة معينة على الشبكة العالمية، في استجابة لوحة المفاتيح أو الفأرة أو الإجراءات في المناسبات التوقيت المحدد. في هذه الحالة يحدث العرض داخل الصفحة ذات النمط غير الثابت.
الخادم باستخدام البرامج النصية من جانب توفيره لتغيير مصدر الصفحة بين الصفحات، وتعديل تسلسل أو تحديث صفحة الويب أو محتوى الويب أو توريدها إلى المتصفح.إن ردود الخادم تحددها الظروف مثل نشر البيانات في شكل (HTML)، المعلمات في العنوان، ونوع المتصفح المستخدم، وبمرور الوقت، أو قاعدة بيانات أو خدمة الدولة.
صفحات ويب التي تستخدم الطريقة الأولى يجب أن تستخدم تقنية تسمى العرض، بمعنى أوسع، الغنية صفحات ربطه. من جانب العميل مثل لغة البرمجة جافا سكريبت أو أكشن، وتستخدم (HTML) وفلاش التكنولوجيات على التوالي، وكثيرا ما تستخدم لتنسيق أنواع الوسائط (الصوت والصور المتحركة والمتغيرة النص، الخ) من العرض. في البرمجة كما يسمح باستخدام البرمجة النصية البعيد، وهو الأسلوب الذي تطلب فيه الصفحة معلومات إضافية من الخادم، وذلك باستخدام الإطار خفية، أو خدمة ويب.
صفحات ويب التي تستخدم الأسلوب الثاني كثيرا ما تنشأ مع مساعدة من الخادم لغات الجانب مثل PHP, Perl, ASP, ASP.NET, JSPASP.NET وغيرها من اللغات. هذه الخدمة عاده تستخدم في الواجهات (common gateway interface) لإنتاج صفحات ويب غير ثابتة.
المواقع غير الثابتة على شبكه الإنترنت

غير الثابتة وتخطيط الصفحة يتم إنشاؤها بشكل منفصل. محتوى يتم استردادها من قاعدة بيانات ويتم وضعه على صفحة ويب فقط عند الحاجة أو طلب. والفائدة من هذا هوا سرعة تحميل الصفحة، وانه يسمح لأي شخص، مع محدودية أو انعدام الخبرة تصميم مواقع الإنترنت، لتحديث موقع الويب الخاص بيه عن طريق أداة إدارية. هذا الإنشاء مثالي لأولئك الذين يرغبون في إجراء تغييرات متكررة على مواقعها على شبكة الإنترنت بما في ذلك النصوص والصور التحديثات المتكررة. وأيضا للمواقع ذات الصور الكبيرة، أو عبر الإنترنت والتجارة الإلكترونية، إلخ.
الخدمات الجانبية

عميل الموقع يتم إنشاء جانب له على جهاز الكمبيوتر المستخدم لديه. متصفح الويب يستقبل صفحة من الخادم، ثم العمليات رمز المضمنة في الصفحة (وغالبا ما كتب JavaScript) ويعرض للمستخدم ما تم استرجاعه في الصفحة.
الخاصية innerHTML (أو كتابة الأمر) يمكن أن توضح للعميل طريقه عمل الصفحة:
صفحتين متميزة، ألف وباء، يمكن تجديدها كما document.innerHTML = A document.innerHTML = B ؛ أو «على دينامية تحميل» من document.write(A) document.write(B)
من جانب الخادم

من جانب الخادم المحتوى غير الثابت هو أكثر تعقيدا.
يرسل العميل الملقم الطلب.
الملقم يتلقى الطلب والعمليات خادم نصي من جانب مثل بي إتش بي استنادا إلى سلسلة الاستعلام، المتشعب الوظائف البيانات، الكوكيز، الخ.
الجمع بين العميل والخادم

ajax (Asynchronous JavaScript and XML (هو أحدث تطوير تقنية الشبكة العالمية للمحتوى حيوي تتبادل مع جانب الخادم، دون إعادة تحميل صفحة الويب. خرائط جوجل هو مثال على تطبيق ويب الذي يستخدم تقنيات ajax)) وقاعدة البيانات.
التاريخ

مفهوم دقيق له معنى إلا بعد التنمية «على نطاق واسع من صفحات الويب». السياق وتواريخ «بدايات شبكة الإنترنت»:
خدمة) (httpالتي تم فيها استخدام الإنترنت من قبل منذ عام 1990، ((html، وفقا لمعايير، منذ عام 1996.
متصفح بدأ مع عام 1993
خادم صفحات الويب غير الثابتة

الصفحة غير الثابتة الجيل الصفحة كان ممكنا من خلال واجهة العبارة العامة ومستقرة في عام 1993.
ثم خادم جانبية تشمل أشار بطريقة أكثر مباشرة للتعامل مع خادم البرامج النصية من جانب، وبناء على خادم الويب
العميل

أول «المستخدمة على نطاق واسع» نسخة من ((java كان عام 1996.
انظر أيضا

إيه إس بي دوت نت
بي اتش بي
لغه البريل
وصلات خارجية

بوابة إنترنت
بوابة تقانة المعلومات
بوابة علم الحاسوب
ماك أو إس إكس ليون

ماك أو إس إكس ليون
الشعار
| 0 | 1 |
| --- | --- |
نوع:  نظام تشغيل  ماك أو إس  UNIX 03 (mul)  
سمي باسم:  أسد 
المنصة:  إكس86-64 
المطورون:  أبل 
| 0 | 1 |
| --- | --- |
العائلة:  ماك أو إس 
طريقة التحديث:  تحديث برنامج أبل 
أدوات الواجهة أو إطار العمل:  أكوا 
الإصدار الأول:   20 يوليو 2011   
الإصدار الأخير:   10.7.5  (4 أكتوبر 2012) 
الرخصة:  ترخيص مصدر عام من Apple 
| 0 | 1 |
| --- | --- |
مأخوذ عن:  داروين (نظام تشغيل) 
ماك أو إس إكس سنو ليوبارد ماك أو إس إكس ماونتين ليون : ماك أو إس إكس سنو ليوبارد ماك أو إس إكس ماونتين ليون 
تعديل - تعديل مصدري - تعديل ويكي بيانات
ماك أو إس إكس ليون (بالإنجليزية: Mac OS X Lion)‏ (الإصدار 10.7 ؛ يتم تسويقه كـ Mac OS X 10.7 Lion) هو الإصدار الثامن الرئيسي لنظام التشغيل ماك أوس أكس (المسمى الآن ماك أوس)، ونظام تشغيل سطح المكتب وخادم أبل لأجهزة كمبيوتر ماكنتوش.
تم عرض معاينة لـ Mac OS X 10.7 Lion بشكل علني في حدث أبل الخاص "Back to the Mac" في 20 أكتوبر 2010. جلبت العديد من التطورات التي تم إجراؤها على نظام التشغيل آي أو أكس من أبل، مثل عرض للتطبيقات المثبتة بسهولة، لنظام ماك، وتتضمن دعمًا لمتجر برامج الماك، كما تم تقديمه في إصدار ماك أو إس إكس سنو ليوبارد 10.6.6. في 24 شباط 2011، تم عرض معاينة المطور الأول ليون (11A390) للمشتركين في برنامج مطورو آبل. تم أطلق النظام للتصنيع في 1 يوليو 2011. تليها إطلاقها النهائي عبر متجر ماك آب في 20 يوليو 2011. أبل ذكرت أكثر من مليون مبيع في اليوم الأول من صدوره. اعتبارا من أكتوبر 2011، باعت ماك أو إس إكس ليون أكثر من ستة ملايين نسخة في جميع أنحاء العالم.
مراجع

↑  "Mac OS X Lion Available Today From the Mac App Store". Apple Newsroom (بالإنجليزية الأمريكية). Archived from the original on 2018-07-10. Retrieved 2018-06-11.
↑  "Apple - OS X Lion - The world's most advanced OS". 29 يوليو 2011. مؤرشف من الأصل في 2016-01-01. اطلع عليه بتاريخ 2018-06-11.{{استشهاد ويب}}:  صيانة الاستشهاد: BOT: original URL status unknown (link)
1 2  "USA TODAY: Latest World and US News  - USATODAY.com". USA TODAY (بالإنجليزية). Archived from the original on 2019-05-20. Retrieved 2018-06-11.
↑  "Apple unveils new MacBook Airs, previews Lion". CNET (بالإنجليزية). 20 Oct 2010. Archived from the original on 2017-12-01. Retrieved 2018-06-11.
↑  "Apple Seeds First Mac OS X 10.7 Lion Build 11A390". iPhone in Canada Blog (بالإنجليزية الأمريكية). 26 Feb 2011. Archived from the original on 2017-06-30. Retrieved 2018-06-11.
↑  "OS X Lion Golden Master seeded to developers ahead of July launch". 9to5Mac (بالإنجليزية الأمريكية). 1 Jul 2011. Archived from the original on 2016-10-28. Retrieved 2018-06-11.
↑  "Apple's Lion roars onto computers with 1 million downloads in a day - Gadgets and Tech - Life and Style - The Independent". مؤرشف من الأصل في 25 سبتمبر 2015. اطلع عليه بتاريخ أغسطس 2020. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (مساعدة)
| ع ن برمجيات أبل | ع ن برمجيات أبل |
| --- | --- |
أنظمة تشغيل:  داروين  آي أو إس تاريخ الإصدارات  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  ماك أوس النسخة التجريبية  "10.0"  "10.1"  "10.2"  "10.3"  "تيجر"  "ليوبارد"  "سنو ليوبارد"  "ليون"  "ماونتين ليون"  "مافريكس"  "يوسيميتي"  "إل كابيتان"  "سييرا"  "هاي سييرا"  "موهافي"  "كاتالينا"  "بيغ سور"  "مونتيري"  "إس فينتورا"  "سونوما"  "سيكويا"  تي في أو إس  ووتش أو إس 
للاستهلاك:  آي بوكس آوثر  آي كلاود  آيلايف آي موفي  غاراج باند  آي وورك كي نوت  بيجيز  نامبرز 
احترافية:  فايل ماكر  فاينال كات استيديو فاينال كات برو اكس  موشين  كومبريسر  لوجيك استيديو لوجيك برو  ‏  مينستيج 
حزم:  التقويم  آي تيونز التاريخ  البريد  الرسائل  فوتو بوث  الصور  كويك تايم  سفاري التاريخ  تيكست إديت 
خوادم:  أبل ريموت ديسكتوب  ماك أو إس إكس سيرفر  ويب أوبجيكت  أكس سان 
مطورة:  داش كود  الأدوات  انترفيرنس بيلدر  كوارتز كومبرسور  إكس كود  أي أيه دي بروديوسر 
متوقفة:  .Mac  Aperture  AppleWorks  Bento  ماك أو إس الكلاسيكي System 1  6  7  ‏  8  9  Color  DVD Studio Pro  Final Cut Express  Front Row  هايبر كارد  iChat  iDVD  iPhoto  iWeb  Logic Express  MacDraw  ماك بينت (برنامج)  MacProject  MacTerminal  MacWrite  موبايل مي  ResEdit  Shake  Soundtrack Pro 
| 0 | 1 |
| --- | --- |
ضبط استنادي: وطنية :  الملف الاستنادي المتكامِل (GND)  قاعدة البيانات الوطنية التشيكية (NLCR AUT) 
بوابة أبل
بوابة برمجيات
بوابة عقد 2000
فاميلير لينكس

فاميلير لينكس
| 0 | 1 |
| --- | --- |
نوع:  توزيعة لينكس 
النموذج المصدري:  حقوق التأليف والنشر محفوظة 
موقع الويب:  familiar.handhelds.org 
| 0 | 1 |
| --- | --- |
الإصدار الأول:   مايو 2000   
الإصدار الأخير:   0.8.4 
الرخصة:  رخصة جنو العمومية 
| 0 | 1 |
| --- | --- |
مأخوذ عن:  دبيان 
تعديل - تعديل مصدري - تعديل ويكي بيانات
فاميلير لينكس هي توزيعة لينكس ملغية لأجهزة آي‌باك والأجهزة المحمولة الأخرى.
قائمة الهجمات الصاروخية الفلسطينية على إسرائيل 2016

فيما يلي قائمة بهجمات الصواريخ وقذائف الهاون على إسرائيل في عام 2016.. انطلقت جميع الهجمات من قطاع غزة ما لم يذكر خلاف ذلك.
في أغسطس 2014، انتهت الحرب على غزة 2014 بعد إطلاق 4594 صاروخًا وقذيفة هاون باتجاه إسرائيل. منذ نهاية العملية دخل حيز التنفيذ وقف غير رسمي لإطلاق النار بين إسرائيل وحماس.
يناير

1 يناير
حوالي الساعة 11 مساءً، أُطلقت خمسة صواريخ من غزة على إسرائيل. سقط صاروخان داخل إسرائيل في مناطق مفتوحة في مجلس شاعر هنيغف الإقليمي. وسقط الثلاثة الآخرون في غزة.
24 يناير
حوالي الساعة 9 مساءً، أطلق صاروخ واحد من غزة باتجاه إسرائيل. سقط الصاروخ داخل إسرائيل في منطقة مكشوفة في مجلس شاعر هنيغف الإقليمي.
فبراير

لم تكن هناك هجمات صاروخية فلسطينية على إسرائيل في فبراير.
مارس

11 مارس
حوالي الساعة 10:30 مساءً، أُطلقت 4 صواريخ من غزة على إسرائيل. سقطت جميع الصواريخ في منطقة مفتوحة في مجلس شاعر هنيغف الإقليمي.
14 مارس
حوالي الساعة 11:40 مساءً، أُطلق صاروخ واحد من غزة باتجاه إسرائيل. سقط الصاروخ في منطقة مكشوفة في مجلس شاعر هنيغف الإقليمي.
أبريل

لم تكن هناك هجمات صاروخية فلسطينية على إسرائيل في أبريل.
مايو

7 مايو
إطلاق صاروخ واحد من غزة باتجاه إسرائيل. سقط الصاروخ على مجلس إشكول الإقليمي دون إصابات أو أضرار. جاء الهجوم بعد ثلاثة أيام من الاشتباكات بالقرب من الحدود بين حماس وإسرائيل.
25 مايو
قرابة الساعة 11 مساءً، أُطلق صاروخ واحد من غزة باتجاه إسرائيل. سقط الصاروخ على مجلس شاعر هنيغف الإقليمي دون إصابات أو أضرار. وأعلنت جماعة أجناد بيت المقدس مسؤوليتها عن الهجوم.
يونيو

لم تكن هناك هجمات صاروخية فلسطينية على إسرائيل في يونيو.
يوليو

1 يوليو
قرابة الساعة 11 مساءً، أُطلق صاروخان من غزة باتجاه إسرائيل. سقط صاروخ واحد في مدرسة تمهيدية خالية في سديروت مما تسبب في أضرار جسيمة للمبنى. ولم ترد أنباء عن وقوع إصابات مباشرة. وسقط الصاروخ الثاني في منطقة مفتوحة.
أغسطس

21 أغسطس
حوالي الساعة 2:25 مساءً، أُطلق صاروخ واحد من غزة باتجاه إسرائيل. سقط الصاروخ في سديروت بين منزلين. لم يتم الإبلاغ عن وقوع إصابات.
انظر أيضا

الهجمات الصاروخية لتنظيم الدولة الإسلامية على تركيا (2016)