خانه / بایگانی برچسب: برنامه‌نویسی

بایگانی برچسب: برنامه‌نویسی

مفهوم و کاربرد تابع در جاوا اسکریپت — به زبان ساده

در این مقاله به بررسی یکی از مفاهیم اساسی برنامه‌نویسی به نام تابع در جاوا اسکریپت می‌پردازیم که امکان ذخیره‌سازی قطعات کدی را فراهم می‌سازد که یک وظیفه منفرد را درون یک بلوک تعریف شده اجرا می‌کنند و سپس این کد را می‌توان در هر جا که لازم باشد با استفاده از کد کوتاهی فراخوانی کرد و دیگر نیازی نیست کد یکسانی را بارها در جاهای مختلف تایپ کرد. در این راهنما مفاهیم بنیادی تشکیل دهنده تابع‌ها مانند ساختار پایه، شیوه فراخوانی و تعریف کردن، دامنه تابع و پارامترهای آن بررسی می‌شوند. پیش‌نیازها سواد ابتدایی رایانه درکی اولیه از HTML و CSS آشنایی مقدماتی با جاوا اسکریپت هدف این مقاله درک مفاهیم بنیادی تشکیل دهنده تابع‌های جاوا اسکریپت است. ضمناً قسمت قبلی این مطلب را می‌توانید از طریق لینک زیر مطالعه کنید: حلقه ها در جاوا اسکریپت — راهنمای کاربردی تابع‌ها کجا استفاده می‌شوند؟ تابع‌ها در همه جا در جاوا اسکریپت استفاده می‌شوند، در واقع ما تا به اینجا در سری مطالب قبلی آموزش راهنمای جامع جاوا اسکریپت به طور مکرر در مورد آن‌ها صحبت کرده‌ایم. با این حال، اینک زمان آن رسیده است که به طور صریح در مور..

توضیحات بیشتر »

برنامه نویسی سوئیفت (بخش چهارم) — تصمیم‌ گیری و حلقه‌ ها

در بخش قبلی این سری مطالب آموزش برنامه‌نویسی سوئیفت به مبحث «عملگر، optional و مقادیر تهی» پرداختیم. در این نوشته قصد داریم به یادگیری دانشی بپردازیم که به هوشمندتر شدن برنامه‌های ما کمک می‌کند. تصمیم‌گیری ما هر روزه با موقعیت‌های تصمیم‌گیری مختلفی رو به رو می‌شویم. هنگامی که صبح از خواب برمی‌خیزید تصمیم می‌گیرید که یک قهوه بخورید؛ اما برای خوردن قهوه باید تصمیم بگیرید که یک فنجان قهوه درست می‌کنید یا نه. ابتدا باید بررسی کنید که آیا قهوه دارید یا نه، سپس باید ببینید که آیا شکر دارید یا نه و سپس باید وجود شیر را بررسی کنید. در نهایت وجود یک فنجان تمیز را بررسی می‌کنید. اگر پاسخ هر کدام از سؤال‌های فوق منفی باشد، یا باید هیچ کاری نکنیم و یا این که ابتدا موارد مورد نیاز بری تهیه قهوه را فراهم بکنیم. همین نکته در مورد برنامه‌نویسی نیز صحیح است و می‌توانیم با استفاده از گزاره‌های if تصمیم‌هایی اتخاذ کنیم. شکل ظاهری گزاره if در زبان سوئیفت به صورت زیر است: var hasCoffee: Bool = true var madeCup: Bool = false if hasCoffee { madeCup = true } // madeCup is equal to true در قطعه کد فوق دو مقد..

توضیحات بیشتر »

راهنمای جامع React (بخش اول) — از صفر تا صد

مقاله‌ای که پیش رو دارید مروری جامع در مورد React است که گرچه ادعا ندارد همه موارد مربوط به این فریمورک را در خود گنجانده، اما مبانی مقدماتی مورد نیاز برای این که به یک توسعه‌دهنده خبره React تبدیل شوید را در اختیار شما قرار خواهد داد. این مجموعه مطلب در 8 فصل ارائه شده است که فصل نخست آن شامل مباحث زیر می‌شود: فصل اول: مفاهیم اساسی جاوا اسکریپت مدرن برای استفاده از React متغیرها تابع‌های Arrow Rest و spread تخریب شیء و آرایه الفاظ قالبی (template literals) کلاس‌ها Callback-ها promise-ها Async/Await ماژول‌های ES توجه داشته باشید که آنچه در ادامه آمده است تنها فصل اول این مجموعه مطلب را شامل می‌شود و برای مطالعه فصول بعدی باید به بخش‌های آتی این سری مقالات مراجعه کنید. مقدمه‌ای بر یک کتابخانه View به نام React در این بخش React و ماهیت آن را توضیح می‌دهیم. React چیست؟ React یک کتابخانه جاوا اسکریپت است که هدف آن ساده‌سازی مراحل توسعه رابط‌های بصری است. React از سوی فیسبوک توسعه یافته است و در سال 2013 انتشاریافته است. در واقع React زیرساخت تشکیل دهنده بسیاری اپلیکیشن‌های پر استفاده از..

توضیحات بیشتر »

حلقه ها در جاوا اسکریپت — راهنمای عملی

زبان‌های برنامه‌نویسی برای اجرای وظایف تکراری با سرعت بالا بسیار مناسب هستند. این وظایف می‌تواند شامل محاسبات ساده تا هر نوع موقعیت دیگر باشد که تعداد زیادی از آیتم‌های مشابه باید کامل شوند. در این نوشته به بررسی ساختارهای حلقه موجود در جاوا اسکریپت می‌پردازیم که چنین نیازهایی را تأمین می‌کنند. پیش‌نیازها سواد مقدماتی رایانه درکی ابتدایی از HTML و CSS آشنایی ابتدایی با جاوا اسکریپت هدف این راهنما درک روش استفاده از حلقه‌ها در جاوا اسکریپت است. مقدمه حلقه‌ها در همه زبان‌های برنامه‌نویسی حضور دارند و یکی از اجزای بسیار مهم اغلب این زبان‌ها محسوب می‌شوند. حلقه‌های برنامه‌نویسی همگی برای اجرای چندباره کارهای یکسان استفاده می‌شوند. این وضعیت در برنامه‌نویسی به نام «تکرار» (iteration) نامیده می‌شود. موردی را تصور کنید که یک کشاورز می‌خواهد مطمئن شود غذای کافی برای تأمین خوراک خانواده خود برای یک هفته دارد یا نه. وی در چنین موقعیتی می‌تواند از حلقه‌ای مانند زیر استفاده کند: یک حلقه به طور معمول دارای ویژگی‌های زیر است: شمارنده: متغیری که با یک مقدار خاص مقداردهی اولیه می‌شود. این همان ن..

توضیحات بیشتر »

آموزش برنامه نویسی سوئیفت (بخش سوم) — عملگر، Optional و مقادیر تهی

در بخش قبلی این سری مطالب آموزش سوئیفت با انواع مقداری، انواع ارجاعی و همچنین انواع مجموعه‌ای آشنا شدیم. در این مقاله نیز به ادامه معرفی مباحث مقدماتی می‌پردازیم؛ اما خبر خوب این است که پس از پایان این مقاله شما قادر خواهید بود برنامه‌ای بنویسید که مسائل ریاضیاتی‌تان را حل کند. این مسائل ریاضیاتی می‌تواند از موارد بسیار ساده تا محاسبات مالی پیچیده را شامل شود. مقدمه شما باید با مفهوم تقدم عملیات ریاضی آشنا باشید. البته اگر فکر می‌کنید در این زمینه معلومات کافی ندارید در ادامه فهرستی از تقدم عملگرها ارائه کرده‌ایم: پرانتز (از داخل به خارج) توان‌ها از چپ به راست ضرب از چپ به راست تقسیم از چپ به راست جمع از چپ به راست تفریق از چپ به راست عملگرها اگر شما کلاس سوم ابتدایی را سپری کرده باشید، می‌بایست با اغلب عملگرهای برنامه‌نویسی آشنا باشید. در ادامه برخی از عملگرهایی که احتمالاً می‌شناسید ارائه شده‌اند: // Math Operators // Addition var a = 10 + 20 // a is equal to 30 (10 + 20 = 30) // Subtraction var s = 100 - 75 // s is equal to 25 (100 - 75 = 25) // Multiplication - we use * to multip..

توضیحات بیشتر »

۱۱ ابزار رایگان مایکروسافت برای توسعه دهندگان — فهرست جامع

اگر از مایکروسافت ویندوز استفاده می‌کنید و به برنامه‌نویسی علاقه‌مند هستید، ممکن است در مورد این که باید از کجا آغاز کنید دچار سردرگمی شده باشید. به هر حال برنامه‌نویسی و توسعه نرم‌افزار یک صنعت بزرگ محسوب می‌شود و زبان‌ها و برنامه‌های نرم‌افزاری مختلفی وجود دارند. شاید حتی ندانید که چگونه باید کد بنویسید؛ اما علاقه‌مند هستید که بیاموزید. برای یادگیری چیزهای جدید هرگز دیر نیست و کدنویسی نیز از این امر مستثنا نیست. مهم نیست که در اینک در کجا قرار دارید، در هر صورت همه افراد به یک نقطه شروع نیاز دارند. منابع زیادی برای یادگیری برنامه‌نویسی وجود دارند؛ اما برخی از بهترین ابزارهای توسعه برای کاربران مایکروسافت از سوی همین شرکت ارائه شده‌اند. در این نوشته برخی ابزارهای عالی توسعه برای مایکروسافت را معرفی می‌کنیم که شامل گزینه‌های چند پلتفرمی نیز می‌شود. 1. ویژوال استودیو 2017 ویژوال استودیو 2017 یک «محیط توسعه یکپارچه» (IDE) است و ویژگی‌های زیادی در آن گردآوری شده‌اند: این IDE از یک اینترفیس WYSIWYG استفاده می‌کند که روی کشیدن و رها کردن عناصر مختلف تمرکز دارد. دقت کنید که WYSIWYG اختص..

توضیحات بیشتر »

الگوریتم های تقسیم و حل (Divide and Conquer Algorithms) — راهنمای مقدماتی

یکی از الگوریتم‌های پرکاربرد در زمینه برنامه‌نویسی و همچنین حوزه‌های دیگر «الگوریتم‌های تقسیم و حل» (Divide and Conquer Algorithms) هستند. در این نوع الگوریتم تنها کاری که انجام می‌دهیم این است که مسائل را به مسئله‌های کوچک‌تر تجزیه می‌کنیم. از این نظر این الگوریتم‌ها شبیه روابط بازگشتی هستند؛ اما باید بدانیم که کجا باید این فرایند تقسیم کردن را متوقف کنیم. فرض کنید 8 عدد زیر را در اختیار داریم: 4 6 3 2 8 7 5 1 و می‌خواهیم همه آن‌ها را با هم جمع کنیم. ما این مسئله را به 8 بخش تقسیم می‌کنیم که هر یک شامل یک مورد از این اعداد است: 4 6 3 2 8 7 5 1 سپس شروع به جمع زدن دو به دو اعداد می‌کنیم، در این حالت ما 4 جفت عدد به صورت زیر داریم: 4+6 3+2 8+7 5+1 این فرایند را به همین ترتیب ادامه می‌دهیم. شاید از خود بپرسید، چرا ما تقسیم کردن اعداد را تا زمانی که به 8 بخش مختلف رسیدیم ادامه دادیم و چرا زمانی که چهار جفت عدد داشتیم متوقف نشدیم تا دوباره یک مرحله دیگر برای رسیدن به این وضعیت طی نکنیم. اگر ما تنها یک ورودی به صورت 1 داشته باشیم چطور؟ یا اگر تعداد اعداد ورودی ما فرد باشد چطور؟ ما باید ..

توضیحات بیشتر »

۱۱ کتابخانه جاوا اسکریپت برای سال ۲۰۱۹ — راهنمای کاربردی

جاوا اسکریپت در سال گذشته نیز بر اساس پیمایش بزرگ‌ترین وب‌سایت مربوط به برنامه‌نویسی دنیا stackoverflow همچنان محبوب‌ترین و پراستفاده‌ترین زبان برنامه‌نویسی دنیا بوده است. از این رو اکوسیستم بزرگی پیرامون این زبان برنامه‌نویسی شکل یافته است. اما کتابخانه استاندارد جاوا اسکریپت همچنان کوچک مانده است و از این رو برای پر کردن این شکاف، در طی سال‌های اخیر کتابخانه‌های کاربردی زیادی روی گیت‌هاب رشد یافته‌اند. در ادامه فهرست کوتاهی از یازده کتابخانه جاوا اسکریپت که بیشترین توجه را کسب کرده‌اند ارائه کرده‌ایم. 1. (Underscore & Lodash (dah بسیاری از برنامه نویسان جاوا اسکریپت با این دو کتابخانه آشنا هستند. Underscore برای ارائه تابع‌های کاربردی برای وظایف رایج در جاوا اسکریپت ساخته شده است. Lodash به عنوان پر دانلودترین و کتابخانه‌ای که بیشترین تعداد بسته‌های وابسته (dependent) را دارد، جهت پشتیبانی منسجم از حلقه‌های چند محیطی روی آرایه‌ها، رشته‌ها، اشیا و شیءهای آرگومان ساخته شده است. به همین دلیل Lodash به یک ابرمجموعه Underscore تبدیل شده است. هر دو آن‌ها از سوی مشارکت‌کنندگان یکسانی نگهد..

توضیحات بیشتر »

مقایسه ۵ الگوریتم برتر مرتب سازی در پایتون — صفر تا صد

مرتب سازی یکی از مهارت‌هایی است که هر مهندس نرم‌افزار و توسعه‌دهنده‌ای باید از آن مطلع باشد. این مهارت نه تنها جهت موفقیت در مصاحبه‌های شغلی بلکه به عنوان یک دانش عمومی برنامه‌نویسی همواره مورد نیاز است. الگوریتم‌های مرتب‌سازی مختلف به خوبی نشان می‌دهند که چگونه یک طراحی مناسب می‌تواند چنان تأثیر شگرفی روی پیچیدگی، سرعت و کارایی برنامه داشته باشند. پیچیدگی الگوریتم‌های مرتب‌سازی در این نوشته به مقایسه 5 الگوریتم برتر مرتب‌سازی می‌پردازیم و شیوه پیاده‌سازی آن‌ها در پایتون را بررسی می‌کنیم. مرتب‌سازی حبابی (Bubble Sort) مرتب‌سازی حبابی یکی از الگوریتم‌هایی است که معمولاً در دوره‌های مقدماتی کلاس‌های علوم رایانه ارائه می‌شود، چون به روشنی طرز کار مرتب‌سازی را نشان می‌دهد و همزمان درک آن نیز ساده و آسان است. مراحل مرتب‌سازی حبابی از طریق یک لیست و مقایسه عناصر مجاور صورت می‌گیرد. در این فرایند وقتی عناصر در ترتیب نادرستی باشند، با هم دیگر تعویض می‌شوند. این عملیات روی آرایه‌ها تا زمانی که هیچ دو عنصر مجاوری در ترتیب نادرست نباشند، ادامه می‌یابد. از آنجا که مرتب‌سازی حبابی به طور مکرر روی..

توضیحات بیشتر »

معماری میکروسرویس چیست؟ — به زبان ساده

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

توضیحات بیشتر »