Sql در دنیای دیتابیس ها پیش تازی می کند!

۱۲ بازديد



Sql  چیست؟

Sql  در واقع زبان استاندارد دسترسی  و تغییر اطلاعات در پایگاه داده ها است. به عبارت دیگ اید گفت : زبانی است سطح بالا مبتنی بر زبان سطح پایین و ریاضی که برای بازیابی  داده ها و عملییات بر روی آنها به کار می رود.

SQL مخفف Structerd Query Language یکی از محبوبترین زبان ها برای برنامه نویسی تحت وب در طراحی سایت می باشد.بهتر است برای طراحی سایت اس کیو ال را فرا گرفت. از SQL برای افزایش،کاهش و یا تغییر داده ها مورد استفاده قرار می گیرد.
برای یادگیری و تمرین SQL می توان از بانک اطلاعاتی QL-Server و Access ویا اوراکل استفاده کرد.SQL زبانی بر پایه اعلان می باشد و برعکس زبان های بیسیک و سی می باشد.زبانهای توسعه یافیه ی دیگر مانند PL و SQL به دنبال کامل کردن زبان به هداف ایجاد زبان برنامه نویسی با حفظ مزیت های SQL می باشد.

تاریخچه SQL

SQL برای اولین بار در IBM توسط Donald D. Chamberlin و Raymond F. Boyce در اوایل دهه 1970 توسعه پیدا کرد. این نسخه، در ابتدا SEQUEL (زبان جستجوی انگلیسی ساختار یافته) نامیده می شد، به منظور اداره کردن و بازیابی داده های ذخیره شده در سیستم مدیریت پایگاه داده شبه ارتباطی اصلی IBM طراحی شد، که یک گروه در آزمایشگاه تحقیقاتی IBM در شهر سن خوزه در جنوب سنفرانسیسکو در طول دهه 1970 آن را گسترش دادند.

مخفف SEQUEL بعدها به SQL تغییر کرد زیرا SEQUEL یک علامت تجاری از شرکت هواپیمایی هاوکر سیدلی بریتانیا بود. گسترش زبان SQL در طراحی سایت به مرور زمان بیشتر و بیشتر شد و امروزه یکی از پرکاربرد ترین زبان های برنامه نویسی تحت وب در طراحی سایت به حساب می آید.



sqlدر کاری که انجام میدهد استاد است!!!

زبان sql برای کار با databaseها ساخته شده است  و در دستیابی به اطلاعات و مرتب سازی آنها از رقبا برتری دارد.

 

یادگیری ساده و راحت sql

اس کیوال زبانی ساده برای یادگیری می باشد و چند رو بیشتر زمان نمیبرد تا یک نفر بتواند به سادگی باآن کار کند و همینطور افراد غیر حرفه ای هم توان یادگیری این زبان را دارند.

 

sql دارای چند استاندارد است؟؟؟

  1. sql87
  2. sql89
  3. sql92
  4. sql1999
  5. sql2003
  6. sql2005
  7. sql2008
  8. sql2011

sqlچه کار هایی انجام می دهد؟؟؟

1.sql برای اجرا query در پایگاه داده استفاده می شود.

2.ازsql  می توان برای استخراج داده ها در پایگاه داده استفاده کرد.

3.sql می تواند برای ورود record ها در پایگاه داده استفاده شود.

 

محبوب ترین پایگاه داده ها

1.oracel

2.mysql

3.microsoft server

4.mongoDB

5.DB2

6.microsoft Access



مزایای SQL

SQL بر پایه زبان پرس و جو ساخت یافته میباشد
SQL به شما اجازه دستیابی و کنترل داده ها را می دهد
SQL یک استاندارد ANSI( انجمن استاندارد ملی آمریکا) میباشد.
SQL میتواند درخواستهای پیوسته یک پایگاه داده را اجرا کند
SQL متواند دوباره اطلاعات را از پایگاه داده پس بگیرد
SQL میتواند یک رکورد شامل اطلاعات را در پایگاه داده ذخیره کند
SQL متواند اطلاعات پایگاه داده را به روز رسانی کند
SQL میتواند هر قسمت از اطلاعات را از پایگاه داده اصلاح یا حذف کند
SQL میتواند یک پایگاه داده تازه بسازد
SQL میتواند جداول حاوی اطلاعات جدید را به پایگاه داده اضافه کند
SQL اجازه تنظیم جداول و شیوه دستیابی به اطلاعات و نحوه نمایش اطلاعات را میدهد.

امیدوارم که از این مقاله نهایت استفاده را برده باشید مچکر از همراهی شما کاربران عزیز




بازار کار زبان برنامه نویسی سی شارپ

۴ بازديد


بازار کار برنامه نویسی سی شارپ

وضعیت بازار کار برنامه نویسی سی شارپ در ایران و خارج کشور به شدت فرق میکند. در خارج کشور معمولا بازار کار اکثر زبان ها خوب است و میتوان کار پیدا کرد اما در ایران واقعا اینطور نیست. مثلا کسی که زبان برنامه نویسی روبی مسلط هستش شاید در ایران به سختی بتواند کار پیدا کند.
در حال حاضر بازار کار برنامه نویسی ایران ختم به چند زبان برنامه نویسی خاص و تکنولوژی می شود. مثل سی شارپ، php، تکنولوژی ASP.Net، تکنولوژی زامارین، اندروید استودیو، لاروال و … .
بقیه زبان های برنامه نویسی رو میتوان گفت بازار کار خاصی در ایران ندارد. مثلا همین برنامه نونیسی پایتون واقعا یک برنامه نویس فوق العاده و عالی است اما متاسفانه فعلا در ایران بازار کار آنچنانی ندارد و میتوان گفت سخت می شود برای آن کار پیدا کرد. مگر اینکه به صورت آزاد کار یا فریلنسری کار پیدا کنید.
حال بریم به سراغ بازار کار برنامه نویسی سی شارپ، چون بحث اصلی ما هم همینه، اگر میخواهید برای ویندوز برنامه بنویسید با جرات تمام میگم که تنها زبان برنامه نویسی که در ایران بازار کار دارد برنامه نویسی سی شارپ است و میتوان گفت 80 90 درصد این پروژه ها در دست زبان سی شارپ است. پس نرم افزارهای تحت ویندوز تمام بازارکارشون دست زبان سی شارپ است.
حال بیاید بازار کار برنامه نویسی سی شارپ در حوزه وب را مورد بررسی قرار دهیم. معمولا کسی که سی شارپ کار میکند برای وب کار کردن راه سختی را ندارد چون کافیه به سمت ASP.Net تحت سی شارپ برود و به راحتی هر سایتی رو دوست داشت بنویسد. اگر بخواهیم در مورد بازار کار ASP.Net صحبت کنیم باید همین نکته رو گفت از 100 سایت برتر ایران بیش از 50 سایت با ASP.Net تحت سی شارپ برنامه نویسی شده است. پس میتوان گفت بازار کار فوق العاده در این بخش برای سی شارپ وجود دارد. اگر بخواهم از این سایت ها نام ببرم میتوانم به سایت های: ورزش سه، بانک ملی، بانک ملت، دیجی کالا، بلاگفا، نی نی سایت، جام نیوز، تبیان، رویال مایند و … که با تکنولوژی ASP.Net تحت سی شارپ نوشته شده اند.

میزان درآمد برنامه نویس سی شارپ
گزارشی در سال 2002 از روزنامه نیویورک تایمز منتشر گردیده که در آن گفته شده شرکت مایکروسافت پس از صرف دو میلیون دلار هزینه و 5 میلیون ساعت کار بی وقفه، توانسته این زبان برنامه نویسی را در اختیار توسعه دهندگان قرار دهد. باید به این نکته توجه داشته باشید که شرکت مایکروسافت هرگز اجازه نخواهد داد که این زبان با توجه به هزینه تولید بالای آن، منسوخ شود.
برای اثبات این مسئله به تحقیقاتی که در مورد وضعیت و بازار کار سی شارپ در خارج از کشور صورت گرفته اشاره می‌کنیم. در نتیجه این تحقیقات که در سال 2019 انجام گرفته مشخص شده دانشجویانی که در دوره تحصیل خود بر روی زبان سی شارپ تمرکز کرده‌اند، شانس بیشتری برای استخدام در شرکت ها داشته اند.
در واقع این تحقیقات نشان می دهد که شرکت های بزرگ خارجی برای توسعه نرم افزار‌های خود به نیروی کاری که در برنامه نویسی سی شارپ تخصص داشته باشد، نیاز دارند.

شرایط استخدام برنامه نویس سی شارپ

نیازی به گفتن نیست که برای استخدام در شرکت‌های ایرانی به عنوان یک توسعه‌دهنده، به طور حتم باید به زبان C# تسلط داشته باشید. اما این تنها شروع کار است. به عبارت دیگر یک توسعه دهنده علاوه بر آشنایی به زبان برنامه نویسی باید اطلاعات زیادی داشته و خود را با آن محدود نکند.
مهارت‌های دیگری که یک توسعه‌دهنده سی شارپ باید به آنها آشنایی داشته باشد عبارتند از تسلط به SQL Server، آشنایی به نحوه پیاده سازی الگوریتم‌های محاسباتی، آشنایی با پروتکل‌های شبکه، آشنایی با تکنولوژی‌های وب و ASP.NET، مسلط به برنامه نویسی به روش SOCKET، تسلط به Java script، CSS و Jquery و در نهایت یک رزومه کاری قابل قبول.

افزونه های عجیب Vs code

۱۸ بازديد

 

Visual Studio Code  یک ویرایشگرمتن رایگان است که توسط مایکروسافت توسعه داده شده. به کمک ویژگی‌های متعدد و کارایی بالای این ادیتور متن، به یکی از پرطرفدارترین ابزارهای موجود تبدیل شد.

VS Code نیز مجموعه بزرگی از پلاگین‌ها را با کیفیت بالا ارائه می‌دهد که ما در ادامه به مهم ترین آنها می پردازیم.

به قول جف بیزوس: ما ابزارهایمان را تغییر میدهیم و بعد، نوبت این ابزار هاست که ما را تغییر دهند!

 

Quokka

Quokka یک ابزار رفع عیب است که در زمان نوشتن کد به شما خروجی زنده را نشان می‌دهد. این دستور مقدار برگشتی از یک تابع و یا متغیر را قبل از اجرای پروژه به شما نشان می‌دهد. پیکربندی اپلیکیشن ،بسیار ساده است و به صورت پیش فرض از JSX و TypeScript پشتیبانی می‌کند.

 

Path Intellisense

زمانی که قرار است با تعداد زیادی فایل کار کنید که به هم متصل شوند، نوشتن و پیدا کردن آدرس هر فایل، یک کار وقت گیر است. پلاگین Path Intellisense به شما کمک میکند  خیلی سریع آدرس فایل های دیگر را در کد خود وارد کنید و از بخش Import  کردن خیلی سریع ردشوید. در واقع یک افزونه ویرایش فایل های شخصی یا سیستمی هنگام استفاده از ویژوال استودیو کد است.

 

Debugger for Chrome

زمانی که با جاوااسکریپت کار میکنید، خیلی پیش میاد که مدام به مرورگر خود سر بزنید تا ارورهای کد را بگیرید و آن را دیباگ کنید. این افزونه که توسط خود شرکت مایکروسافت طراحی شده، محیط دیباگر کروم را در خود ادیتور به شما ارائه میدهد و همانجا، میتوانید همه کارها را انجام دهید و دیگر نیاز نیست مدام بین مرورگر و ادیتور جابجا شوید. هم اکنون چهارمین افزونه پر طرفدار ویژوال استودیو از نظر تعداد دانلود است. این افزونه قدرتمند، امکانات پیشرفته مورد نیاز برای debugger را از جمله  : breakpoint setting،  variable watching،  stepping داراست.

 

ESLint

با استفاده از این اکستنشن می‌توانید ESLint JavaScript محبوب و JSX linter را با VS Code ادغام کنید.همچنین به شما امکان یافتن خطاها و ناسازگاری‌های جاوا اسکریپت را قبل از اجرای کد می‌دهد. این اکستنشن به صورت پیش‌فرض خطاهای موجود در فایل‌های جاوا اسکریپت را در حالی که شما مشغول تایپ کردن هستید پیدا می‌کند. می‌توانید با افزودن یک فایل کانفیگ eslintrc، قوانین مختلف lint برای هر پوشه ایجاد کنید.

 

GitLens

اگر یک توسعه‌دهنده مدرن هستید، باید از سیستم‌های کنترل نسخه استفاده کنید. گیت یکی از معروف‌ترین و پرکاربردترین آن‌هاست. ویژوال استودیو کد با قابلیت پشتیبانی داخلی از گیت همراه است اما گزینه‌های موجود در این قسمت محدود هستند. GitLens  افزونه‌ای است که پشتیبانی بسیار کاملتری از گیت را ارائه می‌کند: لیست یک مخزن، تاریخچه فایل‌ها، سیستم جستجوی کامیت، ابزارهایی برای نمایش تفاوت میان برنچ‌ها و… . اما بهترین ویژگی که این افزونه ارائه می‌کند در قسمت کدنویسی است، چرا که می‌تواند با تفکیک خط کدها، به شما نشان دهد که توسعه‌دهنده یک قسمت خاص از کد چه کسی است.

 

Bracket Pair Colorizer

این افزونه به صورت خودکار کاراکترهای خاصی را در کد، رنگی می‌کند تا مشخص شود که یک بخش خاص از کد در سلسله ‌مراتب خود در چه سطحی قرار دارد. این اکستنشن به صورت پیش‌فرض از چند زبان پشتیبانی می‌کند و این فهرست آن قدر بزرگ است که مطمئن باشید زبان مورد نظر شما نیز در آن جای دارد. به صورت پیش‌فرض کاراکترهای ()، []، و {} با همدیگر تطبیق پیدا می‌کنند؛ اما امکان تعریف براکت های دیگر نیز وجود دارد. این نوع از افزونه‌ها معمولاً مورد تنفر یا عشق شدید کاربران قرار دارند، اما گر مطمئن نیستید که آن را دوست دارید یا نه، بهتر است دست کم یک بار امتحانش کنید.

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

۴ بازديد




تازه واردان در دنیای برنامه نویسی همیشه به دنبال یه راه میانبر هستن، همیشه یه رویای شیرین برای برنامه نویسای موبایل بود که با یک زبان برای چند پلتفرم بتونین اپلیکیشن بنویسین که به نظر من این راه میانبر همین زامارینه. تو این مقاله قصد داریم بررسی کنیم که زامارین چیه؟ و چجوری میتونین ازش استفاده کنین. پس همراهمون باشین!


مفهوم زامارین را بدانید!
xamarin یک ابزار برای برنامه نویسی بر روی موبایل با استفاده از زبان #C می باشد. این ابزار در ماه مه سال ۲۰۰۱ توسط سازندگان پروژه متن باز Mono Android خلق شد. تاکنون حدود ۸۰۰ هزار توسعه دهنده در بیش از ۲۱۱ کشور جهان بر روی این فریم ورک کار کرده اند. کتابخانه xamarin بیش از ۱۱۱۱۱ کامپوننت قابل استفاده دارد، کدهای برنامه قبل از کامپایل شدن در بستر فریم ورک دات نت اجرا میشوند و نهایتا به صورت کدهای بومی آی او اس و اندروید (برنامه نویسی ویندوزفون هم که با سی شارپ انجام میشود، یعنی شما با یک کد سه خروجی برای پلتفرم اندروید، IOS و ویندوزفون خواهید داشت) در خروجی پدید میایند. توسعه دهندگانی که از این ابزار استفاده کنند میتوانند اپلیکیشنهای خود را بروی بیش از ۲۱۱۱ دستگاه مختلف که با تکنولوژی پردازش ابری (Cloud) بنا شده است تست کنند.

مزایای استفاده از زامارین (Xamarin)

استفاده از مهارت های #C و NET. ، برنامه نویسان و مهندسان نرم افزار وقت و انرژی بسیاری برای یادگیری ویژگی های زبان #C و نحوه استفاده از آن و همچنین فریمورک NET. صرف کرده اند. با این که جاوا با زبان های شی گرا شباهت های بسیاری دارد ولی اگر یک برنامه نویس #C بخواهد همان برنامه ای که می تواند در زبان #C بنویسد را در زبان جاوا بنویسد وقت و انرژی بسیار زیادی را می طلبد. حال اگر کسانی که به زبان #C برنامه تولید می کنند بخواهند برای موبایل ها برنامه تولید کنند باید آن برنامه را به زبان جاوا تولید کنند. ولی با استفاده از این نرم افزار به راحتی می توان با استفاده از همان مهارت های #C برنامه اندروید تولید نمود و دیگر لازم نیست که سختی یادگیری زبان جاوا را تحمل کرد. علاوه بر این لینوکسی ها هیچ نگران نباشند چون Xamarin متعلق به پدیدآورندگان mono می باشد. mono یک محیط با امکانات Visual Studio و opensource در لینوکس می باشد. چون میتوانید به راحتی با زامارین در لینوکس برای هر سه پلتفرم کدنویسی کنید.

مزیت استفاده از زامارین

1. بیش از ۷۶% کد ها قابل انتقال به اپلیکیشن های دیگر می باشد.
2. برای برنامه نویسی زامارین از محیط قدرتمند ویژوال استدیو استفاده می شود.
3. هنگامی که با زامارین مثلا یک اپلیکیشن اندروید می سازید، از نظر امکانات و عملکرد این برنامه به قدری شبیه به برنامه به زبان جاوا می باشد که گویی این برنامه با جاوا و اندروید استدیو توسعه داده شده است.
4. امکان اضافه کردن مؤلفه هایی شامل نمودارها، جداول، نمایه های زیبا، [UI control] ها و… بصورت مستقیم از [IDE].
5. ویژال استدیو در ویندوز و مک در دسترس است پس به راحتی می توان در هر دو سیستم عامل از زامارین استفاده کرد.
6. در ادامه هنگاهی که شما بخواهید یک ویژگی به اپلیکیشن اضافه کنید، خیلی راحتر می توانید از یک پروژه تمام اپلیکیشن های خود را آپدیت کنید.

نکات منفی استفاده از زامارین
1. حجم برنامه بیشتر می شود، یک hello word با زامارین ۱۶ مگ می شود، یعنی تقریبا ۱۰ تا ۱۵ مگ اختلاف حجم برنامه می شود، بنابر این اگر برنامه شما با اندروید ۴۰ مگ می شود با زامارین به طور مثال ۵۰ مگ می شود.
2. اپلیکیشن هایی که گرافیک پیچیده دارند بهتر است با زامارین پیاده سازی نشوند، زیرا هم حجم زیاد کد مربوط به ظاهر پیچیده قابل اشتراک برای بقیه پلت فورم ها نیست و هم با زبان native گرافیک های پیچیده راحتر و با عملکرد بهتر پیدا سازی می شوند.


با زبان های برنامه نویسی کلاس پایین آشنایی دارید؟

۳ بازديد



قبل از اینکه شروع به برنامه نویسی کنید باید با دسته بندی کلی زبان های برنامه نویسی آشنایی داشته باشید.
یکی از دسته بندی ها زبان های برنامه نویسی سطح پایین می باشد.
حالا به نظر شما زبان های سطح پایین چیه و کدام زبان ها در دسته ی سطح پایین قرار می گیرند؟
در ادامه کامل درموردش صحبت می کنیم

-کار کردن با زبان های سطح پایین کارسختیه؟
زبان های برنامه نویسی سطح پایین به طور مستقیم با پردازنده ی سیستم ارتباط دارد و با استفاده کردن از آنها دستورات پایه ای برنامه نویسی را اجرا می کنند ,فهمیدن دستورات این زبان ها کار سختی می باشد.
زبان های سطح پایین زبان هایی هستند که خیلی به زبان کامپیوتر نزدیک می باشند.

-زبان های کلاس پایین به دونسل تقسیم می شوند:
1.اولین نسل(زبان ماشین)
2.دومین(زبان اسمبلی)


-زبان ماشین چیست؟
در زبان ماشین به جای نوشتن کدهای انگلیسی از اعداد صفر و یک استفاده می شود.
قبل اینکه بدانیم زبان ماشین چطور کار می کند با کار کرد پردازنده ها آشنا شویم,پردازنده ها از میلیون ها سوییچ تشکیل شده و می توانند خاموش یا روشن شوند.
به جای خاموش یا روشن کردن این سوییچ ها به صورت دستی ,می توان از زبان ماشین یا همان صفر و یک برای انجام این کار استفاده کرد.

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


-کدام زبان برنامه نویسی سریع تر است؟
مسلما زبان ماشین سریع تر می باشد به دلیل اینکه زبان مادری کامپیوتر هاست و نیازی به نرم افزار واسطی ندارد.


گشت و گذاری در دنیای بی نظیر ASP.NET، فریم ورک محبوب مایکروسافت

۹ بازديد
asp.net چیست
در دنیای وب چارچوب ها و زبان های برنامه نویسی زیادی وجود دارد که توسعه دهنده گان می توانند بر اساس نیاز خود از هرکدام آنها استفاده کنند و هریک دارای ویژگی و مزایای خاص خود را دارند.
امروز می خواهیم در مورد یکی از این چارچوب ها صحبت کنیم با نام ASP.NET

ASP.NETچیست؟
ASP.NET یک چارچوب برای برنامه های وب می باشد و توسط شرکت مایکروسافت ایجاد شده است.
در اوایل دهه2000 آغاز به کار کرد و به توسعه دهنده گان اجازه می دهد تا وب سایت ها و برنامه هایی پویا ایجاد کنند.
ASP.NET برای کار با پروتکل HTTP ساخته شده و برای تمام برنامه های وبی استفاده می شود.

ASP.NET به سه بخش تقسیم می شود:
1.صفحات معمولی یاweb page 
2.مدل مجزای model view controller
3.فرم های تحت وب یا web form

زبان های برنامه نویسی ASP.NETچیست؟
• ویژوال بیسیک(VB.NET)
یک محصول از مایکروسافت است و تا حدودی از برنامه نویسی با آن کاسته شده است.
• سی شارپ(#C)
یک زبان برنامه نویسی درجه یک است و یکی از پرکاربردترین زبان های برنامه نویسی در جهان است.

چه ابزاری های برای توسعه ASP.NET به کار گرفته می شود؟
1. ویژوال استدیو (Visual Studio)
یک محیط توسعه نرم افزار است و برای توسعه صفحات وب استفاده می شود.
2. وب ماتریکس (WebMatrix)
از وب ماتریکس برای صفحات وب سایت استفاده می شود.
3. Visual Web Developer
از این ابزار برای mvc و فرم های وب استفاده می شود.

چرا از ASP.NET استفاده کنیم؟
1.خاصیت کامپایلری
2.شی گرایی
3.پشتیبانی ازتمام مرورگرها
4.پشتبانی از انواع زبان های برنامه نویسی
5.تکنولوژی برپایه .Net framework
6.سطح امنیتی بسیار بالا
7.رسپانسیو عالی
8.سرعت بالا

معرفی یک زبان ساده اما قدرتمند

۵ بازديد
سی شارپ


زبان برنامه نویسی سی شارپ چیست؟

مایکروسافت #C را ادغامی از قدرت ++C و سادگی Visual Basic معرفی می‌کند. اما به نظر من، در حال حاضر سادگی #C به مراتب خیلی بیشتر از Visual Basic است.
در اواخر دهه ۱۹۹۰ که مایکروسافت و شرکت Sun Microsystems – مالک Java – در دنیای نرم افزار رقابت سرسختانه‌ای داشتند، مایکروسافت تصمیم گرفت یک زبان برنامه نویسی جدید توسعه دهد.
در ابتدا #C از لحاظ ساختاری خیلی به Java و بیشتر از آن به ++C نزدیک بود اما رفته رفته و با توسعه این زبان برنامه نویسی جدید، تفاوت‌ها بیشتر و بیشتر شدند.


زبان برنامه نویسی سی شارپ قدیمی است؟

در زمانه‌ای که همه چیز با یک ساعت پیش از خود متفاوت است، حالا که می‌دانیم #C در واقع پیش از شروع قرن ۲۱ ساخته شده است، آیا می‌توانیم نتیجه بگیریم که #C پیر شده و بهتر است سراغ یک زبان تازه نفس‌تر مثل Swift برویم؟
قطعا خیر، #C تا به امروز بارها به روز شده است. نسخه ۷٫۱ زبان #C به تازگی منتشر شده است. از نظر من #C یک جوان ۳۰ ساله است که به اندازه کافی جوان و به اندازه کافی با تجربه است.


شی گرایی به چه معنا است؟

در ابتدای این مقاله، گفتم که #C یک زبان برنامه‌نویسی شی گرا است. برای اینکه توضیح بدهم دقیقا یک زبان شی گرا چیست، ابتدا باید بدانیم در زبان‌های غیر شی‌ گرا چه می‌گذرد. زبان‌های غیر شی گرا از دو موجودیت «داده» و «عملیات» تشکیل می‌شوند.
یعنی کل یک نرم افزار، مثل نرم اپلیکیشن اندروید، iOS یا هر نرم افزار دیگری که روی کامپیوترهای شخصی اجرا می‌شوند، از چندین عملیات (Function) که یک یا چند داده (Data) می‌گیرد ساخته شده که این function تغییرات لازم را روی آن داده‌ها اعمال می‌کند و داده جدید را به function قبلی بر می‌گرداند.


برنامه نویسی سی شارپ برای من مناسب است؟

اگر به این فکر می‌کنید که برای اولین بار پا به دنیای یک زبان برنامه نویسی بگذارید، #C گزینه مناسبی برای شما است. بگذارید با هم صادق باشیم، واقعا فرقی نمی‌کند که چه زبانی را انتخاب می‌کنید. هر کدام نسبت به دیگری قابلیت‌ها و ضعف‌هایی دارد. مهم‌تر از این تفاوت‌ها، هدف شما از یادگیری برنامه نویسی است.
مثلا اگر بخواهید یک اپلیکیشن اندروید یا iOS بسازید، به ترتیب زبان‌های جاوا و Swift گزینه‌های مناسبی هستند. یا اگر به پیاده سازی ظاهر صفحات وب علاقه دارید می‌توانید با JavaScript شروع کنید.
اما #C این امکان را به شما می‌دهد که در پلتفرم‌های مختلف نرم‌افزار مورد نظر خود را توسعه بدهید. من اسمش را زبان برنامه نویسی میانبر می‌گذارم. زبانی که با آن هم می‌توانید اپ اندروید، iOS بنویسید و هم سایت و سرویس‌های سمت سرور را توسعه بدهید.
این یعنی #C می‌تواند تقریبا یک چرخه کامل در محصولات نرم‌ افزاری را پشتیبانی کند، دیگر چه می‌خواهید؟

کاربردهای زبان برنامه نویسی# C

به طور کلی با استفاده از زبان سی شارپ می توان هر برنامه ای نوشت. اما اگر بخواهیم تخصصی تر به آن نگاه کنیم این زبان در ساخت اپلیکیشن های رومیزی ویندوز و بازی ها از عملکرد بهتری برخوردار است. علاوه بر این می توان از این زبان برای توسعه اپلیکیشن های تحت وب استفاده کرد.
محبوبیت این زبان در توسعه برنامه‌های موبایل نیز افزایش یافته است. با استفاده از ابزار Xamarin می توان برنامه های موبایلی که با زبان سی شارپ نوشته شده را به هر پلتفرمی تبدیل کرد.
محیط ویژال بیس که برای طراحی برنامه‌های تحت وب با زبان سی شارپ استفاده می شود


استفاده از زبان سی شارپ در طراحی بازی‌ها

استفاده از زبان برنامه نویس سی شارپ برای طراحی بازی ها با استفاده از موتور ساخت بازی Unity امکان پذیر است. این پلتفرم در حال حاظر محبوب ترین موتور بازی می‌باشد. بیش از یک سوم بازی‌های برتر دنیا با Unity ساخته شده‌اند، علاوه بر این نزدیک به 770 کاربر فعال، از بازی‌های ساخت Unity استفاده می کنند. تقریبا 90% بازی‌های VR ساخته شده برای سامسونگ و 53% از بازی‌های ساخته شده برای Oculus Rift VR از Unity کمک گرفته اند.
در واقع اگر کسی قصد ورود به صنعت ساخت بازی یا موضوعات مربوط به واقعیت مجازی را داشته باشد، می‌تواند با استفاده از آموزش زبان برنامه نویسی سی شارپ توانایی‌های خود را تقویت کرده و در این صنعت فعالیت کند. Unity موتور بازی که از زبان سی شارپ بهره می گیرد.

نتیجه گیری :
سی شارپ یک زبان ساده اما قدرتمند است که با استفاده از آن میتوان برای پلتفرم های مختلف برنامه نوشت. # C پشتوانه مستحکمی همچون شرکت مایکروسافت را پشت سر خود دارد و به این زودی ها از رده خارج نمی شود.
برنامه نویسان زیادی در سرتاسر جهان از c# استفاده می کنند.همین موضوع باعث شده که شما راه حل بیشتر مشکلاتتان را از اینترنت پیدا کنید، چون احتمالا حداقل یک نفر پیش از شما با آن مشکل روبرو شده است.
امیدواریم که توانسته باشیم مفهوم کلی مطالب خود را به سمع و نظر شما کاربر محترم رسانده باشیم.

در دنیای برنامه نویسی، توسعه دهنگان چند دسته اند؟

۴ بازديد

انواع توسعه دهنده گان

توسعه دهندگان
Front-end

 توسعه نرم‌افزار front-end، بخشی از برنامه نرم‌افزاری است که شما می‌بینید و با آن تعامل دارید.

توسعه دهندگان فرانت-اند نیاز به یک خلاقیت بصری و ایده پردازی دارند تا بتوانند تجربه کاربری خوبی برای کاربر ایجاد کنند .

این افراد باید مدام مطالب روز را بدانند تا برای پاسخگویی به نیاز کاربران آماده باشند.

توسعه‌دهندگان Back-end

درواقع تخصص توسعه‌دهندگان back-end در ساخت و پشتیبانی زیرساخت منطقی است که به کاربران قدرت استفاده از سایت را به صورت پویا میدهند ولی کدهای آنها برای کاربر قابل مشاهده نیست. توسعه‌دهندگان back-end علاوه بر کار با زبان های برنامه نویسی، با پایگاه‌های داده، سیستم حافظه نهان و سرویس‌دهنده‌ها هم کار می‌کنند.

توسعه‌دهندگان full-stack

به یک توسعه‌دهنده نرم‌افزاری که مهارت‌های توسعه front-end و back-end را باهم داشته باشد، توسعه‌دهنده full-stack می‌گویند. 

توسعه‌دهندگان دسکتاپ

توسعه‌دهندگان دسکتاپ، نرم‌افزارهای کاربردی را برای دسکتاپ و سیستم‌های دیگر مثل ویندوز، macOS ، Linux یا BSD توسعه می‌دهند. در واقع نوشتن کد تمام برنامه های کاربردی که توی کامپیوتر ها میتوان نصب و اجرا شود را شامل می شود. مانند نرم افزارهای انبار داری، حسابداری، اتوماسیون های اداری و امثال این ها…

توسعه‌دهندگان وب

توسعه‌دهندگان وب، توسعه‌دهندگان نرم‌افزاری هستند که در توسعه وب تخصص دارند. درحالی‌که دانش CSS و HTML هنوز هم مورد تقاضا است، توسعه‌دهندگان وب باید درزمینهٔ JavaScript، PHP، پایگاه‌های داده، طراحی وب، طراحی بر اساس تجربه کاربر و بهینه‌سازی موتور جستجو، مهارت داشته باشند. 

توسعه‌دهندگان موبایل

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

 

برنامه نویسی شی گرا چیست و چه زبان هایی شی گرا می باشند؟

۱۰ بازديد
برنامه نویسی شی گرا


برنامه نویسی شی گرا

در اوایل دهه ۱۹۷۰ توسط آلن کی (Alan Kay) طراحی شده یعنی اولین قدمهای این سبک برنامه نویسی توسط آلن کی برداشته شده است. اولین زبان شی گرا توسط آلن کی طراحی شد. اسم این زبان Small Talk می باشد، آلن کی گفته بود: آن چیزی که باعث شد این فکر به ذهنم برسد نحوه عملکرد سلولهای زیست محیطی بود. یعنی این سبک برنامه نویسی از روی سلولهای جاندارها الگو برداری شده است
همه چیز در مورد اشیا است. همانطور که اشیا در دنیای واقعی رفتار میکنند، در دنیای نرم افزار هم همینطور است. اشیا در یک برنامه تقریبا همه کار را انجام میدهد. به عنوان مثال ماشین ها شتاب میگیرند یا انسان ها راه میروند(انسان هم می تواند یک شی باشد) یا هواپیماها پرواز میکنند و ماهی ها شنا میکنند. به طور مشابه ما در نرم افزار نیز اشیایی میسازیم که رفتاری خاص را انجام میدهند. و ما از آن برنامه انتظار داریم که رفتارهای اشیا را انجام دهند(راه رفتن، پرواز کردن …). پس زمانی که نرم افزار ما اجرا میشود اشیا ما به وجود می آیند.

مثال شی گرایی در سی شارپ

قبل از اینکه وارد کد زنی شی گرایی در سی شارپ شویم مثالی میزنیم و سپس آن را وارد کد خواهیم کرد. ما همه یک انسان هستیم و هر کدام از ما یک سری ویژگی های رفتاریخاص خود را داریم. اگر ما فرض کنیم که زمین یک نرم افزار است انسان و اشیا دیگر را میتوان یک شی درون این نرم افزار تعریف کرد. هر کدام از اشیا عملیات های(action) خاص خود را انجام میدهند.


مفاهیم اساسی در برنامه نویسی شئ گرا

سطح دسترسی (Access Modifiers)
سطوح دسترسی کلمات رزرو شده ای هستند که بر روی اعلان یک کلاس ، متد ، صفت ، فیلد و دیگر اعضای یک کلاس میتوانند اعمال شوند.
کلمات رزرو شده برای سطوح دسترسی در زبان سی شارپ به صورت زیر است:
• public
• private
• protected
• internal


آشنایی با مفاهیم اصلی زبان برنامه‌نویسی شی گرا

1.انتزاع(Abstraction)
انتزاع به فرآیندی گفته می‌شود که در زمان بررسی یک شی، تنها خصوصیت و رفتارهایی باید در تعریف آن شی لحاظ شوند که در سیستم مستقیما کاربرد دارند. در واقع انتزاع یا Abstraction مثل یک فیلتر عمل می‌کند که تنها ویژگی‌ها یا خصوصیات و رفتارهایی که در برنامه مورد استفاده است را از آن عبور می‌دهد.

2.کسپوله سازی(Encapsulation)
کپسوله سازی به معنی پنهان کردن فرآیند اصلی اجرای یک برنامه‌ از دید کاربران است. که این اتفاق درون یک شی رخ می‌دهد.

3.ارث‌ بری(Inheritance)
وراثت یکی از اصلی‌ترین مفاهیم موجود در برنامه‌نویسی شی گرا است. همانطور که از نام آن مشخص است وقتی یک فرزند متولد می‌شود قطعا خصوصیات و رفتارهایی را از والدین خود به ارث می‌برد. در دنیای برنامه‌نویسی هم به همین صورت است.
وقتی یک کلاس از کلاس دیگری ارث‌ بری می‌کند یعنی به خصوصیات و رفتارهای کلاس والد دسترسی دارد. این کار باعث می‌شود تا حجم کدهای نوشته شده به شدت کاهش یابد.

4.چندریختی(Polymorphism)
برای درک مفهوم چند ریختی یا پلی مورفیسم در دنیای برنامه‌نویسی مثالی را از دنیای واقعی خدمت شما عزیزان ارائه می‌دهیم. در این کره‌ی خاکی انسان‌های بسیاری وجود دارند که دارای گویش‌های مختلف، زبان‌های مختلف هستند و در شهرهای متفاوت زندگی می‌کنند. اما تمامی این افراد به عنوان یک انسان شناخته می‌شوند. اگر در اینجا انسان را به عنوان یک کلاس والد درنظر بگیریم و انسان ایرانی، آفریقایی، چینی و … را به عنوان کلاس فرزند، متوجه خواهید شد که انسان ایرانی از کلاس والد مشتق شده است. اما انسان ایرانی نحوه‌ی صحبت کردن اش با نحوه‌ی صحبت کردن یک انسان آفریقایی متفاوت است یعنی در واقع دارای رفتار متفاوت هستند. یعنی رفتاری که در شیء والد وجود دارد گاها در شکل فرزند ممکن است تغییر کند. در زبان‌ برنامه‌نویسی شیءگرا به پلی مورفیسم یا Polymorphism تغییر رفتار یک شیء در اشیاء فرزند آن گفته می‌شود. که در زبان برنامه‌‎نویسی #C این تغییر رفتارها به کمک تعریف متدها به صورت virtual و override است و در فصول بعدی به تفصیل آنها را توضیح خواهیم داد.

آموزش دلیگیت ها در سی شارپ

۲۰ بازديد
Delegate در زبان برنامه‌نویسی #C همانند اشاره‌گر‌ها در توابع C و ++C است. یک delegate معرف یک متغییر نوع مرجع (Reference Type Variable) بوده که ارجاع به یک متد را در خود ذخیره می‌کند و این ارجاع در طی اجرای برنامه ممکن است تغییر کند.
از نظر نوع دقیقا مشابه interfaceها است. Delegateها به خصوص برای پیاده‌سازی Eventها و متدهای call-back (بازگشتی) بسیار مفید می‌باشند. تمام delegateها به صورت implicit از کلاس System.Delegate مشتق شده‌اند. ممکن است این سوال برای شما پیش بیاید که چرا نیاز داریم که یک ارجاع به یک متد داشته باشیم؟ در پاسخ به این سوال باید بگوییم که با استفاده از این کار حداکثر انعطاف‌پذیری برای اجرای هرگونه عملکردی را در زمان اجرا بدست می‌آورید.


مزایای استفاده از delegateها

۱) یک نماینده یا delegate به نوع static (بدون ساخت شیء) یا nonStatic (همراه با ساخت شیء) توجهی نمی‌کند.
۲) مدیریت کردن عملیات‌ها و اجرای هر یک از آنها هنگام بروز یک رویداد مشخص
 


تعریف Delegate

تعریف کردن Delegate باید دقت کرد که نوع متد مورد نظر ما باید با نوع Delegate ما مطابقت داشته باشد. یعنی اگر Signature متد ما از نوع int باشد باید Delegate ما نیز از نوع int تعریف شود. برای مثال، Delegate زیر را در نظر بگیرید :

 

 ;(public delegate int MyDelegate (string s



نمونه سازی Delegate ها

وقتی که یک Delegate تعریف میشود، یک از آن نیز باید توسط کلمه کلیدی new ایجاد شود و نام متد مورد نظر ما به عنوان پارامتر به آن داده شود. توجه داشته باشید که در این قسمت نباید متد را با پرانتز یا آرگومان به Delegate پاس بدهید. مثال زیر را ببینید:

 ;(public delegate void printString(string s

...

 ;(printString ps1 = new printString(WriteToScreen

 ;(printString ps2 = new printString(WriteToFile





Delegate ها دارای ویژگی های زیر می باشند:

1. delegate ها در C# مشابه pointer ها در C++ هستند اما بر خلاف آن ها TYPE SAFE بوده و کاربر را مستقیما با خانه های حافظه درگیر نمی کنند. به عبارت دیگر از رخداد خطاهای مربوط به نوع داده ای در برنامه جلوگیری می کند.

2. در این قسمت از آموزش C#توسط Delegate ها به توابع این امکان را می دهند تا خود به عنوان پارامتر به توابع دیگر فرستاده شوند.

3. می توان با استفاده از delegate ها، متدهای بازفراخوان یا callback تعریف کرد.

4. delegate ها را می توان به صورت زنجیره ای و پشت سرهم فراخوانی کرد. برای مثال چندین متد به هنگام اتفاق افتادن یک event یا رخداد صدا خورده شوند.

5. لزومی ندارد متدها و delegate ها از لحاظ نوع پارامتر ورودی، ترتیب و تعداد آن ها (signature) با هم برابر باشند.

6. توسعه دهنده می تواند به کمک این الگو توسعه، یک اشاره گر (reference) به متد مورد نظر را داخل آبجکت delegate کپسوله سازی کند. آبجکت delegate سپس به راحتی قابل ارسال به کدی است که می تواند متد مورد اشاره را صدا بزند، از این طریق دیگر لازم نیست در زمان کامپایل متد مورد فراخوانی دقیقا مشخص شود.

7. یکی از ویژگی های جالب توجه و کاربردی delegate ها این است که برایشان اهمیت ندارد که آبجکتی که به آن اشاره می کنند، از جنس کدام کلاس می باشد. کافی است نوع آرگومان های ورودی و خروجی آبجکت مورد نظر با آرگومان های ورودی و خروجی delegate منطبق باشند. این قابلیت سبب فراخوانی آسان کد anonymous (توابع بی نام یا anonymous) می شود.

کلام آخر:
در این مقاله به طور مختصر در مورد دلیگیت ها در سی شارپ صحبت شد اگر می خواهید به طور کامل و جامع این موضوع را یادبگیرید می توانید از آموزش سی شارپ پیشرفته استفاده کنید.
 در این دوره به طور کامل در مورد دلیگیت ها توضیح داده شده است.