CleverDevs – Telegram
CleverDevs
8.47K subscribers
733 photos
282 videos
27 files
435 links
به کانال کلوردوز خوش اومدین

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


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

CleverDevs are better than other Devs
💢~> @mmdrsdev
Download Telegram
باید با css پهپاد رو هک میکردن

@CleverDevs - @CleverDevsGp
🤣127👍7👎5😁4💔3
اسم زبون راست (Rust) رو اکثرتون شنیدید اما اگه از راست خوشتون نمیاد میتونید از زبون چپ (Chap) استفاده کنید

چپ یه پروژه فان هستش که توسط علی قهرمانی توسعه یافته با وجود فان بودنش پروژه خوبیه که میتونید تستش کنید

برای نصب و خوندن داکیومنتش میتونید به گیت هاب سر بزنید

https://github.com/ali77gh/Chap

همچنین میتونید بدون نصب کردن و آنلاین امتحانش کنید

https://ali77gh.github.io/ChapApp/

پ.ن خود زبون چپ هم با راست نوشته شده 😂

#Chap #Rust
@CleverDevs - @CleverDevsGp
🤣87👍5👎4🔥3😁1
مخابرات اینطوریه که سرعت اینترنت افتضاحه زنگ میزنی پشتیبانی گردن نمیگیرن میگن سرعتتون عالیه


بعد قطع میکنی یهو سرعت اینترنت میره بالا😂

#fun
@CleverDevs - @CleverDevsGp
🤣128👍23👌4
‏Object Relational Mapping یا به اختصار ORM چیه؟ و به چه دردی میخوره؟

اگه بکند کار باشید احتمال زیاد با یه ORM کار کردید یا حداقل اسمشو شنیدید توی این پست یکم دقیق تر بررسی میکنیم که ORM چه کاربردی داره . در واقع ORM ها ابزار هایی هستن که کمک میکنن برنامه نویس های شی گرا راحت تر با دیتابیس ارتباط برقرار کنن

مثلا اگه شما بخواید یه سری اطلاعات رو از جدول users بگیرید باید یه همچین کوئری sql ای بنویسید :
"SELECT id, name, email, country, phone_number FROM users WHERE id = 20"

اما کمک ORM ها میتونید با یه همچین چیزی کارو در بیارید
users.GetById(20)


‏ORM یک لایه بین برنامه نویس و دیتابیس ایجاد میکنه و در نهایت متد های مورد استفاده شمارو به SQL ترجمه میکنه و کوئری میزنه به دیتابیس ORM های مختلفی هم برای زبون ها و فریمورک های مختلف وجود داره مثل Eloquent برای لاراول یا ORM فریمورک جنگو و...

‏ORM های مختلف میتونن متد های مختلفی هم داشته باشن ولی در نهایت هدفشون یکیه و یه کاری انجام میدن

استفاده از ORM ها یه سری مزایاا و یه سری معایب داره

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

همینطور معایبی مثل
سرعت کمتر ORM نسبت به SQL
کارایی پایین ORM در کوئری های پیچیده و...


پ.ن درسته کار با ORM نیاز به دانش چندانی از SQL نویسی نداره اما به این معنی نیست که SQL بلد نباشید و فقط از ORM استفاده کنید

#ORM
@CleverDevs - @CleverDevsGp
👍32🔥12🆒4
💢 اخبار روز تکنولوژی (خلاصه و مفید)

🤖 همکاری BMW با ربات فیگور •
ربات فیگور ۰۱ متصل به هوش مصنوعی که چندی پیش معرفی کرده بودیم همراهی خود را با BMW اعلام کرد؛ همچنین تریلر ورژن جدید و پیشرفته ترش رو نشر داد و انتظار میره تا پایان سال ویدیو معرفی کاملش رو ببینیم.


🍎 تصمیم نهایی مدیرعامل اپل •
تیم کوک مدیرعامل اپل اعلام کرد؛ تا پایان سال میلادی جاری ChatGPT با سیستم عامل iOS18 و سایر نسخه های سیستم عامل اپل یکپارچه می‌شود.


• ‏🦷 اولین جراحی دندان‌پزشکی با ربات •
شرکت دندان‌پزشکی رباتیک Perceptive اعلام کرد برای اولین‌ بار از ربات با هوش مصنوعی تمام‌خودکار استفاده کرده است؛ این ربات تقریباً می‌تواند عمل‌های خاصی، مانند تعویض تاج دندان را هشت برابر سریع‌تر از دندان‌پزشک معمولی انجام دهد.


👽 رقابت انسان با هوش مصنوعی •
ایلان ماسک به‌تازگی در مصاحبه جدیدی با Lex Fridman درباره مزیت‌های تراشه‌های نورالینک صحبت کرده است. ایلان ماسک می‌گوید ایمپلنت‌های مغزی نورالینک بهترین راه برای انسان‌ خواهد بود تا هم با هوش مصنوعی پیشرفته یکپارچه شود هم در آینده با آن رقابت کند.


اگه موافق هستید این نوع پست‌ها رو ادامه بدیم با ری اکشن و شِیر کردن حمایت کنید.❤️

#QuickDailyNews
@CleverDevs | @CleverDevsGP
👍7046🔥3👎1
یکی از بچه ها تجربه چالش های مختلفی که اکثر تازه کار های لینوکسی بهشون بر میخورن رو توی بلاگش گذاشته و راه حل هایی براشون نوشته اگه شما هم تازه اومدید سمت لینوکس پیشنهاد میکنم بخونید میتونه کمکتون کنه

https://exinem.ir/2024/08/04/linux-daily-challenges/

#GNU #Linux
@CleverDevs - @CleverDevsGp
23🔥6👍4
CleverDevs
همون طور که بعضیاتون میدونین برای Height: auto; ترنزیشن اعمال نمیشه، که توی ساخت منو و اوتو‌کامپلت سرچ و .. استفاده میشه از این ترفند میتونین استفاده کنین. #trick - Source @CleverDevs @CleverDevsGp
calc-size()


قبلا توی این پست یه راه حل برای اعمال ترنزیشن روی

height: auto;

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

یه تابع جدید به اسم calc-size اومده که اگه تو ورودی بهش auto رو بدیم، میاد مقدار auto رو مشخص میکنه و بهمون برمیگردونه‌.

یعنی جای همه اینکارا کافیه فقط

.box {
height: 200px;
overflow: hidden;
transition: 300ms
}

.box.active {
height: calc-size(auto);
}

اینکارو بکنیم، البته فعلا وضعیت ساپورت مرورگرش خوب نیست. (اصلا خوب نیست)

@CleverDevs - @CleverDevsGp
👍17👌4
یکی از برنامه نویسای ایرانی اومده موتور بازی سازی خودشو ساخته و مراحلش رو توی یوتوب توضیح داده

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

https://www.youtube.com/watch?v=u1sz5jymhfI

#Game
@CleverDevs - @CleverDevsGp
🔥46👍9💯6
این توییت هم چند روزیه خبر ساز شده

نظر شما در این باره چیه ؟

#youtube
@CleverDevs - @CleverDevsGp
👎137👍30
اگر فکر کردین درآمدتون وابسته به سانسور و عدم دسترسی بقیه به اطلاعات و سرکوب آزادی و … هست، دوباره به کاری که دارین می‌کنین فکر کنین!

© Jadi

#youtube
@CleverDevs - @CleverDevsGp
👍1858🔥7👎4👌1
میم تیرانداز ترکیه ای رو با این تموم کنیم

#meme #fun
@CleverDevs - @CleverDevsGp
🤣74👍8😁4🆒3🔥2
توی این پست میخوام یه فیچر باحال لاراول به اسم macro رو معرفی کنم

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

در واقع کلاس های لاراول یه متد macro دارن که دوتا آرگیومنت میگیره اولی اسم متدی که میخوایم اضافه کنیم و دومی یه تابع که بدنه متد رو تشکیل میده

حالا چطور ماکرو هارو تعریف کنیم و ازشون استفاده کنیم ؟ برای اینکار میتونید ماکرو رو توی بوت AppServiceProvider تعریف کنید یا نه برای اینکه پروژتون تمیز تر باشه یه پروایدر مخصوص برای ماکرو ها بسازید

برای مثال ما میخوایم یه متد even برای کلاس Collection بسازیم تا بیاد اعضای زوج کالکشن رو برگردونه برای اینکار توی متود boot میاییم و ماکرو رو به این صورت تعریف میکنیم :

use Illuminate\Support\Collection;

public function boot()
{
Collection::macro('even', function () {
return $this->filter(function ($value) {
return $value % 2 === 0;
});
});
}


حالا هرجا بخوایم میتویم کلاس Collection رو use کنیم و از متد even استفاده کنیم :

php 
$numbers = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);

$evenNumbers = $numbers->even();

// $evenNumbers will now contain [2, 4, 6, 8, 10]


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

https://ditty.ir/posts/laravel-macro/J6dqn

#Laravel #php
@CleverDevs - @CleverDevsGp
👍17🔥433
یکی از بچه های چنل یه پادکستی به اسم ازشنبه شروع کرده که توش در باره برنامه نویسی و تکنولوژی حرف میزنه اگه علاقه‌مند بودید میتونید از یوتوب یا ساندکلاد گوش کنید

یوتوب - ساندکلاد
@CleverDevs - @CleverDevsGp
👍25🔥42
چطور مشکل merge conflict رو حل کنیم؟

#fun
@CleverDevs - @CleverDevsGp
🤣87😁8👍62🆒1
Forwarded from Sudoer (Morteza Bashsiz)
درود دوستان

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

سعی میکنم در آینده یه ویدیو بسازم و توش توضیح بدم که چطوری کار میکنه

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

سپاس فراوان از همراهی همه شما

https://github.com/MortezaBashsiz/nipovpn
👍3712🔥5
یکی از آسیب پذیری های خطرناک دنیای نرم افزار Race Condition هست . اما race condition چیه و چطور اتفاق میفته ؟

این آسیب پذیری زمانی رخ میده که دوتا عمل توی نرم افزار هم زمان رخ بدن اما برای اینکه نرم افزار درست کار کنه این دوتا عمل باید در زمان مناسب و به نوبت رخ بدن. یعنی اینکه این دوتا عمل جفتشون با یه قسمتی از رم کار دارن و همزمان شدنشون باعث این میشه که تاثیر بزارن رو هم که گاها تاثیرات بدی رو کل سیستم داره و هکر ها هم از این موضوع سوء استفاده میکنن

این مشکل که توی برنامه های مولتی ترد رخ میده اینطوریه که یه ترد از برنامه داره مثلا یه قسمتی از یه دیتای حساس رو میخونه و درحالی که هنوز میخونه و تمومش نکرده یه ترد دیگه از برنامه میاد اون دیتا رو آپدیت میکنه و عوضش میکنه

بزارید یه مثال بزنم تا این مسئله بهتر جا بیوفته . فک کنید با یه سیستم بانکی طرفید وقتی میخواید پولی به شخصی انتقال بدید سیستم اول میاد چک میکنه که شما تو حسابتون موجودی دارید یا نه اگه موجودی داشتید اول x مقدار پول به حساب طرف مقابل انتقال میده و بعد x مقدار از حساب شما کسر میکنه حالا فکر کنید اینجا یه race condition اتفاق بیوفته و دوتا درخواست انتقال با فاصله خیلی کم ثبت بشه اولی بیاد چک کنه ببینه موجودی دارید بعد پول رو به حساب طرف مقابل اضافه کنه و تا اون لحظه ای که پول از حساب شما کم میشه درخواست دوم هم بیاد و مرحله چک کردن موجودی رو رد کنه اینطوری شما پولی بیشتر از موجودیتون انتقال دادید


یکی از استفاده های معروف از این آسیب پذیری برمیگرده به سال 2015 که ایگر هوماکف ، متخصص امنیتی که تونست هرچند بار که میخواد حساب استارباکسش رو شارژ کنه بدون اینکه هزینشو پرداخت کنه (میتونید داستانش رو از اینجا بخونید)

یا همین چند وقت پیش که یه باگی تو openssh به وجود اومده بود و از همین آسیب پذیری استفاده میکرد

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

sokanacademy - techtarget - virgool

#security
@CleverDevs - @CleverDevsGp
🔥26👍143
فونت ادیتور برنامه نویس های ادایی :

#fun
@CleverDevs - @CleverDevsGp
🤣103👍8😁3💯2💔2
-اصل The Newspaper Metaphor در کلین کد

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

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

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

#CleanCode
@CleverDevs - @CleverDevsGp
👍275🔥5
جدیدا اومدم پست هایی که بلند هستن رو توی Obsidian مینویسم اولش بعد کپی میکنم تو تلگرام و میفرستم چنل که حس خوبیه بنظرم

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

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

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

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

https://obsidian.md/

#tools
@CleverDevs - @CleverDevsGp
👍27🔥7👎321
Media Query

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

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

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


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

@media (width >= 320px) {}


#CSS SRC
@CleverDevs @CleverDevsGp
👍35🔥86👌4
Built-In AI in your browser!


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

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

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

#Js #Javanoscript #AI SRC
@CleverDevs @CleverDevsGp
120👍8👌4🆒3