author

احمد نادری

توسعه دهنده فول استک

پروژه nextjs

ایجاد پروژه جدید :

npx create-next-app ahmad-teams-app

 

اجرای پروژه

npm run dev

اگر میخوایم پوشه assets خونده بشه باید اون رو داخل public  بزاریم .

خروجی گر فتن : 

فایل next.config.js پروژه رو به این شکل تغییر میدیم :

const nextConfig = {
  reactStrictMode: true,
  output: 'export',
}
module.exports = nextConfig

حالا وقتی خروجی گرفته میشه علاوه به فولدر .next یک فولدر out هم ایجاد میشه که باید به هاست منتقل بشه  .

راه اندازی ماشین مجازی روی سرور فیزیک

  1. وارد مدیریت سرور ( ESXI) میشیم و از قسمت سمت چپ وارد  بخش storage میشیم
  2. در منوهای بالا گزینه Datastore browser رو انتخاب میکنیم و فایل iso ( ویندوز – اوبونتو و … ) خودمون رو آپلود میکنیم .
  3. بعد از آپلود روی virtual machines راست کلیک میکنیم و create machine رو انتخاب میکنیم
  4. در این مرحله اسم و مشخصات سیستم عامل رو انتخاب میکنیم و next رو میزنیم .
  5. در مرحله بعدی هارد خودمون رو انتخاب میکنیم
  6. در مرحله بعد باید منابع رو مشخص کنیم  مثلا cpu روی 4 و ram روی 20 میزاریم . فقط توجه داشته باشید که در disk provisioned حتما نروی thin بزارید ! در قسمت cd/dvd هم فایل iso رو انتخاب کنید .
  7. بعد از اتمام نصب و اولین اجرا ماشین ران میشه و باقی مراحل نصب فایل iso رو ادامه میدیم ….

مفاهیم برنامه نویسی

اصل اول: KISS که مخفف Keep it simple, stupid هستش.
یعنی وقتی کدی می‌نویسید سعی کنید ساده ترین حالت ممکن رو بنویسید.
بعنوان مثال: اگر فانکشن خاصی بلدین که فکر می‌کنید خوبه اما کسی بلد نیست و فهمش سخته بهتره استفاده نکنید. کدی که می‌نویسید باید جوری باشه که هر کسی بتونه به راحتی متوجه اون بشه. بعضی مواقع نوشتن خط کد بیشتر باعث میشه اون کد ساده تر باشه. بهتره کد ساده تر باشه تا اینکه تعداد خط کمتری داشته باشه.

اصل دوم: YAGNI یعنی You aren’t gonna need it
بعضی وقت ها یه کدی رو که مینویسم زمان زیادی رو صرف این می‌کنیم که در آینده این کد نیازهای دیگه رو هم پوشش بده، در صورتی که ممکنه بعضی چیزا رو نیاز نداشته باشیم. مخصوصاً اگر کمالگرا باشین تایم زیادی رو صرف بهینه کردن اون کد می‌کنید.
این مفهوم به این اشاره می‌کنه که اگر کدی که نوشتین تا حد خوبی نیازهای الان شما رو برطرف می‌کنه و درست کار می‌کنه نیازی نیست بیشتر از اون وقت صرف بهبودش کنید و بعداً هر موقع نیاز داشتین میتونید این کد رو ریفکتور کنید.

اصل سوم: DRY که مخفف Don’t Repeat yourself هست و همینطور که از اسمش مشخص هست این مفهوم
به این اشاره داره که کدهای تکراری ننویسیم.

معماری چند مستاجری(Multitenancy)

معماری multi-tenant یا multi-tenancy یک معماری نرم افزار است که در آن چند نمونه از یک برنامه روی یک سرور فیزیکی اجرا می شوند تا آن سرور بتواند به چندین مستاجر (tenant) خدمات ارائه کند.

 

https://sokanacademy.com/blog/multi-tenancy-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%85%D8%B2%D8%A7%DB%8C%D8%A7-%D9%88-%D9%85%D8%B9%D8%A7%DB%8C%D8%A8

https://trailhead.salesforce.com/content/learn/modules/starting_force_com/starting_understanding_arch

دستورات مهم کامند های artisan در لاراول

لاراول مجموعه ای عالی از دستورات artisan  داره، احتمالاً بیشترین استفاده از آنها عبارتند از make:xxx – مثل make:model یا make:migration و غیره. تو این قسمت توضیحات مخصتری راجبشون میدم .

(بیشتر…)

مشکل نصب ssl وردپرس در سرور مجازی اوبونتو

بعد از انتقال یا نصب وردپرس به صورت مستقیم در سرور مجازی مثلا اوبونتو با آپاچی ممکنه در نصب ssl دچار مشکل بشیم .

(بیشتر…)

ثابت های در php

ثابت های مقدارهایی هستند که ما یکبار تعریفشون میکنیم و بعد هر جای نیاز داشتیم ازشون استفاده میکنیم .

(بیشتر…)

Type Hinting در php

زبان برنامه نویسی php یک زبان dynamically typed هست . یعنی نوع داده های میتونند بعد از تعریف تغییر کنند…

(بیشتر…)

چارچوب بندی در vue js

ساخت layout  ها در فریم ورک ویو برای ساختار بندی صفحات مختلف موضوع مهمی هست .

(بیشتر…)

نحوه اجرا یک متد در دوره های زمانی با لاراول

بعضی مواقع شما احتیاج دارید تا یک کار در سیستمتون طبق یک بازه زمانی اجرا بشه . مثلا میخواید کاربرایی که ثبت نامشون تکمیل نشده روزانه به طور خودکار حذف بشن یا سفارش های تکمیل نشده به صورت ساعتی به مدیریت اعلام بشه …

(بیشتر…)

درباره من
  • سلام به وب سایت من خوش اومدید ! از سال 1388 که وارد دنیای برنامه نویسی شدم تجربیات خودم رو از پروژه های مختلف به دست آوردم و همیشه سعی کردم تا مهارت های فنی و رفتاری خودم رو ارتقا بدم تا بتونم برای خودم و سازمانی که در آن کار می کنم بهترین باشم . من عاشق یادگیری هستم و همیشه از چالش های جدید هیجان زده میشم چون اونارو کلید موفقیت و رشد خودم می دونم.
  • @ahmadnaderi01
arrow