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

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

آدرس وبسایت:

www.roxo.ir

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

@roxo24

آدرس کانال تلگرام:
Download Telegram
🙋‍♀🙋 دوستان عزیز

شما می‌توانید تمام سوالات خود در زمینه‌های برنامه‌نویسی، طراحی گرافیک و سئو را در سامانه‌ی پرسش و پاسخ سایت روکسو یعنی «روکسوکیو» بپرسید.

روکسوکیو از لحاظ امکانات و گستردگیِ پلتفرم، اولین سامانه‌ی پرسش و پاسخ برنامه‌نویسی در ایران محسوب می‌شود.✌️

👉 www.roxo.ir/q

کارشناسان، متخصصان، مدرسان و دیگر کاربران روکسو در اسرع وقت پاسخگوی همه‌ی سوالات شما خواهند بود.
راهنمای جامع SEO برای مبتدیان در سال ۲۰۲۱


اگر وب‌مستری هستید که می‌خواهید در سریع‌ترین زمان ممکن، مهم‌ترین توصیه‌های استاندارد سئو و قوانین آن را بخوانید، مقاله‌ی زیر را از دست ندهید.

این مقاله یکی از خواندنی‌ترین و کامل‌ترین مقالات سایت در خصوص سئو است.


👉https://www.roxo.ir/seo-basics-for-beginners

🔎 #سئو

🆔 @roxo_ir
🧑‍🎓👩‍🎓 نمونه سوالات مصاحبه فنی استخدام برنامه‌نویسان PHP


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

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

با اینکه در ایران تمام شرکت‌ها چنین مصاحبه‌هایی را انجام نمی‌دهند اما بهتر است با این دسته از سوالات آشنا شوید تا علاوه بر بالا بردن دانش خود، شانس استخدام خود را نیز ارتقاء دهید.

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

از سوالات بسیار ساده مانند تعریف بلوک‌های PHP شروع کرده و به سوالات پیچیده مانند الگوریتم‌ها می رسیم:


👉 https://www.roxo.ir/php-interview-questions



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

🆔 @roxo_ir
معماری‌های مختلفی برای توسعه برنامه‌های تحت وب وجود دارند اما MVC یکی از مشهورترین آنهاست. در این معماری، برنامه‌های تحت وب به سه قسمت Model و View و Controller تقسیم می‌شوند:

🔹 بخش View: مسئول نمایش داده.های برنامه است و بخشی است که کاربر آن را مشاهده می‌کند. در برنامه‌های تحت وب، View همان فایل.های HTML شما خواهند بود که در مرورگر کاربر بارگذاری می‌شوند. تمام منوهای آبشاری یا فرم‌ها و تصاویر و غیره جزئی از View هستند. View داده.هایش را از Model می‌گیرد،‌ اما نه به صورت مستقیم!

🔹 بخش Controller: مسئول برقراری رابطه بین View و Model است. مانند مغز برنامه ماست چرا که تمام منطق مدیریتی برنامه را کنترل می‌کند. Controller مسئول پاس دادن داده‌ها از Model به View است اما می‌تواند به جای این کار داده‌ها را از Model گرفته و ویرایش کرده و دوباره به Model ارسال کند.

🔹 بخش Model: این بخش مسئول مدیریت و ذخیره‌سازی داده‌های برنامه است که کاربر با آن‌ها سر‌وکار دارد. به زبان ساده‌تر Model همان بخش پایگاه داده برنامه است.

👇👇👇
👓 آشنایی با معماری MVC در یک نگاه!


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

🆔 @roxo_ir
موافقین؟ 😂


🆔 @roxo_ir
امروزه پروژه‌هایی مانند create-react-app و Vue CLI باعث شده‌اند کاربران از پیکربندی دستی webpack خلاص شوند و دیگر نیازی به اعمال تنظیمات مختلف برای شروع پروژه خود نداشته باشند. در عین حال این موضوع نباید شما را از یادگیری webpack (حداقل در سطح متوسط) باز دارد.

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

حتما با مفهوم «ماژول» یا moduleها در جاوااسکریپت آشنا هستید (ماژول‌هایی مانند AMD modules و Common JS و ES modules و غیره). کار webpack این است که یک module bundler است، بدین معنی که تمام ماژول‌ها را گرفته و در یک فایل ادغام می‌کند.


سطح مقاله: برای مطالعه این مقاله، آشنایی با مفاهیم ساده توسعه وب مانند npm توصیه می.شود اما الزامی نیست. این مقاله هیچ ملزومات دیگری ندارد:


👉 https://www.roxo.ir/webpack-5-in-one-article



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


🆔 @roxo_ir
⛔️ اشتباهات رایج در هنگام کار با React:

۱. تعداد کامپوننت ناکافی
۲. ویرایش مستقیم state
۳. پاس دادن اعداد به شکل رشته
۴. عدم استفاده از key در کامپوننت های لیست
۵. فراموش کردن ناهمگامی setState
۶. استفاده بیش از حد از Redux
۷. استفاده از God component ها
۸. نداشتن ساختار برای پوشه ها
۹. عدم استفاده از حروف بزرگ در نام کامپوننت
۱۰. نوشتن منطق کاری درون کامپوننت ها
۱۱. عدم استفاده از مسیرهای مطلق
۱۲. ننوشتن unit test
۱۳. عدم استفاده از react dev tool



📃 توضیحات بیشتر درباره‌ی هرکدام از این اشتباهات را در لینک زیر بخوانید:

👉 https://www.roxo.ir/top-10-mistakes-to-avoid-when-using-react



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


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

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

در سال‌های اول استفاده از جاوا اسکریپت هیچ سیستم ماژولی در جاوا اسکریپت وجود نداشت چون اسکریپت‌ها کوچک بودند و نیازی به تقسیم فایل‌ها نبود. اما به مرور جاوا اسکریپت آنقدر پیچیده شد که حالا در یک پروژه چند کتابخانه مورد استفاده قرار می‌گیرد. توسعه‌دهندگان برای حل این مشکل شروع به استفاده از کتابخانه های CommonJS و UMD و AMD کردند.

به مرور این سه ماژول به تاریخ پیوستند و از آنها استفاده نشد. در نهایت ماژولی language-level معرفی شد که ES Modules یا ES6 Modules نام گرفت که همان ماژول امروزی جاوا اسکریپت است.


📃 در این مقاله به بررسی این ماژول معتبر و مدرن می‌پردازیم. در انتهای مقاله نیز چند مثال از ماژول‌های قدیمی برایتان آورده‌ایم:


👉 https://www.roxo.ir/modules-introduction



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


🆔 @roxo_ir
۸ عادت بدی که باید همین الان برای ترک‌ کردنشان اقدام کنیم!


🆔 @roxo_ir
داکر (docker) یکی از تکنولوژیهای مدرن و موردنیاز توسعه‌دهندگان است.
تا مدت زیادی برای مجازی‌سازی از ماشینهای مجازی یا Virtual Machines استفاده میشد. ماشینهای مجازی یک سیستم عامل مجازی را درون خود اجرا میکردند و در اختیار شما قرار میدادند.
استفاده از ماشینهای مجازی هزینه سنگینی داشت چون قدرت پردازشی زیادی از سیستم خرج راه‌اندازی و نگهداری یک یا چند سیستم عامل دیگر می‌شد و سرعت را تا حد زیادی کاهش می‌داد. بنابراین به containerها رسیدیم که بجای سوارکردن یک سیستم عامل دیگر، از مکانیسمهای سطح پایین همان سیستم عامل موجود استفاده میکند. این یعنی containerهایی مانند داکر به کسری از قدرت پردازشی سیستم برای اجرا شدن نیاز دارند و از ماشین‌های مجازی بسیار سبک‌تر هستند.

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


📃 در این مقاله به بررسی مقدماتی نصب و استفاده از docker پرداخته‌ایم:

👉 https://www.roxo.ir/docker-installation-and-configuration



🆔 @roxo_ir
21 افزونه‌ی کاربردی مرورگر کروم

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


👉 https://www.roxo.ir/chrome-extensions-i-actually-found-useful


🆔 @roxo_ir
پایگاه داده Redis معمولا با جمله in-memory key-value store شناخته می‌شود و معنی آن این است که redis یک پایگاه داده است که به جای هارد دیسک، روی مموری (RAM سیستم) سوار می‌شود و داده‌ها را به صورت جفت‌های key-value ذخیره می‌کند، دقیقا مانند اشیاء در جاوا اسکریپت یا دیکشنری‌ها در پایتون. احتمالا شما نیز متوجه شده‌اید که ذخیره داده‌ها به صورت جفت‌های key-value به معنی عدم وجود schema است. در این سیستم key از نوع رشته و value از هر نوعی است که شما دوست داشته باشید؛ عدد، رشته، JSON و غیره.

مسئله اینجاست که تقریبا تمام پایگاه‌های داده مشهور مانند MySQL و MongoDB داده‌ها را در هارد دیسک ذخیره می‌کنند اما redis اطلاعات را در RAM سیستم شما ذخیره می‌کند که مشکلات خاص خودش را دارد اما مزیت‌هایی نیز دارد.


📃 در مقاله زیر می‌خواهیم با مفاهیم کلی redis آشنا شویم:

👉 https://www.roxo.ir/familiarity-with-the-main-concepts-of-redis



💻 #برنامه_نویسی #پایگاه_داده #redis

🆔 @roxo_ir
به نظر شما چه کدی تمیز محسوب می‌شود؟ فرض کنید شما کدی نوشته‌اید و حالا آن را به من یا یک برنامه‌نویس دیگر می‌دهید. آیا این برنامه‌نویس می‌تواند بدون دردسر اضافی متوجه کدهای شما شود؟

به کدی کد تمیز می‌گوییم که درک آن برای انسان‌ها ساده باشد و از ترفندهای عجیب برای نوشتن آن استفاده نشده باشد. طبیعتاً کد تمیز یک طیف بزرگ است؛ یعنی یک کد شاید تمیز باشد اما هنوز هم می‌تواند تمیزتر شود.


🧼 سری جامع آموزش «کد تمیز» را در روکسو به رایگان بخوانید. این سری شامل 14 درس است:

👉 https://www.roxo.ir/series/writing-clean-code


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

🆔 @roxo_ir
✏️ لطفا برامون بنویسید که نظرتون درباره فعالیت‌های کانال تلگرام روکسو چیه؟

مشتاقانه انتقادات و پیشنهادات شما رو می‌خونیم 💜
انواع خطا در #جاوا_اسکریپت:

⚠️EvalError:‌
هنگام استفاده از تابع ()eval رخ می دهد

⚠️InternalError:
هنگامیکه خطایی در موتور جاوا اسکریپت اتفاق میفتد و داده‌ها آنقدر زیاد میشوند که پشته (stack) بیش از حد بزرگ میشود

⚠️RangeError:
زمانیکه عددی خارج از محدوده مجاز خودش باشد

⚠️ReferenceError:
زمانیکه یک ارجاع (reference) به یک متغیر وجود نداشته باشد

⚠️SyntaxError:
زمانیکه موتور جاوا اسکریپت نمیتواند کدهای نوشته شده توسط شما را بخواند. معمولا به دلیل غلط نحوی (syntax) رخ میدهند

⚠️TypeError:
زمانیکه یک متغیر یا پارامتر دارای نوع داده صحیح نباشد. مثلا تابع یک رشته را از ما میخواهد و ما یک عدد را پاس داده ایم

⚠️URIError:
زمانیکه مقدار پاس داده شده به توابع encodeURI یا decodeURI غیرمعتبر باشد

⚠️DOMException:
دسته‌ای از خطای جاوا اسکریپت مربوط به Web API هستند (کار با مرورگرها در جاوا اسکریپت)

⚠️AggregateError:
زمانیکه نیاز باشد چندین خطا به صورت یکجا نمایش داده شوند



📃 جامع‌ترین راهنما درباره‌ی خطاها در جاوا اسکریپت و روش‌های رفع آنها:

👉 https://www.roxo.ir/javascript-error-management-guide


🆔 @roxo_ir
🔹 آیا می‌دانید JavaScript build toolها چه ابزارهایی هستند؟ ابزارهایی که کدهای شما را مدیریت می‌کنند و آن‌ها را از کد development (مرحله توسعه) به کد production (مرحله تولید) می‌رسانند و مسائلی مانند وابستگی‌های برنامه را مدیریت می‌کنند. Vite یکی از این JavaScript build tool هاست.

🔹 در آوریل سال ۲۰۲۰ آقای Evan You (توسعه دهنده Vue.js) به فکر راه‌اندازی سرور توسعه‌ای به نام Vite افتاد. در ابتدا Vite تنها یک سرور توسعه برای کامپوننت‌های تک‌فایلی در Vue.js بود (single file component) اما بعدها توسعه پیدا کرد تا جایی که اکنون یک سرور توسعه برای تمام برنامه‌های جاوا اسکریپتی است.

🔹 ویژگی جالب Vite اینست که پروژه‌ها را bundle نمی‌کند (کدها را در یک فایل ادغام نمی‌کند) بلکه از ماژول‌های ES در جاوا اسکریپت استفاده می‌کند. این ویژگی، تفاوت اصلی Vite و دیگر سرورهای توسعه است و باعث می‌شود سرعت Vite بسیار بالا باشد.


📃در مقاله‌ی زیر با Vite و نحوه‌ی کار آن بیشتر آشنا شوید:

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


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


🆔 @roxo_ir
کاش زودتر می‌فهمیدم...😪


✌️ #بازی_برای_برد


🆔 @roxo_ir
📌 مدل OSI چیست؟

اگر از توسعه‌دهندگان back-end یا مدیران شبکه هستید، آشنایی با مدل OSI از موارد ضروری کار شما محسوب می‌شود.

مدل OSI مخفف Open Systems Interconnection یا «مدل اتصال متقابل سامانه‌های باز» یک مدل مفهومی از تعاملات شبکه است که توسط سازمان بین‌المللی استانداردسازی تعریف شده و از دهه ۱۹۸۰ به عنوان یک مدل استاندارد مورد قبول تمام سازمان‌های بزرگ قرار گرفته است.

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


📃 درباره مدل OSI بیشتر بخوانید:

👉 https://www.roxo.ir/what-is-osi-model


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

🆔 @roxo_ir
تصحیح اشتباهات در Git و راهنمای برگرداندن فایل‌ها به نسخه‌ی قبل


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

بسیار پیش می‌آید که در هنگام نوشتن کد در پروژه‌ای که با Git مدیریت می‌شود، اشتباهی را انجام دهید و حالا نیاز دارید این اشتباه را به حالت قبلی خود برگردانید.


📃 مقاله‌ی زیر بصورت جامع و مفصل به آموزش این موضوع پرداخته است:

👉 https://www.roxo.ir/complete-guide-to-correct-errors-in-git



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

🆔 @roxo_ir