آرشیو موضوعات ‘علمی’

قدیمی ترین مورد سرطانی در فسیلی شناسایی شد

منتشر شده در مرداد ۱۸ام, ۱۳۹۵ موضوع علمی توسط

فسیلی که از استخوان پای انسان که به تازگی در آفریقای جنوبی کشف شده، نشان می‌دهد انسان‌ها حداقل ۱.۷ میلیون است که در حال مبارزه‌ با سرطان هستند. این نمونه، نشانه‌هایی از سرطان پیشرفته‌ای موسوم به استئوسارکوما را در بر دارد و حتی در عصر کنونی نیز می‌تواند در درک چگونگی تاثیرگذاری این بیماری روی انسان، سودمند باشد. با بررسی‌هایی که پژوهشگران روی این فسیل انجام داده‌اند، احتمالا برخی از علل سرطان با گذشته‌ی تکاملی ما گره خورده است و چندان مرتبط با سبک زندگی مدرن ما نیست.
پژوهشگران با بررسی استخوان پای انسانی که قدمتی ۱.۷ میلیون ساله داشته و به تازگی در آفریقای جنوبی کشف شده است، سرطانی بودن آن را نشان داده‌اند.
ادوارد آدز از دانشگاه ویت‌واترزلند در آفریقای جنوبی می‌گوید:

طب مدرن چنین می‌پندارد که انواع مختلف سرطان، تومورها و بیماری‌‌های انسان‌ بر اثر سبک زندگی و محیط زیست مدرن به وجود آمده است. مطالعات ما نشان می‌دهد که ریشه‌ی این بیماری‌ها، میلیون‌ها سال پیش از پیدایش جوامع صنعتی مدرن و در حیات نیاکان ما قرار دارد.

نکته‌ی جالبی که در خصوص این تومور خوش‌خیم و غیر عادی وجود دارد، این است که تومور یاد شده در مهره‌های یک کودک ۱۲ یا ۱۳ ساله شناسایی شده است. تا‌کنون فسیلی از این نوع بیماری در یک کودک مشاهده نشده بود و در عصر مدرن نیز بیماری یاد شده به ندرت در ستون فقرات رخ می‌دهد. بنابراین موارد یاد شده، یافته‌ی جدید را بسیار ارزشمند می‌کند.

در مقاله‌ای که پژوهشگران منتشر کرده‌اند، آمده است که آنها استخوان سرطانی دیگری را نیز با قدمت تقریبی ۱.۹۸ میلیون سال در آن محل کشف کرده‌اند، اما بر خلاف استخوان پا، به نظر می‌رسد که سرطان این استخوان خوش‌خیم باشد.

تا پیش از این، قدیمی‌ترین تومور استخوان شناسایی شده، متعلق به استخوان ۱۲۰ هزار ساله‌ای بود، اما به لطف یافته‌های جدید، این رکورد با اختلاف بسیاری جابجا شده است.
پژوهشگران دانشگاه ویت‌واترزلند و مرکز مطالعات دیرینه‌شناسی آفریقای جنوبی می‌گویند که در حال حاضر مشخص نیست که استخوان پای کشف شده متعلق به یک انسان بالغ است یا یک کودک. همچنین مشخص نیست که عامل مرگ شخص، سرطان بوده است یا خیر. اما پژوهشگران معتقدند که سرطان بر قابلیت حرکت این شخص تاثیر گذاشته و درد زیادی را برای او در پی داشته است.

هر دو استخوان در حفاری‌های صورت گرفته در غارهای‌ سایت میراث جهانی گهواره‌ی نوع بشر (the Cradle of Humankind) در آفریقای جنوبی، کشف شده‌اند. این سایت منبعی غنی از فسیل‌هایی انسانی است که قدمت آنها به درازای تاریخچه‌ی بشریت است. پژوهشگران با استفاده از تکنیک‌های پیشرفته‌ی تصویربرداری سه بعدی، به بررسی این فسیل پرداخته و آثاری از رشد تومور را در آن شناسایی کرده‌اند.

اما حتی اگر سرطان نیز همانند خود انسان‌ها، باستانی باشد، هیچ شکی نیست که بخش‌هایی از زندگی مدرن (مانند استعمال دخانیات) می‌تواند خطر ابتلا به این بیماری را افزایش دهد.

در حال حاضر محققان باید مجددا تعادل بین تعداد بیمارانی را که در اثر زندگی ناسالم به سرطان مبتلا شده‌اند و تعداد افرادی که صرفا در اثر جهش‌های ژنتیکی به این بیماری مبتلا شده‌اند، ارزیابی کنند، موضوعی که در گذشته نیز بحث‌هایی را به باور آورده است.

آدز می‌گوید:

شما می‌توانید رژیم غذایی انسان‌های دیرین را برای خود انتخاب کنید، می‌توانید به هر میزان که علاقه دارید در محیط زیستی سالم زندگی کنید، اما این بیماری‌ها ریشه در دوران کهن دارند و صرف‌نظر از نوع زندگی، در وجود ما قرار دارند.

حداقل در حال حاضر می‌دانیم که اجداد دور ما نیز از برخی مشکلات کنونی ما رنج می‌برده‌اند، و چنانچه چگونگی پیدایش این نوع از سرطان را شناسایی کنیم، می‌توانیم در جهت متوقف ساختن آن نیز اقدام کنیم.
به گزارش جیمز گلگر از بی‌بی‌سی، ایده‌ی سرطان به عنوان یکی از خطرات نسبتا جدید، بر مبنای مطالعات صورت گرفته بر روی اجساد مومیایی مصری، شکل گرفته است. در این اجساد، توموری شناسایی نشده بود.
این یافته‌ها در ژورنال South African Journal of Science منتشر شده است.

آموزش PHP : پروژه ارسال ایمیل

منتشر شده در مرداد ۱۲ام, ۱۳۹۵ موضوع علمی توسط

در این جلسه از سری آموزش‌های پی‌اچ‌پی می‌خواهیم اولین پروژه کاربردی را با این زبان برنامه نویسی محبوب ایجاد کنیم. پروژه ما اسکریپتی برای ارسال ایمیل است. بدین صورت شما با نحوه ارسال ایمیل و توابع مربوط به آن در PHP نیز آشنا خواهید شد. در ادامه مطلب با زومیت همراه باشید.

اگر آموزش‌های پی‌اچ‌پی زومیت را تا اینجا دنبال کرده‌اید پس تمامی پیش‌نیازهای لازم برای شروع کار یک پروژه کاربردی را دارید. می‌خواهیم در این جلسه یک اسکریپت کاربردی برای ارسال ایمیل ایجاد کنیم و سعی می‌کنیم علاوه بر استفاده از مباحث قبلی، موارد جدیدی را هم به شما آموزش دهیم.

خب اگر یادتان باشد در جلسات اولیه گفتم که مهم‌ترین مرحله برای ایجاد یک پروژه الگوریتم آن است. شاید بسیاری از افراد فکر کنند که یک پروژه ساده چه نیازی به الگوریتم دارد. خب شاید تا حدی گفته این افراد درست باشد زیرا بسیاری از پروژه‌های کوچک را بدون الگوریتم نویسی نیز می‌توان ایجاد کرد. اما اگر بخواهیم بعدا اسکریپت خود را ارتقا دهیم و امکانات جدیدی به آن اضافه کنیم یا اشکلاتش را رفع کنیم، در صورتی که از الگوریتم استفاده کرذه باشیم کار ما بسیار آسان‌تر خواهد شد.

پس اولین کاری که برای ایجاد پروژه ارسال ایمیل انجام می‌دهیم ترسیم یک الگوریتم است. پیش از اینکه بخواهید الگوریتم را ایجاد کنید باید در نظر داشته باشید که اسکریپتی که قصد ایجادش را دارید قرار است چه کاری را انجام دهد؟ خب در اینجا ما می‌خواهیم سیستم ارسال ایمیل تحت وب ایجاد کنیم پس مهم‌ترین بخش‌هایی که پروژه ما باید داشته باشدی به شرح زیر است:

<form method="post" action="send.php">
email to : <input type="text" name="email"><br>
your name : <input type="text" name"uname"><br= 
subject : <input type="text" name="subject"><br>
message : <textarea name="message" rows="3" cols="4"></textarea>
<input type="reset" value="Reset">
<input type="submit" value="Send Email">
</form>

خب این‌ موارد مهم‌ترین بخش‌هایی هستند که ما باید ایجاد کنیم. ما باید دو فایل ایجاد کنیم که البته می‌توان کل پروژه را در یک فایل ایجاد کرد اما بهتر است هر بخش را در یک فایل جداگانه ایجاد کنیم. الگوریتم ساده‌ای که من برای این پروژه در نظر گرفته‌ام به این صورت است:

<?php
$mailto = trim($_POST['email']);
$username = trim($_POST['uname']);
$subject = trim($_POST['subject']);
$message = trim($_POST]'message']);

//merge name and message
$final_message = $username . " : " . $message;

if ($mailto != "" && $username !="" && $subject !="" && $message != "")
{
//we know user filled the form
    $email_send = mail ($mailto, $from_mail, $final_message);
    //check for send email
    if ($email_send){
        echo "Your Email Has Been Send Successfully!";
    }else{
        echo "sorry, there is problem in sending email, try again!";
    }
}else{
    echo 'You Must Fill All Fields! Go <a href="index.php">Back</a>';
}
?>

همانطور که می‌بینید در ۵ مرحله به ساده‌ترین حالت ممکن الگوریتم پروژه ارسال ایمیل را ایجاد کردیم. البته می‌توان از الگوریتم‌های دیگری هم استفاده کرد و شاید الگوریتم مورد نظر شما بسیار بهتر از الگوریتمی باشد که در بالا نوشته‌ام. اما برای یکپارچه شدن آموزش بر اساس همین الگوریتم پروژه را ایجاد می کنیم.

ابتدا نرم افزار زمپ را اجرا کرده و در پوشه htdocs یک پوشه جدید به نام email می‌سازیم. سپس در این پوشه دو فایل به نام‌های index.php و send.php ایجاد می‌کنیم. فایل اول قرار است فرم ما را نشان دهد و فایل دوم پردازشگر و ارسال کننده ایمیل است.

در فایل index.php مطابق با نیاز خود که در بالا به آن اشاره کردم یک فرم با فیلد‌های مورد نظر ایجاد می‌کنیم. برای زیباتر شدن نتیجه کار می‌توانید از دستورات اچ‌تی‌ام بهره ببرید ولی ما به منظور ساده‌تر بودن هر چه بیشتر کدها از حداقل کد ممکن استفاده کرده‌ایم.

در فرم بالا ما به تعداد مورد نیاز فیلد ایجاد کرده‌ایم. فیلد ایمیل، نام کاربر، موضوع و متن پیام و نیز دو دکمه ریست و ثبت فرم.

حالا در فایل send.php باید کد زیر را قرا دهید:

<?php
mail('email@domain.com', 'subject', 'email message');
?>

حال می‌خواهیم کد بالا را تحلیل کنیم. در واقع تمامی نکات کد بالا را قبلا یاد گرفته‌اید اما در اینجا یک مرور کلی به کد داریم. ابتدا مقادیری که کاربر در فرم وارد کرده را درون چند متغیر قرار داده‌ایم. همچنین از تابع trim پی‌اچ‌پی استفاده کرده‌ایم تا فاصله‌های اضافه اول و اخر عبارات وارد شده در هر فیلد به صورت خودکار حذف شود. سپس با یک دستور if بررسی کرده‌ایم که در صورتی که تمامی فیلدها خالی نباشند و کاربر یک مقدار در آن‌ها وارد کرده باشد کد بخش صحیح بودن شرط اجرا شود و در غیر این صورت پیام خطایی به او نمایش داده می‌شود و یک لینک برای بازگشت به صفحه فرم اختیار وی قرار می‌گیرد. اما در صورت صحیح بودن شرط با استفاده از تابع mail اقدام به ارسال ایمیل می‌کنیم و. سپس مقدار بازگشتی این تابع را در متغیر email_send قرار می‌دهیم.

در مورد مقادیر بازگشتی در جلسه آمورش تابع مفصلا توضیح دادیم. اما در اینجا بد نیست بدانید در صورتی که ارسال ایمیل موفق باشد این تابع مقدار true را بر می‌گرداند و اگر ایمیل به هر دلیلی ارسال نشود مقدار بازگشتی تابع false خواهد بود.

پس در نتیجه مقدار متغیر email_send یا true می‌شود یا false. سپس با یک دستور if مجددا بررسی کرده‌ایم که اگر ارسال ایمیل موفق بوده یعنی email_send = true بوده باشد، پیام موفق بودن ارسال ایمیل و در غیر این صورت، (یعنی email_send = false بوده) پیام خطای ارسال نشدن ایمیل به کاربر نمایش می‌یابد.

نکته: ما نام کاربر و متن پیام او را به هم ترکیب کرده‌یم و در یک متغیر دیگر به نام final_message قرار داده‌ایم تا کسی که ایمیل را دریافت می‌کند بداند این ایمیل از طرف چه شخصی برایش ارسال شده است.

تابع ارسال ایمیل را می‌توان با تنظیمات وسفارشی‌سازی‌های زیادی مورد استفاده قرار داد. اما برای شروع کار باید بدانید که این تابع بع صورت پیشفرض و در ساده‌ترین حالت ممکن چند ورودی دریافت می‌کند. همانطور که در کد زیر می‌بینید در هنگام استفاده از این تابع باید حداقل سه ورودی داشته باشد. آرگومان اول آدرس ایمیلی است که قصد داریم به آن ایمیل ارسال کنیم. آرگومان دوم موضوع ایمیل و آرگومان سوم متن ایمیل است.

همچنین به این نکته باید توجه کنید که برای استفاده از این تابع الزما نیاز نیز مقدار بازگشتی آن را برابر یک متغیر قرار دهیم. در واقع در کد اسکریپت ارسال ایمیل، ما به این دلیل تابع را در برابر یک متغیر قرار دادیم تا از این طریق بتوانیم کنترل بیشتری بر روی عملیات داشته باشیم و پیام خطای مناسب را ایجاد کنیم.

اگر دقت کرده‌ باشید اسکریپت نوشته شده توسط ما دقیقا منطبق بر همان الگوریتم ساده اولیه‌ای است که نوشته بودیم. یعنی تک تک مراحل بخوبی در پی‌اچ‌پی پیاده سازی شده‌اند.

با کمی تغییرات و زیباتر کردن کد بالا می‌توانید یک اسکریپت کاربرپسند و کاربردی‌تر ایجاد کنید. به عنوان تمرین از css و html به منظور زیباتر شدن فرم ارسال ایمیل و حتی صفحه ارسال ایمیل و نمایش پیام‌ها بهره ببرید. همچنین در صورتی که هر گونه سوالی در این مورد برایتان پیش آمده آن را در بخش نظرات اعلام کنید.

همچنین می‌توانید از آنچه که در این جلسه یاد گرفتید به منظور ایجاد فرم تماس با ما برای سایت خود استفاده کنید.