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

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

آدرس وبسایت:

www.roxo.ir

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

@roxo24

آدرس کانال تلگرام:
Download Telegram
اگر توسعه‌دهنده سرور باشید احتمالا با نام 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
🕹 کمتر از یک هفته پیش گوگل رسما اعلام کرد که پس از سال‌ها می‌خواهد فرمت APK را با فرمت جدیدی به نام AAB جایگزین کند.

با توجه به این موضوع، تمام برنامه‌های جدید اندروید باید از آگوست دارای فرمت AAB باشند.

مزایای فرمت AAB اندروید:
- حجم کمتر برنامه‌ها
- مدیریت بهتر برنامه‌ها
- توسعه سریعتر برنامه‌ها
- تجربه فوری اپ در گوگل‌پلی


🆔 @roxo_ir
🤭 عجیب‌ترین تغییر ویندوز ۱۱

به‌نظر می‌رسد آیکون‌های پوسته جدید ویندوز ۱۱ از پیش‌نمایش محتوای پوشه پشتیبانی نمی‌کنند و دیگر نمی‌توانید به‌راحتی ببینید چه نوع فایل‌هایی درون پوشه وجود دارند.

شما هم متوجه این تغییر شده بودید؟ اون رو یه تغییر مثبت می‌دونید یا منفی؟ 🤔


🆔 @roxo_ir
🏵 پرتقاضاترین زبان‌های برنامه‌نویسی


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


🆔 @roxo_ir
بی هیچ شک و تردیدی، فتوشاپ محبوب‌ترین و قدرتمندترین نرم‌افزار ویرایش عکس در جهان است، به‌گونه‌ای که بسیاری از کاربران فتوشاپ امروز نمی‌توانند دنیا را بدون استفاده از این برنامه تصور کنند!

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

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

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


📃 در این مقاله تاریخچه‌ی فتوشاپ را بخوانید:

👉 https://www.roxo.ir/the-evolution-of-photoshop



🎨 #طراحی_گرافیک #فتوشاپ

🆔 @roxo_ir
🎑 ساخت برنامه هواشناسی با React.js و CSS ساده

در این مقاله می‌خواهیم یک برنامه ساده هواشناسی را به کمک React.js بسازیم. در این برنامه با وارد کردن شهر زندگی خود، داده‌های هواشناسی آن را دریافت می‌کنید.

این مقاله برای افراد مبتدی در نظر گرفته نشده است اما تا حد ممکن مباحث ساده نیز توضیح داده شده‌اند و حتی اگر مبتدی باشید می‌توانید از مطالب این جلسه استفاده کنید. در عین حال برای مطالعه این مقاله باید با مباحث ساده CSS و جاوا اسکریپت آشنا باشید.

👉 https://www.roxo.ir/how-to-build-a-weather-application-with-react-js-and-css



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

🆔 @roxo_ir
لازم است بدانید ffmpeg یک CLI یا ابزار Command Line Interface برای پردازش فایل‌های مولتی‌مدیا (ویدیوها، فایل‌های صوتی و غیره) است.

البته لازم به ذکر است که ffpmeg در قالب کتابخانه‌هایی برای زبان پایتون و زبان‌های دیگر نیز موجود است، بنابراین حتی می‌توانید در وب‌سایت خود نیز از آن استفاده کنید. بسیاری از برنامه‌های پخش و ویرایش ویدیو مانند یوتیوب و VLC از آن استفاده می‌شود. حتی مرورگر کرومیوم (پایه گوگل کروم) از ffmpeg برای نمایش ویدیو و پخش صوت استفاده می‌کند.

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


📃 در این مقاله روی حالت CLI این ابزار تمرکز می‌کنیم تا شما به عنوان یک کاربر حرفه‌ای (و نه یک برنامه نویس) با آن آشنا شوید:

👉 https://www.roxo.ir/ffmpeg-the-complete-guide



🆔 @roxo_ir