#چالش
خب سلام سلاممم 😀
چالش داریم چه چالشی ببینم چیکار میکنید دیگه💻
خب چالش به این صورته که شما یک رشته دریافت میکنین و باید طولانیترین زیررشتهای رو که پالینروم باشه پیدا کنین برای مثال:👇
توی رشته "babad"، طولانیترین زیررشته پالینرومیک "bab" یا "aba" است.
توی رشته "cbbd"، طولانیترین زیررشته پالینرومیک "bb" است.
و رشته ی madam یا racecar ام جز رشته های پالینروم حساب میشن ✅
(پالینروم یک متن یا عدده که اگر از چپ به راست یا از راست به چپ خونده بشه، همونطور باقی میمونه یعنی ترتیب حروف یا اعداد در هر دو جهت یکسانه👾)
به هر زبانی که میتونید چالش رو انجام بدید و توی کامنتا به اشتراک بزارید🥰
ریکشنم فراموش نشه ما داریم اینجا زحمت میکشیم🔪🩸
@CleverDevs
@CleverDevsGp
خب سلام سلاممم 😀
چالش داریم چه چالشی ببینم چیکار میکنید دیگه💻
خب چالش به این صورته که شما یک رشته دریافت میکنین و باید طولانیترین زیررشتهای رو که پالینروم باشه پیدا کنین برای مثال:👇
توی رشته "babad"، طولانیترین زیررشته پالینرومیک "bab" یا "aba" است.
توی رشته "cbbd"، طولانیترین زیررشته پالینرومیک "bb" است.
و رشته ی madam یا racecar ام جز رشته های پالینروم حساب میشن ✅
(پالینروم یک متن یا عدده که اگر از چپ به راست یا از راست به چپ خونده بشه، همونطور باقی میمونه یعنی ترتیب حروف یا اعداد در هر دو جهت یکسانه👾)
به هر زبانی که میتونید چالش رو انجام بدید و توی کامنتا به اشتراک بزارید🥰
ریکشنم فراموش نشه ما داریم اینجا زحمت میکشیم🔪🩸
@CleverDevs
@CleverDevsGp
⚡36👍10🔥6💯5👌3🤣3🆒3🤯2
CleverDevs
موافقید؟ #job @CleverDevs - @CleverDevsGp
خب اگه قصد داشتید برید تهران تا تو شرکت های برنامه نویسی بزرگ تر کار کنید باید بگم متاسفانه به ماها دیگه ویزای تهران نمیدن
#job
@CleverDevs - @CleverDevsGp
#job
@CleverDevs - @CleverDevsGp
🤣107👍5💔5😁3
👈 5 ترفند روانشناختی مورد استفاده در UX و UI(پارت1) :
یه روانشناس آلمانی به اسم Hedwig von Restorff تو سال 1933 طی یه آزمایش چند تا آیتم شبیه به هم و یک آیتم متفاوت رو کنار هم گذاشت و طبق بررسی مشخص شد که اون آیتم متفاوت کنار آیتمهای یکسان، توجه خیلی بیشتری رو جلب میکنه.
حالا تو سایت چه استفادهای داره؟
میتونیم توی اسلایدری که محصولمون رو گذاشتیم، اسلایدی که زودتر باید فروش بره رو به یه نحوی نسبت به بقیه اسلاید ها مجزا کنیم(مثل تصویر).
#UX #UI src
@CleverDevs - @CleverDevsGp
1. Isolation
یه روانشناس آلمانی به اسم Hedwig von Restorff تو سال 1933 طی یه آزمایش چند تا آیتم شبیه به هم و یک آیتم متفاوت رو کنار هم گذاشت و طبق بررسی مشخص شد که اون آیتم متفاوت کنار آیتمهای یکسان، توجه خیلی بیشتری رو جلب میکنه.
حالا تو سایت چه استفادهای داره؟
میتونیم توی اسلایدری که محصولمون رو گذاشتیم، اسلایدی که زودتر باید فروش بره رو به یه نحوی نسبت به بقیه اسلاید ها مجزا کنیم(مثل تصویر).
#UX #UI src
@CleverDevs - @CleverDevsGp
🔥18👍10⚡3🤯2🤩2👌1🆒1
👈 BEM چیه؟
وقتایی که یه پروژه کوچیک داریم، شاید نامگذاری کلاسها زیاد مهم نباشه؛ اما تو اسکیل بزرگتر این قضیه به چشم میاد.
حالا یه روشی برای نامگذاری بهتر کلاسها، راحتتر شدن، سریعتر شدن و بهتر شدن خوانایی داریم:
BEM(Block Element Modifier).
بلاک یعنی یه بخشی از سایتتون، مثلا یه منو.
یه بخشی از اون بلاکه، مثلا آیتم همون منو.
طوری که اون المنت باید رفتار کنه، مثلا آیتم زرد، آیتم آبی و .. .
فرم نوشتنش هم به این صورت هست:
#CSS
@CleverDevs- @CleverDevsGp
وقتایی که یه پروژه کوچیک داریم، شاید نامگذاری کلاسها زیاد مهم نباشه؛ اما تو اسکیل بزرگتر این قضیه به چشم میاد.
حالا یه روشی برای نامگذاری بهتر کلاسها، راحتتر شدن، سریعتر شدن و بهتر شدن خوانایی داریم:
BEM(Block Element Modifier).
Block:
بلاک یعنی یه بخشی از سایتتون، مثلا یه منو.
Element:
یه بخشی از اون بلاکه، مثلا آیتم همون منو.
Modifier:
طوری که اون المنت باید رفتار کنه، مثلا آیتم زرد، آیتم آبی و .. .
فرم نوشتنش هم به این صورت هست:
<div class="block>
<div class="block__element> </div>
<div class="block__element--modifier> </div>
</div>
#CSS
@CleverDevs- @CleverDevsGp
👍22❤6⚡4🆒3💯2🤣1
👈 5 ترفند روانشناختی مورد استفاده در UX و UI (پارت2) :
اگه تو خیابون یکی رو ببینید که داره میخنده، احتمالا شما هم لبخند میزنید؛ به این میگن mirroring.
حالا تو طراحی چه کاربردی داره؟
طراحها معمولا از عکسها یا انیمیشنها و ... برای انتقال احساسات استفاده میکنن.
اگه صفحه لود نشه، احتمالا یه انیمیشنی که حس غم به شما میده میبینید، یا اگه داخل یه برنامه کوئیز رو درست جواب بدین یه انیمشینی که حس خوب میده نشون داده میشه.
مثال برنامه Duolingo یه جغد anthropomorphized یا انسانسازی شده داره که احساسات رو از طریق اون به کاربر منتقل میکنه.
#UX #UI src part1
@CleverDevs - @CleverDevsGp
2. Mirroring
اگه تو خیابون یکی رو ببینید که داره میخنده، احتمالا شما هم لبخند میزنید؛ به این میگن mirroring.
حالا تو طراحی چه کاربردی داره؟
طراحها معمولا از عکسها یا انیمیشنها و ... برای انتقال احساسات استفاده میکنن.
اگه صفحه لود نشه، احتمالا یه انیمیشنی که حس غم به شما میده میبینید، یا اگه داخل یه برنامه کوئیز رو درست جواب بدین یه انیمشینی که حس خوب میده نشون داده میشه.
مثال برنامه Duolingo یه جغد anthropomorphized یا انسانسازی شده داره که احساسات رو از طریق اون به کاربر منتقل میکنه.
#UX #UI src part1
@CleverDevs - @CleverDevsGp
🔥20👍8🆒4⚡3🥰2👏2❤1
-اصل Explain Yourself in Code در کلین کد
این اصل میگه که وقتی میشه کد رو جوری نوشت که خودش کارشو توضیح بده چه نیازی به کامنت اضافس ؟
یعنی چی ؟ مثال پایین رو ببینید
این کد بهتره یا اینکه جای کامنت این شرط رو توی تابع با اسم درست بزاریم ؟ مثل این
کلا دوثانیه وقتتون رو میگیره تا جای کامنت این کارو بکنید. بیشتر مواقع اینکه یه تابع بسازی که بتونه کد رو هم توضیح بده بهتر از کامنت نوشتنه
#CleanCode
@CleverDevs - @CleverDevsGp
این اصل میگه که وقتی میشه کد رو جوری نوشت که خودش کارشو توضیح بده چه نیازی به کامنت اضافس ؟
یعنی چی ؟ مثال پایین رو ببینید
// Check to see if the employee is eligible for full benefits
if ((employee.flags & HOURLY_FLAG) &&
(employee.age > 65))
این کد بهتره یا اینکه جای کامنت این شرط رو توی تابع با اسم درست بزاریم ؟ مثل این
if (employee.isEligibleForFullBenefits())
کلا دوثانیه وقتتون رو میگیره تا جای کامنت این کارو بکنید. بیشتر مواقع اینکه یه تابع بسازی که بتونه کد رو هم توضیح بده بهتر از کامنت نوشتنه
#CleanCode
@CleverDevs - @CleverDevsGp
👍40🔥9👌3🆒2
👈 5 ترفند روانشناختی مورد استفاده در UX و UI (پارت3) :
برای بررسی یا خرید چیزای جدید معمولا نظر دوستا و آشناهارو میپرسیم، چون بهشون اعتماد داریم.
حالا طراحا این اعتماد رو تو سایت چجوری اعتماد میکنن؟
بخشهای کامنت که تو سایتهای دیجیکالا، ترب و .. وجود دارن اعتماد شما رو نسبت به محصول و یا حتی اون سایت بیشتر میکنن.
یا دیجیکالا اولین بار یه نوشته بالای کامنتها اضافه کرد که نشون میداد شخصی که کامنت رو گذاشته خریده این محصول رو یا نه.
و همچنین گزینههای لایک و دیسلایک و ... .
+ حالا لازمه تمام اینها چیه؟
ارتباط کاربر با وبسایت، یعنی تقریبا میشه گفت هرچقدر ارتباط کاربر با وبسایت بیشتر باشه، اعتماد بیشتری میشه ایجاد کرد.
#UX #UI src part2
@CleverDevs - @CleverDevsGp
3. Social Proof
برای بررسی یا خرید چیزای جدید معمولا نظر دوستا و آشناهارو میپرسیم، چون بهشون اعتماد داریم.
حالا طراحا این اعتماد رو تو سایت چجوری اعتماد میکنن؟
بخشهای کامنت که تو سایتهای دیجیکالا، ترب و .. وجود دارن اعتماد شما رو نسبت به محصول و یا حتی اون سایت بیشتر میکنن.
یا دیجیکالا اولین بار یه نوشته بالای کامنتها اضافه کرد که نشون میداد شخصی که کامنت رو گذاشته خریده این محصول رو یا نه.
و همچنین گزینههای لایک و دیسلایک و ... .
+ حالا لازمه تمام اینها چیه؟
ارتباط کاربر با وبسایت، یعنی تقریبا میشه گفت هرچقدر ارتباط کاربر با وبسایت بیشتر باشه، اعتماد بیشتری میشه ایجاد کرد.
#UX #UI src part2
@CleverDevs - @CleverDevsGp
👍13❤5⚡2💯2🆒2❤🔥1🔥1👌1
اینسپکتور برای مرورگرهای موبایل!
اگه توسعه دهنده وبسایت هستید و برای پروژه ای به اینسپکتور تحت مرورگر موبایل نیاز دارید، میتونید از پکیج Eruda استفاده کنید. این پکیج با قرار دادن یک المنت، به توسعهدهنده امکان مشاهده و استفاده از منوی اینسپکتور رو میده.
برای نحوه نصب و استفاده میتونید گیتهابشون رو مطالعه کنید که توضیحات خلاصه و مفیدی نوشتن.
#tools
@CleverDevs - @CleverDevsGp
اگه توسعه دهنده وبسایت هستید و برای پروژه ای به اینسپکتور تحت مرورگر موبایل نیاز دارید، میتونید از پکیج Eruda استفاده کنید. این پکیج با قرار دادن یک المنت، به توسعهدهنده امکان مشاهده و استفاده از منوی اینسپکتور رو میده.
برای نحوه نصب و استفاده میتونید گیتهابشون رو مطالعه کنید که توضیحات خلاصه و مفیدی نوشتن.
#tools
@CleverDevs - @CleverDevsGp
👍21💯6🔥2🆒2❤1⚡1
ساخت QR code با جاوااسکریپت!
+ از api رایگان این سایت برای تولید QR code استفاده کردیم.
+ داکش رو مطالعه کنید گزینههایی برای شخصیسازی هم داره.
#Js #Tools
@CleverDevs - @CleverDevsGp
const size = "150×150";
const data = "https://news.1rj.ru/str/CleverDevs";
const API = https://api.qrserver.com/v1/create-qr-code/?size=${size}&data=${data};
+ از api رایگان این سایت برای تولید QR code استفاده کردیم.
+ داکش رو مطالعه کنید گزینههایی برای شخصیسازی هم داره.
#Js #Tools
@CleverDevs - @CleverDevsGp
⚡20👍10🆒4❤3🔥2💯1
👈 5 ترفند روانشناختی مورد استفاده در UX و UI(پارت4) :
این قانون میگه که کاربر از یه لیست، صفحه یا هر چیزی معمولا مورد اول و آخرش رو یادش میمونه.
حالا چطور از این قانون توی طراحی استفاده میشه؟
اصلیترین مطالب و .. که نسبت به سایر بخشها مهمتره تا توسط کاربر دیده یا کلیک و .. شه توی اول یا انتهای وبسایت قرار میگیره.
+ برای همینه که تو اکثر وبسایتها سرچباکس اول صفحه هست، یا تبلیغات آخر صفحه گذاشته میشه.
#UX #UI src part3
@CleverDevs - @CleverDevsGp
4. Peak end rule
این قانون میگه که کاربر از یه لیست، صفحه یا هر چیزی معمولا مورد اول و آخرش رو یادش میمونه.
حالا چطور از این قانون توی طراحی استفاده میشه؟
اصلیترین مطالب و .. که نسبت به سایر بخشها مهمتره تا توسط کاربر دیده یا کلیک و .. شه توی اول یا انتهای وبسایت قرار میگیره.
+ برای همینه که تو اکثر وبسایتها سرچباکس اول صفحه هست، یا تبلیغات آخر صفحه گذاشته میشه.
#UX #UI src part3
@CleverDevs - @CleverDevsGp
👍11⚡7👌3💯2🆒2
List Slicing و عملگر سوشی توی پایتون
توی پایتون شما میتونید شما میتونید با عملگر سوشی لیست هاتون رو با حالت های مختلف برش بزنید
همونطور که توی کد میبینید عملگر سوشی سه تا پارامتر داره
اولیش start یا جایی برش ازش شروع میشه که دیفالتش 0 هستش
دومین پارامتر end هستش که جایی رو نشون میده که برش تموم میشه و دیفالتش طول لیسته (فقط حواستون باشه که توی لیست جدید خود ایندکس end وجود نداره و اخرین عضو لیست ایندکس قبل end هستش)
و آخرین پارامتر هم step میشه که دیفالتش 1 هست و نشون دهنده گام های انتخاب عضوه یعنی چی ؟ مثلا اگه 1 بشه قدم هاش یدونه یدونس و همه اعضای موجود تو بازه ای که انتخاب کردید رو انتخاب میکنه یا مثلا اگه پارامتر step برابر با 2 باشه میاد و یکی در میون اعضا رو از اون بازه مورد نظر انتخاب میکنه
اما بریم سراغ مثال که کامل تر جا بیوفته موضوع
فک کنید ما یه لیست داریم اعداد 0 تا 9 و میخوایم از بین اعداد 3 تا 7 یکی در میون انتخاب کنیم برا این کار باید پارامتر start رو برابر با 3 بزاریم که شروع بازه هستش و پارامتر end رو برابر با 8 میزاریم که ایندکسش یکی بعد از ایندکس اخرین عضو لیستمونه و step رو 2 میزاریم تا گام هاش دوتا دوتا باشه و یکی در میون انتخاب کنه
یا میتونید لیستتون رو برعکس کنید به کد زیر نگا کنید
اومدیم و start و end رو همون مقدار دیفالتشون گذاشتیم و مقدار step رو برابر با منفی 1 گذاشتیم تا لیست رو از اخر به اول بخونه
البته میتونید جای اینکار از list.reverse() استفاده کنید
همینطور با استفاده از عملگر سوشی میتونید محتوای لیست رو خالی کنید که میتونید سرچ کنید و دربارش بخونید حتما
فقط اینکه حواستون باشه ممکنه خوانایی کدتون رو پایین بیاره و سعی کنید بیش از حد ازش استفاده نکنید
#python
@CleverDevs - @CleverDevsGp
توی پایتون شما میتونید شما میتونید با عملگر سوشی لیست هاتون رو با حالت های مختلف برش بزنید
>>> lst = [1, 2, 3, 4, 5]
>>> lst
[1, 2, 3, 4, 5]
# lst[start:end:step]
>>> lst[1:3:1]
[2, 3]
همونطور که توی کد میبینید عملگر سوشی سه تا پارامتر داره
اولیش start یا جایی برش ازش شروع میشه که دیفالتش 0 هستش
دومین پارامتر end هستش که جایی رو نشون میده که برش تموم میشه و دیفالتش طول لیسته (فقط حواستون باشه که توی لیست جدید خود ایندکس end وجود نداره و اخرین عضو لیست ایندکس قبل end هستش)
و آخرین پارامتر هم step میشه که دیفالتش 1 هست و نشون دهنده گام های انتخاب عضوه یعنی چی ؟ مثلا اگه 1 بشه قدم هاش یدونه یدونس و همه اعضای موجود تو بازه ای که انتخاب کردید رو انتخاب میکنه یا مثلا اگه پارامتر step برابر با 2 باشه میاد و یکی در میون اعضا رو از اون بازه مورد نظر انتخاب میکنه
اما بریم سراغ مثال که کامل تر جا بیوفته موضوع
فک کنید ما یه لیست داریم اعداد 0 تا 9 و میخوایم از بین اعداد 3 تا 7 یکی در میون انتخاب کنیم برا این کار باید پارامتر start رو برابر با 3 بزاریم که شروع بازه هستش و پارامتر end رو برابر با 8 میزاریم که ایندکسش یکی بعد از ایندکس اخرین عضو لیستمونه و step رو 2 میزاریم تا گام هاش دوتا دوتا باشه و یکی در میون انتخاب کنه
>>> CleverList = [0,1,2,3,4,5,6,7,8,9]
>>> CleverList[3:8:2]
# Output : [3,5,7]
یا میتونید لیستتون رو برعکس کنید به کد زیر نگا کنید
>>> CleverList = [0,1,2,3,4,5,6,7,8,9]
>>> CleverList[::-1]
# Output : [9,8,7,6,5,4,3,2,1,0]
اومدیم و start و end رو همون مقدار دیفالتشون گذاشتیم و مقدار step رو برابر با منفی 1 گذاشتیم تا لیست رو از اخر به اول بخونه
البته میتونید جای اینکار از list.reverse() استفاده کنید
همینطور با استفاده از عملگر سوشی میتونید محتوای لیست رو خالی کنید که میتونید سرچ کنید و دربارش بخونید حتما
فقط اینکه حواستون باشه ممکنه خوانایی کدتون رو پایین بیاره و سعی کنید بیش از حد ازش استفاده نکنید
#python
@CleverDevs - @CleverDevsGp
👍14🔥4🆒3💯2⚡1👌1
صدرا یکی از برنامه نویس های خفن ایرانی یک دستیار هوش مصنوعی خفن بر پایه ترمینال به اسم hey نوشته که میتونه سرعت کار رو براتون بیشتر کنه
توضیحات اضافه و نحوه نصب و استفادش رو میتونید از گیت هابش ببینید
https://github.com/lnxpy/hey
#openSource #Ai
@CleverDevs - @CleverDevsGp
توضیحات اضافه و نحوه نصب و استفادش رو میتونید از گیت هابش ببینید
https://github.com/lnxpy/hey
#openSource #Ai
@CleverDevs - @CleverDevsGp
🔥32👍11⚡6👎2💔1
توی پایتون چندین کتابخانه وجود دارند که به شما اجازه میدن کد جاوا اسکریپت را اجرا کنید💻
یکی از محبوب ترینشون PyExecJS هست این کتابخانه یک اینترفیس ساده برای اجرا کردن کد جاوا اسکریپت با استفاده از موتورهای مختلف جاوا اسکریپت ارائه میده
مثال با استفاده از PyExecJS
نصب PyExecJS:
برای نصبش میتونید از pip استفاده کنید:
نمونه کد:
اینجا یه مثال ساده میزنم براتون:
سایر کتابخانهها
بغیر از PyExecJS، کتابخانههای دیگه ای هم هستند که میشه ازشون برای اجرا کردن کد جاوا اسکریپت توی پایتون استفاده کرد، مثل Node.js با استفاده از ماژول subprocess پایتون. در این روش، شما میتونید یک اسکریپت جاوا اسکریپت رو اجرا کنید.
مثال با استفاده از subprocess
نمونه کد:
اینجا یه مثال ساده دیگه میزنم:
این روش انعطافپذیری بیشتری میده چون شما میتونید از تمامی قابلیتهای Node.js استفاده کنید.
#python #javanoscript
@CleverDevs - @CleverDevsGp
یکی از محبوب ترینشون PyExecJS هست این کتابخانه یک اینترفیس ساده برای اجرا کردن کد جاوا اسکریپت با استفاده از موتورهای مختلف جاوا اسکریپت ارائه میده
مثال با استفاده از PyExecJS
نصب PyExecJS:
برای نصبش میتونید از pip استفاده کنید:
pip install PyExecJS
نمونه کد:
اینجا یه مثال ساده میزنم براتون:
import execjs
# جاوا اسکریپت ساده که یک تابع تعریف میکند و اون رو اجرا میکنه
js_code = """
function hello(name) {
return "Hello, " + name + "!";
}
"""
# کامپایل و اجرا کد جاوا اسکریپت
ctx = execjs.compile(js_code)
result = ctx.call("hello", "World")
print(result) # باید "Hello, World!"رو پرینت کنه
سایر کتابخانهها
بغیر از PyExecJS، کتابخانههای دیگه ای هم هستند که میشه ازشون برای اجرا کردن کد جاوا اسکریپت توی پایتون استفاده کرد، مثل Node.js با استفاده از ماژول subprocess پایتون. در این روش، شما میتونید یک اسکریپت جاوا اسکریپت رو اجرا کنید.
مثال با استفاده از subprocess
نمونه کد:
اینجا یه مثال ساده دیگه میزنم:
import subprocess
# جاوا اسکریپت ساده که یک تابع تعریف میکند و اون رو اجرا میکنه
js_code = """
console.log("Hello, World!");
"""
# ذخیره کد جاوا اسکریپت در یک فایل
with open("noscript.js", "w") as file:
file.write(js_code)
# اجرا کردن فایل جاوا اسکریپت با استفاده از Node.js
result = subprocess.run(["node", "noscript.js"], capture_output=True, text=True)
print(result.stdout) # باید "Hello, World!" را پرینت کند
این روش انعطافپذیری بیشتری میده چون شما میتونید از تمامی قابلیتهای Node.js استفاده کنید.
#python #javanoscript
@CleverDevs - @CleverDevsGp
🔥9👍5🆒3⚡2👌2❤1💯1