<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های کاپیتان کد</title><link>https://virgool.ir/feed/@captaincode</link><description>آموزش لاراول، TALL و ابزارهای هوش مصنوعی — captaincode.tech</description><language>fa</language><pubDate>2026-11-10 22:10:13</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>کاپیتان کد</title><link>https://virgool.ir/@captaincode</link></image><item><title>فرانت‌اند، بک‌اند یا فول‌استک؟ جواب کوتاه و بی‌تعارف</title><link>https://virgool.ir/@captaincode/فرانت-اند-بک-اند-یا-فول-استک-جواب-کوتاه-و-بی-تعارف-lgxwk8m0grzn</link><description>این سؤال رو تقریباً هر کسی که تازه وارد برنامه‌نویسی می‌شه یه بار می‌پرسه. جواب کوتاه من اینه: فرانت‌اند معمولاً سریع‌ترین راه به اولین درآمده، بک‌اند سقف حقوقی بالاتری داره، و فول‌استک بیشترین تنوع پروژه رو می‌ده ولی عمق تخصصی کمتری. بقیه‌ی متن جزئیات همین سه‌تا جمله‌ست.تفاوتی که کمتر کسی بهش اشاره می‌کنهتعریف کتابی رو همه بلدن. فرق واقعی توی حس کار روزانه‌ست. فرانت‌اند بازخورد فوری داره؛ کد می‌نویسی و چند ثانیه بعد نتیجه رو توی مرورگر می‌بینی. بک‌اند بازخورد تأخیری داره؛ باید API رو تست کنی، لاگ بخونی و دیتابیس رو چک کنی. همین فرق کوچیک روی سرعت یادگیری و انگیزه‌ت خیلی اثر می‌ذاره.فول‌استک هم یعنی به‌اندازه‌ای که یه پروژه‌ی کوچک تا متوسط رو از صفر تا صد تحویل بدی، نه لزوماً بهترین متخصص هر دو طرف.عددها از کجا اومدن؟برای مقایسه از دو منبع استفاده کردم: گزارش Stack Overflow Developer Survey 2025 و گزارش حقوق فول‌استک 2026 از Scalify. برای ایران هم بازه‌ها رو از آگهی‌های جابینجا و جاب‌ویژن و گزارش‌های بازار ۱۴۰۵ جمع کردم. عدد ساختگی نذاشتم؛ جایی که تخمینه، می‌گم تخمینیه.خلاصهٔ جهانی طبق همون گزارش‌ها اینه که فول‌استک توی سطح Mid و Senior حدود ۵ تا ۱۰ درصد بیشتر از متخصص‌ها می‌گیره، ولی بالاتر از Senior معمولاً تخصص عمیق (مثلاً بک‌اند سیستم‌های توزیع‌شده) جلو می‌زنه.تو بازار ایران هم الگو تقریباً همینه: بک‌اند لاراول به‌خاطر سایت‌های شرکتی و فروشگاهی تقاضای پایدار داره، React و Next.js با استارتاپ‌ها رشد سریع‌تری دارن، و Python بک‌اند به‌خاطر AI متقاضی پیدا کرده ولی هنوز سهمش کمتره.چند ماه طول می‌کشه به پول برسی؟با روزی ۳ تا ۴ ساعت یادگیری جدی، تخمین واقع‌بینانه‌ام اینه (نه آمار رسمی):اولین پروژه‌ی فریلنسری کوچک: فرانت ۳ تا ۵ ماه، بک‌اند ۴ تا ۶ ماه، فول‌استک ۸ تا ۱۲ ماهاولین استخدام Junior: فرانت ۵ تا ۸ ماه، بک‌اند ۶ تا ۹ ماه، فول‌استک ۹ تا ۱۴ ماهاولین حقوق دلاری ریموت: فرانت ۴ تا ۸ ماه، بک‌اند ۶ تا ۱۰ ماه، فول‌استک ۱۰ تا ۱۴ ماهچرا فرانت معمولاً زودتره؟ پورتفولیوی بصری راحت‌تر ساخته می‌شه، تقاضای لندینگ و سایت شرکتی بالاست، و ابزارهای AI مثل Cursor ساخت کامپوننت رو سریع‌تر کردن. ولی سریع‌تر به درآمد رسیدن با بهترین مسیر بلندمدت یکی نیست.سقف شیشه‌ای فول‌استکباور رایج اینه که «فول‌استک بهتره چون همه‌چیز بلده». تجربه‌ی من از فریلنسری لاراول اینه که این حرف تا سطح Senior درسته. از اونجا به بعد بازار عمق می‌خواد: سیستم‌های توزیع‌شده، اسکیل کردن، معماری. استثنا هم داره: اگه می‌خوای استارتاپ خودت رو راه بندازی یا Tech Lead یه تیم کوچیک باشی، فول‌استک معمولاً بهترین انتخابه.خلاصه‌ی تصمیمفرانت‌اند: می‌خوای زود به درآمد برسی، نتیجه‌ی کارت رو ببینی و به UX علاقه داری.بک‌اند: حل مسئله‌ی عمیق و کار با داده و معماری رو دوست داری، صبوری و سقف بالاتر می‌خوای.فول‌استک: می‌خوای پروژه رو سر تا ته تحویل بدی، استارتاپ بزنی یا مستقل کار کنی.یه نکته‌ی ۲۰۲۶ هم اینه که هر مسیری بری، باید با ابزارهای AI راحت باشی؛ طبق همون نظرسنجی Stack Overflow بیشتر دولوپرها ازشون استفاده می‌کنن، ولی خیلی‌ها هنوز برای دیپلوی و مانیتورینگ سراغشون نمی‌رن. همون نقطه می‌تونه مزیت رقابتی‌ت باشه.این یادداشت رو برای مخاطب‌های کاپیتان کد نوشتم. اگه مسیر خودت فرق داشته، تو نظرات بگو.</description><category>کاپیتان کد</category><author>کاپیتان کد</author><pubDate>Tue, 03 Nov 2026 11:11:38 +0330</pubDate></item><item><title>خطای 419 لاراول فقط روی سرور؟ تقریباً همیشه پای کوکیه</title><link>https://virgool.ir/@captaincode/خطای-419-لاراول-فقط-روی-سرور-تقریباً-همیشه-پای-کوکیه-tcs9dymi4t7m</link><description>پروژه روی سیستم خودت عالی کار می‌کنه، می‌بریش روی سرور و اولین فرمی که می‌فرستی صفحه‌ی 419 Page Expired رو نشونت می‌ده. کد همونه، پس مشکل از کجاست؟جواب کوتاه: لاراول توکن CSRF رو داخل session نگه می‌داره و session هم با یه کوکی به مرورگر وصله. اگه اون کوکی بین دو تا درخواست گم بشه یا عوض بشه، توکن فرم دیگه با توکن session یکی نیست و لاراول درخواست رو رد می‌کنه. پس وقتی فقط روی سرور 419 می‌گیری، اول برو سراغ کوکی و HTTPS، نه کد فرم.اول دو تا چیز ساده رو رد کن@csrf داخل فرم هست؟ یه View Source بگیر و ببین فیلد مخفی _token تو فرم هست یا نه.درخواست‌های AJAX توکن می‌فرستن؟ اگه با fetch کار می‌کنی، توی &lt;head&gt; یه تگ &lt;meta name=&#34;csrf-token&#34; content=&#34;{{ csrf_token() }}&#34;&gt; بذار و مقدارش رو تو هدر X-CSRF-TOKEN بفرست. Axios روی همون دامنه این کار رو خودش با کوکی XSRF-TOKEN انجام می‌ده.اگه این دو تا درست بودن و باز هم فقط روی سرور خطا داری، برو بخش بعد.مقصرهای اصلی روی سرورAPP_URL با http موندهسایت روی https بالا اومده ولی تو .env هنوز نوشته APP_URL=http://.... این رو درست کن و بعدش حتماً کش کانفیگ رو پاک کن:php artisan optimize:clear&#xA;لاراول نمی‌دونه درخواست HTTPS بودهخیلی وقت‌ها HTTPS روی Nginx یا Cloudflare تموم می‌شه و درخواست با http به PHP می‌رسه. لاراول خیال می‌کنه اتصال ناامنه و کوکی رو بدون Secure می‌سازه. دو جا باید درست بشه.تو Nginx هدر پروتکل رو پاس بده:proxy_set_header X-Forwarded-Proto $scheme;&#xA;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&#xA;proxy_set_header Host $host;&#xA;و تو لاراول ۱۱ به بعد، داخل bootstrap/app.php پراکسی رو trust کن:-&gt;withMiddleware(function (Middleware $middleware) {&#xA;    $middleware-&gt;trustProxies(at: &#39;*&#39;);&#xA;})&#xA;اگه می‌تونی به‌جای * آی‌پی پراکسی‌هات رو بذار، امن‌تره. برای چک کردن نتیجه، روی سرور ببین request()-&gt;isSecure() مقدار true می‌ده یا نه.Cloudflare روی Flexibleاین یکی رو زیاد دیدم. تو حالت Flexible، مرورگر با Cloudflare روی HTTPS حرف می‌زنه ولی Cloudflare با سرورت روی HTTP. نتیجه همون داستان کوکیه. حالت SSL رو بذار روی Full یا Full (Strict).تنظیمات کوکی sessionبرای سایتی که فقط روی HTTPS کار می‌کنه، این ترکیب معمولاً جواب می‌ده:SESSION_SECURE_COOKIE=true&#xA;SESSION_SAME_SITE=lax&#xA;SESSION_HTTP_ONLY=true&#xA;SESSION_HTTP_ONLY رو هیچ‌وقت false نکن؛ اون‌وقت جاوااسکریپت هم می‌تونه کوکی session رو بخونه.ساب‌دامیناگه اپ روی یه ساب‌دامینه یا می‌خوای session بین چند ساب‌دامین مشترک باشه، SESSION_DOMAIN رو درست ست کن. مقدار .example.com با نقطه‌ی اول یعنی کوکی برای همه‌ی ساب‌دامین‌ها معتبره. بعد از تغییر، تو DevTools بخش Application و بعد Cookies رو باز کن و دامنه و تیک Secure کوکی رو با چشم خودت ببین.session اصلاً ذخیره نمی‌شهاگه درایور session روی file هست و پوشه‌ی storage/framework/sessions دسترسی نوشتن نداره، هر درخواست یه session تازه می‌سازه. اگه روی database هست، مطمئن شو جدول sessions ساخته شده.Livewire چی؟تو Livewire هم ریشه همینه، فقط بیشتر به چشم میاد چون هر کلیک یه درخواست AJAX می‌فرسته. یه حالت رایجش اینه که کاربر صفحه رو مدت طولانی باز نگه می‌داره و session منقضی می‌شه. مقدار SESSION_LIFETIME رو ببین و اگه خیلی کمه، بیشترش کن. بعد از آپگرید لاراول یا Livewire هم یه php artisan optimize:clear و رفرش کامل صفحه رو فراموش نکن.کاری که نباید بکنیوسوسه‌ی اینکه CSRF رو برای همه‌ی مسیرها خاموش کنی رو کنار بذار. این یعنی هر سایت دیگه‌ای می‌تونه از طرف کاربر لاگین‌کرده‌ات فرم بفرسته. تنها جای منطقی برای استثنا، وب‌هوک سرویس‌های بیرونیه که توکن نمی‌فرستن، و اون‌جا هم باید امضای درخواست رو چک کنی.چک‌لیست کوتاه@csrf و متا تگ توکن سر جاشونن.APP_URL با https نوشته شده و کش کانفیگ پاک شده.Nginx هدر X-Forwarded-Proto رو می‌فرسته و لاراول پراکسی رو trust کرده.Cloudflare روی Full یا Full (Strict) هست.کوکی session تو مرورگر تیک Secure و دامنه‌ی درست داره.پوشه یا جدول session قابل نوشتنه.این یادداشت رو برای مخاطب‌های کاپیتان کد نوشتم. اگه 419 رو با یه علت دیگه حل کردی، تو نظرات بنویس که بقیه هم استفاده کنن.</description><category>کاپیتان کد</category><author>کاپیتان کد</author><pubDate>Mon, 02 Nov 2026 11:11:21 +0330</pubDate></item><item><title>هوش مصنوعی رایگان برای کدنویسی: کدوم واقعاً رایگانه؟</title><link>https://virgool.ir/@captaincode/هوش-مصنوعی-رایگان-برای-کدنویسی-کدوم-واقعاً-رایگانه-piqbjdpiqgar</link><description>چند وقت پیش یکی ازم پرسید «کدوم AI برای برنامه‌نویسی مجانیه؟» و من دیدم جواب کوتاهی نداره. چون کلمه‌ی «رایگان» تو این ابزارها هر بار یه معنی دیگه می‌ده.اول ببین دنبال کدوم کاریابزارهای کدنویسی با هوش مصنوعی سه کار اصلی دارن و سهمیه‌ی رایگان‌شون هم روی همین سه تا تقسیم می‌شه:تکمیل خودکار: همون پیشنهادهای خاکستری موقع تایپ. ارزون‌ترین بخشه و معمولاً سخاوتمندانه‌ترین سهمیه رو داره.چت: سؤال می‌پرسی و توضیح یا کد می‌گیری.Agent: خودش فایل‌ها رو می‌خونه، تغییر می‌ده و دستور اجرا می‌کنه. گرون‌ترین بخشه و تو پلن رایگان همه‌جا زود تموم می‌شه.اگه بیشتر دستیار موقع تایپ می‌خوای، تقریباً هر گزینه‌ای کارت رو راه می‌اندازه. اگه انتظار داری Agent هر روز یه فیچر کامل برات بنویسه، با هیچ پلن رایگانی شدنی نیست.گزینه‌های ابری، خیلی خلاصهGitHub Copilot Free: طبق مستندات خود گیت‌هاب، ماهی ۲۰۰۰ تکمیل کد و یه سهمیه‌ی محدود برای چت و Agent. انتخاب مدل هم خودکاره.Google Antigravity: تکمیل کد نامحدود و سهمیه‌ی هفتگی Agent که عددش اعلام نشده. Gemini CLI و Code Assist برای حساب‌های شخصی رایگان از ژوئن ۲۰۲۶ کنار رفتن و جاشون همین Antigravity اومده.Cursor و Windsurf: ادیتورهایی که AI از اول توشونه. هر دو پلن رایگان دارن ولی سهمیه‌ی Agent کمه. Windsurf تکمیل کد و ویرایش درون‌خطی رو نامحدود داده.نکته‌ای که برای ما ایرانی‌ها مهم‌ترهاینجا باید رک بود. طبق سند رسمی گیت‌هاب درباره‌ی محدودیت‌های تجاری، خود گیت‌هاب برای ایرانی‌ها بازه ولی Copilot مشمول محدودیت صادرات به ایرانه. ایران تو لیست کشورهای پشتیبانی‌شده‌ی OpenAI و Antigravity هم نیست، و OpenAI صریحاً گفته استفاده از کشور پشتیبانی‌نشده ممکنه به بسته شدن حساب برسه.یعنی هر ابزاری که با VPN بهش وصل می‌شی، ممکنه وسط یه پروژه حسابت رو از دست بدی. این رو موقع انتخاب جدی بگیر.گزینه‌ای که واقعاً بی‌سقفه: مدل لوکالاگه سیستم نسبتاً خوبی داری، ترکیب Ollama (برای اجرای مدل) و افزونه‌ی Continue تو VS Code یا JetBrains با یه مدل مثل Qwen-Coder هیچ سهمیه‌ای نداره. کدت هم از سیستمت بیرون نمی‌ره و تحریم هم بی‌معنی می‌شه.شروعش ساده‌ست:ollama pull qwen2.5-coder:1.5b&#xA;ollama pull qwen3-coder:30bمدل کوچیک برای تکمیل خودکار، مدل بزرگ‌تر برای چت و ویرایش.ولی سخت‌افزار تعیین‌کننده‌ست. مستندات Continue تخمین زده مدل‌های ۱.۵ تا ۳ میلیاردی حدود ۴ گیگ رم می‌خوان، ۷B حدود ۸ گیگ و ۳۲B حدود ۳۲ گیگ. نسخه‌ی 30b مدل qwen3-coder تو Ollama هم حدود ۱۹ گیگ حجم داره. با لپ‌تاپ ۸ گیگی فقط مدل کوچیک تکمیل خودکار منطقیه و نباید کیفیت مدل‌های ابری بزرگ رو انتظار داشت.خلاصه‌ی انتخابتازه‌کاری: یه چت‌بات که فارسی رو خوب بفهمه و قدم‌به‌قدم توضیح بده از Agent مفیدتره.سیستم قوی داری و کدت حساسه: Ollama + Continue.لپ‌تاپ ضعیف داری: مدل خیلی کوچیک لوکال برای تکمیل، و برای سؤال‌های سنگین یه سرویسی که برات پایداره.دانشجویی: Copilot Student تکمیل کد نامحدود داره، البته با همون ملاحظه‌ی تحریم.یه هشدار آخرAI سرعتت رو بالا می‌بره ولی اگه حواست نباشه یادگیریت رو می‌گیره. چند تا عادت که برای خودم جواب داده:قبل از پرسیدن، حتی پنج دقیقه خودت فکر کن.هر خطی رو که نمی‌فهمی نگه ندار؛ بخواه توضیحش بده.کد AI رو مثل کد یه همکار تازه‌وارد review کن، مخصوصاً جاهایی که پای امنیت و دیتابیس وسطه.پیغام خطا رو قبل از کپی کردن تو چت، یه بار خودت کامل بخون.ابزار وقتی بیشترین کمک رو می‌کنه که بدونی داری چی می‌سازی.این یادداشت رو برای مخاطب‌های کاپیتان کد نوشتم؛ اگه تجربه‌ی دیگه‌ای با این ابزارها داری، تو نظرات بگو.</description><category>کاپیتان کد</category><author>کاپیتان کد</author><pubDate>Thu, 29 Oct 2026 11:10:01 +0330</pubDate></item><item><title>۲۰۲۶ چه زبان برنامه‌نویسی‌ای یاد بگیرم؟ جواب کوتاه و بی‌تعارف</title><link>https://virgool.ir/@captaincode/۲۰۲۶-چه-زبان-برنامه-نویسی-ای-یاد-بگیرم-جواب-کوتاه-و-بی-تعارف-lbvejm2yw5qe</link><description>این سؤال رو تقریباً هر هفته یکی ازم می‌پرسه: «الان چی یاد بگیرم که دیر نباشه؟»راستش جواب درست با یه سؤال دیگه شروع می‌شه: می‌خوای باهاش چی بسازی؟ تا اینو ندونی، هر اسمی بشنوی فقط یه حدس قشنگه.چهار تا سؤال قبل از انتخابدنبال چه کاری هستی؟ وب، موبایل، هوش مصنوعی یا برنامه‌نویسی سیستمی؟چقدر عجله داری که اولین درآمدت رو دربیاری؟بازار هدفت ایرانه یا دورکاری برای خارج؟این زبان چند سال دیگه هنوز خریدار داره؟اگه هدفت هوش مصنوعی و داده‌ستPython و تمام. ابزارهای اصلی این حوزه یا اول برای پایتون ساخته شدن یا بهترین پشتیبانی‌شون همون‌جاست. سینتکسش هم ساده‌ست، پس برای شروع از صفر هم انتخاب بدی نیست.اگه می‌خوای سایت و وب‌اپ بسازیJavaScript تنها زبانیه که همه‌جا اجرا می‌شه: مرورگر، سرور، حتی موبایل و دسکتاپ. ولی همون اول TypeScript رو هم جدی بگیر، چون الان توی بیشتر آگهی‌های جدی اسمش هست.برای بازار ایران، ترکیب Laravel + Vue + MySQL هنوز کلی پروژه داره و راه سریعی برای ورود به کاره. اگه چشمت به دورکاری خارجیه، React + TypeScript + Node.js منطقی‌تره.Rust چی؟Rust زبان قشنگیه: امنیت حافظه، سرعت بالا، جامعه‌ی پرانرژی. ولی منحنی یادگیریش واقعاً تنده و خیلی‌ها وسط دعوا با borrow checker بی‌خیالش می‌شن.پیشنهادم اینه که زبان اولت نباشه. اول پایه‌ت رو با یه زبان ساده‌تر محکم کن، بعد برو سراغش.«با وجود هوش مصنوعی اصلاً لازمه زبان یاد بگیرم؟»آره. AI فقط شکل یادگیری رو عوض کرده. حفظ کردن سینتکس دیگه اون‌قدر مهم نیست، ولی فهم مفاهیم، طراحی سیستم و دیباگ کردن باگ‌های واقعی هنوز کار خودته. کسی که نفهمه کد چی کار می‌کنه، نمی‌فهمه AI کجا اشتباه کرده.خلاصه در چند خطاز صفر شروع می‌کنی و می‌خوای زود وارد بازار شی: Pythonعاشق ساختن سایت و اپ وبی: JavaScript و TypeScriptدانشجوی کامپیوتری و سیستم برات جذابه: اول C++، بعد Rustفقط موبایل: Kotlin یا Swift، یا Flutter و React Nativeآخرش بهترین زبان همونیه که واقعاً باهاش شروع کنی و یه پروژه‌ی واقعی تحویل بدی. «زمان مناسب» هیچ‌وقت خودش نمی‌رسه.من امیر هستم از تیم کاپیتان کد. درباره‌ی برنامه‌نویسی، وب و هوش مصنوعی می‌نویسم. اگه سؤالی داری، توی کامنت‌ها بپرس.</description><category>کاپیتان کد</category><author>کاپیتان کد</author><pubDate>Tue, 27 Oct 2026 11:06:56 +0330</pubDate></item></channel></rss>