<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های سعید غلامی</title><link>https://virgool.ir/feed/@saeidgholami</link><description>برنامه نویسی و زندگی</description><language>fa</language><pubDate>2026-11-11 04:29:41</pubDate><image><url>https://files.virgool.ir/upload/users/1399068/avatar/oFViZy.jpeg</url><title>سعید غلامی</title><link>https://virgool.ir/@saeidgholami</link></image><item><title>داستان خرید دامنه و هاست برای جنگو</title><link>https://virgool.ir/@saeidgholami/داستان-خرید-دامنه-و-هاست-برای-جنگو-n4lf6qeropea</link><description>من در حال طراحی وب سایتی هستم که کارفرمای اون در کاندا هست. ایشون ایرانی هستن و اونجا زندگی می کنن. چند وقت پیش با من تماس گرفت تا من وب سایتی براش طراحی کنم تا فیلم های آموزشی خودش رو اونجا بذاره. من وب سایت رو نوشتم و بعد از چند روز قرار شد تا دامنه و هاست بخریم تا من وب سایت رو آپلود کنم. امروز حدود ۱۰ ساعت درگیر این ماجرا بودم و قراره شما در عرض ۱۰ دقیقه مشکلاتی که من باهاش دست و پنجه نرم کردم رو به همراه راه حلش بدونید. خرید دامنه یه چندتا شرکت فروش دامنه هست که خیلی معروف هستن ولی محبوترینش در خارج از ایران godaddy هست. پروسه خریدن دامنه خیلی سر راست و ساده هست. اکانت میسازی، وارد وب سایت میشی، دامنه مورد نظرت رو سرچ میکنی و اگر در دسترس بود اقدام به خرید میکنی. چنتا نکته اینجا برای من جالب بود: دامنه دات کام رو گو ددی برای سال اول فقط یک دلار از شما می گرفت یعنی میشه گفت دامنه رو داشت مفد میداد. اما این تخفیف فقط برای سال اول بود. اگه دو ساله میخریدی ۴۰ درصد تخفیف میداد و همینطوری تخفیف کمتر میشد برای سال پنجم که تخفیفش خیلی کم بود در حدود ده درصد قیمت تمام شده دامنه حدود ۱۵۰ دلار کاندا بود! یعنی برای شما دون میپاشن که دامنه رو بخری بعد سالهای بعد که دامنه رو میخری باید قیمت کاملش رو بدی که این قیمت کامل نسبت به سایتهای دیگه بیشتر بود. ولی خوب اگر ایده ای داری که می خوای تست کنی خیلی راحت با یک دلار می تونی کارت رو شروع کنی.تقریبا بلافاصله بعد از خرید دامنه میشه ازش استفاده کرد. دامنه ای که ما خریدیم دات کام بود شاید دات کام های اینطوری هستن. همینطور برای خرید دامنه دات کام نیازی نیست تو هیچ سازمانی ثبت نام کنی. برای خرید دامنه دات آی آر باید توی ایرنیک ثبت نام کنی و کمی داستان داره و ۴۸ ساعت طول میشکه تا دامنه در دسترس قرار بگیره. نکته بعدی که برام جالب بود وقتی شخصی با ویزا کارت اقدام به خرید میکنه نیازی به رمز دوم و سوم و دهم و پویا و از این چیز شعرا نداره. فقط اطلاعات کارت رو وارد می کنی و پول از حسابت کم میشه. خوب این می تونه قطعا مشکل امنیتی داشته باشه یعنی اگه کسی اطلاعات کارتت رو داشته باشه عملا می تونه باهاش خرید انجام اما دقیقا نمی دونم چطوری این مشکل رو اونجا حل میکنن. توی گو ددی شما می تونید ایمیل یه شخص رو وارد کنید و بهش اجازه بدید که به اکانت شما دسترسی داشته باشه. این ویژگی به این خاطر خوب هست که دامنه رو کارفرما می تونه به اسم خودش ثبت کنه و من فقط بهش دسترسی داشته باشم. کارفرما می تونه در بخش Delegate Access اسم و ایمیل من رو اضافه کنه تا من هم به اکانت دسترسی داشته باشم. خرید هاستچون من وب سایت رو با پایتون و جنگو نوشتم و چون از خارج ایران می تونستم هاست یا سرور بخرم عملا دستم خیلی باز بود و از هر شرکتی هر سرویسی که دوست داشتم رو می تونستم انتخاب کنم. heroku خیلی تو دنیای پایتون و جنگو معرفه و من هم می خواستم از اینجا سرویس بخرم اما بعدا به ذهنم رسید که خیلی با PythonAnyWhere حال می کنم و واقعا سرویس خیلی خوب و سر راستی برای پایتون هست. اینجا هم باز دوباره فرآیند خرید خیلی راحته اکانت میسازی و سرویسی که می خوایی رو می خری.هاست جای هست که باید وب سایت رو بذاریم و باید بین دامنه و این هاست ارتباط برقرار کنیم تا وقتی کسی اسم وب سایت رو تایپ می کنه وب سایت لود بشه اینجا هست که کلی داستان به وجود می آید.وصل کردن دامنه به هاستاولین کاری که باید بکنیم این هست که در وب سایت PythonAnyWhere  یعنی همون هاست خودمون یه وب اپ درست کنیم. وقتی که وب اپ رو درست می کنیم از ما میپرسه که دامنه شخصی خودمون رو وارد کنیم یا خودش یک دامنه ساختگی به ما میده شامل نام کاربری و آخرش هم یه pythonanywhere.com میچسبونه.چون ما خودمون دامنه داشتیم قطعا می خواستیم از اون استفاده کنیم. گزینه دوم یعنی custom domain رو انتخاب می کنیم و اسم دامنه رو وارد می کنیم. نکته ای که اینجا وجود داره باید نام دامنه رو کامل وارد کنیم. یعنی نباید وارد کنیم example.com بلکه باید وارد کنیم www.example.com اینکه نکته ای مهمی هست.بعد از اینکه وب اپ رو در PythonAnyWhere ساختیم یک چیزی به نام CNAME تولید میشه. این سی نیم در واقع اسم وب سایت ما در PythonAnyWhere هست. این یک نمونه از سی نیم هست:webapp-1406122.pythonanywhere.comکاری که ما باید بکنیم این هست که در سرویس دهنده دامنه خودمون یک رکورد www درست کنیم و این CNAME رو به عنوان مقدار اونجا وارد کنیم.اضافه کردن رکورد CNAMEاین CNAME داره به گو ددی میگه که وقتی شخصی www زد و بعدش اسم وب سایت رو زد درخواست رو بفرسته به  webapp.xxxx.pythonanywhere  خوب ما در pythonanywhere  یک وب سایتی داریم که به این درخواست پاسخ بده.بدین طریق دامنه به وب سایت وصل میشه.نسخه HTTPSدامنهوقتی ما تو مروگر خودمون اسم یک دامنه مثل example.com رو وارد می کنیم به صورت پیش فرض درخواست از طریق پروتکل HTTPS ارسال میشه. اگر در دامنه یا هاست خودمون تنظیمات مربوط به SSL رو انجام نداده باشیم با یک صفحه در مرورگر ظاهر میشیم که میگه این وب سایت امن نیست چون از پروتکل HTTPS استفاده نمیکنه و وب سایت لود نمیشه. بعد از وصل کردن دامنه و هاست اولین چیزی که دیدم این پیغام بود. خوب توی همون صفحه ای که ظاهر شده دکمه هست که میزنی من تمام ریسک ها رو قبول می کنم و وب سایت لود میشه. اما خوب مشخه هر کاربری که با این صفحه روبرو بشه بلافاصله وب سایت رو ترک میکنه و این اصلا اتفاق خوبی نیست. برای حل این مشکل یا باید SSL certificated بخریم و اون رو روی دامنه تنظیم کنیم که توی PythonAnyWhere مستنداتی در این مورد هست و یا راه راحتش این هست که توی بخش امنیت PythonAnyWhere گزینه ای به شکل زیر رو تنظیم کنیم:تنظیم SSLاون دکمه مداد رو میزنیم و Auto-renew... رو انتخاب می کنیم. بعد از انجام دادن این کار دیگه پیغامی مبنی بر امن نبود سایت ظاهر نمیشه و وب سایت همونطور که باید لود بشه لود شد.نسخه لخت دامنه ?بعد از اینکه این عملیات رو انجام دادم می تونستم به وب سایت دسترسی داشته باشم. من هنوز وب سایت رو آپلود نکردم بلکه دامنه رو به هاست وصل کردم. تا اینجا هاست PythonAnyWhere داشت به من پاسخ میداد و صفحه ای به شکل زیر ظاهر میشد.پیغام پیش فرض pythonanywhereاین پیغام خوش آمدگویی PythonAnyWhere هست که نشون میده دامنه شما با موفقیت به وب اپی که روی PythonAnyWhere ساختید وصل شده. اما داستان نسخه لخت دامنه چیه؟ همه چیز تا اینجا خوب بود تنها کاری که باید انجام میدادم این بود که وب سایت رو بفرستم رو اپی که در PythonAnyWhere ساختم و کار من تموم میشد اما من به خاطر اینکه همیشه باید www بزنم تا وب سایت بالا بیاد ناراحت بودم. یعنی من دوست نداشتم که برای دسترسی به وب سایتی مثل example.com تایپ کنم www.example.com بلکه من مایل بودم، تا تایپ کنم example.com تا وب سایت بالا بیاد. این بود که بعدی کمی جستجو فهمیدم که به نسخه ای از دامنه که www نداره میگن دامنه لخت ?خوب بلافاصله شروع کردم به جستجو که بفهم چطور می تونم این ویژگی رو روی دامنه کارفرما ایجاد کنم. فهمیدم این کاری هست که سرویس دهنده دامنه باید فراهم کنه و ربطی به هاست نداره. خوب دامنه قرار لخت بشه پس این موضوع ربطی به هاست نداره. بعد از جستجو فهمیدم که توی گو ددی یه ویژگی هست به نام Forwarding این ویژگی اجازه میده نسخه بدون www وب سایت رو به نسخه www دآر اون وصل کنید. در بخش تنظیمات دی ان اس دامنه یک فرمی شبیه به فرم بالا هست که شما نسخه www دآر دامنه رو وارد می کنید. مثلا وارد می کنید www.example.com و وقتی که کاربر example.com رو وارد کرد به این نسخه یعنی همون www دآر ارجاع داده میشه. من همین کار رو انجام دادم چرا چون که نسخه www دآر دامنه من به درستی کار می کرد. وقتی اینکار رو انجام دادم پیغامی اومد که تنظیم شدن DNSها (بماند که DNS چیه) از چند دقیقه تا ۴۸ ساعت ممکنه زمان ببره. حالا یک ساعت منتظر شو دو ساعت منتظر شو نسخه لخت دامنه کار نکرد که نکرد!?من به جستجوی خودم ادامه دادم تا بفهمم آیا راهی هست که این کار رو انجام بدم یا نه. در خلال جستجوی خودم فهمیدم که بعضی از وب سایت ها هستن که کار وصل کردن نسخه کامل به نسخه لخت رو انجام میدن و چه چیزی بهتر از این که یک وب سایت این کار رو انجام بده. من دوتا وب سایت پیدا کردم ولی از   NakedSSL برای اینکار استفاده کردم. انجام دادن این کار هم بسیار راحته عضو سایت میشی نسخه بدون www رو وارد می کنی و این وب سایت به شما یک آدرس آپی میده! کاری که باید انجام بدیم این هست که بریم توی سرویس دهنده دامنه (گو ددی) و یک رکورد A ایجاد کنیم و این دامنه رو به عنوان مقدار وارد کنیم مثل شکل زیر:افزودن رکورد Aبعد از اینکه رکورد A رو اضافه کردیم با آی پی که از NakedSSL گرفتیم منتظر میشم تا دی ان اس ها با آپی جدید تنظم بشن. و نکته جالب این بود که بلافاصله بعد از تنظیم شدن دی ان اس ها خود NakedSSL  یه ایمیل به من زد و گفت همه چیز آماده است. من نسخه لخت دامنه رو تست کردم و نمردیم و نسخه لخت دامنه رو Up and Running کردیم. نتیجه گیریفرآیند وصل کردن دامنه به هاست می تونه مشکلاتی به همراه خودش داشته باشه. توی این فرآیند زیاد به داکیومنت های PythonAnywhere سر زدم و در انجمن های اون دیدم دقیقا مشکلاتی که برای من پیش اومده برای دیگران هم پیش اومده. با اینکه گو ددی این همه معرفه و کلی مشتری داره پشتیبانی اون یک ربات بود و اصلا نمیشد کسی رو پیدا کرد که سوال بپرسی که با وجود اینکه Forwarding رو انجام دادم چرا کار نمی کنه به خاطر همین من از یک وب سایت دیگه برای ارجاع دادن استفاده کردم. می تونیم نتیجه بگیریم که شرکت های کوچیک انگیزه و زمان کافی برای پیگیری درخواست های مشتری های خودشون رو دارن.</description><category>سعید غلامی</category><author>سعید غلامی</author><pubDate>Sat, 12 Mar 2022 20:45:34 +0330</pubDate></item><item><title>۰۱ - نصب و راه اندازی پایتون</title><link>https://virgool.ir/@saeidgholami/01pystart-u3jk4qu9woo3</link><description>توی این سری آموزشی قصد دارم شما رو با پایتون آشنا کنم. پایتون یک زبان برنامه نویسی هست که به واسطه سینتکس(نحوه نوشتن کد) بسیار محبوب شده و در حال حاظر محبوبت ترین زبان برنامه نویسی در کل دنیا می باشد.اما اگر براتون سوال هست که من کی هستم و چه چیزی باعث میشه این سری آموزشی بسازم باید خدمتتون عرض کنم که من سعید غلامی هستم بیش از ۱۳ سال هست که به نحوی با برنامه نویسی درگیر هستم. تو این چند سال با زبان های برنامه نویسی مختلفی آشنا شدم و ۷ سال پیش شروع به استفاده از پایتون کردم. پایتون مفاهیم پیچیده برنامه نویسی رو به راحتی در اختیار من قرار میداد و همین امر باعث شد که بیشتر و بیشتر غرق برنامه نویسی بشم. ۵ سال پیش کار خودم رو به صورت فریلنسر شروع کردم و تو این چند سال بیشتر کارم تدریس و انجام پروژه های دانشجوهام بود. با افراد مختلفی از ۱۲ سال تا ۶۰ سال کار کردم هم داخل ایران و هم خارج از ایران. پروژه های مختلف مثل برنامه های دسکتاپ،‌بازی و وب سایت برای دانشجوهام و کارفرماهای خودم نوشتم. تجربیات زیادی در این مسیر کسب کردم و این سری آموزشی فقط یک شروع هست.اگر فرمت ویدیویی دوست دارید این پست به صورت ویدیو با جزئیات بیشتر آماده شده که لینک اون در آخر پست موجود هست.معرفی پایتونپایتون چی هست؟‌ چه استفاده از اون میشه و اصلا چرا بهتره با پایتون برنامه نویسی کنیم؟ همه اینها سوالاتی هستن که ممکنه به ذهن شما برسه. اگر بخوام به صورت خلاصه به سوالات بالا جواب بدم تا بتونیم شروع کنیم باید بگم که پایتون یک زبان برنامه نویسی هست. ما یه دستگاه داریم بنام کامپیوتر که قابل برنامه ریزی هست یعنی می تونیم برنامه های مختلف رو بر روی اون نصب کنیم. خوب این برنامه ها از کجا میان؟ یک نفر یا چندین نفر اون برنامه‌ها رو می نویسن که به اونها می گیم برنامه نویس. برنامه نویس چطوری برنامه‌ها رو می نویسه؟ با استفاده از یک زبان برنامه نویسی. پایتون یکی از اون زبان‌های برنامه نویسی هست. بیشتر شرکت های بزرگ مثل گوگل،‌فیس بوک و مایکروسافت از پایتون به عنوان یکی از زبان‌های برنامه نویسی اصلی خودشون استفاده می کنن. نصب و راه اندازی پایتوننصب و راه اندازی پایتون بسیار ساده هست. کافیه تا مطابق شکل‌های زیر اقدام به نصب پایتون بکنید.مثل شکل زیر به وب سایت python.org رفته و بسته نصبی پایتون رو دانلود می کنیم:دانلود پایتون‌: اشاره‌گر ماوس رو بر روی تب Downloads برده تا جدیدترین نسخه پایتون رو مشاهده کنید سپس بر روی اون کلیک کنید تا فرآیند دانلود شروع بشه.بسته نصبی که دانلود کردید رو اجرا کنید تا شکل زیر اجرا بشه. در این شکل تیک گزینه Add Python 3.10 to PATH رو فعال کنید و بروی دکمه Install Now کیلک کنید تا فرآیند نصب شروع بشه.صفحه اول نصب پایتونفرآیند نصب پایتونبعد از اینکه فرآیند نصب کامل شد شکل زیر ظاهر میشه که نشان دهنده این هست که پایتون با موفقیت روی سیستم شما نصب شده.صفحه نصب موفقیت آمیز پایتوناجرای پایتونبعد از اینکه پایتون رو با موفقیت روی کامپیوتر خودتون نصب کردید می تونید اون رو اجرا کنید. اگر دوست داشتید به صورت خفن سر در بیارید که پایتون رو سیستمون نصب شده یا نه توی ویندوز دکمه Win + R رو همزمان فشار بدید و در پنجره ای که ظاهر شده کلمه cmd رو تایپ کنید.مطابق شکل زیر دستور python --version رو تایپ کنید تا نسخه پایتونی که بر روی کامپیوتر شما نصب شده رو مشاهده کنید.چک کردن نسخه پایتون در cmd ویندوزنوشتن اولین کد با پایتونگرچه چندین راه برای نوشتن کد با پایتون هست اما ساده ترین اون استفاده از IDLE هست. زمانی که شما پایتون رو روی کامپیوتر خودتون نصب می کنید برنامه ای به نام  ‌IDLE هم بر روی کامپیوتر نصب میشه. برای اجرای این برنامه شبیه تمام برنامه های که روی ویندوز نصب میشه منوی ویندوز رو اجرا کنید و کلمه IDLE رو تایپ کنید و IDLE(Python 3.10 32-bit)  رو انتخاب کنید. برنامه ای به شکل زیر اجرا میشه:   پنجره IDLE توی این برنامه شما می تونید دستورات پایتون رو وارد کنید تا برای شما اجرا بشن. کافی هست جلوی اون علامت &lt;&lt;&lt; یک دستور مجاز پایتون و دکمه ENTER رو فشار بدید.دستور زیر روی جلوی علامت &lt;&lt;&lt;  تایپ کنید و دکمه ENTER رو فشار بدید:print(&#34;hello world!&#34;)این برنامه یک خطی و کوچک باعث میشه پیغام hello world ظاهر بشه که معمولا اولین برنامه ای هست که مبتدی ها می نویسن.سلام دنیا در idleلینک ویدیوآپارات </description><category>سعید غلامی</category><author>سعید غلامی</author><pubDate>Wed, 09 Mar 2022 18:31:50 +0330</pubDate></item></channel></rss>