TGViewer
Channel Public Channel
CleverDevs

CleverDevs

@cleverdevs

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

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


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

💢~> @mmdrsdev
Subscribers
10.9K
Photos
778
Videos
286
Links
486

Showing posts older than #2174 · Back to latest

Older Posts 16 shown
Post #2173 4.77K
یکی از ابزار های لینوکسی که اکثر اوقات ازش استفاده میکنم tmux هستش

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

ممکنه بگید خب تب جدید باز میکنم چه نیازی به tmux دارم اما خب tmux دوتا مزیت داره

اول اینکه تو محیط tty که نمیتونید تب باز کنید و اینا میتونید با tmux چند تا کارو باهم انجام بدید
دوم اینکه همه بخش ها جلو چشمتونه و برای دیدن لاگ و ... راحت ترید

برای نصب و استفاده یه سر به گیت هابش بزنید
https://github.com/tmux/tmux/wiki

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

#tools #tmux
@CleverDevs - @CleverDevsGp
  • 🔥 28
  • 👍 10
  • ❤ 3
  • ⚡ 3
  • 👎 1
  • 🤣 1
Post #2172 4.34K
Good 🆚 Bad Refactor


وقتی یه پروژه رو میخوایم ریفکتور کنیم چیکارا نکنیم که وضع بدتر شه؟ (این پارت یکه.)

1. Don't Change The Base


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

قبل:
function processUsers(users: User[]) {
const result = [];
for (let i = 0; i < users.length; i++) {
if (users[i].age >= 18) {
const formattedUser = {
name: users[i].name.toUpperCase(),
age: users[i].age,
isAdult: true
};
result.push(formattedUser);
}
}
return result;
}


بعد از یه ریفکتور بد:
import * as R from 'ramda';
const processUsers = R.pipe(
R.filter(R.propSatisfies(R.gte(R.__, 18), 'age')),
R.map(R.applySpec({
name: R.pipe(R.prop('name'), R.toUpper),
age: R.prop('age'),
isAdult: R.always(true)
}))
);


بعد از یه ریفکتور خوب:
function processUsers(users: User[]): FormattedUser[] {
return users
.filter(user => user.age >= 18)
.map(user => ({
name: user.name.toUpperCase(),
age: user.age,
isAdult: true
}));
}


توی ریفکتور اول بیس کد کلا تغییر کرد و از یه پکیج جدید استفاده شد و احتمال زیاد بقیه کسایی که تو پروژه هستن باهاش آشنایی ندارن و کار برای همه سخت میشه.

#CleanCode SRC
@CleverDevs @CleverDevsGp
  • 👍 26
  • 👌 5
  • 🔥 3
  • ❤ 2
  • ⚡ 2
Post #2171 4.12K
یکی از بچه های چنل یه ریپازیتوری ساخته و داخلش درباره اینکه چطور توی hyperv*، لینوکس نصب کنیم و اسکریپت برای فعال کردن قابلیت های ویژه اش قرار داده.
تست کنید و اگه ایرادی داشت بگید.
*هایپر-وی برای دوستانی که نمیدونن:
یه هایپروایز نوع یک هست یعنی اینکه ماشین های مجازیتون مستقیما روی سخت افزارتون اجرا میشن و کاری به سیستم عاملتون(ویندوز) نداره و عملکردی خیلی بهتری نسبت به virtual box و vmware میده.

https://github.com/ali-hasehmi/LinuxVM-HyperV

#hyperv
@CleverDevs - @CleverDevsGp
  • 👍 24
  • ❤ 6
  • 🔥 5
Post #2170 5.3K
این آقا ستار هاشمی وزیر ارتباطات جدید کشوره.

ببینیم تو فحش خوردن میتونه رکورد جهرمی رو بشکونه یا نه

#News
@CeverDevs @CleverDevsGp
  • 🤣 105
  • 😁 16
  • 👍 8
  • 👌 4
  • 👎 2
Post #2165 6.5K
همه میدونیم که مهم‌ترین بخش یادگیری تمرینه؛
اگه ایده‌ای برای تمرین و زدن پروژه ندارید میتونید از این‌جا صد تا پروژه مختلف رو ببینید و هر کدوم یه‌چیز خاص دارن که باید برید راجع بهش سرچ کنید.

لینک:

https://dev.to/bigsondev/100-free-frontend-challenges-3f0?ref=dailydev

#Tool
@CleverDevs @CleverDevsGp
  • 👍 18
  • ❤ 10
  • ⚡ 4
  • 👌 2
Post #2163 5.28K
محمد رضا حقیری ، برنامه نویسی ایرانی یه مدل زبانی توسعه داده که روی 400 میلیارد پارامتر train شده و عملکرد خوبی مخصوصا توی زبان فارسی داره

این پروژه رایگانه و اگه حمایت بشه همیشه رایگان میمونه

برای توضیحات بیشتر و گرفتن api به سایتش سر بزنید

https://jabirproject.org/

پ.ن یه ربات تلگرام زدم تا تستش کنم

#Ai #jabir
@CleverDevs - @CleverDevsGp
  • 🔥 78
  • 👍 17
  • 💯 7
  • 🤣 2
  • ❤ 1
  • 👎 1
Post #2162 3.89K

Forwarded from Python Hints

تقریباً توی ۲ سال گذشته وقتی یکی بهم میگه:

برای فلان موضوع منبعی وجود نداره، نمی‌تونم یاد بگیرم


واقعاً عصبیم می‌کنه.

من زمانی لینوکس رو یاد گرفتم که ۱ ماه منتظر موندم تا CD نصب لینوکس به دستم برسه
چرا ؟
چون با اینترنت dial up + کارت اینترنت ۵۰۰۰ تومانی امکان دانلود نداشتم.
۲ هفته صبر کردم نسخه جدید منتشر بشه، بعد سفارش دادم برام آوردن که ۲ هفته طول کشید.

وقتی cd به دستم رسید، یک کتاب قدیمی که از یک دانشجوی کارشناسی دانشگاه دستم رسیده بود رو نصفش رو خونده بودم و رو کاغذ تمرین کرده بودم.

انقدری که جای آیکون و آپشن‌ها و ... رو حفظ شده بودم.

سیستم وقتی خراب می‌شد و توی کتاب نبود، بهترین گزینه این بود که تا ۱ شب صبر کنم چون از ۱ شب به بعد اینترنت dial up قویتر می‌شد (۶۴ کیلوبایت بود اون موقع) و می‌شد توی فروم‌های مختلف راحت‌تر پست‌هارو دنبال کرد.

بعد شما الان به من میگی منبع نیست ؟ حتی اگر واقعاً هیچ منبعی هم وجود نداشته باشه برای دسترسی شما.

۱- داکیومنت اصلی
۲- سورس کدهای دیگران (یا حتی نویسنده اون کتاب‌‌خونه، زبان برنامه‌نویسی یا ...)
۳- هوش مصنوعی

برای مثال من می‌خوام یک کتابخونه تو Rust یاد بگیرم و منبع هم نداره :

bard.google.com
رو باز می‌کنم؛ توی اولین پیام می‌نویسم.

You are a senior Rust developer and my tutor on learning Axum, from now on you must help me understand every single line of code we will talk about.


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


حالا چرا Bard یا همون Gemini رو استفاده می‌کنم ؟
۱- دسترسی به داده سرچ
۲- طول متن ورودی طولانی‌تر
۳- توضیحات دقیقتر
۴- کاملاً رایگان
توجه کنید ازش نمی‌خوام کد بزنه، می‌خوام بهم توضیح بده.


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


گل سر سبد، آنچه باید رو بهتون گفتم دیگه
  • 👍 113
  • 🔥 8
  • ❤ 7
  • 👌 3
  • 👎 2
Post #2160 3.35K

Forwarded from Milad Nouri(ツ) میلاد نوری

‌
طی نفوذی که به چند ربات ناشناس تلگرام اتفاق افتاده، متوجه شدند ۴۵۰ میلیون چت، ۱۱ میلیون عکس و ۳ میلیون ویدیو روی سرورهای این بات‌ها ذخیره شده.
‌
منبع: توییتر یاشو - مشاهده ویدئو
  • 🤯 52
  • 👍 10
  • 😁 7
Post #2159 3.94K
CleverDevs سروران عزیزی که ... #fun #sql @CleverDevs - @CleverDevsGp
برای اینکه یروزی قیافتون شبیه این زبون بسته نشه، MySQL دستورات خیلی ساده ای داره که بصورت ایمن میتونید کارای خودتون رو انجام بدین و اگه از نتیجه راضی بودین تغییرات رو اعمال کنید، در غیر این صورت از تمامی دستورات استفاده شده صرف نظر میشه تا مشکلی در دیتابیس بوجود نیاد.

دستور شروع اعمال تغییرات:
BEGIN;


و پس از اعمال تغییرات، اگر مایل به ذخیره آنها بودید از دستور زیر استفاده کنید:
COMMIT;


و در غیر اینصورت، برای صرف‌نظر کردن از تغییرات اعمال شده از دستور زیر استفاده کنید:
ROLLBACK;


#MySQL
@CleverDevs - @CleverDevsGp
  • 👍 40
  • 🔥 7
  • 👌 2
Post #2157 4.03K
پارامتر های args* و kwargs** توی پایتون چی هستن ؟

توی پایتون ما علاوه برا پارامتر هایی که به طور معمول موقع تعریف تابع مشخص میکنیم دونوع پارامتر دیگه داریم که با ستاره مشخص میشن Non-keyword args و keyword args که پاس دادنشون موقع فراخوانی تابع الزامی نیست و آرگیومنت های اضافه ای که موقع فراخوانی تابع بهش پاس میدیم جای این پارامتر ها قرار میگیرن

اما چطور باید این پارامتر هارو تعریف کنیم و ازشون استفاده کنیم. فرض کنید ما یه تابع به اسم user داریم که به عنوان پارامتر اول آیدی میگیره و به عنوان پارامتر های بعدی یه سری دیتا بدون keyword مثلا اسم زبان های برنامه نویسی طرف و یه سری دیتا با keyword به عنوان اطلاعات شخصی طرف میگیره

def user(id,*langs,**userinfo):
print(id)
print(langs)
print(userinfo)

user(1,"php","python",name="Mammad",channel="CleverDevs")



حالا اگه این کد رو ران کنیم آیدی رو مثل یه پارامتر معمولی پرینت میکنه
بقیه آرگیومنت هایی که keyword ندارن میرن جزو langs که یه tuple هستش
و آرگیومنت هایی هم که که keyword دارن میرن جزو userinfo که یه dictionary هستش

و خروجی یه همچین چیزی میشه :


1
('php', 'python')
{'name': 'Mammad', 'channel': 'CleverDevs'}


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

https://www.geeksforgeeks.org/args-kwargs-python/

#python
@CleverDevs - @CleverDevsGp
  • 👍 32
  • 🔥 8
  • 👌 3
  • ⚡ 2
Post #2156 3.53K
CSS Logical Properties


یه بحثی هست به اسم پراپرتی‌های منطقی که برای ما فارسی زبان‌ها خوبه که بلدش باشیم. (چون فارسی از راست به چپه)

ما میتونیم جای جهت‌های فیزیکی مثل چپ و راست از جهت‌هایی که بستگی به Rtl یا Ltr بودن HTML دارن استفاده کنیم؛ یعنی چی؟

یعنی مثلا جای
.box{
margin-right: 24px;
}


از
.box{
margin-inline-end: 24px;
}


استفاده کنیم.

// برای عمودی از block و افقی از inline استفاده می‌کنیم.


تو این حالت مهم نیست که سایت ما چپ‌چینه یا راست‌چین، در هر صورت المنت بعدی با کلس box بیست‌ و چهار پیکسل فاصله میگیره.

اما تو حالت اول اگه دایرکشن رو از چپ به راست به راست به چپ تغییر می‌دادیم باید یه همچین کدی هم اضافه میکردیم:
html[dir="rtl"] .box {
margin-right: 0;
margin-left: 24px;
}


یسری پراپرتی‌های دیگه که میتونن از این روش پیروی کنن:

text-align, inset, padding, border



#CSS SRC
@CleverDevs @CleverDevsGp
  • 👍 34
  • 🔥 7
  • 👌 4
  • ⚡ 1
Post #2155 3.73K
Built-In AI in your browser!


مثل این‌ که کروم داره روی یه WebAPI جدید کار میکنه؛ هوش مصنوعی!

این WebAPI فعلا روی آخرین نسخه کروم قناری🐦 کار میکنه.

نمونه کد رو میتونید تو عکس ببینید.

#Js #Javascript #AI SRC
@CleverDevs @CleverDevsGp
  • ⚡ 20
  • 👍 8
  • 👌 4
  • 🆒 3
Post #2154 3.66K
Media Query

یه چیز باحال به CSS اضافه شده😂

مشخص کردن محدوده مدیا ها رو جای این:

@media (min-width: 320px) {}


میتونیم این‌جوری هم انجام بدیم:

@media (width >= 320px) {}


#CSS SRC
@CleverDevs @CleverDevsGp
  • 👍 36
  • 🔥 8
  • ❤ 6
  • 👌 4
Post #2152 3.86K
جدیدا اومدم پست هایی که بلند هستن رو توی Obsidian مینویسم اولش بعد کپی میکنم تو تلگرام و میفرستم چنل که حس خوبیه بنظرم

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

همین اینکه میتونم غیر از چنل یه جای دیگه هم آرشیوی از نوشته ها داشته باشم

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

اگه دنبال یه برنامه یاداشت خوب هستید میتونید امتحانش کنید برای سیستم عامل های GNU/Linux - Windows - Macos - IOS - Android هم موجوده

https://obsidian.md/

#tools
@CleverDevs - @CleverDevsGp
  • 👍 27
  • 🔥 7
  • 👎 3
  • ⚡ 2
  • ❤ 1
Post #2151 4.17K
-اصل The Newspaper Metaphor در کلین کد

این اصل میگه که به یه روزنامه ای که خوب نوشته شده فکر کنید . شما از بالا شروع میکنید و تا پایین میخونیدیش .با خوندن عنوان مقاله می فهمید که اون صفحه در باره چیه و با خوندن پاراگراف اول هم یه خلاصه ای از محتوای صفحه میگیرید.

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

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

#CleanCode
@CleverDevs - @CleverDevsGp
  • 👍 27
  • ❤ 5
  • 🔥 5
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 →