diff --git a/404.html b/404.html index 1d721f4b..fcc8acd6 100644 --- a/404.html +++ b/404.html @@ -6,13 +6,13 @@ صفحه ای که دنبال آن بودید پیدا نشد. | آکادمی ستاره - +
پرش به مطلب اصلی

صفحه ای که دنبال آن بودید پیدا نشد.

صفحه‌ای که دنبال آن بودید پیدا نشد.

لطفا با صاحب وبسایت تماس بگیرید و ایشان را از مشکل پیش آمده مطلع کنید.

- + \ No newline at end of file diff --git a/assets/js/8f2b5278.8d1ee13e.js b/assets/js/8f2b5278.8d1ee13e.js deleted file mode 100644 index c8095e56..00000000 --- a/assets/js/8f2b5278.8d1ee13e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcodestar_documents=self.webpackChunkcodestar_documents||[]).push([[6273],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>d});var a=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=a.createContext({}),p=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=p(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,s=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),u=p(n),d=l,k=u["".concat(s,".").concat(d)]||u[d]||c[d]||r;return n?a.createElement(k,i(i({ref:t},m),{},{components:n})):a.createElement(k,i({ref:t},m))}));function d(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,i=new Array(r);i[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var a=n(7462),l=(n(7294),n(3905));const r={title:"DOM",description:"DOM \u06af\u0634\u062a\u06cc \u062f\u0631 \u067e\u0634\u062a \u067e\u0631\u062f\u0647 \u0648\u0628 \u0628\u0627 \ufe0f"},i=void 0,o={unversionedId:"frontend/phase02-dom",id:"frontend/phase02-dom",title:"DOM",description:"DOM \u06af\u0634\u062a\u06cc \u062f\u0631 \u067e\u0634\u062a \u067e\u0631\u062f\u0647 \u0648\u0628 \u0628\u0627 \ufe0f",source:"@site/docs/frontend/phase02-dom.md",sourceDirName:"frontend",slug:"/frontend/phase02-dom",permalink:"/codestar-documents/docs/frontend/phase02-dom",draft:!1,editUrl:"https://github.com/Star-Academy/codestar-documents/tree/master/docs/frontend/phase02-dom.md",tags:[],version:"current",frontMatter:{title:"DOM",description:"DOM \u06af\u0634\u062a\u06cc \u062f\u0631 \u067e\u0634\u062a \u067e\u0631\u062f\u0647 \u0648\u0628 \u0628\u0627 \ufe0f"},sidebar:"tutorialSidebar",previous:{title:"Js Fundamental",permalink:"/codestar-documents/docs/frontend/phase01-js-fundamental"},next:{title:"UI/UX",permalink:"/codestar-documents/docs/frontend/phase03-ui-ux"}},s={},p=[{value:"\u0645\u0642\u062f\u0645\u0647",id:"\u0645\u0642\u062f\u0645\u0647",level:3},{value:"\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 DOM",id:"\u0622\u0634\u0646\u0627\u06cc\u06cc-\u0628\u0627-dom",level:3},{value:"\u0633\u0627\u062e\u062a\u0627\u0631 DOM",id:"\u0633\u0627\u062e\u062a\u0627\u0631-dom",level:4},{value:"\u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc DOM",id:"\u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc-dom",level:4},{value:"Selectors \u062f\u0631 DOM",id:"selectors-\u062f\u0631-dom",level:4},{value:"Attributes \u062f\u0631 DOM",id:"attributes-\u062f\u0631-dom",level:4},{value:"Manipulation \u062f\u0631 DOM",id:"manipulation-\u062f\u0631-dom",level:3},{value:"Element Manipulation \u062f\u0631 DOM",id:"element-manipulation-\u062f\u0631-dom",level:4},{value:"Style Manipulation \u062f\u0631 DOM",id:"style-manipulation-\u062f\u0631-dom",level:4},{value:"\u062a\u063a\u06cc\u06cc\u0631 \u0627\u0633\u062a\u0627\u06cc\u0644 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062e\u0627\u0635\u06cc\u062a style",id:"\u062a\u063a\u06cc\u06cc\u0631-\u0627\u0633\u062a\u0627\u06cc\u0644-\u0628\u0627-\u0627\u0633\u062a\u0641\u0627\u062f\u0647-\u0627\u0632-\u062e\u0627\u0635\u06cc\u062a-style",level:6},{value:"\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 classList \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0644\u0627\u0633\u200c\u0647\u0627",id:"\u0627\u0633\u062a\u0641\u0627\u062f\u0647-\u0627\u0632-classlist-\u0628\u0631\u0627\u06cc-\u0645\u062f\u06cc\u0631\u06cc\u062a-\u06a9\u0644\u0627\u0633\u0647\u0627",level:5},{value:"\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 cssText \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0686\u0646\u062f\u06cc\u0646 \u0627\u0633\u062a\u0627\u06cc\u0644 \u0628\u0647 \u0635\u0648\u0631\u062a \u06cc\u06a9\u062c\u0627",id:"\u0627\u0633\u062a\u0641\u0627\u062f\u0647-\u0627\u0632-csstext-\u0628\u0631\u0627\u06cc-\u062a\u0646\u0638\u06cc\u0645-\u0686\u0646\u062f\u06cc\u0646-\u0627\u0633\u062a\u0627\u06cc\u0644-\u0628\u0647-\u0635\u0648\u0631\u062a-\u06cc\u06a9\u062c\u0627",level:5},{value:"\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0633\u062a\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u0648\u06cc\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 setAttribute",id:"\u0627\u0636\u0627\u0641\u0647-\u06a9\u0631\u062f\u0646-\u0627\u0633\u062a\u0627\u06cc\u0644\u0647\u0627\u06cc-\u067e\u0648\u06cc\u0627-\u0628\u0627-\u0627\u0633\u062a\u0641\u0627\u062f\u0647-\u0627\u0632-setattribute",level:5},{value:"\u067e\u0631\u0648\u0698\u0647",id:"\u067e\u0631\u0648\u0698\u0647",level:3},{value:"\u0647\u062f\u0641",id:"\u0647\u062f\u0641",level:4},{value:"\u0645\u0631\u0627\u062d\u0644",id:"\u0645\u0631\u0627\u062d\u0644",level:4},{value:"\u0646\u06a9\u0627\u062a",id:"\u0646\u06a9\u0627\u062a",level:4}],m={toc:p};function c(e){let{components:t,...r}=e;return(0,l.kt)("wrapper",(0,a.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"DOM Structure",src:n(7411).Z,width:"1301",height:"806"})),(0,l.kt)("h3",{id:"\u0645\u0642\u062f\u0645\u0647"},"\u0645\u0642\u062f\u0645\u0647"),(0,l.kt)("p",null,"\u0633\u0646\u062f\u0647\u0627\u06cc\nHTML\n\u0628\u0647 \u0635\u0648\u0631\u062a \u0633\u0644\u0633\u0644\u0647 \u0645\u0631\u0627\u062a\u0628\u06cc \u0633\u0627\u0632\u0645\u0627\u0646\u062f\u0647\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f. \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u0627\u0646 \u0648 \u0645\u0631\u0648\u0631\u06af\u0631\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0639\u0646\u0627\u0635\u0631 \u0645\u062e\u062a\u0644\u0641 \u0633\u0646\u062f \u0631\u0627 \u067e\u06cc\u062f\u0627 \u0648 \u062f\u0633\u062a\u06a9\u0627\u0631\u06cc \u06a9\u0646\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631\u060c \u0647\u0631 \u0639\u0646\u0635\u0631\nHTML\n\u06cc\u06a9 \u06af\u0631\u0647\n(Node)\n\u0627\u0633\u062a \u0648 \u06af\u0631\u0647\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0634\u0627\u0645\u0644 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc \u0641\u0631\u0632\u0646\u062f\n(Child Nodes)\n\u0628\u0627\u0634\u0646\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0627\u0628\u0637 \u0633\u0644\u0633\u0644\u0647 \u0645\u0631\u0627\u062a\u0628\u06cc \u0628\u0647 \u0635\u0648\u0631\u062a \u06cc\u06a9 \u062f\u0631\u062e\u062a\n(Tree)\n\u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u0627\u0646\u0648\u0627\u0639 \u06af\u0631\u0647\u200c\u0647\u0627:")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"Root Node"),":\n\u06af\u0631\u0647 \u0631\u06cc\u0634\u0647 \u062f\u0631 \u0633\u0646\u062f HTML \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062a\u06af\n",(0,l.kt)("inlineCode",{parentName:"li"},""),"\n\u0627\u0633\u062a \u06a9\u0647 \u062a\u0645\u0627\u0645 \u0639\u0646\u0627\u0635\u0631 \u062f\u06cc\u06af\u0631 \u0633\u0646\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0641\u0631\u0632\u0646\u062f\u0627\u0646 \u0622\u0646 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f."),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"Parent Nodes"),":\n\u06af\u0631\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc \u0641\u0631\u0632\u0646\u062f \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0634\u0627\u0645\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u062a\u06af\n",(0,l.kt)("inlineCode",{parentName:"li"},""),"\n\u06cc\u06a9 \u06af\u0631\u0647 \u0648\u0627\u0644\u062f \u0627\u0633\u062a \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0634\u0627\u0645\u0644 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc \u0641\u0631\u0632\u0646\u062f\u06cc \u0645\u0627\u0646\u0646\u062f \u062a\u06af\u200c\u0647\u0627\u06cc\n",(0,l.kt)("inlineCode",{parentName:"li"},"
"),"\n,\n",(0,l.kt)("inlineCode",{parentName:"li"},"

"),"\n,\n",(0,l.kt)("inlineCode",{parentName:"li"},""),"\n\u0648 \u063a\u06cc\u0631\u0647 \u0628\u0627\u0634\u062f."),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"Child Nodes"),": \u06af\u0631\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631\u0648\u0646 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc \u0648\u0627\u0644\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u062a\u06af\n",(0,l.kt)("inlineCode",{parentName:"li"},"

  • "),"\n\u06cc\u06a9 \u06af\u0631\u0647 \u0641\u0631\u0632\u0646\u062f \u0628\u0631\u0627\u06cc \u06af\u0631\u0647 \u0648\u0627\u0644\u062f\n",(0,l.kt)("inlineCode",{parentName:"li"},"
  • - + \ No newline at end of file diff --git a/docs/frontend/phase02-dom/index.html b/docs/frontend/phase02-dom/index.html index 20049a6c..db6994cc 100644 --- a/docs/frontend/phase02-dom/index.html +++ b/docs/frontend/phase02-dom/index.html @@ -6,14 +6,15 @@ DOM | آکادمی ستاره - +
    پرش به مطلب اصلی

    DOM

    DOM Structure

    مقدمه

    سندهای HTML -به صورت سلسله مراتبی سازماندهی شده‌اند. این ساختار به برنامه‌نویسان و مرورگرها اجازه می‌دهد تا به راحتی عناصر مختلف سند را پیدا و دستکاری کنند. در این ساختار، هر عنصر +به صورت سلسله مراتبی سازماندهی شده‌اند. این ساختار به برنامه‌نویسان و مرورگرها اجازه می‌دهد تا به راحتی عناصر مختلف سند +را پیدا و دستکاری کنند. در این ساختار، هر عنصر HTML یک گره (Node) @@ -47,7 +48,8 @@ <img>.

    آشنایی با DOM

    DOM یا Document Object Model -یک رابط است که اجازه دسترسی و تغییر ساختار سند‌های HTML را به کاربر می‌دهد. این رابط توسط مرورگرها و به واسطه یک زبان برنامه‌نویسی مانند جاوااسکریپت در دسترس کاربر قرار می‌گیرد.

    ساختار DOM

    DOM +یک رابط است که اجازه دسترسی و تغییر ساختار سند‌های HTML را به کاربر می‌دهد. این رابط توسط مرورگرها و به واسطه یک +زبان برنامه‌نویسی مانند جاوااسکریپت در دسترس کاربر قرار می‌گیرد.

    ساختار DOM

    DOM شامل گره‌های مختلفی است که هر یک نوع خاصی از داده‌ها یا بخش‌های سند را نشان می‌دهند. انواع اصلی گره‌ها عبارتند از:

    • Document Node: ریشه درخت DOM که نمایانگر کل سند است.
    • Element Nodes: نمایانگر تگ‌های @@ -62,18 +64,20 @@ DOM به شما امکان می‌دهد رفتارهای تعاملی به صفحات وب اضافه کنید، مانند کلیک کردن، کشیدن و رها کردن و تغییر ورودی کاربر.

    Selectors در DOM

    سلکتورها ابزارهای قدرتمندی برای انتخاب و دستکاری عناصر در ساختار DOM -هستند. آنها به برنامه‌نویسان اجازه می‌دهند تا به طور دقیق و کارآمد عناصر مورد نظر خود را در صفحات وب شناسایی و انتخاب کنند. سلکتورها می‌توانند بر اساس نام عنصر، شناسه، کلاس، ویژگی‌ها و روابط بین عناصر عمل کنند.

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

    فرض کنید ما یک صفحه HTML -با ساختار زیر داریم:

    <div id="container">
    <h1 class="title">Welcome to My Website</h1>
    <p class="content">This is some content.</p>
    <ul>
    <li>Item 1</li>
    <li class="special">Item 2</li>
    <li>Item 3</li>
    </ul>
    <button id="submitBtn">Submit</button>
    </div>

    حالا، بیایید چند نمونه از سلکتورها را با استفاده از +با ساختار زیر داریم:


    <div id="container">
    <h1 class="title">Welcome to My Website</h1>
    <p class="content">This is some content.</p>
    <ul>
    <li>Item 1</li>
    <li class="special">Item 2</li>
    <li>Item 3</li>
    </ul>
    <button id="submitBtn">Submit</button>
    </div>

    حالا، بیایید چند نمونه از سلکتورها را با استفاده از JavaScript -ببینیم:

    1. انتخاب با ID:
    let submitButton = document.getElementById('submitBtn');
    // یا
    let submitButton = document.querySelector('#submitBtn');
    1. انتخاب با کلاس:
    let contentParagraph = document.querySelector('.content');
    1. انتخاب همه عناصر با یک کلاس خاص:
    let allSpecialItems = document.querySelectorAll('.special');
    1. انتخاب بر اساس نوع عنصر:
    let allListItems = document.querySelectorAll('li');
    1. انتخاب با ترکیب سلکتورها:
    let specialItemInContainer = document.querySelector('#container .special');
    1. انتخاب بر اساس ویژگی:
    let submitButton = document.querySelector('button[id="submitBtn"]');

    Attributes در DOM

    Element attributes +ببینیم:

    1. انتخاب با ID:
    let submitButton = document.getElementById('submitBtn');
    // یا
    let submitButton = document.querySelector('#submitBtn');
    1. انتخاب با کلاس:
    let contentParagraph = document.querySelector('.content');
    1. انتخاب همه عناصر با یک کلاس خاص:
    let allSpecialItems = document.querySelectorAll('.special');
    1. انتخاب بر اساس Tag Name:
    let allListItems = document.querySelectorAll('li');
    1. انتخاب با ترکیب سلکتورها:
    let specialItemInContainer = document.querySelector('#container .special');
    1. انتخاب بر اساس Attributes:
    let submitButton = document.querySelector('button[id="submitBtn"]');

    Attributes در DOM

    Element attributes در DOM، اطلاعات اضافی هستند که به عناصر HTML اضافه می‌شوند تا خصوصیات و رفتار آنها را تعریف کنند. این ویژگی‌ها می‌توانند شامل مواردی مانند id، class، style، src و غیره باشند. در DOM -، هر عنصر دارای یک مجموعه از ویژگی‌هاست که می‌توان به آنها دسترسی پیدا کرد، آنها را تغییر داد یا ویژگی‌های جدیدی اضافه کرد.

    فرض کنید ما یک عنصر +، هر عنصر دارای یک مجموعه از ویژگی‌هاست که می‌توان به آنها دسترسی پیدا کرد، آنها را تغییر داد یا ویژگی‌های جدیدی اضافه +کرد.

    فرض کنید ما یک عنصر HTML به شکل زیر داریم:

    <img id="myImage" src="example.jpg" alt="An example image" class="thumbnail" />

    حالا، بیایید با استفاده از JavaScript، @@ -81,10 +85,13 @@ Attributes عناصر در DOM -کار کرد.

    Manipulation در DOM

    DOM Manipulation +کار کرد.

    برای آشنایی با +dataset +لینک زیر را مطالعه کنید:

    Using data attributes

    Manipulation در DOM

    DOM Manipulation یا دستکاری DOM -، یکی از مهم‌ترین جنبه‌های برنامه‌نویسی وب پویا است که به توسعه‌دهندگان اجازه می‌دهد ساختار، محتوا و سبک صفحات وب را به صورت پویا و در زمان اجرا تغییر دهند. این فرآیند شامل انتخاب عناصر +، یکی از مهم‌ترین جنبه‌های برنامه‌نویسی وب پویا است که به توسعه‌دهندگان اجازه می‌دهد ساختار، محتوا و سبک صفحات وب را به +صورت پویا و در زمان اجرا تغییر دهند. این فرآیند شامل انتخاب عناصر HTML ، تغییر محتوا و ویژگی‌های آنها، اضافه یا حذف عناصر، و تغییر استایل‌های CSS می‌شود. با استفاده از JavaScript، @@ -96,13 +103,13 @@ "container" در HTML -داریم

    let container = document.getElementById('container');

    let newParagraph = document.createElement('p');
    newParagraph.textContent = 'این یک پاراگراف جدید است.';

    container.appendChild(newParagraph);

    let newButton = document.createElement('button');
    newButton.textContent = 'کلیک کنید';
    container.appendChild(newButton);

    container.removeChild(newParagraph);

    let replacementDiv = document.createElement('div');
    replacementDiv.textContent = 'این جایگزین دکمه شد';
    container.replaceChild(replacementDiv, newButton);

    let clonedDiv = replacementDiv.cloneNode(true);
    container.appendChild(clonedDiv);

    clonedDiv.innerHTML = '<strong>این محتوا تغییر کرده است</strong>';

    let anotherParagraph = document.createElement('p');
    anotherParagraph.textContent = 'این پاراگراف قبل از div اضافه شد';
    container.insertBefore(anotherParagraph, replacementDiv);

    anotherParagraph.setAttribute('class', 'highlight');

    replacementDiv.addEventListener('click', function () {
    alert('روی div کلیک شد!');
    });

    این مثال‌ها نشان می‌دهند که چگونه می‌توان با استفاده از +داریم

    let container = document.getElementById('container');

    let newParagraph = document.createElement('p');
    newParagraph.textContent = 'این یک پاراگراف جدید است.';

    container.appendChild(newParagraph);

    let newButton = document.createElement('button');
    newButton.textContent = 'کلیک کنید';
    container.appendChild(newButton);

    container.removeChild(newParagraph);

    let replacementDiv = document.createElement('div');
    replacementDiv.textContent = 'این جایگزین دکمه شد';
    container.replaceChild(replacementDiv, newButton);

    let clonedDiv = replacementDiv.cloneNode(true);
    container.appendChild(clonedDiv);

    clonedDiv.innerHTML = '<strong>این محتوا تغییر کرده است</strong>';

    let anotherParagraph = document.createElement('p');
    anotherParagraph.textContent = 'این پاراگراف قبل از div اضافه شد';
    container.insertBefore(anotherParagraph, replacementDiv);

    anotherParagraph.setAttribute('class', 'highlight');

    replacementDiv.addEventListener('click', function() {
    alert('روی div کلیک شد!');
    });

    این مثال‌ها نشان می‌دهند که چگونه می‌توان با استفاده از JavaScript ، عناصر DOM را به روش‌های مختلف دستکاری کرد و تغییر داد.

    Style Manipulation در DOM

    فرض کنید ما یک عنصر HTML -به شکل زیر داریم:

    <div id="myDiv" class="box">Hello, World!</div>

    حالا، بیایید با استفاده از +به شکل زیر داریم:


    <div id="myDiv" class="box">Hello, World!</div>

    حالا، بیایید با استفاده از JavaScript، استایل این عنصر را تغییر دهیم:

    تغییر استایل با استفاده از خاصیت style
    let myDiv = document.getElementById('myDiv');

    myDiv.style.backgroundColor = 'lightblue';

    myDiv.style.color = 'white';

    myDiv.style.fontSize = '20px';

    myDiv.style.margin = '10px';
    استفاده از classList برای مدیریت کلاس‌ها
    myDiv.classList.add('highlight');

    myDiv.classList.remove('box');

    if (myDiv.classList.contains('highlight')) {
    console.log('The highlight class is applied');
    }

    myDiv.classList.toggle('active');
    استفاده از cssText برای تنظیم چندین استایل به صورت یکجا
    myDiv.style.cssText = `
    background-color: lightgreen;
    color: black;
    font-size: 18px;
    padding: 15px;
    border: 2px solid black;
    `;
    اضافه کردن استایل‌های پویا با استفاده از setAttribute
    myDiv.setAttribute('style', 'background-color: pink; color: blue; font-weight: bold;');

    ما می‌توانیم این کلاس‌ها را به عناصر HTML @@ -119,7 +126,7 @@ ای که در اختیارتون قرار داده شده است آیتم های قسمت Article را بسازید

    نکات

    • ساختار سلسله‌مراتبی و گزارش خود را برای منتور خود ارسال کنید
    - + \ No newline at end of file diff --git a/docs/frontend/phase03-ui-ux/index.html b/docs/frontend/phase03-ui-ux/index.html index 660a9b90..f8cf458e 100644 --- a/docs/frontend/phase03-ui-ux/index.html +++ b/docs/frontend/phase03-ui-ux/index.html @@ -6,7 +6,7 @@ UI/UX | آکادمی ستاره - + @@ -118,7 +118,7 @@ حاصل شود.

    Patreon&#39;s Logo - Before and After

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


    پروژه

    سایتی که تا اینجا طراحی کرده‌اید را از منظر UI و UX بررسی کنید. در صورتی که جایی از سایت مشکلی مشاهده می‌کنید، آن را برطرف کنید.

    - + \ No newline at end of file diff --git a/docs/frontend/phase04-css-and-sass/index.html b/docs/frontend/phase04-css-and-sass/index.html index 5038c6d0..95b59383 100644 --- a/docs/frontend/phase04-css-and-sass/index.html +++ b/docs/frontend/phase04-css-and-sass/index.html @@ -6,7 +6,7 @@ CSS & Sass | آکادمی ستاره - + @@ -94,7 +94,7 @@ استفاده کنید.
  • فقط Layout صفحه مشخص شده است.
  • کارآموزان باید با خلاقیت خود، صفحه را به صورت زیبا و دلخواه ای که مورد تایید منتور خود است زیبا‌سازی کنند.
  • - + \ No newline at end of file diff --git a/docs/frontend/phase05-typescript/index.html b/docs/frontend/phase05-typescript/index.html index 60eca07d..6717616d 100644 --- a/docs/frontend/phase05-typescript/index.html +++ b/docs/frontend/phase05-typescript/index.html @@ -6,7 +6,7 @@ TypeScript | آکادمی ستاره - + @@ -167,7 +167,7 @@ ای که در اختیارتون قرار داده شده است آیتم های قسمت Article را بسازید

    نکات

    • کارایی پروژه را به منتور خود نمایش دهید
    - + \ No newline at end of file diff --git a/docs/frontend/phase06-clean-code/index.html b/docs/frontend/phase06-clean-code/index.html index f8e718fb..fadbc02a 100644 --- a/docs/frontend/phase06-clean-code/index.html +++ b/docs/frontend/phase06-clean-code/index.html @@ -6,7 +6,7 @@ Clean Code | آکادمی ستاره - + @@ -287,7 +287,7 @@ یکی از تیم‌هارا بررسی کنید

    نکات

    • کد پروژه شما حداقل باید توسط یکی از تیم‌ها بررسی شود و Approve داده شود
    - + \ No newline at end of file diff --git a/docs/frontend/phase07-ci-cd/index.html b/docs/frontend/phase07-ci-cd/index.html index 0bccef0e..33b52fda 100644 --- a/docs/frontend/phase07-ci-cd/index.html +++ b/docs/frontend/phase07-ci-cd/index.html @@ -6,7 +6,7 @@ CI/CD | آکادمی ستاره - + @@ -36,7 +36,7 @@ در صفحۀ Actions پروژۀ خود می‌توانید اجرا آن را مرحله به مرحله زیر نظر بگیرید و در صورتی که خطایی رخ دهد از آن باخبر شوید.


    پروژه

    با توجه به مطالبی که در این فاز یاد گرفتید، فرآیند CI/CD را برای پروژۀ خود فراهم کنید.

    - + \ No newline at end of file diff --git a/docs/frontend/phase08-authentication/index.html b/docs/frontend/phase08-authentication/index.html index 7f893467..ef3bcef0 100644 --- a/docs/frontend/phase08-authentication/index.html +++ b/docs/frontend/phase08-authentication/index.html @@ -6,7 +6,7 @@ Authentication | آکادمی ستاره - + @@ -63,7 +63,7 @@ اگر هر یک از این عملیات با موفقیت انجام شود، کاربر باید به صفحۀ اصلی سایت منتقل شود. همچنین از Guard برای محافظت از صفحات خصوصی استفاده کنید. برای این کار احتیاج به یک صفحه مانند Profile دارید که در حال حاضر صرفاً کافی است حاوی یک متن ساده باشد.

    - + \ No newline at end of file diff --git a/docs/frontend/phase09-test/index.html b/docs/frontend/phase09-test/index.html index aaa6af4e..5430bdd9 100644 --- a/docs/frontend/phase09-test/index.html +++ b/docs/frontend/phase09-test/index.html @@ -6,7 +6,7 @@ Test | آکادمی ستاره - + @@ -106,7 +106,7 @@ و E2E تست بنوسید، پس از نوشتن به منتور خود تست‌های خود را نمایش دهید.

    - + \ No newline at end of file diff --git a/docs/general/index.html b/docs/general/index.html index 53b0ba88..587511dc 100644 --- a/docs/general/index.html +++ b/docs/general/index.html @@ -6,13 +6,13 @@ عمومی | آکادمی ستاره - + - + \ No newline at end of file diff --git a/docs/general/phase01-presentation/index.html b/docs/general/phase01-presentation/index.html index ee0828d3..1a08dfa3 100644 --- a/docs/general/phase01-presentation/index.html +++ b/docs/general/phase01-presentation/index.html @@ -6,7 +6,7 @@ Presentation | آکادمی ستاره - + @@ -18,7 +18,7 @@ یا اینکه چه اطلاعاتی را درج کنید؟ نکتۀ مهمی که باید در نظر بگیرید این است که از قالبی استفاده کنید که به‌راحتی خوانده شود.

    رنگ

    • اگر در اتاق تاریکی ارائه می‌دهید، از قالب رنگی تیره، در غیر این صورت از قالب رنگی روشن استفاده کنید.
    • ترکیب رنگی که استفاده می‌کنید بر روی سرعت خواندن مخاطبان اثرگذار است.
      • سریع‌ترین ترکیب رنگی، مشکی روی زرد است.
      • خواندن ترکیب رنگ‌های قرمز، سبز و قهوه‌ای برای بسیاری از مخاطبان دشوار است.
    • حتماً به تضاد رنگی توجه کنید.
    • از رنگ‌های گرم، مانند قرمز یا نارنجی، به‌عنوان پس‌زمینه استفاده نکنید.

    جزئیات

    • از اسلایدهایی استفاده کنید که جزئیات مهم را برجسته می‌کنند.
    • از استعمال جزئیاتی که مخاطب نیاز ندارد بداند یا نمی‌تواند به‌خاطر بسپارد، بپرهیزید.
    • از اطلاعاتی که صرفاً برای پُر کردن صفحه استفاده می‌شوند، استفاده نکنید (Filler Content).
    • از لیست‌های طولانی استفاده نکنید.

    ارائه

    ارائه به معنی تعامل سخنران با مخاطبان است. شما راه‌های مختلفی برای نحوۀ ارائه دارید که در ادامه مزایا و معایب هر کدام را ذکر می‌کنیم.

    حفظ‌کردن سخنرانی

    مزایا

    • امکان ارتباط چشمی را فراهم می‌کند.

    معایب

    • برای سخنرانی‌های طولانی سخت است.
    • امکان خطا وجود دارد.
    • قابل ارتقاء نیست.

    روخوانی از متن

    مزایا

    • دقت را بالا می‌برد.

    معایب

    • امکان ارتباط چشمی را حذف می‌کند.
    • به نظر طبیعی نمی‌رسد.
    • قابل ارتقاء نیست.

    بداهه‌گویی

    مزایا

    • به نظر طبیعی می‌رسد.

    معایب

    • بسیار امکان خطا وجود دارد.

    استفاده از Slideها

    مزایا

    • امکان ارتباط چشمی را فراهم می‌کند.
    • نظم را تضمین می‌کند.
    • قابل ارتقاء است.

    معایب

    • تا حدی امکان خطا وجود دارد.

    قبل از ارائه

    ارائه‌ای تاثیرگذار است که نیازهای مخاطبان هنگام طراحی آن در نظر گرفته شده باشد.

    • تمام Slideها را تا جای ممکن دقیق و منطقی مرتب کنید.

    خلاصه

    با یک Outline Slide شروع کنید که تیتر مطالبی را که قرار است ارائه شوند، در آن قرار داده‌اید.

    • مشکلی که وجود دارد را تعریف کنید (اهمیت، سختی و فرض‌ها).
    • کارهایی که قبلاً انجام شده و مرتبط با موضوع هستند را معرفی کنید (مزایا و معایب).
    • روشی که شما پیشنهاد می‌کنید را توصیف کنید (نمودار).
    • نتایج آزمایش‌هایی که انجام داده‌اید را در اختیار مخاطبان قرار دهید (کامل‌بودن، رعایت انصاف و پیچیدگی).
    • نتیجه‌گیری کنید (ایدۀ اصلی و برتری‌های آن).
    • مراجع را معرفی کنید (اطلاعات کامل).

    جزئیات

    • از قابل‌فهم‌بودن و خوانایی جلوه‌های بصری اطمینان حاصل کنید.
    • برای برجسته‌کردن نکات مهم از رنگ استفاده کنید (زیاده‌روی نکنید).
    • در یک Slide، مطالب زیادی قرار ندهید.
    • تمام مطالبی که در Slide است باید توضیح داده شوند.
    • فرمول و روابط ریاضی زیادی در Slideها قرار ندهید (فقط میزانی که مورد نیاز است).
    • تمرکز شما باید روی نتایج باشد.
    • از عکس یا نمودار برای تفهیم نکات خود بهره بگیرید.
    • به تغییرات ناگهانی موجود در نمودارها و جداول اشاره کنید.

    محتوا

    • حداقل یک Slide حاوی مشارکت‌های اصلی داشته باشید.
    • یک Slide که حاوی نتایج و جهت‌دهی برای آینده است، داشته باشید.
    • یک Slide برای لیست مقالات و مراجع داشته باشید.
    • چند Slide اضافه که حاوی جزئیات کار هستند، داشته باشید (برای زمانی که مخاطبان از شما در مورد آن‌ها سوال بپرسند).

    پیشگیری

    • برای مواقع اضطراری چند نسخۀ پشتیبان همراه خود داشته باشید (فرمت‌های مختلف مثل PDF یا ذخیره‌سازی ابری).
    • حداقل دو بار به‌صورت تمرینی ارائه دهید (برای مدیریت زمان و اعمال تغییرات مورد نیاز).
    • اگر ارائه حضوری است، قبل از آن به سالن همایش بروید و با محیط آشنا شوید.

    لباس

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

    هنگام ارائه

    اضطراب

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

    سپاس‌گزاری

    • سخنرانی خود را با تشکر از مخاطبان شروع کنید.
    • از تلاش و حمایت منتورها، مدیران و همکاران خود تشکر کنید.

    نسبت

    • چند دقیقه در مورد نسبت این ارائه با مخاطبان صحبت کنید.
    • نتایج را خلاصه‌وار توضیح دهید.
    • ارتباط این مطلب با مطالب دیگری که ارائه داده شده‌اند یا قرار است ارائه داده شوند، چیست؟
    • چرا این مطلب توجه شما را جلب کرد و می‌خواهید آن را ارائه دهید؟

    جذب

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

    ارتباط چشمی

    • همواره ارتباط چشمی برقرار کنید.
    • به مخاطبان نگاه کنید، نه پرده نمایش.
    • به افراد مختلف نگاه کنید و سعی کنید با همه ارتباط بگیرید.

    محتوا

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

    پرسش و پاسخ

    • حتماً بخشی از زمان را به پرسش و پاسخ اختصاص دهید (10 الی 15 دقیقه برای یک سخنرانی 45 دقیقه‌ای).
    • برای سوالات سخت و چالشی خودتان را آماده کنید.
    • در برابر سوالاتی که سخت هستند، بیش از حد حالت تدافعی نگیرید.
    • سوال را تکرار کنید.
    • یک سوال سخت می‌تواند تبدیل به یک ایده شود و در تحقیقات بعدی از آن استفاده کرد.
    • خیلی راحت بگویید نمی‌دانم.
    • در صورت لزوم به کسی که سوال را پرسیده پیشنهاد دهید بعد از سخنرانی با او گفت‌وگو کنید.
    • چیزی نگویید که از آن اطمینان ندارید.
    - + \ No newline at end of file diff --git a/docs/general/phase02-grammar/index.html b/docs/general/phase02-grammar/index.html index 001c1e3e..426209ed 100644 --- a/docs/general/phase02-grammar/index.html +++ b/docs/general/phase02-grammar/index.html @@ -6,7 +6,7 @@ Grammar | آکادمی ستاره - + @@ -53,7 +53,7 @@ تا لیستی از کلمات مشابه را به شما نشان دهد؛ همچنین در صورتی که بر روی هرکدام از نتایج کلیک کنید، توضیحات مختصری را در مورد علت انتخاب املای مورد نظر به شما می‌دهد.


    کلیدهای میانبر

    عبارتمیانبر
    فتحهShift + ش
    ضمهShift + س
    کسرهShift + ی
    تنوین فتحهShift + ض
    تنوین ضمهShift + ص
    تنوین کسرهShift + ث
    ویرگولShift + ف
    نقطه‌ویرگولShift + غ
    گیومه بازShift + ن
    گیومه بستهShift + م
    کشیدن حروفShift + ت
    نیم‌فاصلهCtrl + Shift + 2
    - + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html index 4c1bda01..e70deb34 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -6,13 +6,13 @@ مقدمات | آکادمی ستاره - +
    پرش به مطلب اصلی

    مقدمات

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

    - + \ No newline at end of file diff --git a/docs/intro/phase01-onboarding/index.html b/docs/intro/phase01-onboarding/index.html index 88c6d145..b1aaf73a 100644 --- a/docs/intro/phase01-onboarding/index.html +++ b/docs/intro/phase01-onboarding/index.html @@ -6,7 +6,7 @@ Onboarding | آکادمی ستاره - + @@ -22,7 +22,7 @@ برو؛ اونجا لیستی از Issueهای باز رو می‌تونی ببینی؛ اسم خودت رو پیدا و Issue رو مطالعه کن.

    - + \ No newline at end of file diff --git a/docs/intro/phase02-health/index.html b/docs/intro/phase02-health/index.html index 43fba256..80ac74b8 100644 --- a/docs/intro/phase02-health/index.html +++ b/docs/intro/phase02-health/index.html @@ -6,7 +6,7 @@ Health | آکادمی ستاره - + @@ -26,7 +26,7 @@ یک نمونه از این برنامه‌هاست که متن‌باز هست و برای هر سه سیستم‌عامل دسکتاپ وجود داره.

    استفاده از فیلتر نور آبی

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

    - + \ No newline at end of file diff --git a/docs/intro/phase03-non-tech/index.html b/docs/intro/phase03-non-tech/index.html index 078564cd..6d5f7fba 100644 --- a/docs/intro/phase03-non-tech/index.html +++ b/docs/intro/phase03-non-tech/index.html @@ -6,7 +6,7 @@ Non-Tech Meetings | آکادمی ستاره - + @@ -29,7 +29,7 @@ بازی های کامپیوتری مثل کانتر(Counter-Strike)، اسم فامیلی، آوالون (Avalon)، پانتومیم، اسکریبل و ... و هم یک سری مسابقه های معمایی و پازلی که به لول آخر برسیم تا برنده شیم.

    - + \ No newline at end of file diff --git a/docs/intro/phase04-git/index.html b/docs/intro/phase04-git/index.html index 14c23cde..f33685ec 100644 --- a/docs/intro/phase04-git/index.html +++ b/docs/intro/phase04-git/index.html @@ -6,7 +6,7 @@ Git | آکادمی ستاره - + @@ -64,7 +64,7 @@ همچنان که کامیت می‌سازید، یک برنچ master برایتان ساخته می‌شود که به آخرین کامیتی که ساخته‌اید اشاره می‌کند. هر بار که کامیت می‌کنید نشانگر برنچ master به طور خودکار به جلو حرکت می‌کند.

    چگونه گیت می‌داند که روی چه شاخه‌ای کار می‌کنید؟

    گیت نشانگر خاصی به نام HEAD را در خود دارد. HEAD نشانگری است که به برنچ محلی که روی آن هستید اشاره می‌کند.

    ساختن برنچ جدید

    برای ساخت یک برنچ جدید (اشاره‌گر به مکان کنونی HEAD) کافی است از دستور زیر استفاده کنید تا یک برنچ جدید با نام دلخواه برای شما ساخته شود:

    git branch <branch-name>

    تعویض برنچ‌ها

    برای تعویض یا جابه‌جایی به یک برنچ از پیش ساخته شده، می‌توانید دستور زیر را اجرا کنید:

    git checkout <branch-name>

    مزیت استفاده از برنچ‌ها

    عموماً از برنچ‌ها برای مدیریت دسترسی و حفاظت از شاخۀ اصلی استفاده می‌شود.

    ادغام برنچ‌ها

    برای ادغام first-branch با second-branch ابتدا به second-branch میرویم و سپس با استفاده از دستور merge، محتویات شاخۀ first-branch را به شاخۀ second-branch نیز منتقل می‌کنیم:

    git checkout second-branch
    git merge first-branch

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

    - + \ No newline at end of file diff --git a/docs/meetings/04-1-1/index.html b/docs/meetings/04-1-1/index.html index e17962bf..8c9d2b4b 100644 --- a/docs/meetings/04-1-1/index.html +++ b/docs/meetings/04-1-1/index.html @@ -6,7 +6,7 @@ جلسات یک به یک | آکادمی ستاره - + @@ -15,7 +15,7 @@ بگذارد.

    چارچوب

    به طور کلی جلسات یک به یک در کداستار از دو بخش اصلی تشکیل می‌شوند:

    1. دریافت بازخورد

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

    2. انتقال تجربه

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

    - + \ No newline at end of file diff --git a/docs/meetings/ama/index.html b/docs/meetings/ama/index.html index 384f3291..1cab0846 100644 --- a/docs/meetings/ama/index.html +++ b/docs/meetings/ama/index.html @@ -6,7 +6,7 @@ جلسات AMA | آکادمی ستاره - + @@ -21,7 +21,7 @@ مهمان می‌تواند یک ارائه‌ی کوتاه (حداکثر 15 دقیقه) برای کارآموزان داشته باشد. در ادامه مهمان به سوالاتی که کارآموزان پیش از جلسه در فرم مربوط به جمع‌آوری سوالات ثبت کرده‌اند پاسخ می‌دهد. پس از پاسخ به سوالات از پیش ثبت شده، مهمان می‌تواند به صلاحدید خود به سایر سوالات کارآموزان نیز پاسخ دهد.

    - + \ No newline at end of file diff --git a/docs/meetings/coffee-chat/index.html b/docs/meetings/coffee-chat/index.html index 38b520df..86ed5bcb 100644 --- a/docs/meetings/coffee-chat/index.html +++ b/docs/meetings/coffee-chat/index.html @@ -6,7 +6,7 @@ جلسات غیررسمی | آکادمی ستاره - + @@ -17,7 +17,7 @@ که بنا بر صلاحدید ارشدها نیاز به تغییر زمان یا افراد جلسه بود، کارآموزان موظف به اعمال تغییر خواسته شده و دریافت تایید ارشدها هستند.

    چارچوب

    جلسات غیررسمی چارچوبی برای برگزاری ندارند، اما حفظ رفتار حرفه‌ای در این جلسات الزامی است.

    عدم حضور در جلسه غیررسمی (به هر دلیل) شامل امتیاز منفی می‌شود.

    - + \ No newline at end of file diff --git a/docs/meetings/daily/index.html b/docs/meetings/daily/index.html index 8e94a247..774eb2f2 100644 --- a/docs/meetings/daily/index.html +++ b/docs/meetings/daily/index.html @@ -6,7 +6,7 @@ جلسات روزانه | آکادمی ستاره - + @@ -46,7 +46,7 @@ و ...)، آموزش برخی tip and trickهای تکنولوژی‌های مورد استفاده و انتقال موضوعات جذاب روز درباره حوزه مورد توجه کارآموزی اشاره کرد.

    - + \ No newline at end of file diff --git a/docs/meetings/gathering/index.html b/docs/meetings/gathering/index.html index 105d3278..a00f9ba0 100644 --- a/docs/meetings/gathering/index.html +++ b/docs/meetings/gathering/index.html @@ -6,7 +6,7 @@ جلسات دورهمی | آکادمی ستاره - + @@ -15,7 +15,7 @@ دورهمی حاضر می‌باشد.

    مدت زمان جلسه

    مدت زمان جلسه با توجه نظر برگزارکنندگان جلسه تعیین می‌شود.

    چارچوب جلسه

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

    - + \ No newline at end of file diff --git a/docs/meetings/index.html b/docs/meetings/index.html index 3ddf7428..a58c081b 100644 --- a/docs/meetings/index.html +++ b/docs/meetings/index.html @@ -6,13 +6,13 @@ جلسات | آکادمی ستاره - + - + \ No newline at end of file diff --git a/docs/project/index.html b/docs/project/index.html index eb07e69f..cfa6a9ac 100644 --- a/docs/project/index.html +++ b/docs/project/index.html @@ -6,13 +6,13 @@ پروژه | آکادمی ستاره - +
    پرش به مطلب اصلی

    پروژه

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

    - + \ No newline at end of file diff --git a/docs/project/phase01-etl/index.html b/docs/project/phase01-etl/index.html index 9a0639ad..73c96388 100644 --- a/docs/project/phase01-etl/index.html +++ b/docs/project/phase01-etl/index.html @@ -6,7 +6,7 @@ ETL | آکادمی ستاره - + @@ -53,7 +53,7 @@ صفحۀ GitHub آن مشاهده کنید.


    اشتراک‌گذاری

    توصیه می‌کنیم Pipeline خود را با اعضای تیم به اشتراک بگذارید، Pipeline آن‌ها را نیز بررسی کنید و روش‌های مورد استفاده را ببینید. برای این کار می‌توانید از آیکن Export the pipeline استفاده کنید.

    - + \ No newline at end of file diff --git a/docs/project/star-sprint-project/index.html b/docs/project/star-sprint-project/index.html index 0a350d52..722ad901 100644 --- a/docs/project/star-sprint-project/index.html +++ b/docs/project/star-sprint-project/index.html @@ -6,7 +6,7 @@ BI | آکادمی ستاره - + @@ -54,7 +54,7 @@ استخراج شده و نمودار نمایش داده می‌شود.

    note

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


    تجمیع سازی پیشرفته

    در این مرحله کاربر علاوه بر میانگین می‌تواند از تجمیع سازی‌هایی مانند میانه، حداکثر، حداقل، تعداد و جمع روی ستون تجمیع سازی استفاده کند.


    لاگ گیری و تحلیل لاگ

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

    - + \ No newline at end of file diff --git a/docs/roadmaps/Backend/index.html b/docs/roadmaps/Backend/index.html index 40809368..55a89644 100644 --- a/docs/roadmaps/Backend/index.html +++ b/docs/roadmaps/Backend/index.html @@ -6,13 +6,13 @@ Backend | آکادمی ستاره - +
    پرش به مطلب اصلی

    Backend

    سلام!😊

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

    انتخاب زبان برنامه‌نویسی

    اولین قدم، انتخاب زبان برنامه‌نویسیه. پیشنهاد ما زبان‌های OOP مثل Java یا #C هستن. این زبان‌ها به دلیل شیءگرایی و ساختارمند بودن، در پروژه‌های بزرگ و سازمانی استفاده می‌شن. یادگیری اصول برنامه‌نویسی با این زبان‌ها به شما کمک می‌کنه تا پایه‌ای قوی برای یادگیری زبان‌های دیگر و مفاهیم پیشرفته‌تر داشته باشین.

    فاز اول: تسلط بر زبان Java یا #C 👨‍💻

    برای شروع، می‌تونین با Java یا #C کار کنین. اگه تصمیم به یادگیری Java گرفتی و بعدا خواستی به #C مهاجرت کنی، اصلا جای نگرانی نیست؛ مفاهیم OOP و بسیاری از اصول برنامه‌نویسی در هر دو زبان مشترکن. فقط کافیه سینتکس‌ها و کتابخانه‌های مخصوص #C رو یاد بگیری که با تمرین و استفاده از منابع آموزشی مثل مستندات مایکروسافت به راحتی ممکنه.

    منابع پیشنهادی:

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

    جاواکاپ

    برنامه‌نویسی پیشرفته شریف (AP شریف): این دوره شامل منابع متنوعیه که پایه و اساس دانش یک مهندس نرم‌افزار رو تشکیل می‌ده. تمرین‌ها و پروژه‌ها رو انجام بده و کیفیت کارت رو بررسی کن.

    AP شریف

    ثبت‌نام در دوره

    توصیه ما 🌟

    اول جاواکاپ رو ببین و تمرین‌هاش رو حل کن، بعدش برو سراغ AP شریف و تمرین‌ها و پروژه‌های اون رو انجام بده. برای دسترسی به تمرین‌های بیشتر می‌تونی از سایت کوئرا یا موارد مشابه کمک بگیری.

    سایت‌های مشابه کوئرا:

    برای ارزیابی کدها و بررسی میزان پیشرفت، علاوه بر کوئرا، می‌تونین از سایت‌های مشابهی مثل Codeforces، HackerRank، و LeetCode استفاده کنین. این سایت‌ها بستری عالی برای تمرین و ارزیابی مهارت‌های برنامه‌نویسی فراهم می‌کنن.

    فاز دوم: ساختمان داده و الگوریتم‌ها 📚

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

    پلی‌لیست GeeksForGeeks

    تمرینات الگوریتمی کوئرا

    فاز سوم: فریمورک‌ها و تکنولوژی‌های کاربردی 🔧

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

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

    مستندات کارآموزی کداستار

    ممکنه یه جاهایی نیاز به ویدیو پیدا کنی. برای این کار میتونی از یوتیوب و آپارات کداستار کمک بگیری.

    آپارات کداستار

    فاز چهارم: پروژه‌های عملی و همکاری در تیم‌ها 👥

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

    فاز پنجم: یادگیری مستمر و به‌روز رسانی دانش 📖

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

    منابع پیشنهادی:

    دوره‌های Coursera: این پلتفرم دوره‌های متنوعی در حوزه مهندسی نرم‌افزار ارائه می‌ده که می‌تونی ازشون استفاده کنی.

    کتاب‌های مرجع: کتاب‌هایی مثل "Clean Code" نوشته Robert C. Martin و "Design Patterns" نوشته Erich Gamma و همکارانش می‌تونن منابع بسیار خوبی باشن.

    کنفرانس‌ها و وبینارها: شرکت در این رویدادها باعث می‌شه با جدیدترین تکنولوژی‌ها و روش‌ها آشنا بشی.

    سخن‌آخر 🎓

    امیدواریم این نقشه راه بهت کمک کنه تا مهارت‌های ضروری در حوزه مهندسی نرم‌افزار رو کسب کنی و به رشد فردی و حرفه‌ای خودت برسی.

    موفق باشی، تیم کداستار⭐

    - + \ No newline at end of file diff --git a/docs/roadmaps/DevOps/index.html b/docs/roadmaps/DevOps/index.html index 3f2edc62..882269ce 100644 --- a/docs/roadmaps/DevOps/index.html +++ b/docs/roadmaps/DevOps/index.html @@ -6,13 +6,13 @@ DevOps | آکادمی ستاره - +
    پرش به مطلب اصلی

    DevOps

    سلام!😊

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

    💡 اگر می‌خوای تبدیل به یک متخصص DevOps بشی، اولین پیش‌نیاز شناخت چرخه تولید نرم‌افزاره. چون که به عنوان یک متخصص DevOps از تو انتظار می‌ره که این چرخه رو بفهمی و برای بهینه کردن هرچه بیشتر اون تلاش کنی.

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

    🔍 بعد از شناخت فرهنگ DevOps و چرخه تولید نرم‌افزار باید بریم سراغ ابزارهایی که به ما کمک می‌کنن این فرهنگ رو پیاده کنیم. اگر به علامت DevOps و چرخه نرم‌افزار دقت کنیم می‌بینیم که چند بخش مختلف مثل Build, Test, Release, Deploy, Operate و Monitor داره. یک متخصص DevOps خوب، برای هر کدوم از این بخش‌ها یک ابزار مناسب در جعبه‌ابزارش داره و می‌تونه در زمان نیاز از اون ابزار برای بهتر کردن روال کار کمک بگیره.

    📌 اگر بخوایم دقیق‌تر بشیم، احتمالا شما باید لینوکس، برنامه‌نویسی با یک زبان، ابزارهای اتوماتیک‌سازی مثل Ansible، ابزارهای بیلد و تست یعنی یکی از پایپلاین‌های CI مرسوم مثل (GitHub Actions, Azure Pipelines, Gitlab CI یا Jenkins)، ابزارهای مدیریت کانتینر مثل Docker و Kubernetes و ابزارهای مانیتورینگ مثل ELK و Grafana و Prometheus رو بشناسید.

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

    🔗 همونطور که گفتیم بهترین منبع برای یادگیری این ابزارها داک اصلی خودشونه اما اگر می‌خواید برای یادگیریتون مسیر خاصی داشته باشید و اون رو دنبال کنید، https://roadmap.sh/devops و https://github.com/MichaelCade/90DaysOfDevOps منابع خوبی هستن.

    موفق باشی، تیم کداستار⭐

    - + \ No newline at end of file diff --git a/docs/roadmaps/Frontend/index.html b/docs/roadmaps/Frontend/index.html index 7c2f00ac..9fba026c 100644 --- a/docs/roadmaps/Frontend/index.html +++ b/docs/roadmaps/Frontend/index.html @@ -6,7 +6,7 @@ Frontend | آکادمی ستاره - + @@ -58,7 +58,7 @@ 🟥Decoded Frontend
    🟥Web Dev Simplified
    🟥Kevin Powell

    موفق باشی، تیم کداستار⭐

    - + \ No newline at end of file diff --git a/docs/software-engineering/index.html b/docs/software-engineering/index.html index 9acb9fac..639e3687 100644 --- a/docs/software-engineering/index.html +++ b/docs/software-engineering/index.html @@ -6,13 +6,13 @@ مهندسی نرم‌افزار | آکادمی ستاره - + - + \ No newline at end of file diff --git a/docs/software-engineering/phase01-c-sharp/index.html b/docs/software-engineering/phase01-c-sharp/index.html index 2b82bc24..d69e47d1 100644 --- a/docs/software-engineering/phase01-c-sharp/index.html +++ b/docs/software-engineering/phase01-c-sharp/index.html @@ -6,7 +6,7 @@ C# | آکادمی ستاره - + @@ -170,7 +170,7 @@ استفاده ‌کنید.

    برای آشنایی با امکانات جدید زبان #C می‌توانید ویدئوهای زیر را مشاهده کنید.

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase02-full-text-search-project/index.html b/docs/software-engineering/phase02-full-text-search-project/index.html index d14524d1..4b2be14a 100644 --- a/docs/software-engineering/phase02-full-text-search-project/index.html +++ b/docs/software-engineering/phase02-full-text-search-project/index.html @@ -6,7 +6,7 @@ Full-Text Search | آکادمی ستاره - + @@ -77,7 +77,7 @@ نباشند.

    مطالعه بیشتر

    برای آشنایی بیشتر با نحوۀ کار موتور‌های جستجو دیدن ویدئوی How Google searches one document among Billions of documents quickly توصیه می‌شود.

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase03-clean-code/index.html b/docs/software-engineering/phase03-clean-code/index.html index e43af735..b8767103 100644 --- a/docs/software-engineering/phase03-clean-code/index.html +++ b/docs/software-engineering/phase03-clean-code/index.html @@ -6,7 +6,7 @@ Clean Code | آکادمی ستاره - + @@ -62,7 +62,7 @@ است را نادیده بگیرید.

    برای آشنایی بیشتر با موضوع Code Review می‌توانید ویدئوی زیر را مشاهده کنید:

    How to Do Code Reviews Like a Human

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase04-unit-test/index.html b/docs/software-engineering/phase04-unit-test/index.html index d064a076..9adabdc9 100644 --- a/docs/software-engineering/phase04-unit-test/index.html +++ b/docs/software-engineering/phase04-unit-test/index.html @@ -6,7 +6,7 @@ Unit Test | آکادمی ستاره - + @@ -84,7 +84,7 @@ کنند و همچنین شما نیز نگاهی به تست بقیه گروه‌ها داشته باشید. آیا با دید یکسانی تست نوشته‌اید؟ برای چه بخشی تست ننوشته بودید و دلیل آن چه چیزی بوده؟

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase05-tdd/index.html b/docs/software-engineering/phase05-tdd/index.html index 3921cfa8..3bbad199 100644 --- a/docs/software-engineering/phase05-tdd/index.html +++ b/docs/software-engineering/phase05-tdd/index.html @@ -6,7 +6,7 @@ TDD | آکادمی ستاره - + @@ -28,7 +28,7 @@ این ورودی به صورت زیر به برنامه در کنار ورودی های دیگر داده می‌شود :

    get +disease -cough "star academy"
    get +illness +disease -cough -"star academy"

    تحلیل ورودی

    get : حتما وجود داشته باشد
    +illness +disease : حداقل یکی از این دو وجود داشته باشد
    -cough : نباید وجود داشته باشد
    "star academy" : این عبارت حتما وجود داشته باشد
    -"star academy" : این عبارت وجود نداشته باشد

    این مرحله را سعی کنید کاملا با رویکرد TDD انجام دهید.

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase06-cicd/index.html b/docs/software-engineering/phase06-cicd/index.html index e1a7ff88..ebf34c4f 100644 --- a/docs/software-engineering/phase06-cicd/index.html +++ b/docs/software-engineering/phase06-cicd/index.html @@ -6,7 +6,7 @@ CI/CD | آکادمی ستاره - + @@ -132,7 +132,7 @@ پکیج به پروژه شما اضافه می‌شود و می‌توانید از کلاس‌های آن استفاده کنید. همچنین اگر پکیج خود را update کرده باشید، با اجرای این command، نسخه جدید پکیج به پروژه شما اضافه می‌شود.

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

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase07-SQL/index.html b/docs/software-engineering/phase07-SQL/index.html index 98c54fcf..571950dc 100644 --- a/docs/software-engineering/phase07-SQL/index.html +++ b/docs/software-engineering/phase07-SQL/index.html @@ -6,7 +6,7 @@ SQL | آکادمی ستاره - + @@ -181,7 +181,7 @@ می‌توان ستون‌ها را دسته‌بندی کرد. این دستور با Aggregate Funcitons به کار می‌رود. برای مثال دستور زیر تعداد آقایان و خانم‌ها را خروجی می‌دهد.

    SELECT IsMale, COUNT(IsMale) FROM Student GROUP BY IsMale;

    دستور زیر تعداد دروس ثبت‌نامی هر دانشجو را نشان می‌دهد.

    SELECT ParticipantStudentNumber, COUNT(ParticipantStudentNumber)
    FROM Enrollment
    GROUP BY ParticipantStudentNumber;
    - + \ No newline at end of file diff --git a/docs/software-engineering/phase08-EFCore/index.html b/docs/software-engineering/phase08-EFCore/index.html index e64369df..98eab0bd 100644 --- a/docs/software-engineering/phase08-EFCore/index.html +++ b/docs/software-engineering/phase08-EFCore/index.html @@ -6,7 +6,7 @@ EFCore | آکادمی ستاره - + @@ -38,7 +38,7 @@ داده‌ها را به روزرسانی کنید. برای آشنایی بیشتر با این مورد Update Records in Entity Framework Core را مطالعه نمائید.

    Delete

    برای حذف داده‌ها در جدول به راحتی می‌توانید به وسیله EFCore داده‌ها را حذف کنید. برای آشنایی بیشتر با این مورد Delete Records in Entity Framework Core را مطالعه نمائید.

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase08-optional01-Elasticsearch/index.html b/docs/software-engineering/phase08-optional01-Elasticsearch/index.html index 4b585f44..48866158 100644 --- a/docs/software-engineering/phase08-optional01-Elasticsearch/index.html +++ b/docs/software-engineering/phase08-optional01-Elasticsearch/index.html @@ -6,7 +6,7 @@ Elasticsearch (اختیاری) | آکادمی ستاره - + @@ -245,7 +245,7 @@ آن است که در زیر لینک آن آمده است:

    اشعار از API وبسایت گنجور به دست آمده است.

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase08-optional02-nest/index.html b/docs/software-engineering/phase08-optional02-nest/index.html index 5eada0df..28e3e805 100644 --- a/docs/software-engineering/phase08-optional02-nest/index.html +++ b/docs/software-engineering/phase08-optional02-nest/index.html @@ -6,7 +6,7 @@ Nest (اختیاری) | آکادمی ستاره - + @@ -81,7 +81,7 @@ استفاده کنید. از Response Validatorی که در قسمت قبل نوشتید در این اپلیکیشن استفاده کنید.

    - + \ No newline at end of file diff --git a/docs/software-engineering/phase09-web/index.html b/docs/software-engineering/phase09-web/index.html index ca0a37af..56154e3c 100644 --- a/docs/software-engineering/phase09-web/index.html +++ b/docs/software-engineering/phase09-web/index.html @@ -6,7 +6,7 @@ ASP.NET Core | آکادمی ستاره - + @@ -104,7 +104,7 @@ برگرداند.

    پی‌نوشت

    جهت آشنایی با ASP.NET Core Web API می‌توانید از ویدئوهای آموزشی Web APIs for Beginners مایکروسافت نیز استفاده کنید.

    - + \ No newline at end of file diff --git a/docs/tags/index.html b/docs/tags/index.html index bfb02ae1..2e3fbca6 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -6,13 +6,13 @@ برچسب‌ها | آکادمی ستاره - + - + \ No newline at end of file diff --git a/docs/tags/js-fundamental/index.html b/docs/tags/js-fundamental/index.html index e3054fa3..5c3d183a 100644 --- a/docs/tags/js-fundamental/index.html +++ b/docs/tags/js-fundamental/index.html @@ -6,13 +6,13 @@ یک مطلب برچسب شده با "Js-Fundamental" | آکادمی ستاره - +
    پرش به مطلب اصلی

    یک مطلب برچسب شده با "Js-Fundamental"

    مشاهده تمام برچسب‌ها
    - + \ No newline at end of file diff --git a/docs/tags/readonly/index.html b/docs/tags/readonly/index.html index 907f0b94..d3664836 100644 --- a/docs/tags/readonly/index.html +++ b/docs/tags/readonly/index.html @@ -6,13 +6,13 @@ یک مطلب برچسب شده با "Readonly" | آکادمی ستاره - +
    پرش به مطلب اصلی

    یک مطلب برچسب شده با "Readonly"

    مشاهده تمام برچسب‌ها

    UI/UX

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

    - + \ No newline at end of file diff --git a/index.html b/index.html index 720549c0..7d9e71b2 100644 --- a/index.html +++ b/index.html @@ -6,13 +6,13 @@ آکادمی ستاره - + - + \ No newline at end of file