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
از لودینگ های معمولی خسته شدی؟ برو سراغ skeleton 💀

سایت skeletonreact ابزاری برای ایجاد کامپوننت‌های اسکلت انیمیشنی هست و از خروجی در قالب‌هایی نظیر React، ‏React Native‏، Vue و Vanilla HTML پشتیبانی می‌کنه. انیمیشن های اسکلتی رو میتونیم به‌ عنوان جایگزینی برای لودینگ‌های معمولی و خسته کننده در نظر بگیریم، و اونها به ما این قابلیت رو میدن که به کاربران پیش‌نمایشی از ساختار صفحات، مثل مکان‌نماهایی برای متون یا تصاویر ارائه بدیم تا تجربه کاربری بهتری در زمان بارگذاری داده‌ها فراهم بشه.

🔗 Link

#tools #skeleton
@CodeModule
آرشیو کتاب ها و دوره های رایگان برنامه نویسی🔥

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

🔗 Link

#repository
@CodeModule
‏TanStack Form بلاخره استیبل شد🗽

‏TanStack Form یک کتابخانه جدید از تیم TanStack هست که برای مدیریت فرم‌ در پروژه های شما طراحی شده. این کتابخانه به تازگی استیبل شده و به‌عنوان جایگزینی برای کتابخانه‌هایی مثل React Hook Form و Formik در نظر گرفته میشه.

ویژگی‌های اصلی TanStack Form👇🏻

پشتیبانی از چندین فریم‌ورک و کتابخانه: این کتابخانه از React، Vue، Angular، Solid و Lit پشتیبانی می‌کنه.

بدون وابستگی خارجی: TanStack Form بدون وابستگی به کتابخانه‌های دیگه طراحی شده که منجر به حجم کم و عملکرد بهینه میشه.

پشتیبانی قوی از TypeScript: این کتابخانه با پشتیبانی از TypeScript، تجربه توسعه‌ بهتری رو فراهم می‌کنه.

طراحی بدون رابط کاربری (Headless): امکان استفاده از کامپوننت‌ها و هوک‌های بدون رابط کاربری برای انعطاف‌پذیری بیشتر در طراحی فرم‌ها.

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

اعتبارسنجی هم‌زمان و غیرهم‌زمان: امکان تعریف قوانین اعتبارسنجی مختلف برای فیلدها و فرم.

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

🔗 Link

#tanstack
@CodeModule
🥶 چه آینده ای در انتظار Typescript هست ؟

🔵تایپ‌اسکریپت 5.8.2 آخرین نسخه رسمی که تا امروز (13 مارس 2025) منتشر شده، که در 27 فوریه 2025 اومده. این نسخه بیشتر روی بهبودهای کوچک و رفع مشکلات تمرکز داشته و چیز خیلی عجیب و غریبی توش نیست. طبق اعلام تیم تایپ‌اسکریپت توی وبلاگ رسمی‌شون، چندتا تغییر اصلی داشته:

بهبود type checking ها: مثلاً بررسی دقیق‌تر تایپ هایی که توی شرط‌ها برمی‌گردن یا وقتی به یه چیزی با ایندکس دسترسی پیدا می‌کنی.

پشتیبانی بهتر از ابزارهای ویرایشگر : مثل مرتب کردن importها بدون توجه به بزرگ یا کوچیک بودن حروف، که با بقیه ابزارها بهتر جور دربیاد.

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

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

⚡️حالا خبر بزرگ : تایپ‌اسکریپت 7.0 با زبان Go

حالا بریم سراغ چیزی که همه رو توی شبکه‌های اجتماعی و جاهای دیگه هیجان‌زده کرده. طبق پست‌هایی که توی X دیدم و یه اعلامیه که ظاهراً 11 مارس 2025 توی وبلاگ تایپ‌اسکریپت منتشر شده، تیم مایکروسافت داره روی یه نسخه کاملاً جدید کار می‌کنه که با زبان Go بازنویسی شده. یعنی کمپایلر تایپ‌اسکریپت که الان با خودش نوشته شده و به جاوااسکریپت تبدیل می‌شه، قراره به یه برنامه مستقل و سریع با Go تبدیل بشه.

👩‍💻چرا Go رو انتخاب کردن؟

🔵سرعت: توی پست‌های X گفته شده که تست‌های اولیه نشون می‌ده این نسخه تا 10 برابر سریع‌تر از نسخه الان کار می‌کنه. مثلاً توی پروژه‌های بزرگ مثل VS Code که از سرور تایپ‌اسکریپت (tsserver) زیاد استفاده می‌کنه، این سرعت می‌تونه کار رو خیلی راحت‌تر کنه.

🔵کارایی: Go یه زبان کامپایل‌شده‌ست و خیلی بهینه‌تر از جاوااسکریپت اجرا می‌شه، مخصوصاً برای کارای سنگین مثل بررسی نوع‌ها توی پروژه‌های بزرگ.

چیا قراره عوض بشه ؟

🔵پرفورمنس بهتر : اگه این 10 برابر سریع‌تر بودن واقعی باشه، برای پروژه‌های بزرگ که الان بررسی نوع‌هاشون گاهی چند ثانیه یا حتی چند دقیقه طول می‌کشه، یه تغییر بزرگه.

🔵سرور سریع‌تر: چون VS Code و خیلی از ویرایشگرها از tsserver برای تحلیل کد استفاده می‌کنن، این می‌تونه تجربه برنامه‌نویسی رو خیلی بهتر کنه.

هنوز معلوم نیست این تغییر به Go روی خود زبان (مثل دستورات یا ویژگی‌ها) اثر می‌ذاره یا فقط کمپایلر رو عوض می‌کنه 🏖️

#typescript #go #news
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
نوروز سال ۲۵۸۴ شاهنشاهی رو بهتون تبریک میگم دوستان🔥🥳

امیدوارم تموم قله های موفقیت رو فتح کنید و امسال، سال شما باشه💙


@CodeModule
بخدا یه ساله کد نزدم دوستان.

#fun
@CodeModule
معماری میکرو فرانت‌اند چیه؟! 🪡

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

مزایای استفاده از میکروفرانت‌اند 👇

مستقل بودن تیم‌ها و توسعه سریعتر

هر تیم می‌تونه روی یک بخش خاص از پروژه کار کنه، بدون اینکه روی سایر بخش‌ها تأثیر بذاره. این موضوع روند توسعه رو سریع‌تر و مدیریت رو ساده‌تر می‌کنه.

چند تکنولوژی در یک پروژه

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

بروزرسانی آسون و بدون تأثیر روی کل پروژه

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

بهینه‌سازی عملکرد

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

مقیاس‌پذیری بهتر

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


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

#microfrontend
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
چرا ‏Vitest رو به Jest ترجیح بدیم؟ 🥶

‏Jest و Vitest یکی از چندین فریمورک‌هایی هستن که برای نوشتن تست‌ (unit test یا integration test) داخل پروژه‌هامون استفاده میکنیم.

‏Vitest به عنوان جایگزینی جدیدتر، سریع تر و ساده تر معرفی شد. این فریمورک به دلیل (Hot Module Replacement) HMR و پشتیبانی از ESM (ECMAScript Modules) سرعتی به مراتب بالاتر از jest داره. پشتیبانی داخلی از Ts بدون نیاز به ابزارهای اضافی باعث شده محیط نوشتن کد‌ها دارای ساختاری یکسان باشه و مثل خیلی از فریمورک‌های دیگه اجرای تست‌ها در مرورگر و Node.js به راحتی امکان پذیره. مهاجرت از Jest به Vitest کار چندان سختی نیست اگر از قبل با jest کار کرده باشید.

قید Jest رو کلا بزنیم؟

قطعا نه و هنوز تو بعضی شرایط انتخاب منطقی‌تریه. برای مثال در پروژه های Next.js یکسری محدودیت‌ها برای Vitest وجود داره و استفاده از Jest منطقی‌تره.

آیا پروژه باید با vite باشه تا بتونیم از Vitest استفاده کنیم؟

‏Vitest به‌عنوان یک فریمورک تست مستقل کار می‌کنه و میتونیم اون رو در هر پروژه جاوا/تایپ اسکریپت استفاده، و فقط کانفیگ‌های مربوطه رو اضافه کنیم.

#testing
@CodeModule
با React Scan بیشتر آشنا بشید 💎

پکیج React Scan در واقع یک ابزار نسبتاً جدید و جالب برای آنالیز و اسکن پروژه‌های ریکتی هست که به شما، در شناسایی رندرهای غیرضروری در پروژتون کمک میکنه. این ابزار مشکلات عملکردی مربوط به re-render شدن کامپوننت‌ها رو بدون نیاز به تغییر در کد به راحتی شناسایی میکنه.

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

📎 Document

#reactScan
@CodeModule
چطور اکانت گیتهابم رو حفظ کنم؟ مروری بر 2FA و اهمیت مدیریت دسترسی‌ها 🔥

چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره می‌کردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانت‌های گیت‌هابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعت‌ها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیت‌هابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!

1- سیو کردن ریکاوری کدها
اولین و مهم‌ترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیره‌سازی پسورد) خیلی می‌تونه کمک‌کننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.

2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه می‌کنم، فعال کردن SSH برای اکانت گیت‌هاب هست. این کار کمک می‌کنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیت‌هاب دسترسی پیدا کنید.

نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از ssh-keygen در ترمینال).
- بعد از ساخت کلید، باید اون رو به گیت‌هاب اضافه کنید از طریق تنظیمات SSH Keys در گیت‌هاب.

3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، می‌تونید از اکسس توکن‌ها (PAT) استفاده کنید. این توکن‌ها برای ارتباط امن‌تر با گیت‌هاب خیلی مفید هستند.

نحوه فعال سازی PAT:
- به تنظیمات اکانت گیت‌هاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.

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

#github
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔗 Link

#figma
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
یه موردی خیلی توجهم رو جلب کرده.

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

واقعا رسالت این کار چیه؟ /:

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

@CodeModule