moaminsharifi/fa-wiki-spell-checker huggingface dataset:
موتورهای یونیورسال همچنین اساس موتورهای ریلی در راه‌های ریلی الکتریکی شکل دادند. در این کاربرد استفاده از جریان متناوب برای راه اندازی موتوری که برای کار با ولتاژ جریان مستقیم از اول طراحی شده‌است منجر به کاهش بازده به خاطر اثر گرمایش جریان ادی بر روی قطعات مغناطیسی است. به خصوص که قطعات قطب موتور جریان مستقیم آهنی و یکپارچه است. اگر چه که اثرات گرما با استفاده از ساختار لایه ای برای قطب‌ها کم می‌شود همان‌طور که برای ترانسفورماتورها استفاده می‌شود و همچنین استفاده از ماده مرغوب استیل برای رسانایی بهتر در مغناطیس ولی یکی از راهکارها در اوایل قرن بیستم این بود که موتورها را در با منبع متناوب با فرکانس بسیار پایین راه اندازی کنند. حدود ۲٫۳ هرتز این عمل عمومیت داشت.
استارت موتورهای درون‌سوز معمولاً موتورهای یونیورسال بود با این مزیت که که کوچک بودند با گشتاور بسیار بالا در سرعت پایین. بعضی از استارترها یک آهنربای دایمی داشتند بقیه دارای یکی از ۴ قطب شیار با سیم‌پیچی موازی بودند به جای سیم‌پیچی سری.
الیهو آدامز ( ; – ) فرد نظامی اهل ایالات متحده آمریکا بود؛ که به عنوان سرباز ارتش قاره‌ای در جنگ‌های استقلال آمریکا در تاریخ انقلاب این کشور نقش داشت.
الیهو آدامز در برینتری، ماساچوست متولد شد و پدرش جان آدامز سینیور و مادرش سوزانا بویلستون بود و برادر بزرگترش جان آدامز دومین رئیس‌جمهور ایالات متحده آمریکا شد و برادر دیگرش پیتر بویلستون آدامز که هنگام انقلاب آمریکا به عنوان یک کاپیتان ارتش خدمت کرد.Elihu Adams Family Tree الیهو آدامز در هنگام محاصره بوستون کاپیتان مؤسسه داوطلبان برینتری بود یعنی داوطلبانی که تعهد می‌کردند ظرف یک دقیقه پس از فراخوانی در(جنگ‌های استقلال آمریکا) آمادهٔ حرکت شوند.John Adams (1768 - 1835) - Find A Grave Memorial او در ۱۷۷۵ در نبردهای لکسینگتون و کنکورد شرکت داشت و در ۱۰ اوت ۱۷۷۵ بر اثر ابتلاء به اسهال خونی در سن ۳۴ سالگی درگذشت.
ماگور یک آبخوست و منطقه شهرداری در ایالت چوک کشور ایالات فدرال میکرونزی است.
ویلیام توماس کاسگریو (; زاده – درگذشته ) سیاست‌مدار اهل ایرلند بود. او به عنوان رئیس‌جمهور (دِیل اِیرُون) از سپتامبر تا دسامبر ۱۹۲۲ خدمت کرد. همچنین وی اولین رئیس منتخب دولت آزاد ایرلند بود.
ویلیام مایکل کاسگریو (؛ زادهٔ ۱۳ آوریل ۱۹۲۰ – درگذشتهٔ ۴ اکتبر ۲۰۱۷) یک سیاست‌مدار اهل ایرلند بود.
او پسر ویلیام توماس کاسگریو اولین رئیس منتخب دولت آزاد ایرلند بود.
سیلور کریک (به انگلیسی: Silver Creek) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان رایت، مینه‌سوتا واقع شده‌است. سیلور کریک ۲۵۶ نفر جمعیت دارد و ۳۰۲٫۰۶ متر بالاتر از سطح دریا واقع شده‌است.
منطقه کلان‌شهری ساراسوتا (به انگلیسی: Sarasota metropolitan area) یک منطقه کلان‌شهری در ایالات متحده آمریکا است که در نورث پورت، فلوریدا واقع شده‌است. منطقه کلان‌شهری ساراسوتا ۷۰۲٬۲۸۱ نفر جمعیت دارد.
اونزبرو (به انگلیسی: Owensboro) یک منطقه کلان‌شهری در ایالات متحده آمریکا است. اونزبرو ۱۱۴٬۷۵۲ نفر جمعیت دارد.
مودنا (به انگلیسی: Modena) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان آیرون، یوتا واقع شده‌است. مودنا ۱٬۶۶۹٫۱۱ متر بالاتر از سطح دریا واقع شده‌است.
جنی لیند (به انگلیسی: Jenny Lind) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان کالاوراس، کالیفرنیا واقع شده‌است. جنی لیند ۷۷ متر بالاتر از سطح دریا واقع شده‌است.
لیبرتی (به انگلیسی: Liberty) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان پاتنم، ویرجینیای غربی واقع شده‌است.
مریت (به انگلیسی: Merit) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان هانت، تگزاس واقع شده‌است.
میبل (به انگلیسی: Mabel) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان لین، اورگن واقع شده‌است. میبل ۱۸۵٫۹۳ متر بالاتر از سطح دریا واقع شده‌است.
جیمیسون (به انگلیسی: Jamieson) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان مالهور، اورگن واقع شده‌است. جیمیسون ۷۶۲٫۰۱ متر بالاتر از سطح دریا واقع شده‌است.
لیک (به انگلیسی: Lake) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان نورث‌آمبرلند، ویرجینیا واقع شده‌است.
نیو پرینستون (به انگلیسی: New Princeton) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان هارنی، اورگن واقع شده‌است. نیو پرینستون ۱٬۲۵۳٫۰۵ متر بالاتر از سطح دریا واقع شده‌است.
بیل (به انگلیسی: Bill) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان کانورس، وایومینگ واقع شده‌است.
هندرسون (به انگلیسی: Henderson) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان آدامز، کلرادو واقع شده‌است. هندرسون ۱٬۵۳۱ متر بالاتر از سطح دریا واقع شده‌است.
مونرو (به انگلیسی: Monroe) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در لارمای تاونشیپ واقع شده‌است. منرو ۲۴۰ متر بالاتر از سطح دریا واقع شده‌است.
هومرویل (به انگلیسی: Homerville) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان مدینا، اوهایو واقع شده‌است.
لمینگتون (به انگلیسی: Lamington) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در بدمینستر، نیوجرسی واقع شده‌است.
ماکوپین (به انگلیسی: Macopin) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در میلفورد غربی، نیوجرسی واقع شده‌است. ماکوپین ۳۰۶ متر بالاتر از سطح دریا واقع شده‌است.
مارلبورو (به انگلیسی: Marlboro) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان فردریک، ویرجینیا واقع شده‌است.
مون‌پلیه () جیمز مدیسون مونپلیه در شهرستان اورنج، ویرجینا واقع است و مزرعه خانوادگی خانواده مدیسون منجمله خانه شخصی جیمز مدیسون چهارمین رئیس‌جمهور ایالات متحده آمریکا و همسرش دولی است. این مکان در مساحتی به میران ۲٫۶۵۰ هکتار یا ۱۰٫۷ کیلومتر مربع است و هفته روز هفته برای دیدار بازدیدکنندگان باز است؛ و به لحاظ تاریخی مونپلیه جزو آثار تارخی به ثبت رسیده‌است.
اللاهون (به عربی: اللاهون) یک منطقهٔ مسکونی در مصر است که در استان فیوم واقع شده‌است. براساس آمارگیری سال ۲۰۰۶ جمعیت این روستا به‌طور کلی و رویهم رفته ۱۵۳۰۶ نفر بوده‌است، از این میزان ۷۹۶۷ نفر مرد و ۷۳۳۹ نفر زن بوده‌است.
در این روستا یک هرم وجود دارد که آن را سنوسرت دوم یکی از پادشاهان خاندان دوازدهم سلطنت بنا نموده‌است. این ساختمان (هرم) از خشتهای پخته شده (آجر) ساخته شده‌است که با سنگ‌های جلا داده شده پوشانده شده‌است، ارتفاع این هرم بالغ بر ۴۸ متر و طول قاعده آن ۱۰۶ متر می‌باشد، ورودی این هرم در سمت جنوبی هرم قرار دارد و در ۲۲ کیلومتری شهر فیوم است، این ساختمان بر روی یک بلندی و برآمدگی به ارتفاع ۱۲ متر ساخته شده‌است. درب این هرم توسط دانشمند انگلیسی فلندرز پتری در سال ۱۸۸۹ باز شد، وی در این هرم توانست به یک نگین طلایی منحصر به فرد دست پید آکند که در ایام قدیم بربالای تاج پادشاه قرار می‌گرفت و الان این نگین در موزه مصر نگهداری می‌شود، وی همچنین مقبره شاهزاده «سات حاتحور» را در کنار این هرم کشف نمود. همچنین گنجینه‌های این شاهزاده در موزه مصر نگهداری می‌گردد.
در نزدیکی این هرم مقبره مهندس هرم (انبی) قرار دارد و در سمت جنوب آن تعداد ۹ ساختمان کم ارتفاع قرار دارد که این بناها مقبره‌های خاندان سلطنتی می‌باشند منجمله مقبره «سات حاتحورات ایونت».
در اطراف، «هرم سنوسرت» دوم قرار دارد، این مکان یکی از قدیمی‌ترین اماکن در مصر می‌باشد که هنوز آثار تاریخی آن باقیمانده و واضح می‌باشد.
در روستای اللاهون یک مقبره قرار دارد که گفته می‌شود مربوط به مکت از خاندان دوازدهم سلطنت بوده‌است.
در فاصله ۷ کیلومتری شهر فیوم در روستای «بیهمو» دوپایه و زیربنای ساخته شده از سنگهای جلا داده شده قرار دارد، این دو را شاه «امنمحات دوم» برای قرار دادن دو مجسمه بزرگ از خودش و همسرش در حال تماشای دریاچه مویس قدیمی (قارون) هستند، ساخته‌است. ارتفاع این دو مجسه بالغ بر۳۰ متر و ارتفاع این دوپایه و زیربنا ۴ متر بوده‌است.
نسبیت (به انگلیسی: Nesbit) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان دسوتو، میسیسیپی واقع شده‌است. نسبیت ۸۵٫۰۴ متر بالاتر از سطح دریا واقع شده‌است.
نیو هوپ (به انگلیسی: New Hope) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان مورگان، ویرجینیای غربی واقع شده‌است.
تیسدیل (به انگلیسی: Tisdale) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان کاولی، کانزاس واقع شده‌است. تیسدیل ۷۷٫۹ کیلومتر مربع مساحت و ۳۴۰ نفر جمعیت دارد و ۴۰۶ متر بالاتر از سطح دریا واقع شده‌است.
لارو (به انگلیسی: La Rue) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان ساوک، ویسکانسین واقع شده‌است. لارو ۲۶۷٫۹۲ متر بالاتر از سطح دریا واقع شده‌است.
لازیر (به انگلیسی: Lazear) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان دلتا، کلرادو واقع شده‌است. لازیر ۱٬۶۵۹ متر بالاتر از سطح دریا واقع شده‌است.
مون‌پلیه (به انگلیسی: Montpelier) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان هانوفر، ویرجینیا واقع شده‌است. مونپلیه ۱۹۹٫۴۳ کیلومتر مربع مساحت و ۷٬۰۶۷ نفر جمعیت دارد و ۱۰۲٫۱۱ متر بالاتر از سطح دریا واقع شده‌است.
نورتوود (به انگلیسی: Northwood) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان لوگان، اوهایو واقع شده‌است.
نچیز تگزاس (به انگلیسی: Neches) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان اندرسون، تگزاس واقع شده‌است.
وتمور (به انگلیسی: Wetmore) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان کاستر، کلرادو واقع شده‌است. وتمور ۱٬۸۵۵ متر بالاتر از سطح دریا واقع شده‌است.
ویتلند (به انگلیسی: Wheatland) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان اکلاهما، اکلاهما واقع شده‌است.
ویلارد (به انگلیسی: Willard) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان لوگان، کلرادو واقع شده‌است. ویلارد ۱٬۳۲۲ متر بالاتر از سطح دریا واقع شده‌است.
کارپ (به انگلیسی: Carp) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان لینکلن، نوادا واقع شده‌است. کارپ ۷۸۶٫۳۹ متر بالاتر از سطح دریا واقع شده‌است.
نروژ (به انگلیسی: Norway) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرک مأموریت واقع شده‌است.
ایندیان ویلج (به انگلیسی: Indian Village) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در دیترویت واقع شده‌است.
نیوتون سنتر (به انگلیسی: Newton Centre) یک روستا در ایالات متحده آمریکا است که در ماساچوست واقع شده‌است. نیوتون سنتر ۹۱٫۴۴ متر بالاتر از سطح دریا واقع شده‌است.
ننتاکت (به انگلیسی: Nantucket) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در نانتاکت واقع شده‌است. ننتاکت ۱۰٫۰ کیلومتر مربع مساحت و ۳٬۸۳۰ نفر جمعیت دارد و ۱۳ متر بالاتر از سطح دریا واقع شده‌است.
هاسینتو (به انگلیسی: Jacinto) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان آلکورن، میسیسیپی واقع شده‌است. هاسینتو ۱۷۱ متر بالاتر از سطح دریا واقع شده‌است.
نصیر حیدریان موسیقی‌دان و رهبر ارکستر اهل ایران، که از مرداد ماه سال ۱۴۰۱ رهبر دائم ارکستر سمفونیک تهران می‌باشد.
نصیر حیدریان راستی در تهران متولد شد و اولین گام موسیقی خود را در سن شش سالگی همزمان با تحصیل در مدرسه موسیقی گذاشت و در هنرستان موسیقی مشغول به تحصیل در رشته ساز ترومبون و تئوری موسیقی شد.
وی پس از دریافت دیپلم در رشته ساز ترومبون به نوازنده در ارکستر سمفونیک تهران فعالیت خود را آغاز نمود و به مدت دو سال در کنار کار اصلی خود، به عنوان رهبر و سرپرست گروه کر ارکستر سمفونیک تهران نیز فعالیت داشت.
نصیر حیدریان سالها بعد جهت ادامه تحصیل راهی کشور اتریش شد و در دانشگاه موسیقی و هنرهای نمایشی شهر وین، رشته ساز ترومبون را زیر نظر Horst Küblböck ادامه داد و در سال ۱۹۹۱ تا ۱۹۹۷ میلادی در دانشگاه موسیقی شهر گراتز تحصیل خود را در رشته رهبری ارکستر زیر نظر استادانی همچون Martin Turnovsky,Arturo Tamayo , Wolfgang Bosic ادامه داد.
وی در سال ۱۹۹۹ موفق به دریافت جایزه Die Richard Wagner Stipendienstiftung شد و پس از اتمام تحصیل و در یافت دیپلم رهبری، سرپرستی چندین ارکستر و آنسامبل را به عهده گرفت.
وی در سال ۱۹۹۷ تا ۲۰۰۳ در اپرای شهر گراتز به عنوان رهبر ارکستر مهمان قطعات اپرایی مختلفی را رهبری نمود. همچنین اجرا در سایر شهرهای اروپا چون اجرای اپرا با ارکستر سمفونیک بازل Sinfonieorchester Basel، اجرای اپرا به عنوان دستیار بیت فورر با اپرای زوریخ Opernhaus Zürich، اپرای بن Opernhaus Bonn، ارکستر تالار بتهوون شهر بن Orchester der Beethovenhalle Bonn و ارکستر مجلسی مونیخ Münchner Kammerorchester، ارکستر جوانان ونزوئلا Youth Symphony Orchestra Venezuela، ارکستر جوانان جهان World Youth Orchestra و دستیار بیت فورر در اجرای آثار معاصر آهنگسازان اسپانیایی با آنسامبل موسیقی معاصر بارسلون و … را در کارنامه خود دارد.
وی در سال ۲۰۰۳ در اپرای شهر گراتز اپرای پر چالش و پر آوازه Puch and Judy اثرHarrison Birtwistle و همچنین قطعه Begehren اثر را به عنوان رهبر ارکستر به روی صحنه برد که این اجرا در همان سال به نوشته مجله Opernwelt «دنیای اپرا» در سال ۲۰۰۳ به عنوان بهترین اجرا در سال لقب گرفت.
وی در تابستان سال ۲۰۱۵ برای بر گزاری مسترکلاسهای رهبری عازم کشور کره شد و در مهر ماه سال ۱۳۹۴ به عنوان رهبر ارکستر میهمان به ایران دعوت شد و اپرای عاشورا اثر بهزاد عبدی را به روی صحنه برد و همچنین در آبان ماه ۱۳۹۵ به همراه ارکستر سمفونیک تهران در کشور چین در افتتاحیه جشنواره موسیقی شرکت نمود و در تیر ماه همان سال به همراه ارکستر جوانان جهان به عنوان رهبر ارکستر سمفونیک تهران از کشور ایتالیا در جشنواره موسیقی فجر به همراهی ارکستر سمفونیک تهران در تالار وحدت به روی صحنه رفت. حیدریان بهمن ماه ۱۳۹۷ در سی و چهارمین جشنواره موسیقی فجر به عنوان رهبر مهمان با ارکستر رتوریک به روی صحنه رفت و اردیبهشت ماه ۱۳۹۸کنسرتو ساکسوفون اریک لارسون را با همراهی گرالد پرین فالک (سولیست ساکسوفون اهل اتریش) و سمفونی شماره سه مندلسون را به عنوان رهبر مهمان با ارکستر سمفونیک تهران اجرا کرد.
نصیر حیدریان از سال ۲۰۰۳ به عنوان استاد دانشگاه در رشته رهبری ارکستر در درانشگاه موسیقی و هنرهای نمایشی شهر گراتز فعالیت دارد و سرپرستی ارکسترهایی همچون ارکستر بادی، موسیقی فیلم را به عهده دارد و در کنار کار اصلی و هنری خود، مستر کلاس‌های رهبری متعددی را در کشور اتریش، کره جنوبی و ایران برگزار می‌نماید.
https://www.nassir-heidarian.at/
https://musiceiranian.ir/108032-mu-531.html
https://www.yjc.ir/fa/news/5609738/غرور-ملی-ما-را-در-چین-نجات-می‌دهد
http://www.navayefars.com/content/4531
https://www.mehrnews.com/news/2942380/علی-رهبری-را-فراری-ندهید-صداهای-آشنای-داغدار-سید-الشهدا-ع
https://www.isna.ir/news/95050107966/نوازندگان-ارکستر-جوانان-جهان-و-سمفونیک-تهران-تمرین-کردند
https://taranemusic.com/به-رهبری-نصیر-حیدریان-نخستین-تمرین-ارک/
http://www.musicema.com/node/251624
http://www.iscanews.ir/news/667119/نصیر-حیدریان:-در-انتخاب-رهبر-ارکستر-باید-سختگیرانه-عمل-کرد
کوه نانلائود با بلندا بلندترین مکان در ایالات فدرال میکرونزی و ایالت پوناپی و آبخوست پوناپی است. در نقشه‌برداری مکان‌نگاری با مقیاس ۱:۲۵,۰۰۰ سازمان زمین‌شناسی آمریکا به این کوه اشاره شده است. کوه نانلائود در بخش جنوبی آبخوست در مرز بین شمال خاوری کیتی و جنوبی‌ترین بخش نت قرار دارد. بلندترین کوه در میکرونزی کوه آگریهان با بلندا و دومین کوه بلند در این منطقه نانلائود است.
در کیلومتر جنوب خاور نانلائود کوه بلند دیگری به نام «نیگنِنی» قرار دارد. سومین کوه بلند در پوناپی، دولوموار یا تُتُلُم با متر بلندا است. دولوموار در فاصله کیلومتر امتداد کناری نیگنِنی قرار دارد.
آکچی میتسویاسو ; – ) یک سامورایی در دوره سنگوکو بود. وی به سایتو دوسان دایمیوی ولایت مینو خدمت می‌کرد. وی برادر آکچی میتسوتسونا پدر آکچی میتسوهیده بود.
دولوموار (خوانده شود "دُلُموار") با نام دیگر تُتُلُم با بلندا سومین کوه بلند در ایالات فدرال میکرونزی و ایالت پوناپی و آبخوست پوناپی است. در در فاصله شمال تا شمال باختر دولوموار، کوه نانلائود با بلندا بلندترین نقطه در این منطقه است. میان این دو کوه، کوه نیگنِنی قرار دارد که یک یا دو متر با کوه نانلائود اختلاف ارتفاع دارد. به هر سه کوه در نقشه‌برداری مکان‌نگاری با مقیاس ۱:۲۵,۰۰۰ سازمان زمین‌شناسی آمریکا به این کوه اشاره شده است.
توکی یوریسادا ; – ) یک سامورایی و شوگودایمیو در دوره کاماکورا و دوره نانبوکوچو بود. در شوگون‌سالاری آشیکاگا وی اولین فرماندار ولایت مینو بود.
ابرار حسین (۹ فوریهٔ ۱۹۶۱ – ۱۶ ژوئن ۲۰۱۱) یک بوکسور سبک‌وزن متوسط اهل پاکستان بود.
حسین نماینده ورزش بوکس پاکستان در المپیک تابستانی ۱۹۸۴، ۱۹۸۸ و ۱۹۹۲ بود. در بازی‌های جنوب آسیا ۱۹۸۵ او مدال طلا را از داکا بنگلادش برای پاکستان به‌دست‌آورد و نیز در بازی‌های آسیایی ۱۹۹۰ حسین مدال طلا را برای پاکستان به‌دست‌آورد.
حسین متولد ۹ فوریهٔ ۱۹۶۱ (میلادی) در منطقهٔ مهرآباد واقع در کویتهٔ پاکستان در یک خانوادهٔ متعلق به گروه قومی هزاره و شیعه بود.
او در روز ۱۶ ژوئن ۲۰۱۱ (میلادی) توسط دو فرد ناشناخته مسلح موتورسیکلتسوار در جنوب غرب شهر کویته پاکستان کشته شد. گفته شده‌است که دلیل قتل او تعصبات مذهبی اسلامی بوده‌است.
نانگوکو بانکِی ; یک راهب از فرقه رینزای در دوره سنگوکو بود. بنا بر فرضیه‌ها وی پسر آکچی میتسوهیده بود. در یکی از منابع وی با پسر ارشد میتسوهیده آکچی میتسویوشی یکسان در نظر گرفته شده‌است.
آکچی یوریشیگه ; – ) یک سامورایی در دوره نانبوکوچو و اوایل دوره موروماچی و ارباب قلعه آکچی در ولایت مینو بود. وی نوه توکی یوریسادا، اولین فرماندار ولایت مینو در شوگون‌سالاری آشیکاگا بود. وی سر خاندان یک شاخه از خاندان توکی بنام خاندان آکچی بود.
مری آباد یک منطقهٔ مسکونی در پاکستان است که در ناحیه کوئته واقع شده‌است. جمعیت مری آباد بنابر احصاییه ۲۰۰۶ (میلادی) ۳۵۰٬۰۰۰ است.
جوزف پلانکت (; – ) یک ناسیونالیست ایرلندی، جمهوری‌خواه، شاعر، روزنامه‌نگار، انقلابی و یک رهبر قیام عید پاک ۱۹۱۶ اهل ایرلند بود.
جورج اولیور پلانکت (؛ – ) یک جمهوریخواه و عضو سازمان داوطلبان ایرلندی بود.
او به همراه برادر بزرگترش جوزف پلانکت و برادر جوانتر او جان پس از قیام عید پاک ۱۹۱۶ به اعدام محکوم شدند، اما احکام اعدام جورج و جان لغو شد. وی در سال ۱۹۱۷ از زندان آزاد شد و در جنگ استقلال ایرلند جنگید و در جنگ جهانی دوم رئیس ستاد IRA بود.
مدیحه سالم (؛ – ) هنرپیشه اهل مصر بود.
موعد عشق () فیلمی در ژانر موزیکال به کارگردانی هنری برکات است که در سال ۱۹۵۶ منتشر شد. از بازیگران آن می‌توان به فاتن حمامه، عبدالحلیم حافظ، رشدی اباظه، و عماد حمدی اشاره کرد.
زکی رستم (؛ – ) هنرپیشه اهل مصر بود.
از فیلم‌ها یا برنامه‌های تلویزیونی که وی در آن نقش داشته‌است می‌توان به "مبارزه در دره"، "عشق و اشک‌ها" اشاره کرد.
من گذشته هستم () یک فیلم به کارگردانی عزالدین ذوالفقار است که در سال ۱۹۵۱ منتشر شد. از بازیگران آن می‌توان به فاتن حمامه، عماد حمدی، زکی رستم، و فرید شوقی اشاره کرد.
آهنگ ابدی () فیلمی در ژانر درام و رمانتیک به کارگردانی هنری برکات است که در سال ۱۹۵۲ منتشر شد. از بازیگران آن می‌توان به فاتن حمامه اشاره کرد.
شهرستان نورث‌آمبرلند (به انگلیسی: Northumberland County) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در ویرجینیا واقع شده‌است. شهرستان نورث‌آمبرلند ۷۴۰٫۷۴ کیلومتر مربع مساحت دارد.
آکواریوم () یک فیلم به کارگردانی یسری نصرالله است که در سال ۱۱۷۳ منتشر شد. از بازیگران آن می‌توان به هند صبری، عمرو واکد، و جمیل راتب اشاره کرد.
حقوق بشر در مکزیک () به اصول اخلاقی یا هنجارها اشاره دارد که استانداردهای خاصی از رفتار انسان در مکزیک را توصیف می‌کنند. مشکلات موجود عبارتند از شکنجه، قتل‌های غیرقانونی و اعدام‌های سریع، سرکوبی پلیس و اخیراً ترور خبرنگاران مطبوعات.
دیده‌بان حقوق بشر گزارش می‌دهد که از سال ۲۰۰۶ نیروهای امنیتی مکزیک سربه نیست کردن افراد را گسترش داده‌اند. همچنین گفته می‌شود که نیروهای امنیتی مکزیک قتل غیرقانونی شهروندان را به میزان قابل ملاحظه‌ای بالا برده‌اند و به‌طور گسترده‌ای از شکنجه، ضرب و شتم، القاء غرق شدگی، شوک الکتریکی و سوء استفاده جنسی به عنوان ابزارهایی برای کسب اطلاعات از قربانیان بازداشت شده، بکار می‌برند. علاوه‌براین، گزارش می‌دهد حملاتی که مقامات یا سازمانهای تبهکار به روزنامه‌نگاران مرتکب می‌شوند، آنها را مجبور به خودسانسوری می‌کند. این گزارش همچنین مشکلات مربوط به کودکان مهاجر غیرقانونی، حقوق زنان و دختران، هویت جنسیتی و حقوق معلولین را متذکر می‌شود.
در جریان مبارزه دولت با جرایم سازمان یافته مربوط به مواد مخدر، نیروهای امنیتی مرتکب تخلفات حقوق بشری شده‌اند که شامل قتل‌های غیرقانونی، ناپدید شدن افراد و شکنجه بازداشت شدگان می‌باشد. تلاش‌های محدودی برای بررسی و محاکمه این سوءاستفاده‌ها صورت گرفته‌است.
پردیس سینمایی آرامش رامسر یک سینما در شهر رامسر، ایران است.
این سینما که در مرکز خرید آرامش رامسر قرار دارد در سال ۱۳۹۶ با دو سالن تأسیس شده‌است.
نگهداری نرم‌افزار در مهندسی نرم‌افزار به معنی اصلاح یک محصول نرم‌افزاری «پس از تحویل» آن است، و هدف این فعالیت آن است که برای بهبود کارایی، و دیگر ویژگی‌های نرم‌افزار، خطاهای موجود در آن را تصحیح کند.
گرایشی از مهندسی نرم‌افزار است که شامل نگهداری و اصلاح یک محصول نرم‌افزاری پس از تحویل است به منظور تصحیح اشکالات پیش‌آمده و بهبود عملکرد یا ویژگی‌های دیگر آن نرم‌افزار.
یک دید متعارف نسبت به تعمیر و نگهداری نرم‌افزار این است که آن را صرفا شامل رفع نقصهای نرم‌افزاری بدانیم، اما یک مطالعه نشان داده‌است که بیش از ۸۰٪ از فعالیت‌های مربوط به تعمیر و نگهداری نرم‌افزار مرتبط با اقدامات اصلاحی نیست.Pigoski, Thomas M. , 1997: Practical software maintenance: Best practices for managing your software investment. این دید متعارف توسط کاربرانی که مشکلی در نرم‌افزار گزارش می‌دهند که در واقعیت بهبودهایی بر کارایی نرم‌افزار هستند تقویت می‌شود. مطالعات جدیدتر درصد فعالیت‌های مربوط به تعمیر و نگهداری نرم‌افزار که مرتبط با رفع اشکال هستند را نزدیک به ۲۱٪ گزارش کرده‌اند.Eick, S. , Graves, T. , Karr, A. , Marron, J. , and Mockus, A. 2001.
نگهداری نرم‌افزار و تکامل سیستم‌ها برای اولین بار توسط Meir M. Lehman در سال ۱۹۶۹ میلادی مورد بررسی قرار گرفت. طی یک دوره بیش از بیست ساله، تحقیقات او منجر به تدوین قوانین لیمن (لیمن ۱۹۹۷) شد. یافته‌های کلیدی تحقیقات وی شامل این است که تعمیر و نگهداری نرم‌افزار در واقع توسعه تکاملی آن است و نگهداری نرم‌افزار در واقع از درک آنچه برای سیستم (نرم‌افزار) در طول زمان اتفاق می‌افتد در تصمیم‌گیری کمک می‌گیرد. لیمن نشان داد که سیستم در طول زمان همچنان در حال تکامل است. آن‌ها در تکامل و رشد خود در طی زمان پیچیده‌تر می‌شوند مگر اینکه برخی از اقدامات مانند کد refactoring به منظور کاهش پیچیدگی صورت پذیرد.
در اواخر دهه ۱۹۷۰ یک بررسی گسترده و معروف طی یک مطالعه توسط Lientz و Swanson انجام شد که در آن از سهم زیاد هزینه‌های تعمیر و نگهداری در هزینه‌های چرخه حیات یک نرم‌افزار پرده برداشته شد. آن‌ها فعالیت‌های تعمیر و نگهداری را به چهار کلاس طبقه‌بندی کردند:
این بررسی نشان داد که حدود ۷۵٪ از فعالیت‌های تعمیر و نگهداری صرف دو نوع اول شد و اصلاح خطاها حدود ۲۱٪ از فعالیت‌های مربوط به تعمیر و نگهداری را به خود اختصاص داد. بسیاری از مطالعات بعدی نتایج مشابهی را نشان می‌دهند. مطالعات نشان می‌دهد که مشارکت کاربر نهایی بسیار مهم است و در جمع‌آوری داده‌ها و نیازمندی‌های جدید و تجزیه و تحلیل آن‌ها نقش مهمی ایفا می‌کند، و این علت اصلی هر گونه مشکل در تکامل و تعمیر و نگهداری نرم‌افزار است؛ بنابراین تعمیر و نگهداری نرم‌افزار مهم است چرا که بخش بزرگی از کل هزینه‌های چرخه حیات نرم‌افزار را به خود اختصاص می‌دهد و همچنین عدم توانایی در ایجاد تغییر در نرم‌افزار با سرعت و قابلیت اعتماد مناسب به این معنی است که فرصت‌های کسب و کار از دست می‌روند.Lientz B. , Swanson E. , 1980: Software Maintenance Management.Lehman M. M. , 1980: Program, Life-Cycles and the Laws of Software Evolution.Penny Grubb, Armstrong A. <g class="gr_ gr_35 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="35" data-gr-id="35">Takang</g>, 2003: Software Maintenance: Concepts and Practice.
کلید نگهداری نرم‌افزار توجه به مسائل مربوط به هر دو زمینه مدیریتی و فنی است. کلید مدیریت مسائل عبارتند از: هم‌ترازی و همراهی با مشتری، ایجاد اولویت‌هایی برای نیروی انسانی، برآورد صحیح هزینه‌ها. کلید حل مسائل فنی عبارتند از: برطرف کردن محدود درک، تأثیر، تحلیل، تست، نگهداری و اندازه‌گیری.
تعمیر و نگهداری نرم‌افزار فعالیت بسیار گسترده‌ای است که شامل تصحیح خطا و پیشرفت قابلیت‌های نرم‌افزار و بهینه‌سازی آن است. از آنجایی که تغییر اجتناب ناپذیر است، مکانیسم‌های مورد استفاده باید امکان ارزیابی و کنترل و ایجاد تغییرات را داشته باشند.
بنابراین هر کاری که به منظور تغییر نرم‌افزار انجام می‌شود بخشی از عملیات تعمیر و نگهداری نرم‌افزار در نظر گرفته می‌شود و هدف آن حفظ ارزش نرم‌افزار در طول زمان می‌باشد. ارزش نرم‌افزار را می‌توان با گسترش پایه مشتری (Customer Base) آن افزایش داد و این امر نیازمند تبدیل شدن نرم‌افزار به حالتی است که برای استفاده کارآمدتر باشد و فناوری‌های جدید در آن به کار گرفته شوند. تعمیر و نگهداری ممکن است در طول ۲۰ سال رخ دهد در حالی که توسعه ممکن است مجموعاً ۱–۲ سال طول بکشد.
بخشی جدایی ناپذیر از نرم‌افزارها تعمیر و نگهداری آنهاست که نیازمند تهیه برنامه‌ای دقیق برای تعمیر و نگهداری آن در طول فرایند توسعه نرم‌افزار است. باید مشخص کنید که چگونه به درخواست‌های تغییر یا گزارش مشکلات کاربران پاسخ خواهید داد. بودجه فعالیت‌ها باید شامل تخمینی از منابع مورد نیاز و هزینه‌های آتی باشد تا دچار مشکل نشویم. تعمیر و نگهداری نرم‌افزار که می‌تواند برای ۵–۶ سال (یا حتی دهه‌ها پس از فرایند توسعه نرم‌افزار) ادامه داشته باشد نیازمند یک طرح مؤثر است که بتواند دامنه کاری نرم‌افزار را تعیین کند و زمینه را برای ارائه برآوردی از هزینه‌های چرخه زندگی نرم‌افزار فراهم کند. انتخاب استانداردهای مناسب جهت به چالش کشیدن اقدامات بعدی روی نرم‌افزار از مرحله اولیه مهندسی نرم‌افزار است که از دید سهامداران نگران دارای اهمیت بسزایی است.
این بخش توصیف شش گام فرایند تعمیر و نگهداری نرم‌افزار را عنوان می‌کند:
تأثیر عوامل مؤثر کلیدی بر نگهداری (طبقه‌بندی شده به ترتیب حداکثر تأثیر مثبت به پایین)
نه تنها ماژول‌های مستعد خطا آزاردهنده و مشکل‌ساز هستند بلکه بسیاری از دیگر عوامل نیز می‌توانند موجب تنزل عملکرد بیش از پیش سیستم نیز بشوند. برای مثال "اسپاگتی کد" یک تکه کد بسیار پیچیده‌است که نگهداری مطمئن و ایمن آن کاملاً دشوار است.
یک پیش‌آمد بسیار معمول است که اغلب تنزل‌های عملکردی سیستم ناشی از عدم استفاده از ابزارهای نگهداری مناسب است همانند ابزارهای ردیابی نقص، ردیابی تغییر نرم‌افزار، نرم‌افزار مدیریت و تست نرم‌افزار. باید برای استفاده از این ابزارها اهتمام نمود.
توسعهٔ آزمون‌محور (به انگلیسی: Test-driven development) یک فرایند توسعهٔ نرم‌افزاری است که بر پایه تکرار یک سری دوره‌های خیلی کوتاه توسعه قرار دارد: ابتدا برنامه‌نویس یک مورد آزمایشی (در ابتدا دارای شکست) برای بهبود مطلوب یا ایجاد قابلیت جدید می‌نویسد، سپس کمترین مقدار تغییرات کدی را که باعث قبول شدن آزمایش می‌شود می‌نویسد، سپس کد جدید را با استانداردهای قابل قبول سازماندهی مجدد می‌کند.
یک مهندس نرم‌افزار آمریکایی به نام کنت بک، که توسعه یا «بازکشف» این روش را به وی نسبت می‌دهند، در سال ۲۰۰۳ اظهار داشت که TDD طرح‌های ساده و الهام بخش اعتماد به نفس را تشویق می‌کند.
Test-driven development مربوط به مفاهیم آزمون-برای اولین بار (test-first programming concepts) برنامه‌نویسی و شدید برنامه‌نویسی (extreme programming) است که در سال ۱۹۹۹ مطرح شد اما اخیراً علاقه بیشتری را نسبت به خود ایجاد کرده‌است.Newkirk, JW and Vorontsov, AA. "Test-Driven Development in Microsoft .NET", Microsoft Press, 2004.
برنامه نویسان همین‌طور می‌توانند این مفهوم را برای بهبود و اشکال زدایی کد میراث تهیه شده با روش‌های قدیمی تر به کار گیرند.Feathers, M. Working Effectively with Legacy Code, Prentice Hall, 2004
در این روش، نرم‌افزار به‌صورت تدریجی توسعه می‌یابد. ابتدا تست‌ها و سناریوهای آزمونی تعریف می‌شوند که بر اساس نیازمندی‌ها و اهداف مشتریان تعیین می‌شوند. سپس، با نوشتن کدی ساده که تست‌ها را برآورده کند، پروسه توسعه آغاز می‌شود. در این مرحله، کد نوشته شده تنها کافیست تا تست‌ها با موفقیت اجرا شوند و همچنین ممکن است کد اولیه به صورت موقتی باشد. سپس، با ادغام قطعات کد جدید و با تضمین عبور تست‌ها، کد قابل اجرا و نهایی تولید می‌شود. این روند تکرار می‌شود تا نرم‌افزار به صورت کامل و با تمامی ویژگی‌ها و تست‌ها توسعه یابد.
استفاده از توسعه مبتنی بر آزمون برای بهبود کیفیت و قابلیت اطمینان نرم‌افزارها و افزایش سرعت توسعه بهره‌مندی‌های قابل توجهی دارد. مطالعات و پژوهش‌های انجام شده نشان می‌دهند که استفاده از توسعه مبتنی بر آزمون منجر به کاهش خطاها، اشکالات و باگ‌های نرم‌افزار، افزایش کیفیت و عملکرد آن، کاهش هزینه‌های ناشی از خطاها و تست‌های دستی و افزایش رضایت کاربران می‌شود.
یکی از مزیت‌های توسعه مبتنی بر آزمون، امکان شناسایی و رفع مشکلات نرم‌افزار در مراحل ابتدایی توسعه است. با تعریف تست‌ها و سناریوهای آزمون، احتمال وقوع خطاها و نقص‌ها در نرم‌افزار کاهش می‌یابد و توسعه‌دهندگان قادر به شناسایی و رفع این مشکلات در مراحل زودهنگام هستند. این امر باعث می‌شود که هزینه و زمان موردنیاز برای تصحیح خطاها در مراحل بعدی توسعه کاهش یابد و در نتیجه نرم‌افزار با کیفیت‌تر و پایدارتری تحویل داده شود.
همچنین، توسعه مبتنی بر آزمون به توسعه‌دهندگان امکان می‌دهد تا روند توسعه را بهبود دهند و تغییرات در نرم‌افزار را با اطمینان و کاهش احتمال وقوع خطاها اعمال کنند. با اجرای تست‌ها در هر مرحله از توسعه، تأیید می‌شود که تغییرات و بهبودهای اعمال شده در نرم‌افزار به عنوان انتظاری که دارند عمل می‌کنند و هیچ اثر غیرمنتظره‌ای در سایر قسمت‌های نرم‌افزار ایجاد نمی‌شود.
با توجه به مزایای مذکور و مطالعات انجام شده در زمینه توسعه مبتنی بر آزمون، این روش به عنوان یک روش مؤثر در توسعه نرم‌افزار، با توجه به شواهد علمی و مزایای آن، بسیار مورد توجه قرار گرفته‌است.
چرخه توسعه آزمون محور یک فرایند توسعه نرم‌افزار است که متکی بر تکرار یک چرخه توسعه بسیار کوتاه است که طی آن نیازمندی‌ها تبدیل به موارد آزمون بسیار خاص می‌شوند و سپس نرم‌افزار به قدری بهبود بخشیده می‌شود که فقط بتواند تست‌های مطرح شده را پاس کند. این روند مخالف نحوه توسعه سنتی نرم‌افزار است که اجازه می‌دهد تا بخش‌هایی به نرم‌افزار اضافه شود که هنوز تست‌های لازم را نگذرانده‌است و سپس آن بخش‌های جدید را تست می‌کند.
توسعه آزمون محور، بر مبنای نوشتن آزمون (Test) برای نرم‌افزار بر اساس نیازمندی‌ها (requirements) قبل از نوشتن برنامه شکل گرفته‌است. در این فرایند هدف توسعه دهنده معطوف به گذراندن این تست‌ها می‌شود. ابتدا چون برنامه خالی است، تمامی آزمون‌ها باید با عدم موفقیت رو به رو شوند، اما برنامه‌نویس گام به گام برای هر ویژگی (feature) این آزمون‌ها را پشت سر می‌گذارد که اگر در هر مرحله موفقیت‌آمیز نبود، بازمی‌گردد و کد را دیباگ می‌کند.
البته باید توجه داشت که در متدولوژی TDD علاوه بر آزمون‌های گام به گام نیازمند آزمون‌های موازی مستقل نیز هستیم.
چرخه کلی روش توسعه آزمون محور شامل گام‌هایی به ترتیب زیر است که بر اساس کتاب "Test-Driven Development by Example" نوشته شده‌است:Beck, K. Test-Driven Development by Example, Addison Wesley - Vaseem, 2003
در روش توسعه آزمون محور هر ویژگی جدید با افزودن یک تست شروع می‌شود. طبیعی است این تست باید طوری طراحی شود که تنها با افزوده شدن صحیح و کامل ویژگی جدید مطلوب پاس شود.
در این مرحله قصد داریم مطمئن شویم تست جدیدی که افزودیم خطا بدهد، وگرنه با افزودن کد جدید امکان اینکه چک شود ویژگی جدید واقعاً به درستی افزوده شده‌است یا خیر وجود نخواهد داشت.
در این گام تنها کد اضافه ای که نیاز هست تا تست جدید پاس شود را می‌نویسیم و به زیاده روی در توسعه نمی‌پردازیم.
این بار اگر تمام تست‌ها پاس شوند مطمئن می‌شویم که تمام ویژگی‌های قبلی به درستی کار می‌کنند و علاوه بر آن ویژگی جدید نیز به‌طور صحیح اضافه شده‌است.
روشن است که کد کل برنامه باید هر چند وقت یک بار تمیز و مرتب شود تا از ایجاد کد کثیف اجتناب شود و امکان بهبود مناسب و سریع در آینده فراهم باشد. در این گام قصد داریم دقیقاً همین کار را انجام دهیم. در این گام به‌طور ویژه لازم است به ملاحظات توسعه همانند رعایت وراثت و خوانایی و امکان نگهداری مناسب کد و الگوهای طراحی برنامه توجه داشته باشیم.
برای هر ویژگی جدید گام‌های فوق را تکرار می‌کنیم.
TDD که در بین برنامه‌نویسان به دلیل توانایی خود در افزایش بهره‌وری، کیفیت نرم‌افزار و قابلیت نگهداری شهرت دارد، بر سه اصل اساسی بنا شده‌است. این اصول شامل مفاهیم Test-First، توسعه incremental و تست مکرر است.
روش Test-First: در TDD، تست‌ها نقشی محوری در سراسر فرایند توسعه دارند. آن‌ها به عنوان ناوبر عمل می‌کنند و کل سفر را هدایت می‌کنند. هر چرخه توسعه با ایجاد یک تست که عملکرد مورد نظر را تعریف می‌کند، آغاز می‌شود. TDD از چارچوب‌های تست خودکار استفاده می‌کند و آزمایش را در هر زمان معین تسهیل می‌کند. این امکان بازخورد دقیق و سریع در مورد رفتار برنامه را فراهم می‌کند.
توسعه incremental: با پذیرش توسعه incremental، پروژه‌ها به‌طور طبیعی به اجزای کوچک‌تر و قابل مدیریت‌تر تقسیم می‌شوند. این رویکرد تمرکز برنامه‌نویس را بر روی مشکل در دست، افزایش می‌دهد و در عین حال فرصت‌هایی را برای برنامه‌ریزی بهتر و توسعه برتر فراهم می‌کند.
تست مکرر: تست مکرر بازخورد ارزشمندی را در رابطه با نیازمندی‌های اجرا شده به برنامه‌نویسان ارائه می‌دهد. این به تشخیص زودهنگام عیوب کمک می‌کند و احتمال انتشار آن‌ها را کاهش می‌دهد. در نهایت، این مورد، منجر به افزایش سطح کیفیت و بهره‌وری می‌شود.
TDD با دریافت بازخورد سریع از طریق تست، به نوشتن کد تمیز برای پیاده‌سازی یک نیازمندی کمک می‌کند. برای توسعهٔ مبتنی بر آزمون دو قانون تعریف شده‌است:
۱- همیشه فقط در صورت شکست یک تست، برای آن کد بنویسید: این قانون بر اهمیت نوشتن یک تست شکست‌خورده قبل از پیاده‌سازی هر عملکرد جدید یا ایجاد تغییرات در کد موجود تأکید می‌کند. ایده این است که با ایجاد یک مورد آزمون (test case) شروع کنید که رفتار یا ویژگی مورد نظری که می‌خواهید پیاده‌سازی کنید را تعریف می‌کند. از آن‌جایی که شما هنوز هیچ کدی ننوشته‌اید، تست با شکست مواجه خواهد شد. این موضوع، تضمین می‌کند که شما یک هدف مشخص و دقیق برای پیاده‌سازی دارید.
با پیروی از این قانون، یک حلقه بازخورد ایجاد می‌کنید که در آن به‌طور مداوم تلاش می‌کنید تا با نوشتن حداقل مقدار کد لازم، تست شکست‌خورده را پاس کنید. پس از گذراندن تست، می‌توانید به مورد آزمون بعدی بروید یا کد خود را با اطمینان خاطر بازآرایی کنید و بدانید که هیچ مشکل جانبی ناخواسته‌ای برای خود ایجاد نکرده‌اید.
۲- همیشه تکراری را حذف کنید: این قانون توسعه‌دهندگان را تشویق می‌کند تا هر گونه افزونگی یا تکرار را در پایگاه کد خود حذف کنند. هنگامی که متوجه الگوهای تکراری یا منطق مشابه در تست‌ها یا کد تولیدی خود می‌شوید، استخراج و انتزاع آن‌ها به اجزا یا توابع reusable، مهم است.
تکرار در کد می‌تواند منجر به مشکلات متعددی شود، مانند افزایش تلاش برای حفاظت و نگهداری، احتمال بیش‌تر وجود خطاها و کاهش خوانایی کد. با حذف موارد تکراری، طراحی و ساختار کلی پایگاه کد خود را بهبود می‌بخشید و آن را قابل نگهداری، خواناتر و مستعد به خطای کم‌تری می‌کنید. اعمال این قانون نه تنها به حذف تکرار در یک تست یا فایل کد، بلکه به شناسایی الگوهای رایج در چندین تست یا ماژول نیز گسترش می‌یابد.
این دو قانون با هم کار می‌کنند تا فرایند توسعه را در TDD هدایت کنند. با تمرکز بر نوشتن تست‌های شکست‌خورده، ابتدا مطمئن می‌شوید که کد شما نیازمندی‌های مورد نظر را برآورده می‌کند. به‌طور هم‌زمان، با حذف تکراری‌ها، پایگاه کد خود را قابل مدیریت‌تر و قابل درک‌تر می‌کنید که منجر به توسعهٔ بهتر می‌شود.
با توجه به این دو قانون، توسعهٔ مبتنی بر آزمون را می‌توان به عنوان یک مدل توسعهٔ iterative تعریف کرد که در آن برنامه‌نویس موارد آزمون را قبل از نوشتن کد با استفاده از نیازمندی‌ها استخراج می‌کند. سپس کدی برای افزایش عملکردی کوچک نوشته می‌شود تا در تست پاس شود و در صورت شکست تست، کد می‌تواند به‌طور مکرر برای افزایش کیفیت و طراحی مجدداً تغییر داده شود.
یک مطالعه در سال ۲۰۰۵ به این نتیجه رسید که استفاده از روش توسعه آزمون محور به معنی نوشتن تعداد بیشتری تست هست و برنامه‌نویسانی که تعداد بیشتری تست می‌نویسند (برخلاف تصور عموم) بازدهی بیشتری دارند. همین‌طور برنامه‌نویسانی که از روش توسعه آزمون محور بهره می‌بردند گزارش کردند که به تعداد دفعات کمتری نیاز به استفاده از Debugger در کار خود داشتند، که این امر به نوبه خود موجب بهبود و افزایش بهره‌وری آنها می‌شود. چنین کاهشی در تعداد دفعات نیاز به استفاده از Debugger طبیعی به نظر می‌رسد، چرا که هر گام از توسعه و هر ویژگی جدیدی که به برنامه افزوده می‌شود خود همراه با تست در محل می‌باشد و تا زمانی که تست مربوطه و تمام تست‌های پیشین برنامه پاس نشوند به مرحله بعد نمی‌رویم. همین‌طور گزارش شده‌است که در روش توسعه آزمون محور هرگاه به خطایی برخورد کنیم معمولاً بازگشت به آخرین نسخه بدون خطا و شروع مجدد کار بهینه تر از استفاده از Debugger است که این امر عملاً نیاز به دیباگ کردن کد و هزینه‌های مالی و زمانی نگهداری و تعمیر کد را کاهش می‌دهد.
از ویژگی‌ها و مزیت‌های دیگر این متدولوژی می‌توان موارد زیر را نام برد:
این فرایند باعث می‌شود قبل از نوشتن برنامه، به جنبه‌های مختلف نیازمندی‌ها فکر کنیم و مواردی که روش‌های موجود می‌توانند شکست بخورند را بررسی کرده و در داخل آزمون‌ها در نظر بگیریم.
برنامه‌نویس هدف خود را با داشتن آزمون‌ها به روشنی می‌داند و می‌توانند صرفاً با تمرکز بر روی همین آزمون‌ها، از یک هدف و نیازمندی مبهم خود را دور کند.
ممکن است TDD در ابتدا پرهزینه به نظر بیاید، اما به دلیل این که فرایند آزمون مرحله به مرحله و برای بخش‌های مختلف برنامه و بر اساس نیازمندی‌های مورد نیاز است، احتمال وارد شدن هزینه سنگینی که به خاطر عدم تطابق برنامه با نیازها پرداخت خواهد شد کاهش میابد
در بسیاری از موارد پیش آماده که برنامه را کامل نوشتیم و بعد به آزمون آن پرداختیم و به اشکالی برخوردیم، ولی چون از سر منشأ مشکلات به صورت دقیق آگاه نبودیم، نتوانستیم آن‌ها را رفع کنیم. توسعه آزمون محور این مسئله را نیز برای ما برطرف می‌کند.
اگر از عملکرد تابعی در برنامه اطمینان نداشته باشیم، می‌توانیم با بررسی آزمون مربوط به آن تابع و پاسخ مد نظر، شهودی از رفتار مورد انتظار آن تابع داشته باشیم.
با توجه به این که از رفتار تابع‌ها به صورت مجزا می‌توان اطمینان یافت، می‌توان refactoring را به صورت آنی‌تری انجام داد، همچنین سطح‌های دسترسی توابع (خصوصی و عمومی) را پس از اطمینان از صحت درستی به صورت درجا مشخص کنیم و مجبور نشویم برای تست یک تابع در توابع دیگر این سطح دسترسی‌ها را تغییر دهیم. استفاده از TDD منجر به نوشتن کدی می‌شود که تضمین می‌کند که هر بخش از کد، انجام وظایف خود را با دقت و صحت بالا انجام می‌دهد. این روش کمک شایانی می‌کند تا با اعتماد بیشتر به کدی که نوشته‌شده‌است، بتوانید آن را بهبود دهید. مخصوصاً از آن‌جا که شما در ابتدا کدی می‌نویسید که تست را پاس کند و سپس آن را refactor می‌کنید، مطمئن خواهید بود که کد شما شامل قسمت‌هایی که اضافه باشند و نیاز نشوند، نمی‌باشد و همچنین کد شما بهینه و مرتب و منطبق بر اصول clean code می‌باشد.
با استفاده از TDD از آن‌جا که از مراحل ابتدایی تست‌ها نوشته می‌شوند، خطاها در مراحل بسیار زودتری شناخته می‌شوند و در مراحل زودتری معمولاً حل می‌شوند. این کار باعث می‌شود که نیاز به صرف زمان و هزینه برای رفع خطاهای بزرگ در مراحل بعدی کاهش می‌یابد. این به معنی صرفه‌جویی در زمان و منابع می‌باشد و سرعت توسعهٔ محصول نیز در این حالات نسبت به حالت عادی که زمان زیادی را برای دیباگ کردن صرف می‌کنیم به‌طور قابل توجهی بیشتر می‌شود.
با استفاده از TDD از آن‌جا که برای هر فیچری شما تست دارید، پس درصد بخشی از کد که به وسیلهٔ تست‌ها پوشش داده می‌شوند و تست می‌شوند بیشتر از سایر متودولوژی‌ها می‌باشد. همچنین از آن‌جا که برنامهٔ ما با unit testهای مختلف یا به‌طور کلی آزمون‌های مختلفی سنجیده می‌شود، می‌توانیم اطمینان خوبی از عملکرد آن داشته باشیم.
در شرایط پذیرش و استفاده در صنعت، موانع فنی زیادی در هنگام پیاده‌سازی وجود دارد علاوه بر این که درک کامل این که چگونه باید آن را به کار گرفت، مشکل است و برداشت‌های متفاوتی از آن میان افراد مختلف وجود دارد؛ بنابراین، استفاده عملی از آن بسیار کم است که می‌توان آن را به عنوان یکی از معایب TDD دید. طبق بررسی‌ها تنها ۱۲ درصد از TDD به روش صحیح استفاده می‌کنند. احتمالاً با دستورعمل‌هایی که نحوهٔ درست پیاده‌سازی را پیشنهاد می‌دهند و افزایش دانش صنعت، بتوان این مورد را کمی بهبود بخشید.
TDD ممکن است باعث کاهش سرعت توسعهٔ کد شود. طراحی و نوشتن تست‌ها به تنهایی زمان‌بر است و ممکن است در ابتدا توسعهٔ کد و پیشروی را به‌طور قابل توجهی کندتر کند. علاوه بر این، این روش نیازمند تجربه و آموزش زیادی می‌باشد تا بهره‌وری بالایی از آن به‌دست آید. به همین دلیل، توسعه‌دهندگان جدید ممکن است برای استفاده از TDD نیاز به یادگیری و تسلط بیشتری داشته باشند.
یکی دیگر از معایب TDD، ایجاد پیچیدگی در فرایند توسعه است. این روش نیازمند توجه و هماهنگی بیشتری در نوشتن تست‌ها، پیاده‌سازی کدها و اجرای تست‌ها است. همچنین، برای توسعه‌دهندگانی که به سیستم وارد می‌شوند، ممکن است برای درک کامل فرایند نیاز به زمان و تلاش و توجه بیشتری داشته باشند. این می‌تواند باعث کاهش کارایی و افزایش هزینه توسعه شود.
در این بخش، توسعه مبتنی بر آزمون را با روش‌های سنتی مانند توسعه مبتنی بر نیازمندی‌ها (Requirement-driven Development) و توسعه مبتنی بر مستندات (Documentation-driven Development) مقایسه می‌کنیم.
در توسعه مبتنی بر نیازمندی‌ها، نرم‌افزار بر اساس نیازمندی‌های کاربران و مشتری‌ها فنی توسعه می‌یابد. در این روش، ابتدا نیازمندی‌ها تعریف می‌شوند و سپس کد نوشته می‌شود تا نیازمندی‌ها را برآورده کند. تست‌ها و آزمون‌ها نیز پس از نوشتن کد، اجرا می‌شوند. این رویکرد ممکن است باعث ایجاد تست‌های ناکارآمد و کاهش کیفیت نرم‌افزار شود. در مقابل، توسعه مبتنی بر آزمون با تعریف تست‌ها در مرحله ابتدایی توسعه، از کاهش خطاها و بهبود کیفیت و قابلیت اطمینان نرم‌افزار بهره می‌برد.
در توسعه مبتنی بر مستندات، نرم‌افزار بر اساس مستندات و مشخصات فنی توسعه می‌یابد. در این روش، مستندات تهیه می‌شوند و بر اساس آن‌ها نرم‌افزار پیاده‌سازی می‌شود. تست‌ها و آزمون‌ها نیز بعد از نوشتن کد، اجرا می‌شوند. اما ممکن است در این رویکرد، تست‌ها برای بررسی جوانب‌های مختلف نرم‌افزار کافی نباشند و خطاهای مختلفی در فرایند توسعه رخ دهد. در مقابل، توسعه مبتنی بر آزمون با تعریف تست‌ها و سناریوهای آزمون کاملتر، تمام جوانب و قابلیت‌های نرم‌افزار را بررسی کرده و از کیفیت و عملکرد صحیح نرم‌افزار اطمینان حاصل می‌کند.
مطالعات نشان داده‌اند که استفاده از توسعه مبتنی بر آزمون منجر به کاهش خطاها، اشکالات و باگ‌های نرم‌افزار، افزایش کیفیت و عملکرد آن، کاهش هزینه‌های ناشی از خطاها و تست‌های دستی و افزایش رضایت کاربران می‌شود. در واقع، توسعه مبتنی بر آزمون با استفاده از رویکرد طراحی آزمون اول و پیاده‌سازی کد بر اساس آزمون‌ها، موجب تضمین عملکرد صحیح و قابل اعتماد نرم‌افزار و کاهش خطاها می‌شود.
با توجه به مزایای مذکور و مطالعات انجام شده در زمینه توسعه مبتنی بر آزمون، این روش به عنوان یک روش مؤثر در توسعه نرم‌افزار، با روش‌های سنتی مانند توسعه مبتنی بر نیازمندی‌ها و مستندات قابل مقایسه است و بهبود قابل توجهی در کیفیت و عملکرد نرم‌افزارها را به همراه دارد.
در این بخش قصد داریم چند نمونه از فریم‌ورک‌هایی که برای توسعهٔ مبتنی بر آزمون وجود دارد را معرفی کنیم. برای زبان‌های برنامه‌نویسی مختلف که هر کدام ویژگی‌های خاص خود را دارند، فریم‌ورک‌های مختلفی وجود دارد که در این بخش به بررسی تعدادی از محبوب‌ترین آن‌ها می‌پردازیم:
PyUnit: یک ابزار استاندارد آزمون واحد پروژه‌های پایتون است که توسط کنت بک و اریک اما طراحی شده‌است. در پکیج‌های پایتون با نام unittest می‌توان از این ابزار استفاده کرد. PyUnit از موارد آزمون و ابزار اجرای تست (test runners) پشتیبانی می‌کند. در PyUnit شما می‌توانید موارد آزمون را طوری سازماندهی کنید که رشته‌های تعدادی از آن‌ها با ویژگی‌های یکسان اجرا شوند.
TestNG: یک فریم‌ورک محبوب تست برای زبان برنامه‌نویسی جاوا است که به کاربران اجازهٔ اجرای آزمون‌های خودکار برای اپلیکیشن‌های وب را می‌دهد. این فریمورک متن‌باز است و قابلیت‌های بیش‌تری نسبت به JUnit دارد که باعث افزایش محبوبیت آن در برنامه‌نویسان زبان جاوا شده‌است. هم‌چنین می‌توان با استفاده از این فریم‌ورک به همراه Selenium که یک ابزار برای مرور خودکار صفحات وب است، تست‌های خودکار قدرتمندی برای اپلیکیشن‌های وب ایجاد کرد.
Rspec: یک فریم‌ورک انجام آزمون برای زبان برنامه‌نویسی ruby است.
روش آزمون محور در خارج از حیطه توسعه نرم‌افزار نیز به کار گرفته شده‌است. این روش تحت عنوان کار آزمون محور در تیم‌های تولیدی و خدماتی مورد استفاده قرار گرفته‌است. در کار آزمون محور همانند توسعه نرم‌افزار آزمون محور، تیم‌ها تعداد آزمون کنترل کیفیت برای هر جنبه از موضوع کار طراحی می‌کنند و سپس به ارزیابی آن و طراحی جهت ارضای آن می‌پردازند تا موفق شوند آن را پاس کنند.
شش گام ذکر شده در توسعه نرم‌افزار آزمون محور با تغییراتی جزئی به شکل زیر برای کار آزمون محور نیز به کار گرفته می‌شوند:
در این قسمت تعدادی از روش‌های برتر (best practices) توسعهٔ مبتنی بر آزمون را بررسی می‌کنیم:
فهم واضح نیازمندی‌ها هنگام شروع: برای شروع، فهم دقیق و واضحی از نیازمندی‌های ویژگی‌ای که قصد توسعهٔ آن را دارید به دست آورید. این کار به شما کمک می‌کند تا تست‌های متمرکز و مرتبط بنویسید.
نوشتن تست‌های ریز: هر تست باید روی یک رفتار یا کارایی مشخص تمرکز کند. تست‌های خود را کوتاه و متمرکز و تنها مربوط به یک جنبه از کد بنویسید. این کار خوانایی و نگهداری تست‌ها را راحت‌تر می‌کند.
ساده‌ترین موارد آزمون را اول بنویسید: کار خود را با نوشتن ساده‌ترین آزمون ممکن که خطا می‌دهد شروع کنید. این به شما کمک می‌کند تا سنگ بزرگی در مقابل خود نبینید و بتوانید با آرامش و دقت بیش‌تری کار کنید.
برای حالت‌های خاص تست بنویسید: برای حالت‌های غیر معمول که می‌تواند شامل مرز بین دو سناریوی مختلف یا ورودی‌های خاص باشد، تست بنویسید. در این حالت‌ها پتانسیل وقوع خطا وجود دارد و می‌تواند منجر به شکست شود.
به‌طور مرتب بازآرایی کنید: بعد از اینکه یک تست با موفقیت پاس می‌شود، مقداری زمان برای بازآرایی و بازسازی کد و بهبود طراحی آن، بدون اینکه رفتار آن تغییر کند بگذارید. این کار به تمیز نگه داشتن و داشتن یک پروژه قابل نگهداری کمک می‌کند.
روند اجرای تست‌ها را سریع نگه دارید: اجرای تست‌های شما باید از سرعت بالایی برخوردار باشد تا بتوانید سلامت کد خود را به سرعت بررسی کنید. سرعت بالای اجرای تست‌ها اجازه می‌دهد تا سرعت توسعهٔ بیشتری داشته باشید و مشکلات را سریع‌تر متوجه شوید.
خودکارسازی تست‌ها: از فریم‌ورک‌ها و ابزارهای خودکارسازی تست‌ها استفاده کنید تا تست‌های خود را بتوانید به صورت خودکار اجرا کنید. این کار به شما اجازه می‌دهد تا تست‌های خود را بارها و بارها به راحتی اجرا کنید و آن‌ها را با جریان کاری خود ادغام کنید و مطمئن شوید که تست‌های مطمئن و قابل اطمینانی دارید.
به صورت پیوسته تست‌های خود را اجرا کنید: تست‌های خود را با محیط توسعه ادغام کنید و خطوط continuous integration یا CI بسازید تا به صورت خودکار، هر زمان که کد تغییر می‌کند، تست‌ها را اجرا کند و نتیجه را به شما اطلاع دهد. این کار به شما کمک می‌کند که در صورت فراموشی اجرای تست‌ها، در صورتی که تست‌ها پاس نمی‌شوند، کد شما وارد مرحلهٔ تحویل به مشتری نشود و تست‌ها به صورت پیوسته اجرا شوند.
تست‌هایی که شکست می‌خورند باید شما را به توسعه هدایت کنند: وقتی یک تست خطا می‌دهد، آن تست باید به شما راهنمایی کند که نیاز است کدام بخش از کد را بررسی کنید و روی آن کار کنید. باید بتوانید آن خطا را تحلیل کنید، دلیل آن را شناسایی کنید و کدی که مشکل را به وجود آورده‌است را درست کنید. شکست تست‌ها یک بازخورد ارزشمند برای بالا بردن کیفیت کد است.
در حالی که درک مفاهیم و اصول TDD بسیار مهم است، مشاهدهٔ کاربرد عملی آن در سناریوهای دنیای واقعی، بینش ارزشمندی را در مورد مزایا و اثربخشی آن ارائه می‌دهد. در این بخش، مجموعه‌ای از نمونه‌های واقعی را که در آن TDD با موفقیت به کار گرفته شده‌است، بررسی می‌کنیم و نشان می‌دهیم که چگونه این رویکرد فرایند توسعه نرم‌افزار را متحول کرده‌است.
از توسعه تست محور می‌توان برای ساخت یک مبدل ارز استفاده کرد. این فرایند با نوشتن یک تست شکست‌خورده شروع می‌شود که رفتار مورد نظر مانند تبدیل دلار به یورو را تعریف می‌کند. اجرای تست در ابتدا شکست را تأیید می‌کند و اطمینان حاصل می‌کند که آزمایش به‌طور دقیق عملکرد مورد نظر را هدف قرار می‌دهد. در مرحلهٔ بعد، حداقل کد برای گذراندن آزمون پیاده‌سازی می‌شود و پس از آن مجدداً آزمون برای اطمینان از موفقیت آن اجرا می‌شود. بازآرایی مداوم امکان بهبود کد را بدون تغییر رفتار فراهم می‌کند. افزودن مکرر موارد آزمایشی بیش‌تر، اعتبارسنجی کامل عملکرد تبدیل ارز را ممکن می‌سازد و در نتیجه یک سیستم قابل اعتماد و دقیق ایجاد می‌کند.
استفاده از TDD برای ایجاد یک سیستم امتیازدهی برای یک بازی بولینگ، اطمینان و دقت را تضمین می‌کند. توسعه‌دهندگان با شروع از تست‌های شکست‌خورده، منطق مورد نیاز برای گذراندن تست‌ها را به صورت تدریجی پیاده‌سازی می‌کنند. ماهیت تکرارشوندهٔ TDD امکان بازخورد و بهبود مستمر را فراهم کرده و مکانیزم امتیازدهی قوی را تضمین می‌کند. اصلاح مجدد کد باعث حفظ وضوح و سادگی و رعایت اصول کد تمیز می‌شود. با پیروی از این رویکرد، توسعه‌دهندگان می‌توانند با اطمینان سیستم امتیازدهی بازی بولینگ را بسازند و اصلاح کنند.
در پروژهٔ توسعهٔ نرم‌افزار مایکروسافت، TDD می‌تواند برای پیاده‌سازی یک مؤلفهٔ اعتبارسنجی ایمیل قوی اعمال شود. فرایند TDD با نوشتن یک تست شکست‌خورده شروع می‌شود که رفتار تابع اعتبارسنجی ایمیل را تأیید می‌کند. آزمون اولیه می‌تواند قالب‌های ایمیل معتبر را بررسی کند و قالب‌های نامعتبر را رد کند. با نوشتن حداقل کد مورد نیاز برای قبولی در آزمون، توسعه‌دهندگان می‌توانند منطق اعتبارسنجی ایمیل را با استفاده از فناوری‌های Microsoft.NET پیاده‌سازی کنند. اجرای تست تضمین می‌کند که کد به درستی عمل می‌کند. تکرارهای بیشتر شامل اضافه کردن تست‌های بیش‌تر، مانند بررسی موارد لبه و مدیریت فرمت‌های مختلف ایمیل است. TDD تضمین می‌کند که مؤلفهٔ تأیید اعتبار ایمیل قابل اعتماد، دقیق است و می‌تواند سناریوهای مختلفی را در اکوسیستم Microsoft.NET مدیریت کند.
در یک محیط توسعهٔ Microsoft.NET، توسعهٔ مبتنی بر آزمون می‌تواند برای توسعهٔ یک ماژول احراز هویت کاربر برای یک برنامه استفاده شود. این فرایند با نوشتن تست‌هایی آغاز می‌گردد که قابلیت‌های ورود و ثبت نام کاربر را با استفاده از فناوری‌ها و چارچوب‌های مایکروسافت تأیید می‌کند. تست‌های ناموفق تضمین می‌کنند که رفتار مورد نظر به درستی هدف قرار گرفته‌است. سپس حداقل کد مورد نیاز برای قبولی در آزمون‌ها با استفاده از ابزار Microsoft.NET پیاده‌سازی می‌شود. با اجرای تست‌ها، توسعه‌دهندگان می‌توانند منطق ورود و ثبت نام در اکوسیستم مایکروسافت را تأیید کنند. گسترش مکرر مجموعهٔ آزمایشی سناریوهایی مانند قدرت رمز عبور، بازیابی حساب و کنترل دسترسی مبتنی بر نقش را پوشش می‌دهد و از قابلیت‌های Microsoft.NET بهره می‌برد. TDD یک سیستم احراز هویت کاربر ایمن و قابل اعتماد را با اعتبارسنجی کامل کد پیاده‌سازی شده در برابر موارد آزمایشی با استفاده از فناوری‌های مایکروسافت تضمین می‌کند.
آیندهٔ توسعهٔ مبتنی بر آزمون چشم‌اندازهای امیدوارکننده‌ای دارد زیرا شیوه‌های توسعهٔ نرم‌افزار همچنان در حال تکامل هستند. مطالعه‌ای که در انجام شده مزایای TDD را در محیط‌های صنعتی در دنیای واقعی به نمایش گذاشته‌است. این تحقیق نشان می‌دهد که TDD نه تنها کیفیت کد را بهبود می‌بخشد، بلکه چگالی خطا یا defect را کاهش می‌دهد و بهره‌وری توسعه‌دهندگان را افزایش می‌دهد. این یافته‌ها پتانسیل TDD را برای شکل‌دادن به آیندهٔ توسعهٔ نرم‌افزار با توانمند ساختن تیم‌ها برای ساختن نرم‌افزارهایی با کیفیت بالاتر و کارآمدتر نشان می‌دهد.
همان‌طور که سیستم‌های نرم‌افزاری پیچیده‌تر می‌شوند، اهمیت تضمین قابلیت اطمینان و امنیت آن‌ها بالاتر می‌رود. کتاب به ساختن نرم‌افزارهای قوی و انعطاف‌پذیر تأکید می‌کند. با نوشتن تست‌ها قبل از پیاده‌سازی کد، توسعه‌دهندگان می‌توانند نقص‌ها و آسیب‌پذیری‌های طراحی را در مراحل اولیهٔ توسعه کشف کنند و احتمال ایجاد نقص‌های مهم را کاهش دهند. این رویکرد پیشگیرانه برای تست کردن با اصول تست Shift-left و DevSecOps همسو می‌شود؛ جایی که امنیت و آزمایش از همان ابتدا در چرخهٔ عمر توسعهٔ نرم‌افزار یکپارچه شده‌است. از آن‌جایی که صنعت نرم‌افزار همچنان امنیت و قابلیت اطمینان را در اولویت قرار می‌دهد، TDD آماده است تا نقش مهمی در تقویت نرم‌افزار در برابر تهدیدات احتمالی ایفا کند.
ظهور معماری میکروسرویس‌ها و محاسبات ابری، شیوهٔ ساخت و استقرار سیستم‌های نرم‌افزاری را متحول کرده‌است. ماهیت تکرارشونده و مبتنی بر بازخورد TDD با چابکی و مقیاس‌پذیری میکروسرویس‌ها هماهنگ است. با نوشتن تست‌ها در ابتدا و طراحی APIها بر اساس نیازهای مشتری، توسعه‌دهندگان می‌توانند اطمینان حاصل کنند که میکروسرویس‌ها به درستی کار می‌کنند و به‌طور یکپارچه در یک سیستم بزرگتر ترکیب می‌شوند. از آنجایی که سازمان‌ها به پذیرفتن میکروسرویس‌ها و معماری‌های بومی ابری ادامه می‌دهند، TDD پایهٔ محکمی برای ساخت سرویس‌های ماژولار که می‌توانند به‌طور مستقل آزمایش و اجرا شوند، فراهم می‌کند.
سه خوک فسقلی () یک فیلم کوتاه پویانمایی به تهیه‌کنندگی والت دیزنی و کارگردانی برت جیلت از مجموعه سمفونی احمقانه است که در ۲۷ مه ۱۹۳۳ از سوی یونایتد آرتیستس در ایالات متحده منتشر شد.
ترانه اصلی کارتون با عنوان "چه کسی از گرگ بد بزرگ می ترسد؟"، توسط فرانک چرچیل ساخته شده است، نشان دهنده عزم مردم در برابر "گرگ بد بزرگ" در دوران رکود بزرگ است. همچنین این آهنگ الهام ­بخش نام گذاری نمایشنامه "چه کسی از ویرجینیا وولف می ترسد؟" نوشته ادوارد البی نمایشنامه نویس آمریکایی بوده است.
زن عنکبوتی یک شخصیت خیالی ابر قهرمان در کُتُب کمیک منتشر شده‌است. او یک کلون از مرد عنکبوتی است. او اولین بار در کامیک‌های "مرد عنکبوتی" نهایی شمارهٔ ۹۸ (اکتبر ۲۰۰۶) به دست برایان مایکل بِندیس و مارک بگلی حضور پیدا کرد.
یژی وتولانی (؛ – ) زیست‌شیمی‌دان، عصب‌پژوه، عصب‌شناس، داروشناس و استاد دانشگاه اهل لهستان بود.Najczęściej cytowani naukowcy oraz prace naukowe w Polsce, raport za lata 1965 - 2001 na podstawie bazy “Science Citation Index” dotyczącej wszystkich światowych publikacji (in Polish)
او از اعضای «آکادمی علوم لهستان» و «آکادمی آموزش لهستان» بود و یکی از دانشمندان لهستانی است که پس از سال ۱۹۶۵ میلادی، بارها در به نامش در مقالات و پژوهش‌های پزشکی اشاره شده‌است و بیش از ۲۰۰ مقالهٔ پژوهشی منتشر نموده‌است.
شهرت آغازین او مربوط به نخستین فرضیات در زمینهٔ مکانیسم اثر داروهای ضدافسردگی بود که در سال ۱۹۷۵ میلادی به‌همراه «فریدولین سالسر» مطرح شد و پیشنهاد می‌نمود که کاهش گیرنده‌های بتا آدرنرژیک باعث چنین اثری می‌شوند.Sulser F. , Vetulani J. : "Action of various antidepressant treatments reduces reactivity of noradrenergic cyclic AMP generating system in limbic forebrain", "Nature", 257, 1975. او در سال ۱۹۸۳ میلادی بابت پژوهش‌هایش در زمینهٔ شوک‌درمانی الکتریکی برندهٔ «جایزهٔ آنا-مونیکا» شد. علاوه بر اختلال افسردگی عمده، وی در زمینه‌های حافظه، اعتیاد و نورودژنرسانس هم فعالیت و پژوهش داشته‌است.