en
Feedback
DevGuide

DevGuide

Open in Telegram

Level up daily with insider dev hacks, smart career tips, and real talk! ๐Ÿš€ โšก๏ธ Stay connected with me: linktr.ee/AliSamir ๐Ÿ“ To advertise on the channel: https://telega.io/c/the_developer_guide

Show more

๐Ÿ“ˆ Analytical overview of Telegram channel DevGuide

Channel DevGuide (@the_developer_guide) is an active participant. Currently, the community unites 11 075 subscribers, ranking 11 259 in the Technologies & Applications category and 11 128 in the Iraq region.

๐Ÿ“Š Audience metrics and dynamics

Since its creation on ะฝะตะฒั–ะดะพะผะพ, the project has demonstrated rapid growth, gathering an audience of 11 075 subscribers.

According to the latest data from 15 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -27 over the last 30 days and by -5 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 7.37%. Within the first 24 hours after publication, content typically collects 2.61% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 816 views. Within the first day, a publication typically gains 289 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 4.
  • Thematic interests: Content is focused on key topics such as ู…ูŽุดุฑููˆุน, ุญูŽุงุฌูŽุฉ, ุจูŽูŠูŽุงู†, ุฌูุฏู‘, ุทูŽู„ูŽุจ.

๐Ÿ“ Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
โ€œLevel up daily with insider dev hacks, smart career tips, and real talk! ๐Ÿš€ โšก๏ธ Stay connected with me: linktr.ee/AliSamir ๐Ÿ“ To advertise on the channel: https://telega.io/c/the_developer_guideโ€

Thanks to the high frequency of updates (latest data received on 16 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

11 075
Subscribers
-524 hours
+27 days
-2730 days
Posts Archive
DevGuide
11 075
ุงู„ู€ Asynchronous Programming ููŠ JavaScript ๐Ÿ’ฏ
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
ูˆุฃู†ุช ุดุบุงู„ ุจู„ุบุฉ JavaScript ุฃูƒูŠุฏ ุณู…ุนุช ุนู† ู…ุตุทู„ุญ ุงู„ู€ Asynchronous Programming ูˆุงู„ู„ูŠ ูŠุนุชุจุฑ ุญุงุฌุฉ ู…ู‡ู…ุฉ ู„ุงุฒู… ุชูƒูˆู† ูุงู‡ู…ู‡ุง ูƒูˆูŠุณ. ุงู„ุจุฑู…ุฌุฉ ููŠู‡ุง ู†ูˆุนูŠู† ุฃุณุงุณูŠูŠู†: Synchronous ูˆAsynchronousุŒ ูˆู„ู…ุง ู†ูู‡ู… ุงู„ูุฑู‚ ุจูŠู†ู‡ู…ุŒ ู‡ูŠุจู‚ู‰ ุฃุณู‡ู„ ู†ุนุฑู ู„ูŠู‡ ุงู„ู€ Asynchronous ู…ู‡ู… ุฌุฏู‹ุง. โ€”โ€”โ€” ๐Ÿ“Œ ุงู„ู€ Synchronous Programming (ุงู„ุชู†ููŠุฐ ุงู„ู…ุชุณู„ุณู„): ุฏู‡ ูŠุนู†ูŠ ุฅู† ุงู„ูƒูˆุฏ ุจูŠุชู†ูุฐ ุฎุทูˆุฉ ุจุฎุทูˆุฉุŒ ุจู…ุนู†ู‰ ุฅู† ุงู„ูƒูˆุฏ ู…ุจูŠูƒู…ู„ุด ุชู†ููŠุฐ ุฃูŠ ุฎุทูˆุฉ ุชุงู†ูŠุฉ ุฅู„ุง ู„ู…ุง ุงู„ุฎุทูˆุฉ ุงู„ู„ูŠ ู‚ุจู„ู‡ุง ุชุฎู„ุต. ูŠุนู†ูŠ ู„ูˆ ุนู†ุฏูƒ ุนู…ู„ูŠุฉ ุจุชุงุฎุฏ ูˆู‚ุช ุฒูŠ ุฅู†ูƒ ุจุชุญู…ู„ ุจูŠุงู†ุงุช ู…ู† ุงู„ุณุฑูุฑ ุนู† ุทุฑูŠู‚ ุงู„ู€ APIุŒ ุงู„ูƒูˆุฏ ู‡ูŠูุถู„ ู…ุณุชู†ูŠ ู„ุญุฏ ู…ุง ุงู„ุจูŠุงู†ุงุช ุชุชุญู…ู„ ู‚ุจู„ ู…ุง ูŠูƒู…ู„ ุจุงู‚ูŠ ุงู„ุชู†ููŠุฐ. โ€”โ€”โ€” ๐Ÿ“Œ ุงู„ู€ Asynchronous Programming (ุงู„ุชู†ููŠุฐ ุบูŠุฑ ุงู„ู…ุชุณู„ุณู„): ุฃู…ุง ููŠ ุงู„ุจุฑู…ุฌุฉ AsynchronousุŒ ุงู„ูƒูˆุฏ ูŠู‚ุฏุฑ ูŠู†ูุฐ ุญุงุฌุงุช ูƒุชูŠุฑ ููŠ ู†ูุณ ุงู„ูˆู‚ุช ู…ู† ุบูŠุฑ ู…ุง ูŠุณุชู†ู‰ ุงู„ุนู…ู„ูŠุฉ ุงู„ุทูˆูŠู„ุฉ ุชุฎู„ุต. ูŠุนู†ูŠ ู„ูˆ ุนู†ุฏูƒ ุนู…ู„ูŠุฉ ุฒูŠ ุชุญู…ูŠู„ ุงู„ุจูŠุงู†ุงุช ู…ู† ุงู„ุณุฑูุฑุŒ ุงู„ูƒูˆุฏ ู…ู…ูƒู† ูŠุณุชู…ุฑ ููŠ ุชู†ููŠุฐ ุฃูƒูˆุงุฏ ุชุงู†ูŠุฉุŒ ูˆู„ู…ุง ุงู„ุจูŠุงู†ุงุช ุชุชุญู…ู„ุŒ ุงู„ูƒูˆุฏ ู‡ูŠุนุฑู ูˆูŠุชุนุงู…ู„ ู…ุน ุงู„ู†ุชูŠุฌุฉ. โ€”โ€”โ€” ๐Ÿ“Œ ุฅุฒุงูŠ ุงู„ูƒู„ุงู… ุฏู‡ ุจูŠุญุตู„ ููŠ JavaScriptุŸ ููŠ JavaScriptุŒ ุนู†ุฏู†ุง ุทุฑูŠู‚ุชูŠู† ุฑุฆูŠุณูŠุชูŠู† ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ asynchronous programming ๐Ÿ”ป ุงู„ู€ Callbacks ๐Ÿ”ป ุงู„ู€ Promises (ูˆุทุจุนู‹ุง async/await ุงู„ู„ูŠ ู‡ูˆ ุชุญุณูŠู† ู„ู„ู€ Promises) โ€”โ€”โ€” ๐Ÿ“Œ ุงู„ู€ Callbacks ุฃูˆู„ ุทุฑูŠู‚ุฉ ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ asynchronous programming ูƒุงู†ุช ุนู† ุทุฑูŠู‚ ุงู„ู€ Callbacks. ุงู„ููƒุฑุฉ ุจุจุณุงุทุฉ ุฅู†ูƒ ุจุชู…ุฑุฑ ุฏุงู„ุฉ ู…ุนูŠู†ุฉ ูƒู€ "callback" ู„ู„ูƒูˆุฏ ุงู„ู„ูŠ ุจูŠุชู†ูุฐุŒ ูˆู„ู…ุง ุงู„ูƒูˆุฏ ุฏู‡ ูŠุฎู„ุตุŒ ุงู„ุฏุงู„ุฉ ุฏูŠ ุจุชุดุชุบู„. ู„ูƒู† ุงู„ู€ callbacks ุจุชุชุญูˆู„ ุจุณุฑุนุฉ ู„ูƒูˆุฏ ู…ุนู‚ุฏ ุฌุฏู‹ุง ู„ู…ุง ูŠูƒูˆู† ุนู†ุฏูƒ ุนู…ู„ูŠุงุช ูƒุชูŠุฑ ูˆุจุชุญุชุงุฌ ุชูƒุชุจ ุญุงุฌุงุช ูƒุชูŠุฑ ุฌูˆุฉ ุจุนุถู‡ุงุŒ ูˆุฏู‡ ุงู„ู„ูŠ ุจู†ุณู…ูŠู‡ Callback Hell. โ€”โ€”โ€” ๐Ÿ“Œ ุงู„ุญู„: ุงู„ู€ Promises ู‡ู†ุง ุจูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ PromisesุŒ ุงู„ู„ูŠ ู‡ูŠ ุทุฑูŠู‚ุฉ ุฌุฏูŠุฏุฉ ูˆุฃูƒุซุฑ ุชู†ุธูŠู…ู‹ุง ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ุนู…ู„ูŠุงุช ุงู„ู€ asynchronous. ุงู„ู€ Promise ู‡ูˆ ููŠ ุงู„ุฃุณุงุณ "ูˆุนุฏ" ุฅู† ุงู„ุนู…ู„ูŠุฉ ู‡ุชุฎู„ุต ููŠ ุงู„ู…ุณุชู‚ุจู„. ุงู„ู€ Promise ุจูŠูƒูˆู† ู„ูŠู‡ 3 ุญุงู„ุงุช: ๐Ÿ”ป ุญุงู„ุฉ ุงู„ู€ Pending: ูŠุนู†ูŠ ุงู„ุนู…ู„ูŠุฉ ู„ุณู‡ ู…ุฎู„ุตุชุด. ๐Ÿ”ป ุญุงู„ุฉ ุงู„ู€ Fulfilled: ูŠุนู†ูŠ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุช ูˆุทู„ุนุช ุงู„ู†ุชูŠุฌุฉ. ๐Ÿ”ป ุญุงู„ุฉ ุงู„ู€ Rejected: ูŠุนู†ูŠ ุงู„ุนู…ู„ูŠุฉ ูุดู„ุช ูˆููŠู‡ ุฎุทุฃ ุญุตู„. ู„ู…ุง ุงู„ุนู…ู„ูŠุฉ ุชุฎู„ุต ุจู†ุฌุงุญุŒ ุงู„ู€ Promise ุจูŠุชุญูˆู„ ู„ุญุงู„ุฉ "fulfilled"ุŒ ูˆู„ูˆ ุงู„ุนู…ู„ูŠุฉ ูุดู„ุช ุจูŠุชุญูˆู„ ู„ุญุงู„ุฉ "rejected". โ€”โ€”โ€” ุฎู„ูŠู†ุง ู†ุดูˆู ู…ุซุงู„ ุนุดุงู† ู†ูู‡ู… ุงู„ูƒู„ุงู… ุฏู‡ ุจุดูƒู„ ุฃูˆุถุญ. ู‡ู†ูุชุฑุถ ุฅู†ู†ุง ุนุงูŠุฒูŠู† ู†ุญุงูƒูŠ ุนู…ู„ูŠุฉ ุงุณุชุฑุฌุงุน ุจูŠุงู†ุงุช ู…ู† ุงู„ู€ API.
const fetchData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const dataAvailable = true;

      if (dataAvailable) {
        resolve("Data retrieved successfully!");
      } else {
        reject("Error: Unable to retrieve data.");
      }
    }, 3000);
  });
};

fetchData()
  .then(result => console.log(result)) 
  .catch(error => console.log(error));
ููŠ ุงู„ูƒูˆุฏ ุฏู‡ุŒ ุงู„ูู†ูƒุดู† fetchData ุจุชุฑุฌุน Promise. ุฏุงุฎู„ ุงู„ู€ PromiseุŒ ุจู†ุณุชุฎุฏู… ุฅู…ุง resolve ู„ูˆ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุช ุฃูˆ reject ู„ูˆ ุญุตู„ ุฎุทุฃ. ุจุงุณุชุฎุฏุงู… thenุŒ ุจู†ู‚ุฏุฑ ู†ุชุนุงู…ู„ ู…ุน ุงู„ู†ุชูŠุฌุฉ ู„ูˆ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุชุŒ ูˆู„ูˆ ุญุตู„ ุฎุทุฃุŒ ุงู„ู€ catch ุจุชุณุงุนุฏู†ุง ููŠ ุงู„ุชุนุงู…ู„ ู…ุนุงู‡. โ€”โ€”โ€” ๐Ÿ“Œ ุงู„ู€ Async/Await ุนู„ุดุงู† ู†ุฎู„ูŠ ุงู„ูƒูˆุฏ ุฃุจุณุท ูˆุฃูˆุถุญุŒ ุธู‡ุฑ ุญุงุฌุฉ ุงุณู…ู‡ุง async/await ุงู„ู„ูŠ ุจุชุดุชุบู„ ุนู„ู‰ ุงู„ู€ Promises ุจุณ ุจุดูƒู„ ู…ุจุณุท ุฌุฏู‹ุง ูˆุจุชุฎู„ูŠ ุงู„ูƒูˆุฏ ูŠุจุงู† ูƒุฃู†ู‡ synchronous. ู†ูุณ ุงู„ู…ุซุงู„ ุงู„ู„ูŠ ููˆู‚ ู†ู‚ุฏุฑ ู†ูƒุชุจู‡ ุจุทุฑูŠู‚ุฉ async/await ุจุงู„ุดูƒู„ ุฏู‡:
const fetchData = async () => {
  try {
    const result = await new Promise((resolve, reject) => {
      setTimeout(() => {
        const dataAvailable = true;
        if (dataAvailable) {
          resolve("Data retrieved successfully!");
        } else {
          reject("Error: Unable to retrieve data.");
        }
      }, 3000);
    });
    console.log(result);
  } catch (error) {
    console.log(error);
  }
};

fetchData();
ุงู„ู…ูŠุฒุฉ ู‡ู†ุง ุฅู†ู†ุง ุงุณุชุฎุฏู…ู†ุง await ุนุดุงู† ู†ุณุชู†ู‰ ุงู„ู†ุชูŠุฌุฉ ู…ู† ุงู„ู€ Promise ูˆูƒุฃู† ุงู„ุนู…ู„ูŠุฉ ุฏูŠ synchronousุŒ ู„ูƒู† ููŠ ุงู„ุญู‚ูŠู‚ุฉ ุงู„ูƒูˆุฏ ุดุบุงู„ ุจุทุฑูŠู‚ุฉ asynchronous. ูˆุจุฏู„ ู…ุง ู†ุณุชุฎุฏู… then ูˆ catchุŒ ุงุณุชุฎุฏู…ู†ุง try ูˆ catch ุนู„ุดุงู† ู†ุชุนุงู…ู„ ู…ุน ุงู„ู†ุฌุงุญ ุฃูˆ ุงู„ุฎุทุฃ. โ€”โ€”โ€” ๐Ÿ“Œ ู„ูŠู‡ ุฃุณุชุฎุฏู… ุงู„ู€ Promises ูˆุงู„ู€ Async/AwaitุŸ โœ… ุชู†ุธูŠู… ุงู„ูƒูˆุฏ: ุงู„ูƒูˆุฏ ุจูŠุจู‚ู‰ ุฃู†ุถู ูˆุฃุจุณุท ููŠ ุงู„ูู‡ู… ู…ู‚ุงุฑู†ุฉ ุจุงู„ู€ Callbacks. โœ… ุงู„ู€ Error Handling ุฃูุถู„: ุงู„ุชุนุงู…ู„ ู…ุน ุงู„ุฃุฎุทุงุก ุจู‚ู‰ ุฃุณู‡ู„ ุจุงุณุชุฎุฏุงู… try/catch. โœ… ู„ู…ุง ูŠูƒูˆู† ุนู†ุฏูƒ ู…ุดุฑูˆุน ูƒุจูŠุฑุŒ ุงู„ู€ async/await ู‡ูŠุณุงุนุฏูƒ ููŠ ุฅุฏุงุฑุฉ ุงู„ุฃูƒูˆุงุฏ ุงู„ุทูˆูŠู„ุฉ ูˆุงู„ู…ุนู‚ุฏุฉ ุจุณู‡ูˆู„ุฉ. โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป

DevGuide
11 075
ู‚ู€ูˆุงุนู€ุฏ ุงู„ุจูŠุงู†ุงุช (Databases) ๐Ÿ”ป ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„
ู‚ู€ูˆุงุนู€ุฏ ุงู„ุจูŠุงู†ุงุช (Databases) ๐Ÿ”ป
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
ุงู„ุฏุงุชุงุจูŠุฒ (Database) ู‡ูŠ ุฌุฒุก ุฃุณุงุณูŠ ููŠ ุฃูŠ ุณูˆูุชูˆูŠุฑ ุณูˆุงุก ู…ูˆู‚ุน ุฃูˆ ุชุทุจูŠู‚ุŒ ู„ุฃู†ู‡ุง ุจุชุฎุฒู† ูˆุจุชุชุนุงู…ู„ ู…ุน ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุจูŠุณุชุฎุฏู…ู‡ุง ุงู„ุชุทุจูŠู‚. https://www.linkedin.com/posts/dev-alisamir_database-sql-nosql-activity-7240785181274451968-jp_6

DevGuide
11 075
ุงู„ู€ Git ๐Ÿ”ป
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
ุงู„ู€ Git ู‡ูˆ ูˆุงุญุฏ ู…ู† ุฃู‡ู… ุงู„ุฃุฏูˆุงุช ุงู„ู„ูŠ ู„ุงุฒู… ุชุชุนู„ู…ู‡ุง ูˆุชูู‡ู…ู‡ุง ูƒูˆูŠุณ ุฌุฏู‹ุง ููŠ ู…ุฌุงู„ ุงู„ุณูˆูุชูˆูŠุฑุŒ ูˆุฏู‡ ู„ุฃู†ู‡ ุจูŠุณุงุนุฏูƒ ููŠ ุฅุฏุงุฑุฉ ุงู„ุฃูƒูˆุงุฏ ุจุชุงุนุชูƒ ูˆุชู†ุธูŠู…ู‡ุง ุจุดูƒู„ ู…ุญุชุฑู ู…ู† ุบูŠุฑ ู…ุง ุชุถูŠุน ูˆู‚ุชูƒ ูˆู…ุฌู‡ูˆุฏูƒ. ุจุงุฎุชุตุงุฑุŒ Git ู‡ูˆ ู†ุธุงู… ู„ุฅุฏุงุฑุฉ ุงู„ุฅุตุฏุงุฑุงุช (Version Control System) ุงู„ู„ูŠ ุจูŠุฎู„ูŠูƒ ุชู‚ุฏุฑ ุชุญุชูุธ ุจู†ุณุฎ ู…ุฎุชู„ูุฉ ู…ู† ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ูˆุชู‚ุฏุฑ ุชุฑุฌุน ู„ุฃูŠ ู†ุณุฎุฉ ููŠ ุฃูŠ ูˆู‚ุช. ูƒู…ุงู† ุจูŠุณู‡ู„ ุนู„ูŠูƒ ุชุดุชุบู„ ู…ุน ูุฑูŠู‚ ู„ุฃู†ูƒ ุชู‚ุฏุฑ ุชุฏู…ุฌ ุดุบู„ูƒ ู…ุน ุดุบู„ ุจุงู‚ูŠ ุงู„ูุฑูŠู‚ ุจุฏูˆู† ู…ุดุงูƒู„. โ€”โ€”โ€” ๐Ÿ“Œ ุทูŠุจ ุฅูŠู‡ ู‡ูŠ ุฃู‡ู… ุฃูˆุงู…ุฑ Git ุงู„ู„ูŠ ู„ุงุฒู… ุชุนุฑูู‡ุงุŸ
โšก๏ธ ุงู„ู€ git init
ุฏู‡ ุงู„ุฃู…ุฑ ุงู„ู„ูŠ ุจูŠุนู…ู„ ุชู‡ูŠุฆุฉ (initialize) ู„ู…ุดุฑูˆุนูƒ ุนุดุงู† ูŠุชุญูˆู„ ู„ู…ุดุฑูˆุน GitุŒ ูŠุนู†ูŠ ุจูŠุนู…ู„ ู…ู„ู ู…ุฎููŠ ููŠ ุงู„ู…ุดุฑูˆุน ุจุชุงุนูƒ ุงุณู…ู‡ (git.) ุงู„ู„ูŠ ุจูŠุญุชูˆูŠ ุนู„ู‰ ูƒู„ ุงู„ุชูุงุตูŠู„ ุงู„ุฎุงุตุฉ ุจุงู„ุฅุตุฏุงุฑุงุช. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git clone
ุงู„ุฃู…ุฑ ุฏู‡ ุจูŠุณุชุฎุฏู… ู„ู…ุง ุชุญุจ ุชู†ุณุฎ ู…ุดุฑูˆุน ู…ู† GitHub ุฃูˆ ุฃูŠ ู…ุณุชูˆุฏุน (repository) ุฎุงุฑุฌูŠ ูˆุชุดุชุบู„ ุนู„ูŠู‡ ู…ุญู„ูŠู‹ุง (locally) ุนู„ู‰ ุฌู‡ุงุฒูƒ. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git status
ู…ู† ุฃู‡ู… ุงู„ุฃูˆุงู…ุฑ ุงู„ู„ูŠ ู„ุงุฒู… ุชุณุชุฎุฏู…ู‡ุง ูƒุชูŠุฑุŒ ุจูŠุนุฑุถ ู„ูƒ ุญุงู„ุฉ ุงู„ู…ู„ูุงุช ุงู„ู„ูŠ ุงุดุชุบู„ุช ุนู„ูŠู‡ุง ูˆู‡ู„ ู‡ูŠ ุฌุงู‡ุฒุฉ ู„ู„ุฅุถุงูุฉ ูˆู„ุง ู„ุงุŒ ูˆูƒู…ุงู† ุจูŠูˆุฑูŠูƒ ุฃูŠ ุชุนุฏูŠู„ุงุช ุชู…ุช ุนู„ู‰ ุงู„ู…ุดุฑูˆุน. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git add
ู„ู…ุง ุชุนุฏู„ ููŠ ุฃูŠ ู…ู„ู ูˆุนุงูˆุฒ ุชุถูŠูู‡ ู„ู„ุงุณุชุนุฏุงุฏ ู„ุนู…ู„ูŠุฉ ุงู„ุญูุธ (commit)ุŒ ุจุชุณุชุฎุฏู… ุงู„ุฃู…ุฑ ุฏู‡. ู…ุซู„ู‹ุง:
git add .
ุฏู‡ ุจูŠุถูŠู ูƒู„ ุงู„ู…ู„ูุงุช ุงู„ู„ูŠ ุชู… ุชุนุฏูŠู„ู‡ุง. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git commit -m "commit message"
ู‡ู†ุง ุจุชูŠุฌูŠ ุงู„ุฎุทูˆุฉ ุงู„ุฃู‡ู…ุŒ ุงู„ู„ูŠ ู‡ูŠ ุฅู†ูƒ ุชุญูุธ ุงู„ุชุนุฏูŠู„ุงุช ุงู„ู„ูŠ ุนู…ู„ุชู‡ุง ุจุดูƒู„ ุฏุงุฆู…ุŒ ูˆุจุงุณุชุฎุฏุงู… ุงู„ู€ -m ุชู‚ุฏุฑ ุชุถูŠู ุฑุณุงู„ุฉ ุชูˆุถุญ ุงู„ุชุนุฏูŠู„ุงุช ุงู„ู„ูŠ ุนู…ู„ุชู‡ุง. ุงู„ุฑุณุงู„ุฉ ุฏูŠ ุจุชุณุงุนุฏูƒ ุจุนุฏูŠู† ุชูู‡ู… ุฅูŠู‡ ุงู„ู„ูŠ ุญุตู„ ููŠ ูƒู„ ู…ุฑุญู„ุฉ. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git push
ุฏู‡ ุงู„ุฃู…ุฑ ุงู„ู„ูŠ ุจูŠุจุนุช ุงู„ุชุนุฏูŠู„ุงุช ุงู„ู„ูŠ ุนู…ู„ุชู‡ุง ู„ู„ู…ุณุชูˆุฏุน ุงู„ู„ูŠ ุดุบุงู„ ุนู„ูŠู‡ ุนู„ู‰ GitHub ุฃูˆ ุฃูŠ ุฎุฏู…ุฉ ุชุงู†ูŠุฉ. ูˆุฏู‡ ู…ู‡ู… ุฌุฏู‹ุง ู„ูˆ ุดุบุงู„ ุถู…ู† ูุฑูŠู‚ ุฃูˆ ู„ูˆ ุนุงูˆุฒ ุชุนู…ู„ ู†ุณุฎุฉ ุงุญุชูŠุงุทูŠุฉ ู„ู„ูƒูˆุฏ ุจุชุงุนูƒ. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git pull
ู„ูˆ ููŠู‡ ุชุนุฏูŠู„ุงุช ุฌุฏูŠุฏุฉ ุนู„ู‰ ุงู„ู…ุณุชูˆุฏุน ุงู„ุฑุฆูŠุณูŠ ูˆุนุงูˆุฒ ุชุณุญุจู‡ุง ุนู†ุฏูƒุŒ ุจุชุณุชุฎุฏู… ุงู„ุฃู…ุฑ ุฏู‡. ุจูŠุญุฏุซ ุงู„ูƒูˆุฏ ุนู†ุฏูƒ ุนุดุงู† ูŠูƒูˆู† ู…ุญุฏุซ ุฏุงูŠู…ู‹ุง ุจุงู„ุชุนุฏูŠู„ุงุช ุงู„ู„ูŠ ุชู…ุช ู…ู† ุจุงู‚ูŠ ุงู„ูุฑูŠู‚. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git branch
ุนุดุงู† ุชุนู…ู„ ูุฑุน ุฌุฏูŠุฏ ู„ู„ูƒูˆุฏ ุจุชุงุนูƒ (branch) ูˆุชุดุชุบู„ ุนู„ู‰ ู…ูŠุฒุฉ ู…ุนูŠู†ุฉ ู…ู† ุบูŠุฑ ู…ุง ุชุนุฏู„ ุนู„ู‰ ุงู„ูุฑุน ุงู„ุฑุฆูŠุณูŠ (main branch)ุŒ ุจุชุณุชุฎุฏู… ุงู„ุฃู…ุฑ ุฏู‡. ู…ุซู„ู‹ุง:
git branch feature-xyz
ู‡ูŠุนู…ู„ ูุฑุน ุฌุฏูŠุฏ ุงุณู…ู‡ feature-xyz. โ€”โ€”โ€”
โšก๏ธ ุงู„ู€ git merge
ุจุนุฏ ู…ุง ุชุฎู„ุต ุดุบู„ูƒ ุนู„ู‰ ุงู„ูุฑุน (branch) ุงู„ู„ูŠ ูƒู†ุช ุดุบุงู„ ุนู„ูŠู‡ ูˆุนุงูˆุฒ ุชุฏู…ุฌู‡ ู…ุน ุงู„ูุฑุน ุงู„ุฑุฆูŠุณูŠุŒ ุจุชุณุชุฎุฏู… git merge. ุฏู‡ ุจูŠุณู…ุญ ู„ูƒ ุชุฌู…ุน ุงู„ุชุนุฏูŠู„ุงุช ูƒู„ู‡ุง ููŠ ู…ูƒุงู† ูˆุงุญุฏ. โ€”โ€”โ€” ุฃู…ุง GitHub ูู‡ูˆ ู…ู†ุตุฉ ุจุชุฑูุน ุนู„ูŠู‡ุง ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ุงู„ู„ูŠ ู…ุณุชุฎุฏู… ููŠู‡ Git ุนุดุงู† ุชู‚ุฏุฑ ุชุฎุฒู†ู‡ ุฃูˆู†ู„ุงูŠู†ุŒ ูˆุชุดุชุบู„ ุนู„ูŠู‡ ู…ุน ุจุงู‚ูŠ ุงู„ุชูŠู… ูˆูƒู…ุงู† ุชูˆุตู„ู‡ ู…ู† ุฃูŠ ุฌู‡ุงุฒ ุจู†ูุณ ุงู„ุฃูƒูˆู†ุช ุจุชุงุนูƒ. ูŠุนู†ูŠ ุชุฎูŠู„ ุฅู†ูƒ ุดุบุงู„ ููŠ ู…ุดุฑูˆุน ูƒุจูŠุฑ ูˆู…ุนุงูƒ ุชูŠู…ุŒ ูƒู„ ูˆุงุญุฏ ู…ู…ูƒู† ูŠุดุชุบู„ ุนู„ู‰ ุฌุฒุก ู…ุนูŠู† ู…ู† ุงู„ูƒูˆุฏุŒ ูˆุจุนุฏูŠู† ุชุฏู…ุฌูˆุง ุดุบู„ูƒู… ูƒู„ู‡ ู…ุน ุจุนุถ ู…ู† ุบูŠุฑ ู…ุง ูŠุญุตู„ ุฃูŠ ู„ุฎุจุทุฉ. ุจุงู„ู†ุณุจุฉ ู„ู€ GitLab ูู‡ูˆ ู…ู†ุตุฉ ุฒูŠ GitHub ู…ู† ุญูŠุซ ุงู„ูˆุธูŠูุฉ ูˆุงู„ุงุณุชุฎุฏุงู…. ูˆู„ูƒู† ู‡ุชู„ุงู‚ูŠ ุดูƒู„ู‡ุง ู…ุฎุชู„ู ุดูˆูŠุฉ. โ€”โ€”โ€” ุงู„ู€ Git ู‡ูŠูˆูุฑ ู„ูƒ ูˆู‚ุช ูƒุจูŠุฑ ูˆู‡ูŠุฌู†ุจูƒ ูƒุชูŠุฑ ู…ู† ุงู„ุฃุฎุทุงุก ุงู„ู„ูŠ ู…ู…ูƒู† ุชุญุตู„ ู„ูˆ ุงุดุชุบู„ุช ุนู„ู‰ ุงู„ูƒูˆุฏ ุจุดูƒู„ ุบูŠุฑ ู…ู†ุธู…. ูƒู„ ุงู„ุฃูˆุงู…ุฑ ุงู„ู„ูŠ ููˆู‚ ุฏูŠ ู‡ูŠ ุงู„ุฃุณุงุณูŠุงุช ุงู„ู„ูŠ ู‡ุชุณุงุนุฏูƒ ุชุจุฏุฃุŒ ูˆุทุจุนู‹ุง ููŠู‡ ุฃูˆุงู…ุฑ ุฃูƒุชุฑ ู…ุชู‚ุฏู…ุฉ ู…ู…ูƒู† ุชุชุนู„ู…ู‡ุง ุจุนุฏ ูƒุฏู‡. โœ…

DevGuide
11 075

DevGuide
11 075
Understanding Clean Code: Systems โšก๏ธ ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู†
Understanding Clean Code: Systems โšก๏ธ
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
- When building software systems, it's crucial to manage codebase complexity. - Clean Code's Chapter 11 discusses designing modular systems that are easier to maintain and adapt over time. https://dev.to/alisamir/understanding-clean-code-systems-53da

DevGuide
11 075
ุงู„ู€ DOM (Document Object Model) ๐Ÿ”ป
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
ู‡ูŠ ุงู„ุจู†ูŠุฉ ุงู„ู„ูŠ ุงู„ู…ุชุตูุญ ุจูŠุณุชุฎุฏู…ู‡ุง ุนุดุงู† ูŠุญูˆู‘ู„ ุตูุญุฉ ุงู„ูˆูŠุจ ู…ู† ูƒูˆุฏ HTML ู„ูƒุงุฆู†ุงุช (Objects) ูŠู‚ุฏุฑ ูŠุชุนุงู…ู„ ู…ุนุงู‡ุง. ูŠุนู†ูŠ ุจุจุณุงุทุฉุŒ ุงู„ุตูุญุฉ ุจุชุงุนุชูƒ ุงู„ู„ูŠ ุจุชุชูƒูˆู† ู…ู† ุนู†ุงุตุฑ ุฒูŠ ุงู„ุนู†ุงูˆูŠู†ุŒ ุงู„ูู‚ุฑุงุชุŒ ุงู„ุตูˆุฑุŒ ูˆุบูŠุฑู‡ุง ุจุชุชุญูˆู„ ู„ุดุฌุฑุฉ ู…ู† ุงู„ูƒุงุฆู†ุงุชุŒ ูˆูƒู„ ุนู†ุตุฑ ุจูŠุชุญูˆู„ ู„ูƒุงุฆู† ููŠู‡ ุฎุตุงุฆุต ุฒูŠ ุงู„ู†ุตุŒ ุงู„ุฃู„ูˆุงู†ุŒ ุงู„ุฃุญุฌุงู…ุŒ ูˆุบูŠุฑู‡ุง. โ€”โ€”โ€” ุงู„ุฌู…ูŠู„ ููŠ ุงู„ู€ DOM ุฅู†ู‡ ุจูŠุณู…ุญ ู„ู†ุง ู†ุบูŠุฑ ุงู„ุตูุญุฉ ุจุนุฏ ู…ุง ุชุชุญู…ู„ุŒ ูˆุฏู‡ ุงู„ู„ูŠ ุจู†ุณู…ูŠู‡ "DOM Manipulation" ุจุงุณุชุฎุฏุงู… JavaScript. โœ… ููƒุฑุฉ ุงู„ู€ DOM Manipulation ุจุจุณุงุทุฉ ู‡ูŠ ุฅู†ูƒ ุจุชู‚ุฏุฑ ุชุนุฏู„ ุนู„ู‰ ุนู†ุงุตุฑ ุงู„ุตูุญุฉ ูˆุชุบูŠุฑู‡ุง ุจู†ุงุกู‹ ุนู„ู‰ ุชูุงุนู„ ุงู„ู…ุณุชุฎุฏู…ุŒ ุฒูŠ ุฅู†ูƒ ุชุถูŠู ุฒุฑุงุฑ ุฌุฏูŠุฏุŒ ุชุดูŠู„ ุตูˆุฑุฉุŒ ุฃูˆ ุญุชู‰ ุชุบูŠุฑ ุงู„ู†ุต ุงู„ู„ูŠ ู…ูƒุชูˆุจ ููŠ ุงู„ูู‚ุฑุงุช. ๐Ÿ’ฏ โ€”โ€”โ€” ๐Ÿ“Œ ุฅุฒุงูŠ ุชุฌูŠุจ ุนู†ุงุตุฑ ู…ู† ุงู„ู€ DOMุŸ ุนุดุงู† ุชู‚ุฏุฑ ุชุนู…ู„ DOM ManipulationุŒ ู„ุงุฒู… ุงู„ุฃูˆู„ ุชุนุฑู ุฅุฒุงูŠ ุชุฌูŠุจ ุงู„ุนู†ุงุตุฑ ุงู„ู„ูŠ ุนุงูŠุฒ ุชุนุฏู„ู‡ุง. ููŠู‡ ุทุฑู‚ ูƒุชูŠุฑ ุนุดุงู† ุชุฌูŠุจ ุงู„ุนู†ุงุตุฑ: โšก๏ธ ุงู„ู€ document.getElementById: ุฏูŠ ุจุชุฌูŠุจ ุงู„ุนู†ุตุฑ ุงู„ู„ูŠ ู„ูŠู‡ ID ู…ุนูŠู†. ู…ุซู„ู‹ุง:
const element = document.getElementById("myElement");
โšก๏ธ ุงู„ู€ document.querySelector: ุฏูŠ ุทุฑูŠู‚ุฉ ุฃู‚ูˆู‰ ุดูˆูŠุฉ ู„ุฃู†ู‡ุง ุจุชุณุชุฎุฏู… CSS SelectorsุŒ ูŠุนู†ูŠ ุชู‚ุฏุฑ ุชุฌูŠุจ ุฃูŠ ุนู†ุตุฑ ุจู†ุงุกู‹ ุนู„ู‰ ุงู„ุงุณู…ุŒ ุงู„ู€ classุŒ ุฃูˆ ุญุชู‰ ุงู„ู€ ID:
const element = document.querySelector(".myClass");
โšก๏ธ ุงู„ู€ document.getElementsByClassName ูˆุงู„ู€ document.getElementsByTagName: ุฏูˆู„ ุจูŠุฑุฌุนูˆุง ู„ูƒ ู…ุตููˆูุฉ (Array-like) ู…ู† ุงู„ุนู†ุงุตุฑ ุงู„ู„ูŠ ู„ูŠู‡ุง ู†ูุณ ุงู„ู€ class ุฃูˆ ุงู„ู€ tag. โ€”โ€”โ€” ๐Ÿ“Œ ุฅูŠู‡ ุงู„ู„ูŠ ู…ู…ูƒู† ุชุนู…ู„ู‡ ุจู€ DOM ManipulationุŸ โšก๏ธ ุฅุถุงูุฉ ุนู†ุงุตุฑ ุฌุฏูŠุฏุฉ: ู„ูˆ ุนุงูŠุฒ ุชุถูŠู ุนู†ุตุฑ ุฌุฏูŠุฏ ููŠ ุงู„ุตูุญุฉุŒ ุฒูŠ ุฒุฑุงุฑ ุฃูˆ ุตูˆุฑุฉุŒ ุชู‚ุฏุฑ ุชุณุชุฎุฏู… JavaScript ุนุดุงู† ุชุนู…ู„ Create ElementุŒ ูˆุจุนุฏ ูƒุฏู‡ ุชุถูŠูู‡ ู„ู„ุดุฌุฑุฉ ุจุงุณุชุฎุฏุงู… appendChild. ู…ุซุงู„ ุจุณูŠุท:
const newButton = document.createElement("button");
newButton.innerHTML = "ุงุถุบุท ู‡ู†ุง";
document.body.appendChild(newButton);
ุงู„ูƒูˆุฏ ุฏู‡ ุจูŠุนู…ู„ ุฒุฑุงุฑ ุฌุฏูŠุฏ ู…ูƒุชูˆุจ ุนู„ูŠู‡ "ุงุถุบุท ู‡ู†ุง" ูˆุจูŠุถูŠูู‡ ููŠ ุขุฎุฑ ุงู„ู€ body. โ€”โ€”โ€” โšก๏ธ ุชุนุฏูŠู„ ู…ุญุชูˆู‰ ุงู„ุนู†ุงุตุฑ: ุชู‚ุฏุฑ ุจุณู‡ูˆู„ุฉ ุชุบูŠุฑ ุงู„ู†ุต ุฃูˆ ุงู„ู€ HTML ุงู„ู„ูŠ ู…ูˆุฌูˆุฏ ุฌูˆุง ุฃูŠ ุนู†ุตุฑ ุจุงุณุชุฎุฏุงู… innerHTML ุฃูˆ textContent. ูŠุนู†ูŠ ู…ุซู„ู‹ุง ู„ูˆ ุนู†ุฏูƒ ูู‚ุฑุฉ ููŠู‡ุง ู†ุต ูˆุนุงูˆุฒ ุชุบูŠุฑ ุงู„ู†ุต ุฏู‡ ู„ู…ุง ุงู„ู…ุณุชุฎุฏู… ูŠุฏูˆุณ ุนู„ู‰ ุฒุฑุงุฑ:
document.getElementById("myButton").addEventListener("click", function() {
  document.getElementById("myParagraph").innerHTML = "ุงู„ู†ุต ุงุชุบูŠุฑ!";
});
ู‡ู†ุงุŒ ู„ู…ุง ุงู„ู…ุณุชุฎุฏู… ูŠุฏูˆุณ ุนู„ู‰ ุงู„ุฒุฑุงุฑ ุงู„ู„ูŠ ID ุจุชุงุนู‡ "myButton"ุŒ ุงู„ู†ุต ุงู„ู„ูŠ ููŠ ุงู„ูู‚ุฑุฉ ุงู„ู„ูŠ ID ุจุชุงุนู‡ุง "myParagraph" ู‡ูŠุจู‚ู‰ "ุงู„ู†ุต ุงุชุบูŠุฑ!". โ€”โ€”โ€” โšก๏ธ ุชุนุฏูŠู„ ุชู†ุณูŠู‚ ุงู„ุนู†ุงุตุฑ (CSS): ุนู† ุทุฑูŠู‚ ุงู„ู€ DOMุŒ ุชู‚ุฏุฑ ุชุนุฏู„ ููŠ ุงู„ุชู†ุณูŠู‚ (CSS) ุจุชุงุน ุฃูŠ ุนู†ุตุฑ ุจุณู‡ูˆู„ุฉ ุจุงุณุชุฎุฏุงู… element.style. ูŠุนู†ูŠ ู„ูˆ ุนุงูˆุฒ ุชุบูŠุฑ ู„ูˆู† ุงู„ุฎู„ููŠุฉ ู„ุฒุฑุงุฑ ู…ุนูŠู† ู„ู…ุง ุงู„ู…ุณุชุฎุฏู… ูŠุฏูˆุณ ุนู„ูŠู‡:
document.getElementById("myButton").addEventListener("click", function() {
  document.getElementById("myButton").style.backgroundColor = "red";
});
ู‡ู†ุง ุงู„ุฒุฑุงุฑ ู‡ูŠุบูŠุฑ ู„ูˆู†ู‡ ู„ู„ุฃุญู…ุฑ ุจุนุฏ ู…ุง ุงู„ู…ุณุชุฎุฏู… ูŠุฏูˆุณ ุนู„ูŠู‡. โ€”โ€”โ€” โšก๏ธ ุญุฐู ุนู†ุงุตุฑ ู…ู† ุงู„ุตูุญุฉ: ู…ุด ุจุณ ุจุชู‚ุฏุฑ ุชุถูŠู ุฃูˆ ุชุนุฏู„ุŒ ูƒู…ุงู† ุชู‚ุฏุฑ ุชุญุฐู ุนู†ุงุตุฑ ู…ู† ุงู„ุตูุญุฉ ุชู…ุงู…ู‹ุง ุจุงุณุชุฎุฏุงู… remove():
document.getElementById("myButton").remove();
ุงู„ูƒูˆุฏ ุฏู‡ ู‡ูŠุญุฐู ุงู„ุฒุฑุงุฑ ุงู„ู„ูŠ ID ุจุชุงุนู‡ "myButton" ู…ู† ุงู„ุตูุญุฉ. โ€”โ€”โ€” ๐Ÿ“Œ ุฅูŠู‡ ุฃู‡ู…ูŠุฉ DOM ManipulationุŸ ุงู„ู€ DOM Manipulation ุจูŠู„ุนุจ ุฏูˆุฑ ูƒุจูŠุฑ ุฌุฏู‹ุง ููŠ ู…ุฌุงู„ ุงู„ูˆูŠุจุŒ ูˆุฏู‡ ู„ุฃู†ู‡ ุจูŠุฎู„ูŠูƒ ุชู‚ุฏุฑ ุชุจู†ูŠ ุตูุญุงุช ูˆูŠุจ ุฏูŠู†ุงู…ูŠูƒูŠุฉ ุชุณุชุฌูŠุจ ู„ุชูุงุนู„ ุงู„ู…ุณุชุฎุฏู… ููŠ ุงู„ู„ุญุธุฉ. ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ุŒ ููŠ ุชุทุจูŠู‚ุงุช ุฒูŠ ุงู„ู€ Single Page Applications (SPA) ุฒูŠ ุงู„ู„ูŠ ู…ุนู…ูˆู„ูŠู† ุจู€ React ุฃูˆ VueุŒ ุงู„ู€ DOM ุจูŠุชู… ุชุญุฏูŠุซู‡ ุจุงุณุชู…ุฑุงุฑ ุนุดุงู† ูŠุนุฑุถ ู„ู„ู…ุณุชุฎุฏู… ุงู„ู…ุญุชูˆู‰ ุงู„ู„ูŠ ู‡ูˆ ู…ุญุชุงุฌู‡ ุจุฏูˆู† ู…ุง ู†ุนู…ู„ Reload ู„ู„ุตูุญุฉ ูƒู„ู‡ุง. ูƒู…ุงู†ุŒ ู„ูˆ ุจุชุดุชุบู„ ุนู„ู‰ ุชุญุณูŠู† ุชุฌุฑุจุฉ ุงู„ู…ุณุชุฎุฏู… (UX)ุŒ ู‡ุชู„ุงู‚ูŠ ุฅู† DOM Manipulation ุจูŠุณุงุนุฏูƒ ุชูˆุตู„ ู„ู„ู†ุชุงุฆุฌ ุงู„ู„ูŠ ุฃู†ุช ุนุงูŠุฒู‡ุงุŒ ุณูˆุงุก ุจุชุนุฏูŠู„ ููŠ ุงู„ุชู†ุณูŠู‚ ุฃูˆ ุจุชุญุฑูŠูƒ ุงู„ุนู†ุงุตุฑ ุนู„ู‰ ุงู„ุตูุญุฉ ุจุดูƒู„ ุณู„ุณ. ู…ู„ุญูˆุธุฉ: ุฑุบู… ุฅู† DOM Manipulation ู…ู‡ู… ุฌุฏู‹ุงุŒ ุฅู„ุง ุฃู†ู‡ ู…ู…ูƒู† ูŠุจู‚ู‰ ู…ูƒู„ู ุดูˆูŠุฉ ู„ูˆ ุนู…ู„ุช ุชุนุฏูŠู„ุงุช ูƒุชูŠุฑ ู…ุฑุฉ ูˆุงุญุฏุฉ ุนู„ู‰ ุงู„ุตูุญุฉุŒ ุนุดุงู† ูƒุฏู‡ ู…ู† ุงู„ุฃูุถู„ ุฏุงูŠู…ู‹ุง ุชุณุชุฎุฏู… ุชู‚ู†ูŠุงุช ุฒูŠ ุงู„ู€ Virtual DOM ููŠ ู…ูƒุชุจุงุช ุฒูŠ React ุนุดุงู† ุชุญุณู† ุงู„ุฃุฏุงุก. โ€”โ€”โ€” ููŠ ุงู„ู†ู‡ุงูŠุฉุŒ ุงู„ู€ DOM Manipulation ู‡ูˆ ุงู„ุฃุณุงุณ ุงู„ู„ูŠ ุจุชุจู†ูŠ ุนู„ูŠู‡ ุงู„ุชูุงุนู„ ููŠ ุตูุญุงุช ุงู„ูˆูŠุจุŒ ูˆูƒู„ ู…ุง ูู‡ู…ุชู‡ ูƒูˆูŠุณ ูˆู‚ุฏุฑุช ุชุชุนุงู…ู„ ู…ุนุงู‡ุŒ ูƒู„ ู…ุง ู‚ุฏุฑุช ุชุจู†ูŠ ูˆุงุฌู‡ุงุช ู…ุณุชุฎุฏู… ู…ุชู‚ุฏู…ุฉ ูˆุชูุงุนู„ูŠุฉ ู„ู„ู…ูˆุงู‚ุน. โœ…

DevGuide
11 075
DevGuide | LinkedIn ๐Ÿ”ป https://www.linkedin.com/company/dev-guide
DevGuide | LinkedIn ๐Ÿ”ป https://www.linkedin.com/company/dev-guide

DevGuide
11 075
ุงู„ู€ OOP ๐Ÿ”ป
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
ุงู„ุจุฑู…ุฌุฉ ุงู„ูƒุงุฆู†ูŠุฉ (Object-Oriented Programming ุฃูˆ OOP) ู‡ูŠ ูˆุงุญุฏุฉ ู…ู† ุฃู‡ู… ุงู„ุฃุณุงู„ูŠุจ ููŠ ุงู„ุจุฑู…ุฌุฉ ูˆุจุชุนุชู…ุฏ ุนู„ู‰ ููƒุฑุฉ ุชู‚ุณูŠู… ุงู„ูƒูˆุฏ ุฅู„ู‰ "ูƒุงุฆู†ุงุช" (Objects). ุงู„ูƒุงุฆู†ุงุช ุฏูŠ ุจุชูƒูˆู† ุฒูŠ ุงู„ูˆุญุฏุงุช ุงู„ุฃุณุงุณูŠุฉ ุงู„ู„ูŠ ุจุชุฌู…ุน ุงู„ุฎุตุงุฆุต (Attributes) ูˆุงู„ุณู„ูˆูƒูŠุงุช (Methods) ุงู„ู…ุชุนู„ู‚ุฉ ุจุญุงุฌุฉ ู…ุนูŠู†ุฉ ููŠ ู…ูƒุงู† ูˆุงุญุฏ. โ€”โ€”โ€” ๐Ÿ“Œ ุงู„ุฃุณุงุณูŠุงุช ููŠ ุงู„ุจุฑู…ุฌุฉ ุงู„ูƒุงุฆู†ูŠุฉ ุชุดู…ู„: โšก๏ธ ุงู„ู€ Encapsulation ุฏู‡ ูŠุนู†ูŠ ุฅู† ูƒู„ ูƒุงุฆู† ูŠุญุชูุธ ุจุงู„ุจูŠุงู†ุงุช ุงู„ุฎุงุตุฉ ุจูŠู‡ ูˆูŠุฎููŠู‡ุง ุนู† ุจู‚ูŠุฉ ุงู„ูƒูˆุฏุŒ ุจุญูŠุซ ุงู„ุจูŠุงู†ุงุช ุชุจู‚ู‰ ู…ุญู…ูŠุฉ ูˆู…ุด ุฃูŠ ุฌุฒุก ุชุงู†ูŠ ููŠ ุงู„ุจุฑู†ุงู…ุฌ ูŠู‚ุฏุฑ ูŠุบูŠุฑู‡ุง ู…ุจุงุดุฑุฉ. ุงู„ูƒุงุฆู† ูŠูˆูุฑ ุทุฑู‚ ู…ุญุฏุฏุฉ ู„ู„ูˆุตูˆู„ ู„ู„ุจูŠุงู†ุงุช ุฏูŠ ุฃูˆ ุชุนุฏูŠู„ู‡ุง. โšก๏ธ ุงู„ู€ Inheritance ุงู„ู…ูŠุฒุฉ ุฏูŠ ุจุชุณู…ุญ ู„ูƒ ุจุฅู†ูƒ ุชุจู†ูŠ ูƒุงุฆู†ุงุช ุฌุฏูŠุฏุฉ ุชุนุชู…ุฏ ุนู„ู‰ ูƒุงุฆู†ุงุช ู…ูˆุฌูˆุฏุฉ ู…ุณุจู‚ู‹ุง. ูŠุนู†ูŠ ุชู‚ุฏุฑ ุชุงุฎุฏ ุงู„ุฎุตุงุฆุต ูˆุงู„ุณู„ูˆูƒูŠุงุช ู…ู† ูƒุงุฆู† ุฃุณุงุณูŠ ูˆุชุถูŠู ู„ูŠู‡ ุฃูˆ ุชุนุฏู„ ุนู„ูŠู‡ุŒ ูˆุฏู‡ ุจูŠูˆูุฑ ูˆู‚ุช ูˆุฌู‡ุฏ ููŠ ูƒุชุงุจุฉ ุงู„ูƒูˆุฏ. โšก๏ธ ุงู„ู€ Polymorphism ุฏู‡ ูŠุนู†ูŠ ุฅู†ูƒ ุชู‚ุฏุฑ ุชุณุชุฎุฏู… ู†ูุณ ุงู„ุงุณู… ู„ุฏูˆุงู„ (Methods) ู…ุฎุชู„ูุฉ ููŠ ูƒุงุฆู†ุงุช ู…ุฎุชู„ูุฉุŒ ู„ูƒู† ูƒู„ ูƒุงุฆู† ูŠู†ูุฐู‡ุง ุจุดูƒู„ ูŠู†ุงุณุจู‡. ู…ุซู„ู‹ุงุŒ ู…ู…ูƒู† ูŠูƒูˆู† ุนู†ุฏูƒ ุฏุงู„ุฉ ุงุณู…ู‡ุง draw ููŠ ูƒุงุฆู†ุงุช ู…ุฎุชู„ูุฉ ุฒูŠ Circle ูˆ RectangleุŒ ูˆูƒู„ ูˆุงุญุฏุฉ ู…ู†ู‡ู… ุจุชู†ููŠุฐ ุฏุงู„ุฉ draw ุจุทุฑูŠู‚ุฉ ู…ุฎุชู„ูุฉ. โšก๏ธ ุงู„ู€ Abstraction ุงู„ุชุฌุฑูŠุฏ ุจูŠุณู…ุญ ู„ูƒ ุชุจู†ูŠ ูƒุงุฆู†ุงุช ุชุฑูƒุฒ ุนู„ู‰ ุงู„ุฎุตุงุฆุต ุงู„ู…ู‡ู…ุฉ ูู‚ุท ูˆุชุฎููŠ ุงู„ุชูุงุตูŠู„ ุงู„ู…ุนู‚ุฏุฉ. ูŠุนู†ูŠ ุงู„ูƒุงุฆู†ุงุช ุจุชุชุนุงู…ู„ ู…ุน ุงู„ุจูŠุงู†ุงุช ุจุดูƒู„ ู…ุจุณุทุŒ ูˆุจุชู‚ุฏู… ูˆุงุฌู‡ุงุช ูˆุงุถุญุฉ ูˆู…ุญุฏุฏุฉ ู„ู„ุชูุงุนู„ ู…ุน ุงู„ู…ุณุชุฎุฏู…. โ€”โ€”โ€” ุงู„ู€ OOP ู…ุด ุจุณ ุจุชุฎู„ูŠ ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ู…ู†ุธู… ูˆุณู‡ู„ ุงู„ู‚ุฑุงุกุฉุŒ ู„ูƒู† ูƒู…ุงู† ุจุชุณุงุนุฏูƒ ููŠ ุฅุฏุงุฑุฉ ุงู„ู…ุดุงุฑูŠุน ุงู„ูƒุจูŠุฑุฉ ุจุดูƒู„ ุฃุณู‡ู„ุŒ ูˆุจุชุณู‡ู„ ุนู„ูŠูƒ ุชุนุฏูŠู„ ูˆุชูˆุณูŠุน ุงู„ูƒูˆุฏ ุจุฏูˆู† ู…ุง ุชุฃุซุฑ ุนู„ู‰ ุจุงู‚ูŠ ุฃุฌุฒุงุก ุงู„ุจุฑู†ุงู…ุฌ. ๐Ÿ’ฏ โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป

DevGuide
11 075
ุฎู„ูŠู†ุง ู†ุฏุฑุฏุด ููŠ ู…ูˆุถูˆุน ู…ู‡ู… ุฌุฏู‹ุง ู„ุฃูŠ ุญุฏ ุจูŠุดุชุบู„ ููŠ ุชุทูˆูŠุฑ ู…ูˆุงู‚ุน ุงู„ูˆูŠุจ ุฃูˆ ุชุทุจูŠู‚ุงุช ุงู„ู…ูˆุจุงูŠู„ุŒ ูˆู‡ูˆ ุงู„ู€ Pixel Perfect Design. ๐Ÿ’ฏ ู„ุง ุชู†ุณ
ุฎู„ูŠู†ุง ู†ุฏุฑุฏุด ููŠ ู…ูˆุถูˆุน ู…ู‡ู… ุฌุฏู‹ุง ู„ุฃูŠ ุญุฏ ุจูŠุดุชุบู„ ููŠ ุชุทูˆูŠุฑ ู…ูˆุงู‚ุน ุงู„ูˆูŠุจ ุฃูˆ ุชุทุจูŠู‚ุงุช ุงู„ู…ูˆุจุงูŠู„ุŒ ูˆู‡ูˆ ุงู„ู€ Pixel Perfect Design. ๐Ÿ’ฏ
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
โ€”โ€”โ€” https://www.linkedin.com/posts/dev-guide_frontenddeveloper-frontenddevelopment-frontend-activity-7239897420229169152--GYJ

DevGuide
11 075
ูˆุฃู†ุช ุดุบุงู„ ููŠ ู…ุฌุงู„ ุงู„ุณูˆูุชูˆูŠุฑุŒ ุฃูƒูŠุฏ ุณู…ุนุช ุนู† Docker ๐Ÿ”ป ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„
ูˆุฃู†ุช ุดุบุงู„ ููŠ ู…ุฌุงู„ ุงู„ุณูˆูุชูˆูŠุฑุŒ ุฃูƒูŠุฏ ุณู…ุนุช ุนู† Docker ๐Ÿ”ป
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค
ุชุนุงู„ ู†ุฏุฑุฏุด ุดูˆูŠุฉ ุนู† Docker ุจุทุฑูŠู‚ุฉ ุจุณูŠุทุฉ ูˆู†ูู‡ู… ู‡ูˆ ู„ูŠู‡ ุดูŠุก ุฃุณุงุณูŠ ููŠ ุชุทูˆูŠุฑ ุงู„ุชุทุจูŠู‚ุงุช. ๐Ÿ’ฏ https://www.linkedin.com/posts/dev-alisamir_docker-softwaredeveloper-softwaredevelopment-activity-7239690984626806784-sU8K

DevGuide
11 075
ุจุงู„ุฑุบู… ู…ู† ุฅู† GraphQL ู„ูŠู‡ุง ู…ู…ูŠุฒุงุช ูƒุชูŠุฑ ุฒูŠ ุงู„ู…ุฑูˆู†ุฉ ููŠ ุทู„ุจ ุงู„ุจูŠุงู†ุงุช ูˆุชู‚ู„ูŠู„ ุงู„ู€ requestsุŒ ุฅู„ุง ุฃู†ู‡ุง ุฒูŠ ุฃูŠ ุชูƒู†ูˆู„ูˆุฌูŠุŒ ู„ูŠู‡ุง ุดูˆูŠุฉ ุนูŠูˆุจ ู„ุงุฒู… ุชุงุฎุฏ ุจุงู„ูƒ ู…ู†ู‡ุง. ๐Ÿ”ป - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค โ€”โ€”โ€” ุชุนุงู„ ุฃู‚ูˆู„ูƒ ุนู„ู‰ ุฃู‡ู… ุงู„ุนูŠูˆุจ ุงู„ู„ูŠ ู…ู…ูƒู† ุชูˆุงุฌู‡ูƒ: 1. ุชุนู‚ูŠุฏ ููŠ ุงู„ู€ Server-Side ููŠ GraphQLุŒ ุงู„ุณูŠุฑูุฑ ู…ุญุชุงุฌ ูŠูƒูˆู† ุฐูƒูŠ ุดูˆูŠุฉ ุนุดุงู† ูŠุชุนุงู…ู„ ู…ุน ูƒู„ ุงู„ู€ queries ุงู„ู…ุฎุชู„ูุฉ ุงู„ู„ูŠ ู…ู…ูƒู† ูŠุทู„ุจู‡ุง ุงู„ุนู…ูŠู„ (client). ุจู…ุนู†ู‰ ุฅู† ูƒู„ query ู…ู…ูƒู† ุชุทู„ุจ ุจูŠุงู†ุงุช ู…ุฎุชู„ูุฉ ุชู…ุงู…ู‹ุงุŒ ูู…ู…ูƒู† ูŠุจู‚ู‰ ููŠ ุถุบุท ุนู„ู‰ ุงู„ู…ุจุฑู…ุฌูŠู† ุงู„ู„ูŠ ุดุบุงู„ูŠู† ุนู„ู‰ ุงู„ู€ backend ุนุดุงู† ูŠุจู†ูˆุง ุงู„ู€ resolvers ุงู„ู„ูŠ ุจุชุชุนุงู…ู„ ู…ุน ุงู„ุทู„ุจุงุช ุฏูŠ. ุฏู‡ ุจูŠุญุชุงุฌ ูˆู‚ุช ูˆุฌู‡ุฏ ุฃูƒุชุฑ ู…ู‚ุงุฑู†ุฉ ุจู€ REST ุงู„ู„ูŠ ุจูŠุจู‚ู‰ ูƒู„ endpoint ุซุงุจุช ูˆู…ุนุฑูˆู ุจูŠุนู…ู„ ุฅูŠู‡. โ€”โ€”โ€” 2. ุงู„ุฃุฏุงุก (Performance) ุจุงู„ุฑุบู… ู…ู† ุฅู† GraphQL ุจุชู‚ู„ู„ ุนุฏุฏ ุงู„ู€ requests ุงู„ู„ูŠ ุจุชุชุจุนุชุŒ ุฅู„ุง ุฅู†ู‡ุง ู…ู…ูƒู† ุชุณุชู‡ู„ูƒ ู…ูˆุงุฑุฏ ุฃูƒุชุฑ ุนู„ู‰ ุงู„ุณูŠุฑูุฑ. ุงู„ุณุจุจ ููŠ ุฏู‡ ุฅู† ุงู„ุนู…ูŠู„ ู…ู…ูƒู† ูŠุทู„ุจ ุจูŠุงู†ุงุช ูƒุชูŠุฑ ููŠ request ูˆุงุญุฏุŒ ูˆุงู„ู€ server ู„ุงุฒู… ูŠุนุงู„ุฌ ูƒู„ ุงู„ู€queries ุฏูŠ ู…ุฑุฉ ูˆุงุญุฏุฉ. ู„ูˆ ูƒุงู† ููŠ ุทู„ุจุงุช ู…ุนู‚ุฏุฉ ุจุชุทู„ุจ ุจูŠุงู†ุงุช ูƒุชูŠุฑ ู…ู† ุฃู…ุงูƒู† ู…ุฎุชู„ูุฉุŒ ู…ู…ูƒู† ุงู„ุฃุฏุงุก ูŠุชุฃุซุฑ ุจุงู„ุณู„ุจ. โ€”โ€”โ€” 3. ุงู„ู€ Over-fetching ูˆุงู„ู€ Under-fetching ููŠ RESTุŒ ูƒุงู† ุงู„ุนูŠุจ ุงู„ุฃุณุงุณูŠ ุฅู†ูƒ ู…ู…ูƒู† ุชุงุฎุฏ ุจูŠุงู†ุงุช ุฃูƒุชุฑ ู…ู† ุงู„ู„ูŠ ุฃู†ุช ู…ุญุชุงุฌู‡ (Over-fetching)ุŒ ู„ูƒู† ููŠ GraphQLุŒ ุงู„ุนูƒุณ ู…ู…ูƒู† ูŠุญุตู„. ูŠุนู†ูŠ ู…ู…ูƒู† ุชุทู„ุจ ุจูŠุงู†ุงุช ู‚ู„ูŠู„ุฉ ุฌุฏู‹ุง (Under-fetching)ุŒ ูˆุจุนุฏูŠู† ุชูƒุชุดู ุฅู†ูƒ ู…ุญุชุงุฌ ุชุฑุฌุน ุชุนู…ู„ query ุชุงู†ูŠ ุนุดุงู† ุชุฌูŠุจ ุจูŠุงู†ุงุช ู†ุงู‚ุตุฉ. โ€”โ€”โ€” 4. ุงู„ุญู…ุงูŠุฉ (Security) ุจู…ุง ุฅู† ุงู„ุนู…ูŠู„ ููŠ GraphQL ุนู†ุฏู‡ ุญุฑูŠุฉ ูŠุทู„ุจ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ู‡ูˆ ุนุงูˆุฒู‡ุงุŒ ู…ู…ูƒู† ูŠุจู‚ู‰ ููŠ ู…ุดุงูƒู„ ุฃู…ู†ูŠุฉ ู„ูˆ ุงู„ู€ schema ู…ุด ู…ูƒุชูˆุจุฉ ุจุดูƒู„ ุตุญูŠุญ. ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ุŒ ุงู„ุนู…ูŠู„ ู…ู…ูƒู† ูŠุทู„ุจ ุจูŠุงู†ุงุช ุจุดูƒู„ ู…ุชูƒุฑุฑ ุจุทุฑูŠู‚ุฉ ุชุณุจุจ ุถุบุท ุนู„ู‰ ุงู„ุณูŠุฑูุฑ ุฃูˆ ูŠุทู„ุจ ุจูŠุงู†ุงุช ุญุณุงุณุฉ ู„ูˆ ุงู„ุญู…ุงูŠุฉ ู…ุด ู…ุธุจูˆุทุฉ. โ€”โ€”โ€” 5. ู…ุณุงุฑ ุงู„ุชุนู„ู… (Learning Path) ุงู„ู€ GraphQL ุฌุฏูŠุฏุฉ ู†ุณุจูŠู‹ุง ู…ู‚ุงุฑู†ุฉ ุจู€ RESTุŒ ูู„ูˆ ุฃู†ุช ุฃูˆ ุงู„ุชูŠู… ุจุชุงุนูƒ ู…ุชุนูˆุฏูŠู† ุนู„ู‰ RESTุŒ ุงู„ุชุญูˆู„ ู„ู€ GraphQL ู…ู…ูƒู† ูŠุงุฎุฏ ุดูˆูŠุฉ ูˆู‚ุช ุนุดุงู† ุชูู‡ู…ูˆุง ุฅุฒุงูŠ ุชุดุชุบู„ูˆุง ุจูŠู‡ุง ุจุดูƒู„ ูุนู‘ุงู„. ูƒู…ุงู† ุงู„ู€ tooling ุจุชุงุน GraphQL ู„ุณู‡ ู…ุด ุจู†ูุณ ุฏุฑุฌุฉ ุงู„ู†ุถุฌ ุงู„ู„ูŠ ู…ูˆุฌูˆุฏุฉ ู…ุน REST. โ€”โ€”โ€” 6. ุนุฏู… ุงู„ุชูˆุงูู‚ ู…ุน ุงู„ู€Caching ุงู„ุชู‚ู„ูŠุฏูŠ ููŠ RESTุŒ ุชู‚ุฏุฑ ุจุณู‡ูˆู„ุฉ ุชุณุชุฎุฏู… ุงู„ู€ HTTP Caching ู„ุฃู† ุงู„ู€ endpoints ุซุงุจุชุฉุŒ ู„ูƒู† ููŠ GraphQLุŒ ุงู„ู€ queries ู…ู…ูƒู† ุชุจู‚ู‰ ู…ุฎุตุตุฉ ุฌุฏู‹ุงุŒ ูˆุฏู‡ ุจูŠุตุนุจ ุนู…ู„ูŠุฉ ุงู„ู€ caching. ุนุดุงู† ูƒุฏู‡ุŒ ู‡ุชุญุชุงุฌ ุชุณุชุฎุฏู… ุญู„ูˆู„ ู…ุฎุชู„ูุฉ ุฒูŠ Apollo Client ุงู„ู„ูŠ ุจูŠูˆูุฑ caching ู…ู†ุงุณุจ ู„ู€ GraphQLุŒ ุจุณ ุฏู‡ ุจูŠุฒูˆุฏ ุงู„ุชุนู‚ูŠุฏ. โ€”โ€”โ€” ููŠ ุงู„ู†ู‡ุงูŠุฉุŒ GraphQL ู‚ูˆูŠุฉ ูˆู…ุฑู†ุฉ ุฌุฏู‹ุงุŒ ู„ูƒู† ุฒูŠ ุฃูŠ ุฃุฏุงุฉุŒ ู„ูŠู‡ุง ู…ู…ูŠุฒุงุชู‡ุง ูˆุนูŠูˆุจู‡ุง. ู…ุญุชุงุฌ ุชู‚ุฑุฑ ู„ูˆ ุงู„ุนูŠูˆุจ ุฏูŠ ู‡ุชุฃุซุฑ ุนู„ู‰ ู…ุดุฑูˆุนูƒ ูˆู„ุง ู„ุฃุŒ ุจู†ุงุกู‹ ุนู„ู‰ ู…ุชุทู„ุจุงุช ุงู„ุชุทุจูŠู‚ ูˆุงู„ู€ team ุงู„ู„ูŠ ุดุบุงู„ ู…ุนุงูƒ. โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป

DevGuide
11 075
ุฎู„ูŠู†ุง ู†ุชูƒู„ู… ุนู† ุญุงุฌุฉ ู…ู‡ู…ุฉ ุฌุฏู‹ุง ููŠ ููŠ ู…ุฌุงู„ ุงู„ุณูˆูุชูˆูŠุฑ ูˆู‡ูŠ GraphQLุŒ ูˆู†ุนุฑู ุงู„ูุฑู‚ ุจูŠู†ู‡ุง ูˆุจูŠู† REST APIs. ๐Ÿ”ป - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค โ€”โ€”โ€” ๐Ÿ“Œ ุฅูŠู‡ ู‡ูŠ GraphQLุŸ ุงู„ู€ GraphQL ุนุจุงุฑุฉ ุนู† ุทุฑูŠู‚ุฉ ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ APIsุŒ ูˆู‡ูŠ ุชุนุชุจุฑ ุจุฏูŠู„ ุฃูˆ ุชุญุณูŠู† ู„ู€ REST APIs. ุงู„ู„ูŠ ุจูŠุญุตู„ ููŠ GraphQL ุฅู†ูƒ ุจุชู‚ุฏุฑ ุชุญุฏุฏ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุนุงูˆุฒู‡ุง ุจุงู„ุถุจุท ู…ู† ุงู„ู€ APIุŒ ู…ู† ุบูŠุฑ ู…ุง ุชุฑุฌุน ูƒู„ ุญุงุฌุฉ ู…ูˆุฌูˆุฏุฉ ููŠ ุงู„ู€ endpoint ุฒูŠ ู…ุง ุจูŠุญุตู„ ููŠ REST. ุจู…ุนู†ู‰ ุชุงู†ูŠุŒ ููŠ REST ู„ูˆ ุจุชุทู„ุจ ุจูŠุงู†ุงุช ุงู„ู…ุณุชุฎุฏู… ู…ุซู„ุงู‹ุŒ ุงู„ู€ API ุจูŠุฑุฌุนู„ูƒ ูƒู„ ุญุงุฌุฉ ุนู† ุงู„ู…ุณุชุฎุฏู… ุญุชู‰ ู„ูˆ ุฃู†ุช ู…ุญุชุงุฌ ุฌุฒุก ุตุบูŠุฑ ู…ู†ู‡ุง ุฒูŠ ุงู„ุงุณู… ุฃูˆ ุงู„ุฅูŠู…ูŠู„ ุจุณ. ู„ูƒู† ููŠ GraphQLุŒ ุฃู†ุช ุงู„ู„ูŠ ุจุชุญุฏุฏ ุฃู†ุช ุนุงูˆุฒ ุฅูŠู‡ ุจุงู„ุถุจุทุŒ ูŠุนู†ูŠ ู„ูˆ ู…ุญุชุงุฌ ุงู„ุงุณู… ุจุณุŒ ู‡ุชุงุฎุฏ ุงู„ุงุณู… ุจุณ ูˆู‡ูƒุฐุง. โ€”โ€”โ€” ๐Ÿ“Œ ุฅูŠู‡ ุงู„ูุฑู‚ ุจูŠู† GraphQL ูˆRESTุŸ โœ… ุงู„ู€ REST ุจูŠุนุชู…ุฏ ุนู„ู‰ ููƒุฑุฉ ุงู„ู€ endpointsุŒ ูŠุนู†ูŠ ูƒู„ endpoint ู…ุณุคูˆู„ ุนู† ุฅุฑุฌุงุน ู†ูˆุน ู…ุนูŠู† ู…ู† ุงู„ุจูŠุงู†ุงุช. ู„ูƒู† ููŠ GraphQLุŒ ุนู†ุฏูƒ query ูˆุงุญุฏุฉ ุชู‚ุฏุฑ ุชุทู„ุจ ุจูŠู‡ุง ุฃูŠ ุจูŠุงู†ุงุช ุฃู†ุช ู…ุญุชุงุฌู‡ุงุŒ ุจุบุถ ุงู„ู†ุธุฑ ุนู† ุนุฏุฏ ุงู„ู€ endpoints. โœ… ููŠ REST ู…ู…ูƒู† ุชุจู‚ู‰ ู…ุญุชุงุฌ ุชุนู…ู„ ุฃูƒุชุฑ ู…ู† request ุนุดุงู† ุชุฌูŠุจ ุงู„ุจูŠุงู†ุงุช ู…ู† ุฃูƒุชุฑ ู…ู† ู…ูƒุงู†ุŒ ู„ูƒู† ููŠ GraphQLุŒ ุชู‚ุฏุฑ ุชุทู„ุจ ูƒู„ ุงู„ุจูŠุงู†ุงุช ุงู„ู…ุทู„ูˆุจุฉ ููŠ request ูˆุงุญุฏุฉ. โœ… ูƒู…ุงู† GraphQL ุจุชู‚ู„ู„ ูƒู…ูŠุฉ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุจุชุฑุฌุน ููŠ ุงู„ู€ responseุŒ ูˆุฏู‡ ู„ุฃู†ู‡ ุฃู†ุช ุงู„ู„ูŠ ุจุชุญุฏุฏ ุฅูŠู‡ ุงู„ู„ูŠ ู…ุญุชุงุฌู‡ ุจุงู„ุถุจุท. ุนู„ู‰ ุนูƒุณ REST ุงู„ู„ูŠ ู…ู…ูƒู† ูŠุจุนุช ุจูŠุงู†ุงุช ุฃูƒุชุฑ ู…ู† ุงู„ู„ูŠ ุฃู†ุช ุนุงูˆุฒู‡ุง. โ€”โ€”โ€” ๐Ÿ“Œ ู„ูŠู‡ ู…ู…ูƒู† ุชููƒุฑ ุชุณุชุฎุฏู… GraphQLุŸ โšก๏ธ ู„ูˆ ุงู„ู…ุดุฑูˆุน ู…ุนู‚ุฏ ูˆููŠู‡ ุนู„ุงู‚ุงุช ูƒุชูŠุฑ ุจูŠู† ุงู„ุจูŠุงู†ุงุชุŒ GraphQL ู‡ุชุณุงุนุฏูƒ ุชู†ุธู… ุงู„ุจูŠุงู†ุงุช ูˆุชุทู„ุจู‡ุง ุจุทุฑูŠู‚ุฉ ุฃุณู‡ู„. โšก๏ธ ู‡ุชู‚ู„ู„ ุนุฏุฏ ุงู„ู€ requests ุงู„ู„ูŠ ุจุชุชุจุนุช ู„ู„ุณูŠุฑูุฑ. โšก๏ธ ู‡ุชุชุญูƒู… ุฃูƒุชุฑ ููŠ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุจุชุฑุฌุนุŒ ูˆุฏู‡ ู‡ูŠุญุณู† ุฃุฏุงุก ุงู„ุชุทุจูŠู‚ ุฎุตูˆุตู‹ุง ู„ูˆ ุดุบุงู„ ุนู„ู‰ ู…ูˆุจุงูŠู„ ุฃูˆ ุงู†ุชุฑู†ุช ุจุทูŠุก. โ€”โ€”โ€” ุงู„ู€ GraphQL ู…ุด ุจุฏูŠู„ ูƒุงู…ู„ ุนู† RESTุŒ ู„ูƒู† ู‡ูŠ ุทุฑูŠู‚ุฉ ู…ุฎุชู„ูุฉ ููŠ ุงู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ APIs ูˆุจุชุฏูŠูƒ ู…ุฑูˆู†ุฉ ุฃูƒุชุฑ ููŠ ุทู„ุจ ุงู„ุจูŠุงู†ุงุช. ู„ูˆ ุจุชุทูˆุฑ ุชุทุจูŠู‚ ู…ุนู‚ุฏ ุฃูˆ ู…ุญุชุงุฌ ุชุญูƒู… ุฃูƒุชุฑ ููŠ ุงู„ู€ requests ุงู„ู„ูŠ ุจุชุจุนุชู‡ุง ูˆุชุณุชู‚ุจู„ู‡ุงุŒ ูŠุจู‚ู‰ GraphQL ู…ู…ูƒู† ุชูƒูˆู† ุงุฎุชูŠุงุฑ ู…ู†ุงุณุจ ู„ูŠูƒ. โ€”โ€”โ€” ุทูŠุจ ู‡ูŠ ู…ู„ู‡ุงุด ุนูŠูˆุจุŸ ุงู„ู€ GraphQL ุฒูŠู‡ุง ุฒูŠ ุฃูŠ ุชูƒู†ูˆู„ูˆุฌูŠ ู„ูŠู‡ุง ู…ู…ูŠุฒุงุช ูˆู„ูŠู‡ุง ุนูŠูˆุจุŒ ู„ูƒู† ุฎู„ูŠู†ุง ู†ุฐูƒุฑ ุงู„ุนูŠูˆุจ ููŠ ุฌุฒุก ุชุงู†ูŠ ู…ู†ูุตู„. ๐Ÿ’ฏ

DevGuide
11 075
ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค ุฅุฒุงูŠ ุชุชุญูƒู… ููŠ ุฃูˆู„ ุญุฑู ุฃูˆ ุฃูˆู„ ุณุทุฑ ููŠ ุฃูŠ ูู‚ุฑุฉ ุฏุงุฎู„ ุงู„ู…ูˆู‚ุน ูˆุชุนู…ู„ ู„ูŠู‡ู… ุณุชุงูŠู„ ู…ุฎุชู„ู ุนู† ุจุงู‚ูŠ ุงู„ูู‚ุฑุฉ ๐Ÿ’ฏ
CSS Newspaper Subheadings
โ€”โ€”โ€” โšก๏ธ Tutorial Video: https://youtu.be/eSebCtQgnx0 โšก๏ธ LinkedIn Post: https://www.linkedin.com/posts/dev-alisamir_css-css3-cssstyling-activity-7238785437761212416-V3OP

DevGuide
11 075
ุงู„ู€ REST APIs ุฏู„ูˆู‚ุชูŠ ุจู‚ุช ุญุงุฌุฉ ุฃุณุงุณูŠุฉ ููŠ ุฃูŠ ู…ุดุฑูˆุน ุจุฑู…ุฌูŠุŒ ุณูˆุงุก ูƒุงู† ุชุทุจูŠู‚ ูˆูŠุจ ุฃูˆ ู…ูˆุจุงูŠู„. ุทูŠุจ ุชุนุงู„ ู†ูู‡ู… ูˆุงุญุฏุฉ ูˆุงุญุฏุฉุŒ ูŠุนู†ูŠ ุฅูŠู‡ ุฃุตู„ุงู‹ REST API ูˆู„ูŠู‡ ู…ู‡ู…ุฉุŸ โšก๏ธ ุฃูˆู„ ุญุงุฌุฉ ูƒู„ู…ุฉ API ู‡ูŠ ุงุฎุชุตุงุฑ ู„ู€ Application Programming InterfaceุŒ ูˆุฏู‡ ู…ุนู†ุงู‡ ุฅู† ุงู„ู€ API ุนุจุงุฑุฉ ุนู† ูˆุณูŠู„ุฉ ุจุชุณู…ุญ ู„ุชุทุจูŠู‚ุงุช ู…ุฎุชู„ูุฉ ุฅู†ู‡ุง "ุชุชูƒู„ู…" ู…ุน ุจุนุถ. ๐Ÿ’ฏ ูŠุนู†ูŠ ุฅูŠู‡ "ุชุชูƒู„ู…"ุŸ ูŠุนู†ูŠ ุชุทุจูŠู‚ ุฒูŠ ุชุทุจูŠู‚ ู…ูˆุจุงูŠู„ ุฃูˆ ูˆูŠุจ ูŠู‚ุฏุฑ ูŠุทู„ุจ ุจูŠุงู†ุงุช ุฃูˆ ุฎุฏู…ุงุช ู…ู† ุณูŠุฑูุฑ (ุงู„ุฎุงุฏู…) ูˆูŠุณุชู‚ุจู„ ุฑุฏ. ุทุจ ุฅุฒุงูŠ ุจู†ุนู…ู„ ุฏู‡ุŸ ู‡ู†ุง ุจูŠูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ REST. โ€”โ€”โ€” ูƒู„ู…ุฉ REST ุงุฎุชุตุงุฑ ู„ู€ Representational State TransferุŒ ูˆุฏู‡ ู†ูˆุน ู…ู† ุฃู†ูˆุงุน ุงู„ู€ APIs ุงู„ู„ูŠ ุจูŠุณู…ุญ ู„ู†ุง ุฅู†ู†ุง ู†ุณุชุฎุฏู… ุจุฑูˆุชูˆูƒูˆู„ HTTP (ุงู„ู„ูŠ ู‡ูˆ ู†ูุณ ุงู„ุจุฑูˆุชูˆูƒูˆู„ ุงู„ู„ูŠ ุจู†ุณุชุฎุฏู…ู‡ ู„ู…ุง ู†ุฏุฎู„ ุนู„ู‰ ุฃูŠ ู…ูˆู‚ุน) ุนู„ุดุงู† ู†ุจุนุช ุทู„ุจุงุช ู„ู„ุณูŠุฑูุฑ ูˆู†ุงุฎุฏ ุฑุฏูˆุฏ ู…ู†ู‡. ๐Ÿ”ป โ€”โ€”โ€” ๐Ÿ“Œ ุฅุฒุงูŠ ุฏู‡ ุจูŠุดุชุบู„ ุจู‚ู‰ุŸ ุงู„ููƒุฑุฉ ุจุจุณุงุทุฉ ุฅู†ูƒ ุจุชุจุนุช ุญุงุฌุฉ ุงุณู…ู‡ุง request ู„ู„ุณูŠุฑูุฑ. ุงู„ุทู„ุจ ุฏู‡ ู…ู…ูƒู† ูŠูƒูˆู† ู…ุซู„ู‹ุง ุฅู†ูƒ ุนุงูˆุฒ ุชุฌูŠุจ ุจูŠุงู†ุงุช ู…ุนูŠู†ุฉ ุฒูŠ ู‚ุงุฆู…ุฉ ุงู„ู…ู†ุชุฌุงุชุŒ ุฃูˆ ุฅู†ูƒ ุนุงูˆุฒ ุชุถูŠู ู…ุณุชุฎุฏู… ุฌุฏูŠุฏ. ุงู„ุณูŠุฑูุฑ ุจูŠุดูˆู ุงู„ุทู„ุจ ุจุชุงุนูƒุŒ ูˆุจูŠุฑุฌุนู„ูƒ response ุงู„ู„ูŠ ุจูŠูƒูˆู† ููŠู‡ ุงู„ุจูŠุงู†ุงุช ุงู„ู…ุทู„ูˆุจุฉ. ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุงู„ุณูŠุฑูุฑ ุจูŠุฑุฏ ุจูŠู‡ุง ุจุชูƒูˆู† ููŠ ุงู„ุบุงู„ุจ ู…ูƒุชูˆุจุฉ ุจุตูŠุบุฉ ุงุณู…ู‡ุง JSON (JavaScript Object Notation)ุŒ ูˆุฏูŠ ุทุฑูŠู‚ุฉ ุจุณูŠุทุฉ ูˆู…ู†ุธู…ุฉ ุนู„ุดุงู† ุงู„ุชุทุจูŠู‚ุงุช ุชู‚ุฏุฑ ุชูู‡ู… ุงู„ุจูŠุงู†ุงุช ุจุดูƒู„ ุณู‡ู„ ูˆุชุดุชุบู„ ุจูŠู‡ุง. โ€”โ€”โ€” ๐Ÿ“Œ ู„ูŠู‡ ุจู‚ู‰ REST APIs ู…ู‡ู…ุฉุŸ โœ… ูุตู„ ุงู„ู€ frontend ุนู† ุงู„ู€ backend: ุจู…ุนู†ู‰ ุฅู† ุงู„ู…ุจุฑู…ุฌูŠู† ุงู„ู„ูŠ ุดุบุงู„ูŠู† ุนู„ู‰ ุชุตู…ูŠู… ูˆุงุฌู‡ุฉ ุงู„ู…ุณุชุฎุฏู… (frontend) ูŠู‚ุฏุฑูˆุง ูŠุดุชุบู„ูˆุง ุจุนูŠุฏ ุนู† ุงู„ู„ูŠ ุดุบุงู„ูŠู† ุนู„ู‰ ุงู„ุณูŠุฑูุฑ ูˆุงู„ุจูŠุงู†ุงุช (backend). ูƒู„ ูˆุงุญุฏ ุจูŠุจุนุช ุทู„ุจุงุช ู„ู„ุชุงู†ูŠ ูˆูŠุงุฎุฏ ู…ู†ู‡ ุฑุฏูˆุฏ ู…ู† ุบูŠุฑ ู…ุง ูŠูƒูˆู†ูˆุง ู…ุฑุชุจุทูŠู† ุจุจุนุถ ุจุดูƒู„ ู…ุจุงุดุฑ. โœ… ุงู„ู…ุฑูˆู†ุฉ: ุงู„ู€ REST APIs ุจุชุฎู„ูŠ ุงู„ุชุทุจูŠู‚ุงุช ุงู„ู…ุฎุชู„ูุฉ (ู…ูˆุจุงูŠู„ุŒ ูˆูŠุจุŒ ุจุฑุงู…ุฌ ุฏูŠุณูƒุชูˆุจ) ุชู‚ุฏุฑ ุชุชูƒู„ู… ู…ุน ู†ูุณ ุงู„ุณูŠุฑูุฑ. ูŠุนู†ูŠ ู…ุซู„ู‹ุง ู„ูˆ ุนู†ุฏูƒ ู…ูˆู‚ุน ูˆูŠุจ ูˆุชุทุจูŠู‚ ู…ูˆุจุงูŠู„ุŒ ุงู„ุงุชู†ูŠู† ู…ู…ูƒู† ูŠุณุชุฎุฏู…ูˆุง ู†ูุณ ุงู„ู€ API ุนุดุงู† ูŠุฌูŠุจูˆุง ู†ูุณ ุงู„ุจูŠุงู†ุงุช. โœ… ู„ูˆ ุนุงูˆุฒ ุชุถูŠู ู…ู…ูŠุฒุงุช ุฃูˆ ุชุทูˆุฑ ููŠ ุงู„ุชุทุจูŠู‚ุŒ ู…ุด ุจุชุญุชุงุฌ ุชุบูŠุฑ ูƒู„ ุญุงุฌุฉ. ูู‚ุท ุจุชุถูŠู ู†ู‚ุงุท ุฌุฏูŠุฏุฉ (endpoints) ููŠ ุงู„ู€ API. โ€”โ€”โ€” ูุจุงู„ุชุงู„ูŠุŒ ุงู„ู€ REST APIs ุจุชุฎู„ูŠ ุนู…ู„ูŠุฉ ุงู„ุชูˆุงุตู„ ุจูŠู† ุงู„ุชุทุจูŠู‚ุงุช ูˆุงู„ุณูŠุฑูุฑ ุณู‡ู„ุฉ ูˆู…ุฑู†ุฉ ุฌุฏู‹ุงุŒ ูˆุจุชุณู‡ู„ ุนู„ู‰ ุงู„ู…ุจุฑู…ุฌูŠู† ุฅู†ู‡ู… ูŠุจู†ูˆุง ู…ุดุงุฑูŠุน ูƒุจูŠุฑุฉ ุจุดูƒู„ ู…ู†ุธู… ูˆุณู‡ู„ ููŠ ุงู„ุชุนุฏูŠู„. ๐Ÿ”ฅ

DevGuide
11 075
ู…ุนุธู… ุงู„ุดุฑูƒุงุช ุญุงู„ูŠู‹ุง ู…ุนุชู…ุฏุฉ ุนู„ู‰ GitLab ููŠ ุฅุฏุงุฑุฉ ุงู„ู…ุดุงุฑูŠุน ุงู„ุฎุงุตุฉ ุจู‡ุงุŒ ูุงู„ุฃูุถู„ ุฅู†ูƒ ุชุชุนู„ู… GitLab ุจุงู„ุฅุถุงูุฉ ุฅู„ู‰ ุชุนู„ู… Git & GitHub ๏ฟฝ
ู…ุนุธู… ุงู„ุดุฑูƒุงุช ุญุงู„ูŠู‹ุง ู…ุนุชู…ุฏุฉ ุนู„ู‰ GitLab ููŠ ุฅุฏุงุฑุฉ ุงู„ู…ุดุงุฑูŠุน ุงู„ุฎุงุตุฉ ุจู‡ุงุŒ ูุงู„ุฃูุถู„ ุฅู†ูƒ ุชุชุนู„ู… GitLab ุจุงู„ุฅุถุงูุฉ ุฅู„ู‰ ุชุนู„ู… Git & GitHub ๐Ÿ”ป ู„ูˆ ู…ุชุนุฑูุด ูŠุนู†ูŠ ุฅูŠู‡ Git ุฎู„ูŠู†ูŠ ุฃู‚ูˆู„ูƒ ุจุจุณุงุทุฉ ูƒุฏู‡ุŒ Git ู‡ูˆ ู†ุธุงู… ุฅุฏุงุฑุฉ ุฅุตุฏุงุฑุงุช (Version Control System) ุจูŠุณุงุนุฏูƒ ุชุชุญูƒู… ููŠ ูƒู„ ุงู„ุชุบูŠูŠุฑุงุช ุงู„ู„ูŠ ุจุชุญุตู„ ููŠ ุงู„ูƒูˆุฏ ุจุชุงุนูƒ. ูŠุนู†ูŠ ู„ูˆ ุนู…ู„ุช ุชุนุฏูŠู„ ุบู„ุทุŒ ู…ู…ูƒู† ุจูƒู„ ุณู‡ูˆู„ุฉ ุชุฑุฌุน ู„ู†ุณุฎุฉ ู‚ุฏูŠู…ุฉ ู…ู† ุงู„ูƒูˆุฏ ูˆุชุตู„ุญ ุงู„ู„ูŠ ุญุตู„. โ€”โ€”โ€” ุฃู…ุง GitHub ูู‡ูˆ ู…ู†ุตุฉ ุจุชุฑูุน ุนู„ูŠู‡ุง ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ุงู„ู„ูŠ ู…ุณุชุฎุฏู… ููŠู‡ Git ุนุดุงู† ุชู‚ุฏุฑ ุชุฎุฒู†ู‡ ุฃูˆู†ู„ุงูŠู†ุŒ ูˆุชุดุชุบู„ ุนู„ูŠู‡ ู…ุน ุจุงู‚ูŠ ุงู„ุชูŠู… ูˆูƒู…ุงู† ุชูˆุตู„ู‡ ู…ู† ุฃูŠ ุฌู‡ุงุฒ ุจู†ูุณ ุงู„ุฃูƒูˆู†ุช ุจุชุงุนูƒ. ูŠุนู†ูŠ ุชุฎูŠู„ ุฅู†ูƒ ุดุบุงู„ ููŠ ู…ุดุฑูˆุน ูƒุจูŠุฑ ูˆู…ุนุงูƒ ุชูŠู…ุŒ ูƒู„ ูˆุงุญุฏ ู…ู…ูƒู† ูŠุดุชุบู„ ุนู„ู‰ ุฌุฒุก ู…ุนูŠู† ู…ู† ุงู„ูƒูˆุฏุŒ ูˆุจุนุฏูŠู† ุชุฏู…ุฌูˆุง ุดุบู„ูƒู… ูƒู„ู‡ ู…ุน ุจุนุถ ู…ู† ุบูŠุฑ ู…ุง ูŠุญุตู„ ุฃูŠ ู„ุฎุจุทุฉ. โ€”โ€”โ€” ู…ูŠุฒุฉ ุฅุฏุงุฑุฉ ุงู„ุฅุตุฏุงุฑุงุช (Version Control) ุจู‚ู‰ ุฅู†ู‡ุง ุจุชุฎู„ูŠูƒ ุชุชุงุจุน ูƒู„ ู†ุณุฎุฉ ุจุชุนุฏู„ู‡ุง ููŠ ุงู„ูƒูˆุฏุŒ ูˆุชู‚ุฏุฑ ุชุนู…ู„ branches ูŠุนู†ูŠ ู†ุณุฎ ู…ุฎุชู„ูุฉ ู…ู† ุงู„ูƒูˆุฏ ู„ูƒู„ ุฎุงุตูŠุฉ ุฌุฏูŠุฏุฉ ุจุชุดุชุบู„ ุนู„ูŠู‡ุงุŒ ูˆุจุนุฏ ู…ุง ุชุฎู„ุต ุจุชุฏู…ุฌู‡ุง ู…ุน ุงู„ู†ุณุฎุฉ ุงู„ุฃุณุงุณูŠุฉ ู…ู† ุงู„ู…ุดุฑูˆุน. ุจุงู„ู†ุณุจุฉ ู„ู€ GitLab ูู‡ูˆ ู…ู†ุตุฉ ุฒูŠ GitHub ู…ู† ุญูŠุซ ุงู„ูˆุธูŠูุฉ ูˆุงู„ุงุณุชุฎุฏุงู…. ูˆู„ูƒู† ู‡ุชู„ุงู‚ูŠ ุดูƒู„ู‡ุง ู…ุฎุชู„ู ุดูˆูŠุฉ. โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป

DevGuide
11 075
ูˆุฃู†ุช ุจุชูƒุชุจ ูƒูˆุฏ JavaScriptุŒ ู…ู‡ู… ุฌุฏู‹ุง ุชุฑูƒุฒ ุนู„ู‰ ูƒุชุงุจุฉ ูƒูˆุฏ ู†ุธูŠู (Clean Code) ูˆุณู‡ู„ ุงู„ูู‡ู…ุŒ ู…ุด ุจุณ ุนุดุงู† ู†ูุณูƒุŒ ู„ูƒู† ูƒู…ุงู† ุนุดุงู† ุฃูŠ ุญุฏ ุชุงู†ูŠ ูŠุดุชุบู„ ุนู„ู‰ ุงู„ูƒูˆุฏ ุจุนุฏูƒ ูˆุจุงู„ุฃุฎุต ู„ูˆ ุดุบุงู„ ููŠ ุชูŠู… ููŠ ุดุฑูƒุฉ ุฃูˆ ุนู„ู‰ ู…ุดุฑูˆุน ู…ุนูŠู†. โšก๏ธ โ€”โ€”โ€” ๐Ÿ“Œ ุญุงูˆู„ ุชุฎู„ูŠ ุฃุณู…ุงุก ุงู„ู…ุชุบูŠุฑุงุช ูˆุงู„ุฏูˆุงู„ ู…ุนุจุฑุฉ: ู„ุงุฒู… ุงู„ุงุณู… ูŠูƒูˆู† ุจูŠูˆุถุญ ุฅูŠู‡ ุงู„ู„ูŠ ุจูŠุญุตู„ุŒ ุจู„ุงุด ุชุฎุชุงุฑ ุฃุณู…ุงุก ุฒูŠ x ูˆy. ู…ุซุงู„: ุจุฏู„ ู…ุง ุชูƒุชุจ tmpุŒ ุฎู„ูŠ ุงู„ุงุณู… ุฒูŠ userAge ุฃูˆ productPrice. โ€”โ€”โ€” ๐Ÿ“Œ ุฎู„ูŠ ุงู„ุฏุงู„ุฉ ุจุชุนู…ู„ ุญุงุฌุฉ ูˆุงุญุฏุฉ ุจุณ: ูƒู„ ุฏุงู„ุฉ ู„ุงุฒู… ูŠุจู‚ู‰ ู„ูŠู‡ุง ูˆุธูŠูุฉ ูˆุงุถุญุฉ ู…ุญุฏุฏุฉุŒ ูŠุนู†ูŠ ู„ูˆ ุนู†ุฏูƒ ุฏุงู„ุฉ ุจุชุฌูŠุจ ุฏุงุชุง ู…ู† API ูˆูƒู…ุงู† ุจุชุนู…ู„ ู…ุนุงู„ุฌุฉ ู„ูŠู‡ุง ูˆุชุนุฑุถู‡ุงุŒ ูุงู„ุฃูุถู„ ุฅู†ูƒ ุชู‚ุณู…ู‡ู… ู„ุฏูˆุงู„ ุฃุตุบุฑ ูƒู„ ูˆุงุญุฏุฉ ู…ู†ู‡ู… ู…ุณุคูˆู„ุฉ ุนู† ูˆุธูŠูุฉ ูˆุงุญุฏุฉ. โ€”โ€”โ€” ๐Ÿ“Œ ู‚ู„ู„ ู…ู† ุงุณุชุฎุฏุงู… ุงู„ู€ comments: ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ุงู„ู…ูุฑูˆุถ ูŠุจู‚ู‰ ูˆุงุถุญ ู„ุฏุฑุฌุฉ ุฅู†ู‡ ู…ุด ู…ุญุชุงุฌ ูƒูˆู…ู†ุชุงุช ูƒุชูŠุฑุŒ ุงุณุชุฎุฏู… ุงู„ูƒูˆู…ู†ุชุงุช ุจุณ ู„ู…ุง ูŠูƒูˆู† ููŠู‡ ุญุงุฌุฉ ูุนู„ุงู‹ ู…ุญุชุงุฌุฉ ุชูˆุถูŠุญ. โ€”โ€”โ€” ๐Ÿ“Œ ุงุณุชุฎุฏู… ุงู„ู€ const ูˆ let ุตุญ: ุจู„ุงุด ุชุณุชุฎุฏู… varุŒ ูˆุฏุงูŠู…ู‹ุง ุฎู„ูŠ ุจุงู„ูƒ ุฅู†ูƒ ุชุณุชุฎุฏู… const ู„ู„ู…ุชุบูŠุฑุงุช ุงู„ู„ูŠ ู…ุด ู‡ุชุชุบูŠุฑุŒ ูˆlet ู„ู„ุญุงุฌุงุช ุงู„ู„ูŠ ู…ู…ูƒู† ุชุชุบูŠุฑ ู‚ูŠู…ุชู‡ุง. โ€”โ€”โ€” ๐Ÿ“Œ ุฑุชุจ ุงู„ูƒูˆุฏ ูˆุฎู„ูŠู‡ ู…ู‚ุฑูˆุก: ุฎู„ูŠ ููŠู‡ ู…ุณุงูุงุช ุจูŠู† ุงู„ุฃุณุทุฑ ูˆุงู‡ุชู… ุจุชู†ุณูŠู‚ ุงู„ูƒูˆุฏุŒ ุงุณุชุฎุฏุงู… ุฃุฏูˆุงุช ุฒูŠ Prettier ู…ู…ูƒู† ูŠุณุงุนุฏูƒ ููŠ ุงู„ู…ูˆุถูˆุน ุฏู‡. โ€”โ€”โ€” ู„ูˆ ู…ู‡ุชู… ุฃูƒุซุฑ ุจุงู„ู€ Clean Code ููŠ JavaScript ุจู†ุตุญูƒ ุชุดูˆู ุงู„ู…ูˆู‚ุน ุฏู‡ ๐Ÿ”ป https://blog.abdelhadi.org/clean-code-javascript-in-arabic โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป

DevGuide
11 075
ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณ
ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค ู„ูˆ ุฒู‡ู‚ุช ู…ู† ุฃุดูƒุงู„ ุงู„ู€ list ุงู„ุชู‚ู„ูŠุฏูŠุฉ ููŠ ุงู„ู€ CSSุŒ ุชุนุงู„ ุฃู‚ูˆู„ูƒ ุนู„ู‰ ุญุงุฌุฉ ุนุจู‚ุฑูŠุฉ ุชู‚ุฏุฑ ู…ู† ุฎู„ุงู„ู‡ุง ุชุนู…ู„ ุงู„ู€ list style ุงู„ุฎุงุตุฉ ุจูŠูƒ ูˆุชุชุญูƒู… ููŠ ุดูƒู„ ุงู„ุฃุฑู‚ุงู… ุฃูˆ ุงู„ุฑู…ูˆุฒ ุจูƒู„ ุณู‡ูˆู„ุฉ๐Ÿ’ก CSS Custom List Styles ๐Ÿ”ป โ€”โ€”โ€” โšก๏ธ Tutorial Video: https://youtu.be/wZ4TdxtvLdQ โšก๏ธ LinkedIn Post: https://www.linkedin.com/posts/dev-alisamir_css-cssstyling-frontendabrtips-activity-7238241222073479169-CQpA โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป

DevGuide
11 075
ุงู„ุณุคุงู„ ุงู„ู„ูŠ ู‡ุชู‚ุงุจู„ู‡ ููŠ ุฃูŠ ุงู†ุชุฑููŠูˆ JavaScript Learn Closures In 13 Minutes https://youtu.be/47SPG8TvUXA

DevGuide
11 075
Throttling & Debouncing in JavaScript: A Beginner's Guide โšก๏ธ - When using JavaScript, excessive event triggers can slow down
Throttling & Debouncing in JavaScript: A Beginner's Guide โšก๏ธ - When using JavaScript, excessive event triggers can slow down your application. For instance, a user resizing the browser window or typing in a search bar can cause events to fire repeatedly in a short time, impacting app performance. - This is where throttling and debouncing come to the rescue. They help you manage how often your functions are called when dealing with events that fire too often. โ€”โ€”โ€” https://dev.to/alisamir/throttling-debouncing-in-javascript-a-beginners-guide-3j7n

DevGuide
11 075
ู„ูˆ ู…ู‡ุชู… ุจุชุทูˆูŠุฑ ุชุทุจูŠู‚ุงุช ุงู„ูˆูŠุจ ุจุทุฑูŠู‚ุฉ ุฃูุถู„ ๐Ÿ’ฏ - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุง
ู„ูˆ ู…ู‡ุชู… ุจุชุทูˆูŠุฑ ุชุทุจูŠู‚ุงุช ุงู„ูˆูŠุจ ุจุทุฑูŠู‚ุฉ ุฃูุถู„ ๐Ÿ’ฏ - ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค https://www.linkedin.com/posts/dev-alisamir_javascript-react-nextjs-activity-7237809089198608385-NG4a โ€”โ€”โ€” ุจุงู„ุชูˆููŠู‚ ูŠุง ุจุทู„ ๐Ÿ’ช๐Ÿป