<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Vahid Masoumi</title>
        <link>https://virgool.io/feed/@vhdmsm</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-16 12:33:56</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3119/avatar/jm4T9j.png?height=120&amp;width=120</url>
            <title>Vahid Masoumi</title>
            <link>https://virgool.io/@vhdmsm</link>
        </image>

                    <item>
                <title>راه‌اندازی بلاگ شخصی روی Github Pages بدون هیچ هزینه‌ای</title>
                <link>https://virgool.io/@vhdmsm/%D8%B1%D8%A7%D9%87%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D8%A8%D9%84%D8%A7%DA%AF-%D8%B4%D8%AE%D8%B5%DB%8C-%D8%B1%D9%88%DB%8C-github-pages-%D8%A8%D8%AF%D9%88%D9%86-%D9%87%DB%8C%DA%86-%D9%87%D8%B2%DB%8C%D9%86%D9%87%D8%A7%DB%8C-wudzti7bg17b</link>
                <description> https://www.aparat.com/v/T7jIJ اگه دنبال جایی هستید که بتونید رزومه‌تون رو توش نمایش بدید، مطالب واسه بلاگتون بنویسید یا نمونه کارهاتون رو نمایش بدید، صفحات گیت‌هاب یکی از انتخاب‌های خوب واسه این کاره چون بهتون اجازه میده خیلی راحت صفحات استاتیک رو روی یک url بالا بیارید. توی این پست توضیح می‌دم که چجوری می‌تونین یه صفحه شخصی برای خودتون درست کنین ? اول یه ریپازیتوری جدید با نام yourusername.github.io داخل گیت‌هاب بسازید. به عنوان مثال یوزرنیم اکانت گیت‌هاب من vhdmsm هست پس اکانت من هم vhdmsm.github.io میشه. حالا یه فایل index.html داخل ریپازیتوریتون بسازید و توش بنویسید !Hey There و commit-push کنید. حالا اگه به صفحه گیت‌هابتون برید می‌بینید یه وب‌سایت با متنی که ایجاد کردید نمایش داده می‌شه. خب حالا می‌تونیم بلاگ مورد نظرمون رو به صورت دستی (مثل چیزی که بالا گفتیم) بسازیم و کلی وقت براش بذاریم یا اینکه از یه ابزار به نام Jekyll Now که همه این کارارو برامون می‌کنه استفاده کنیم. با استفاده از این ابزار نیازی نیست هیچ دستوری وارد کنید و یا هیچ تنظیماتی انجام بدید و اون خودش همه رو براتون هندل می‌کنه. برای ساختن یه بلاگ کافیه که ریپازیتوری Jekyll Now رو fork کنید و نام ریپازیتوری رو مثل بالا به yourusername.github.io تغییر بدید. حالا اگر ساختار پروژتون رو ببینید به تعدادی فایل براتون جنریت شده که فایل‌های بلاگتون هستن. مثلا داخل فایل posts_ پست‌های بلاگتون رو می‌نویسید که می‌تونن یا markdown نوشته بشن که فرمت فایل‌هاشون md ئه و هم html که این کار رو راحت می‌کنه و داخل config.yml_ تنظیمات مربوط به صفحه‌تون رو قرار می‌دید. یکی از فیچرهای خوبی که داخل فایل config.yml_ می‌تونید اضافه کنید اضافه کردن قابلیت comment گذاشتن افراد زیر پست‌های شماست که به وسیله سرویس disqus ارائه می‌شه و شما تنها لازمه که یه اکانت در disqus باز کنید و بعد از ایجاد سایت در پنل مدیریتتون، یوزرنیمش رو به بخش disqus فایل config.yml_ اضافه کنید تا این قابلیت به صفحه‌تون اضافه بشه. در ضمن، همونطور که داخل گیت‌هاب Jekyll Now هم توضیح داده شده، در صورتی که خواستید به صورت لوکال بلاگتون رو ران کنید این کارهارو انجام بدید:1. Install Jekyll and plug-ins in one fell swoop. gem install github-pages This mirrors the plug-ins used by GitHub Pages on your local machine including Jekyll, Sass, etc.2. Clone down your fork git clone https://github.com/yourusername/yourusername.github.io.git3. Serve the site and watch for markup/sass changes jekyll serve4. View your website at http://127.0.0.1:40005. Commit any changes and push everything to the master branch of your GitHub user repository. GitHub Pages will then rebuild and serve your website.اتصال به دامنه شخصیبرای اتصال به دامنه شخصی‌تون باید اول از بخش setting ریپازیتوریتون دامنه‌تون رو به صفحه شخصی‌تون متصل کنید ?حالا وارد بخش مدیریت دامنه‌تون بشید و ۲ تا رکورد از نوع A و CNAME به صورت زیر بهش اضافه کنید:لیست IP های فعال صفحات گیت‌هاب برای رکورد A رو می‌تونید از این صفحه ببینید. با اضافه کردن هر دو رکورد A و CNAME، هم databazi.ir و هم www.databazi.ir هر دو به صفحه vhdmsm.github.io اشاره خواهند کرد.</description>
                <category>Vahid Masoumi</category>
                <author>Vahid Masoumi</author>
                <pubDate>Thu, 11 Apr 2019 13:25:34 +0430</pubDate>
            </item>
                    <item>
                <title>ارسال متغیر با مقدار (Passing by value) در پایتون</title>
                <link>https://virgool.io/@vhdmsm/%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-e7kuinicytvm</link>
                <description>دوس دارم از این به بعد چیزایی که به نظرم یکم جالب میاد رو بنویسم. زبون پایتون یکی از جذاب‌ترین زبون‌هاس و دونستن نکته‌های این زبون هم می‌تونه واسه کسایی که دوسش دارن جالب باشه. خب حالا که تا اینجا خوندید به نظر شمام پایتون دوس دارید :دی حالا که پایتون دوس دارید به نظرتون خروجی تیکه کد زیر چیه؟ mylist=[]
for c in range(3):
    mylist.append(lambda x:print(x*c, end=&#039;,&#039;))
 for f in mylist: f(True)ممکنه تو نگاه اول به نظر بیاد که خروجی اینه:Output: 0,1,2,اما اینطور نیست! اگه براتون جالبه که بدونید دلیلش چیه، ادامه رو بخونید.اول یه نکته کوچیک درباره True و False توی پایتون بگم. توی python3 مقادیر True و False به ترتیب ۱ و ۰ هستن پس ضرب True در هر عددی همون عدد رو می‌ده.نکته‌ای که اینجا وجود داره این هست که ما توی اینجا تنها یه متغیر c داریم و تابع لامبدا هم قراره ضرب آرگومان ورودی‌اش با این متغیر c رو انجام بده اما این تابع لامبدا در اون لحظه صدا زده نشده که مقادیر اصلی بهش وصل بشه و در نتیجه تنها رفرنس متغیر c هست که توی این تابع باند میشه و تا زمانی که کال نشه ارزیابی نمی‌شه که مقدارش چی هست. با این تفاسیر، حلقه ما می‌رسه به آخر و تابع لامبدا رفرنس c آخرین حلقه رو برای تابع لامبدا در نظر می‌گیره که مقدار c آخر ۲ هست. اگر مقدار رفرنس‌های متغیرها رو هم چاپ کنیم می‌تونیم این رو ببینیم:mylist=[]
for c in range(3):
    print(&quot;c: %s, ID(c): %s&quot; % (c, id(c)))
    mylist.append(lambda x: print(&#039;Value: %s, ID(c): %s, ID(x): %s&#039; % (x*c, id(c), id(x))))
for f in mylist: f(True)که خروجی به این صورت هست:c: 0, ID(c): 4304853792
c: 1, ID(c): 4304853824
c: 2, ID(c): 4304853856 &lt;- Reference Value
Value: 2, ID(c): 4304853856, ID(x): 4304466784
Value: 2, ID(c): 4304853856, ID(x): 4304466784
Value: 2, ID(c): 4304853856, ID(x): 4304466784با استفاده از تابع ()id می‌تونین مقدار رفرنس متغیر‌ها رو ببینید. همونجوری که توی خروجی می‌بینید مقداری که داخل لامبدا فانکشن داره استفاده میشه مقدار آخرین رفرنس داخل لوپ یعنی ۲ هست به خاطر همین تمام خروجی‌ها ۲=۲*۱ شده.خب حالا چیکار کنیم که مقدار c توی هر لوپ در نظر گرفته بشه و خروجی‌مون بشه:Output: 0,1,2,یه راهش اینه که c رو از طریق آرگومان پیش‌فرض (default argument) لامبدا ست کنیم که evaulte بشه و مقدار خودش پاس داده بشه:mylist=[]
for c in range(3):
    print(&quot;c: %s, ID(c): %s&quot; % (c, id(c)))
    mylist.append(lambda x, c=c: print(&#039;Value: %s, ID(c): %s, ID(x): %s&#039; % (x*c, id(c), id(x))))
for f in mylist: f(True)که خروجی به این صورت می‌شه:c: 0, ID(c): 4304853792
c: 1, ID(c): 4304853824
c: 2, ID(c): 4304853856
Value: 0, ID(c): 4304853792, ID(x): 4304466784
Value: 1, ID(c): 4304853824, ID(x): 4304466784
Value: 2, ID(c): 4304853856, ID(x): 4304466784ایشالا که جذاب بوده باشه براتون و توی کد زدن‌هاتون در نظر بگیریدش.</description>
                <category>Vahid Masoumi</category>
                <author>Vahid Masoumi</author>
                <pubDate>Mon, 21 Jan 2019 22:26:49 +0330</pubDate>
            </item>
            </channel>
</rss>