<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های muhammad Husayni</title><link>https://virgool.ir/feed/@hoseiny.69</link><description>Interim CTO / Back-End/API - Developer/ DevOps Engineer/ @full_stack_developer</description><language>fa</language><pubDate>2026-11-10 19:58:02</pubDate><image><url>https://files.virgool.ir/upload/users/6657/avatar/Voiuqa.png</url><title>muhammad Husayni</title><link>https://virgool.ir/@hoseiny.69</link></image><item><title>تکنیک ۱۲ مرحله ای هدف گذاری به سبک برایان تریسی</title><link>https://virgool.ir/@hoseiny.69/تکنیک-۱۲-مرحله-ای-هدف-گذاری-به-سبک-برایان-تریسی-imdtwegjujnw</link><description>آنچه در این مقاله می خوانید:تکنیک ۱۲ مرحله ای هدف گذارینحوه شناسایی خواسته قلبی و هدف واقعی خودتاثیر نوشتن اهداف و رابطه آن با ضمیر نا خودآگاهنحوه تعیین مهلت برای اهداف و آشنایی با کار شکنی ها ضمیر نا خودآگاهاستفاده از قانون ۲۰-۸۰ برای کنار گذاشتن موانع و محدودیت هانحوه ایجاد و اولویت بندی لیست گام های لازم برای رسیدن به اهدافکلید اصلی مدیریت زمان برای ایجاد خود انضباطینحوه تصویر سازی ذهنی و استفاده از قدرت تجسم برای تاثیر گذاری بر ضمیر نا خود آگاه“ما نمی توانیم حس شادی عمیقی داشته باشیم مگر که احساس کنیم در حال حرکت به سوی هدفی و بدست آوردن چیزی که می خواهیم هستیم.”ما انسان ها به صورت فطری موجوداتی هدف محور هستیم. ما طوری طراحی شده ایم که به طور منظم در راستای رسیدن به اهدافمان کار و تلاش می کنیم. ما بطور مداوم در راستای به انجام رساندن چیزهای که برایمان مهم هستند حرکت می کنیم.هنگامی که به یکی از اهداف خود دست می یابیم رضایت از دستیابی به یک خواسته بطور اتوماتیک تبدیل به خواسته یا آرزو برای چیز دیگری می شود.هدف گذاری یکی از مهم ترین مبانی موفقیت است. همه ی ما خواسته ها و آرزوهایی داریم و با تمام وجود می خواهیم به آنها دست یابیم اما باید بدانیم داشتن یک آرزو  و رویا به تنهایی نمی تواند تضمینی برای تحقق آن رؤیا باشد. جمله ای معروف است که می گوید:هنگامی که رؤیای خود را می نویسیم به هدف تبدیل می شود. هنگامی که هدف خود را به گام های کوچک تقسیم می کنیم به برنامه تبدیل می شود و هنگامی که متعهد به اجرای برنامه می شویم رویای ما به واقعیت تبدیل خواهد شد.تقریبا ً می توان گفت اگر هدف گذاری و برنامه به خصوصی نداشته باشیم، نمی توانیم به هدف بزرگی در زندگی دست یابیم. ولی سوال اینجاست که هدف گذاری اصولی به چه صورت است؟ در واقع جواب این سوال را می توان تنها از کسانی پرسید که عمر خود را صرف تحقیق و پژوهش در این زمینه یعنی علم مدیریت زمان و هدف گذاری کرده اند.در این میان برایان تریسی را می توان استاد بی چون و چرای علم مدیریت زمان و هدف گذاری دانست زیرا حدود پنجاه سال از زندگی خود را صرف تحقیق و پژوهش در این زمینه کرده است . در این مقاله یکی از وبینارهای فوق العاده این استاد را مورد بررسی قرار می دهیم و تمام نکات در این وبینار را موشکافی می کنیم.اگر کسی برای موفقیتش از قبل آماده نشود، زمانی که فرصت بزرگ فرا می رسد مثل احمق ها به نظر می آید.شاید این را شنیده اید که می گویند: شانس زمانی اتفاق می افتد که آمادگی و فرصت با هم رخ دهند. شما فقط زمانی می توانید از هر فرصتی سود ببرید که برای موفقیت تان آماده باشید.یادگیری اصول هدف گذاری باعث می شود شما بتوانید آمادگی لازم را براب استفاده کردن از فرصت ها در زندگی خود ایجاد کنید. البته آمادگی به خودی خود، فرصت ها را مثل آهن ربا به شما جذب می کند.اگر شما هم تمایل دارید که این آمادگی لازم را در خود به وجود بیاورید و خود را برای موفقیت های بزرگ آماده کنید پس تکنیک ۱۲ مرحله ای هدف گذاری که در این مقاله گفته شده است را به طور کامل و مرحله به مرحله انجام دهید.تکنیک ۱۲ مرحله ای هدف گذاری ، مهم ترین تکنیک در موفقیت در زندگی است.قدم اول از تکنیک ۱۲ مرحله ای هدف گذاری :تصمیم بگیرید که دقیقاً در هر قسمت از زندگیتان چه می خواهید؟این کار بلافاصله شما را از ۸۰ تا ۹۰ درصد جدا می کند. مهمترین کلمه ای که من در علم موفقیت پیدا کردم “شفافیت” است. افراد موفق در مورد چیزی که می خواهند خیلی شفاف و روشن هستند. طی تجربه و تحقیقات، به من ثابت شده است که هر چه شفافیت و روشنی بیشتر داشته باشید.سریعتر هدف مطلوب وارد زندگیتان می و منابع لازم برای بدست آوردنش را خواهید یافت.برای تعیین داین که دقیقاًچه می خواهید، روشی وجود دارد که “ایده آل سازی”  نامیده می شود .شما ابتدا باید در ذهن خود زندگی دلخواه تان را ایده آل و کامل و بی نقص فرض کنید .زندگیتان را در چهار زمینه ی اصلی کاملاً ایده آل فرض کنید.درآمدخانوادهسلامتیسرمایه خالصباید ابتدا ترس ها و محدودیت هایی را که در ذهن خود ایجاد کرده اید را کنار بگذارید .ترس از این که به هدفتان نرسید چیز است که ما به آن باور محدودیت های شخصی می گوییم .باور به محدودیت های شخصی یک مانع ذهنی است و واقعی نیستند .شما برای کنار گذاشتن این باورهای محدود کننده باید ابتدا سوالات زیر را از خود بپرسید:اگر من هیچ محدودیتی نداشتم چه اهدافی را برای خودم انتخاب می کردم ؟اگر بتوانم زندگی بی نقص را خلق کنم آن زندگی چه شکلی خواهد بود؟اگر پول برای من مساله ای نباشد چه هدفی را دنبال می کنم ؟یک تکنیک برای مشخص کردن اهداف واقعی و شناسایی خواسته قلبی شما وجود دارد که تکنیکی بسیار دقیق و معتبر است. این تکنیک به این صورت است که باید سه هدفی را که از صمیم قلب می خواهید به آن دست یابید را در کمتر از ۳۰ ثانیه بنویسید. بدون اینکه فکر کنید .درواقع باید قلم و کاغذی را بردارید و بدون اینکه ذهن شما فرصت داشته باشد که اهداف را تجزیه و تحلیل کند آن ها  را بر روی کاغذ بیاورید.چرا این کار لازم است در کمتر از ۳۰ ثانیه  انجام شود؟ زیرا در صورتی که به ذهن فرصت داده شود، به اهداف و خواسته های قلبی ما بر چسب های مختلفی می زند مانند: خواسته و هدف منطقی، غیرمنطقی، دست یافتنی، دست نیافتی، ممکن، غیر ممکن، ارزشمند، ناچیز، بزرگ، کوچک و یا صدها بر چسب دیگر.در واقع این بر چسب ها ناشی از همان باورهای محدود کننده ذهن ماست و اگر در تله این باورهای محدود کننده گرفتار شویم، در همان گام اول هدف گذاری متوقف می شویم و یا اهدافی را برای خود مشخص می کنیم که خواسته های قلبی و رویاهای واقعی ما برچسب هایی مانند: غیر ممکن ، بی ارزش و….زده باشد و در نتیجه ما را از انتخاب آن خواسته های قلبی به عنوان اهداف اصلی مان منصرف کرده باشد.سه مورد از مهم ترین اهدافتان در زندگی را همین الان بنویسید.هر چیزی که بلافاصله نوشته اید. نشان دهنده چیزی است که واقعا ً در زندگیتان می خواهید. جواب هایی که در این ۳۰ ثانیه نوشتید بسیار دقیق تر از حالتی است.که چندین ساعت وقت بگذارید.قدم دوم از تکنیک ۱۲ مرحله ای هدف گذاری :تمام اهداف و خواسته های خود را باید مکتوب کنید.وقتی که اهدافتان را تمیز و واضح می نویسید آنها یک قدرت از خودشان در ذهنتان ایجاد می کنند. چون وقتی شروع به نوشتن کنید، یک ارتباط باور نکردنی بین ذهن و دست به وجود می آید .وقتی که یک هدف را می نویسید شما درگیر چیزی به اسم “چرخه فعالیت عصب ها” می شوید. قدرت  تصورتان، شنیداری تان و جنبشی تان را فعال می کنید . هر آنچه که شما می نویسید مستقیماً در ضمیر نا خودآگاهتان برنامه ریزی می شود و ضمیر نا خود آگاه ۲۴ ساعت شبانه روز شروع به کار کردن روی آن می کند . که این نکته بسیار حائز اهمیتی است.اهداف شما باید “شفاف” ، “خاص” با  “جزئیات” و “قابل اندازه گیری” باشند. البرت انشیتن می گوید: اهداف شما باید خیلی شفاف باشند. بطوری که یک بچه ۶ ساله به وضوح آنرا متوجه شود. و بتواند برای یک کودک ۶ ساله دیگر توضیح دهد.به همین دلیل است که شما هرگز نباید بگوید که خوب، اهداف من این هستند که خوشحال،پولدار، و معروف باشم . یا شخصی خوب را ملاقات کنم . اینها هدف نیستند . اینها تنها خیال بافی هستند.یک هدف چیزی است که نوشته شود. و شفاف و خاص باشند فقط ۳ درصد از افراد بالغ جهان اهداف نوشته شده دارند. و جالب است که بدانید که بقیه افراد برای آنها کار می کنند. افرادی که با اهداف نوشته شده شروع کرده اند .۱۰ برابر موفق تر بوده اند. وسرمایه خالص آنها ۱۰ برابر بیشتر از بقیه افراد در طی چند سال بوده است.قدم سوم از تکنیک ۱۲ مرحله ای هدف گذاریروبروی هر کدام از اهداف اصلی خود مهلت و زمان مقرری بنویسید.ضمیر نا خود آگاه شما از این مهلت  ها به عنوان یک اهرام فشار استفاده می کند . این مهلت ها آگاهانه و ناآگاهانه شما را طبق برنامه تان به سوی رسیدن به هدفتان می رانند .سپس هر هدف  را به گام های کوچکتر تقسیم کنید برای هر کدام از آن گام ها مهلت های کوتاه تری مشخص کنید. در نتیجه این کار شما حرکت به سمت هدف بزرگتان را با برداشتن هر بار تنها یک قدم انجام می دهید.البته ضمیر نا خود آگاهتان بر علیه شما نیز می تواند کار کند. چون وقتی که یک هدف بزرگ برای خودتان می گذارید برنامه ریزی ضمیر نا خودآگاهتان را بهم می ریزید .پس ضمیر ناخود آگاهتان  به شما خواهد گفت : که امکان پذیر نیست و تلاش می کند که هر طور شده شما را منصرف کند و شما هم بخاطر ترس از شکست ، هدفتان را نمی نویسید و مهلتی هم تعیین نمی کنید.نکته قابل توجه این است که هیچ هدف نامعقولانه ای وجود ندارد. فقط زمان بندی های  نامعقولانه وجود دارد. همچنین در مسیر دستیابی به هدف تان اتفاقاتی ممکن است بیافتد  که شما انتظارش را نداشته اید و این باعث می شود که مهلت های تعیین شده از جانب شما به تعویق بیافتد. نگران نباشید یک مهلت جدید بگذارید و برگردید سر کارتان.قدم چهارم از تکنیک ۱۲ مرحله ای هدف گذاریموانعی را که برای رسیدن به هدفتان باید با آنها روبرو شوید، شناسایی کنید.یک اصل قدرتمند به نام “اصل محدودیت” وجود دارد. که می گوید: همیشه یک عامل محدود کننده و بین شما و هدفتان وجود دارد که سرعت تان را در رسیدن به هدفتان کم می کند .چه چیزی شما را عقب نگه داشته است؟ چه عاملی سرعت تان را محدود کرده است؟قانوتن ۲۰-۸۰ برای محدودیت ها بکار برده می شود. طبق این قانون ۸۰ درصد از دلایلی که شما را از رسیدن به اهداف تان عقب نگه می دارند درون خودتان قرار دارد آنها بیرون از شما نیستند.افراد متوسط همیشه ادعا می کنند که مشکلات آنها از شرایط خارجی بوجود می آید اما در حقیقت چیزهایی که شما را عقب نگه می دارند معمولاً عواملی درونی هستند که تنها به شما بستگی دارند مثل نظم شخصی و یا کمبود مهارت و دانش است. که همه ی این موارد را می توانید اصلاح کنید و یا یاد بگیرید.فقط ۲۰ درصد از دلایلی که شما به هدفتان نمی رسید در بیرون از خودتان قرار دارند پس همیشه باید از خودتان شروع کنید.قدم پنجم از تکنیک ۱۲ مرحله ای هدف گذاریدانش، اطلاعات و مهارت هایی را که نیاز دارید که به هدفتان برسید را مشخص کنید.مهارت هایی را که باید توسعه دهید تا در ۱۰ درصد بالای زمینه کاری خودتان باشید را شناسایی کنید و آن ها را مکتوب کنید. مهم ترین مهارت ها را به صورت لیستی بنویسید و سپس مهارت شماره یک را مشخص کنید.نکته جالب این است که مهارتی که نقطه ضعف کلیدی تان است بالاترین تاثیر را بر میزان در آمد و موفقیت تان دارد.توسعه دادن و بالا بردن آن یک مهارت که نقطه ضعف شماست تاثیر بسیار بیشتری نسبت به هر عامل دیگری در پیشرفت شما دارد.قدم ششم از تکنیک ۱۲ مرحله ای هدف گذاریکسانی را که می توانند به شما در راه رسیدن به اهدافتان کمک کنند را شناسایی کنید.یادتان باشد که هیچ کس کار بزرگی را به تنهایی انجام نداده است . برای این که موفق شوید به کمک خیلی ها احتیاج دارید . یک فرد کلیدی در یک زمان و مکان مشخص در زندگی شما می تواند خیلی تغییر و تفاوت ایجاد کند.موفق ترین مردم کسانی هستند که بزرگترین شبکه را از کسانی که به یکدیگر می توانند کمک کنند را ساخته و نگهداری می کنند. هر چه افراد بیشتری را بشناسید و آنها نیز به طریق مثبتی شما را بشناسند . تقریبا “در تمام در تمام بخش های زندگیتان بیشتر موفق خواهید بود.قدم هفتم از تکنیک ۱۲ مرحله ای هدف گذارییک لیست از تمام گام ها و کارهایی که باید بکنید تا به هدف تان برسید تهیه کنید.“ناپلئون هیل” می گوید :چیزی که زندگی شما را تغییر می دهد لیستی از گام هاست.ما هم در تحقیقات مان این را فهمیدیم که اگر چک لیستی از تمام کارهایی که از ابتدا تا انتها باید انجام دهید تهیه کنید احتمال رسیدن به هدف تان ۱۰ برابر می شود.“هنری فورد ” می گوید:هر چیزی می تواند انجام شود اگر به قدم های کوچکی آنرا تقسیم کنیم.شما می توانید بزرگترین دیوار جهان را هر بار فقط با گذاشتن تنها یک آجر درست کنید.قدم هشتم از تکنیک ۱۲ مرحله ای هدف گذاری :لیست گام هایی که در مرحله قبل تهیه کردید را اولویت بندی و مرتب کنید.قانون ۲۰-۸۰ را به یاد بیاورید.۸۰ درصد از نتایج شما از ۲۰ درصد فعالیت های شما حل می شوند.قانون ۲۰ -۸۰ این را می گوید: که ۲۰ درصد زمان اولیه ای که صرف سازماندهی و برنامه ریزی برای هدفت تان می کنید. ارزشی معادل ۸۰ درصد از زمان و تلاشی را دارد که برای رسیدن به هدف تان احتیاج است.قدم نهم از تکنیک ۱۲ مرحله ای هدف گذاریلیست اولویت بندی شده تان را از ابتدای مسیر تا انتهای تکمیل شدن هدف تان سازماندهی و مرتب کنید.وقتی که یک هدف و برنامه با جزئیات دارید احتمال رسیدن به هدف تان را برابر افزایش می دهید یعنی ۱۰۰۰ درصد . یک قانون وجود دارد که می گوید هر یک دقیقه که صرف برنامه ریزی می شود .۱۰دقیقه  در اجرا و انجام هدف صرفه جویی می کند.پس یک برنامه ریز باشید و روی کاغذ فکر کنید هر روز هر هفته و هر ماه را از قبل برنامه ریزی کنید .همه ی افراد موفق از قبل برنامه ریزی می کنند تا بتوانند حدس بزنند که در آینده ممکن است چه اتفاقاتی بیوفتد و چه اقداماتی بیوفتد و چه اقداماتی را می توانند انجام دهند تا بتوانند آن را بهتر انجام دهند و یا از خطر دوری کنند .هر روز را شب قبلش برنامه ریری کنید.یک لیست از تمام کارهایی که باید آن روز انجام کارهایی که باید آن روز انجام دهید قبل از خوابیدن تهیه کنید نکته جالب این است که ضمیر نا خودآگاهتان می تواند تمام شب را روی آن موارد کار کند و وقتی که صبح از خواب بیدار شوید تمام بینش و ایده ای را که برای چگونه کامل کردن آن موارد لازم است دارید.یادتان باشد وقتی که دارید فعالیت هایتان را برنامه ریزی می کنید هر چقدر با جزئیات تر باشید. در زمان کمتری کاری تان را انجام خواهید داد.قدم دهم از تکنیک ۱۲ مرحله ای هدف گذاریهر روز تنها بر روی مهم ترین کار همان یک روز تمرکز کنید این کلید مدیریت زمان است.شما در مراحل قبل لیست تان را تکمیل کرده اید و همچنین آن را اولویت بندی کرده اید و دثیقاً می دانید باید در طی روز چه کارهایی را به انجام برسانید“مشخص بودن” و “متمرکز بودن” کلیدهای رسیدن به موفقیت است. “مشخص بودن” یعنی دقیقاً معلوم باشد که می خواهید چه کاری را انجام دهید. “متمرکز بودن” نیازمند این است که خودتان را کامل وقف انجام دادن مهم ترین کارهایی کنید که شما را به سوی هدف تان حرکت می دهند.قدم یازدهم از تکنیک ۱۲ مرحله ای هدف گذاریبه انضباط شخصی عادت کنید، این بزرگترین و چالش برانگیزترین گام است.بنظر می رسد که در تمام بخش های زندگی یک رابطه مستقیم بین “نظم شخصی” و “موفقیت” وجود دارد. اولین دلیلی که مردم موفق نمی شوند این است که آنها نمی توانند خودشان را منظم کنند تا برنامه ریزی کنند و سپس کارهای سخت ضروری را انجام دهند پس چگونه باید خودمان را منظم کنیم؟شما باید از لیست گام های مرتب شده و الویت  بندی شده در مراحل قبل، اولین و مهم ترین کارتان را تعیین کنید و خودتان را نتعهد کنید که تا آن کار تکمیل نشده است به کار کردن ادامه دهید.باید تمام تمرکز خود را تنها بر روی همان یک کار قرار دهید. تا زمانی که آن کار ۱۰۰ درصد به پایان برسد . در مدیریت زمان ما به این کار رسیدگی تنها به یک کار می گوییم. و این کار ۵۰۰ درصد بهره وری شما را افزایش می دهد . این کلید ممارست تمام افراد برتر است.این یکی از قوی ترین تکنیک های مدیریت زمان است. یعنی بایک وظیفه شروع می کنید تا وقتی که آن وظیفه کاملاً انجام شود . شما هیچ کار دیگری نمی کنید .وقتی که عادت کردید وظایف تان را کاملاًانجام دهید شما ۲ یا ۳ و یا حتی ۵ برابر دیگران نتیجه می گیرید.جالب اینجاست کرامت نفس از کامل انجام دادن کارها حاصل می شود . وقتی که یک کار شروع و تمام می کنید. در بدن تان اندروفین ترشح می شود شما احساس خوشحالی و برنده بودن می کنید انرژی و انگیزه ی بیشتری بدست خواهید آورد اتمام کارها به شما انگیزه می دهد تا وظایف بیشتری را کاملاً تمام کنید .هر چه کاری که انجام می دهید بزرگتر باشد. بیشتر احساس خوشحالی می کنید و بیشتر انگیزه خواهید داشت. این یکی از بزرگترین رازهای موفقیت افراد است.قدم دوازدهم از تکنیک ۱۲ مرحله ای هدف گذاریاز قدرت تجسم خلاق خود برای دستیابی به اهداف تان بهره ببرید.سوال اینجاست که برای دستیابی به اهداف مان چگونه تجسم خلاق را تمرین کنیم؟ شما باید در ذهنتان یک تصویر واضح و روشن و هیجان انگیز و احساسی از هدف تان خلق کنید. به طوری که انگار همین الان به واقعیت تبدیل شده است . اهداف تان را ببینید که هم اکنون به آنها دست پیدا کرده اید.خودتان را تصور کنید که از به انجام رساندن آن هدف در حال لذت بردن هستید. اگر هدف تان یک خانه زیباست. خودتان را در حال زندگی کردن در یک خانه زیبا ببینید.وقتی که یک تصویر ذهنی و احساسات با هم تلفیق شوند. تاثیر بزرگی بر ضمیر ناخودآگاه و فرا آگاه تان دارد. این کار قانون جذب را فعال می کند. سپس شما افراد و شرایط لازم را به زندگیتان جذب می کنید تا آن هدف را ممکن کنند.یک تصویر همراه با احساسات مانند موج مغناطیسی که فرکانسی را از شما ارسال می کند. تا هر چیزی که احتیاج دارید تا آن تصویر به واقعیت تبدیل شود را به خودتان جذب کنید.تجسم ذهنی شاید  قدرتمندترین استعداد ذهنی در دسترس شما باشد که کمک می کند تا سریع تر از آنچه که فکر می کنید به اهداف تان برسید. وقتی از ترکیب اهداف شفاف و واضح همراه  با تجسم ذهنی و احساسات استفاده می کنید، شما ضمیر فرا آگاهتان را فعال خواهید کرد.پس ضمیر فرا آگاه شما تمام مشکلات در مسیر رسیدن به هدف تان را حل می کند. ضمیر فرا آگاه شما شاید قدرتمندترین استعداد ذهنی باشد که در دسترس شما است. ضمیر فرا آگاه شما قانون جذب را فعال می کند و شروع به جذب افراد، شرایط و ایده ها و منایع می کند که برای رسیدن به هدف تان به شما کمک خواهند کرد.</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Sun, 19 Jul 2020 12:53:32 +0430</pubDate></item><item><title>ایجاد سرویس automator برای shortcut های کیبورد در مک</title><link>https://virgool.ir/@hoseiny.69/ایجاد-سرویس-automator-برای-shortcut-های-کیبورد-در-مک-zwbtotrke4uq</link><description>در این مقاله سعی دارم تا روش ساخت سرویس به عنوان مثال تخصیص shortcut برای رفتن به ترک موسیقی بعد و قبل در music مک رو براتون آموزش بدم.برای این منظور نرم افزار automator رو باز کنین و از منوی فایل روی new کلیک کنید و گزینه quick action رو انتخاب کنید.بعد توی سرچ بنویسید Run AppleScript و اونو انتخاب کنید: حالا نوبت به نوشتن کد سرویس مربوطه میشه، نترسین قرار نیست راکت هوا کنین‌:)کد زیر رو توی قسمت مربوطه بنویسین: on run {input, parameters}       tell application &#34;MusicNext&#34;                   activate         end tell   return inputend runدر نهایت باید مطابق تصویر زیر بشه :بعد میتونید برای سرویس ایجاد شده اتون از قسمت shortcut های کیبورد shortcut تعریف کنین : سرویس‌های ایجاد شده توسط automator پایین قسمت general نمایش پیدا میکنند. حالا باید برای سرویس ایجاد شده یک اپلیکیشن توسط automator تعریف کنین که یک AppleScript هست: به اسم MusicNext ذخیره اش کنید و تمام.حالا میتونید با فشردن کلید‌های  shortcut تعریف شده به موزیک بعدی و قبلی برید.امیدوارم این آموزش براتون مفید بوده باشه. </description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Thu, 02 Apr 2020 16:42:31 +0430</pubDate></item><item><title>جدیدترین تغییرات در انتشار Laravel 6.11</title><link>https://virgool.ir/@hoseiny.69/جدیدترین-تغییرات-در-انتشار-laravel-611-ybvnicqpt7fc</link><description>نسخه جدید لاراول ورژن v6.11.0 به تازگی در تاریخ 14 ژانویه 2020 با متد جدید firstWhere در eloquent و تعدادی پچ و fix جدید منتشر شد.firstWhere() Methodاین متد در اصل یک shortcut برای متد where()-&gt;fisrt() میباشد که با مشارکت Caleb Porzio اضافه شده است، این متد جدید فقط در eloquent builder وجود دارد. نمونه کد:// Before&#xA;User::where(&#39;username&#39;, &#39;foo&#39;)-&gt;first();&#xA;&#xA;//After&#xA;User::firstWhere(&#39;username&#39;, &#39;foo&#39;);AddedAdded Illuminate\Database\Eloquent\Builder::firstWhere() method (#31089)Redis Broadcaster: Broadcast to multiple channels at once (#31108)FixedFixed undefined property in WithFaker::makeFaker() (#31083)Fixed Str::afterLast() method (#31095)Fixed insert float into MySQL with PHP 7.3 (#31100)Fixed refresh on Model with customized pivot attribute name (#31125, 678b26b)ChangedRemove all indentation in blade templates (917ee51)Added mailable names to assertion messages in MailFake::assertNothingSent() and MailFake::assertNothingQueued() (#31106)Search for similar results in assertDatabaseHas() (#31042, 2103eb7)یادداشت انتشار آخرین تغییرات رو میتوانید از این لینک مشاهده کنید.</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Sat, 25 Jan 2020 10:42:55 +0330</pubDate></item><item><title>آیا هنوز هم تقاضایی برای توسعه‌دهندگان Full-Stack وجود دارد؟</title><link>https://virgool.ir/coderlife/آیا-هنوز-هم-تقاضایی-برای-توسعهدهندگان-full-stack-وجود-دارد-rmepphiay5vp</link><description>در سال‌های اخیر صحبت‌های زیادی در ارتباط با توسعه‌دهندگان full-stack و آینده آن‌ها شده است. بعضی‌ها معتقدند که کار توسعه‌دهندگان full-stack دیگر منسوخ شده،‌ درحالی‌که دیگر افراد می‌گویند تقاضا برای توسعه‌دهندگان فول استک هرگز بیشتر از این نبوده است.در این مقاله نگاهی به پیش‌بینی‌های تیره‌وتار گذشته و ادعاهای بی‌پایه برای بیان وضعیت فعلی توسعه‌دهندگان full-stackمی‌اندازیم.تعریف توسعه‌دهنده Full-Stackتوسعه‌دهنده full-stack کسی است که با تمام لایه‌های یک برنامه کاربردی آشناست. این لایه‌ها در واقع مجموعه‌ای از فناوری‌های مختلف لازم برای تکمیل یک پروژه هستند که درواقع لغت stackهم از اینجا می‌آید.· لایه‌های ظاهری: که front-end نامیده می‌شود و لایه ‌ظاهری یک برنامه کاربردی است که شامل تمام چیزهایی است که کاربر مستقیماً به آن دسترسی دارد. این روزها لایه ظاهری عموماً با استفاده از HTML، CSS، JavaScript،jQueryو کتابخانه‌های مختلف جاوااسکریپت مثل React JS، Foundation، Backbone، AngularJSو Ember.jsایجاد می‌شود.· لایه منطقی: که back-end نامیده می‌شود و لایه منطقی یک برنامه کاربردی شامل تمام ‌فعالیت‌های توسعه‌بخشی است که منجر به تولید رابط کاربری نمی‌شود. درعوض هسته منطقی است که منجر می‌شود همه‌چیزها کار کنند. توسعه‌دهندگان back-end با زبان‌هایی مثل Python، Ruby، Java، PHP و.Netکار می‌کنند.· لایه داده: گهگاه آن را زیرگروه لایه منطقی بیان می‌کنند، لایه داده مربوط به روش ایجاد داده، خواندن، بروزرسانی و پاک کردن است و از پایگاه‌های داده‌ای مثل MySQL، SQL Server، PostgreSQLو Oracleاستفاده می‌کند.همان‌طور که تصور می‌کنید، پروژه‌های مختلف نیاز به فناوری‌های مختلفی برای تکمیل شدن دارند؛ بنابراین هیچ دو توسعه‌دهنده full-stackمهارت‌های مشابه هم ندارند.Daniel Borowski توسعه دهنده Coderbyte می‌گوید: «توسعه‌دهنده full-stack کسی نیست که در تمام موارد ملزومات کار با front-end و back-end متخصص باشد، بلکه به این معناست که می‌تواند با هردو بخش کار کند و بداند زمان ساخت یک برنامه کاربردی چه اتفاقی می‌افتد.»نسل جدید توسعه‌دهندگان Full-Stackتوسعه‌دهنده full-stack چیز جدیدی نیست. در گذشته برنامه‌های کاربردی نرم‌افزار عموماً از ابتدا تا انتها توسط یک نفر نوشته می‌شدند بنابراین توسعه‌دهندگان full-stack را صرفاً «توسعه‌دهنده» می‌نامیدند؛ اما با پیچیده‌تر شدن برنامه‌های کاربردی، وظایف جدیدی به‌وجود آمدند که افراد مختلفی باید آن‌ها را انجام می‌دادند تا جایی که توسعه رابط کاربری از توسعه بخش منطقی پشت آن جدا شد.تا مدتی این‌گونه به نظر می‌رسید که تقاضایی برای توسعه‌دهندگان full-stack وجود نخواهد داشت؛ اما آنچه شغل آن‌ها را حفظ کرد ایجاد تغییر اساسی در نحوه توسعه نرم‌افزارها بود. به‌جای ایجاد اجزای جداگانه از scratch، توسعه‌دهندگان نرم‌افزار می‌توانند از مزیت اجزای آماده و فریمورک‌های طراحی برای تسهیل توسعه نرم‌افزار استفاده کنند.Peter Yared مؤسس و متخصص فناوری Sapho می‌گوید: تا اواخر سال ۲۰۰۰، این امکان برای هر برنامه‌نویسی فراهم بود که یک سایت کاملاً مصرف‌کننده یا&#34;SaaS&#34; ارائه دهد که شامل client وب پویا و پایگاه داده مقیاس‌پذیر باشد. این نسل جدید توسعه‌دهندگان full-stack می‌توانستند با گرو‌هایی از برنامه‌نویسان همان کار را انجام دهند.براساس نقشه توسعه Stack Overflow در سال ۲۰۱۶، توسعه‌دهندگان full-stack متخصصانی با بالاترین درآمد و بسیار موردتوجه هستند.Atishe Chordia  مؤسس ابداعات doodleblue می‌گوید: «ما دنبال توسعه‌دهنده‌ای هستیم که توانایی حل هر مسئله‌ای را داشته باشد. این به آن معنی است که آن‌ها می‌توانند فناوری‌های جدید را به‌سرعت یادبگیرند و با چشم‌انداز فناوری‌هایی که به‌سرعت درحال تغییر هستند، هماهنگ شوند.»«بیشتر استارتاپ‌ها به توسعه‌دهنده full-stackنیاز دارند چون نمی‌توانند به یک تیم بزرگ از مهندسان دسترسی داشته باشند. هرچه یک شرکت رشد می‌کند، نقش‌ها تخصصی‌تر می‌شوند، اما نقش مهندسان CTO یا VPعموماً توسط کسی اجرا می‌شود که پیش‌زمینه‌ای در back-end داشته باشد.»مزایا و معایب توسعه‌دهنده full-stackکاملاً مشخص است که امروزه سطح تقاضا برای توسعه‌دهندگان full-stack در بالاترین حد خودش است؛ اما چیزی که زیاد واضح نیست مزایا و معایب توسعه‌دهندگان full-stackدر مقایسه با توسعه‌دهندگانی است که فقط در یکی از لایه‌های فناوری تخصص دارند.سرعت پیشرفت فناوری سرسام‌آور است و شرکت‌های فناوری از محصولات فناوری خود به شکل خیلی متفاوتی نسبت به ده سال قبل استفاده می‌کنند. ازآنجایی‌که توسعه‌دهندگان full-stack مهارت‌های زیادی دارند، خیلی سریع می‌توانند مطالب جدید را یاد بگیرند و همگام با پیشرفت‌های فناوری شوند و همچنین می‌توانند در لحظه از هر فناوری‌ که موردنیازشان باشد، استفاده کنند.توسعه‌دهندگان full-stack با تمام لایه‌های فناوری آشنا هستند؛ بنابراین به‌تنهایی و بدون کمک می‌توانند نمونه اولیه کاملی از یک برنامه کاربردی ایجاد کنند. این ویژگی بخصوص برای استارتاپ‌ها خیلی ارزشمند است چون آن‌ها نیاز دارند که یک برنامه قابل‌توسعه کوچک (MVP) را به‌سرعت ایجاد کنند و بعدها آن را منتشر کنند. توسعه‌دهندگان full-stack می‌توانند از بخشی به بخش دیگر در محصول موردنظر بروند و این باعث می‌شود که استارتاپ‌ها بتوانند مخارج کلی را به حداقل برسانند.چون توسعه‌دهندگان full-stack می‌توانند روی تمام لایه‌های یک برنامه کاربردی کار کنند، زمان بیشتری را باهم می‌گذرانند که این به ایجاد ارتباط در شرکت کمک می‌کند. یک تیم کوچک و باتجربه از توسعه‌دهندگان full-stack که همدیگر را می‌شناسند، می‌تواند به‌طور قابل‌توجهی پربازده‌تر و زرنگ‌تر از تیم بزرگی از متخصصان باشند که در واحدهای کوچک و بدون همکاری، کار می‌کنند.به‌طور طبیعی این غیرممکن است که توسعه‌دهندگان full-stack در هر زمینه‌ای تخصص داشته باشند و این موضوع به‌طور قابل‌بحثی یکی از بزرگ‌ترین معایب آن‌ها در مقایسه با بیشتر توسعه‌دهندگان متخصص است. براساس قانون ۱۰۰۰۰ ساعت کار Gladwell برای قرار گرفتن در سطح جهانی هر رشته‌ای، تقریباً ۱۰۰۰۰ ساعت کار عمیق یا تقریباً ۲۰ ساعت کار در هفته به مدت ۱۰ سال باید انجام شود، اگر سواد ریاضی خوبی داشته باشید، سریعاً متوجه می‌شوید که بر همین مبنا توسعه‌دهندگان full-stack باید متواضع و سازگار باشند و هنگامی‌که به مسائل مشکل برمی‌خورند باید از سایر متخصصان کمک بگیرند.نتیجه‌گیریتقاضا برای توسعه‌دهندگان full-stack زیاد است چون آن‌ها سرمایه باارزشی برای هر شرکتی هستند. سطح وسیع دانش آن‌ها، آن‌ها را منعطف، سازش‌پذیر و زیرک می‌کند که این‌ها مهارت‌های ضروری برای کارکردن روی محصولات نرم‌افزاری هم در استارتاپ‌ها و هم در جاهای دیگر هستند.گردآوری:‌ علیرضا معمارزاده</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Fri, 27 Dec 2019 13:18:10 +0330</pubDate></item><item><title>آیا باید از سمت فعلی استعفا بدم قبل از اینکه با کارفرمای جدیدی وارد قرارداد بشم؟</title><link>https://virgool.ir/@hoseiny.69/آیا-باید-از-سمت-فعلی-استعفا-بدم-قبل-از-اینکه-با-کارفرمای-جدیدی-وارد-قرارداد-بشم-bgnhygthp5cj</link><description>این سوالی هستش که ذهن خیلی هارو درگیر میکنه و اکثرا باهاش مواجه میشن: آیا باید قبل از اینکه جایی قرارداد همکاری امضا کنم از محل کار فعلی استعفا بدم؟شرایط کاری شرکت فعلی که توش هستید مناسب نیست؟ کارفرمای نامناسبی دارید؟ حقوق سر وقت پرداخت نمیشه؟ قوانین تنبیهی براتون اعمال میشه؟ همه سوالات بالا از نمونه دلایلی هست که ما معمولا به خاطرشون میریم سراغ موقعیت کاری جدید و با شرکت های جدید مصاحبه میکنیم. در این شرایط دو دسته افراد وجود دارند:دسته اول : کسانی که براشون مهم نیست چند وقتی بیکار بمونند و بی مهابا میزنن بیرون و از روی حوصله و با خیال راحت دنبال موقعیت شغلی جدید میگردن. دسته دوم : که معمولا شامل متاهلین میشه، معمولا اول دنبال موقعیت شغلی بهتری میگردن بعد اینکه به نتیجه رسیدن از محل کار فعلیشون خارج میشن.حالت ایده آل اونم توی شرایط اقتصادی ایران چیه؟ولی با توجه به مشورت‌هایی که من انجام دادم به این نتیجه رسیدم ایده آل‌ترین کار این هستش که اگر واقعا از شرایط فعالی کاریتون رضایت ندارید و احتمالا اگر از محل کار فعلیتون خارج بشین ممکنه جهت پرداخت معوقات اذیت بشین، بهتره اول با شرکت‌های مختلف مصاحبه کنید و اکثر موقعیت‌های جدید رو مورد بازبینی قرار بدین به عنوان مثال اگر در شرکتی به عنوان برنامه نویس ارشد میخواهید استخدام بشید یکی از شروط اصلی این هست با افراد هم رده خودتون توی اون شرکت هم مصاحبه کنید و ازشون بپرسین واقعا در اون شرکت چی میگذره و شرایط کاریشون چی هستش و در مواقع خاص نحوه برخوردشون به چه شکلی هست؟اگر کارفرما چنین اجازه ای بهتون نداد بهتره به موقعیت شغلی اون شرکت فکر نکنین چون خدا میدونه بعد از استخدام چه اتفاقاتی براتون بیفته و شاید از توی چاله در بیاین و بیفتین توی چاه! بعد از  سنجیدن شرکت‌ها و موقعیت‌های کاری مختلف با شرکت مطلوبتون قرارداد بنویسید و همه مسائلی که براتون مهم هست رو توی قرارداد ذکر کنید، مثلا اگر به عنوان برنامه نویس ارشد میخواید جذب بشید یا مدیر فنی حتما ذکر کنید و توقعاتتون از کارفرما رو در قرارداد ذکر کنین و اینکه حواستون باشه چیزی رو به عنوان داور در قرارداد نیاورده باشند مگر اینکه داور مرضی الطرفین یا مراجع قانونی باشه.حقوق و دستمزد و مزایای مورد نظرتون رو حتما ذکر کرده باشند و به تایید شما برسه. هیچ زمان دلتون رو به صحبتی که ممکنه با مدیرعامل شرکت جدید داشته باشین خوش نکنین چون حرف باد هواست هیچ التزامی برای هیچ فردی ایجاد نمیکنه.اگر کارفرمای جدید بهتون گفت اول از موقعیت کاری فعلی خارج شو بعد ما با آغوش باز پذیرای تو هستیم پیشنهاد میکنم دنبال موقعیت کاری جدیدی باشید و با اون کارفرما کاری نداشته باشید. چرا که ممکنه شما رو در موقعیتی قراربده که شما چاره‌ای جز قبول کردن پیشنهاد اونا نداشته باشین، و هر رقمی که به شما پیشنهاد بدن رو ناچار باشین بپذیرین.مخلص کلام اینو یکی از دوستان خارج از کشورم در این خصوص برام ارسال کرد که پیشنهاد میکنم ملکه ذهنتون قراربدین:Should I quit my job for before signing contract with another employer?NO.Rule of Thumb: Do not quit unless you have a written and signed agreement for the next employment.Any verbal discussion / assurance is not good enough to be held as  true. There is no legal credibility of any verbal commitment made by any  individual (whether in a personal capacity of on behalf of an  organization) - that can be changed / denied at any point of time  unilaterally. Do not rely on this.تا زمانی که قراردادی بین شما و کارفرمای جدیدی امضا نشده و به توافق کتبی نرسیدین از کار فعلی خودتون خارج نشید و دلتون رو به حرف‌های مدیر عامل و پیشنهاد لفظی خوش نکنین. هر زمان چیزی مکتوب شد و به امضای طرفین رسید التزام آور میشه. با آرزوی موفقیت و سر بلندی برای همه شما عزیزان</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Mon, 09 Dec 2019 15:35:09 +0330</pubDate></item><item><title>چرا برنامه نویسان باید 5 ساعت در روز کار کنند</title><link>https://virgool.ir/@hoseiny.69/چرا-برنامه-نویسان-باید-5-ساعت-در-روز-کار-کنند-zt7pd0fpyfe8</link><description>اضافه کاریبدون اطلاع  از اینکه شما بر روی چه پروژه هایی کار می کنید، می توانم تضمین کنم که 80٪ از آنچه که در یک روز معین کار می کنید و پروژه پیشرفت می کند ، از 5 ساعت اول روز شما ناشی می شود. در واقع ، به احتمال زیاد در 3 تا 4 ساعت اول ، قبل از استراحت و ناهار.اگر من یک شرکت توسعه نرم افزار داشتم و قرار بود شما را استخدام کنم ، همان حقوق کسی را که روزانه 8 ساعت کار می کند ، به شما حقوق می دهم ، اما شما فقط 5 ساعت در روز کار می کردید و به شما اجازه می دادم به خانه بروید و از هر آنچه که دوست دارید لذت ببرید!متأسفانه ، با وجود زندگی در دوران مدرن ، محل کار ما هنوز از سیستم سنتی پیروی می کند: معمولی 9 صبح تا 5 عصر(همون 8 ساعت کاری). در حالی که این ممکن است برای بسیاری از صنایع مطلوب باشد و یک زمان مناسب باشد ولی من اون رو برای  برنامه نویسان مطلوب نمی دونم.سلامتیزمانی وجود داشت که من 12 ساعت در روز کدنویسی می کردم  حتی در تعطیلات و اخر هفته ها!حدس بزنید چه اتفاقی افتاد؟احساس درد شدید در مچ دستم شروع شد.خیلی از افراد اون رو سندرم Carpal Tunnel می دونند که در چتر صدمات مکرر(RSI) قرار می گیرد.درد من از مچ دست شروع شد و به کف دست و ساعدم انتقال پیدا کرد.بعضی از مواقع اینقدر درد داشتم که فقط می تونستم 1 یا 2 ساعت کار کنم و بعد مجبور می شدم که کار رو ول کنم.اون موقع من ساعتی کار می کردم و همین موضع خیلی استرس زا بود و باعث میشد بیشتر احساس درد کنم در حالیکه درآمدم به شدت کاهش پیدا کرده بود.در ضمن برنامه نویسی برای من یک سبک زندگی بود و اینکه نمی تونستم کار مورد علاقم رو انجام بدم، باعث شده بود تا افسرده بشم.تعداد زیادی از برنامه نویسان این درد رو در یکی از مراحل زندگی خود تجربه می کنند و بعضی ها مثل من موفق به بهبود اون میشن که البته 100 % رو شامل نمیشه و بقیه هم تا اخر عمر به عنوان یک چالش باهاش روبرو هستند.علاوه بر درد مچ، دردهایی مثل گردن، شانه ها یا کمر رو تجربه می کنند که به علت شرایط نامساعد کاری و ساعات طولانی کار بدون استراحت باشه.راه حل سادهحالا می دونید که به عنوان یک برنامه نویس شما در معرض خطر درد کمر، گردن، شانه و مج هستید و همچنین می دانید که بسیاری از شرکت ها هنوز از سیستم سنتی 9 تا 5 عصر پیروی می کنند.بنابراین برای حفظ سلامتی  و داشتن یک بدن سالم باید چیکار کنید؟45 دقیقه کد بزنید و یک زمان 5 تا 10 دقیقه ای استراحت کنید.این کار نه تنها به دلیل استفاده بیش از حد از صفحه کلید از ایجاد انواع دردها جلوگیری میکنه بلکه به شدت کارایی شما رو بالا میبره.این یک فرمول فوق العاده و ساده هست و تعداد خیلی کمی از برنامه نویسان اون رو رعایت می کنند. در حدود 1 نفر از هر 100 برنامه نویس هنگام کار به طور منظم این موضوع رو رعایت می کنند حتی کمتر!اما چرا؟در ادامه من چند بهانه که برنامه نویسان برای رعایت نکردن این فرمول ساده بیان می کنند رو لیست می کنم وشما ببینید که آیا این بهانه ها قابل قبول هستند یا نهبهانه 1: کارفرمای من فکر می کند که وقت خود را تلف می کنماگر کارفرما شما با زمان 10 دقیقه ای استراحت بعد از 45 دقیقه کار مشکل دارد،بهتر است که به طور جد به دنبال یک شغل دیگر باشید.این موضع در مورد سلامتی و آینده شما است و اصلا بحث شوخی برداری نیست.شما باید کارفرمای خود را توجیح کنید یا اینکه اون شغل رو ترک کنید.داشتن استراحت منظم نه تنها به حفظ سلامتی بدن شما کمک میکنه بلکه کارایی و بهره وری شما رو افزایش میده.همه این ها در آخر باعث میشه تا شما برای کارفرما عملکرد بهتری داشته باشید و در مدت زمان کمتر کد بهتری رو خواهید نوشت و کارفرما شما رو ترغیب خواهد کرد تا به طور منظم استراحت داشته باشید.این پست وبلاگ رو برای مدیران و همکارانتون ارسال کنید و سعی کنید این فرهنگ رو در شرکت خود برقرار کنید.هر روز ساعت 9:45 دست از کار بکشید و با همکاراتون صحبت کنید یا یک کار کوتاه در نظر بگیرید که هر 45 دقیقه یک بار به صورت تیمی و گروهی تکرارش کنید.به یاد داشته باشید منظور از استراحت جدایی کامل از اینترنت و فناوری است.اگر هنوز روی صندلی نشستید و دارید توییتر و اینستاگرام خودتون رو چک می کنید، در حالت استراحت قرار ندارید.بلند شوید و در محیط شرکت یا حیاط پیاده روی کنید.حس و حالتون 10 برابر بهتر میشه.بهانه 2 : اگر استراحت کنم تمرکزم رو از دست میدمشما نمی خواهید استراحت کنید و این یک بهانه نپذیرفتنی هست.وقتی میز کار خودتون رو ترک می کنید و به پیاده روی میروید، ذهن به طور ناخودآگاه بر روی این مشکل کار می کند حتی اگر به طور جدی به آن فکر نکنید.بعد از 10 دقیقه برگشتن به میز شما رو آماده میکنه تا مشکل رو خیلی سریعتر حل کنید.همچنین ، درست قبل از ترک میز ، می توانید مطالبی را که می خواهید به خاطر بسپارید ، بنویسید. این موضع به شما کمک می کنه تا تمرکزتون رو از دست ندید.بهانه 3 : من فراموش کردم استراحت کنممن به هیچ عنوان نمیتونم با این بهانه ارتباط برقرار کنم.زمانبندی استراحت خیلی راحت هست و کافیه که شما یک تایمر 45 دقیقه ای بر روی همراه خودتون تنظیم کنید.باید برای استراحت خود احترام قائل باشید. به محض اینکه زنگ را می شنوید ، بلند می شوید و میز خود را ترک می کنید. به خودتان نگویید: “نه ، من قصد دارم این کار را در یک دقیقه به پایان برسانم و بعد می روم”. آن یک دقیقه پنج دقیقه می شود و در نهایت یک ساعت .بنابراین ، یک بار دیگر: منظم باشید و برای خودتون و سلامتیتون احترام قائل بشید تا لحظه ای که زنگ را می شنوید ، بلند شوید و میز خود را ترک کنیددلایل و بهانه های خودتون رو به اشتراک بزاریدبهانه های شما برای عدم استراحت منظم چیست؟ آنها را در بخش نظرات به اشتراک بگذارید و ببینیم که میتونیم برای اون راه حلی پیدا کنیم.آیا از این پست لذت بردید؟ لطفاً اون رو با همکاران و دوستان خود به اشتراک بگذارید.منبع :‌ مشفق همدانی</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Tue, 22 Oct 2019 16:09:04 +0330</pubDate></item><item><title>۱۰ ویژگی مخفی لاراول که تا به امروز نمی دانستید</title><link>https://virgool.ir/laravel-community/۱۰-ویژگی-مخفی-لاراول-که-تا-به-امروز-نمی-دانستید-ydoccle2sec0</link><description>لاراول یک فریم ورک با ویژگی های بسیار زیاد می باشد با این وجود، تمام این ویژگی ها در منابع معتبر هنوز منتشر نشده است. در این مطلب چند ویژگی را به شما معرفی می کنم که شاید تا به حال ندیده بودید.Get original attributesبعد از ثبت یک رکورد در دیتابیس یا فراخوانی آن شما می توایند خصوصیات رکورد مورد نظر را با روش های زیر مورد استفاده قرار دهید$user = App\User::first();&#xA;$user-&gt;name;                   //John$user-&gt;name = &#34;Peter&#34;         //Peter$user-&gt;getOriginal(&#39;name&#39;);    //John&#xA;$user-&gt;getOriginal();          //Original $user recordCheck if Model changedچک کردن با استفاده از مدل که آیا پس از واکشی از دیتابیس تغییراتی در فیلدهای رکورد مورد نظر ایجاد شده یا نه. به این مثال توجه کنید$user = App\User::first();&#xA;$user-&gt;isDirty();          //false&#xA;$user-&gt;name = &#34;Peter&#34;&#xA;$user-&gt;isDirty();          //trueهمچنین می توانیم چک کنیم که آیا دقیقا در فیلد مورد نظر ما تغییری بعد از واکشی اتفاق افتاده است.$user-&gt;isDirty(&#39;name&#39;);    //true&#xA;$user-&gt;isDirty(&#39;age&#39;);       //falseGet changed attributesفراخوانی فیلدهایی از رکورد مورد نظر که دچار تغییرات شده اند.$user-&gt;getChanges()[     &#34;name&#34; =&gt; &#34;Peter&#34;,  ]نکته : مشاهده این تغییرات در این مثال وابسته به ذخیره مدل یا استفاده همگام سازی تغییرات برگشت داده می شودsyncChanges()Custom deleted_at columnبه صورت پیش فرض لاراول با استفاده از ستون deleted_at حذف های نرم را کنترل می کند اما شما می توانید با مشخص کردن ویژگی DELETED_AT در مدل مورد نظر خود، این مورد را تغییر دهید.class User extends Model&#xA;{&#xA;     use SoftDeletes;&#xA;     const DELETED_AT = &#39;is_deleted&#39;;&#xA;}یا با تعریف یک دسترسی به خصوصیت این مورد را تغییر دهیدclass User extends Model&#xA;{&#xA;      use SoftDeletes;&#xA;&#xA;      public function getDeletedAtColumn()&#xA;      {&#xA;             return &#39;is_deleted&#39;;&#xA;      }&#xA;}Save models and relationshipsبا استفاده از متد push می توانید یک مدل را به همراه روابط آن را ذخیره کنیدclass User extends Model&#xA;{&#xA;    public function phone()&#xA;    {&#xA;        return $this-&gt;hasOne(&#39;App\Phone&#39;);&#xA;    }&#xA;}$user = User::first();&#xA;$user-&gt;name = &#34;Peter&#34;$user-&gt;phone-&gt;number = &#39;1234567890&#39;;$user-&gt;push();   // This will update both user and phone record in DBReload fresh modelواکشی دوباره یک ردیف مثل اطلاعات کاربر با استفاده از fresh$user = App\User::first();&#xA;$user-&gt;name;                         // John&#xA;// user record get updated by another thread. eg: &#39;name&#39; changed to&#xA;// Peter.&#xA;$updatedUser = $user-&gt;fresh();&#xA;$updatedUser-&gt;name;         // Peter&#xA;$user-&gt;name;                      // JohnReload existing modelباز خوانی دوباره از پایگاه داده وقتی تغییراتی اعمال شده است با استفاده از refresh$user = App\User::first();&#xA;$user-&gt;name;               // John&#xA;// user record get updated by another thread. eg: &#39;name&#39; changed to&#xA;// Peter.&#xA;$user-&gt;refresh();&#xA;$user-&gt;name;              // Peterنکته : refresh همچنین روابط بارگذاری شده مدل موجود را بروزرسانی می کندCheck if models are the sameچک کردن اینکه آیا دو ردیف دارای شناسه یکسان نسبت به هم دارند و هر دو آیا از یک جدول می باشند.$user = App\User::find(1);&#xA;$sameUser = App\User::find(1);&#xA;$diffUser = App\User::find(2);&#xA;$user-&gt;is($sameUser);       // true&#xA;$user-&gt;is($diffUser);       // falseClone a modelبا استفاده از replicate می توانید از یک مدل کپی بردارید و آن را در دیتابیس ذخیره کنید$user = App\User::find(1);&#xA;$newUser = $user-&gt;replicate();&#xA;$newUser-&gt;save();Specify attributes in find() methodهنگام استفاده از find یا findOrFail شما می توانید خصوصیاتی را تعیین کنید تا به عنوان آرگومان دوم در نظر گرفته شود.$user = App\User::find(1, [&#39;name&#39;, &#39;age&#39;]);&#xA;$user = App\User::findOrFail(1, [&#39;name&#39;, &#39;age&#39;]);ما 10 ویژگی مخفی از لاراول را توضیح دادیم که شاید تا به الان به هیچ عنوان استفاده نکرده بودید اگر مطلب مورد نظر برای شما مفید بوده است حتما برای دیگران نیز به اشتراک بگذارید.</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Tue, 24 Sep 2019 09:45:53 +0330</pubDate></item><item><title>۵ روش برای ایجاد فرصت های شخصی در کار</title><link>https://virgool.ir/@hoseiny.69/۵-روش-برای-ایجاد-فرصت-های-شخصی-در-کار-wgncprfvyc4g</link><description>اغلب گفته می‌شود که صبر یک نوع فضیلت است. در محل کار، منتظر ماندن برای فرصت‌هایی که احساس می‌کنید حرفه شما را تقویت می‌کنند می‌تواند عذاب آور باشد. من چند سال پیش قبل از شروع اولین استارتاپ خود در شرکت‌های آمریکایی کمی وقت گذراندم و یکی از مهمترین درس‌هایی که آموختم این است که اگر یک گوشه بنشینید و منتظر بمانید تا به شما فرصتی برای نشان دادن توانایی‌هایتان پیشنهاد شود، قرار است برای مدت طولانی منتظر بمانید چون موفق‌ترین کارکنان هرگز منتظر نمی‌مانند تا فرصت‌ها به سمتشان بیایند بلکه تلاش می‌کنند تا خودشان فرصتی را ایجاد کنند.به جای اینکه منتظر رئیس خود بمانید تا چالش جدیدی را وارد میدان کند، با برداشتن این چند قدم می‌توانید به دیگران ثابت کنید که شما یک رهبر زاده شده اید و آمادگی طی کردن نردبان پیشرفت را دارید.بدست آوردن فرصت:۱. تخصص پیدا کنید.هر زمینه و کاری استانداردهای خاص خودش را دارد. شما تا زمانی که سبک مطبوعات را به درستی درک نکرده‌اید نمی‌توانید به یک روزنامه نگار تبدیل شوید. تا زمانی که اطلاعات کاملی از جاوااسکریپت ندارید نباید به سراغ مهندسی نرم افزار بروید. زمانی که از اصول اولیه با خبر شدید، به سراغ توانایی و استعدادهای کمتر شناخته شده خودتان بروید تا با شناخت و استفاده از آن‌ها، بتوانید تاثیر مثبتی در جهت رشد کار خود داشته باشید.بگویید که به تازگی از یک کالج برنامه های تجاری بیرون آمده اید. احتمالا روش های فروش، بازاریابی، حسابداری و غیره را یاد گرفته اید. بابت این آموخته ها به خودتان پاداش بدهید اما بدانید که این مهارت ها نسبتاً متداول هستند. چرا در مدل سازی مالی پیشرفته، مجوز صدور گواهی را نمی‌گیریم؟ اگر علاقه ای به بازاریابی کسب کرده اید، چرا دوره های HubSpot را در زمینه محتوا، SEO و یا بازاریابی ورودی نمی‌گذرانید؟ به زودی در زمینه ای که در آن مشغول به کار هستید به عنوان متخصص شناخته خواهید شد. حرفه ی سخنرانی من اینگونه شروع شد.۲. مبارزه را بپذیرید.مبارزه در محل کار ممکن است به نظر راه خوبی برای دوست پیدا کردن نباشد، اما حتما لازم نیست که این درگیری ها مخرب باشند. مت لوی، بنیانگذار Credera در یک سری از پست های وبلاگ به یاد می‌آورد که چگونه با Rob Borrego، یعنی مدیر عامل شرکت درگیر شده بود. با بحث محترمانه و با اعتماد به نفس در مورد اختلافات، لوب و بورگو اکنون دوستان نزدیک همدیگر هستند. قدرت مشارکت آنها به واسطه آن درگیری قویتر و مستحکم تر شده است.با همکاران خود درگیری غیر ضروری ایجاد نکنید، اما از مبارزه کردن فرار نکنید. آنها را به چشم فرصتی ببینید که به وسیله آن می‌توانید کسی که در هفته ۴۰ ساعت با آن وقت می‌گذارید را بهتر بشناسید. این احتمال وجود دارد که شخص مقابل نیز به همین روش پاسخ دهد. مطمئن باشید که احساسات یا نگرش دوستانه، مفید و توام با همکاری، همیشه بیشتر از آنچه که اغلب فکر می‌کنید جوابگو خواهد بود.۳. تقاضای کمک کنید.در ابتدا، ممکن است درخواست کمک کردن خلاف ایجاد فرصت های شخصی به نظر برسد. اما اثر بِن فرانکلین را در نظر بگیرید: با درخواست یک لطف کوچک از شخصی، آنها را به خودتان علاقمند می‌کنید. دلیلش این است که وقتی به کسی کمک می‌کنید، مغز شما با فرض بر اینکه باید آن شخص را دوست داشته باشید، اقداماتتان را منطقی جلوه می‌دهد.ریشه و سرمنشا فرصت ها، روابط شخصی است. اثر بن فرانکلین برای ایجاد اعتماد یک شبه کافی نیست، اما می‌تواند مثل بذر باشد. برای جوانه زدنش، آن را به همان روشی که روابط دوستانه خود را بهبود می‌بخشید پروش دهید. تقریبا حدود ۷۰ تا ۸۵ درصد از مشاغل ساختاری Network دارند. من در این سال ها به بیش از دهها دوست کمک کرده ام تا کار پیدا کنند و اکثر افرادی را که من در پست های مختلف استخدام کردم توسط یک دوست یا آشنا ارجاع داده شده بودند.۴. روش های درست تولید را به اشتراک بگذارید.در هر شرکت، انتظاری که مدیریت از چگونگی کارهای انجام شده دارد با زمانی که  کارها واقعا به سرانجام می‌رسند، کاملا متفاوت است. مدیران غالباً دلایل خوبی برای پیشبرد برخی فرایند یا محصولات خاص دارند، گاهی اوقات هم آنها صرفا به فکر روش کارآمدتری نیستند. حداقل در فرهنگ های یک شرکت سالم، رهبران، کارمندان را به خاطر اکتشافاتی که کرده اند مجازات نمی‌کنند بلکه به آنها پاداش می‌دهند.اگرچه مدتی طول کشید تا شرکت محصولات مصرفی M۳ به این ایده پی ببرد، در واقع &#34;Post-it Notes&#34; جایگزینی بود که یکی از کارگران به جای تخته اعلانات از آن استفاده کرد. وقتی کارگر سرودهای کلیسا را از کتاب ترانه های کلیسای خود گم می‌کرد، برای خود تخته نمی‌خرید. او یک نوار چسب قابل استفاده مجدد به پشت سرودهای برگه های سرود خود اضافه می‌کرد و اینگونه بود که Post-it Notes به یکی از با ارزش ترین خط تولیدهای شرکت M۳ تبدیل شد.۵. یک مربی باشید.همانطور که مشاوره دادن می‌تواند برای فرد مقابل مفید واقع شود، به همان اندازه نیز می‌تواند به عنوان یک تقویت کننده حرفه ای برای مربی باشد. مربیگری می‌تواند مهارت های رهبری و ارتباطی را توسعه دهد: مشخص کردن نقاط قوت و ضعف، بازگو کردن امور به صورت دیپلماتیک و ارائه مشاوره حمایتی، عاملی مهم و کلیدی در مربیگری و نقش های مدیریتی است.اما مربیگری خیلی بیشتر از شکل دادن به مهارت های رهبری و جلب توجه دیگران است. زمانی که فرد درست پرورش داده شد، حدس بزنید اگر به یک سرمایه گذار، مشاور و یا مدیرعامل احتیاج داشتند به سراغ چه کسی می‌روند؟ حدس بزنید وقتی کارمندان یک پروژه یا فرصتی جدید را در ذهن دارند به چه کسانی متوصل خواهند شد؟ اینکه چگونگی این مسئله را پیش بینی کنید سخت است.فرصت ها با دنبال کردن کتابچه راهنما به سمتتان نمی‌آیند و زیبایی آنها در همین است. اگر فرصت‌ها مستلزم تلاش مفید و کار سخت نباشند، به راحتی توسط افرادی که لیاقتش را ندارند بدست آورده می‌شوند. آیا واقعا این همان محیطی است که همه ی ما دوست داریم در آن کار کنیم؟</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Mon, 16 Sep 2019 13:00:46 +0430</pubDate></item><item><title>چرا مدیر پروژه بیشتر از یک برنامه نویس حقوق می‌گیرد؟</title><link>https://virgool.ir/@hoseiny.69/چرا-مدیر-پروژه-بیشتر-از-یک-برنامه-نویس-حقوق-میگیرد-aoojvi4qgy2c</link><description>اگر شما هم در زمینه توسعه و تولید نرم افزار یا برنامه های تحت وب  فعالیت می‌کنید شاید برایتان این سؤال پیش آمده باشد که چرا همیشه مدیران  پروژه‌ها بیشتر از برنامه نویس‌ها حقوق دریافت می‌کنند. در این نوشته از  تورتک نگاهی کلی به این دو حرفه در ایران و میانگین درآمد افراد فعال در  این دو حرفه می‌اندازیم.حقوق برنامه نویس در ایرانشاید بر عکس دید مصرف کنندگان، برنامه نویسان یک پروژه یا به طور کلی یک  شرکت به صورت روزانه چیزی بیشتر از بازی با تکنیک‌های برنامه نویسی و  ارائه راهکار برای حل مسائل خواسته شده از آن‌ها را انجام می‌دهند. معمولاً  با اینکه در اکثر روش‌ها برنامه نویس در گروه های برنامه نویسی بر روی یک  قسمت خاص از برنامه (مانند یک تکه کد و وظیفه در برنامه و یا کار بر روی یک  بخش مثل Logic، Interface و … ) باز هم با مسائل فنی زیادی روبرو خواهند  شد. البته در حرفه برنامه نویسی به این دلیل که معمولاً برنامه‌ها خیلی دیر  پلتفرم‌هایی را که از آن‌ها برای اجرا استفاده می‌کنند تغییر می‌دهند  برنامه نویسان از امنیت شغلی خوبی برخوردار هستند.با صحبت با تعدادی از برنامه نویسان شرکت معتبر در ایران متوجه خواهید  شد که درآمد این حرفه چیزی در حدود ۱ تا ۳ میلیون تومان به صورت ماهیانه  است که البته اگر برای پروژه های شخصی و شرکت‌های کوچک‌تر کار کنید دیگر  خبری از بیمه و مزایای اضافی در کار نخواهد بود. توجه داشته باشید این مبلغ  با توجه به مقدار فعالیت فرد به صورت دوره ای و ساختار تیم تشکیل دهنده  طراح محاسبه می‌گردد.بررسی حرفه مدیر پروژه و تحلیل‌گر نرم افزاریاما اکثر افرادی که این روزها در زمینه راهبری پروژه های نرم افزاری در  ایران کار می‌کنند از حقوق بهتری نسبت به برنامه نویسان برخوردار هستند که  البته در بسیاری از کشور جهان نیز این وضع به همین صورت است. بسیاری از  برنامه نویسان دلیل اصلی این تفاوت را در این می‌دانند که به طور کلی در  جامعه حقوق افراد نسبت به جایگاه آن‌ها در یک سازمان محاسبه می‌شود و توجهی  به توانایی شخصی فرد نمی‌شود.بعضی از افراد نیز این تفاوت حقوق را از این بایت می‌دانند که مدیر  پروژه و تحلیل گر در کار روزانه خود به صورت مستقیم با برنامه نویسان،  کارفرمایان، سهامداران، مشتریان و افراد دیگری سروکار دارند پس درست است که  برنامه نویسی در خیلی از مراحل خود یک کار سخت است اما مدیر پروژه بودن  حتی از آن هم سخت‌تر است.اگر شما نیز تا کنون در این زمینه فعالیت کرده باشید خوب می‌دانید که  برای انتخاب شدن شما به عنوان یک مدیر پروژه نیاز است که سال‌ها در این  زمینه و زمینه مشابه فعالیت کرده باشید و با توجه به تخصص مورد نیاز برای  این حرفه شاید درآمدها آنچنان نیز بالا نباشد. همچنین به یاد داشته باشیم  این مدیر پروژه است که معمولاً با کمک از تحلیل گران یک پروژه آینده سیستم  را رقم می‌زند و همه انتظارها نیز معمولاً به صورت مستقیم از این فرد  می‌رود.نظر شما در این باره چیست؟ آیا واقعاً درآمد فعلی متخصصین در این امر به صورت درستی محاسبه و پرداخت می‌شودنقل از : ایمان مدائنی</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Tue, 28 Aug 2018 10:10:33 +0430</pubDate></item><item><title>راه اندازی پروژه لاراول روی هاست اشتراکی</title><link>https://virgool.ir/Software/راه-اندازی-پروژه-لاراول-روی-هاست-اشتراکی-v1zln7d0mtrt</link><description>ممکن است گاهی بنا به دلایلی از جمله خواست مشتری یا پرداخت هزینه کمتر مجبور به استفاده از هاست های اشتراکی باشید ؛ کسانی که برای اولین بار قصد دارند پروژه لاراولی خود را در هاست اشتراکی نصب و اجرا کنند به احتمال زیاد دچار مشکلاتی خواهند شد که ممکن است آنها را به شدت کلافه و عصبی کند . در این آموزش قصد دارم به شما نحوه نصب پروژه لاراولی خود در هاست های اشتراکی را به صورت گام به گام آموزش دهم و همچنین شما را با مشکلاتی که ممکن است با آن مواجه شوید و راه حل آنها آشنا کنم . هر نسخه از لاراول برای اجرا به حداقل نسخه ای از PHP­­­­­ و همچنین­ extention های Tokenizer ، ­ Mbstring­ ، PDO ، OpenSSL­ و XML­ نیاز دارد پس در هنگام خرید هاست به این موارد­ دقت کنید .به پنل مدیریتی هاست خود رفته و سپس File Manager هاست خود را باز کنید ؛ اگر شما در حال مشاهده Root هاست خود باشید پس باید پوشه ها و فایل هایی همانند زیر در آن ببینید :/.php&#xA;/backups&#xA;/domains&#xA;/imap&#xA;/Maildir&#xA;/public_html&#xA;.bash_logout&#xA;.bash_profile&#xA;.&#xA;.&#xA;.توجه : ممکن است ساختار پوشه بندی هاست شما کمی متفاوت باشد . درصورتی که از طریق FTP به هاست خود متصل شده اید ، به Root هاست خود رفته و گام به گام همه مراحل را طی کنید .حال یک پوشه با نام دلخواه به طور مثال LaravelApp در مسیر domain/YourDomain.ir/. همانند زیر بسازید :/.php&#xA;/backups&#xA;/domains&#xA;        /YourDomain.ir&#xA;                      /.htpasswd&#xA;                      /logs&#xA;                      /private_html&#xA;                      /public_html&#xA;                      /stats&#xA;                      /LaravelApp&#xA;/imap&#xA;&#xA;.&#xA;.&#xA;.حال در پوشه LaravelApp که تازه آن را ایجاد کرده اید پروژه لاراول خود را به طور کامل آپلود کنید : /.php&#xA;/backups&#xA;/domains&#xA;        /YourDomain.ir&#xA;                      /.htpasswd&#xA;                      /logs&#xA;                      /private_html&#xA;                      /public_html&#xA;                      /stats&#xA;                      /LaravelApp&#xA;                                 /app&#xA;                                 /bootstrap&#xA;                                 /config&#xA;                                 /database&#xA;                                 .&#xA;                                 .&#xA;                                 .&#xA;/imap&#xA;.&#xA;.&#xA;.بعد از آپلود پروژه ، باید تمام محتویات پوشه public پروژه خود را به پوشه public_html هاست انتقال دهید :/.php&#xA;/backups&#xA;/domains&#xA;        /YourDomain.ir&#xA;                      /.htpasswd&#xA;                      /logs&#xA;                      /private_html&#xA;                      /public_html&#xA;                                  /css&#xA;                                  /js&#xA;                                  .htaccess&#xA;                                  index.php&#xA;                                  .&#xA;                                  .&#xA;                                  .&#xA;&#xA;                      /stats&#xA;                      /LaravelApp&#xA;                                 /app&#xA;                                 /bootstrap&#xA;                                 /config&#xA;                                 /database&#xA;                                 .&#xA;                                 .&#xA;                                 .&#xA;/imap&#xA;.&#xA;.&#xA;.بعد از انجام این مراحل ما باید آدرس های موجود در فایل index.php را با توجه به ساختار و پوشه بندی جدید تغییر دهیم ؛ برای اینکار به پوشه public_html هاست خود رفته و فایل index.php را باز کنید و سپس دو خط زیر را در آن بیابید : require __DIR__.&#39;/../bootstrap/autoload.php&#39;;&#xA;&#xA;$app = require_once __DIR__.&#39;/../bootstrap/app.php&#39;;حال این آدرس ها را با توجه به نام پوشه ای که ایجاد کردید یعنی LaravelApp به صورت زیر تغییر دهید :require __DIR__.&#39;/../LaravelApp/bootstrap/autoload.php&#39;;&#xA;&#xA;$app = require_once __DIR__.&#39;/../LaravelApp/bootstrap/app.php&#39;;حال باید پروژه لاراولی شما بدون خطا و به درستی اجرا شود . توجه : اکثر هاست های اشتراکی اجازه ی استفاده از فایل env. را به شما نمیدهند و با وجود بودن آن هم شاهد اجرای آن نخواهید بود و پروژه لاراولی شما اجرا نخواهد شد و به مشکل برخواهید خورد . برای حل عدم اجازه استفاده از فایل env. در هاست های اشتراکی میتوانید به راحتی تمام مقادیر درون این فایل را مستقیما در فایل های config پروژه خود وارد کنید . فایل های مربوط به config­­ پروژه خود را میتوانید در مسیر domain/YourDomain.ir/LaravelApp/config/. در هاست خود بیابید .به طور مثال برای وارد کردن تنظیمات مربوط به دیتابیس پروژه خود کافی است به پوشه config پروژه خود که در بالا آدرس آن گفته شد مراجعه کنید و فایل database.php باز کنید : &lt;?phpreturn [&#xA;&#xA;    &#39;default&#39; =&gt; env(&#39;DB_CONNECTION&#39;, &#39;mysql&#39;),&#xA;&#xA;    &#39;connections&#39; =&gt; [&#xA;&#xA;        &#39;sqlite&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;sqlite&#39;,&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, database_path(&#39;database.sqlite&#39;)),&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;        ],&#xA;&#xA;        &#39;mysql&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;mysql&#39;,&#xA;            &#39;host&#39; =&gt; env(&#39;DB_HOST&#39;, &#39;127.0.0.1&#39;),&#xA;            &#39;port&#39; =&gt; env(&#39;DB_PORT&#39;, &#39;3306&#39;),&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, &#39;forge&#39;),&#xA;            &#39;username&#39; =&gt; env(&#39;DB_USERNAME&#39;, &#39;forge&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;DB_PASSWORD&#39;, &#39;&#39;),&#xA;            &#39;unix_socket&#39; =&gt; env(&#39;DB_SOCKET&#39;, &#39;&#39;),&#xA;            &#39;charset&#39; =&gt; &#39;utf8&#39;,&#xA;            &#39;collation&#39; =&gt; &#39;utf8_unicode_ci&#39;,&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;            &#39;strict&#39; =&gt; true,&#xA;            &#39;engine&#39; =&gt; null,&#xA;        ],&#xA;&#xA;        &#39;pgsql&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;pgsql&#39;,&#xA;            &#39;host&#39; =&gt; env(&#39;DB_HOST&#39;, &#39;127.0.0.1&#39;),&#xA;            &#39;port&#39; =&gt; env(&#39;DB_PORT&#39;, &#39;5432&#39;),&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, &#39;forge&#39;),&#xA;            &#39;username&#39; =&gt; env(&#39;DB_USERNAME&#39;, &#39;forge&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;DB_PASSWORD&#39;, &#39;&#39;),&#xA;            &#39;charset&#39; =&gt; &#39;utf8&#39;,&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;            &#39;schema&#39; =&gt; &#39;public&#39;,&#xA;            &#39;sslmode&#39; =&gt; &#39;prefer&#39;,&#xA;        ],&#xA;&#xA;        &#39;sqlsrv&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;sqlsrv&#39;,&#xA;            &#39;host&#39; =&gt; env(&#39;DB_HOST&#39;, &#39;localhost&#39;),&#xA;            &#39;port&#39; =&gt; env(&#39;DB_PORT&#39;, &#39;1433&#39;),&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, &#39;forge&#39;),&#xA;            &#39;username&#39; =&gt; env(&#39;DB_USERNAME&#39;, &#39;forge&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;DB_PASSWORD&#39;, &#39;&#39;),&#xA;            &#39;charset&#39; =&gt; &#39;utf8&#39;,&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;        ],&#xA;&#xA;    ],&#xA;&#xA;    &#39;migrations&#39; =&gt; &#39;migrations&#39;,&#xA;&#xA;    &#39;redis&#39; =&gt; [&#xA;&#xA;        &#39;client&#39; =&gt; &#39;predis&#39;,&#xA;&#xA;        &#39;default&#39; =&gt; [&#xA;            &#39;host&#39; =&gt; env(&#39;REDIS_HOST&#39;, &#39;127.0.0.1&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;REDIS_PASSWORD&#39;, null),&#xA;            &#39;port&#39; =&gt; env(&#39;REDIS_PORT&#39;, 6379),&#xA;            &#39;database&#39; =&gt; 0,&#xA;        ],&#xA;&#xA;    ],&#xA;&#xA;];حال با توجه به نوع دیتابیسی که استفاده میکنید اطلاعات مربوط به آن را به صورت دستی وارد کنید ؛ یعنی به طور مثال اگر از دیتابیس mysql استفاده میکنید باید فایل فوق را همانند زیر با توجه به اطلاعات دیتابیس خود تغییر دهید : &lt;?phpreturn [&#xA;&#xA;    &#39;default&#39; =&gt; &#39;mysql&#39;,&#xA;&#xA;    &#39;connections&#39; =&gt; [&#xA;&#xA;        &#39;sqlite&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;sqlite&#39;,&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, database_path(&#39;database.sqlite&#39;)),&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;        ],&#xA;&#xA;        &#39;mysql&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;mysql&#39;,&#xA;            &#39;host&#39; =&gt; &#39;Database_Address&#39;,&#xA;            &#39;port&#39; =&gt; &#39;3306&#39;,&#xA;            &#39;database&#39; =&gt; &#39;Database_Name&#39;,&#xA;            &#39;username&#39; =&gt; &#39;Database_UserName&#39;,&#xA;            &#39;password&#39; =&gt; &#39;Database_Password&#39;,&#xA;            &#39;unix_socket&#39; =&gt; &#39;&#39;,&#xA;            &#39;charset&#39; =&gt; &#39;utf8&#39;,&#xA;            &#39;collation&#39; =&gt; &#39;utf8_unicode_ci&#39;,&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;            &#39;strict&#39; =&gt; true,&#xA;            &#39;engine&#39; =&gt; null,&#xA;        ],&#xA;&#xA;        &#39;pgsql&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;pgsql&#39;,&#xA;            &#39;host&#39; =&gt; env(&#39;DB_HOST&#39;, &#39;127.0.0.1&#39;),&#xA;            &#39;port&#39; =&gt; env(&#39;DB_PORT&#39;, &#39;5432&#39;),&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, &#39;forge&#39;),&#xA;            &#39;username&#39; =&gt; env(&#39;DB_USERNAME&#39;, &#39;forge&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;DB_PASSWORD&#39;, &#39;&#39;),&#xA;            &#39;charset&#39; =&gt; &#39;utf8&#39;,&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;            &#39;schema&#39; =&gt; &#39;public&#39;,&#xA;            &#39;sslmode&#39; =&gt; &#39;prefer&#39;,&#xA;        ],&#xA;&#xA;        &#39;sqlsrv&#39; =&gt; [&#xA;            &#39;driver&#39; =&gt; &#39;sqlsrv&#39;,&#xA;            &#39;host&#39; =&gt; env(&#39;DB_HOST&#39;, &#39;localhost&#39;),&#xA;            &#39;port&#39; =&gt; env(&#39;DB_PORT&#39;, &#39;1433&#39;),&#xA;            &#39;database&#39; =&gt; env(&#39;DB_DATABASE&#39;, &#39;forge&#39;),&#xA;            &#39;username&#39; =&gt; env(&#39;DB_USERNAME&#39;, &#39;forge&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;DB_PASSWORD&#39;, &#39;&#39;),&#xA;            &#39;charset&#39; =&gt; &#39;utf8&#39;,&#xA;            &#39;prefix&#39; =&gt; &#39;&#39;,&#xA;        ],&#xA;&#xA;    ],&#xA;&#xA;    &#39;migrations&#39; =&gt; &#39;migrations&#39;,&#xA;&#xA;    &#39;redis&#39; =&gt; [&#xA;&#xA;        &#39;client&#39; =&gt; &#39;predis&#39;,&#xA;&#xA;        &#39;default&#39; =&gt; [&#xA;            &#39;host&#39; =&gt; env(&#39;REDIS_HOST&#39;, &#39;127.0.0.1&#39;),&#xA;            &#39;password&#39; =&gt; env(&#39;REDIS_PASSWORD&#39;, null),&#xA;            &#39;port&#39; =&gt; env(&#39;REDIS_PORT&#39;, 6379),&#xA;            &#39;database&#39; =&gt; 0,&#xA;        ],&#xA;&#xA;    ],&#xA;&#xA;];توجه : باید به جای مقادیر Database_Address و Database_Name و Database_UserName و Database_Password اطلاعات مربوط به دیتابیس mysql خود را وارد کنید . حال همانند فوق تمامی مقادیر درون فایل env. پروژه خود را درون فایل مربوط به خود در پوشه config پروژه وارد نمایید ؛ بعد از اتمام اینکار درصورت انجام درست تمامی مراحل فوق باید پروژه لاراولی شما بدون هیچ مشکلی اجرا شود . اگر با مشکل ذخیره فایل و یا session ها مواجه شدید مسیر های زیر را در فایل bootstrap/config/cache.php اصلاح کنید : Project Path : /domains/domain_name.com/{project_name} Storage Path:array (&#xA;    &#39;default&#39; =&gt; &#39;local&#39;,&#xA;    &#39;cloud&#39; =&gt; &#39;s3&#39;,&#xA;    &#39;disks&#39; =&gt; &#xA;    array (&#xA;      &#39;local&#39; =&gt; &#xA;      array (&#xA;        &#39;driver&#39; =&gt; &#39;local&#39;,&#xA;        &#39;root&#39; =&gt; &#39;./../../public_html/api&#39;,&#xA;        &#39;visibility&#39; =&gt; &#39;public&#39;,&#xA;      ),&#xA;      &#39;public&#39; =&gt; &#xA;      array (&#xA;        &#39;driver&#39; =&gt; &#39;local&#39;,&#xA;        &#39;root&#39; =&gt; &#39;/../../{project_name}/storage/app/public&#39;,&#xA;        &#39;visibility&#39; =&gt; &#39;public&#39;,&#xA;      ),&#xA;      &#39;s3&#39; =&gt; &#xA;      array (&#xA;        &#39;driver&#39; =&gt; &#39;s3&#39;,&#xA;        &#39;key&#39; =&gt; &#39;your-key&#39;,&#xA;        &#39;secret&#39; =&gt; &#39;your-secret&#39;,&#xA;        &#39;region&#39; =&gt; &#39;your-region&#39;,&#xA;        &#39;bucket&#39; =&gt; &#39;your-bucket&#39;,&#xA;      ),&#xA;    ),&#xA;  ),</description><category>muhammad Husayni</category><author>muhammad Husayni</author><pubDate>Tue, 14 Aug 2018 15:11:47 +0430</pubDate></item></channel></rss>