CleverDevs – Telegram
CleverDevs
8.46K subscribers
734 photos
283 videos
27 files
436 links
به کانال کلوردوز خوش اومدین

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


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

CleverDevs are better than other Devs
💢~> @mmdrsdev
Download Telegram
اینسپکتور برای مرورگرهای موبایل!

اگه توسعه دهنده وبسایت هستید و برای پروژه ای به اینسپکتور تحت مرورگر موبایل نیاز دارید، میتونید از پکیج Eruda استفاده کنید. این پکیج با قرار دادن یک المنت، به توسعه‌دهنده امکان مشاهده و استفاده از منوی اینسپکتور رو میده.

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

#tools
@CleverDevs - @CleverDevsGp
👍21💯6🔥2🆒211
ساخت QR code با جاوااسکریپت!

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🆒43🔥2💯1
👈 5 ترفند روانشناختی مورد استفاده در UX و UI(پارت4) :

4. Peak end rule


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

حالا چطور از این قانون توی طراحی استفاده میشه؟

اصلی‌ترین مطالب و .. که نسبت به سایر بخش‌ها مهم‌تره تا توسط کاربر دیده یا کلیک و .. شه توی اول یا انتهای وبسایت قرار میگیره.

+ برای همینه که تو اکثر وبسایت‌ها سرچ‌باکس اول صفحه هست، یا تبلیغات آخر صفحه گذاشته میشه.

#UX #UI src part3
@CleverDevs - @CleverDevsGp
👍117👌3💯2🆒2
List Slicing و عملگر سوشی توی پایتون

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

>>> 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💯21👌1
صدرا یکی از برنامه نویس های خفن ایرانی یک دستیار هوش مصنوعی خفن بر پایه ترمینال به اسم hey نوشته که میتونه سرعت کار رو براتون بیشتر کنه

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

https://github.com/lnxpy/hey

#openSource #Ai
@CleverDevs - @CleverDevsGp
🔥32👍116👎2💔1
توی پایتون چندین کتابخانه وجود دارند که به شما اجازه میدن کد جاوا اسکریپت را اجرا کنید💻
یکی از محبوب‌ ترینشون 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🆒32👌21💯1
تلگرام و اپل جفتش آپدیت هاشون آدمو شگفت زده میکنه

تلگرام وقتی آپدیت میده میگی برگام چه قابلیت کاربردی ای که تا حالا به ذهن کسی نرسیده بود
اپل اپدیت میده میگی برگام یعنی تا الان همچین قابلیتی که همه دارن رو نداشته ؟

پ.ن آیپد بعد 14 سال اپ ماشین حساب رو به صورت پیشرفرض آورده
#fun
@CleverDevs - @CleverDevsGp
🤣80👍6😁4
#چالش
چالش این سریمون یه نوستالژی خفنه، فک نمیکنم کسی باشه که این بازیو نکرده باشه
چالش اینه این گیمو با هر زبانی که میتونید بنویسید✔️
زیاد درگیر ظاهر قضیه نشید و صرفا درحدی که بشه پلی داد بسازیدش 🐍

کداتونو زیر پست کامنت کنید با بازی کردنش نوستالژیمون زنده شه😁

سورس اینیکیو تو چنل اپلود میکنم 🤝
هرکیم ریکشن ندرو مار بخوره🐍

@CleverDevs
@CleverDevsGp
👍23🔥134💯3😁2🆒21👌1
این روزا بحث ایردارپ های تلگرامی خیلی داغ شده برای #بحث_امشب نظرتون رو درباره این ایردراپ ها بگید

پ.ن ۱ هرکس نظر شخصی خودشو میگه پس اگه نظرش خلاف نظر شما بود توهین نکنید برخورد میشه

پ.ن ۲ رفرال لینک بفرستید پاک میشه

@CleverDevs - @CleverDevsGp
👍123👌2🆒2🔥1
یه گجت کاربردی خفن داریم
سلکتور گجت (SelectorGadget) یه افزونه کرومه که کمک می‌کنه به راحتی بخش‌های مختلف یه صفحه وب رو انتخاب کنی. مثلاً اگه می‌خوای اطلاعات خاصی رو از یه سایت استخراج کنی، با این ابزار می‌تونی خیلی سریع و آسون کد مربوط به اون بخش رو پیدا کنی. کافیه روش نصب کنی، بعدش روی بخش‌های مورد نظرت کلیک کنی تا کد CSSش رو بهت نشون بده. برای صرفه‌جویی تو وقت و راحتی کار با وب خیلی خوبه.

@CleverDevs
@CleverDevsGp
👍15👌5🔥32🆒21
-اصل Good Comments در کلین کد

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

‏1 - Legal Comments
گاها نیازه که تو اول هر فایل سورس یه سری کامنت در باره ارزش های حقوقی پروژه بزارید مثل این کامنت توی FitNesse
// Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the GNU General Public License version 2 or later.


‏2 - Informative Comments
خوبه که بعضی مواقع یه سریع توضیحات دقیق و مختصر رو کامنت کنیم . البته بهتره تا جایی که میشه اسم تابع این اطلاعات رو بهمون بده ولی اگه نشد یه کامنت بزارید مثلا :
// Returns an instance of the Responder being tested.
protected abstract Responder responderInstance()


‏3 - Explanation of Intent
بعضی مواقع خوبه که قصدی که از نوشتن اون تیکه کد رو داشتید کامنت کنید (با این که در اکثر مواقع نیازی به کامنت نیست)

‏4 - Clarification
گاها خوبه که اون تیکه از کدمون که یه مقدار مبهمه به صورت ساده شده یه کامنت در بارش بزاریم مثلا
assertTrue(a.compareTo(a) == 0); // a == a
assertTrue(a.compareTo(b) != 0); // a != b


‏5 - Warning of Consequences
ممکنه یه تیکه کدی داشته باشید که ران کردنش یه عواقبی داشته باشه حالا چه کم چه زیاد
بهتر براش تو کامنتا هشدار بنویسید که برنامه نویس های دیگه حواسشون باشه

‏6 - TODO Comments
بعضی وقتا قصد دارید که بعدا یک قسمتی رو بهبود بدید یا اضافه کنید اینطور مواقع میتونید TODO بزارید که با TODO // شروع میشه معمولا

#CleanCode
@CleverDevs - @CleverDevsGp
👍12🔥10💯4🆒311👌1
شاید براتون سوال باشه که اپلیکیشن‌های ویندوزی چطوری کرک می‌شدن. قبلا، مثلاً وقتی Visual Studio را دانلود می‌کردید، کنارش یک فایل پچ یا Keygen وجود داشت که به وسیله آن می‌تونستین اپلیکیشن رو فعال کنید.

این فرآیند با استفاده از علمی به نام مهندسی معکوس انجام می‌شه. مهندسی معکوس به بررسی و تحلیل سیستم‌ها، نرم‌افزارها و سخت‌افزارها برای فهمیدن ساختار داخلی و نحوه کارکرد آن‌ها می‌پردازه. خود این علم به شاخه‌های مختلفی تقسیم می‌شه که در دنیای کامپیوتر به این شکله:

- مهندسی معکوس نرم‌افزار
- کرک کردن اپلیکیشن‌ها: فرآیندی که طی اون محدودیت‌های نرم‌افزاری حذف یا تغییر داده می‌شه تا بشه از آن به صورت رایگان یا بدون محدودیت استفاده کرد.
- هک کردن بازی‌ها: شامل تغییر کدهای بازی‌ها برای دسترسی به ویژگی‌های مخفی، تقلب یا بهبود تجربه بازی.
- مهندسی معکوس پروتکل‌ها: تجزیه و تحلیل پروتکل‌های ارتباطی برای فهمیدن نحوه عملکرد و احتمالا ایجاد نسخه‌های سازگار یا بهره‌برداری از نقاط ضعف. (مثلا TeamSpeak رو ریورس کردن تا بتونن پروتکلش که یک پروتکل proprietary عه رو بفهمن)
- ...
- مهندسی معکوس سخت‌افزار
- تجزیه و تحلیل مدارهای الکترونیکی و قطعات سخت‌افزاری برای فهمیدن نحوه کارکرد و ساختار آن‌ها.

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

من سعی می‌کنم تو زمان‌های آزاد، درباره مبانی این حوزه پست‌های بیشتری بذارم تا شاید کسی به این حوزه علاقه‌مند بشه. علاوه بر این، در آینده احتمالا چالش‌هایی در این زمینه برگزار کنیم !

@CleverDevs - @CleverDevsGp
👍42🔥8👌3
#داکر یا #Docker چیه؟

یه پلتفرم نرم‌افزاری که به شما امکان میده برنامه‌ها و سرویس‌ها رو توی محیطای ایزوله‌ به اسم "کانتینر" اجرا کنید
به زبان ساده‌تر، داکر به شما کمک میکنه تا برنامه‌ هاتونو رو با همه نیازمندیا و وابستگیاش (مثل کتابخانه‌ها و تنظیمات) توی یه بسته کوچک بزارید📦

این بسته‌ها میتونن به راحتی بین کامپیوترها جابجا شده و اجراشن بدون اینکه نیازی به نصب جداگانه اونا باشه
این کار باعث می‌شود برنامه‌ها توی محیطی (مثل کامپیوتر شخصی، سرور یا فضای ابری) به یک شکل عمل کنند و مشکلات ناسازگاری محیطی کمترشه👾

بعنوان مثال فرض کنید شما یه برنامه وب نوشتین که از زبان برنامه‌نویسی پایتون استفاده میکنه و به یه پایگاه داده MySQL نیاز داره، برای اجرای این برنامه روی سیستم خودتون باید پایتون و MySQL را نصب و تنظیمات لازم رو انجام بدید و اگه بخاید این برنامه رو روی یه سرور دیگه اجرا کنید باید دوباره تمام این مراحلو تکرار کنید🥴

با داکر شما میاید یه کانتینر ایجاد میکنید که شامل همه چیزهاییه که برنامه شما نیاز داره: پایتون، MySQL، کتابخانه‌هایی که نیاز دارید و حتی کدهای خود برنامه.
بعدشم خیلی راحت کانتینر و به سرور  منتقل کنید و حالشو ببرید 🤤
این باعث میشه توسعه و انتقال برنامه‌ها ساده‌تر و مطمئن‌تر باشه


@CleverDevs
@CleverDevsGp
👍45🔥7💯3🆒2
اگه تازه به لینوکس مهاجرت کردید و سر در گمید و نمیدونید چیکار کنید
میتونید پلی لیست مهاجرت به لینوکس از گویبان رو ببینید آموزش های جالبی داره برای کسایی که تو لینوکس تازه کارن

فقط از اونجایی که الان این پلی لیست تازه شروع شده تکمیل نیست و ویدیو هاش به صورت هفتگی میاد
https://www.youtube.com/playlist?list=PLpl25_8ecATgtyo2pJwurI53-ol-CTdkp

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

#GNU #Linux
@CleverDevs - @CleverDevsGp
🔥20👍1043😁3
چیه؟ DLL (Dynamic Link Library) Injection

به‌طور کلی یه تکنیکه که بیشتر توی سیستم‌عامل‌های ویندوز رایجه و بهتون اجازه میده تا کدهای دلخواه خودتونو توی یه فرآیند (Process) دیگه اجرا کنین که چنتا از کاربرداشو پایین براتون میگم👇

دیباگینگ و مهندسی معکوس:
میشه از DLL Injection برای دیباگ کردن برنامه‌های خود یا برنامه های دیگه استفاده کرد. این تکنیک اجازه میده تا کدهای خاصی رو در زمان اجرا تزریق کرده و رفتار برنامه رو مشاهده کنن

افزودن قابلیت‌های جدید به نرم‌افزارها:
با DLL injection میشه قابلیت‌های جدیدی به نرم‌افزارها اضافه کرد. مثلا میتونین ویژگی‌های سفارشی رو به برنامه‌ها اضافه کنین

automation:
میشه از DLL Injection برای automation برنامه‌های دیگه استفاده کنند مثل پر کردن خودکار فرم‌ها یا انجام عملیات تکراری.

کاربردهای مخربی هم داره از جمله:
نصب بدافزارها، سرقت اطلاعات، دور زدن مکانیزم‌های امنیتی، اجرای کدهای مخرب، تغییر رفتار نرم‌افزارها و....

#DLLinjection
@CleverDevs
@CleverDevsGp
👍11🔥3🆒21💯1
🦸🏼‍♂ | Puppeteer

پاپیتیر یک کتابخانه بسیار قدرتمند که توسط توسعه دهندگان تیم گوگل ساخته شده، مناسب Web Scraping و Page Manipulation و Browser Automation هستش و کلی قابلیت های معرکه دیگه داره که میشه به تمام قابلیت های مرورگر دسترسی داشت و چیزهای خفنی باهاش توسعه داد.

🔥 چند نمونه از استفاده های پرکاربرد:

- دریافت اطلاعات از سایت‌ها بدون نیاز به API.


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


- اتومیشن کردن سناریو های مختلف.


- تست کردن وبسایت، گرفتن خروجی بصورت پی دی اف و یا اسکرینشات.


#puppeteer | #tools
@CleverDevs - @CleverDevsGp
👍23👌4🔥2