| AmirHossein | – Telegram
| AmirHossein |
591 subscribers
44 photos
8 videos
2 files
73 links
نوشته‌های یک برنامه‌نویس ناشی

🫂 @StartUnity
Download Telegram
برای شروع برنامه نویسی چه سنی مناسبه؟

سن شما هیچ اهمیتی نداره
شما چه ۵ سال سن داشته باشید چه ۸۰ سال میتونید برنامه نویسی رو شروع کنید

طبیعیتا هرچی سن شما کمتر باشه و جوون تر باشید مفاهیم رو سریع تر و راحت تر میتونید یاد بگیرید و فرصت برای پیشرفت و کار بیشتری دارید

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

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

1-برنامه نویسی چیست؟
به فرایند طراحی و ساخت یک برنامه اجراپذریر برای انجام یک عمل خاص میگویند.

2--برنامه نویس کیست؟
به شخصی که عمل برنامه نویسی را انجام دهد میگویند.

3-زبان برنامه نویسی چیست؟
زبان برنامه‌نویسی، زبانی است که برای نوشتن برنامه‌های رایانه‌ای به کار می‌رود.
👍4
زبان های مرسوم در توسعه وب

توسعه وب به دو بخش فرانت اند و بک اند دسته بندی میشود

زبان های فرانت اند شامل:
Html, Css, JavaScript
برای توسعه در بخش فرانت اند شما باید به هر سه زبان ذکر شده مسلط باشید.

زبان های بک اند شامل:
Php, C#, Java, JavaScript, Python, Ruby, ... + SQL
برای توسعه در بخش بک اند با مسلط بودن به یکی از زبان های ذکر شده میتوانید به توسعه وب سایت خود بپردازید


این دو دسته از توسعه وب مکمل یک دیگر هستند و وب سایت بدون یکی از انها هیچ خاصیتی ندارد.
👍6
htmlTutorial.pdf
1 MB
#Book #Html #PDF

Name : HtmlTutorial
Lang : English
Size : 1MB
🔥3👍1
#مانیتور خوب چی بگیرم؟

اگر دنبال مانیتور خوب و مقرون به صرفه میگردید مانیتور های GPlus رو پیشنهاد میکنم
این مانیتور ها از برند ایرانی هستن (ساخت چین) به همین خاطر قیمت های نسبتا پایین تری به مانیتور های Asus یا LG دارن

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

این مانیتور ها توی سه سری LN, FN, QN هستند
سری QN قیمت بیشتری داره و با مانیتور های LG و.. تفاوت خاصی نداره
مزیتش هم تاخیر 1ms اون هست که برای گیمینگ و گرافیک مناسب هست

سری بعد FN هست این سری قیمت بیشتری از LN داره ولی توی کارکرد تفاوت خاصی نداره و قیمت بیشترش بخاطر تکنولوژی ایی هست که توش بکار رفته

اگر برای برنامه نویسی میخواید من سری LN این مانیتور هارو پیشنهاد میکنم
اگر هم قصد بازی یا طراحی دارید QN

این مانیتور ها از سایز 22 تا 32 اینچ هم موجود هستند

حدود دو سال هست که دو تا ۲۷ این مدل رو داشتم به علاوه ۲۴ که قبلا داشتم و واقعا عالی کار کرده و میکنه
به علاوه طراحی زیبا و باریک اون
👍5
استفاده از متد های زنجیره ایی در #php
#chainMethode

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

methode1->methode2->methode3

حالا چطور میتونیم اینارو توی پروژه های خودمون بسازیم
ساخت این نوع متد ها خیلی ساده هست و فقط کافیه هر متد از کلاستون که میخواید زنجیره ایی بشه یک شی از همون کلاس برگردونه یا به اصلاح return بکنه
مثال

class MyClass {
public function methode1(){
return $this;
}

public function methode2(){
return $this;
}

public function methode(){
return $this;
}
}
👍3
Forwarded from | Erfan's Notes |
💠 دوره آموزش برنامه‌نویسی ربات تلگرام

دوره‌ای که در اون از پایه شروع می‌کنیم به توضیح مفاهیم مربوط به ربات و نحوه توسعه ربات‌های تلگرامی

قسمت‌ها به صورت تدریجی منتشر می‌شن

⭕️ پست توضیحات کامل دوره رو می‌تونید اینجا بخونید

🔰 پلی‌لیست دوره در یوتیوب رو هم می‌تونید اینجا ببینید
👍2
زبان برنامه نویسی #mojo یک زبان با قابلیت های پایتون و عملکرد C هست که این زبان رو برای توسعه AI فوق العاده میکنه

این زبان با قابلیت heterogenous runtime (پردازش ناهمگن، استفاده از تمام قدرت سخت افزاری از جمله تمامی هسته ها و واحد های شتابدهنده) پرفورمنس بالایی مثل زبان C++ رو با اما با سادگی Python بهتون ارائه میده

طبق داکیومنت این زبان، 35000 برابر سریع تر از python و 5000 برابر سریع تر از C++ هست که واقعا سرعت باورنکردنی ایی داره

نکته جالب دیگه این هست که شما میتونید کتابخانه های پایتونی مثل Numpy و Matplotlib رو با این زبان ترکیب کنید

در کل Mojo یک زبان خیلی عالی برای توسعه AI هست
برای مطالعه راجبش میتونید به سایتش برید
https://www.modular.com/mojo
🔥3👍1
#خبر

مثل اینکه ویندوز قراره بعد از این همه سال از rar پشتیبانی بکنه بدون نیاز با نصب برنامه های اضافی مثل winrar

برای این کار هم میخواد از کتابخونه libarchive استفاده بکنه که فرمت هایی جز rar هم پشتیبانی میکنه

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

منبع
👍3
دو ابزاری که این روز ها داره راجبش صحبت میشه هوش مصنوعی DragGAN و Generative Fill هستند

هوش مصنوعی DragGAN که ویدیو اول موجوده باهاش میتونید یه سادگی با درگ کردن تصاویر رو حرکت بدید
این ابزار توسط Adobe توسعه داده شده و قراره در PhotoShop مورد اسفاده قرار بگیره
نکته جالبش این هست که کاملا اوپن سورس هست
میتونید مستنداتش رو از این لینک مشاهده کنید

ابزار دوم Generative Fill هست که با نوشتن میتونید افکارتون رو به تصویر تبدیل کنید که اونم نمونه ش توی ویدیو های بالا هست
این ابزار هم قراره در PhotoShop مورد استفاده قرار بگیره
👍3
#خبر

در تاریخ 2003/5/27 اولین نسخه #وردپرس منتشر شد

و امروز 2023/5/27 تولد ۲۰ سالگی این cms محبوب هست
3
مفهوم و کاربرد #ORM چیست؟

از ORM یا Object-Relational Mapping برای تعامل با پایگاه داده استفاده می‌شود و میتوانید به جای نوشتن کوئری‌های SQL برای انجام عملیات پایگاه داده، از مدل‌ها و روابط بین آن‌ها استفاده کنید.
همچنین، با استفاده از روابط مدل‌ها، می‌توانید به صورت آسان روابط یک به یک، یک به چند و چند به چند را بین مدل‌ها تعریف کنید.

به عنوان مثال به ORM در فریم ورک قدرتمند Laravel نگاه می کنیم :
لاراول به صورت پیش‌فرض از Eloquent ORM استفاده می‌کند. Eloquent ORM یک قابلیت پرقدرت است که توسط این فریم ورک پیاده سازی شده و اجازه این رو به ما میده تا با استفاده از مدل‌ها و روابط آن‌ها، کوئری‌های پایگاه داده را ایجاد و اجرا کنید.
به عنوان مثال یک کوئری برای گرفتن کاربری با آی دی 1 به صورت زیر هست:
SELECT * FROM user WHERE id=1
حالا همین کار با استفاده از Eloquent ORM به این صورت هست:
User::find(1);

در همین مثال کوچک دیدیم که کار چقدر ساده شده و نیاز به سر و کله زدن با SQL نیست حالا تصور کنید کوئری ای داشته باشیم که چندین JOIN و SELECT رو با هم و کلی رابطه های تو در تو داشته باشه، در این صورت ما باید کلی SQL پیچیده بنویسیم. ولی ORM این کارو با چند تا تابع انجام میده.
👍5
Forwarded from DevDashers (DevD)
PHPProfessionalTipsSecrets.pdf
3.3 MB
یک کتاب خوب برای حرفه ای ها
اگر توسعه دهنده PHP‌ هستید و میخواید نکات و رازهای کاربردی ئی رو در مورد این زبان بدونید حتما این کتاب رو بخونید

@DevDashers
🔥3
DevDashers
PHPProfessionalTipsSecrets.pdf
#Book #PHP #PDF

حقیقتا کتاب خیلی جامع و کاملیه
اگه علاقه به مطالعه داشتید پیشنهاد میشه
تمامی مباحث رو توضیح داده تو نگاهی که من انداختم
حجمشم خیلی زیاد نیست
👍1
#PHP #OOP
کلاس انتزاعی یا Abstract Class :
گونه ایی از کلاس ها می باشد که نمیتوان از آن شئ ساخت و آن را به عنوان پایه ایی برای کلاس های فرزند آن در نظر میگیرند.
در Abstract Class ها به جز متد های عادی میتوان Abstract Method هم تعریف کرد.

شیوه تعریف این کلاس ها به صورت زیر می باشد:
abstract class Fruit {

}
و برای تعریف Abstract Method ها باید توجه داشته باشید که بدون بدنه تعریف می شوند و تنها نام و ورودی های تابع مشخص شود. مثال:
abstract public function banana();

و در نهایت شکل کامل یک Abstract Class به این صورت می باشد:
abstract class Fruit {
abstract public function color();
abstract public function price();
abstract public function taste();
}

و سپس با extends کردن آن به کلاس مورد نظر استفاده می شود:

class Banana extends Fruit {
public function color() {
return 'yellow';
}
public function price() {
return '1$';';
}
public function taste() {
return 'sweet';
}
}

می‌توان یک Abstract class برای تعریف یک قالب پایه استفاده کرد که قراردادی را بین کلاس‌های فرزند ایجاد کند.
با تعریف Abstract Method، مشخص می‌شود که کلاس‌های فرزند باید متدهای خاصی را پیاده‌سازی کنند.
استفاده از Abstract class به شما امکان می‌دهد که به صورت پلی‌مورفیک با کلاس‌های فرزند برخورد کنید.

مثال های بالا با زبان PHP هستند، اما پایه و اساس Abstract class در همه ی زبان ها به همین صورت هستند و تنها در مواردی سینتکس آنها متفاوت است.
🔥4👍3
#PHP #OOP
اینترفیس یا interface :
اینترفیس ها شبیه به abstract class ها هستند، اما در برخی موارد تفاوت هایی دارند که به آن ها می پردازیم.
در ابتدا روش استفاده از interface ها را مورد بررسی قرار می دهیم:
برای تعریف یک interface به صورت زیر عمل می کنیم:
interface Fruit{

}
و برای تعریف توابع ها همانند abstract class متد هایی بدون بدنه تعریف می کنیم:
public function color();
و در نهایت شکل کلی یک interface به صورت زیر است:
interface Fruit {
public function color();
public function price();
public function taste();
}
برای ارث بری آن از کلیدواژه implements استفاده می شود و به صورت زیر مورد استفاده قرار می گیرد:
class Banana implements Fruit {
public function color() {
return 'yellow';
}
public function price() {
return '1$';';
}
public function taste() {
return 'sweet';
}
}

و اما تفاوت های interface و abstract class :
1- در interface ها تنها می توان توابع بدون بدنه تعریف کرد با این تفاوت که در abstract class ها علاوه برا توابع بدون بدنه توابع دارای بدنه نیز می توان تعریف کرد.
2- هر کلاس تنها می تواند یک abstract class را extends کند ولی در interface ها این گونه نیست و می توان چندین interface را implements کرد.
3- در interface ها تنها می توان متد های بدون بدنه و خالص تعریف کرد ولی در abstract class ها می توان متغییر و خصوصیات را نیز تعریف کرد.


چه موقع از آنها استفاده کنیم؟
زمانی که قراردادها را برای کلاس‌های مختلف تعریف می‌کنید و تنها نیاز به تعریف متدهای خالص بدون بدنه دارید، از interface استفاده کنید.
اما در صورتی که می‌خواهید یک کلاس پایه بسازید که خود آن تعدادی متد نیز داشته باشد و همچنین به کلاس‌های زیرمجموعه اجازه دهید برخی از متدها را پیاده‌سازی کنند، از abstract class استفاده کنید.

مثال های بالا با زبان PHP هستند، اما پایه و اساس interface در همه ی زبان ها به همین صورت هستند و تنها در مواردی سینتکس آنها متفاوت است.
🔥3👍1
#خبر

مثل اینکه مشکل github بر طرف شده!
شما هم چک بکنید.
👍1
#PHP #OOP
تِرِیت یا trait چیست:
در ادامه مبحث شئ گرایی به بحث trait ها می رسیم.
تریت ها به شما این امکان را می دهند تا متد هایی که می خواهید در چندین کلاس استفاده کنید را به صورت جداگانه در بخشی دیگر تعریف کنید و در کلاس های مختلف استفاده کنید.
به عنوان مثال شما متدی به نام getColor دارید و می خواهید در دو کلاس Fruit و Vegetables استفاده کنید، در این موقعیت شما با استفاده از trait یک بار متد getColor را تعریف می کنید و در این دو کلاس use می کنید. مثال:
trait Color{
public function getColor(){
return 'red';
}
}

class Fruit{
use Color;
public function chery(){
return $this->getCollor();
}
}

class Vegetables{
use Color;
public function tomato(){
return $this->getCollor();
}
}

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

مثال های بالا با زبان PHP هستند، اما پایه و اساس trait در همه ی زبان ها به همین صورت هستند و تنها در مواردی سینتکس آنها متفاوت است.
1👍1🔥11
عبارت match که از php ورژن 8.0 به بعد در دسترس قرار داره همونطور که از اسمش پیدا هست برای match کردن یا تطبیق دادن دو مقدار با هم استفاده میشه، میشه گفت همون switch case هست.
اما نسبت به switch case تفاوت هایی داره،
به عنوان مثال برخلاف switch case که از == برای مقایسه استفاده می کنه، عبارت match از === استفاده می کنه.
از لحاظ پرفورمنس چند تا تست گرفتم و تفاوت آنچنانی ندارن ولی خب match بسیار کوتاه تر و خوانا تر هست و با دقت بیشتر.

در پایان ساختارش به صورت زیر هست:
$number = rand(0, 5);
echo match ($number) {
1 => 'number 1',
2 => 'number 2',
3 => 'number 3',
4 => 'number 4',
default => 'another number',
};

کد بالا با switch case به صورت زیر هست:
$number = rand(0, 5);
switch ($number){
case 1:
echo 'number 1';
break;
case 2:
echo 'number 2';
break;
case 3:
echo 'number 3';
break;
case 4:
echo 'number 4';
break;
default:
echo 'another number';
break;
}

همونطور که می بینید بسیار کوتا تر و خوانا تر هست.
🔥31👍1