<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Nima Ghasemi</title>
        <link>https://virgool.io/feed/@Nima_GP</link>
        <description>یه دانش‌آموز 14 ساله؛ علاقه مند به پایتون، بک اند، منبع باز، گنو/لینوکس، CPP و امنیت سایبری :)</description>
        <language>fa</language>
        <pubDate>2026-06-10 12:51:40</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/375790/avatar/ewbGGd.png?height=120&amp;width=120</url>
            <title>Nima Ghasemi</title>
            <link>https://virgool.io/@Nima_GP</link>
        </image>

                    <item>
                <title>کاه از خودت نیست،کاهدون که از خودته!</title>
                <link>https://virgool.io/TameshkGroup/%DA%A9%D8%A7%D9%87-%D8%A7%D8%B2-%D8%AE%D9%88%D8%AF%D8%AA-%D9%86%DB%8C%D8%B3%D8%AA%DA%A9%D8%A7%D9%87%D8%AF%D9%88%D9%86-%DA%A9%D9%87-%D8%A7%D8%B2-%D8%AE%D9%88%D8%AF%D8%AA%D9%87-uhfgvuihsq5d</link>
                <description>ســـــــــلـــــامـــــــراستش چند وقت پیش داشتم به این فکر می کردم که واقعا لازمه همیشه و برای هر چیزی متغیر و class و تابع بسازیم و مموری رو اشغال کنیم؟دیدم موضوع جالبیهمثلا به این فکر کنید که یه جایی از یه کد لازمه response تو قالب json از یه API بگیریدما فرض می کنیم شما می خواین از این API تعداد مبتلاهای تایید شده از دیروز تا امروز(بی منطقی تمام رو تو این API شاهد هستیم :|) بگیریدو همچنین فرض می کنیم از پایتون استفاده می کنید.عموما همچین کدی می نویسید نه؟import requestsurl=&amp;quothttps://api.covid19api.com/total/country/iran/status/confirmed?from=2021-11-10T00:00:00Z&amp;to=2021-11-11T00:00:00Z&amp;quotresponse=requests.get(url)json_response=response.json()print(json_response[0][&amp;quotCases&amp;quot])همه این متغیر ها یه بخشی از حافظه رو اشغال می کنن و در نهایت تعریف هر کدوم یه مقدار خیلی کمی از سرعت اجرا کم می کنه.پس چرا اینطوری ننویسیمش؟import requestsurl=&amp;quothttps://api.covid19api.com/total/country/iran/status/confirmed?from=2021-11-10T00:00:00Z&amp;to=2021-11-11T00:00:00Z&amp;quotprint(requests.get(url)[0][&amp;quotCases&amp;quot])یا یه مثال دیگه:فرض کنید دارید یه بات برای دیسکورد می نویسید که خودش شی گرا نیست ولی شما یه کلاس برای توکن و متغیر های کانفیگ ایجاد کردید!مثلا:class Config:	Token = &amp;quotYour Token&amp;quot	#other configs...خب این معلومه که کار اشتباهیهاولین نکته ای (که ربط زیادی هم نداره ولی میگم :|) اینه که اصولا توکن و چیز های دیگه ای که باید مخفی بمونن تو خود کد ذخیره نمی کننتو یه فایل مخفی به اسم .env یا با کامند export ذخیرش می کنن و مثلا توی پایتون با این کد میگیرنش:import osos.getenv(&amp;quotTOKEN&amp;quot)دومین نکته اینه که اگه خود کدتون شی گرا نیست، پس لزومی هم نداره که کلاس اضافی برای کانفیگ ایجاد کنیدکافیه یه متغیر ایجاد کنید.به همین سادگی :)من قبول دارم که بعضی متغیر ها و کلاس ها و ... برای خوانایی و راحتی کار لازمنولی وقتی از حد بگذره فقط سرعت اجرا و پرفورمنس کد میاد پایین.فقط هم تو پایتون نیستتو تمام فریمورکا و زبان ها هستدر آخر هم عذر می خوام اگه ناشیانه منظورم رو بیان کردم :,)حالا که تا اینجا اومدید...حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن?کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنیدراستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!اگه این پست رو دوست داشتین لایک، کامنت و دنبال کردن انتشارات یادتون نره?© منابع : تمشک</description>
                <category>Nima Ghasemi</category>
                <author>Nima Ghasemi</author>
                <pubDate>Sat, 13 Nov 2021 15:30:30 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش جنگو: ساخت اولین پروژه و بررسی ساختار پوشه ها ( قسمت سوم )</title>
                <link>https://virgool.io/TameshkGroup/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%88-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1-%D9%BE%D9%88%D8%B4%D9%87-%D9%87%D8%A7-%D9%82%D8%B3%D9%85%D8%AA-%D8%B3%D9%88%D9%85-se4bq5530i9d</link>
                <description>سلام و درودتو پست قبلی توضیح دادم که پیشنیاز های جنگو چیه و چطور باید نصبش کردتوصیه می کنم اگه نخوندین حتما بخونین https://virgool.io/TameshkGroup/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-%D9%86%D8%B5%D8%A8-%D8%AC%D9%86%DA%AF%D9%88-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-cplhrkppxiwn تو این پست یه پروژه تستی میسازیم،میبینیم چه فایلایی داره و بررسی می کنیم هر فایل مهم چه فایده ای دارهمفید و مختصر :)قدم اول:واسه اینکه تنظیمات و اپ ها و ... قاطی نشن یه Virtual environment می سازیمکاری که خیلی راحته کافیه اول یه فولدر بسازیم به اسمی که دوست داریم(اگه نمی دونید این کامند واسه همه سیستم عامل ها یکسانه)mkdir folder_nameبعد بریم توشcd folder_nameو Virtual environment رو بسازیم :)به جای نیما هر اسمی می تونید بزاریدpython -m venv Nimaor python3 -m venv Nimaتامام ؛}قدم دوم:ایجاد پروژهاگه تو فولدر folder_name (یا هرچیزی که اسمش رو گذاشتید) نیستید برید توشبعد این کامند رو بزنید(جای نیما هر اسمی واسه Virtual environment گذاشتید بنویسید)windows :Nima\scripts\activatelinux and mac:source Nima/bin/activateبا اینکار Virtual environment فعال میشه و از این به بعد تا وقتی که با این کامند غیرفعالش کنید یا ترمینالتون رو ببندید کامند هاتون با پایتون داخل این Virtual environment اجرا میشن نه پایتون اصلی سیستمتونwindows:Nima\scripts\deactivatelinux and mac:source Nima/bin/deactivateحالا که Virtual environment رو فعال کردید فقط کافیه جنگو رو نصب کنید :)pip install djangoو بعد هم پروژه رو ایجاد کنید:django-admin startproject project .به جای project هر اسمی دوست دارین بزارینبررسی فایل های ایجاد شدهوقتی این کامند رو زدید همچین فایل هایی ایجاد میشن│   manage.py├───Nima└───project        asgi.py        settings.py        urls.py        wsgi.pyحالا کار هرکدوم چیه؟manage.py:شما از طریقش می تونید با جنگو تعامل داشته باشید و مثلا بگید دیتابیس رو مایگرشن کنهNima:فولدر Virtual environmentproject:فایل اصلی یه پروژه جنگو میان اینجاasgi.pyبرای تعامل با رابط asgi استفاده میشهsettings.py:تنظیمات پروژه اینجا ذخیره میشنurls.py:مشخص می کنه هر آدرسی به چه ویویی باید هدایت بشه(تو پست های بعد متوجه میشید منظورم چیه)wsgi.pyبرای کار با رابط wsgi استفاده میشهنظرتون چیه یه تست ساده بکنیم ببینیم پروژه درست ایجاد شده یا نه؟ :)این کامند رو بزنیدpython manage.py runserverorpython3 manage.py runserverو حالا برین به 127.0.0.1:8080 GG :3راستش واسه پست بعد نمی تونم قول بدم که چکار می کنیم چون باید روش فکر کنم =_=اگه مشکلی داشتید حتما تو کامنتا بگید باهم رفعش می کنیم ^_^و به رسم همیشه تا اینجا که اومدید ...حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن?کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنیدراستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!اگه این پست رو دوست داشتین لایک، کامنت و دنبال کردن انتشارات یادتون نره?© منابع : تمشک</description>
                <category>Nima Ghasemi</category>
                <author>Nima Ghasemi</author>
                <pubDate>Thu, 21 Oct 2021 20:38:55 +0330</pubDate>
            </item>
                    <item>
                <title>هنوز زنده ای؟ 0.0(فورک بمب ها)</title>
                <link>https://virgool.io/TameshkGroup/%D9%87%D9%86%D9%88%D8%B2-%D8%B2%D9%86%D8%AF%D9%87-%D8%A7%DB%8C-00%D9%81%D9%88%D8%B1%DA%A9-%D8%A8%D9%85%D8%A8-%D9%87%D8%A7-wmown03r0s0r</link>
                <description>-از سیستمت خسته شدی؟ ارورای سیستم عامل آزارت میده؟ باگش پیدا نمیشه که نمیشه؟+آره چیکار کنم؟ :/-بایا کن :)+چجوری؟-سرور SSH راه بنداز یه تونل هم با ngrok باز کن بایاش کنم ;) +بیا اینم SSH ?دقایقی بعد...+این سیستم چرا اینقدر صدای فنش زیاده داداش؟ دماش هم اینقدر رفته بالا ممد داره روش چایی دم می کنه :|-می دونی چَرا؟بعضی عکسا صدا دارن ?درود گلای تو خونه :) اگه تا الان متوجه نشدین باید بگم این یه پست طنزه  و صرفا قراره نتیجه چندتا سرچ که از بیکاری زدم درباره فورک بمب رو به اشتراک بزارم باشد که اطلاعاتتان زیاد شود ?چیزی که من دنبالش بودم فورک بمب تو ترمینال یونیکس بیس ها و Command prompt ویندوز بودقبل از هرکاری لطفا اگه می خواین این کامند هارو واسه تست اجرا کنید از یه VM استفاده کنید نه سیستم خودتوناول از همه فورک بمب چیه؟یه برنامه(واقعا نمی دونم میشه بهش گفت برنامه یا نه؛ چون بیشتر شبیه بدافزاره) که وقتی اجرا میشه دوتا subprocesses یا فورک رو که شبیه خودشه ایجاد می کنه،اونی که ایجاد میشه دوتا دیگه ایجاد می کنه،بعدی ها هرکدوم دوتا دیگه ایجاد می کنناین فرآیند تا زمانی ادامه پیدا می کنه که رم سیستم پر میشه و دیگه هیچکاری نمی تونید بکنید جز اینکه سیستم رو دستی ری استارت کنید.این تصویر خیلی زیبا توضیح میده منظورمو:منبع تصویر این پسته فورک بمب رو تقریبا همه جا می تونید بزنید :)حتی HTML!(البته فکر نکنم تاثیری رو پرفورمنس سیستم داشته باشه?)اما جالب تر نیست تو همون ترمینال بزنیم؟تو ترمینال لینوکس::(){ :|: &amp; };:توضیحش::() #Define new function    #named &#039;:&#039;{ #Begin function definition  #block  :|:&amp; #Pipe the very &#039;:&#039; function through itself,        #creating two processes, and make the        #resulting copy run in the background        #(the &amp; part)} #End function definition block;: #Call &#039;:&#039; for the first time, initiating a chain   #reaction: each instance of &#039;:&#039; will create two   #more instances, ad infinitumتو ویندوز کافیه که اینو تو یه فایل bat یا cmd بنویسید و ران کنید :)%0|%0چجوری کار می کنه؟%0 refers to the command used to run the current program. For example, script.batA pipe | symbol will make the output or result of the first command sequence as the input for the second command sequence. In the case of a fork bomb, there is no output, so it will simply run the second command sequence without any input.Expanding the example, %0|%0 could mean script.bat|script.bat. This runs itself again, but also creating another process to run the same program again (with no input).و مک(واسه پولدارا ?)شما توی مک می تونید همون کامند لینوکس رو استفاده کنید چون مک یونیکس بیسهولی یه مشکلی هستدر هر صورت هرجوری که فورک بمبر بزنید رو مک بعد از یه مدت دیگه فورک جدید ساخته نمیشهچون مک یه محدودیت داره برای هر کاربر تو تعداد processes ها که صد البته میشه تغییرش داد ولی خب هر چقدر هم زیادش کنید بی نهایتش نمیشه کرد :)فکر نمی کنم چیزی رو جا انداخته باشم پس به رسم همیشگی؛ تا اینجا که اومدید لایک که از واجباته ?کامنت هم اگه سوالی داشتید حتما بنویسید تا جایی که بشه جواب میدم =} اگه هم نداشتید صرفا بنویسید عالی بود دل هماهنگ کننده ویرگول شاد بشه =))))حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن?کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنیدراستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!پ.ن:یه سر به منابع هم بزنید حتما، چیزای جالبی یاد میگیرید© منابع : تمشک،ویکی پدیا،استک اور فلو،استک اور فلو،گیکز فور گیکز،Fork bombs in lots of languages</description>
                <category>Nima Ghasemi</category>
                <author>Nima Ghasemi</author>
                <pubDate>Thu, 07 Oct 2021 22:36:34 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش جنگو: نصب جنگو ( قسمت دوم )</title>
                <link>https://virgool.io/TameshkGroup/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-%D9%86%D8%B5%D8%A8-%D8%AC%D9%86%DA%AF%D9%88-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-cplhrkppxiwn</link>
                <description>ســـــــلــــــامــــــــــاول از هرچیز اگه قسمت قبل رو ندیدید حتما ببینید: https://virgool.io/TameshkGroup/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-%D8%AC%D9%86%DA%AF%D9%88-%DA%86%DB%8C%D9%87-%D9%82%D8%B3%D9%85%D8%AA-%DB%8C%DA%A9-drepxvokw6fs توی پست قبلی گفتم که جنگو چیه قضیه این آموزش چیه و چیکار می خوایم بکنیمپس بدون بحث اضافی شروع می کنیم ;)چیزایی که جنگو نیاز دارهبه احتمال خیلی زیاد(99.99999999999999999%) می دونید که جنگو با پایتون نوشته شده پس به پایتون هم نیاز دارهجز این واقعا هیچ پیش نیازی نمیشه واسه نصب جنگو تعریف کردنصبکافیه این کامند رو توی هر سیستم عاملی که هستین بزنین:#in windows
python -m pip install django
#in linux and mac
python3 -m install djangoحالا باید تست کنیم ببینیم نصب شده یا نه:#in windows
python -m django --version 
#in linux and mac
python3 -m django --versionکه اگه این خروجی رو دیدید یعنی جنگو درست نصب شده:این آخرین ورژن  تو این تاریخه برای شما ممکنه متفاوت باشهتموم شد :)به قول عزیزی ایزی پیزی لمون اسکوییزی :)یه مرحله مونده!معمولا توصیه میشه و بهتره که پروژه های جنگو داخل یه Virtual environment ران بشن تا تنظیمات روی بقیه پروژه های اثر نذاره و بعضی چیزای دیگه هم قاطی نشن(مگه اینکه خودتون لازم داشته باشید اینطوری بشه)پس به ماژول virtualenv هم نیاز داریم که توی نسخه های جدید (تا جایی که من خبر دارم از 3.8 به بعد) دیفالت نصبهو می تونید برای مطمئن شدن از این موضوع این کامند رو بزنین:python -m venv orpython3 -m venv اگه این خروجی رو دیدید virtualenv هم نصبه:کار تموم شده دیگه ?توی پست بعد میریم سراغ ساختن اولین پروژه و بررسی ساختارهاش =}حالا که تا اینجا اومدید :حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن?کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنیدراستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!اگه این پست رو دوست داشتین لایک، کامنت و دنبال کردن انتشارات یادتون نره?© منابع : تمشک </description>
                <category>Nima Ghasemi</category>
                <author>Nima Ghasemi</author>
                <pubDate>Fri, 01 Oct 2021 16:05:46 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش جنگو: جنگو چیه ؟ ( قسمت یک )</title>
                <link>https://virgool.io/TameshkGroup/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-%D8%AC%D9%86%DA%AF%D9%88-%DA%86%DB%8C%D9%87-%D9%82%D8%B3%D9%85%D8%AA-%DB%8C%DA%A9-drepxvokw6fs</link>
                <description>آموزش جنگو: جنگو چیه ؟ ( قسمت یک )سلامــــــــــخوبید؟خوشید؟سلامتید؟الا آخر...D:راستش چند وقت پیش سر یه ایده تصمیم گرفتم برگردم سراغ جنگو و یکم بیشتر ازش یاد بگیرم.دیدم عجب! چه چیز خفنیه! چرا ولش کرده بودم؟?رفتم سراغش و دارم خرد خرد یاد میگیرم?و قرار بر این شد که هرچی یاد گرفتم بیام بنویسم.در واقع این یه آموزش مرحله به مرحله قرار نیست باشه.هرچی که یاد گرفتم در حین پروژه ها و جاهای دیگه دسته بندی می کنم و اینجا می نویسم :)جنگو چیه؟رسیدن شما به این پست چند حالت بیشتر نداره D:سرچ کردید جنگو چیهمی دونید چیه و سرچ کردید آموزش جنگونمی دونید چیه این پست رو اتفاقی یا از طریق دنبال کردن تمشک پیدا کردید.می دونید چیه این قسمت واسه اوناس که نمی دونن?اینجا رو میزارم ویکی پدیا به جای من حرف بزنه:Django (/ˈdʒæŋɡoʊ/ JANG-goh; sometimes stylized as django)[6] is a Python-based free and open-source web framework that follows the model–template–views (MTV) architectural pattern.[7][8] It is maintained by the Django Software Foundation (DSF), an American independent organization established as a 501(c)(3) non-profit.Django&#x27;s primary goal is to ease the creation of complex, database-driven websites. The framework emphasizes reusability and &quot;pluggability&quot; of components, less code, low coupling, rapid development, and the principle of don&amp;amp;amp;amp;#x27;t repeat yourself.[9] Python is used throughout, even for settings, files, and data models. Django also provides an optional administrative create, read, update and delete interface that is generated dynamically through introspection and configured via admin models.Some well-known sites that use Django include Instagram,[10] Mozilla,[11] Disqus,[12] Bitbucket,[13] Nextdoor[14] and Clubhouse.[15]به همین راحتی :) (اگه متوجه نشدین می تونید این لینک رو ببینید)یه فریم ورک رو متصور بشید که:سرعتپشتبانی از چند زبانیامنیت درست حسابیکلی امکانات خفن مثل سیستم یوزر منیجمنتپشتیبانی از انواع دیتابیسپشتیبانی از انواع وب سرورو کلی چیز دیگه که می تونید تو این لینک ببینید دارهمیشه جنگو :)تاریخچه جنگوجنگو تو پاییز سال 2003( وجود خارجی نداشتم من اون موقع :/) توسط Simon Willison و Adrian Holovaty (کسی تونست درست تلفظ کنه اسمشون رو تیتاپ طلایی پیش من داره =} ) خلق شد.تو سال 2005 با لاینسس BSD منتشر شد و ژوئن سال ۲۰۰۸ بنیاد Django Software Foundation (DSF) برای توسعه و نگهداری(maintenance) جنگو به وجود اومد.اگه براتون جالبه باید بگم اسمش هم از اسم نوازنده گیتار معروف ژان باتیست راینهارت که معروف بوده به جنگو( یا جانگو وارد این دعواها نمیشیم :)) راینهارت (Django Reinhardt) گرفته شده (چراش رو اون دوتا عزیزی که خلق کردن کردن فریمورک رو باید جواب بدن :/)چرخه انتشار ورژن جنگویه چیز جالبی داره جنگو مثل اکثر برنامه ها و تکنولوژی ها که جالبه بدونینجنگو ورژن های TLS و Beta داره که تاریخ پشتیبانی و آپدیت متفاوتی دارنمثلا آخرین ورژن TLS جنگو تا سال 2026 ساپورت میشه(محض اطلاع کسایی که چند سال بعد این متنو می خونن الان سال 2021 هستیم ماه سپتامبر)چرا جنگو و تفاوتش با رقباش؟سوالیه که خیلی ها به خاطرش وب رو زیر و رو می کنناین بر عهده شماست که تصمیم بگیرید جنگو به دردتون می خوره یا نهاما من یه سری جدول از مقایسه جنگو بعضی رقباش میزارم ببینیدلجنگو در مقابل لاراوالجنگو در مقابل اکسپرسجنگو در مقابل ruby on railsپ.ن:بدبختانه هرچی گشتم واسه بقیه فریم ورکا جدول نبود :(تو قسمت بعدی یاد میگیریم چجوری جنگو رو نصب کنیم و یه پروژه جنگو بسازیم ?حتما یوتیوب رو ساب کنید و اینستاگرام هم دنبال کنید که آموزشای باحالی تو راهن? کد های آموزش هارو هم می تونید توی گیت هاب تمشک پیدا کنیدراستی اگه دیسکورد دارین حتما تو سرور دیسکورد هم جوین بشید که برنامه ها داریم!اگه این پست رو دوست داشتین لایک، کامنت و دنبال کردن انتشارات یادتون نره?شاد باشید</description>
                <category>Nima Ghasemi</category>
                <author>Nima Ghasemi</author>
                <pubDate>Fri, 17 Sep 2021 00:32:49 +0430</pubDate>
            </item>
            </channel>
</rss>