TGViewer
Channel Public Channel
CleverDevs

CleverDevs

@cleverdevs

به کانال کلوردوز خوش اومدین

سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم


🔥لینوکس
🔥برنامه نویسی فرانت‌اند
🔥برنامه نویسی بک‌اند
🔥اخبار تکنولوژی و...

💢~> @mmdrsdev
Subscribers
11K
Photos
783
Videos
286
Links
487

Showing posts older than #1805 · Back to latest

Older Posts 20 shown
Post #1804 2.37K
-اصل Switch Statements در کلین کد

این اصل میگه که کوچیک کردن Switch ها سخته و حتی اونایی که 2 تا case دارن هم تا حدی بزرگ محسوب میشن یسری جاها هم ما مجبوریم ازشون استفاده کنیم برای رفع این مشکل میتونیم از پلی مورفیسم (Polymorphism) استفاده کنیم مثلا کد زیر رو در نظر بگیرید

public Money calculatePay(Employee e)
throws InvalidEmployeeType {
switch (e.type) {
case COMMISSIONED:
return calculateCommissionedPay(e);
case HOURLY:
return calculateHourlyPay(e);
case SALARIED:
return calculateSalariedPay(e);
default:
throw new InvalidEmployeeType(e.type);
}
}


این کد یه سری مشکلات داره :

اول اینکه بزرگه
دوم اینکه بیشتر از یه کار انجام میده
سوم اینکه اصل اول SOLID رو نقض میکنه چون بیشتر از یه دلیل برای تغییر دادنش دارید
چهارم اینکه اصل دوم SOLID رو هم نقض میکنه چون هربار که type جدید اضافه میشه باید تغییر کنه
اما مشکل اصلی اینه که این ساختار ممکنه تو هزارتا فانکشن دیگه هم نیاز بشه

اما چطور حلش کنیم ؟ (کد توی کامنت رو ببینید ) باید ساختار Switch رو توی یک ABSTRACT FACTORY بزاریم تا بیاد از روی switch برامون گزینه های مناسب مشتقات Employee رو بسازه و توابع مختلف مث calculatePay , isPayDay و deliverPay به صورت پلی مورفیسی از طریق اینترفیس Employee وصل بشن بهش

یعنی ما برای راحت شدن از دست سویچا کاری میکنیم که یه بار بنویسیمشون و چند جا استفاده کنیم


پی نوشت : این اصل کمی طولانی بود و سخت بود توی یه پست توضیحش داد از طرفی توی مثال هاش از شی گرایی اونم توی جاوا استفاده کرده و کارمون تا حدودی سخت تر شد برا همین ممکنه یکم گنگ و سخت شده باشه همین که سعی کنید از سوییچ کمتر استفاده کنید و بتونید کدی بنویسید که از یه سوییچ چند بار استفاده کنید کافیه

#CleanCode
@CleverDevs - @CleverDevsGp
  • 🔥 9
  • 👌 4
  • 👍 2
Post #1802 3.15K
یه پیشنهادی هم اخر سال بدم
قبل از شروع شدن 1403 برید چن ساعت وقت بزارید تو سایت زیر تایپ 10 انگشتی رو اگه بلد نیستید یاد بگیرید و تمرین کنید تا یه عمر راحت باشید
نه تنها تو برنامه نویسی تو سایر جاها هم تایپ کردن براتون اسون تر میشه

https://www.typing.com

برای فارسی هم میتونید از این سایتا استفاده کنید
https://typeo.top/
https://typekadeh.com/

#tools
@CleverDevs - @CleverDevsGp
  • 👍 28
  • 🔥 5
  • 👌 3
Post #1801 2.2K
CleverDevs توی یه سری پست میخوام در باره لایسنس های معروف اوپن سورس توضیحاتی بدم و معرفیشون کنم سوالی اینه که چرا باید لایسنس داشته باشیم ؟ چون وقتی برنامه اوپن سورسی منتشر میکنیم حتی اگه شما قصدتون این باشه که رایگان بزارید تا بقیه از کد شما استفاده کنن باز نمیتونن…
اولین لاینسی که میخوایم بررسی کنیم لایسنس  Berkeley Software Distribution License یا به اختصار BSD هستش

لایسنس BSD از یک سیستم عامل unix-type ریشه گرفته  و از دسته  permissive licenses هستش و یه سری محدودیت جزئی برای استفاده و توزیع اونها هست .  این نوع از لایسنس بهتون اجازه میده که یه محصول BSD اصلی و اوپن سورس رو بردارید کپی کنیدش ، تغییرش بدید و بر اساس نیازتون توزیعش بکنید.

لایسنس های BSD دو دسته اصلی دارن  :

1 - لایسنس BSD تغییر یافته (modified) که شامل سه بند میشه و تا زمانی که از این لایسنس استفاده میکنید آزادی عمل نا محدودی توی تغییر محصول اصلی دارید

2 - ‏لایسنس FreeBsd که دو بند داره و  شرایط استفادش رو گفته


#license #openSource | Source
@CleverDevs - @CleverDevsGp
  • 👍 18
  • 👌 5
  • 👎 2
  • 🔥 1
  • 😁 1
  • 🤣 1
Post #1800 2.17K
خب مث اینکه فعلا مونده جامون رو بگیره

#fun #meme
@CleverDevs - @CleverDevsGp
  • 🤣 76
  • 😁 4
  • 👌 1
Post #1798 2.2K
توی یه سری پست میخوام در باره لایسنس های معروف اوپن سورس توضیحاتی بدم و معرفیشون کنم

سوالی اینه که چرا باید لایسنس داشته باشیم ؟ چون وقتی برنامه اوپن سورسی منتشر میکنیم حتی اگه شما قصدتون این باشه که رایگان بزارید تا بقیه از کد شما استفاده کنن باز نمیتونن و حتما باید شما یه مجوز رسمی (لایسنس) اوپن سورسی براش بزارید و توی اون همه شرایط و اجازه هارو صراحتا بگید.

لایسنس ها به دو دسته اصلی تقیسیم میشن اولی copyleft که میگه هر ورژن تغییر یافته از این پروژه ها بالا بیاد باید دقیقا به همون لایسنس و قوانین پایبند باشه

دسته دوم permissive license ها هستن که یه مقدار دست توسعه دهنده ها رو باز تر میزاره و میتونن از نرم افزار اصلی توی پروژه خودشون با یه لایسنس دیگه استفاده کنن


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


#license #openSource | Source
@CleverDevs - @CleverDevsGp
  • 👍 26
  • 🔥 6
  • ❤ 2
  • 👌 2
Post #1797 2.3K
یکی از بچه ها یه Portfolio با html css و js نوشته باحال بود میتونید یه نگاه بندازید
و اگه توصیه ای هم داشتید براش تو کامنتا بزارید

https://github.com/Zephinax/Portfolio

اگه هم میخواید خروجی رو ببینید به این لینک سر بزنید


پ.ن پروژه اپن سورس داشته باشید بفرستید برام معرفی کنم @mmdrsdev


@CleverDevs - @CleverDevsGp
  • 🔥 17
  • 👍 4
  • 🤣 3
  • ❤ 2
  • ❤‍🔥 2
Post #1796 2.41K
اصن وقتی درست میشینی نمیشه کد زد😂

#fun | rita_codes
@CleverDevs - @CleverDevsGp
  • 🤣 32
  • 😁 6
  • 👍 5
  • 👎 1
Post #1793 2.84K
🔥 این شما و این ربات متصل به هوش مصنوعی ChatGPT که توسط کمپانی OpenAI و با نام Figure01 ساخته شده و در مرحله یادگیری هستش.

پروژه Figure AI توسط OpenAI , Nvidia , Amazon , Intel استارت خورده و ارزش فعلیش 2.6 بیلیون دلار هستش؛ هدف اصلی این کمپانی ساخت ربات های کارگر مانند هستش بطور مثال برای کارهای سنگین و خسته کننده که انسان ها خسته میشن و یا توانایی کار کردن محدودی دارن.

خوبه از این به بعد فقط ما برنامه نویس ها نیستیم که بترسیم قراره کارمونو از دستمون بگیرن 💔😂



#OpenAI #ChatGPT
@CleverDevs - @CleverDevsGp
  • 🔥 21
  • 🤣 7
  • 👌 2
  • 👍 1
  • 😁 1
Post #1792 2.12K
Barnamenevisi 🔊 اگر به هر دلیلی‌ اکانت‌ لینک‌دین‌تون قفل شده یا پاسپورت‌ ندارید یا پاسپورت دارید ولی سیستم احراز هویت لینک‌دین قبول نمی‌کنه به آیدی رسمی پشتیبانی لینک‌دین که پایین گذاشتم پیام بدید براتون درستش‌ می‌کنند 👇 https://x.com/LinkedInHelp
اگه اکانتتون بن شده به این پست هم یه نگاه بندازید
  • ❤‍🔥 12
Post #1791 2.28K
CleverDevs گیت هابتون رو تو کامنتا بفرستید تا اگه بقیه خواستن فالو کنن @CleverDevs - @CleverDevsGp
داشتن لینکدین برای ایجاد روابط با سایر برنامه نویسا و کسب و کار ها در نتیجه احتمال افزایش استخدام نکته مهمیه

اگه لینکدین ندارید که همین الان برید اکانت بسازید
اگه هم دارید تو کامنتا بفرستید تا تو لینکدین هم کانکشن داشته باشیم باهم ❤️‍🔥

@CleverDevs - @CleverDevsGp
  • 👍 15
  • ❤‍🔥 3
Post #1790 2.28K
📣 خرده خبرهای تاریخ دنیای تکنولوژی و کامپیوتر

⏳| در چنین روزی:
اولین کامپیوتر شخصی توسط کمپانی Kenbak در سال 1970 ساخته شد و به قیمت 5400$ امروزی به فروش رسید. (54 سال پیش)


اولین CD توسط کمپانی های Philips و Sony در سال 1982 برای عموم عرضه شد. (41 سال پیش)


اولین دامنه توسط کمپانی کامپیوتر symbolics.com در سال 1985 ثبت شد. (39 سال پیش)


اولین وبسایت قابل ویرایش در قالب ویکی و با نام WikiWikiWeb در سال 1995 ساخته شد. (29 سال پیش)


#ShortNews
@CleverDevs - @CleverDevsGp
  • 👍 16
  • 💯 4
  • ❤ 2
  • ❤‍🔥 1
  • 🔥 1
Post #1789 2.28K
چیزی که مردم درباره برنامه نویسی فکر میکنن
vs
برنامه نویسی در واقعیت

#meme #fun
@CleverDevs - @CleverDevsGp
  • 🤣 65
  • 👍 16
  • 😁 4
Post #1788 3.19K
داشتن رزومه برای هر برنامه نویسی از نون شب واجب تره اگه هم دوست داشته باشید پروژه خارجی بگیرید یا تو شرکت های خارجی کار کنید باید حتما رزومه انگلیسی داشته باشید
استاندارد بودن رزومه هم برای کسی که رزومه شمارو برسی میکنه از نکات خیلی مهمه

شما میتونید تو سایت resume.io یه رزومه عالی برا خودتون بسازید که کلی تمپلیت استاندارد و ابزار براتون ارائه میده

ولی یه مشکلی داره و باید برای دانلود رزومه پول بدید (به دلار) اما به جاش میتونید تو همون صفحه ادیت رزومه رو تمام صفحه کنید و کدی که تو کامنت ها گذاشتم رو توی کنسول بزنید و به راحتی دانلودش کنید🔥


#tools
@CleverDevs - @CleverDevsGp
  • 🔥 21
  • 👍 3
  • 👌 3
  • ❤‍🔥 1
Post #1787 2.21K
✨ یکی دیگر از قابلیت های جاوااسکریپت، دسترسی و مدیریت آسون LocalStorage (حافظه محلی) مرورگر هستش که عموماً برای سناریو هایی مانند: to-do List و remember me داخل وب‌سایت ها استفاده میشه.

از این حافظه که سمت کاربر هستش، اکثراً برای مواردی که امنیت خاصی نیاز ندارن استفاده میشه که تا حدودی کار توسعه دهنده رو راحت تر میکنه و فضای بی موردی هم سمت سرور اشغال نمیشه.

در تصویر بالا نمونه ای از ایجاد آیتم و مقدار دهی آن و نحوه آپدیت و ریست کردنش نوشته شده. ❤️


@CleverDevs - @CleverDevsGp
  • 👍 20
  • 🆒 2
  • 🔥 1
Post #1786 2.27K
عبارت with توی پایتون چیه و به چه دردی میخوره؟!

‏عبارت with برای مدیریت کردن خطا بدرد میخوره و میتونه کدمون رو تمیز تر و قابل خوندن تر بکنه

مدیریت فایل ها و... رو راحت تر میکنه مثلا تو کد بالا سه تیکه کد داریم که همشون یه کار انجام میدن اما سومی هم راحت تره هم مطمئن تر مثلا برخلاف دوتای اولی تو سومی نیازی نیست file.close رو بنویسید و خود with زحمتش رو برامون میکشه

تو کد بالا قسمت اول که اصلا مستعد باگه و ولش کنید قسمت دوم اوکیه ولی خب کدمون رو سخت میکنه ولی وقتی از with استفاده کی هم باگ نداری و هم کدت اسون تره در واقع سومی در نهایت به دومی ترجمه میشه


اگه خواستید بیشتر در باره with statement بدونید مقاله زیر رو بخونید
https://www.geeksforgeeks.org/with-statement-in-python/

#python
@CleverDevs - @CleverDevsGp
  • 👍 20
  • 🔥 6
  • 👎 2
  • 👌 1
Post #1783 2.03K

Forwarded from -

سلام 😂

🔹هممون میدونیم این روز ها دسترسی به اینترنت آزاد برای خیلیا سخت شده و روز به روز داره سخت تر هم میشه.

با ساختن این کانال سعی کردم کمکی به دسترسی آزاد به اینترنت کرده باشم💠

این کانال تمام لینک های
⬜️ Vless
⬜️ Vmess
⬜️ Sa
⬜️ Warp
⬜️ Tuic
⬜️ Trojan
⬜️ Shadowsocks

هر 2 ساعت از سطح اینترنت جمع آوری کرده و اینجا به صورت اتومات ارسال میکند🔸

حجم کانفیگ های ارسالی در روز زیاد هست پس کانال رو بی صدا کنید تا اذیت نشید😚

😢 تضمین وصل بودن همه کانفیگ ها رو نمیدم ولی اکثرا کار میکنن با اینترنت های مختلف تست کنید تا وصل شه 🥲

من خودم دو ماهه از همین کانفیگ ها استفاده میکنم♥️

این پروژه اوپن سورس هست و خوشحال میشم دوست داشتید دوستان برنامه نویس  PR بدید بهم🤝

😴 Github Project
❤️ iFaridreza

به یاد #یوسف_قبادی #سگارو :)

@Free_Internet_404 🚀
@Free_Internet_404 🚀
  • 🔥 9
  • 👍 4
  • 👌 1
Post #1781 2.06K
-اصل One Level of Abstraction per Function در کلین کد

برای اینکه مطمئن بشیم تابع ما یک کار انجام میده باید مطئمن بشیم که کد های توی تابع یک سطح انتزاع رو داشته باشن برای اینکه از حالت گنگ بودن در بیاد به این مثال دقت کنید

فک کن شما یه تابع (کدش رو تو کامنتا میفرستم ) دارید بعد یه تیکه از کدتون سطح بالاس مثل getHtml() یه تیکه از کدتون مثل PathParser.render سطح متوسطه و یه تیکه دیگه مث append سطح پایین
در واقع این کد اصل Do One Thing رو اصلا رعایت نکرده

ترکیب کردن لول های مختلف انتزاع باهم توی تابع همیشه باعث گیج شدن ما میشه


#CleanCode
@CleverDevs - @CleverDevsGp
  • 🔥 7
  • 👌 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →