Code Module | کد ماژول
1.91K subscribers
357 photos
42 videos
6 files
355 links
Hello World 🌎

<> Earth is programmable if you code it </>

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
بهترین ترفندهای پرامپت نویسی چیه؟ 🐝

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

🕸 هدف پرامپت رو شناسایی کنید.

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

🕸 زمینه‌سازی کنید و جملاتی واضح بنویسید.

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

🕸 استفاده از کلمات و عبارات کلیدی رو فراموش نکنید.

اگر نیاز دارید هوش مصنوعی در سطح وب و گوگل جستجو کنه و اطلاعاتی دقیق پیدا کنه، استفاده از کلمات کلیدی موثر در «بهینه‌سازی موتور جستجو» (Search Engine Optimization | SEO) رو فراموش نکنید.

🕸 پرامپت‌ها رو کوتاه و تمیز نگه دارید.

با توجه به اینکه از کدوم ابزار AI کمک می‌گیرید و چه مشکلی دارید، طول پرامپت متغیر خواهد بود. اگرچه که پرامپت‌های طولانی و پیچیده می‌تونن اطلاعات ارزشمندی در اختیار هوش مصنوعی بذارن، اما به عنوان یک قاعده کلی، پرامپت‌ها رو تا حد امکان کوتاه و سرراست نگه دارید و از حداقل ۳ الی ۷ کلمه استفاده کنید.

🕸 سوالات استدلالی و خلاقانه بپرسید.

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

به طور کلی اینا برخی از راه حل هایی بود که به ما در نوشتن پرامپت کمک بزرگی میکنن و با جدی گرفتن اون ها، خروجی بهتری از Ai خواهیم داشت 🤖

#tips #ai
@CodeModule
🔥11👌3
۱۲ سپتامبر که به عنوان "روز برنامه‌نویس" شناخته میشه، ۲۵۶مین روز سال هست. عدد ۲۵۶ برای دولوپرا معنای ویژه‌ای داره، چون در سیستم دودویی (باینری) که اساس کامپیوترها و برنامه‌نویسی هست، ۲۵۶ بزرگ‌ترین توانیه که میتوان با ۸ بیت (یک بایت) نشون داد. همچنین عدد ۲۵۶ در بسیاری از مفاهیم کامپیوتری به‌ویژه حافظه و پردازش داده‌ها, اهمیت زیادی داره و اینا یک سری دلایله که امروز رو به ما برنامه نویسا اختصاص بدن.

روزتون مبارک و آینده ای درخشان برای تک تکتون آرزو میکنم💙

@CodeModule
❤‍🔥23👌3
سینتکس و سمنتیک چیه؟ (Syntax and Semantics)

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

به عنوان مثال، تعاریف زبان از سه جزء تشکیل شده:

🫧 Syntax: سینتکس یک زبان برنامه نویسی مجموعه قوانینی هست که ترکیبی از نمادها رو تعریف میکنه که به عنوان برنامه هایی با ساختار صحیح، در اون زبان در نظر گرفته میشن. سینتکس یک زبان شکل سطحی اون رو مشخص میکنه. زبان های برنامه نویسی مبتنی بر متن بر اساس دنباله ای از کاراکترها هستن. گرامر واژگانی یک زبان متنی مشخص میکنه که چگونه کاراکترها باید به توکن ها تقسیم بشن. همچنین روابط رسمی بین اجزای تشکیل دهنده یک زبان رو تعریف میکنه و بدین وسیله توصیفی ساختاری از عبارات مختلفی که استرینگ های قانونی در زبان رو تشکیل میدن ارائه میده. و در نهایت سینتکس صرفاً به شکل و ساختار نمادها(سیمبل ها) در یک زبان می پردازه بدون اینکه به معنای اون ها توجه بشه.

🫧 Semantics: به معنای معتبر بودن یا نبودن جمله هست. سمنتیک معنای رشته های معتبر سینتکس رو در یک زبان آشکار میکنه. برای زبان های طبیعی، این به معنای همبستگی جملات و عبارات با اشیاء، افکار و احساسات تجربیات ماست. برای زبان‌های برنامه‌نویسی، سمنتیک رفتاری رو توصیف میکنه که کامپیوتر هنگام اجرای یک برنامه در زبان از اون پیروی میکنه. ما ممکنه این رفتار رو با توصیف رابطه بین ورودی و خروجی یک برنامه یا با توضیح گام به گام سینتکس اجرای یک برنامه بر روی یک ماشین واقعی یا انتزاعی فاش کنیم. سمنتیک اصطلاح کلی برای مطالعه معناست. در علوم کامپیوتر موضوع سمنتیک زبان برنامه نویسی به دنبال این است که معنای ریاضی دقیقی به برنامه ها بده.

سمنتیک به 2 سطح تقسیم میشه. سطح پایین و سطح بالا. که توضیحات هرکدوم متفاوت هست. که خودتون میتونین تحقیق کنید.

🫧 Pragmatics: پراگماتیک به جنبه هایی از زبان اشاره میکنه که کاربران زبان رو درگیر میکنه، یعنی پدیده های روانشناختی و جامعه شناختی مانند سودمندی، دامنه کاربرد و تأثیرات بر استفاده کنندگان. برای زبان های برنامه نویسی، عمل شناسی شامل موضوعاتی مانند سهولت اجرا، کارایی در کاربرد و روش برنامه نویسی هست.

اما تجزیه تحلیل سمنتیک و سینتکس در کامپایلر کجا قرار میگیره؟

معمولاً، تجزیه و تحلیل سینتکس و سمنتیک کد در قسمت "frontend" کامپایلر انجام میشه.

‏Syntax: کامپایلر توکن هایی رو برای هر کلمه کلیدی و نماد تولید میکنه: توکن ها حاوی اطلاعات نوع کلمه کلیدی و مکان اون در کد هست. با استفاده از این نشانه ها، یک AST (مخفف Abstract Syntax Tree) ایجاد و تجزیه و تحلیل میشن. چیزی که کامپایلر در اینجا بررسی میکنه این هست که آیا کد از نظر لغوی معنی‌دار است، یعنی آیا "توالی کلمات کلیدی" با قوانین زبان مطابقت داره؟(خطاهای سینتکسی(fucking syntax error😩) در این مرحله ایجاد میشه.)

سمنتیک: اکنون، کامپایلر بررسی میکنه که آیا عملیات کد شما منطقی هست یا خیر. به عنوان مثال اگر زبان از Type Inference پشتیبانی میکنه، اگر می خواهید استرینگی ای رو به یک float اختصاص بدین، خطای سمنتیک گزارش میشه. یا دوبار یک متغیر رو اعلام کنین. اینها خطاهایی هستند که از نظر دستوری و سینتکسی درست هستن، اما در طول عملیات هیچ معنایی ندارن. نکته جانبی: برای بررسی اینکه آیا یک متغیر دو بار اعلام شده است یا خیر، کامپایلر یک symbol table رو مدیریت میکنه.

شاید درکش در نگاه اول سخت باشه و ممکنه توضیحات من گیجتون کنه، ولی سعی کردم توضیحات ساده و کلی درموردشون بدم. برای اطلاعات بیشتر این PDF و مقالات زیر رو بخونید.
- PDF
- Article
- PDF
12🔥3
مزایای یادگیری ابزار های CI/CD برای فرانت دولوپر ها 👨‍💻

یادگیری ابزار های CI/CD (continuous integration continuous delivery) مثل Github actions و باقی ابزار ها برای دولوپرای فرانت‌اند مزایای زیادی داره مثل مدیریت بهتر پروژه و روند توسعه استاندارد تر و بهتر و .... که در ادامه به بعضی از این مزایا اشاره می‌کنم :

1️⃣بهبود کیفیت کد: با استفاده از CI/CD، می‌توانید به طور مداوم کدتون رو تست کنید و از بروز اشکالات جلوگیری کنید. این کار باعث افزایش کیفیت نهایی نرم‌افزار میشه.

2️⃣سرعت در توسعه: با اتوماسیون ci/cd، زمان لازم برای انتشار فیچر جدید کاهش پیدا میکنه. این به شما اجازه میده تا سریع‌تر به نیازهای کاربرا رسیدگی کنید.

3️⃣بازخورد سریع: CI/CD به شما این امکان رو میده که بازخورد فوری از تغییرات کدتون دریافت کنید. گرفتن بازخورد سریع از کد ها به شما کمک می‌کنه تا مشکلات رو زودتر شناسایی و حل کنید.

4️⃣مدیریت بهتر دپندنسی ها:وقتی که دپندنسی های سمت کلاینت پروژه زیاد بشه، ابزار های CI/CD به شما کمک می‌کنن تا وابستگی‌های پروژه رو به راحتی مدیریت کنید و مطمئن شید که همه چیز به درستی کار می‌کنه.

5️⃣همکاری بهتر تیمی: با استفاده از CI/CD، اعضای تیم می‌تونن به راحتی تغییرات همدیگه رو مشاهده کنن و در نتیجه همکاری بهتری داشته باشن و بلد بودن ابزار های ci/cd به عنوان یک فرانت اند دولوپر شمارو یک پله بالاتر از بقیه قرار میده.

6️⃣مستندسازی خودکار: بسیاری از ابزارهای CI/CD به طور اتوماتیک مستندات مربوط به فرآیندها و تغییرات رو ایجاد می‌کنن که این به تسهیل کار کمک میکنه.

یادگیری CI/CD نه تنها مهارت‌های فنی شما رو تقویت می‌کنه، بلکه باعث افزایش کارایی و کیفیت کار شما هم میشه و باعث افزایش سطح علمی شما، در استک فرانت اند میشه.

🗂مقالات کمکی :

🔗ابزار های ci/cd چی هستن ؟
🔗‏Github actions چیه و چه کاربردی داره ؟

#ci #cd #frontend
@CodeModile
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👌2
خود خودشه 😂😂😂

#fun
@CodeModule
😁18❤‍🔥1
فریم ورک Million.js چیه و چه کاربردی داره؟🧐

🔵فریم ورک Million یک DOM مجازی بسیار سریع و سبکه (<4 کیلوبایت) که اجزای React رو تا 70٪ سریعتر می کنه. که این خیلی عالیه :))


‏Million، ایجاد برنامه های وب رو به سادگی فراهم کرده و سرعت رندرشون و بارگذاریشون رو سریع تر می کنه و با استفاده از یک DOM مجازی بهینه و تنظیم‌شده، هزینه‌های سربار برنامه رو کاهش میده.

ویژگی های اساسی این فریم ورک⬇️

ویژگی اول بارگذاری اولیه سریع صفحات و تعاملات نرم‌تر، به خصوص در برنامه‌های پیچیده هست که این فریم ورک و واقعا جذاب می‌کنه.

ویژگی دوم پایداریه که امری حیاتی حساب میشه.
به همین دلیل کاملاً کامپایلر در Million 3 بازنویسی شده. این بازسازی بر این تمرکز داره که تجربه شما رو پایدارتر و قابل اعتمادتر کنه اما چطور ؟
با پوشش دادن یک طیف گسترده‌تر از سناریوها.


اطلاعات بیشتر راجب این فریم ورک و میتونید تو داکیومنتش مطالعه کنید.

Document 🌐

#dom #performance #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥142
دیزاین پترن Composite چیست؟ 🫵

الگوی طراحی Composite، یک الگوی طراحی structural هست که به شما امکان میده اشیاء رو در ساختارهای درخت مانند بنویسید تا سلسله مراتب بخشی از کل رو نشون بده. این به کلاینت(مشتری ها) اجازه میده تا با اشیاء و ترکیبات اشیا به طور یکنواخت رفتار کنن. به عبارت دیگه چه با یک شی منفرد و چه با گروهی از اشیا (کامپوزیت)، مشتریان میتونن به جای یکدیگر از اون ها استفاده کنن.

الگوی طراحی کامپوزیت چه مشکلاتی رو میتونه حل کنه؟ 🧸

* یک سلسله مراتب بخشی از کل باید نشان داده بشه تا کلاینت ها بتونن با اشیاء جزئی و کل به طور یکنواخت رفتار کنن.

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

الگوی طراحی کامپوزیت چه راه حلی را توصیف می کند؟

* یک رابط کامپوننت یکپارچه برای اشیاء قسمت (برگ) و اشیاء کل (کامپوزیت) تعریف میکنین.

* اشیاء Leaf منفرد رابط Component رو مستقیماً پیاده سازی میکنن و اشیاء Composite درخواست ها رو به مؤلفه های فرزندشون ارسال میکنن.

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

‏1. MenuItem (Interface): این رابط پایه هست که عملیات مشترک رو برای همه آیتم های منو تعریف میکنه. میتونه شامل متدهایی مثل «getName()»، «getPrice()» و «getDescription()» باشه.

‏2. Leaf (Concrete Class): این یک آیتم منوی واحد مثل "برگر" یا "سالاد" رو نشون میده. «MenuItem» رو پیاده‌سازی میکنه و پیاده‌سازی‌های مشخصی رو برای متد های خود فراهم میکنه و جزئیات خاص اون آیتم رو برمی‌گردونه.

‏3. Composite (Concrete Class):
این نشون دهنده یک دسته در منو مثل پیش غذاها هست. "MenuItem" رو پیاده سازی میکنه اما جزئیات خاص خود رو نداره. درعوض، فهرستی از مؤلفه‌های فرزند (سایر موارد «MenuItems» که میتونه هم «برگ» و هم دیگر اشیاء «کامپوزیت» باشن رو در خود داره. متد های رابط رو با تکرار از طریق مؤلفه‌های فرزند خود و تفویض تماس به روش‌های مربوطه اجرا میکنه. برای مثال، «getPrice()» قیمت کل رو با جمع کردن قیمت‌های همه اقلام فرزند خود محاسبه میکنه.

به صورت کلی این پترن هم مثل پترن های دیگه در شرایط خاص ممکنه کاربردی باشه. برای اطلاعات بیشتر به این مقالات مراجعه کنید:
- Article
- Article
- Article

#design_pattern
@CodeModule
9🔥4
پس لینکدین قابلیت‌های دیگه‌ای هم داره😂

#fun
@CodeModule
😁30💔4
تکنیک های بیشتری برای نوشتن یک رزومه خوب یاد بگیر 👾

توی این پست یه ریپازیتوری خوب بهتون معرفی میکنم که تکنیک های رزومه نویسی، که میتونه در ساخت یه رزومه خوب و استاندارد به شما کمک کنه، شرح داده.

🔗 Link

#resume
@CodeModule
🔥10👌1
کتابخانه Lit چیه و چه کاربردی داره؟ 😎

🔵‏Lit یک کتابخانه مدرن برای ساخت ‏وب‌کامپوننته که توسط گوگل توسعه داده شده. این کتابخانه با هدف ساده‌سازی فرآیند ساخت رابط‌های کاربری تعاملی و بهینه، طراحی شده.

👍‏Lit به شما این امکان رو میده تا کامپوننت‌های reusable و scalable ایجاد کنید که می‌تونن در پروژه‌های مختلف وب به کار گرفته بشن.

‏Lit از ویژگی‌های وب‌کامپوننت‌ها مثل Shadow DOM و Custom Elements بهره گیری می‌کنه و به دولوپرا این امکان رو می‌ده که با استفاده از تگ‌های HTML، کامپوننت‌های خودشونو بسازن. این کتابخانه به‌خصوص برای پروژه‌هایی که نیاز به تعاملات پیچیده و داینامیک دارن، خیای مناسبه.

ویژگی‌های کتابخانه Lit
⬇️

1️⃣سادگی و کارایی: Lit طوری طراحی شده که یادگیری و استفاده ازش آسون باشه. با استفاده از Syntax ساده و مختصر، دولوپرا می‌تونن به سرعت کامپوننت‌های خودشونو بسازن.

2️⃣پرفورمنس بالا: Lit با استفاده از تکنیک‌های بهینه‌سازی، مثل تغییرات هوشمند DOM، پرفورمنس بالایی رو ارائه می‌ده. این ویژگی باعث می‌شه که بارگذاری و تعاملات در صفحات وب سریع‌تر‌ و راحت تر باشه.

3️⃣قابلیت استفاده مجدد: کامپوننت‌های ساخته‌شده با Lit به راحتی قابل استفاده مجدد داخل پروژه‌های مختلف هستن.


4️⃣قابلیت ادغام آسان: Lit به راحتی با باقی فریم‌ورک‌ها و کتابخانه‌ها ادغام میشه، بنابراین می‌تونید ازش در پروژه‌های موجود هم استفاده کنید.

5️⃣پشتیبانی از TypeScript: ‏Lit‏ از TypeScript پشتیبانی می‌کنه که به دولوپرا این امکان رو می‌ده که کدهاشونو با data type مشخص کنن و از مزایای type safety بهره‌مند بشن.

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

برای یادگیری و مطالعه بیشتر این کتابخانه میتونید به داکیومنتش مراجعه کنید.

Document 🌕

#lit #library
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤‍🔥22
اگه به دنبال کتابی هستید که طیف وسیعی از موضوعات امنیتی از جمله رمزنگاری، امنیت شبکه، کنترل دسترسی، روش‌های احراز هویت و دفاع از بدافزار رو پوشش بده، این کتاب رو که خودمم شروع کردم میخونم رو بهتون پیشنهاد میدم.

#book
@CodeModule
9🔥4👌2
Biome چیه و چه کاربردی داره؟ 🐝

‏Biome یک ابزار جامع برای مدیریت کیفیت کد در پروژه‌های جاوااسکریپتی/تایپ اسکریپتی هست که ترکیبی از قابلیت‌های ابزارهایی مثل ESLint برای کنترل خطاهای کد، و Prettier برای قالب‌بندی خودکار کد(فرمتر) ارائه میده. Biome با هدف بهبود عملکرد و نگهداری کدهای پروژه طراحی شده و به دولوپرا کمک میکنه تا کدهایی تمیز، بهینه و قابل مدیریت تولید کنن.

ویژگی های کامل Biome❗️

قالب‌بندی خودکار کد: Biome به‌طور خودکار کدهای شما رو قالب‌بندی میکنه تا ظاهری منظم و مرتب داشته باشن.

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

کنترل نسخه و بهینه‌سازی کد: با ادغام با سیستم‌های کنترل نسخه، Biome بهینه‌سازی کدها رو به صورت کارآمد انجام میده.

یکپارچه‌سازی ابزارهای مختلف: به جای استفاده از چندین ابزار جداگونه مثل ESLint و Prettier‏، Biome همه این امکانات رو در یک پکیج ارائه میکنه.

به طور کلی این ابزار غول مرحله آخره و همه امکانات رو یکجا داره و با استفاده از اون، میتونید کدهای تمیزتر و با کیفیت‌تری بنویسید. برای کسب اطلاعات بیشتر به داکیومنتش مراجعه کنید.
#biome
@CodeModule
🔥104👌2
هنوز عوضش نکردم 😂

#fun
@CodeModule
😁25👌2
سیستمی قدرتمند به نام Strapi

‏Strapi یک سیستم مدیریت محتوا (CMS) اوپن سورسه که به زبان JavaScript و با استفاده از Node.js توسعه یافته. این سیستم بهتون این امکان رو میده که به سرعت API‌های قدرتمند رو ایجاد، و محتوا رو مدیریت کنید.

برخی از ویژگی‌های برجسته Strapi

📍قابلیت ساخت و مدیریت API‌های REST و GraphQL‏: Strapi به شما اجازه میده تا به راحتی API‌های RESTful و GraphQL بسازید و مدیریت کنید. این امکان به دولوپرا این اجازه رو میده تا داده‌های خودشون رو به شکل دلخواه در اختیار کلاینت‌ها قرار بدن.

📍مدیریت محتوا از طریق داشبورد کاربرپسند: Strapi دارای یک رابط کاربری مدیریت محتوا هست که به شما اجازه میده تا به سادگی مدل‌های داده‌ای خودتون رو تعریف کنید، مدیریت کنید و نقش‌های کاربری و مجوزها رو تنظیم کنید.

📍سفارشی‌سازی بالا و توسعه‌پذیری: به دلیل اینکه Strapi با استفاده از Node.js ساخته شده، شما می‌تونید به راحتی کد پایه اون رو تغییر بدید و با افزودن پلاگین‌ها و توسعه‌های سفارشی، CMS خودتون شخصی‌سازی کنید.

📍پشتیبانی از دیتابیس‌های مختلف: Strapi از چندین دیتابیس مثل SQLite، MySQL، PostgreSQL و MongoDB پشتیبانی می‌کنه. این انعطاف‌پذیری به شما اجازه میده تا با توجه به نیازهای پروژتون، دیتابیس مناسب رو انتخاب کنید.

📍امنیت و احراز هویت: Strapi دارای مکانیزم‌های امنیتی پیشرفته‌ایه که شامل JWT (JSON Web Tokens)، RBAC (Role-Based Access Control) و پشتیبانی از OAuth و Passport.js برای احراز هویت هست.

📍مدیریت فایل: Strapi امکاناتی برای آپلود و مدیریت فایل‌ها و تصاویر داره که می‌تونه اون هارو در منابع مختلف مانند AWS S3، Cloudinary و غیره ذخیره کرد.

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

🔗 Document

#strapi
@CodeModule
🔥13👌3
با پترن Facade پیچیدگی رو ساده کن! 🪼

الگوی Facade (یا façade) یک الگوی طراحی نرم افزاری هست که معمولاً در برنامه نویسی شی گرا استفاده میشه. این الگو مشابه نما در معماری هست که به عنوان یک رابط رو به جلو عمل میکنه که کدهای زیرین ساختاری پیچیده تری رو پوشش میدن. یک Facade میتونه:

- بهبود خوانایی و قابلیت استفاده یک کتابخانه با پوشاندن تعامل با اجزای پیچیده تر در پشت یک API واحد (و اغلب ساده شده) ارائه میده. همچنین یک رابط کاربری خاص برای عملکردهای عمومی تر ارائه میده.

دولوپر ها اغلب زمانی از الگوی طراحی نما استفاده میکنن که درک یک سیستم بسیار پیچیده یا دشوار هست، چرا که سیستم دارای کلاس های وابسته به یکدیگر هست یا کد سورس کد در دسترس نیست. این الگو پیچیدگی های سیستم بزرگتر رو پنهان میکنه و رابط کاربری ساده تری رو برای مشتری فراهم میکنه. این معمولا شامل یک کلاس wrapper هست که شامل مجموعه ای از اعضای مورد نیاز کلاینت هست. این اعضا از طرف کلاینت(مشتری) به سیستم دسترسی پیدا کرده و جزئیات پیاده سازی رو مخفی میکنه.

به عنوان مثال برنامه صبحگاهی خود رو تصور کنید. احتمالاً شامل چندین مرحله هست: دم کردن قهوه( یا چای)، روشن کردن چراغ ها، پخش موسیقی. هر یک از این اقدامات ممکنه شامل تعامل با دستگاه ها یا برنامه های جداگانه باشه.

الگوی طراحی نما مثل داشتن یک دکمه دستی "Morning Magic" روی میز خواب شما هست:

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

‏- Facade (دکمه جادویی صبح): این دکمه به عنوان Facade عمل میکنه. این یک رابط واحد - یک دکمه ساده - برای فعال کردن کل برنامه صبحگاهی فراهم میکنه.

به صورت کلی الگوی نما، در برنامه نویسی شی گرا، مانند نمای ساختمان در معماری عمل میکنه. جلوی ساده‌ای رو ارائه میکنه که عملکرد پیچیده درونی رو پنهان میکنه. در اصطلاح نرم افزاری، کلاسی هست که رابط کارآمد (streamlined interface) رو برای یک زیرسیستم یا کتابخانه پیچیده فراهم میکنه. برای اطلاعات بیشتر این مقالات ممکنه کمک کننده باشه:
- Article
- Article
- Article

#design_pattern
@CodeModule
🔥103👌3
نه ببین پکیج بهتره 😂😂

#fun
@CodeModule
😁262
اگه علاقه‌مند بودید بیشتر در مورد سینتکس و سمنتیک بدونید، این کتاب رو که خودمم میخونم پیشنهاد میدم. کتاب "Formal Syntax and Semantics of Programming Languages" نوشته Kenneth Slonneger مقدمه ای جامع بر مفاهیم اساسی در تئوری زبان برنامه نویسی ارائه میده. بر روی روش‌های رسمی مورد استفاده برای توصیف سینتکس و سمنتیک زبان‌های برنامه‌نویسی تمرکز داره و میتونید با دانلود PDF اون رو بخونید.

🔗 Link

#syntax #semantics
@CodeModule
10🔥2👌2
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔗 Link

#figma
@CodeModule
🔥11💔1
Good Morning New Yorkers ☀️
<unknown>
رویا پردازی خالی به درد نمیخوره.
اگه دوست داری همچین صدایی رو سر صبح بشنوی باید زحمتش رو بکشی 🌑

@CodeModule
🔥10