Roxo
2.72K subscribers
1.33K photos
44 videos
2 files
370 links
🎓 آکادمی آنلاین روکسو

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

آدرس وبسایت:

www.roxo.ir

ارتباط با ما از طریق تلگرام:

@roxo24

آدرس کانال تلگرام:
Download Telegram
آشنایی با Gatsby js


گتسبی یک SSG است اما از تکنولوژیهای React و Webpack و GraphQL استفاده میکند.

⁉️ شاید بپرسید اگر Gatsby یک SSG است چرا باید از این تکنولوژیها استفاده کند؟

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

🔻همچنین GraphQL یک زبان کوئری برای APIهاست و اجازه می‌دهد دقیقا داده‌های موردنیازتان را مشخص کنید تا داده‌های اضافی دریافت نکنید. کوئری‌های GraphQL کمک میکنند تا چندین داده مختلف را در یک کوئری دریافت کنید.

🔻 در نهایت (webpack) یک bundler است و کدهای جاوااسکریپت شما را در یک فایل نهایی به نام bundle قرار میدهد.

ترکیب این سه ابزار باعث میشود از تکنولوژیهای روز دنیا استفاده کنید و در عین حال یک سایت استاتیک داشته باشید. علاوه بر این پلاگینهای زیادی برای Gatsby وجود دارد. این مسئله در کنار React و پلاگینهای قدرتمند آن باعث میشود Gatsby js به غولی بزرگ تبدیل شود.


📃 مفصل راجع به Gastby js بخوانید:

👉 https://www.roxo.ir/what-is-gatsby


💻 #برنامه_نویسی

🆔 @roxo_ir
وب سایت stackoverflow هر سال سوالات مختلفی را در قالب پرسشنامه طراحی کرده و در اختیار توسعه‌دهندگان و برنامه‌نویسان سراسر دنیا قرار می‌دهد. نتایج این پرسشنامه در سال 2020 بصورت زیر بوده است:

🔹برای هشتمین سال متوالی، جاوا اسکریپت به عنوان محبوب‌ترین و بزرگ‌ترین زبان برنامه‌نویسی دنیا انتخاب شد

🔹پراستفاده‌ترین فریم‌ورک‌ تحت وب:
جی‌کوئری با 43 درصد رای

🔹پراستفاده‌ترین کتابخانه، ابزار و تکنولوژی‌ ثانویه:
نودجی‌اس با 51 درصد رای

🔹پراستفاده‌ترین پایگاه داده:
مای‌اس‌کیو‌ال با 55 درصد رای

🔹پراستفاده‌ترین پلتفرم توسعه‌دهندگان
لینوکس با 55 درصد رای

🔹محبوب‌ترین زبان‌ برنامه‌نویسی:
86 درصد از جامعه آماری به Rust رای داده‌اند.

🔹منفورترین زبان برنامه‌نویسی:
80 درصد از جامعه آماری به VBA رای داده‌اند.

🔹محبوب‌ترین فریم‌ورک‌:
71 درصد از جامعه آماری به ASP.NET Core رای داده‌اند.

🔹منفورترین فریم‌ورک‌:
76 درصد از جامعه آماری به Angular.js رای داده‌اند.



📃 گزارش کاملِ نتایج این پرسشنامه را در لینک زیر بخوانید:

https://www.roxo.ir/stackoverflow-annual-questionnaire-report-2020


💻 #برنامه_نویسی

🆔 @roxo_ir
اگر می‌خواهید بر فراز قله‌‌ی طراحی وب بایستید، باید حتما زبان جاوا اسکریپت (JavaScript) را یاد بگیرید.

🟡 دوره‌ی آموزش جاوا اسکریپت سایت روکسو، یکی از کامل‌ترین و گسترده‌ترین دوره‌های آموزش این زبان در وب فارسی است:

👉 https://www.roxo.ir/course/learn-javascript-course


🎁 10 درصد تخفیف اولین خرید دوره از سایت روکسو با کد تخفیف first
مقدمه‌ای بر GitHub Actions

اگر بخواهید در توسعه برنامه‌های متن‌باز (open source) شرکت کنید یا از پروژه‌های متن‌باز زیاد استفاده می‌کنید، احتمالا با عبارت GitHub Actions (به معنی عملیات‌های گیت‌هاب) آشنا شده‌اید. GitHub Actions به شما اجازه می‌دهند عملیات‌ خاصی به نام action را به صورت خودکار روی repository خود انجام دهید و به نوعی یک چرخه زندگی (lifecycle) را برایش تعریف کنید. این موضوع در هنگام بهره‌برداری پیوسته (continuous deployment) و یکپارچه‌سازی پیوسته (Continuous Integration) به شما کمک می‌کنند.


📃 این مقاله برای افراد مبتدی در نظر گرفته نشده است بلکه برای برنامه‌نویسانی است که با گیت‌هاب و سیستم مدیریت نسخه مانند git کار کرده‌اند. GitHub Actions از مباحث پیچیده‌تر گیت‌هاب هستند:

👉 https://www.roxo.ir/github-actions



💻 #برنامه_نویسی #گیت_هاب

🆔 @roxo_ir
👨‍💻 در این مقاله می‌خواهیم یک وب‌سایت را به صورت full stack طراحی کنیم، یعنی هم front-end و هم back-end را با تکنولوژی های روز دنیا طراحی کنیم تا شما با پروژه‌های بزرگ و واقعی آشنا شوید.

💪 این پروژه برای افرادی طراحی شده است که زمان مناسبی را در دنیای توسعه وب گذرانده‌اند و می‌توانند به صورت حرفه‌ای به طراحی front-end و back-end بپردازند.

🧠 این پروژه یک پروژه Full Stack است، بنابراین از تکنولوژی های زیادی استفاده می‌کند:

React
TypeScript
GraphQL
URQL
Node.js
PostgreSQL
Redis
Next.js
TypeGraphQL
MikroORM و TypeORM


👉 https://www.roxo.ir/build-a-modern-graphql-api-with-react-postgresql-node-part-1



💻 #برنامه_نویسی

🆔 @roxo_ir
یکی از پایگاه‌های داده بسیار مشهور در دنیا PostgreSQL است که شباهت بسیار زیادی به MySQL دارد (مثلا هر دو از زبان SQL استفاده می‌کنند) اما قابلیت‌های آن نسبت به MySQL بسیار بیشتر است و همچنین آمادگی بیشتری برای کار با داده های بسیار بزرگ را دارد.


📃 در این مقاله قصد داریم به فرآیند نصب این پایگاه داده و پیکربندی آن بپردازیم:

👉 https://www.roxo.ir/how-to-install-and-configure-the-postgresql-database



💻 #برنامه_نویسی #PostgreSQL

🆔 @roxo_ir
اگر توسعه‌دهنده سرور باشید احتمالا با نام deno آشنایید چرا که در سال گذشته سروصدای زیادی به پا کرد.

اگر به دنبال تعریف و توضیحات Deno باشید احتمالا با جمله ای شبیه به این جمله روبرو می شوید: Deno یک TypeScript/Javascript Runtime است که بر اساس موتور V8 جاوا اسکریپت و زبان Rust ساخته شده است. این جمله یعنی چه؟ برای درک این جمله باید دو مفهوم Runtime و موتور V8 را بدانید:

🔹 ران‌تایم (Runtime): محیط اجرا برای یک برنامه

🔹 موتور V8: زبان جاوا اسکریپت برای کامپایل شدن و اجرا شدن نیاز به موتور خاصی دارد. V8 موتوری است که گوگل برای زبان جاوا اسکریپت ساخته است.


دِنو در واقع دقیقا مانند Node.js است، یعنی محلی برای زبان جاوا اسکریپت یا تایپ اسکریپت است تا بتوانند به راحتی در آن اجرا شوند. با استفاده از Deno می‌توانیم سرور خود را با جاوااسکریپت و تایپ‌اسکریپت بنویسیم چرا که Deno از هر دو مورد پشتیبانی می‌کند.


📃 مطلب «Deno در یک مقاله! +‌ ساخت API با Oak» را از دست ندهید:

👉 https://www.roxo.ir/what-is-deno



🆔 @roxo_ir
دسکتاپ باید اینجوری مرتب باشه 😁


🆔 @roxo_ir
🗝 ا آث (OAuth) یک فریم‌ورک یا پروتکل صدور مجور (authorization) است که به برنامه‌ها اجازه می‌دهد که بدون داشتن رمز عبور و اطلاعات حساس، از طریق پروتکل HTTP به منابع مشخصی مثل اطلاعات کاربران دسترسی داشته باشند. چنین مواردی را حتما در API وب سایت‌هایی مانند GitHub دیده‌اید. در واقع شما با استفاده از OAuth 2.0 می‌توانید اطلاعات یک کاربر در یک سایت دیگر را بخوانید (البته به صورت محدود) بدون اینکه به رمز عبور آن کاربر دسترسی داشته باشید.


📃 در مقاله‌ی زیر بصورت کامل و جامع با OAuth و احراز هویت به روشی کارآمد و حرفه‌ای خواهید شد:

👉 https://www.roxo.ir/oauth-%da%86%db%8c%d8%b3%d8%aa


💻 #برنامه_نویسی

🆔 @roxo_ir
♒️ همانطور که در برنامه‌نویسی پیشرفت می‌کنید و کدهای خصوصی خود را می‌نویسید، این کدها را روی هم انباشته می‌کنید. گاهی برخی از پروژه‌ها آنقدر بزرگ هستند که حجم کدها بسیار بالا می‌رود. کار کردن در این حجم از کد و حفظ کردن تمام نام‌های توابع، کلاس‌ها و... واقعا سخت است!

♒️ باید اعتراف کرد که به یاد داشتن نام توابع، کلاس‌ها، ثابت‌ها و انواع کدهایی که نوشته‌ایم، غیرممکن است. حال پلاگین‌ها و کتابخانه‌ها را نیز به این وضعیتِ درهم‌ریخته اضافه کنید! باید هم مراقب کدهای خود باشیم، هم مراقب کلاس‌ها، توابع و... رزرو شده در خودِ PHP و هم مراقب کدهایی که در یک کتابخانه یا پلاگین استفاده شده‌اند!

🟣‌ در واقع namespaceها برای حل دو مشکل اساسی طراحی شده‌اند:

▪️تصادم نام‌ها (مشکل یکی بودن نام دو تابع، کلاس و...) بین کدهای خودتان و کلاس‌ها، توابع و ثابت‌های داخلی php
▪️ایجاد قابلیت کوتاه‌تر کردنِ نام‌گذاری‌های بسیار طولانی

قبل از به وجود آمدن namespaceها راه حل خاصی برای این مشکلات وجود نداشت.



📃 بحث جذاب namespace در php را حتما بخوانید:

👉 https://www.roxo.ir/what-is-namespace-in-php


💻 #برنامه_نویسی #php

🆔 @roxo_ir
واقعیتِ دردناک زندگیامون 😁

🆔 @roxo_ir
قبل از معرفی PSR، کدنویسی با زبان PHP هیچ قانونی نداشت و هر کسی به هر شکلی که می‌خواست کدنویسی می‌کرد. PSR مخفف PHP Standards Recommendation یا «استانداردهای برنامه‌نویسی PHP» است.

تعداد زیادی PSR وجود دارد و هرکدام از آن‌ها به یک مبحث خاص در PHP می‌پردازد اما کمیته FIG تمام آن‌ها را تایید نکرده است.


📃 در این مقاله به PSRهای تصویب شده‌ای می‌پردازیم که برای ما مهم هستند:

👉 https://www.roxo.ir/psr-contracts


💻 #برنامه_نویسی #PHP


🆔 @roxo_ir
آموزش کار با کتابخانه cURL در PHP

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

به طور مثال در برنامه‌های مدرن جاوااسکریپتی از APIهای مختلفی استفاده شده و داده‌های مورد نظر به توسعه‌دهنده پاس داده می‌شود. در بین تمام این ارتباطات حتما نام cURL در PHP را شنیده‌اید.

افزونه cURL در PHP به ما اجازه می‌دهد داده‌های خود را با URL Syntax (نحو و قاعده‌ای که هنگام نوشتن URLها رعایت می‌کنیم) ارسال یا دریافت کنیم. در واقع cURL برقراری ارتباط بین دو یا چند سرور را بسیار ساده‌تر می‌کند.


📃 در این مقاله، آموزش کار با cURL در PHP را شرح می‌دهیم و استفاده‌های مهم آن را یاد می‌گیریم:

👉 https://www.roxo.ir/curl-library-in-php


💻 #برنامه_نویسی #PHP

🆔 @roxo_ir
📍‌فریم‌ورک در لغت به معنی «چهارچوب» است. فریم‌ورک‌ها برای شما چهارچوب کاری تعیین می‌کنند تا کدهایتان را ساده‌تر، کوتاه‌تر و با ساختار بهتر بنویسید.

🏣 یک اسکلت ساختمان را در نظر بگیرید. اسکلت‌‌بندی کمک می‌کند که ساختمان در یک نظم مشخص و چهارچوبِ تعیین‌شده ساخته شود. فریم‌‌ورک‌‌ها هم دقیقاً همین نقش را دارند تا برنامه‌نویس در یک چهارچوب مشخص به‌ صورت منظم کدنویسی کند.

📍 با فراخوانی این چهارچوب دیگر نیازی نیست هر بار تمام کدهای موردنیاز را بنویسید، فقط کافیست روی کارکرد خود پروژه تمرکز کنید.

📍 فریم‌‌ورک‌‌ها، کدهای رایجی هستند که در هر پروژه موردنیاز است. زمانی که به پروژه اضافه می‌شوند از چندباره‌نویسی بخشی از کدها هم جلوگیری می‌شود.

بهترین فریم‌ورک‌های PHP فریم‌ورک‌هایی هستند که محبوب و فراگیر باشند و در گذر سال‌ها زمان، امتحان خود را پس داده باشند.

📊 سه فریم ورک برتر و محبوب دنیا و ایران (بر اساس آمار گوگل از میزان استفاده کاربران) عبارتند از:

Laravel
Symfony
CodeIgniter



📃 در رابطه با این فریم‌ورک‌ها بیشتر بخوانید:

👉 https://www.roxo.ir/best-php-frameworks-for-web-developers


🆔 @roxo_ir
نقشه‌ی گوگل از استفاده از فریم‌ورک‌های #PHP در ایران


🆔 @roxo_ir
نقشه‌ی گوگل از استفاده از فریم‌ورک‌های #PHP در جهان


🆔 @roxo_ir
برترین فریم‌ورک‌های #PHP


🆔 @roxo_ir
در روش توسعه‌ی DDD (مخفف Debug Driven Development به معنی توسعه دیباگ‌محور) همزمان با کدنویسی، کدهایمان را دیباگ می‌کنیم و برخلاف روش‌های معمول این فرآیند را به انتهای پروژه موکول نمی‌کنیم. چه طرفدار این روش باشید، چه نباشید، به‌هرحال باید کدهایتان را قبل از پیاده‌سازی روی سرور دیباگ کنید تا مطمئن شوید با هیچ خطایی طرف نیستید. پس در نهایت به ابزاری برای دیباگ نیاز دارید و Xdebug یکی از این ابزارهاست.


📃 برای آشنایی با Xdebug و آموزش نصب و استفاده از آن روی لینک زیر کلیک کنید:

👉 https://www.roxo.ir/debug-php-with-xdebug-part-1


💻 #برنامه_نویسی #php


🆔 @roxo_ir
آموزش Pagination یا صفحه‌بندی در PHP

معمولا زمانیکه از دستور SELECT برای دریافت اطلاعات از پایگاه داده استفاده میکنیم، خروجی بسیار بزرگی خواهیم داشت. فرض کنید میخواهیم پستهای سایت خود را به کاربر نمایش دهیم و حدود 1000 پست مختلف در پایگاه داده داریم. بنظر شما چطور باید این کار را انجام دهیم؟

اگر دستوری شبیه به دستور زیر اجرا کنیم:
SELECT * FROM POSTS
تمام 1000 پست به سمت کاربر برگردانده میشود! جدا از هزینه پردازشی که این دستوری روی سرور ما میگذارد، تجربه بسیار بدی را برای کاربران بوجود میاورد.
تصور کنید در صفحه اول سایت خود 1000 پست را نمایش دهیم؛ کاربر باید 1000 پست را بهمراه متن و تصاویرشان دریافت کند! سپس مرورگر همه را در صفحه اول نمایش دهد! چنانچه کاربر بخواهد به قسمت footer سایت برود تا اطلاعات تماس شما را چک کند اگر 1 ساعت هم اسکرول کند به انتهای سایت شما نمیرسد. تمام این مشکلات و مشکلات متعدد دیگر از دلایل وجود مبحثی بنام Pagination یا صفحه بندی در php هستند.


📃 آموزش کامل Pagination یا صفحه‌بندی در PHP را در لینک زیر بخوانید:

👉 https://www.roxo.ir/how-to-create-pagination-part-1


🆔 @roxo_ir
اگر به صورت حرفه‌ای با پایگاه‌های داده سر و کار داشته باشید احتمالا نام قاعده ACID را شنیده‌اید.

قاعده ACID مجموعه‌ای از قوانین است که باعث می‌شود تراکنش‌های پایگاه داده به طور مطمئن پردازش شوند. منظورمان از تراکنش، مجموعه عملیات‌هایی است که در سمت پایگاه داده انجام می‌شود.

اگر تراکنش‌های پایگاه داده مطمئن و قابل اعتماد نباشند، ممکن است بخشی از داده‌ها را از دست بدهیم یا آن‌ها را به طور غلط ذخیره کنیم. از آنجایی که داده بسیار اهمیت بالایی دارد، نمی‌توانیم ریسک چنین مواردی را قبول کنیم.

کلمه ACID مخفف atomic و consistency و isolation و durability است، بنابراین قاعده ACID در اصل خودش از چهار قاعده کوچک تشکیل شده است.


📃 مقاله‌ی زیر درباره‌ی مطابقت با قاعده ACID در پایگاه‌های داده است:

👉 https://www.roxo.ir/acid-compliance-in-database



💻 #برنامه_نویسی

🆔 @roxo_ir