CodeHub
226 subscribers
141 photos
14 videos
2 files
162 links
آیا علاقه‌مند به خلق دنیایی بهتر هستی؟

برنامه نویسی کلید خلاقیت بی‌حد و حصر است🚀⚡️

🧑‍💻 @farzinhamzehi
Download Telegram
Forwarded from جادی | Jadi
چرا دیروز بخش بزرگی از ویندوز۱۰های شرکت‌های مهم غیرقابل استفاده شدن:‌ باگ کراوداسترایک

https://youtu.be/pjNzvWU6h-M

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

این رو شاید بشه حادترین مساله امنیتی کامپیوتری جهان در چند سال اخیر دونست و دلیلش بسیار ساده بود: یه آپدیت اشتباه یه شرکت که قرار بود مسوول امنیت این کامپیوترها باشه (:

#ویدئو #ویندوز #خبر
جادی | Jadi
چرا دیروز بخش بزرگی از ویندوز۱۰های شرکت‌های مهم غیرقابل استفاده شدن:‌ باگ کراوداسترایک https://youtu.be/pjNzvWU6h-M خبر اینطوری شروع شد که ویندوز ۱۰ ها دارن کرش می‌کنن و صفحه آبی نشون می‌دن و بوت نمی‌شن. بعد مشخص شد این فقط برای ویندوزهای شرکت های بزرگ و…
🚨 بحران جهانی: از کار افتادن کامپیوترهای ویندوزی

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

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

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

💻 وضعیت فعلی:
کامپیوترهایی که فایل channel معیوب را دریافت کرده‌اند، تا زمانی که این فایل به صورت دستی (از طریق safe mode) پاک نشود، قادر به بوت شدن نخواهند بود. به همین دلیل، شرکت‌های بزرگ در حال حاضر در حال تعمیر هزاران کامپیوتر به صورت دستی هستند.

⚠️ چرا این اشکال اینقدر بزرگ است؟
محصولات و راهکارهای امنیتی معمولاً درایوری در سطح کرنل بارگذاری می‌کنند و هرگونه خطا در این سطح می‌تواند باعث کرش کردن کل سیستم‌عامل شود.

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

🌍 وضعیت در ایران:
به دلیل تحریم‌ها، این سرویس در ایران به طور گسترده‌ای استفاده نمی‌شود.

🔴 <CodeHub/>
😢3👀1
🔸 یکی از مشکلاتی که اکثر برنامه نویس های تازه کار فرانت اند برای نمونه کار باهاش مواجه ان اینه که نمی تونن یه API رایگان و خوب پیدا کنن که بتونن نمونه کار های خودشون رو راه بندازن.

🔸 این وبسایت API های رایگان و فارسی با دسته بندی های مختلفی در اختیارتون میذاره که پیشنهاد میشه حتما ازش استفاده کنید.

🔸 همچنین این ابزار رو هم داره که می تونن api هارو باهاش تست بکنید یه چیزی شبیه POSTMAN

🔗 iransweb.com

🔴<CodeHub/>
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
تلگرام مثل شرکت‌های بزرگ دیگه نیست که همه روش‌های مدیریتش رو تبلیغ کنه و از خودش داستان‌های زیبا بسازه. اما یه تیم کوچک و کاردرست پشتشه! فقط ۳۰ نفر کل تلگرام رو مدیریت می‌کنن! باور نکردنیه.
پاول دورف واقعاً فوق‌العاده است.

🔴<CodeHub/>
🔥61🤯1
با اختلاف سخت ترین بخش کار: وقتی میخوای کامیت مسیج خفن بزنی😂

🔴<CodeHub/>
😁4🤣3🆒1
#جاوا_اسکریپت

🔸شکی نیست که console.log یکی از بهترین روش های دیباگ کردن هستش ولی در برخی موارد میتونیم از روش های دیگه هم استفاده کنیم تا فرایند دیباگ کردن رو بهبود ببخشه.

🔸 توی این مقاله با جزئیات بیشتر به این مورد پرداخته که میتونه مفید باشه.

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

🔴 <CodeHub/>
👍1
🔸 در برنامه‌نویسی مفاهیم Truthy , Falsy، به ارزیابی صحیح و غلط مقادیر اشاره دارند. به عبارتی، آیا مقدار داده شده به عنوان true یا false در نظر گرفته می‌شود.

✔️Truthy

در اکثر زبان‌های برنامه‌نویسی، بیشتر مقادیر truthy هستند مگر اینکه به صراحت "falsy" تعریف شده باشند.
🔺 عدد غیر صغر
🔺رشته های غیر خالی
🔺لیست‌ها، دیکشنری‌ها و مجموعه‌های غیر خالی
🔺اشیاء

✔️ Falsy

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

🔺عدد صفر
🔺رشته خالی ""
🔺لیست خالی ([])، دیکشنری خالی ({})، مجموعه خالی (set())
🔺مقدار False
🔺مقدار NaN

🔸 در کل این مفاهیم در زبان های مختلف می تواند با هم فرق داشته باشد پس understanding truthy and falsy values در زبان‌های مختلف برنامه‌نویسی مهم است.

🔴 <CodeHub/>
👍3🔥1
تا حالا اسم Shadc/UI رو شنیدین :
یک کتابخونه‌ی رابط کاربری برای برنامه‌نویسی وبه که توسط فردی به نام "Shadcn" توسعه داده شده و این کتابخونه مجموعه ای از کامپوننت ها و ابزارهای آماده را فراهم می‌کنه که به توسعه‌دهندگان وب کمک می کنه تا سریع‌تر و با کیفیت بالاتر رابط‌های کاربری مدرن و واکنش‌گرا ایجاد کنند.

ویژگی‌های اصلی shadcn/UI عبارتند از:

کامپوننت‌های آماده , سفارشی‌سازی , مستندات کامل , یکپارچگی با فریم‌ورک‌های مختلف , واکنش‌گرا بودن

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

🔴 <CodeHub/>
3🔥1
شورتکات های نماد ها و سمبل های رایج که میتونید ازشون استفاده کنید.

🔴 <CodeHub/>
💯2🔥1
برنامه‌نویسی: کپی-پیست یا خلاقیت؟

یه نفر می‌گه: «برنامه‌نویسی که همش کپی پیسته!»
برنامه‌نویس باهوش: «آره، اگه هنوز فانکشنا رو نخونده باشی!» 😎

به این فکر نکنید که با کپی پیست کردن یه تیکه کد تو 20 جا، کار تموم شده! نه‌تنها کدتون تمیز نمی‌شه، بلکه تو دام Code Duplication افتادید. حتی اگه کد رو 2 جا کپی کنید، همون مشکل رو دارید.

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

برنامه‌نویس مبتدی ممکنه فکر کنه چون مقدارهای مختلف در جاهای مختلف فرق می‌کنن، نیازی به نوشتن فانکشن یا کامپوننت نداره. به قول معروف، می‌گه: «ولللشش!» 😅

اما یک برنامه‌نویس حرفه‌ای تمام تلاششو می‌کنه تا از دلِ کپی-پیست‌ها یه فانکشن یا کامپوننت بسازه. اینطوری هم خوانایی کد رو بالا می‌بره و هم اگر روزی بخواد منطق کد رو تغییر بده، مجبور نمی‌شه از 20 جا تغییرش بده!

این دیدگاه هم در فرانت و هم بک‌اند پروژه باید وجود داشته باشه، ولی در فرانت‌اند، کامپوننت‌ها بیشترین مسئولیت رو به عهده دارن. فریمورک‌هایی مثل React، Vue، Angular و… کار رو راحت‌تر کردن، ولی باز هم خطر Code Duplication زیاد هست!

پیشنهاد من به شما اینه که هر وقت به فکر کپی-پیست افتادید، ببینید می‌تونید اون رو به کامپوننت تبدیل کنید (تنبلی نکنید!) و اگر حتی 1% هم فکر می‌کنید امکان‌پذیره، این کارو انجام بدید. همچنین، اگر از نرم‌افزارهای JetBrains استفاده کنید، هر وقت کدی که کپی-پیست کردید وجود داشته باشه، بهتون هشدار می‌ده و تا وقتی که اون رو داخل یه فانکشن نذارید، وجدانتون به درد میاد! 😉

پ.ن. حتی اگر این کدهای کپی-پیست شده در بخش‌های مختلف پروژه متفاوت باشن (ولی به هر حال کپی شده‌ی همدیگن)، در 90% مواقع می‌تونید با استفاده از پارامترها و متغیرها و یا ویژگی به اسم Function Overloading مشکل رو حل کنید.

🔴 <CodeHub/>
👍4🔥2💯1
#جاوااسکریپت

سایت جالبی که ساعت رو روی سورس کد خودش نشون میده🤯!!

هرچی بیشتر به این نوع وبسایت ها نگاه میکنم بیشتر میفهمم که از جاوا اسکریپت هیچی نمفهمم.

🔗 https://aem1k.com/qlock/

🔴 <CodeHub/>
👍3🔥3
نکات مهم و کاربردی تایپ اسکریپت توی یک صفحه

🔴 <CodeHub\>
3👍1
ظاهرا که پلتفرم دیسکورد که چند ماه قبل فیلتر شده بود الان رفع فیلتر شده!!

🔴 <CodeHub/>
🤩3
نظرتون چیه که از این به بعد هر چند وقت یکبار یک سری فایل های فیگما بزاریم که بتونه کمکی به کسایی که تازه حوزه وب اومدن بکنه؟
Anonymous Poll
90%
اره
10%
نه
امروز داشتم روی پروژه ای کار می کردم که باید خیلی زود به مرحله لانچ برسه به همین دلیل از کامپوننت های آماده استفاده کردم و خلاصه بگم این هرچی از کارایی و خوب بودن و headless UI و مچ بودنش با tailwind بگم کم گفتم 🔥

🔴 <CodeHub/>
🔥1
نو کپشن.



🔴 <CodeHub/>
🤣5
پنج ویژگی مهم که کد حرفه‌ای شما باید داشته باشد :

۱. استقلال از فریم‌ورک 🏗
- معماری کد شما نباید به یک فریم‌ورک خاص وابسته باشد.
- از فریم‌ورک‌ها به عنوان ابزار استفاده کنید، نه به عنوان محدودیت.

۲. قابلیت تست 🧪
- امکان تست business logic ها بدون نیاز به UI، دیتابیس، وب سرور یا هر وابستگی خارجی دیگر.یعنی اینکه سرور یا هر چی وابستگی خارجی که هست رو بتونید به راحتی تست کنید.

۳. عدم وابستگی به رابط کاربری (UI) 🖥
- قابلیت جایگزینی آسان بخش UI.
- امکان تغییر از رابط کاربری وب به کنسول یا CLI بدون تغییر در سایر بخش‌های کد.

۴. استقلال از دیتابیس 💾
- قابلیت تغییر آسان نوع دیتابیس (مثلاً از MySQL به MongoDB) بدون نیاز به تغییرات اساسی در کد.

۵. عدم وابستگی به سرویس‌های خارجی 🌐
- امکان جایگزینی آسان سرویس‌های خارجی (مثلاً تغییر سرویس پیامک از یک ارائه‌دهنده به دیگری) بدون تأثیر بر کل سیستم.


برگرفته از (Clean Architecture)


🔴 <CodeHub/>
👍7
10 کاری که باعث میشه شما به یک برنامه نویس بهتر تبدیل بشید :

1- کدی بنویس که راحت خونده بشه
📝
با استفاده از اسم‌های واضح برای متغیرها، توضیحات (کامنت‌ها) و فرمت‌بندی یکنواخت، مطمئن شو کدت قابل فهم باشه.

2 - اصل DRY (خودت رو تکرار نکن) رو رعایت کن 🚫🔁
از کپی کردن کد اجتناب کن و کارهای مشابه رو توی توابع یا کلاس‌های قابل استفاده مجدد قرار بده.

3 - از نام‌گذاری توصیفی استفاده کن 🏷
برای متغیرها، توابع و کلاس‌ها اسم‌های واضح و معنادار انتخاب کن تا خوندن و نگهداری کد راحت‌تر بشه.

4 - خطاها و باگ ها رو درست مدیریت کن
مکانیزم‌های مناسب برای مدیریت خطاها پیاده‌سازی کن تا خطاها رو پیش‌بینی و به خوبی مدیریت کنی و مقاومت کد رو بالا ببری.

5 - کدهای ماژولار بنویس 🧩
کدت رو به بخش‌های کوچکتر و قابل مدیریت تقسیم کن که هر کدوم روی وظیفه یا کار خاصی تمرکز داشته باشن.

6 - به استانداردهای کدنویسی پایبند باش 📏
از استانداردها و راهنماهای سبک خاص زبان یا فریم ورکی که باهاش کار می‌کنی پیروی کن تا کدت یکدست و منسجم بمونه.

7 - به‌طور منظم کد رو بازسازی (ریفکتر) کن 🔄
به‌طور مداوم کدت رو بازسازی کن تا ساختار، خوانایی و عملکردش بهتر بشه و بدهی فنی کاهش پیدا کنه.

8 - یادگیری و بهبود مداوم 🚀📚
با جدیدترین فناوری‌ها، ابزارها و بهترین روش‌های صنعت برنامه‌نویسی به‌روز باش تا مهارت‌هات رو تقویت کنی و رقابتی بمونی.

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

10 - کدی بنویس که تست کردنش راحت باشه 🧪
کدی بنویس که با اصولی مثل تفکیک مسئولیت‌ها و تزریق وابستگی‌ها (dependency injection) تست کردنش ساده باشه.


🔴<CodeHub/>
👍5
Audio
#Music

برنامه نویسی به شما این امکان را می‌دهد که به "فکر کردن" فکر کنید و در حین اشکال زدایی (Debug)، "یاد گرفتن" را یاد بگیرید.

نیکلاس نگروپونته


🔵 <CodeHub/>
4
#Figma_Template

Figma Template: Restaurant

Difficulty : ⭐️⭐️

🔗Click for Get Link

🔴</CodeHub>
4