<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های سعید</title><link>https://virgool.ir/feed/@saeed.es91</link><description>عاشق سفر هستم با این که قبلا عاشق برنامه نویسی بودم !</description><language>fa</language><pubDate>2026-11-10 18:39:40</pubDate><image><url>https://files.virgool.ir/upload/users/5038/avatar/AMf1Vz.png</url><title>سعید</title><link>https://virgool.ir/@saeed.es91</link></image><item><title>آموزش Google Search Console به زبان ساده + معرفی ابزار تحلیل</title><link>https://virgool.ir/@saeed.es91/آموزش-google-search-console-به-زبان-ساده-معرفی-ابزار-تحلیل-ixoh1xkhxtzw</link><description>آموزش سرچ کنسول گوگل و ابزار تحلیل آنآیا واقعاً می‌دانید اعداد داخل Search Console چه چیزی درباره سایت شما می‌گویند؟ممکن است یک روز ببینید سایت شما ۵۰ هزار Impression داشته، اما فقط ۱۲۰۰ کلیک گرفته است. آیا این خوب است یا بد؟یا ممکن است Search Console میانگین Position را عدد ۷ نشان دهد، در حالی که وقتی خودتان عبارت موردنظر را در گوگل جستجو می‌کنید، سایتتان را در رتبه ۱۰ پیدا می‌کنید.کدام عدد درست است؟Search Console صرفاً یک ابزار برای دیدن تعداد بازدیدها نیست؛ اگر درست از آن استفاده کنیم، می‌تواند به یک ابزار تصمیم‌گیری برای سئو تبدیل شود.در این مقاله می‌خواهیم مهم‌ترین بخش آن، یعنی Performance Report را بررسی کنیم و یاد بگیریم چطور از چهار شاخص اصلی آن برای تحلیل وضعیت سایت استفاده کنیم:ImpressionClickCTRAverage PositionGoogle Search Console چیست؟Google Search Console یکی از ابزارهای رسمی گوگل برای بررسی عملکرد سایت در نتایج جستجو است.با استفاده از آن می‌توانیم ببینیم کاربران با چه عباراتی سایت ما را پیدا کرده‌اند، چند بار صفحات سایت در نتایج جستجو نمایش داده شده‌اند، چند نفر روی آن‌ها کلیک کرده‌اند و وضعیت تقریبی صفحات در نتایج جستجو چگونه بوده است. (Google Help)البته Search Console فقط برای مشاهده آمار نیست.اگر بدانیم چطور داده‌های آن را تفسیر کنیم، می‌توانیم از آن برای پیدا کردن فرصت‌های جدید تولید محتوا، بهبود صفحات موجود و شناسایی افت عملکرد سایت استفاده کنیم.۱. Impression چیست؟فرض کنید کاربری در گوگل جستجو می‌کند:بهترین روش افزایش سرعت سایتو یکی از صفحات سایت شما در نتایج جستجو نمایش داده می‌شود.این نمایش می‌تواند یک Impression ایجاد کند.بنابراین Impression را می‌توان به زبان ساده این‌طور تعریف کرد:تعداد دفعاتی که نتیجه‌ای از سایت شما در نتایج جستجوی گوگل نمایش داده شده است.ادامه آموزش را می توانید در وبلاگ آذران کد بخوانیدhttps://tools.azaran-code.ir/blog/google-search-console-impression-ctr-position</description><category>سعید</category><author>سعید</author><pubDate>Sun, 16 Aug 2026 07:16:56 +0330</pubDate></item><item><title>چه طور ساختار پروژه لاراولی را به چت بات ها معرفی کنیم؟</title><link>https://virgool.ir/@saeed.es91/چه-طور-ساختار-پروژه-لاراولی-را-به-چت-بات-ها-معرفی-کنیم-g1ss1aadhepi</link><description>البته امروزه agent های زیادی (مثل کرسر یا ...) هستند برای این موضوع ولی اگر بخواهید بدون استفاده از آنها اینکار رو انجام بدید چی ؟فرض کنید در چت بات هایی مثل chatgpt یا ... لازم دارید که با توجه به ساختار پروژه لاراولی شما ، درخواست شما را انجام بده.جت بات هایی مثل grok یا chatgpt گزینه ای به نام project اضافه کردند که می تونید توضیحات و فایل هایی را برای بررسی هرچه بهتر پاسخگویی بهشون بدید.در پروژه لاراولی می تونید از پکیج زیر استفاده کنید و از &#34;ساختار فایل بندی پروژه&#34; و &#34;ساختار پایگاه داده&#34; فایل های مناسب و قابل استفاده برای این چت بات ها ایجاد کنید.https://github.com/saeedvir/laravel-project-markdownاول با دستور زیر نصب کنید :composer require saeedvir/laravel-project-markdownبعد با دو تا دستور زیر فایل ها مورد نظر ساخته میشه :php artisan project:files-markdownphp artisan project:db-markdownالبته این پکیج دستورهای بیشتری هم داره که می تونید از صفحه گیت هاب بخونید.حالا کافی هست این دو تا فایل را به چت بات هوش مصنوعی بدید تا هوش مصنوعی براساس اون به شما پاسخ های کامل تر بده.همچنین &#34;دستورالعمل&#34; را هم سعی کنید کامل بنویسید.برای نمونه یک مثال خیلی ساده :-use &#34;project-structure.md&#34; and &#34;database.md&#34;&#xA;-laravel version 12&#xA;-livewire version 3&#xA;-php 8.4&#xA;-mysql 8امیدوارم از این آموزش استفاده کرده باشید.https://virgool.io/@saeed.es91https://github.com/saeedvir</description><category>سعید</category><author>سعید</author><pubDate>Sat, 25 Oct 2025 11:12:00 +0330</pubDate></item><item><title>فیلتر بلوم (Bloom Filter) و فیلتر کوکو (Cuckoo Filter)</title><link>https://virgool.ir/@saeed.es91/فیلتر-بلوم-bloom-filter-و-فیلتر-کوکو-cuckoo-filter-dhnbmnrwawrx</link><description>درک ساده از دو ساختار داده‌ی پرکاربرد برای جستجوی سریعدر دنیای داده‌های بزرگ (Big Data) و سیستم‌های توزیع‌شده، همیشه یک سؤال تکراری وجود دارد:«چطور می‌توان سریع بفهمیم که یک عنصر در مجموعه‌ای از داده‌ها وجود دارد یا نه، بدون اینکه مجبور باشیم کل داده‌ها را جستجو کنیم؟»پاسخ این سؤال در ساختارهای داده‌ی احتمالاتی (Probabilistic Data Structures) مثل Bloom Filter و Cuckoo Filter نهفته است.این دو ابزار کمک می‌کنند تا بتوانیم با حافظه بسیار کم و سرعت بالا، وجود یا عدم وجود یک آیتم را بررسی کنیم.آشنایی با Bloom Filterتعریف سادهفیلتر بلوم در واقع یک آرایه‌ای از بیت‌ها (0 و 1) است که در ابتدا همه صفر هستند.با کمک چند تابع هش (Hash Function)، می‌توان تشخیص داد که آیا یک داده قبلاً در مجموعه ذخیره شده یا نه.https://en.wikipedia.org/wiki/Bloom_filterhttps://vrgl.ir/cHttnروش کار Bloom Filterفرض کنید می‌خواهیم بفهمیم آیا یک کلمه (مثلاً &#34;apple&#34;) قبلاً در مجموعه بوده است یا نه:در مرحله افزودن (Insert):کلمه‌ی &#34;apple&#34; از طریق چند تابع هش (مثلاً ۳ تابع هش مختلف) پردازش می‌شود.هر تابع هش یک موقعیت خاص در آرایه‌ی بیت‌ها برمی‌گرداند (مثلاً خانه‌های 4، 10 و 20).در این خانه‌ها مقدار بیت را از 0 به 1 تغییر می‌دهیم.در مرحله جستجو (Query):دوباره همان هش‌ها روی &#34;apple&#34; اعمال می‌شود.اگر تمام خانه‌های مربوطه مقدار 1 داشته باشند، احتمال می‌دهیم که &#34;apple&#34; در مجموعه وجود دارد.اگر حتی یکی از خانه‌ها 0 باشد، مطمئن می‌شویم که این کلمه وجود ندارد.نکته مهم:فیلتر بلوم هرگز خطای منفی (False Negative) ندارد؛ یعنی اگر بگوید داده‌ای وجود ندارد، قطعاً این داده را ندارد.اما ممکن است خطای مثبت (False Positive) داشته باشد؛ یعنی بگوید وجود دارد، در حالی که در واقع این داده وجود ندارد.مزایای Bloom Filterبسیار سریع در درج و جستجوحافظه بسیار کم نسبت به نگهداری کل داده‌ها.پیاده‌سازی ساده با آرایه بیتی و چند تابع هش.کاربردی در سیستم‌های بزرگ مثل دیتابیس‌ها، کش‌ها و موتورهای جستجو.معایب Bloom Filterامکان خطای مثبت: ممکن است بگوید داده‌ای وجود دارد در حالی که ندارد.عدم حذف عناصر: در نسخه‌ی معمولی، نمی‌توان داده‌ای را حذف کرد چون ممکن است بیت‌هایش با داده‌های دیگر مشترک باشد.نیاز به تخمین اندازه اولیه: باید از قبل بدانیم چند داده قرار است وارد شود تا اندازه فیلتر و تعداد هش‌ها را درست انتخاب کنیم.افزایش نرخ خطا با افزایش داده‌ها: اگر بیش از حد ظرفیتش داده وارد شود، خطاها زیاد می‌شود.https://gist.github.com/saeedvir/e9f1d87ade2850396847bbfe046cccd4آشنایی با Cuckoo Filterتعریف سادهفیلتر کوکو (Cuckoo Filter) در سال ۲۰۱۴ معرفی شد و بر پایه‌ی Cuckoo Hashing ساخته شده است.هدف آن، رفع برخی محدودیت‌های Bloom Filter است؛ مخصوصاً قابلیت حذف داده‌ها و دقت بالاتر در برخی کاربردها.https://en.wikipedia.org/wiki/Cuckoo_filterروش کار Cuckoo Filterفیلتر کوکو به جای استفاده از آرایه بیتی، از یک آرایه از سطل‌ها (Buckets) استفاده می‌کند.هر سطل می‌تواند چند مقدار کوچک (به نام Fingerprint) ذخیره کند.وقتی می‌خواهیم یک مقدار مثلاً &#34;apple&#34; را ذخیره کنیم:از طریق یک تابع هش، یک Fingerprint کوتاه از داده تولید می‌شود (مثلاً 8 بیت).سپس این هش برای یافتن دو مکان احتمالی در جدول استفاده می‌شود (index1 و index2).اگر یکی از سطل‌ها جا داشته باشد، fingerprint در آن قرار می‌گیرد.اگر هر دو پر باشند، فیلتر یک مقدار قدیمی را بیرون می‌اندازد (مثل رفتار پرنده‌ی کوکو!) و آن مقدار را به موقعیت جایگزین خودش می‌فرستد.این فرآیند ممکن است چند بار تکرار شود تا جا پیدا شود.در مرحله جستجو:همان fingerprint تولید می‌شود.فقط دو مکان احتمالی بررسی می‌شود (index1 و index2).اگر fingerprint در یکی از آنها وجود داشت، داده احتمالاً وجود دارد.در مرحله حذف:اگر fingerprint پیدا شد، به‌راحتی حذف می‌شود؛ بدون تأثیر روی سایر داده‌ها.(این یکی از برتری‌های بزرگ نسبت به Bloom Filter است.)⚙️ مزایای Cuckoo Filterقابلیت حذف عناصر : بر خلاف Bloom Filter.نرخ خطای کمتر در بسیاری از موارد، مخصوصاً در چگالی پایین.کارایی بالا: فقط دو مکان بررسی می‌شود، که سرعت بالایی دارد.استفاده کارآمد از حافظه: به‌خصوص وقتی fingerprint کوچک انتخاب شود.عدم نیاز به دانستن تعداد دقیق داده‌ها از قبل: نسبت به Bloom Filter انعطاف‌پذیرتر است.معایب Cuckoo Filterپیچیدگی پیاده‌سازی: نسبت به Bloom Filter، ساختار و منطق درونی آن دشوارتر است.احتمال شکست درج (Insertion Failure): اگر جدول بیش از حد پر شود، ممکن است نتوانیم به آن آیتم جدید وارد کرد.نیاز به تنظیم دقیق اندازه سطل‌ها و fingerprintها: چون تعادل بین حافظه، خطا و کارایی حساس است.مصرف بیشتر حافظه در داده‌های خیلی کوچک: در برخی کاربردها، Bloom Filter همچنان ساده‌تر و بهینه‌تر است.https://gist.github.com/9f2076b8257c579e49647a95ddc6708e.git?_=nیک نکته را توجه داشته باشید که برای استفاده باید از سیستم های cache و فشرده سازی استفاده کنید.کلاس های بالا صرفا جهت آشنایی با روش کار این دو فیلتر هست.امیدوارم از این مطلب استفاده کامل رو برده باشید.https://github.com/saeedvir</description><category>سعید</category><author>سعید</author><pubDate>Wed, 22 Oct 2025 12:03:02 +0330</pubDate></item><item><title>احراز هویت با QR-CODE در لاراول</title><link>https://virgool.ir/@saeed.es91/احراز-هویت-با-qr-code-در-لاراول-wb23yqjmigmj</link><description>بعد از چند روز کار فشرده بالاخره وقت شد این آموزش را در ویرگول قرار بدم.همین طور که می دانید روش های مختلفی برای احراز هویت کاربر وجود دارد،از نام کاربری و رمز عبور ثابت تا روش های O-Auth مثل ورود با حساب کاربری گوگل یا روش ارسال کد تایید به شماره همراه کاربر.یک روشی هم هست که کاربر از طریق یک برنامه واسط مثل microsoft authenticator app تصویر qrcode را اسکن می کند و کد ورود را داخل سایت وارد می کند.در این مطلب می بینیم که چه طور می توانیم این روش را در Laravel پیاده سازی کنیم.دقت کنید که کد استفاده شده بسیار ساده است و لازم هست که فاکتورهای امنیتی را خودتان در نظر بگیرید.مرحله اوللاراول را طبق دستور زیر نصب کنید:composer create-project laravel/laravel:^11.0 example-appمرحله دومدستور زیر را هم وارد کنید تا simplethenticator نصب شود:composer require sebastiandevs/simplethenticatorمرحله سومفایل ENV را باز کنید و این دو خط را ویرایش کنید:دقت کنید که اگر قصد دارید در یک پروژه آماده استفاده کنید ، می توانید از این مرحله چشم پوشی کنید.APP_TIMEZONE=Asia/Tehran&#xA;SESSION_DRIVER=fileمرحله چهارممحتوا هر دو فایل در آدرس زیر قابل دسترسی هست :https://gist.github.com/saeedvir/19b43f0c03c29b04a9fa6d360583b3edفایل web.php را باز کنید و مطابق زیر ویرایش کنید:web.phpحالا یک فایل blade با نام qrcode در مسیر زیر ایجاد کنید:resources\viewsqrcode.blade.phpمرحله پنجمحالا کافیه برنامه را تست کنید.اگر همه چیز درست باشه ، شبیه تصویر زیر را مشاهده می کنید:با برنامه Microsoft Authenticator که اسکن کنید یک کد به شما می دهد و از طریق آن کد قابلیت احراز هویت دارد.امیدوارم که از این خرده آموزش ! لذت برده باشیددوست داشتید می توانید من رو حمایت کنید https://reymit.ir/saeedvir/  https://github.com/saeedvir </description><category>سعید</category><author>سعید</author><pubDate>Tue, 26 Nov 2024 18:21:36 +0330</pubDate></item><item><title>چالش ذخیره اطلاعات سریالایز شده در دیتابیس</title><link>https://virgool.ir/@saeed.es91/چالش-ذخیره-اطلاعات-سریالایز-شده-در-دیتابیس-f3jexbjzoxvd</link><description>در یکی از پروژه های اخیر نیاز بود یکسری داده سریالایز شده (serialize) در دیتابیس ذخیره شود.پروژه قدیمی بود وگرنه چه چیزی بهتر از NOSQL !در شروع کار خیلی راحت میشه به این شکل اطلاعات را سریالایز کرد :&lt;?php&#xA;$data = ................;&#xA;$output = serialize($data);مرحله بعد هم که در دیتابیس ذخیره میشود.همین طور که می دانید در php دو تابع برای این کار داریم ، یعنی serialize و unserialize که عمل سریالایز را برای ما مدیریت می کنند.برای مثال:echo serialize([&#39;name&#39;=&gt;&#39;saeed&#39;,&#39;test&#39;=&gt;true]);که خروجی میشود:a:2:{s:4:&#34;name&#34;s:5:&#34;saeed&#34;s:4:&#34;test&#34;b:1;}حالا فرض کنید اطلاعات خیلی بیشتری را بخواهید ذخیره کنید.طبیعتا حجم جدول بسیار بالا میرود.خب راه حل چیه؟آیا نمی توان داده ها را فشرده شده در دیتابیس ذخیره کرد و در مرحله واکشی اطلاعات آن ها از حالت فشرده خارج کرد و unserialize کرد؟خبر خوب اینکه php برای این کار هم توابعی در نظر گرفته یعنی gzcompress و gzuncompress.فقط نکته ای که وجود دارد این هست که برای ذخیره در دیتابیس باید به صورت base64 در دیتابیس ذخیره کرد.$compressedData = base64_encode(gzcompress(serialize($data), 9));&#xA;&#xA;$unCompressedData = unserialize(gzuncompress(base64_decode($your_encoded_data)));&#xA;حالا بیایید یک بنچمارک ساده بگیریم.اگر اطلاعات به صورت سریالایز ساده ذخیره شود ، هر مورد چیزی در حدود 35.42 کیلوبایت هست و اگر فشرده شده ذخیره کنیم ، چیزی در حدود 2.86 کیلوبایت هست.با یک حساب سر انگشتی می توانید بفهمید با 1000 مورد چقدر فضا در دیتابیس اشغال میشد !نمودار فضای اشغال شده به کیلوبایتیعنی برای ذخیره 1 و 100 و 1000 و 10000 مورد در دیتابیسSerialize (default)&#xA;         data: [&#xA;                 0.01 ms, &#xA;                 2.44 ms,&#xA;                 22.55 ms,&#xA;                 208.7 ms&#xA;         ]&#xA;&#xA; Compressed&#xA;         data: [&#xA;             0.01 ms ,&#xA;             2.04 ms,&#xA;             18.98 ms,&#xA;             176.60 ms&#xA;        ]&#xA;نمودار زمان ذخیره سازیهمین طور که می بینید با وجود این عملیات فشرده سازی ، زمان ذخیره در دیتابیس کمتر از حالی هست که اطلاعات سریالایز تنها شوند.از نظر رم اشغال شده هم حالت فشرده شده مقدار کمتری را اشغال می کند برای مثال برای 100 مورد ذخیره در دیتابیس :Serialize (default):&#xA;6,948.19 (KB) - 2,428.15 (ms)&#xA;&#xA;Compressed:&#xA;1,941.72 (KB) - 2,087.33 (ms)تنها در مورد مصرف CPU ، حالت فشرده سازی ، تقریبا مقدار بیشتری (یعنی چیزی نزدیک دو برابر) مصرف می کند.امیدوارم از این مقایسه استفاده برده باشید ... https://reymit.ir/saeedvir  https://github.com/saeedvir </description><category>سعید</category><author>سعید</author><pubDate>Fri, 01 Nov 2024 19:05:59 +0330</pubDate></item><item><title>چالش جستجو در محصولات با اشتباهات کاربران در PHP !</title><link>https://virgool.ir/codenevis/چالش-جستجو-در-محصولات-با-اشتباهات-کاربران-در-php-iskpjcpr0wsf</link><description>اخیرا موردی که در سایت مشاهده کردیم ، اشتباهات تایپی زیاد کاربران در بخش جستجو محصولات بود.مثلا کاربرانی بودند که به جای تایپ &#34;موتور آب&#34; عبارت &#34;l,j,v hf&#34; را جستجو می کردند یا جستجو عباراتی که در دیتابیس موجود نبود.فرض کنید جدولی به شکل زیر داریم:بعد کلمات کلیدی را به نحوی در اختیار داریم یا از دیتابیس استخراج کردیمکه مثلا شده ایناقبل از اون اشتباهاتی که داشته را باید برطرف کنیممثلا اگر جستجو براساس عبارتی که کاربر جستجو کرده (که در اینجا &#34;l,j,v hf&#34;) هست نتیجه ای نداشت، اون وقت باید با تابع زیر یک تبدیل حروف انجام بدیمبعد باید شباهت جستجو کاربر با کلمات کلیدی (که اینجا چند تا نوشتم) رو پیدا کنیم به عنوان مثال با کد زیر میشه این کار رو انجام داد :اطلاعات بیشتر در مورد تابع استفاده شده:https://www.php.net/manual/en/function.levenshtein.phpفرض کنیم کاربر عبارت &#34;&#39;,ad h\g&#34; یا &#34;&#39;گوشیاپل&#34; مقداری که در متغیر قرار داده میشه چیزی شبیه اینه :گوشی &lt;--------&gt; 6&#xA;موبایل &lt;--------&gt; 7&#xA;اپل &lt;--------&gt; 8&#xA;لپ تاپ &lt;--------&gt; 9&#xA;هواوی &lt;--------&gt; 9&#xA;هواوی مد &lt;--------&gt; 10&#xA;تبلت &lt;--------&gt; 11&#xA;اچ‌پی &lt;--------&gt; 11&#xA;هواوی مد اپل &lt;--------&gt; 11&#xA;سامسونگ &lt;--------&gt; 12&#xA;که هرچه اون عدد کوچتر باشه ، شباهت ش بیشتر هست.حالا می تونید براساس رتبه این کلمات تصمیم گیری کنید و جستجو را بهتر کنید.امیدوارم استفاده کرده باشید.سوالی بود در تلگرام بپرسید ... https://reymit.ir/saeedvir  https://github.com/saeedvir </description><category>سعید</category><author>سعید</author><pubDate>Sun, 20 Oct 2024 11:45:18 +0330</pubDate></item><item><title>ارسال ایمیل برای laravel  در لوکال هاست (smtp server)</title><link>https://virgool.ir/codenevis/ارسال-ایمیل-در-laravel-در-لوکال-هاست-smtp-server-jsdjbbovoeuc</link><description>ارسال ایمیل هنوز هم بخش جدایی ناپذیر برنامه های تحت وب هست.برای مثال برای بخش بازیابی کلمه عبور یا ارسال رسید پرداخت کاربر ، شما نیاز به ارسال ایمیل دارید. و برای بررسی و تست ارسال ایمیل در لوکال هاست نیاز به یک SMTP Server دارید.برنامه Mail-Dev هان چیزی است که شما لازم دارید.آدرس دریافت برنامه از Github : https://github.com/samirdjelal/mail-dev?tab=readme-ov-file بعد از دانلود و نصب آن ، کافی است روی Start Server کلیک کنید.تنظیمات فایل ENV در لاراول:نمونه کد ارسال ایمیل در لاراول:php artisan make:mail PasswordRestMailکد ارسال ایمیل در Controller:یک فایل blade در مسیر زیر ایجاد کنید:resources\views\email\password-reset.blade.phpامیدوارم از این آموزش لذت برده باشید. https://reymit.ir/saeedvir  https://virgool.io/@saeed.es91/%D9%86%D8%AD%D9%88%D9%87-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A8%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%DB%8C-%D9%86%D8%B3%D8%AE%D9%87-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%AF%D8%B1-composer-krbugwsrbajo صفحه من در Github: https://github.com/saeedvir/saeedvir </description><category>سعید</category><author>سعید</author><pubDate>Fri, 04 Oct 2024 04:22:26 +0330</pubDate></item><item><title>نحوه بررسی بروزرسانی نسخه لاراول در Composer ?</title><link>https://virgool.ir/@saeed.es91/نحوه-بررسی-بروزرسانی-نسخه-لاراول-در-composer-krbugwsrbajo</link><description>همین طور که می دانید لاراول بروزرسانی های منظمی دارد.حالا چه طور می توانیم وقتی دستوررا فراخوانی می کنیم ، نسخه جدید لاراول را نیز بررسی کنیم؟کافی هست یک فایل به نام checkupdate در پوشه جاری پروژه یا در پوشه vendor/bin  ایجاد کنید.حالا کد زیر را در آن قرار دهید:&lt;?php//check if file execute in consoleif (php_sapi_name() !== &#39;cli&#39;) {echo consoleMessage (&#34;This script must be executed in the command line.&#34;,&#34;red&#34;).PHP_EOL;exit;}echo consoleMessage (&#34;Checking for installed laravel and latest laravel version ... &#34;.&#34;\u{1F680}&#34;,&#39;default&#39;).PHP_EOL.PHP_EOL;if (!($laravel_version = getLaravelVersion()) || !($last_laravel_version = getNewVersion(&#39;laravel/framework&#39;))) {echo consoleMessage(&#34;Laravel version not found in composer.lock!&#34;,&#39;red&#39;).PHP_EOL;exit;}if ($laravel_version === $last_laravel_version) {echo consoleMessage (&#34;Laravel version is up to date &#34;.&#34;\u{2713}&#34;,&#34;green&#34;).PHP_EOL;} else {echo consoleMessage (&#34;Laravel version is not up to date&#34;,&#34;red&#34;).PHP_EOL;echo consoleMessage (&#34;Current version: &#34;,&#39;default&#39;).consoleMessage($laravel_version,&#39;yellow&#39;).PHP_EOL;echo consoleMessage (&#34;Latest version: &#34;,&#39;default&#39;).consoleMessage($last_laravel_version,&#39;yellow&#39;).PHP_EOL;}echo PHP_EOL.PHP_EOL;/*** Gets the version of the Laravel framework from the composer.lock file.** @return string The version of Laravel or an empty string if not found.*/function getLaravelVersion(): string{$composerLockFile = getComposerLockFile();if (!file_exists($composerLockFile)) {echo consoleMessage (&#34;composer.lock file not found!&#34;,&#39;red&#39;).PHP_EOL;exit;}$composerJsonData = json_decode(file_get_contents($composerLockFile), true);if (isset($composerJsonData[&#39;require&#39;][&#39;laravel/framework&#39;])) {// If the version is in the require section of the composer.lock file.return standardizeVersion($composerJsonData[&#39;require&#39;][&#39;laravel/framework&#39;]);} elseif (isset($composerJsonData[&#39;packages&#39;])) {// If the version is in the packages section of the composer.lock file.foreach ($composerJsonData[&#39;packages&#39;] as $package) {if ($package[&#39;name&#39;] === &#39;laravel/framework&#39;) {return standardizeVersion($package[&#39;version&#39;]);}}}return &#39;&#39;;}/*** Gets the latest version of the given package from packagist.org.** @param string $packageName The name of the package to get the version of.* @return string The latest version of the package or an empty string if not found.*/function getNewVersion(string $packageName = &#34;laravel/framework&#34;): string{$packagistUrl = &#34;https://repo.packagist.org/p2/{$packageName}.json&#34;;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $packagistUrl);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$response = curl_exec($ch);curl_close($ch);$data = json_decode($response, true);if (isset($data[&#39;packages&#39;][$packageName]) &amp;&amp; isset($data[&#39;packages&#39;][$packageName][0][&#39;version&#39;])) {return standardizeVersion($data[&#39;packages&#39;][$packageName][0][&#39;version&#39;]);}return &#39;&#39;;}/*** Standardize a version string by removing any non-numeric characters and keeping* only the first fractional part (i.e. the minor version).** @param string $version The version string to standardize.** @return string The standardized version string.*/function standardizeVersion(string $version): string{return (string) filter_var($version, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);}/*** Print a colored message to the console.** @param string $str The message to print.* @param string $color The color of the message. Defaults to &#39;green&#39;.** @return string The colored message.*/function consoleMessage(string $str, string $color = &#39;green&#39;): string{$colors = [&#39;green&#39; =&gt; &#34;\033[0;32m&#34;,&#39;red&#39; =&gt; &#34;\033[0;31m&#34;,&#39;blue&#39; =&gt; &#34;\033[0;34m&#34;,&#39;yellow&#39; =&gt; &#34;\033[0;33m&#34;,&#39;black&#39; =&gt; &#34;\033[0;30m&#34;,&#39;default&#39; =&gt; &#34;\033[0m&#34;,];return $colors[$color] . $str . &#34;\033[0m&#34;;}/*** Checks if the current script is executed from the &#34;vendor/bin&#34; directory.** @return bool true if the script is executed from &#34;vendor/bin&#34;, false otherwise.*/function checkExecutedFromVendor(): bool{return strpos(__DIR__, &#39;vendor&#39; . DIRECTORY_SEPARATOR . &#39;bin&#39;) !== false;}/*** Gets the path to the composer.lock file.** If the script is executed from the &#34;vendor/bin&#34; directory, it returns the path* to the composer.lock file in the project root. Otherwise, it returns the path* to the composer.lock file in the same directory as the script.** @return string The path to the composer.lock file.*/function getComposerLockFile(): string{return checkExecutedFromVendor()? dirname(__DIR__, 2) . DIRECTORY_SEPARATOR.&#39;composer.lock&#39;: __DIR__ .DIRECTORY_SEPARATOR. &#39;composer.lock&#39;;}فایل را ذخیره کنید.حالا فایل composer.json را باز کنید و در بخش scripts و قسمت post-update-cmd دستور زیر را اضافه کنید:&#34;@php ./vendor/bin/checkupdate&#34;یعنی چیزی شبیه این :&#34;post-update-cmd&#34;: [&#34;@php artisan vendor:publish --tag=laravel-assets --ansi --force&#34;,&#34;@php ./vendor/bin/checkupdate&#34;],حالا دستور زیر را بزنیدcomposer updateهمچنین می توانید به صورت مستقیم این کار را انجام دهید:(اگر در پوشه اصلی پروژه ترمینال را باز کنید)php &#34;./vendor/bin/checkupdate&#34;باید خروجی زیر را مشاهده کنید&gt; @php ./vendor/bin/checkupdate&#xA;Checking for installed laravel and latest laravel version ... 🚀&#xA;Laravel version is not up to date&#xA;Current version: 10.48.22&#xA;Latest version: 11.23.5امید وارم لذت برده باشید.صفحه گیت هاب من و راه های تماس با من: https://github.com/saeedvir </description><category>سعید</category><author>سعید</author><pubDate>Fri, 20 Sep 2024 05:50:09 +0330</pubDate></item><item><title>باشه تو هم بروسلی ، منم شاگردت !</title><link>https://virgool.ir/@saeed.es91/باشه-تو-هم-بروسلی-منم-شاگردت-liui2t0gupqz</link><description>امان از این حس خفن بودن !روز جمعه مسابقات رزمی بود و ما هم طبق روال شرکت کردیم ولی یک چیز خیلی اذیت کننده بود.مبارزان بیشتر به جمع آوری عکس و ویدیو برای شبکه های مجازی شون مشغول بودند تا تمرکز بر مسابقات خودشون.مخصوصا در رده های جوانان و بزرگسالان که تقریبا میوه درختی هستند که بعد از سال تلاش و تمرین در ورزش رزمی به این سن رسیده بودند.این قدر نظر دیگران برای موفقیت ما مفید هست ؟باور کنید لازم نیست از هر صحنه ی زندگی تون دیگران را با خبر کنید ، موفقیت خودش با صدای بلند اسم شما را فریاد خواهد زد !می دونم که تشویق دیگران خیلی می تونه به ما انگیزه بده ولی فکر نکنم نظرهای مختلف (تشویق و تمسخر) اونها بتونه خیلی کمکی به ما بکنه. شبکه های اجتماعی براساس سیستم پاداش مغز ما شکل گرفتند یعنی با هر لایک و مطلبی مثل مصرف مقدار کمی مواد مخدر می مونه !طرف چهار تا ضربه پا درست نمی زد ، مثل بچه ها داشت مشت میزد ، بعد پست و استوری گذاشته ، شیر برگشته !کدوم شیر ؟!خلاصه کلام اینکه در یک هفته مانده به مسابقات حتما از این شبکه ها دور باشید !موفق باشید.</description><category>سعید</category><author>سعید</author><pubDate>Sun, 23 Jun 2024 17:06:41 +0330</pubDate></item><item><title>استفاده از رم به عنوان فضای ذخیره سازی (سرعت 50X)</title><link>https://virgool.ir/@saeed.es91/استفاده-از-رم-به-عنوان-فضای-ذخیره-سازی-سرعت-50x-i0hwmd1clunh</link><description>اگر بخواهیم از رم (RAM) به عنوان فضای ذخیره سازی استفاده کنیم،معمولا با چند روش می توانیم این کار را انجام دهیم، یکی از روش ها ، استفاده از نرم افزارهای واسط است.اول از همه باید از داشتن مقدار قابل استفاده رم مطلع شویدهمان طور که می بینید ، سیستم مورد نظر 10 گیگ رم DDR3 دارد و مقدار 12 درصد آن اشغال شده است.مقدار رم قابل استفاده باقی مانده 8.7 گیگابایت هست.حالا یکی از نرم افزارهای lmDisk Toolkit یا SoftPerfect Ram Disk را نصب کنید.من با نرم افزار lmDisk Toolkit این آموزش را پیش می برم.نسخه مورد استفاده در سیستم عامل را دانلود کنید:64 بیت&#xA;https://sourceforge.net/projects/imdisk-toolkit/files/20240210/ImDiskTk-x64.zip32 بیت&#xA;https://sourceforge.net/projects/imdisk-toolkit/files/20240210/ImDiskTk.zipدقت کنید NET. نسخه 4.8 نصب شده باشد.اگر نصب نیست می توانید از لینک زیر دریافت کنید:https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48بعد از دانلود فایل ، آن را از حالت فشرده خارج کنید و بر روی install کلیک کنید.بعد از نصب ،  RamDisk Configuration که در Desktop ساخته شده است را اجرا کنید.در بخش Size مقدار فضای مورد نظر را انتخاب کنید.از بخش Data (بالای نرم افزار) می توانید مسیری که اطلاعات از آنجا خوانده شود را مشخص کنید.درصورتی که نیاز به یک فضای خالی دارید می توانید از این بخش صرف نظر کنید.بخش Data برای وقتی که می خواهیم اطلاعات موجود (مثل فایل های پروژه یا ...) را به حافظه رم منتقل کنیم و روی آن ها پردازش انجام دهیم ، مفید است چرا که قابلیت Sync با فایل های داخل HDD/SSD را نیز دارد.در آخر بر روی Ok کلیک کنید تا فضای مورد نظر ساخته شود.پس از چند ثانیه فضای مورد نظر به درایوهای شما اضافه می شود.دقت کنید که فایل های موجود در این درایو با خاموش شدن سیستم حذف خواهند شد.بنابراین قبل از خاموش کردن سیستم از طریق نرم افزار آن را unmount کنید و به صورت img در محلی ذخیره کنید.از طریق Mount Image File که در Desktop ایجاد شده می توانید این Img را به صورت درایو بازیابی کنید.برای گرفتن تست سرعت می توانید از برنامه crystaldiskmark استفاده کنیدhttps://sourceforge.net/projects/crystaldiskmark/امیدوارم از دیدن این مطلب لذت برده باشید. https://reymit.ir/saeedvir مطالب پیشنهادی:بهینه سازی و افزایش سرعت ویندوز 10/11 (مرحله به مرحله)معرفی PaL (بررسی تنظیمات php و لاراول)نمونه استفاده SSE در لاراول (بخش اطلاع رسانی)تست و اجرا queue (صف های) لاراول در ویندوز</description><category>سعید</category><author>سعید</author><pubDate>Sun, 10 Mar 2024 07:25:40 +0330</pubDate></item><item><title>معرفی PaL (بررسی تنظیمات php و لاراول)</title><link>https://virgool.ir/avasam-laravel-edu/معرفی-pal-بررسی-تنظیمات-php-و-لاراول-x7cdwaymkako</link><description>حتما شده که برای نصب لاراول(Laravel) به کلی خطا مثل سازگار نبودن نسخه php یا نبود اکستنشن (مثل curl , ...) برخورد کردید.حالا این مورد روی سرور یا کامپیوتر شخصی دارای اهمیت بیشتری هست چرا که شما باید همه چیز را نصب کنید. https://github.com/saeedvir/PaL-Server-Info دقیقا PaL چه کار می کند؟به کمک PaL شما می توانید در یک رابط کاربری زیبا  تنظیمات PHP را بررسی کنید و پیش نیاز های نصب لاراول از نسخه 5.8 تا 11 را مشاهده و بررسی کنید.از جمله قابلیت های PaL:بررسی پیشنیاز نسخه های مختلف لاراولبررسی تنظیمات php.iniمشاهده ماژول ها و اکستنشن های نصب شده PHPعیب یابی تنظیمات php.ini و ارائه راه حلویرایش تنظیمات php.iniتست بنچمارک وب سرور و دیتابیس MySQLبررسی تنظیمات امنیتی phpبررسی وب سرور از نظر HTTP Headersبررسی نسخه های جدید php - web server - composer , ...امکان به روزرسانی راحت نرم افزارنسخه CLI (نسخه قابل استفاده در command line)چه طور استفاده کنیم؟کافی هست فایل Pal-Server-Info.php را به لوکال هاست یا هاست یا سرور انتقال دهید و اجرا کنید.http://Your-web-address.com/Pal-Server-Info.php&#xA;http://127.0.0.1/Pal-Server-Info.php&#xA;http://localhost/Pal-Server-Info.phpهمچنین می تونید دستور زیر را در مسیری که فایل Pal-Server-Info.php قرار دارد ، اجرا کنید :php -S localhost:8000&#xA;&#xA;http://localhost:8000/Pal-Server-Info.phpبرای دسترسی به دیتابیس mysql نیاز هست تا نام کاربری و رمز عبور را در اسکریپت وارد کنید.یا می توانید این تنظیمات را ویرایش کنید:$MYSQL_CONFIG = [&#xA;     &#39;host&#39; =&gt; &#39;localhost&#39;,&#xA;     &#39;username&#39; =&gt; &#39;USER_NAME_HERE&#39;, //ex : root&#xA;     &#39;password&#39; =&gt; &#39;PASSWORD_HERE&#39;, //ex : password&#xA;     &#39;db&#39; =&gt; &#39;DB_NAME_HERE&#39;,         //ex : laravel_db&#xA;     &#39;benchmark_insert&#39; =&gt; 100,      //ex : 100&#xA;   ];نسخه CLIبرای استفاده از نسخه CLI کافی است در مسیر فایل PaL-cli.php دستور زیر را اجرا کنید:php PaL-cli.php helpبرای حمایت از پروژه PaL چه کار می توانیم انجام دهیم؟    برای حمایت مالی (دونیت) می توانید از طریق این صفحه اقدام کنید.همچنین شرکت در بهبود و انتشار این اسکریپت هم خیلی به PaL کمک می کند.معرفی بخش های مختلف برنامهتست PHP-Benchmarkبرنامه در فاکتورهای مختلف از php شما تست می گیرد و زمان مورد استفاده در هر مورد را نشان می دهد.تست MySQL-Benchmarkبرنامه در فاکتورهای insert/select/update/delete  از mysql شما یک تست ساده می گیرد و زمان مورد استفاده در هر مورد را نشان می دهد.دقت کنید که تعداد سطر مورد استفاده در تست ، از طریق خط 26 کد برنامه قابل ویرایش است. بررسی و پیشنهاد تنظیمات php.iniتنظیمات بخش های مختلف php.ini از طریق این بخش بررسی می شود و مقدار پیشنهادی برای شما نمایش داده می شود.ویرایش تنظیمات php.iniدقت کنید که بعد از ویرایش تنظیمات php.ini نیاز است که وب سرور شما دوباره راه اندازی شود.در هاست های اشتراکی ، فایل php.ini مورد استفاده را می توان در پوشه public_html قرار داد و فایل اصلی php.ini قابل ویرایش نیست.بررسی HTTP Header های وب سرورچه طور برنامه را به روزرسانی کنیم؟کافی است در بخش پایین صفحه بر روی Check For Update کلیک کنید.در نسخه CLI می توانید از دستور زیر استفاده کنید:php PaL-cli.php upچگونه مشکلات برنامه را گزارش دهیم ؟اگر مشکلی در اجرا داشتید ، حتما در بخش Issues گیت هاب اطلاع دهیداگر پیشنهادی برای برنامه داشتم ، چه طور؟از طریق تلگرام یا گیت هاب می توانید به من اطلاع دهید.از قسمت نظرات سایت ویرگول هم می توانید من را مطلع کنید.لیست تغییراتآخرین نسخه : 1.7اضافه شدن پشتیبانی از لاراول 11اضافه شدن پنجره وارد کردن اطلاعات دیتابیسنسخه 1.6اضافه شدن PHP INI Editor</description><category>سعید</category><author>سعید</author><pubDate>Sat, 09 Mar 2024 05:29:06 +0330</pubDate></item><item><title>نمونه استفاده SSE در لاراول (بخش اطلاع رسانی)</title><link>https://virgool.ir/@saeed.es91/نمونه-استفاده-sse-در-لاراول-بخش-اطلاع-رسانی-ue9hh3urt1d9</link><description>فرض کنید یک سیستم اطلاع رسانی در پنل مدیریت ایجاد کردید.به این صورت که تعداد پیام های دریافتی از سایر کاربران را در نوار بالا نشان می دهد.مثلا به این شکل:حالا برای این که تعداد این پیام ها به صورت لحظه ای (real time) تغییر کنه چند تا راه وجود دارد.دو مورد از این راه ها AJAX و SSE هست.یعنی شما هر چند لحظه درخواست به سرور بفرستید و تعداد پیام ها را دریافت کنید و نمایش دهید.توضیح AJAX:روشی برای ارتباط میان سرور و کلاینت است و پیشبرد به‌روزرسانی بخش‌های مختلف یک سایت را بدون بارگذاری مجدد تمام صفحه به وسیله Ajax انجام می‌شود. یکی از روش‌های متعددی که امکان پویایی و واکنش‌پذیری وب‌سایت‌ها را فراهم می‌کنند.توضیح SSE:مخفف رویداد های طرف سرویس دهنده هست یعنی اون توابعی که در قمست سرویس دهنده اجرا میشه و نتایج اون به صورت Real time یعنی بدون وقفه به کاربر یا سرویس گیرنده (Client) ارسال میشه . یعنی بدون نیاز به ارسال درخواست HTTP چه به صورت Ajax و یا معمولی ، اطلاعات رو از سرویس دهنده (Server) دریافت میکنه نمونه کامل تر این فرآیند وب سوکت هست.نمونه کد بالا هر 10 ثانیه یک درخواست ajax به سمت سرور ارسال می کند و اطلاعات را دریافت می کند.برای نمایش اطلاعات هم از کد زیر استفاده  می کنیم:و اما برای SSE قضیه کمی فرق می کند.سرور یک درخواست نامحدود برای کاربر ایجاد می کند و اطلاعات را لحظه ای در آن نمایش می دهد.برای دریافت اطلاعات در Javascript به کدی شبیه به این نیاز دارید :و برای سمت سرور هم به این شکل (سعی کنید از پکیج هایی که برای این مورد وجود دارد استفاده کنید):و اما یک بررسی کوچک روی بهینه بودن این دو روش:هر دو روش به شرط مدیریت منابع می تواند راه حل مناسبی باشد و اجازه دهید یک بررسی که برای وب سرور آپاچی در سیستم عامل ویندوز انجام دادم را با هم ببینیم.صفحه داشبورد به تعداد 10 تب در مرورگر کروم باز شده.یعنی هر 10 تب مرورگر هر 10 ثانیه یک درخواست ajax به سمت سرور ارسال می کنند.در AJAX:در SSE:همین طور که می بینید ، در SSE بار بسیار کمی روی cpu هست،درحالی که در استفاده از ajax مقداری از cpu درگیر هست.امیدوارم از این بررسی و توضیح مختصر استفاده ببرید.آخرین مطالب من را می توانید در آدرس زیر مشاهده کنید https://virgool.io/@saeed.es91 </description><category>سعید</category><author>سعید</author><pubDate>Thu, 18 Jan 2024 08:51:07 +0330</pubDate></item><item><title>تست و اجرا queue (صف های) لاراول در ویندوز</title><link>https://virgool.ir/@saeed.es91/تست-و-اجرا-queue-صف-های-لاراول-در-ویندوز-eydnkzrhcgf2</link><description>برای تست صف های لاراول در ویندوز باید از Task Scheduler خود ویندوز کمک بگیریم.فایل زیر را با نام زیر در پوشه پروژه ذخیره کنید:schedule.cmdفایل بالا را می توانید از این آدرس دریافت کنید.حالا با کمک دستور زیر یک Command به لاراول اضافه می کنیم:php artisan make:command RunJobsو کد های زیر را در آن قرار دهید:حالا نوبت به ویرایش Kernel.php هست تا دستور بالا را اجرا کنیم:حالا به کمک دستور زیر یک فایل Job به پروژه اضافه می کنیم:php artisan make:job SendSmsJobبرای مثال قرار هست برای کاربران پیامک ارسال کنیم:و فراخوانی این Job در کنترلر به صورت زیر است:اگر صف ها را از طریق دیتابیس کنترل می کنید ، قبل از هر چیز نیاز هست که دستورات زیر را اجرا کنید:همچنین دقت کنید که در فایل env اتصال صف ها به دیتابیس برقرار باشد:خب تمام شد ، حالا نوبت به اجرا schedule.cmd در مسیر پروژه است.بعد از باز شدن صفحه کنسول ، فایل artisan را به صورت drag and drop به این صفحه منتقل کنید.و اینتر را بزنید.حالا هر یک دقیقه دستور زیر اجرا می شود:php artisan schedule:runبرای تغییرات بیشتر می تونید به Task Scheduler بروید و تغییرات زمان بندی را ویرایش کنید:دستور زیر را در Run اجرا کنید.taskschd.mscهمچنین می توانید با راست کلیک روی task مورد نظر آن را disable کنید.تمام شد.امیدوارم از این آموزش استفاده کرده باشید.اگر نکته یا نظری داشتید ، حتما در بخش نظرات برایم بنویسید.راه ارتباطی با من:https://t.me/PhpWebDeveloper</description><category>سعید</category><author>سعید</author><pubDate>Fri, 12 Jan 2024 09:48:15 +0330</pubDate></item><item><title>بهینه سازی و افزایش سرعت ویندوز 10/11 (مرحله به مرحله)</title><link>https://virgool.ir/@saeed.es91/بهینه-سازی-و-افزایش-ویندوز-1011-مرحله-به-مرحله-h0bjszz3rmpu</link><description>خب قرار هست یکسری راهکار عملی برای داشتن یک ویندوز پر سرعت با هم ببینیم.1- نصب ویندوزبرای نصب ویندوز من پیشنهاد می کنم یکی از نسخه های Windows X-Lite را نصب کنید.این دو نسخه سفارشی سازی شده هست و یکسری قابلیت غیرکاربردی ویندوز حذف شده است.https://windowsxlite.com/&#xA;&#xA;windows-11:&#xA;https://www.mediafire.com/file/2d38p19fth2rijb/W11_X-Lite_22631_2792_Optimum11Pro_FBConan.7z/file&#xA;&#xA;windows-10:&#xA;https://www.mediafire.com/file/bpo1yjnusynxxec/W10_X-Lite_19045_3758_Optimum10Pro_FBConan.7z/file&#xA;همچنین از سایت p3day هم می تونید بگیرید:windows 11&#xA;https://dl6.p30day.ir/OS/Win11/Lite/24H2/%5BWindows%20X-Lite%5D%20Optimum%2011%2024H2%20Pro%20v4.2%20www.P30Day.ir.iso?81163&#xA;&#xA;windows 10&#xA;https://dl6.p30day.ir/OS/Win10/Lite/22H2/%5BWindows%20X-Lite%5D%20Optimum%2010%20Pro%20v5%20www.P30Day.ir.iso?21551&#xA;قدم بعدی بوت کردن فلش مموری هست که از نرم افزار Rufus استفاده می کنیم:https://github.com/pbatard/rufus/releases/download/v4.3/rufus-4.3.exeفقط دقت کنید که بسته به اینکه نوع پارتیشن بندی شما GPT یا MBR هست باید در قسمت Partition    Schema گزینه صحیح را انتخاب کنید.2- پس از نصب ویندوزفعال سازی ویندوزبرای فعال سازی ویندوز (کرک ویندوز) باید فایل KMS Activator را دانلود کنید.https://soft98.ir/os/12921-%D8%AF%D8%A7%D9%86%D9%84%D9%80%D9%88%D8%AF%E2%80%8C-%D9%81%D8%B9%D9%80%D8%A7%D9%84-%D8%B3%D8%A7%D8%B2-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2.htmlنصب DirectX و Microsoft Visual C Runtimehttps://soft98.ir/software/programming/3134-visual-c-2.html&#xA;&#xA;https://soft98.ir/software/drivers/366-directx.htmlنصب درایورهابرای نصب کامل درایورها می توانید از نرم افزار DriverEasy یا IObit Driver Booster استفاده کنید.بهینه سازی ویندوز برای SSDدر صورتی که از SSD بجای HDD استفاده می کنید ، نرم افزار SSD Booster.NET با اعمال یکسری تغییرات ، از فرسایش بی دلیل و کاهش عمر SSD جلوگیری می کند.فعال سازی Hibernate و Fast Startupدر صورتی که از SSD استفاده می کنید، باید این دو قابلیت غیرفعال باشد ولی در HDD می توانید این دو گزینه را فعال کنید.اگر این دو گزینه را مشاهده نمی کنید این دستورات را در CMD یا POWER SHELL وارد کنید.powercfg /hibernate on&#xA;&#xA;powercfg/h /type fullنرم افزار بهینه سازی ویندوزبا نصب برنامه  Wise Care 360 (نسخه پرتابل هم دارد) یک Checkup کلی انجام بدید و بعد از تمام شدن بر روی FIX کلیک کنید.نرم افزار مفید دیگیر Advanced SystemCare Pro  هست.پیشنهاد می کنم از نسخه های پرتابل این برنامه ها استفاده کنید.(از Soft98.ir دانلود کنید)نرم افزار بهینه سازی رمنرم افزار MemReduct یک بهینه سازی رم سبک و کاربردی هست که قابلیت زمان بندی و یکسری تنظیمات کاربردی برای بهینه سازی رم دارد.(با پشتیبانی از زبان فارسی)دیوار آتش (فایروال) سبکاز برنامه های  Windows Firewall Control یا TinyWall می توانید به عنوان یک دیوارآتش (Firewall) استفاده کنید.بهینه سازی مرورگر (افزایش سرعت باز شدن مرورگر)https://crystalidea.com/downloads/speedyfox.zip3- بهینه سازی پیشرفته ویندوزقبل از هر چیز یک System Restore از ویندوز بگیرید.برنامه Optimizerبرای بهینه سازی های مختلف روی ویندوز از این برنامه استفاده کنید.https://github.com/hellzerg/optimizer/releases/download/16.2/Optimizer-16.2.exeبرنامه های Windows Debloater Toolجهت بهینه سازی و شخصی سازی ویندوز برای کار و بازیبرای ویندوز 11https://freetimetech.com/windows-11-debloater-tool-debloat-gui/برای ویندوز 10https://freetimetech.com/windows-10-clean-up-debloat-tool-by-ftt/مخصوص بازیhttps://freetimetech.com/gaming-debloater/مخصوص شبکه (به همراه بهینه سازی)https://freetimetech.com/network-and-optimizer-utility-by-ftt/برنامه Chris Titus Tech&#39;s https://github.com/ChrisTitusTech/winutilبرنامه Autorunsبرای مشاهده همه Startup ها و Service های سیستم از این برنامه استفاده کنید و سرویس ها و برنامه های غیر ضروری را حذف کنید.https://download.sysinternals.com/files/Autoruns.zipبرنامه  AME Wizardاخطار !از این برنامه بعد از نصب یک ویندوز تازه نصب شده استفاده کنید.در صورتی که عملیات ناموفق انجام شوم ، احتمالا نیاز به نصب یک ویندوز جدید خواهید داشت.AME Wizard:&#xA;https://download.ameliorated.io/AME%20Wizard%20Beta.zip&#xA;&#xA;AME 11:&#xA;https://download.ameliorated.io/AME%2011%20Beta.apbx&#xA;&#xA;AME 10:&#xA;https://download.ameliorated.io/AME%2010%20Beta.apbx&#xA;&#xA;Revi:&#xA;https://github.com/meetrevision/playbook/releases/download/23.12/Revi-PB-23.12.apbx&#xA;&#xA;Atlas:&#xA;https://cdn.jsdelivr.net/atlas/0.3.2/AtlasPlaybook_v0.3.2.zip&#xA;در ابتدا برنامه AME Wizard را دانلود کنید.بعد می توانید یکی از playbook ها (فایل هایی با پسوند apbx)دانلود کنید.در زیر تفاوت این فایل ها را می بینید.پیشنهاد من Revision هست ولی اگر واقعا می خواهید یک دست اساسی روی ویندوز بکشید ، از AtlasOS استفاده کنید.برنامه AME Wizard را باز کنید و فایل APBX را به برنامه اضافه کنید.بهتر از قبل از این کار آنتی ویروس و فایروال را غیر فعال کنید و از یک اینترنت پایدار استفاده کنید.بهبر روی Next کلیک کنید.این کار حدودا 5 تا 20 دقیقه طول می کشد.در حین کار برنامه با سیستم کاری نکنید و از خاموش شدن ویندوز جلوگیری کنید.پس از نصب یک بار سیستم را Restart کنید.لیست تغییرات نوشته:برنامه های Windows Debloater Tool به این نوشته اضافه شد. (1402/11/13)برنامه Chris Titus Tech به این نوشته اضافه شد.(1402/12/07)امیدوارم از مطالعه این نوشته استفاده کنید.شما هم اگر نکته یا روشی را استفاده می کنید ، در قسمت نظرات بیان کنید.</description><category>سعید</category><author>سعید</author><pubDate>Mon, 18 Dec 2023 09:02:20 +0330</pubDate></item><item><title>چه طور به بیش از 1000 بار طناب زدن رسیدم؟</title><link>https://virgool.ir/@saeed.es91/چه-طور-به-بیش-از-1000-بار-طناب-زدن-رسیدم-vakidq7b5mtc</link><description>محمد علیاگر اهل ورزش (به خصوص ورزش های رزمی) باشید , حتما با فایده طناب زدن آشنا هستید.یادمه در دوران مدرسه علاقه خاصی به فوتبال بازی نکردن نداشتم و به همراه یکی دو تا از دوستان کنار معلم ورزش مدرسه می نشستیم تا زنگ ورزش مون تموم بشه.چند جلسه ای از زنگ ورزش مون گذشت و یکبار معلم ورزش گفت می خواهید یک ورزش دیگه ای بکنید؟ من رفتم توب بستکتبال را آوردم و به سمت تور بسکتبال می انداختم.یهو دیدم دوستم رفته یک طناب آورده و داره با طناب کلنجار میره.البته اون می تونست چند تایی پشت سر هم بزنه ولی من که رفتم امتحان کنم , نهایت دو سه تا !خیلی ذهنم را درگیر خودش کرده بود و از جلسه بعدی سریع می رفتیم سراغ طناب زدن.گذشت و من بالاخره تونستم به 20 طناب پشت سر هم برسم.حالا که خوشم اومده بود به پدر گفتم و ایشان هم برای من یک طناب با شمارنده خرید.طنابی که. هنوز بیشتر وقت ها دیگه توی خونه هم می تونستم طناب بزنم.فقط مشکلم این بود زود خسته می شدم.مشکل از دو جا بود:یکی سیستم قلبی-تنفسی خیلی قوی نداشتم و دوم اینکه اشتباه طناب می زدم.خلاصه روی حدودا 120 تا قفل کرده بودم البته به خاطر همین طناب زدن امتحان های ورزش مدرسه را به راحتی 20 می گرفتم که شامل دویدن, طناب زدن , ... بود.یادمه دو سه سال همین طور بود و تفریحی که طناب می زدم و رکوردم روی همین 120 تا بود.سال ها گذشت و بعد کنکور دوباره ورزش رزمی را ادامه دادم و به ورزش تکواندو رفتم.حالا دیگه مجبور بودم از نظر تنفسی و قدرتی خودم را ارتقا بدم.چاره اش یاد گرفتن این بود که طناب زدن درست و اصولی و روش تقویت پایین تنه و میان تنه را یاد بگیرم که برا ی همین رفتم به دنیای &#34;youtube&#34; و فیلم های آموزشی را ببینم.چند روزی با تمرین کردن و یاد گرفتن گذشت.حالا فهمیده بودم که چه طوری به شکل های مختلف طناب بزنم و چه طوری رکورد م را ارتقا بدم.خلاصه این چیزهایی که چند سال فهمیدم میشه این:1- یک طناب با شمارنده تهیه کنید.2- اول یاد بگیرید چه طور طناب بزنید, قرار نیست همان اول کار 1000 طناب بزنید, یکی یکی بزنید3-هماهنگی عصب و عضله مهمترین قسمت طناب زدن هست.4- اصل اضافه بار در ورزش خیلی مهمه , اگر این هفته 100 تا طناب زدید , هفته بعد باید روی 100 تا به بالاتر تمرکز کنید5- طوری طناب بزنید که لذت ببرید , پس می تونید به شکل های مختلف طناب بزنید.6- در طناب زدن رکورد تعداد و زمان خیلی مهمه7- می تونید یک هفته به صورت زمانی مشخص (مثلا 10 دقیقه طناب بزنید) و یک هفته به صورت تعدادی (مثلا 200 طناب در روز) طناب بزنید تا تکراری نشه و هم استقامت و هم سرعت شما بهتر بشه.8- اگر ورزش رزمی کار می کنید , جابجایی پاها به سرعت و بالا آوردن زانوها به بالا موقع طناب زدن , برای شما خیلی مفید هست.9- تقویت پایین تنه و میان تنه خیلی مهمه و چند تا از بهترین تمرین ها اینا هستند:اسکووات - اسکووات پرش - بورپی - - تقویت فیله کمر- پلانک - حرکت های تقویت مچ و سر شانه - تقویت ماهیچه ساق پا - حرکت پاشنه پنجه و ...10- حتما از اینکه زانوهای سالمی داشته باشید مطمئن باشید و روی. تاتمی یا یک جای نرم و با کفش طناب بزنید.اگر مورد بود در همین بخش &#34;دیدگا ها&#34; مطرح کنید.موفق باشید.</description><category>سعید</category><author>سعید</author><pubDate>Thu, 10 Aug 2023 20:30:27 +0330</pubDate></item><item><title>چند عادت پیشنهادی !</title><link>https://virgool.ir/@saeed.es91/چند-عادت-پیشنهادی-yfivnpbopkpy</link><description>عادت !بعد از چند وقت دوری از ویرگول دوست داشتم یک مطلب کوتاه بنویسم.در این مطلب عادت هایی را مرور می کنیم که از نگاه جامعه (به اصطلاح مدرن ما !)، مزخرف ، سخت ، بیهوده هست که اکثرا با واکنش اصلا چرا ؟! یا بی خیال بابا ! دنیا دو روز و... مواجه میشود.البته این عادت ها در زندگی روستایی خیلی عادی و پذیرفته هست ولی در شهر نه !عادت = کاری که انسان به آن خو می‌گیرد و در وقت معیّن انجام می‌دهد.عادت اول / چی میشه اگر 5 روز هفته ورزش کنیم؟هیچ اتفاق بدی نمی افتد.عادتی که خود من چند سالی هست دارم.یادم هست که از سه(3) جلسه در هفته شروع شد و پس از اعتیاد به ورزش(?) به شش(6) جلسه در هفته و در دوران کرونا به پنج(5) جلسه در هفته تغییر پیدا کرد.در این سیستم من در آوردی جمعه ها و تعطیلی های رسمی هم ورزش تعطیل هست.(به قول معروف حالشو ببرید).قسمت جالب قضیه این هست که همین طور که می دانید ورزش کردن هورمون های شادی بخش را در مغز ترشح می کند که بعد از ورزش نه تنها خسته نیستید بلکه شادتر هم هستید.شب هم خواب راحت تری دارید.کافی هست امتحان کنیداز همین امروز نه شنبه !لینک چند تا برنامه خوب ورزش در خانه از گوگل پلی (کلیک کنید)لینک چند تا برنامه برای ساخت برنامه ورزشی شخصی از گوگل پلی (کلیک کنید)عادت دوم / چی میشه اگر شب ها ساعت 10 بخوابیم ؟مدتی که از شهر دور شدم و در روستا زندگی کردم به جدّ تاثیر این خواب زودهنگام شبانه را دیدم.البته در افراد مسن روستا چون جوان تر ها اکثرا تا نیمه شب بیرون هست و معمولا 1 یا 2 شب می خوابند.افراد مسن روستا سرحال تر از همه حدود ساعت 4 و 5 بیدار می شوند.به مسجد می روند.به زمین های کشاورزی شان سر می زنند،به باغ های میوه شان میروند و شیر گاوهایشان را می دوشند و به شهر می برند و کلی کار که در روستا هست.سالمندانی که در تا سنین بالا هم سرحال ، خنده رو و فعال هستند. https://www.aparat.com/v/cgQ7n عادت سوم / چی میشه اگر صرفا مصرف گرا نباشیم ؟زندگی شهری بیش از هر چیز مصرف گرایی را تلقین کرد.مردمی که ساده ترین نیازهای (غذایی ،آشامیدنی و...) خود را از فروشگاه ها تهیه می کنند.اما در روستا قضیه متفاوت است.مردم مرغ پرورش می دهند و گوشت مرغ و تخم مرغ خود را تامین می کنند.مردم گاو و گوسفند و بز دارند پس شیر و سایر محصولات لبنی را تولید می کنند.مردم باغ و مزرعه دارند،پس بخشی از نیاز به میوه و سبزی خود را تامین می کنند.و کلی مثال دیگر.البته مسلما ما در شهر نمی تونیم گاو و گوسفند داشته باشیم ولی حداقل می توانیم ماست و پنیر را خودمان تهیه کنیم. نه ؟به لطف اینترنت هم که کاشت و داشت انواع سبزی را می توانید بیاموزید و حتی در یک شیشه نوشابه کاهو پرورش بدید !پس منتظر چی هستید ؟خلاصه !یکم فکر کنید ...راستی شما هم چیزی به ذهن تان رسید خوشحال میشم در قسمت نظرها بیان کنید تا به این لیست اضافه کنم. </description><category>سعید</category><author>سعید</author><pubDate>Fri, 01 Oct 2021 17:03:38 +0330</pubDate></item><item><title>بی نام و نشان ، ایستادند پای کار !</title><link>https://virgool.ir/@saeed.es91/بی-نام-و-نشان-ایستادند-پای-کار-ctupml82dcxe</link><description>سن زیادی ندارم ولی عکس های یکی از مواقع بحرانی کشورم را در آن روز ها نگاه کردم.مردمی دیدم که پای کار ایستادند.شیر زنانی دیدم که پشت جبهه در حال تدارک برای سنگرها بودند.شیر مردانی دیدم که هر چند کم سن و سال ، هرچند بی نام و نشان ، ولی ایستادند و دفاع کردند.امّا امروز هرچند شیرهای زیادی باقی نمانده ولی هنوز هم امیدی هست !انسانیت ، مهربانی ، ایثار و فداکاری را به قیمت روز خریداریم !</description><category>سعید</category><author>سعید</author><pubDate>Fri, 06 Mar 2020 19:25:33 +0330</pubDate></item><item><title>سفرنامه چابهار , یک دنیا اقیانوس - 2</title><link>https://virgool.ir/iranvolunteering/سفرنامه-چابهار-یک-دنیا-اقیانوس-2-dlm8bhfyu36u</link><description>ادامه سفرنامه چابهار ...قسمت اول سفرنامه چابهار را می توانید در لینک زیر ببینید.? https://virgool.io/iranvolunteering/%D8%B3%D9%81%D8%B1%D9%86%D8%A7%D9%85%D9%87-%DA%86%D8%A7%D8%A8%D9%87%D8%A7%D8%B1-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-t62prttf1x3e ساعت از ظهر گذشته بود که آرام آرام با ان کوله‌های بزرگ به سمت جاده کنار ساحل دریا بزرگ حرکت کردیم.برای یک ماشین عبوری دست تکان دادیم.ماشین ایستاد.مقصد ما ساحل صخره‌ای و بسیار زیبای رمین(Ramin) بود.رمین یک بندر ماهیگیری فعال است که در حدود 10 کیلیومتر شرق چابهار قرار داد.از لحظه ورود به این بندر،قایق‌ها و لنج‌های ماهیگیری رنگارنگ جذابیت خاصی داشت.راننده ما را تا انتهای ساحل ماسه‌ای برد.به زیر یک سایه بان که در چابهار و شهرهای اطراف غنیمتی است،رفتیم.زیراندازها را پهن کردیم.کوله ها را در کنار گذاشتیم و کمی تنقلات خوردیم.من رفتم از سوپر مارکت انتهای اسکله آب معدنی و نوشیدنی گرفتم.ناهار را در حدود ساعت 4 خوردیم و من رفتم کمی قدم زدم و عکاسی کردم.قایق های ماهیگیری بندر رمینهوا داشت کم کم تاریک می شد که یک خانواده به نزدیکی ما آمدند.پنجشنبه بود و طبیعی بود که آنها برای تفریح به کنار ساحل آمده بودند.زغالی آماده کردند.ما هم کم کم برای خوردن یک شام در کنار این ساحل آرام شروع به آشپزی کردن کردیم.آتش کنار ساحل رمینشام که تمام شد، باید چادرهایمان را برپا می کردیم.فاصله ما تا آب مناسب بود و خطری از بابت جزر و مد ما را تهدید نمی کرد.?محمد هدلایت ش را روشن کرد و یکی یکی چادرها هم برپا شدند.هوا خنکی خاص خود را داشت ولی دل پذیر بود.حدود ساعت 9 شب بود که به محض رفتن به چادرها خوابیدیم !صبح زود من با انرژی خاصی پا شدم.محمد هنوز خواب بود.از فرصت استفاده کردم و چند تا عکس گرفتم.در ساحل پیاده روی کردم.آمدم و محمد را بیدار کردم و صبحانه ای خوردیم.تا چادرها رو جمع کردیم ساعت 8:30 دقیقه شد.پیاده تا جلو اسکله رفتیم.از سرویس بهداشتی آنجا استفاده کردیم.چند تا از بچه های آنجا از من در مورد سفر پرسیدند.منم نظرم را در مورد مقصدهای سفرمان برای آنها گفتم.خلاصه با طی مسافت 1 کیلومتری در اول صبح  به جاده رسیدیم. آنجا در مقابل یک مغازه سوپرمارکتی (که بنزین هم می فروخت ! ) ایستادیم.کوله ها را بر زمین گذاشتیم و در کنار جاده برای یک هیچهایک آماده شدیم.روز جمعه بود و امید زیادی نداشتیم.با این حال کمی شانس مان را امتحان کردیم.با گذشت یکی دو تا ماشین و تاکسی ، ماشین دیگری نبود به جز صیادها و موتورهای عبوری ...تا اینکه یک ماشین نگه داشت.- پرسید کجا می روید ؟+ ما گفتیم میریم به سمت گواتر ولی شما تا هرجا برید خوبه-- منم میرم گواتر،اونجا یک کاری دارم+ به به، چه خوب! ما هم میریم اونجاراننده عزیز ، پسر جوانی بود به اسم نوید.نوید از حال و احوال ما پرسید.اینکه اینجا چه کار می کنید.از شگفتی های منطقه بلوچستان گفت.از اینکه قبلا به دوستانش در پاکستان سر زده گفت.از وضع بد جاده چابهار-گواتر گفت.مدتی طول کشید که به بندر بریس رسیدیم.نوید با ماشین به داخل اسکله رفت تا آنجا را به ما نشان دهد.اسکله آرامش خاصی داشت.بعضی از صیّادها آماده رفتن به دریا می شدند و برخی هم به اسکله نزدیک می شدند تا ماهی ها و سفره ماهی های صید شده را به فروش برسانند.وزن کشی سفره ماهی ها برای ارسال به چین !سفره ماهی ها توجه ما را بیشتر جلب می کردند.با صحبتی که با یکی از صیادها داشتم،گفت چینی ها خوب اینا رو می خرند !وزن هر سفره ماهی معمولی هم این طور که گفتند،حدود 4 کیلو است.یکم صبر کردیم ببینیم ماهی خوب میشه خرید یا نه ولی خب شانس با ما یار نبود و نتونستیم ماهی بخریم.یکم دور زدیم در اسکله و با نوید به سمت بندر گواتر حرکت کردیم.نزدیک شدن به جنوب شرقی ترین نقطه ایران ، حسّ جالبی بود.به مرزبانی رسیدیم.مامور مرزبانی سلام و کرد و ورود ما را خوش آمد گفت.آرام آرام در کنار آب راه رفتیم. در کنار شترهایی که آنجا با آرامش در حرکت بودند.من و شتر و ساحل در آخرین نقطه ایران !کمی جلوتر با دوست نوید که راننده قایق بود،برای رفتن به جنگل حرّا و دیدن دلفین ها هماهنگ شدیم.جنگل های انبوه حرّاپس از دیدن جنگل های حرا و دلفین ها برگشتیم و در کنار مرزبانی نشستیم.حدودا 30 دقیقه منتظر ماندیم تا در این مکان کم رفت و آمد ، یک ماشین حمل ماهی ما را سوار کرد.یک ماشین ایسوزو ، پر از ماهی و یک راننده اهل آبادان . (مثل همه دوستان آبادانی ام خونگرم و مهربان و دوست داشتنی)با هم حرف زدیم و ما دو نفر را در نزدیکی یک سوپرمارکت در بریس پیاده کرد و بعد از اینکه ادامه مسیر را تا دماغه بریس از او پرسیدیم ، خداحافظی کردیم.چند تا مواد ضروری باید خرید می کردیم ، مثل آب و تخم مرغ و نان و ...محمد کنار کوله های ایستاد،منم رفتم خرید کردم.البته یکم ترشی انبه پاکستانی هم خریدم که خیلی خوب بود.شما هم سر زدید،حتما بخرید که بعدا پشیمون نشید.خلاصه کوله ها و وسایل رو جمع و جور کردیم و به سمت دماغه بریس (دماغه مچ کر) که 40متر ارتفاع دارد،راه افتادیم.نقشه هوایی بریس و دماغه بریسچند دقیقه بعد رسیدیم.ساعت حدود 1 بعدازظهر بود.کوله ها را کنار یک سنگ بزرگ گذاشتیم و رفتیم به لبه پرتگاه.نمایی از دماغه بریس و قایق هابسیار زیبا بود.نمایی از قایق های ماهیگیری و تا دور دست ها که آب آبی اقیانوس بود.برای ناهار ، نیمرو رو درست کردیم که ترشی انبه هایی که خریده بودیم،خوردیم.بسیار طعم جالبی داشت.چیزی مابین شور و تند.البته تندی اذیت کننده ای برای من نداشت.استراحت کردیم تا هم کمی خستگی به در کنیم و هم از گرمای هوا در ظهر کاسته شود.ساعت حدود 3:10 دقیقه به سمت بریس راه افتادیم تا به مقصد بعدی یعنی کمپ کوه های مریخی برویم.آرام آرام راه رفتیم.به پمپ بنزینی که در مسیر رفتن دیده بودیم و در همان نزدیکی بود،رفتیم.آبی به صورت زدیم و نماز را خواندیم.دوباره به سمت اول جاده بریس-چابهار رفتیم.آنجا منتظر ماشین ماندیم.که خب عصر جمعه بود و اکثر ماشین ها جمع خانوادگی بودند.خلاصه کمی بعد یک ماشین 206 صندوق دار نگه داشت.طبق توافق قرار شد دونفرمان را با کرایه 30 تومن ما را تا کمپ کوه های مریخی ببرد.مسیر حدودا 28 کیلومتر بود.هوا تاریک شده بود که به کمپ کوه های مریخی چابهار رسیدیم.ادامه دارد ...#سفر_چابهار</description><category>سعید</category><author>سعید</author><pubDate>Sun, 05 Jan 2020 08:53:07 +0330</pubDate></item><item><title>سفرنامه چابهار , یک دنیا اقیانوس - 1</title><link>https://virgool.ir/iranvolunteering/سفرنامه-چابهار-قسمت-اول-t62prttf1x3e</link><description>در میان مشکلات اینترنتی به وجود آمده،شکر خدا هر طورکه بود سفر با یک هفته تاخیر بالاخره انجام شد.انگیزه سفر به چابهار تقریبا با دیدن تصاویری از مناظر طبیعی و عکاسی و حیات وحش استان سیستان و بلوچستان و همچنین دعوت دوستان بلوچی‌ام و البته مقداری حسّ کنجکاوی و ماجراجویی در من ایجاد شد.سواحل چابهار / عکس از دوستم محمدقرار بود این سفر را همراه با دوستم ، محمد از تهران انجام دهم.طبق برنامه ریزی ، محمد روز پنجشنبه بلیط هواپیما داشت و با حرکت صبح هنگام او ، تقریبا در یک ساعت به چابهار می رسیدیم.پس از رسیدن به اصفهان و خرید بلیط اتوبوس اصفهان - چابهار (در نبود هواپیمای مستقیم) ، در ظهر روز 6 آذر سفر آغاز شد.نقشه گوگل مپ - مسیر اصفهان به چابهارتا حدی به مسیر آشنایی داشتم و کاری جز نگاه کردن به مناظر بیرون نداشتم.به لطف روزهای کوتاه این موقع از سال،هوا به سرعت تاریک می شد و حدود ساعت 4 بعد از ظهر به اطراف یزد رسید و پس از یک استراحت 30 دقیقه ای دوباره حرکت کرد.اتوبوس برای شام در شهر ماهان کرمان نگه داشت.این شهر میان دو کوه جوپار و پلوار که هر دو بالای 4000 متر ارتفاع دارند،قرار دارد و همین موضوع باعث سردتر بودن نسبت به محیط اطراف آن شده چراکه شب‌های تابستان هم سرد و بسیار خنک هست.الان هم که در آخرین ماه پاییز بودیم و سرما و وزش باد هوای سرد و خشنی درست کرده بود.البته من شام سبک همراه خودم داشتم و خواندن نماز و شارژ تلفن همراه تنها کاری بود که انجام دادم.نیمه شب بود که اتوبوس به شهر بم با آن درختان خرمای سبز و خرمّش رسید ولی با سرعت از این شهر عبور کرد و به مسیر ادامه داد.وضعیت جاده به مرور تغییر می کرد و باریک تر می شد.تا اینکه نزدیک 4 صبح در یک مجتمع رفاهی در اطراف ایرانشهر نگه داشت.قسمت جالب ماجرا ، توقف ماشین های سنگین بسیار در آنجا برای فروش گازوئیل بود.در کنار مجتمع رفاهی (که آن موقع فقط نمازخانه اش باز بود) ، خانه های بسیاری با بشکه و پمپ دیده می شد که بتوانند با سرعت هرچه تمام از اتوبوس و تریلرها گازوئیل مازاد خریداری کنند !تصویر ماهواره ای گوگل از این مکان هم جالب است !طی یک زمان 45 دقیقه ای تقریبا 2000 لیتر سوخت به صاحب آنجا فروخته شد و با دریافت پول نقد توسط صاحب اتوبوس ( نه راننده اتوبوس ! ) به سمت چابهار حرکت کردیم.آفتاب در اینجا زودتر از هرجای ایران طلوع کرد و من تقریبا در فاصله 4 ساعته از چابهار قرار داشتم.مسیر بسیار زیبا بود.روستاهای کوچکی که درختان نخل بسیاری در آن وجود داشت.ساختار زمین و ناهمواری‌های اینجا بسیار برایم جالب بود.در هرجا که نگاه می کردی، آبی در جریان بود که برای استان کم آبی مثل استان سیستان و بلوچستان غنیمتی بود.عکس از گوگلعکس از گوگلاز یکی از مسافران اتوبوس که اهل چابهار بود در رابطه با اینجا پرسیدم و او هم از سرسبزی منطقه قصرقند بسیار تعریف می‌کرد.به نظر من در مورد بخش بلوچستان استان سیستان و بلوچستان تنها به سواحل پرداخته شده و نسبت به معرفی جاذبه های طبیعی ایرانشهر-چابهار (مسیر نیک شهر) کم لطفی شده است.بالاخره بعد از یک مسیر پر پیچ و خم و نسبتا طولانی ، اتوبوس در نزدیکی ساعت 9:30 به ترمینال چابهار رسید.ترمینال چابهار نسبتا کوچک و نسبتا تمیز هست و چند شرکت مسافربری آن به اکثر شهرهای بزرگ و شهرهای دیگر استان سیستان و بلوچستان سرویس مستقیم دارد.هوای گرم ! و پوشش مردم و چهره و صبحت کردن مردم بلوچ از همان ابتدا بسیار برایم جذاب بود.کیف و کوله را در یکی از شرکت های مسافربری گذاشتم و رفتم کمی آب به صورتم زدم تا از بعد از یک سفر تقریبا 23 ساعته ، به دوستم محمد زنگ بزنم.تلفن همراه محمد خاموش بود که به خاطر پرواز با هواپما خاموش کرده بود.بالاخره بعد از چند بار تماس ، با او صبحت کردم و مکانی که باید همدیگر را ببینم را یادآوری کردم.قرار ما ساحل دریا بزرگ چابهار بود.او از فرودگاه چابهار که نزدیک شهر بندری کنارک هست می آمد و من هم از ترمینال مسافربری.بالاخره حوالی قبل از  ظهر به محل قرار رسیدیم و بعد از احوال پرسی کمی نشستیم و برنامه سفر را مرور کردیم تا برای یک ماجراجویی یک هفته ای آماده شویم.اگر پیشنهاد یا نکته از قلم افتاده در بخش دیدگاه ها بیان کنید.#سفر_چابهارادامه دارد .....</description><category>سعید</category><author>سعید</author><pubDate>Sat, 21 Dec 2019 18:12:39 +0330</pubDate></item><item><title>برنامه ریزی برای سفر بدون اینترنت واقعا سخته !</title><link>https://virgool.ir/iranvolunteering/برنامه-ریزی-برای-سفر-بدون-اینترنت-واقعا-سخته-ssjukstdojt7</link><description>قرار بود که اول آذر یک سفر کاری و تفریحی به مدت حدود 10 روز به جنوب کشور داشته باشم ولی خب قطع اینترنت واقعا تاثیر گذار بود.البته من قرار بود با اتوبوس بروم که مشکلی از بابت خرید بلیط نیست چون چند تا شرکت در این مورد فعالیت می کنند.مشکل اصلی، ایجاد هماهنگی و برنامه ریزی هست که به لطف سرویس ترلو(Trello) و پیامرسان هایی مثل واتس‌آپ و تلگرام می‌شد انجام داد.شما مشکل نداشتن شماره از دوستان تلگرامی و راهنماهای محلی (دوستانی ساکن شهرهای مختلف و ...) را هم به این مشکلات اضافه کنید.همچنین طبق مطلبی که یکی دو روز پیش در همین ویرگول نوشته بودند ، سرویس هایی مثل گوگل مپ و ... هم از کار افتاده است که بحث انتخاب و پیدا کردن مکان رو با مشکل مواجه کرده.می دونم که نقشه Neshan و Map.ir هم این چند ساله فعالیت خوبی داشته اند (که البته در سایت ویرگول هم فعال هستند) ولی باید حقیقت را بگوییم که گوگل مپ و سرویس هایی مثل Google Earth جامعه کاربری بسیار زیادتری دارند و همچنین خدمات دیگری مثل نقشه ماهواره ای  و توپوگرافی (Satellite ,Terrain) که خب من تا الان نتونستم سرویسی پیدا کنم.از این دو تا سرویسی که گفت معمولا در سفرهای ماجراجویانه خودم ? استفاده می کنم و مسیرهای مناسب کوهنوردی یا دره‌پیمایی را پیدا می کنم ولی خب فکر کنم تا وقتی که اینترنت وصل بشود باید مثل اجداد نخستین خود و نیزه به دست به دل طبیعت بروم !سرویس بعدی هم که من را به نوعی لنگ کرده، سرویس WikiLoc هست که طبیعت‌گردان با آن آشنایی کامل را دارند.در این سرویس شما می تواند Track مسیرهایی که از قبل افراد رفته اند و به اشتراک گذاشتند را ببینید که نمونه داخلی نداریم ! به جز یکی دو تا سایت که این Track ها رو به اشتراک گذاشتن البته نه به شکل تعاملی که WikliLoc کار کرده.چک کردن وضعیت آب و هوا هم که بخش مهمی از هر سفری را تشکیل می دهد را هم به لطف قطع اینترنت از دست داده ام.سایت های ایرانی که هست یکی سایت های مرتبط به سازمان هواشناسی کشور و سایر استان ها است که پیش بینی سه روز یا نهایت هفتگی را دارند که به صورت کلی گویی هست و هیچگاه کاری که سایت هایی مثلاکیوودر (Accuweather) یا سایت Weather.us برای شما انجام می دهند را نمی‌کنند.البته این هفته قطعا سفرم را شروع خواهم کرد، چه با اینترنت و چه بدون اینترنت !مگر اجداد ما که با شتر و اسب و الاغ سفر می کردند، اینترنت داشتند ؟!هوا هم صاف باشه با ستاره قطبی مسیریابی می کنم.به لطف این شرایط مهارت های بقا در طبیعت را مرور می کنم ??</description><category>سعید</category><author>سعید</author><pubDate>Fri, 22 Nov 2019 19:06:18 +0330</pubDate></item></channel></rss>