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

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

جستجوی تمام متن در لاراول با استفاده از Scout — به زبان ساده

جستجوی تمام متن یک قابلیت ضروری جهت فراهم ساختن امکان حرکت در میان صفحه‌های وب‌سایت‌های با محتوای گسترده است. در این مقاله، شیوه پیاده‌سازی امکان جستجوی تمام متن را برای یک اپلیکیشن لاراول بررسی می‌کنیم. در واقع ما از کتابخانه Scout لاراول استفاده می‌کنیم که پیاده‌سازی جستجوی تمام متن را به امری ساده و جذاب تبدیل کرده است. مستندات رسمی، کتابخانه Scout لاراول را به صورت زیر توصیف می‌کنند: کتابخانه Scout لاراول یک راه‌حل ساده و مبتنی بر درایور برای افزودن امکان جستجوی تمام متن به مدل‌های Eloquent ارائه می‌کند. Scout با استفاده از «مشاهده‌گرهای مدل» (model observers) به طور خودکار اندیس‌های جستجو را در وضعیتی همگام‌سازی شده با رکوردهای Eloquent حفظ می‌کند. کتابخانه Scout لاراول به مدیریت دستکاری اندیس‌ها در زمان بروز تغییراتی در داده‌های مدل می‌پردازد. جایی که داده‌های اندیس می‌شوند به درایوری وابسته است که برای کتابخانه Scout پیکربندی‌شده است. در حال حاضر کتابخانه Scout از Algolia پشتیبانی می‌کند که یک API موتور جستجوی مبتنی بر کلود است و ما نیز در این مقاله از آن برای نمایش پیاده‌سا..

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

آموزش پایتون: وب اپلیکیشن برای گردآوری داده با استفاده از PostgreSQL و Flask

کار کردن با پایگاه داده و کوئری‌ها در برخی موارد ممکن است برای برخی از افراد و یا شاید اغلب افراد کاملاً ملال‌آور باشد. ما قطعاً واقف هستیم که حتی گنجاندن عبارت PostgreSQL در عنوان این مطلب نیز باعث انصراف تعداد زیادی از خواننده‌های مجله فرادرس از مطالعه این مطلب شده است؛ اما شما که این مطلب را برای مطالعه انتخاب کرده‌اید، باید بدانید که پایگاه داده موضوع مهمی برای یادگیری محسوب می‌شود. مطالعه این مطلب با موضوع ساخت وب اپلیکیشن برای گردآوری داده با استفاده از PostgreSQL و Flask هیچ دشواری برای شما نخواهد داشت. پیشنهاد می‌کنیم قبل از مطالعه این راهنما، نقل‌قول زیر را دو بار بخوانید: آن چه افراد خودساخته را از مردمی که زندگی الهام‌بخشی ندارند، جدا می‌سازد، این است که آن‌ها کارهایی انجام می‌دهند که افراد کمتر رشد‌یافته دوست ندارند انجام دهند؛ هر چند آن‌ها نیز احتمالاً این کارها را دوست نداشته‌اند. -رابین شارما – کتاب «راهبی که فِراری‌اش را فروخت» شاید اغلب ما از کار با پایگاه داده خوشمان نیاید؛ اما همچنان که شارما در کتاب خود گفته است این همان چیزی است که ما را از انبوه مردم جدا می‌کند..

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

۷ قابلیت ویژوال استودیو کد برای توسعه دهندگان وب — راهنمای کاربردی

شما می‌توانید گردش کار توسعه وب خود را با استفاده از این 7 قابلیت ویژوال استودیو کد و افزونه‌های آن بهبود ببخشید. چه یک توسعه‌دهنده حرفه‌ای وب و چه یک فرد مبتدی باشید، در هر صورت مزیت‌های یک گردش کار سریع‌تر بدون شک به کار شما می‌آید. در این مقاله به بررسی روش تنظیم یک گردش کار بهینه برای استفاده از ویژوال استودیو کد می‌پردازیم. ویژوال استودیو کد قابلیت‌های داخلی زیادی دارد؛ اما اگر افزونه‌های زیاد (و همچنان در حال رشد) آن را نیز در نظر بگیریم، درنهایت هزاران روش برای سفارشی‌سازی تجربه کاری خود در آن خواهید یافت. با این که این یکی از نقاط قوت اصلی VS Code محسوب می‌شود؛ اما از سوی دیگر می‌تواند موجب سردرگمی به خصوص برای کاربران تازه‌کار نیز بشود. در این مقاله قصد داریم این مسائل را روشن بکنیم. همچنین بهترین تکنیک‌هایی که برای افزایش سرعت و کارایی امور روزمره تا حد امکان مفید هستند معرفی شده‌اند. این مقاله برای دو دسته از افراد به طور خاص مفید است: افراد مبتدی که به تازگی شروع به کار با VS Code کرده‌اند و می‌خواهند مطمئن شوند که از همان ابزارهایی استفاده می‌کنند که افراد حرفه‌ای بهره..

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

۵ نکته که پیش از شروع یادگیری زبان برنامه نویسی C باید بدانید — راهنمای مقدماتی

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

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

راهنمای جامع ری اکت (بخش پایانی) — از صفر تا صد

zاکوسیستم شکل‌گرفته پیرامون ری‌اکت بسیار بزرگ است. در این مقاله که آخرین مقاله از این سری محسوب می‌شود، 4 مورد از محبوب‌ترین پروژه‌ها بر مبنای React یعنی React Router ،Redux ،Next.js و Gatsby را معرفی می‌کنیم. React Router «مسیریاب ری‌اکت» (React Router) کتابخانه پیش‌فرض مسیریابی برای ری‌اکت محسوب می‌شود و یکی از محبوب‌ترین پروژه‌ها است که بر مبنای ری‌اکت ساخته شده است. ری‌اکت در هسته مرکزی خود یک کتابخانه بسیار ساده است و هیچ نکته‌ای در خصوص مسیریابی را شامل نمی‌شود. مسیریابی یک اپلیکیشن تک‌صفحه‌ای است که روشی برای معرفی برخی ویژگی‌های جدید در زمینه ناوبری در اپلیکیشن از طریق لینک‌ها محسوب می‌شود و این روش در زمینه وب‌اپلیکیشن‌ها کاملاً نرمال تلقی می‌شود: زمانی که به صفحه‌های مختلفی مراجعه می‌کنید، آدرس نمایش یافته در مرورگر باید تغییر پیدا کند. «لینک دهی عمیق» (Deep linking) باید کار کند، یعنی اگر مرورگر به یک لینک هدایت شود، اپلیکیشن باید همان ویو را که در زمان ایجاد URL ایجاد شده بود ارائه کند. دکمه‌های عقب و جلوی مرورگر باید مطابق انتشار عمل کنند. در واقع مسیریاب ری‌اکت روشی ب..

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

ترمینال لینوکس و هر آن چه برای استفاده از آن باید بدانید — به زبان ساده

شما چه یک کاربر تازه‌کار لینوکس باشید و چه مدتی باشد که از این سیستم عامل استفاده می‌کنید، با مطالعه این مقاله می‌توانید روش آغاز به کار با ترمینال لینوکس را بشناسید. توجه کنید که ترمینال چیزی نیست که بخواهید از آن بترسید؛ بلکه یک ابزار قدرتمند با کاربردهای فراوان است. البته باید اشاره کرد که همه مواردی که برای کار با ترمینال لازم است بدانید را با مطالعه صرفاً یک مقاله یاد نخواهید گرفت. کار عملی با ترمینال برای کسب تجربه در مورد آن ضروری است. امیدواریم این مقاله مقدماتی به شما کمک کند که با مبانی کار آشنا شوید و بتوانید ادامه مراحل یادگیری را بپیمایید. کاربردهای مقدماتی ترمینال لینوکس یک پنجره ترمینال را از منوی اپلیکیشن لینوکس باز کنید تا پوسته bash ظاهر شود. پوسته‌های دیگری نیز روی لینوکس وجود دارند؛ اما اغلب توزیع‌های لینوکس به صورت پیش‌فرض از bash استفاده می‌کنند. با وارد کردن نام یک برنامه در «اعلان» (prompt) می‌توان آن را اجرا کرد. هر چیزی که در این محیط اجرا شود از اپلیکیشن‌های گرافیکی مانند فایرفاکس تا ابزارهای خط فرمان یک برنامه محسوب می‌شود. bash در عمل چند دستور داخلی ب..

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

آموزش برنامه نویسی سوئیفت (Swift) بخش دوازدهم: اسامی مستعار نوع و موارد دیگر

در بخش قبلی این سری مقالات آموزش سوئیفت با مفاهیم بستار و Grand Central Dispatch آشنا شدیم. با این که این مفاهیم تا حدودی دشوار بودند؛ اما نکته خوب ماجرا این است که اکنون بخش دشوار را پشت سر گذاشته‌ایم. در این مقاله به معرفی مفاهیم جدیدی مانند اسامی مستعار نوع می‌پردازیم که به خواناتر ساختن کد و کاهش اندازه کد کمک می‌کنند. همچنین با تفاوت Self و self به جز کوچک/بزرگ بودن حرف اول آشنا می‌شویم. اسامی مستعار نوع اسامی مستعار نوع کمک می‌کنند که کدهای خود را خواناتر بنویسیم و وظایف روزمره‌مان به عنوان یک برنامه‌نویس ساده‌تر شود. در زبان‌های برنامه‌نویسی دیگر این مفهوم ممکن است به صورت alias یا typedef باشد؛ اما در سوئیفت از typealias استفاده می‌کنیم. یک typealias در واقع تغییر نامی برای یک نوع است به طوری که درک یا استفاده از آن ساده‌تر باشد. شما در کد خود می‌توانید از typealias برای دریافت یک نوع خام و تغییر دادن نام آن به چیز دیگر استفاده کنید تا معنی بهتر انتقال یابد. به مثال زیر توجه کنید: struct Book { let pageContents: [Int: String] var currentPage: Int func getContents(on page: Int..

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

محتوای ویدئویی و صوتی در HTML — راهنمای کاربردی

در بخش قبلی از این سری مقالات راهنمای کاربردی HTML با روش درج تصاویر ساده در صفحه‌های وب آشنا شدیم. گام بعدی شروع به افزودن محتوای ویدئویی و صوتی در سندهای HTML است. در این مقاله این کار را با استفاده از عناصر

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

طراحی یک الگوریتم ژنتیک در جاوا — به زبان ساده

در این مقاله به بررسی ایده الگوریتم‌های ژنتیک می‌پردازیم. الگوریتم‌های ژنتیک برای حل مسائل با استفاده از فرایندهایی طراحی شده‌اند که طبیعت استفاده می‌کند. این الگوریتم‌ها با استفاده ترکیبی از راهبردهای «انتخاب»، «بازترکیب» و «جهش» یک راه‌حل تکاملی برای مسائل مختلف ارائه می‌کنند. در این مطلب به بررسی روش طراحی یک الگوریتم ژنتیک در جاوا می‌پردازیم. 1. سرآغاز این مقاله را با توضیح مفهوم این الگوریتم‌ها با استفاده از مثالی از ساده‌ترین الگوریتم ژنتیک باینری آغاز می‌کنیم. 2. طرز کار الگوریتم‌های ژنتیک چگونه است؟ الگوریتم‌های ژنتیک بخشی از «محاسبات تکاملی» (Evolutionary Computing) هستند که زمینه‌ای با رشد سریع در حوزه هوش مصنوعی محسوب می‌شود. یک الگوریتم با مجموعه‌ای از راه‌حل‌ها (که به وسیله افراد نمایش می‌یابد) آغاز می‌شود و جمعیت نام دارد. راه‌حل‌ها از یک جمعیت اخذ شده و برای تشکیل جمعیت جدیدی مورد استفاده قرار می‌گیرند، چون این احتمال وجود دارد که جمعیت جدید بهتر از جمعیت قبلی باشد. افرادی که از جمعیت جدید انتخاب می‌شوند (offspring) بر اساس برازش (fitness) خود گزینش می‌شوند و هر چه م..

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

پروتوتایپ شی در جاوا اسکریپت — به زبان ساده

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

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