نصب node.js و npm ورژن ۱۳ در اوبونتو ۱۸

از دستور زیر برای نصب پکیج منیجر نود و خود نود استفاده کنین:

یادتون باشه اگه نود نسخه قبلی دارین حتما اونو اول پاک کنین. برای توضیحات بیشتر سری به منبع بزنین یا اگر نسخه های قدیمی تر رو میخواین

مبع: NodeSource Node.js Binary Distributions

گرفتن جمع رکورد های برگشتی در لاراول ۵.۸

گاهی لازمه بدونیم یک مدل ما در رابطه با مدل دیگه ای (چند به چند و یک به چند) چه تعداد نتیجه داره؟ برای مثال میخوایم بدونیم این پست من چه تعداد کامنت داره؟ یک عدد میخوام.

برای یک مدل فقط کافیه از متد count بصورت زیر استفاده کنم. (چند نمونه مثال)

اما وقتی چند مدل/ چند رکورد از دیتابیس رو گرفتیم و میخوایم برای هر کدوم چیزی رو بشماریم از روش زیر استفاده میکنیم:

یا شمارنده های با فیلتر بیشتر یا چند شمارنده

 

منبع: Counting Related Models

چطور در جاوااسکریپت آرایه ها را با هم یکی کنیم و به هم بچسبانیم؟

در جاوا اسکریپت متدی وجود داره که با اون میتونیم دو یا چند آرایه رو به هم متصل کنیم. نتیجه این متد آرایه فعلی را تغییری نمیدهد بلکه آرایه جدیدی به return میکنه که شامل آرایه های جمع شدست.

قائده کلیش به این صورت بالاست. آرایه ای رو در ابتدا concat میکنیم و بعد آرایه های دیگه رو بعنوان پارامتر به اون میدیم. اگر فهرست آرایه هارو میخواین بصورت پارامتر وارد کنین، ابتدا یک آرایه خالی تعریف کنین که با فهرست آرایه هاتون concat میشه.

 

منبع: JavaScript Array concat() Method

نصب Vue با مدیریت بسته yarn

Vue برای نصب نیاز به مدیریت بسته Node.js همون npm داره یا اینکه میتونین اون رو از طریق یارن هم نصب کنین. از اینجا یاد بگیرید چطور مدیریت بسته یارن yarn رو نصب کنین

نکته: اگر قبلا vue رو نصب کردین حتما اون رو پاک کنین خصوصا اگر نسخه ۱ اونو دارین با دستور  remove vue-cli پاکش کنین.
نکته۲: vue قبلا با نام بسته vue-cli شناخته میشد و الان نام اون تغییر کرده به @vue/cli

برای نصب vue یکی از دو دستور زیر npm یا yarn رو استفاده کنین که من یارن رو ترجیح میدم چون خیلی سریعتر و بهتره.

برای نصب این بسته ها با دسترسی ادمین باشین تا بتونین نصبش کنین.

این دستور vue رو بصورت global رو سیستم شما نصب میکنه و بعد نصب شما به دستور vue دسترسی دارین. برای اینکه چک کنین آیا نصب شده یا نه به راحتی فقط نام اون رو تایپ کنین vue. که بهتون راهنمای کار با دستور vue و لیستی از دستورات موجود رو نشون میده.

با دستور زیر میتونین ببینین که چه نسخه ای رو نصب کردین

یا اگر قبلا یارن رو رنصب کردین با دستور زیر اون رو آپدیت کنین:

 

چطور بر روی اوبونتو ۱۸ مدیریت بسته yarn رو نصب کنیم؟

اول از همه بهتون بگم یارن چیه؟ yarn یک مدیر پکیج های جاوا اسکریپت هست که با مدیریت بسته های نود npm سازگاره و به ما کمک میکنه بصورت خودکار کارهای نصب آپدیت و تنظیمات و پاک کردن پکیج های npm رو انجام بدیم.

یارن برای این بوجود اومد که مجموعه ای از مشکلات npm رو حل کنه، مانند بالا بردن سرعت نصب پکیج ها با دستورات موازی و کاهش خطاهای مرتبط با ارتباطات شبکه ای.

در این آموزش ما یاد میگیریم چطور با استفاده از پکیج منجیر اوبونتو APT یارن رو روی اوبونتو ۱۸ نصب کنیم. مخازن رسیمیه یارن بصورت مدام بروز میشن و این خیلی خوبه که از مخازن رسمی اونو نصب کنین.

قبل شروع نصب یارن یادتون باشه که با با کاربر روت باشین یا با دسترسی های اون کارهای نصب رو انجام بدین. (sudo).

۱. اولین قدمی اینه که مخزن یارن رو فعال کنین. بوسیلیه کد زیر کلید مخزن GPG  رو درون ریزی کنین.

بوسیله دستور زیر مخازن یارن رو به مخازن سیستمتون اضافه کنین:

۲. بعد اینکه مخزن یارن به لیست مخازن سیستم اضافه شد، لیست پکیج ها رو بروزرسانی کنین و سپس یارن رو نصب کنین.

۳. برای اینکه چک کنین یارن نصب شده یا نه کد زیر رو بزنین و از ورژن نصب شده مطلع بشین:

 

منبع: How to Install Yarn on Ubuntu 18.04

نحوه عوض کردن میانبر تغییر زبان در ابونتو ۱۸ به آلت و شیفت

برای اینکه میانبر تغییر زبان رو در اوبونتو ۱۸ به آلت و شیفت تغییر بدیم مراحل زیر رو دنبال کنین تا بهتون بگم:

۱. برنامه گنوم توپیکس رو نصب کنین:

۲. گنوم توپیکس رو باز کنین، میتونین با زدن دکمه سوپر و نوشتن عبارت gnome tweaks اونو جستجو و بازش کنین.

۳. کیبورد و موس رو انتخاب کنین

۴. رو گزینه «Additional Layout Options button» کلیک کنین.

۵. گزینه «Switching to another layout» رو باز کنین

۶. میانبری که میخواین رو انتخاب کنین

gnome tweaks

gnome tweaks

منبع: ۱۸٫۰۴ ctrl+shift to change language

چطور در اوبونتو برای باز کردن فولدر Home میانبر تعریف کنیم؟

برای تعریف میانبر برای باز کردن Files Manager و یا باز کردن فولدر Home کافیه دکمه Super رو بفشارید و تایپ کنید shortcuts و اینتر بزنین. یا از Settings > Shortcuts رو انتخاب کنین.

حالا در این صفحه تایپ کنین Home Folder که همون اولاس. بعد انتخابش دکمه میانبر رو بزنین. من Super + E رو زدم مشابه عادتی که در ویندوز داشتم.

تعریف میانبر برای باز کردن Files

موفق باشید.

متد های PUT PATCH DELETE در لاراول

اول از همه بریم سراغ متد های PUT PATCH DELETE این متد ها روش های انتقال دیتا در کنار POST GET هستن و کمتر استفاده شدن و درموردشون کمتر خوندیم و شنیدیم. اما درواقع لیست متد های تقاضاهای HTTP شامل PUT PATCH DELETE POST GET HEAD OPTIONS TRACE CONNECT میشن. که ما بیشتر از همه با POST GET کار کردیم و حالا در لاراول میخوایم از چند تای دیگشون استفاده کنیم. قبلش یه نگاه سریع بهشون بندازیم که اصلا چی هستن و برای چی استفاده میکنیم؟

حالا این نکته رو تو ذهنتون داشته باشید که CRUD مخفف اول کلمات Create Read Update Delete هست.

متد GET برای نمایش یا گرفتن داده خاص مثل یک محصول، یا یک نوع محصول یا لیست محصولات استفاده میشه.

متد POST برای ارسال یک داده به سرور استفاده میشه و معمولا برای Create کردن.

متد PUT برای ارسال داده و جایگزین کردن آن با مقادیر فعلی استفاده میشه. Update

متد PATCH هم برای ارسال داده و بروزرسانی استفاده میشه. فرقش با بالایی اینه که اون جایگزین میکنه کلا، این ویرایش میکنه. که شامل بخشی از اونه اصظلاحا Modify میکنه. اینم میشه Update

متد DELETE که مشخصه برای حذف کردنه.

میرسیم سراغ متد های فرعی که شامل این مبحثمون نمیشه ولی میگم:

متد HEAD مثل متد GET میمونه اما با فرق اینکه بدنه رو نمیگیره و فقط head رو میگیره. داده هایی که در هد صفحه موجوده.

متد CONNECT برای ایجاد یک تونل به منبعی مشخص

متد OPTIONS برای مشخص کردن گزینه های ارتباط با منبع مورد نظر استفاده میشود. (سخت نگیرید – سرچ کنید)

متد TRACE هم برای بررسی مسیر رفت و برگشت بسته.

همونطور که میدونیم HTML در فرم هاش از متد های PUT PATCH DELETE پشتیبانی نمیکنه، لاراول برای پشتیبانی از این route ها از ما میخواد فیلدی رو در فرممون با نام _method تعریف کنیم و مقدار اون رو برابر متد مورد نظر قرار بدیم. برای مثال کد زیر رو ببینین:

در بلید برای سرعت بیشتر میتونیم از @method استفاده کنیم که این کد رو برامون جنریت میکنه و البته، متد فرم همچنان باید POST باشه.

 

منبع:
Form Method Spoofing
HTTP request methods
HTTP Request Methods
متد های http
تفاوت بین متدهای HTTP شامل GET, POST, PUT, PATCH, DELETE

توکن CSRF فرم ها در لاراول

لاراول فرم ها رو در برابر حمله های CSRF محافظت میکنه. درخواست های سایت ها / سرور های دیگر از درخواست های یک کاربر اهراز شده جدا میشن. برای اینکار لاراول یک توکن CSRF برای هر کاربر ایجاد میکنه با اینکار چک میکنه آیا این درخواست برای همین کاربر هست یا نه؟!

برای اینکار هرزمان که ما یک فرم در HTML مینویسیم باید حتما یک توکن CSRF رو در فیلد های HTML از نوع input با مقدار توکن ایجاد کنیم. اینکار به میدلور لاراول این امکان رو میده صحت درخواست مارو بررسی کنه. برای راحتی تنها نیاز به نوشتن @csrf  داخل فرم بلیدمون داریم.

همچنین میتونیم این توکن رو در هدر صفحه هم ارسال کنیم:

یا توسط جاوا اسکریپت:

اطلاعات بیشتر درباره CSRF Protection

نمایش و مدیریت کاربران لاگین کرده در لاراول

بنا به دلایل مختلف ممکنه نیاز پیدا کنیم که بدونیم کدوم کاربران ما الان لاگین کردن و چه اطلاعاتی از اونها داریم. برای مثال با چه دستگاه هایی لاگین کردن، از کجا لاگین کردن و… یا حتی محدودیت برای لاگین بخوایم بذاریم! سشن ها در لاراول در جاهای مختلفی میتونن ذخیره بشن مثل فایل ها، دیتابیس، کوکی، memcache / redis و آرایه ها (تنظیمات سشن در لاراول). برای مدیریت بهتر سشن ها اون ها رو در دیتابیس ذخیره میکنیم که امکانات زیادی به ما میده از قبیل مدیریت زمان، دسته بندی، مدیریت دستگاه ها، تعداد دستگاه ها و…

دستورات زیر رو اجرا کنین تا لاراول شما آماده بشه:

 

حالا داخل فایل config/session.php  درایور سشن رو به database  تغییر بدین.

ایزی ایزی تمام تمام. همین! برین دیتابیس رو نگاه کنین و راحت کوئری بزنین و کاربران رو همونطور که میخواین لیست کنین، مدیریت کنین.

احتمالا نیاز پیدا کنین که کش کانفیگ رو کلیر کنین پس حتما انجامش بدین.

منبع: Display user devices there application is currently logged in and option to logout in Laravel