اسم زبون راست (Rust) رو اکثرتون شنیدید اما اگه از راست خوشتون نمیاد میتونید از زبون چپ (Chap) استفاده کنید
چپ یه پروژه فان هستش که توسط علی قهرمانی توسعه یافته با وجود فان بودنش پروژه خوبیه که میتونید تستش کنید
برای نصب و خوندن داکیومنتش میتونید به گیت هاب سر بزنید
https://github.com/ali77gh/Chap
همچنین میتونید بدون نصب کردن و آنلاین امتحانش کنید
https://ali77gh.github.io/ChapApp/
پ.ن خود زبون چپ هم با راست نوشته شده 😂
#Chap #Rust
@CleverDevs - @CleverDevsGp
چپ یه پروژه فان هستش که توسط علی قهرمانی توسعه یافته با وجود فان بودنش پروژه خوبیه که میتونید تستش کنید
برای نصب و خوندن داکیومنتش میتونید به گیت هاب سر بزنید
https://github.com/ali77gh/Chap
همچنین میتونید بدون نصب کردن و آنلاین امتحانش کنید
https://ali77gh.github.io/ChapApp/
پ.ن خود زبون چپ هم با راست نوشته شده 😂
#Chap #Rust
@CleverDevs - @CleverDevsGp
🤣87👍5👎4🔥3😁1
مخابرات اینطوریه که سرعت اینترنت افتضاحه زنگ میزنی پشتیبانی گردن نمیگیرن میگن سرعتتون عالیه
بعد قطع میکنی یهو سرعت اینترنت میره بالا😂
#fun
@CleverDevs - @CleverDevsGp
بعد قطع میکنی یهو سرعت اینترنت میره بالا😂
#fun
@CleverDevs - @CleverDevsGp
🤣128👍23👌4
Object Relational Mapping یا به اختصار ORM چیه؟ و به چه دردی میخوره؟
اگه بکند کار باشید احتمال زیاد با یه ORM کار کردید یا حداقل اسمشو شنیدید توی این پست یکم دقیق تر بررسی میکنیم که ORM چه کاربردی داره . در واقع ORM ها ابزار هایی هستن که کمک میکنن برنامه نویس های شی گرا راحت تر با دیتابیس ارتباط برقرار کنن
مثلا اگه شما بخواید یه سری اطلاعات رو از جدول users بگیرید باید یه همچین کوئری sql ای بنویسید :
اما کمک ORM ها میتونید با یه همچین چیزی کارو در بیارید
ORM یک لایه بین برنامه نویس و دیتابیس ایجاد میکنه و در نهایت متد های مورد استفاده شمارو به SQL ترجمه میکنه و کوئری میزنه به دیتابیس ORM های مختلفی هم برای زبون ها و فریمورک های مختلف وجود داره مثل Eloquent برای لاراول یا ORM فریمورک جنگو و...
ORM های مختلف میتونن متد های مختلفی هم داشته باشن ولی در نهایت هدفشون یکیه و یه کاری انجام میدن
استفاده از ORM ها یه سری مزایاا و یه سری معایب داره
مزایایی مثل
همینطور معایبی مثل
پ.ن درسته کار با ORM نیاز به دانش چندانی از SQL نویسی نداره اما به این معنی نیست که SQL بلد نباشید و فقط از ORM استفاده کنید
#ORM
@CleverDevs - @CleverDevsGp
اگه بکند کار باشید احتمال زیاد با یه 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 با ربات فیگور •
• 🍎 تصمیم نهایی مدیرعامل اپل •
• 🦷 اولین جراحی دندانپزشکی با ربات •
• 👽 رقابت انسان با هوش مصنوعی •
اگه موافق هستید این نوع پستها رو ادامه بدیم با ری اکشن و شِیر کردن حمایت کنید.❤️
#QuickDailyNews
@CleverDevs | @CleverDevsGP
• 🤖 همکاری BMW با ربات فیگور •
ربات فیگور ۰۱ متصل به هوش مصنوعی که چندی پیش معرفی کرده بودیم همراهی خود را با BMW اعلام کرد؛ همچنین تریلر ورژن جدید و پیشرفته ترش رو نشر داد و انتظار میره تا پایان سال ویدیو معرفی کاملش رو ببینیم.
• 🍎 تصمیم نهایی مدیرعامل اپل •
تیم کوک مدیرعامل اپل اعلام کرد؛ تا پایان سال میلادی جاری ChatGPT با سیستم عامل iOS18 و سایر نسخه های سیستم عامل اپل یکپارچه میشود.
• 🦷 اولین جراحی دندانپزشکی با ربات •
شرکت دندانپزشکی رباتیک Perceptive اعلام کرد برای اولین بار از ربات با هوش مصنوعی تمامخودکار استفاده کرده است؛ این ربات تقریباً میتواند عملهای خاصی، مانند تعویض تاج دندان را هشت برابر سریعتر از دندانپزشک معمولی انجام دهد.
• 👽 رقابت انسان با هوش مصنوعی •
ایلان ماسک بهتازگی در مصاحبه جدیدی با Lex Fridman درباره مزیتهای تراشههای نورالینک صحبت کرده است. ایلان ماسک میگوید ایمپلنتهای مغزی نورالینک بهترین راه برای انسان خواهد بود تا هم با هوش مصنوعی پیشرفته یکپارچه شود هم در آینده با آن رقابت کند.
#QuickDailyNews
@CleverDevs | @CleverDevsGP
👍70❤46🔥3👎1
یکی از بچه ها تجربه چالش های مختلفی که اکثر تازه کار های لینوکسی بهشون بر میخورن رو توی بلاگش گذاشته و راه حل هایی براشون نوشته اگه شما هم تازه اومدید سمت لینوکس پیشنهاد میکنم بخونید میتونه کمکتون کنه
https://exinem.ir/2024/08/04/linux-daily-challenges/
#GNU #Linux
@CleverDevs - @CleverDevsGp
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
بنظرم کار خفنی بود و ارزش دیدن داره
https://www.youtube.com/watch?v=u1sz5jymhfI
#Game
@CleverDevs - @CleverDevsGp
🔥46👍9💯6
اگر فکر کردین درآمدتون وابسته به سانسور و عدم دسترسی بقیه به اطلاعات و سرکوب آزادی و … هست، دوباره به کاری که دارین میکنین فکر کنین!
© Jadi
#youtube
@CleverDevs - @CleverDevsGp
© Jadi
#youtube
@CleverDevs - @CleverDevsGp
👍185❤8🔥7👎4👌1
توی این پست میخوام یه فیچر باحال لاراول به اسم macro رو معرفی کنم
ممکنه بخواید برای یکی از کلاس های خود لاراول متدی اضافه کنید طبیعتا رفتن و اضافه کردنشش به سورس کد خود لاراول کار منطقی ای نیست تو این موقعیت میتونید از macro ها استفاده کنید
در واقع کلاس های لاراول یه متد macro دارن که دوتا آرگیومنت میگیره اولی اسم متدی که میخوایم اضافه کنیم و دومی یه تابع که بدنه متد رو تشکیل میده
حالا چطور ماکرو هارو تعریف کنیم و ازشون استفاده کنیم ؟ برای اینکار میتونید ماکرو رو توی بوت AppServiceProvider تعریف کنید یا نه برای اینکه پروژتون تمیز تر باشه یه پروایدر مخصوص برای ماکرو ها بسازید
برای مثال ما میخوایم یه متد even برای کلاس Collection بسازیم تا بیاد اعضای زوج کالکشن رو برگردونه برای اینکار توی متود boot میاییم و ماکرو رو به این صورت تعریف میکنیم :
حالا هرجا بخوایم میتویم کلاس Collection رو use کنیم و از متد even استفاده کنیم :
برای درک بهتر میتونید این مقاله از دیتی رو هم بخونید
https://ditty.ir/posts/laravel-macro/J6dqn
#Laravel #php
@CleverDevs - @CleverDevsGp
ممکنه بخواید برای یکی از کلاس های خود لاراول متدی اضافه کنید طبیعتا رفتن و اضافه کردنشش به سورس کد خود لاراول کار منطقی ای نیست تو این موقعیت میتونید از 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🔥4❤3⚡3
یکی از بچه های چنل یه پادکستی به اسم ازشنبه شروع کرده که توش در باره برنامه نویسی و تکنولوژی حرف میزنه اگه علاقهمند بودید میتونید از یوتوب یا ساندکلاد گوش کنید
یوتوب - ساندکلاد
@CleverDevs - @CleverDevsGp
یوتوب - ساندکلاد
@CleverDevs - @CleverDevsGp
👍25🔥4⚡2
Forwarded from Sudoer (Morteza Bashsiz)
درود دوستان
من برگشتم :دی
یه پروژه ای رو از ماه مارچ سال ۲۰۲۳ شروع کردم برای دور زدن فیلترینگ که بشه ریکوستهای وب رو توی یک ریکوست فیک قایم کرد و رد کرد توی اینترنت
که الان به جای خوبی رسیده و نیازمند همراهی عزیزانی هست که دست به کد با زبان سی++ هستند و با کتابخانه boost آشنایی دارند
من حدود یک سال و نیم هست که روی این پروژه به صورت پارهوقت دارم کار میکنم و برای اینکه بتونم بهتر پیادهسازیش کنم ۲ تا کتاب و کلی منابع خوندم تا دانشم بره بالاتر
۱. این کتاب از اسکات مایرز
۲. این کتاب دیگر از اسکات مایرز
۳. داکیومنت خود بوست
هنوز به صورت کامل آماده استفاده نیست و دو مشکل اساسی داره که سعی میکنم برطرفش کنم و اون هم مموری منیجمنت بهتر و ایزوله کردن تردهاست
سعی میکنم در آینده یه ویدیو بسازم و توش توضیح بدم که چطوری کار میکنه
خلاصه اینکه اگه خودتون میتونید مشارکت کنید یا اینکه کسی رو میشناسید که بتونه مشارکت کنه خوشحال میشم پروژه رو بهش معرفی کنید تا بتونه مشارکت کنه
سپاس فراوان از همراهی همه شما
https://github.com/MortezaBashsiz/nipovpn
من برگشتم :دی
یه پروژه ای رو از ماه مارچ سال ۲۰۲۳ شروع کردم برای دور زدن فیلترینگ که بشه ریکوستهای وب رو توی یک ریکوست فیک قایم کرد و رد کرد توی اینترنت
که الان به جای خوبی رسیده و نیازمند همراهی عزیزانی هست که دست به کد با زبان سی++ هستند و با کتابخانه boost آشنایی دارند
من حدود یک سال و نیم هست که روی این پروژه به صورت پارهوقت دارم کار میکنم و برای اینکه بتونم بهتر پیادهسازیش کنم ۲ تا کتاب و کلی منابع خوندم تا دانشم بره بالاتر
۱. این کتاب از اسکات مایرز
۲. این کتاب دیگر از اسکات مایرز
۳. داکیومنت خود بوست
هنوز به صورت کامل آماده استفاده نیست و دو مشکل اساسی داره که سعی میکنم برطرفش کنم و اون هم مموری منیجمنت بهتر و ایزوله کردن تردهاست
سعی میکنم در آینده یه ویدیو بسازم و توش توضیح بدم که چطوری کار میکنه
خلاصه اینکه اگه خودتون میتونید مشارکت کنید یا اینکه کسی رو میشناسید که بتونه مشارکت کنه خوشحال میشم پروژه رو بهش معرفی کنید تا بتونه مشارکت کنه
سپاس فراوان از همراهی همه شما
https://github.com/MortezaBashsiz/nipovpn
GitHub
GitHub - MortezaBashsiz/nipovpn: Powerfull http proxy
Powerfull http proxy. Contribute to MortezaBashsiz/nipovpn development by creating an account on GitHub.
👍37❤12🔥5
یکی از آسیب پذیری های خطرناک دنیای نرم افزار Race Condition هست . اما race condition چیه و چطور اتفاق میفته ؟
این آسیب پذیری زمانی رخ میده که دوتا عمل توی نرم افزار هم زمان رخ بدن اما برای اینکه نرم افزار درست کار کنه این دوتا عمل باید در زمان مناسب و به نوبت رخ بدن. یعنی اینکه این دوتا عمل جفتشون با یه قسمتی از رم کار دارن و همزمان شدنشون باعث این میشه که تاثیر بزارن رو هم که گاها تاثیرات بدی رو کل سیستم داره و هکر ها هم از این موضوع سوء استفاده میکنن
این مشکل که توی برنامه های مولتی ترد رخ میده اینطوریه که یه ترد از برنامه داره مثلا یه قسمتی از یه دیتای حساس رو میخونه و درحالی که هنوز میخونه و تمومش نکرده یه ترد دیگه از برنامه میاد اون دیتا رو آپدیت میکنه و عوضش میکنه
بزارید یه مثال بزنم تا این مسئله بهتر جا بیوفته . فک کنید با یه سیستم بانکی طرفید وقتی میخواید پولی به شخصی انتقال بدید سیستم اول میاد چک میکنه که شما تو حسابتون موجودی دارید یا نه اگه موجودی داشتید اول x مقدار پول به حساب طرف مقابل انتقال میده و بعد x مقدار از حساب شما کسر میکنه حالا فکر کنید اینجا یه race condition اتفاق بیوفته و دوتا درخواست انتقال با فاصله خیلی کم ثبت بشه اولی بیاد چک کنه ببینه موجودی دارید بعد پول رو به حساب طرف مقابل اضافه کنه و تا اون لحظه ای که پول از حساب شما کم میشه درخواست دوم هم بیاد و مرحله چک کردن موجودی رو رد کنه اینطوری شما پولی بیشتر از موجودیتون انتقال دادید
یکی از استفاده های معروف از این آسیب پذیری برمیگرده به سال 2015 که ایگر هوماکف ، متخصص امنیتی که تونست هرچند بار که میخواد حساب استارباکسش رو شارژ کنه بدون اینکه هزینشو پرداخت کنه (میتونید داستانش رو از اینجا بخونید)
یا همین چند وقت پیش که یه باگی تو openssh به وجود اومده بود و از همین آسیب پذیری استفاده میکرد
اگه میخواید بیشتر دربارش بخونید میتونید یه نگاهی به این مقاله ها بندازید
sokanacademy - techtarget - virgool
#security
@CleverDevs - @CleverDevsGp
این آسیب پذیری زمانی رخ میده که دوتا عمل توی نرم افزار هم زمان رخ بدن اما برای اینکه نرم افزار درست کار کنه این دوتا عمل باید در زمان مناسب و به نوبت رخ بدن. یعنی اینکه این دوتا عمل جفتشون با یه قسمتی از رم کار دارن و همزمان شدنشون باعث این میشه که تاثیر بزارن رو هم که گاها تاثیرات بدی رو کل سیستم داره و هکر ها هم از این موضوع سوء استفاده میکنن
این مشکل که توی برنامه های مولتی ترد رخ میده اینطوریه که یه ترد از برنامه داره مثلا یه قسمتی از یه دیتای حساس رو میخونه و درحالی که هنوز میخونه و تمومش نکرده یه ترد دیگه از برنامه میاد اون دیتا رو آپدیت میکنه و عوضش میکنه
بزارید یه مثال بزنم تا این مسئله بهتر جا بیوفته . فک کنید با یه سیستم بانکی طرفید وقتی میخواید پولی به شخصی انتقال بدید سیستم اول میاد چک میکنه که شما تو حسابتون موجودی دارید یا نه اگه موجودی داشتید اول x مقدار پول به حساب طرف مقابل انتقال میده و بعد x مقدار از حساب شما کسر میکنه حالا فکر کنید اینجا یه race condition اتفاق بیوفته و دوتا درخواست انتقال با فاصله خیلی کم ثبت بشه اولی بیاد چک کنه ببینه موجودی دارید بعد پول رو به حساب طرف مقابل اضافه کنه و تا اون لحظه ای که پول از حساب شما کم میشه درخواست دوم هم بیاد و مرحله چک کردن موجودی رو رد کنه اینطوری شما پولی بیشتر از موجودیتون انتقال دادید
یکی از استفاده های معروف از این آسیب پذیری برمیگرده به سال 2015 که ایگر هوماکف ، متخصص امنیتی که تونست هرچند بار که میخواد حساب استارباکسش رو شارژ کنه بدون اینکه هزینشو پرداخت کنه (میتونید داستانش رو از اینجا بخونید)
یا همین چند وقت پیش که یه باگی تو openssh به وجود اومده بود و از همین آسیب پذیری استفاده میکرد
اگه میخواید بیشتر دربارش بخونید میتونید یه نگاهی به این مقاله ها بندازید
sokanacademy - techtarget - virgool
#security
@CleverDevs - @CleverDevsGp
🔥26👍14⚡3
-اصل The Newspaper Metaphor در کلین کد
این اصل میگه که به یه روزنامه ای که خوب نوشته شده فکر کنید . شما از بالا شروع میکنید و تا پایین میخونیدیش .با خوندن عنوان مقاله می فهمید که اون صفحه در باره چیه و با خوندن پاراگراف اول هم یه خلاصه ای از محتوای صفحه میگیرید.
سورس کد هم تقریبا یه چیز مشابه به اینه شما با خوندن اسم فایل (یا حالا توی oop اسم کلاس) هدف کلی اون سورس فایل رو می فهمید قسمت های بالای کد که میتونه شامل توابع مهم یا متغیر ها و پراپرتی های مهم باشه (مثل پارگراف اول مقاله توی روزنامه) تا کسی که کد رو میخونه خلاصه ای از سورس دستش بیاد.
یه روزنامه شامل بخش های زیادیه که معمولا کوچیکن و در کنار هم با همچین شرایطی قرار گرفتنن تا روزنامه قابل خوندن باشه فرض کنید کل روزنامه فقط یه داستان یا مقاله بلند بود که خوندنش رو سخت میکرد سورس کد هم باید یه شرایط مشابهی داشته باشه تا قالب بندی خوبی داشته باشه یعنی فایل های مختلف با اسم درست و حسابی در کنار هم بیان و بدنه اصلی سورس کد کل برنامه رو بسازن
#CleanCode
@CleverDevs - @CleverDevsGp
این اصل میگه که به یه روزنامه ای که خوب نوشته شده فکر کنید . شما از بالا شروع میکنید و تا پایین میخونیدیش .با خوندن عنوان مقاله می فهمید که اون صفحه در باره چیه و با خوندن پاراگراف اول هم یه خلاصه ای از محتوای صفحه میگیرید.
سورس کد هم تقریبا یه چیز مشابه به اینه شما با خوندن اسم فایل (یا حالا توی oop اسم کلاس) هدف کلی اون سورس فایل رو می فهمید قسمت های بالای کد که میتونه شامل توابع مهم یا متغیر ها و پراپرتی های مهم باشه (مثل پارگراف اول مقاله توی روزنامه) تا کسی که کد رو میخونه خلاصه ای از سورس دستش بیاد.
یه روزنامه شامل بخش های زیادیه که معمولا کوچیکن و در کنار هم با همچین شرایطی قرار گرفتنن تا روزنامه قابل خوندن باشه فرض کنید کل روزنامه فقط یه داستان یا مقاله بلند بود که خوندنش رو سخت میکرد سورس کد هم باید یه شرایط مشابهی داشته باشه تا قالب بندی خوبی داشته باشه یعنی فایل های مختلف با اسم درست و حسابی در کنار هم بیان و بدنه اصلی سورس کد کل برنامه رو بسازن
#CleanCode
@CleverDevs - @CleverDevsGp
👍27❤5🔥5
جدیدا اومدم پست هایی که بلند هستن رو توی Obsidian مینویسم اولش بعد کپی میکنم تو تلگرام و میفرستم چنل که حس خوبیه بنظرم
همین که فضاش برای نوشتن یجورایی راحت تر از تلگرامه نوشتن توش حس خوبی داره
همین اینکه میتونم غیر از چنل یه جای دیگه هم آرشیوی از نوشته ها داشته باشم
از طرفی اگه احیانا اینترنت نداشتم یا یهو قطع شد هم باز مشکلی برای نوشتن توش وجود نداره
اگه دنبال یه برنامه یاداشت خوب هستید میتونید امتحانش کنید برای سیستم عامل های GNU/Linux - Windows - Macos - IOS - Android هم موجوده
https://obsidian.md/
#tools
@CleverDevs - @CleverDevsGp
همین که فضاش برای نوشتن یجورایی راحت تر از تلگرامه نوشتن توش حس خوبی داره
همین اینکه میتونم غیر از چنل یه جای دیگه هم آرشیوی از نوشته ها داشته باشم
از طرفی اگه احیانا اینترنت نداشتم یا یهو قطع شد هم باز مشکلی برای نوشتن توش وجود نداره
اگه دنبال یه برنامه یاداشت خوب هستید میتونید امتحانش کنید برای سیستم عامل های GNU/Linux - Windows - Macos - IOS - Android هم موجوده
https://obsidian.md/
#tools
@CleverDevs - @CleverDevsGp
👍27🔥7👎3⚡2❤1
Media Query
یه چیز باحال به CSS اضافه شده😂
مشخص کردن محدوده مدیا ها رو جای این:
@media (min-width: 320px) {}میتونیم اینجوری هم انجام بدیم:
@media (width >= 320px) {}#CSS SRC
@CleverDevs @CleverDevsGp
👍35🔥8❤6👌4
Built-In AI in your browser!
مثل این که کروم داره روی یه WebAPI جدید کار میکنه؛ هوش مصنوعی!
این WebAPI فعلا روی آخرین نسخه کروم قناری🐦 کار میکنه.
نمونه کد رو میتونید تو عکس ببینید.
#Js #Javanoscript #AI SRC
@CleverDevs @CleverDevsGp
1⚡20👍8👌4🆒3
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
1👍34🔥7👌4⚡1