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

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


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

CleverDevs are better than other Devs
💢~> @mmdrsdev
Download Telegram
خب حالا که رفتید تمرین کردید(😔)، اگه میخواید نمونه‌کار واقعی بزنید برید فیگمای این آقا رو چک کنید:
https://www.figma.com/@praha


کلی قالب استاندارد داره که تو هر کدوم حالت‌های مختلف موبایل و لپتاپ و دسکتاپ رو طراحی کرده.

#Design #Portfolio #Figma
@CleverDevs @CleverDevsGp
128👍7🔥5👌2💔2
Typography Responsive


بجای استفاده از مدیا کوئری،
یه تکنیک برای ریسپانسیو کردن تایپوگرافی‌‌ها اینه که:

1. فونت‌سایز اون متن توی کوچیک‌ترین حالت سایت رو بدست میارید
مثلا کوچیک‌ترین حالت 320px هست و فونت‌سایز اون متن هم تو این حالت 16px.

2. همینکارو برای بزرگ‌ترین حالت هم انجام میدیم مثلا 1280px حداکثر سایز سایته و تو این حالت فونت‌سایز 28px هست.

3. حالا این اطلاعات رو طبق عکس وارد این سایت میکنیم:
Fluid Typography Calculator

4. و بوم یه فانکشن clamp بهمون میده و فونت‌سایز اون متن رو برابر باهاش قرار میدیم.

#Design #CSS #Tool
@CleverDevs @CleverDevsGp
👍196👌42
This media is not supported in your browser
VIEW IN TELEGRAM
حرف های استاد رو باید با طلا نوشت

#fun
@CleverDevs - @CleverDevsGp
😁48🤣43👍7🤯3
Bye Bye try-catch blocks!

?=


مثل اینکه یه آپدیت برای Js قراره بیاد و ارور هندلینگ رو متحول کنه.

الان، برای ارور هندلینگ از try-catch استفاده میکنیم، ولی توی این آپدیت قراره
Safe Assignment Operator
اضافه شه، که خیلی سینتکس تمیز تری داره:
async function getData() {
     const [error, response] ?= await fetch("https://api.example.com/data");
     if (error) return handleError(error);
     return response;
   }


چندتا مزیتش:
👈 نستینگ و تو‌در‌تو بودن کدها کم‌تر میشه.

👈 ای‌پی‌آی های مختلف، ممکنه ارور هندلینگ متفاوتی داشته باشن، و با این روش دیگه نیاز نیست توی بلاک catch شرط‌های مختلف بذاریم.

👈 میتونیم با استفاده از Symbol.result ارور
هندلینگ سفارشی داشته باشیم، اینجوری:
function example() {
     return {
       [Symbol.result]() {
         return [new Error("Error message"), null];
       },
     };
   }
   const [error, result] ?= example();


// البته فعلا چیزی برای جایگزینی بلاک finally گفته نشده که میتونه یکی از معایبش باشه.

#Js #Es Source
@CleverDevs @CleverDevsGp
👍218👌3🔥1
New Text Document.txt
605 B
درود دوستان طی هفته گذشته داشتم یه وبسایت با nextjs توسعه میدادم و برای ui دنبال component های آماده و زیبا و کاربر پسند بودم که به این لایبرری ها و وبسایت ها بر خوردم، امیدوارم به شما هم کمک کنن.

01. shadcn
02. nextui‌
03. mui
04. chakra
05. tailwind
06. aceternity
07. preline
08. tailus
09. flowbite
10. daisyui
11. mantine
12. ariakit
13. primevue

موفق باشید🌹

#UI #Next #React
@CleverDevs @CleverDevsGp
🔥3011👍62👌2
‏Named Arguments توی php چیه و چه کاربردی داره ؟

این فیچر که توی php8 اضافه شده به ما کمک میکنه که آرگومان های تابع رو به جای ترتیب بر اساس اسم هاشون به تابع پاس بدیم

مثلا تابع زیر رو تصور کنید

function createNewUser($name , $city = "Tehran" , $age = "18", $gender = ""){

$user = new User();
$user->name = $name;
$user->city = $city;
$user->age = $age;
$user->gender = $gender;
$user->save();
}


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



createNewUser(name : "Mammad" , gender : "male");


حالا اگه اسم آرگومان هارو مشخص نمیکردیم مجبور بودیم هر چهارتا آرگومان رو پاس بدیم و خب کدوم شلوغ تر و سخت تر میشد

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

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

https://stitcher.io/blog/php-8-named-arguments

#php
@CleverDevs - @CleverDevsGp
👍216🔥31👌1
من وقتی میبینم تو یه فیلم/سریال هکره ویندوز داره :

#fun
@CleverDevs - @CleverDevsGp
🤣87😁11👍3
Forwarded from Abolfazl Devs (Abolfazl)
اگه تو ام ازونایی هستی که با فیلم دیدن میخوای زبانتو بهتر کنی ادامه این مطلبو از دست نده 🤓

شما هم احتمالا اکثر فیلما رو با زیر نویس می‌بینید ولی گاهی اوقات شده تو یه فیلم یه عبارتی رو میگن و خوب متوجه نمی‌شید حالا اگه دوتا زیر نویس رو همزمان(یکی بالا یکی پایین) داشته باشید، دیگه چیزیو از دست نمیدید👌

برنامه Subnoscript Merger دقیقا همینکار رو میکنه و دوتا زیر نویس میگیره و در خروجی یه فایل زیر نویس نهایی بهتون میده که میتونید رو پلیر هاتون استفاده کنید.

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

https://github.com/ixabolfazl/subnoscript-merger

اگه خوشتون اومد خوشحال میشم تو گیتهاب ستاره بدید.

@abolfazl_devs
👍45💯64🔥2👌2👎1
درود دوستان من حدودا 2 سال خورده ای پیش زمانی که استارت زدم برنامه نویسی رو یه پروژه توسعه دادم که با کتابخونه Puppeteer.js و grammyjs یه مروگر باز میکرد و به اکانت ایتا یا روبیکا یا بله یا تلگرام لاگین میزد سپس در گروه های موجود با یه روند خیلی عادی شروع به فعالیت میکرد.

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

لینک ریپو

https://github.com/MmdBay/telegram_tabchi_bot

اگه کسی حال حوصله داشت اول یه README براش بنویسه، اگر هم مایل بودین فورک کنین کامیت بزنین بیاد.

@CleverDevs - @CleverDevsGp
🔥16👍5🆒4
همون‌طور که میدونید عکس بالا سخت ترین کار برای هر دولوپری هستش 😁
خیلی وقتا اون ترکیب بندی کلمات توی ذهن نمیاد، خیلی وقتا طولانی میشه متنش، حتی بعضی وقت ها نمی‌دونیم این تغییر که دادیم دقیقا چه نوعیه، feat, ref, chore و ...

یکی از بچه های چنل یک برنامه کوچیک و جمع و جور نوشته که بعد از اینکه فایل هاتون رو به stage اضافه کردید، با اجرای این برنامه توی دایرکتوری پروژه تون، از مدل Gemini-1.5-flash استفاده می‌کنه و بهتون چند تا commit message بر اساس تغییراتتون پیشنهاد میده

پروژه باحالی بود یه سر به گیت هابش بزنید

https://github.com/ali-hv/comsu

همچنین اگه ایده ای براش دارید که می‌تونه بهترش کنه، میتونید pr بدید

#git #comsu #openSource
@CleverDevs - @CleverDevsGp
🔥60👍17💯4
وقتی پیج اونلی فنز داشتی و بعدش میری سمت استخدام برنامه نویس :
#fun
@CleverDevs - @CleverDevsGp
🤣97😁74👎3👍1
امروز تولد دنیس ریچی یکی از خفن ترین برنامه نویس های تاریخه

دنیس ریچی خالق زبان سی و یکی از دو نفری بود که سیستم عامل یونیکس رو ساختن

#clang #unix #DennisRitchie
@CleverDevs - @CleverDevsGp
491🔥14👍10
-اصل Vertical Openness Between Concepts در کلین کد

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

import CleverDevs from telegram
function helloWorld(){
console.log("hello world");
}
function sendStarRaction(){
console.log('send star reaction on CleverDevs Posts');
}

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

import CleverDevs from telegram

function helloWorld(){
console.log("hello world");
}

function sendStarRaction(){
console.log('send star reaction on CleverDevs Posts');
}


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

#CleanCode
@CleverDevs - @CleverDevsGp
2👍34🔥12👌41
اینم جالب بود

#fun
@CleverDevs - @CleverDevsGp
😁68🤣33👎8👍3🔥2
نظر نامحبوب
کالی لینوکس به دردتون نمیخوره.
حتی اگه هکر هم باشید باز هم کالی لینوکس به دردتون نمیخوره کالی پر شده از ابزارهای مختلف و هزارتا چیز دیگه که مثلا هکرا ازش استفاده میکنن ولی حقیقت اینه که شما حتی از یک سوم اون ابزارها استفاده نمیکنید. برای هکر شدن نیازی به کالی لینوکس ندارید یا بلک آرچ اینا به نظر من صرفا دیستروهای اسباب بازی ان :) ( مثلا نصب کنی ابزارها رو تست کنی)

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

در نتیجه از من میپرسید یک دیسترو معمولی نصب کنید ابزارهایی که نیاز دارید روش نصب کنید حتی اگه MacOS هم دارید ماجرا همینه کلا نیازی به کالی لینوکس و بلک آرچ و این دست دیسترو‌ها نیست.
هکر هم باید مخفی باشه نه اینکه سیستمش روشن کنه همه بفهمن هکر :)

اگر هم اشتباه نکنم کالی برای اینکه ابزارها روش کار کنن هستش انگولک شده. قبلا ها یادمه خود کالی رو هک کرده بودن :))))

تهش به نظرم رو یک فلش بوتیبل بشه شاید یک روزی گیر کردیم نت نبود آوردیمش بالا ابزارهاش استفاده کردیم
6👍92👌6👎3💯2
رفقا روزتون مبارک
امروز 256 امین روز سال و روز برنامه نویسه

@CleverDevs - @CleverDevsGp
71🤣6🔥5👎3👍1💔1
This media is not supported in the widget
VIEW IN TELEGRAM
238👍6🔥5🤣3
با سایت gitignore.io میتونید اسم ابزار ها و کتابخونه ها و .. ای که توی یک پروژه استفاده کردید رو بدید و این سایت براتون یه gitignore کامل جنریت کنه که چیزی از قلم نیوفته و از دستتون در نره

#tools #git
@CleverDevs - @CleverDevsGp
2👍45🔥13