CleverDevs
الذهاب إلى القناة على Telegram
به کانال کلوردوز خوش اومدین سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم 🔥لینوکس 🔥برنامه نویسی فرانتاند 🔥برنامه نویسی بکاند 🔥اخبار تکنولوژی و... 💢~> @mmdrsdev
إظهار المزيد9 156
المشتركون
+2524 ساعات
+2757 أيام
+47230 أيام
أرشيف المشاركات
9 156
تولد داریم . . .
کانال CleverDevs یکساله شد 💥
یکسال پیش چنین روزی کانال با هدف اینکه چیزایی که بلدیم رو به دیگران هم منتقل کنیم شروع به کار کرد تو این یک سال تجربه های مختلفی داشتیم سعی کردیم کانال تا جای ممکن برای اعضا مفید باشه ❤️
تا جایی که میشد کاری کردیم که کانال دو طرفه باشه یعنی هم ما پست بزاریم و هم اعضا تو کامنت ها چیزایی که میدونن رو با بقیه به اشتراک بزارن 🤝
سعی کردیم پروژه های اوپن سورسی که بچه های خودمون توسعه دادن رو معرفی کنیم تا زحماتشون بیشتر دیده بشه 👨💻
اگه پیشنهاد یا نقدی در راستای بهتر شدن چنل دارید خوشحال میشم تو کامنتا مطرحش کنید
@CleverDevs - @CleverDevsGp
9 156
$$typeof propertyتوی React وقتی یه کامپوننت رو لاگ میگیریم، یه پراپرتی با این اسم میبینیم و هدفش جلوگیری از حملاتی مثل Cross-Site Scripting هست؛ حالا چطور انجام میشه؟ مقدار این پراپرتی یه Symbol هست، و یکی از Privitive تایپهای Js هست که نمیتونه به JSON تبدیل بشه، بخاطر همین اگه هکر بخواد یه کامپوننت فیک به سایتمون ارسال کنه ریکت متوجه این قضیه میشه. #React #Js @CleverDevs - @CleverDevsGp
9 156
توی این پست میخوام یه دانلود منیجر خفن و کاربردی رو معرفی کنم که بچه های ایرانی نوشتن
پرسپولیس یک دانلود منیجر و رابط کاربری گرافیکی برای Aria2 میباشد که با پایتون نوشته شده
پرسپولیس یک دانلود منیجر کراس پلتفرمه که برای سیستم عامل های گنو/لینوکس ، ویندوز ، مکینتاش و بی اس دی ها توسعه یافته
یک سری از قابلیت های این دانلود منیجر هم ایناس
رابط کاربری گرافیکی برای Aria2 دانلود چند بخشی فایل زمانبندی دانلودها صفبندی دانلودها پیدا و دانلود کردن ویدئو از DailyMotion، Vimeo، Youtube، Aparat و ...اگه به لینوکس مهاجرت کردید و دنبال یه جایگزین برای IDM میگردید یا توی سایر سیستم عامل ها میخواید از یه دانلود منیجر آزاد و اوپن سورس استفاده کنید پرسپولیس گزینه مناسبیه اطلاعات بیشتر و نحوه نصب و استفاده : https://persepolisdm.github.io/fa/ #tools #openSource @CleverDevs - @CleverDevsGp
9 156
این قضیه توی نصب فیلترشکن به خاطر برنامه نویس بودن هم صادقه
#fun
@CleverDevs - @CleverDevsGp
9 156
Repost from هشتگ تبلیغ تخصصی
💥 دوره آموزشی "ورود به دنیای تست نرمافزار" (دوره چهارم)
💯 در طی سه دوره قبلی، همکارهای جدیدی به شرکت ما پیوستن و این تجربه خوب باعث شد تا در اولین روزهای تابستان امسال برای برگزاری چهارمین نوبت از این دوره آموزشی برنامهریزی کنیم. اگه شما هم فارغالتحصیل رشتههای مهندسی کامپیوتر، علوم کامپیوتر، ریاضیات، حسابداری یا مدیریت هستین و قصد دارین وارد دنیای تست نرمافزار بشین، این دوره آموزشی رو از دست ندین.
💎 در این دوره، شما با اصول و مبانی تست نرمافزار آشنا میشین و مهارتهای مورد نیازش رو آموزش میبینین.
🏅 در ضمن نفرات برتر دوره جدید نیز وارد فرآیند استخدام شرکت همکاران سیستم میشن و در صورت قبولی و جذب در شرکت، شهریه بهشون برگردونده میشه.
📆 آغاز دوره از ۱۰ تیرماه
🚨 همراه با ۱۵% تخفیف ویژه دانشجویان
💢 برای ثبت نام و کسب اطلاعات بیشتر میتونین با شماره 02184205111 تماس بگیرین یا به وبسایت مؤسسه آموزش مراجعه کنین.
🌐 education.systemgroup.net/courses/test-training-course ⬅️
🌐 Linkedin |🌐 Instagram
➖➖➖➖➖➖
9 156
Repost from هشتگ تبلیغ تخصصی
💥 دوره آموزشی "ورود به دنیای تست نرمافزار" (دوره چهارم)
💯 در طی سه دوره قبلی، همکارهای جدیدی به شرکت ما پیوستن و این تجربه خوب باعث شد تا در اولین روزهای تابستان امسال برای برگزاری چهارمین نوبت از این دوره آموزشی برنامهریزی کنیم. اگه شما هم فارغالتحصیل رشتههای مهندسی کامپیوتر، علوم کامپیوتر، ریاضیات، حسابداری یا مدیریت هستین و قصد دارین وارد دنیای تست نرمافزار بشین، این دوره آموزشی رو از دست ندین.
💎 در این دوره، شما با اصول و مبانی تست نرمافزار آشنا میشین و مهارتهای مورد نیازش رو آموزش میبینین.
🏅 در ضمن نفرات برتر دوره جدید نیز وارد فرآیند استخدام شرکت همکاران سیستم میشن و در صورت قبولی و جذب در شرکت، شهریه بهشون برگردونده میشه.
📆 آغاز دوره از ۱۰ تیرماه
🚨 همراه با ۱۵% تخفیف ویژه دانشجویان
💢 برای ثبت نام و کسب اطلاعات بیشتر میتونین با شماره 02184205111 تماس بگیرین یا به وبسایت مؤسسه آموزش مراجعه کنین.
🌐 education.systemgroup.net/courses/test-training-course ⬅️
🌐 Linkedin |🌐 Instagram
➖➖➖➖➖➖
9 156
آگهی استخدام برنامه نویس / دورکاری
برنامهنویس بکاند:
تسلط به Node.js و Nest.js
تسلط کامل به PostgreSQL و Redis و MongoDB
آشنایی با مفاهیم امنیت وب و پیادهسازی آنها
توانایی بهینهسازی عملکرد و رفع مشکلات پایگاه داده
آشنایی با Docker و Kubernetes
تجربه کار با CI/CD
آشنایی با ابزارهای مانیتورینگ و لاگینگ (Prometheus، Grafana)
برنامهنویس فرانتاند:
تسلط به React.js و Next.js
تجربه کار با Tailwind CSS
آشنایی با مفاهیم SEO و بهینهسازی عملکرد صفحات وب
توانایی کار تیمی و همکاری با سایر اعضای تیم
توانایی ساخت وبسایت از صفر ( بدون استفاده از قالب های آماده)
حداقل 5 سال تجربه در زمینه تخصصی مربوطه
درک عمیق از اصول امنیتی و حفظ محرمانگی دادهها
مهارتهای حل مسئله و تفکر تحلیلی قوی
توانایی کار تیمی و ارتباط موثر
جهت ارسال رزومه با @fmown در ارتباط باشید
9 156
آسیب پذیری های امنیتی جاوا اسکریپت🖇
#part1
1⃣ آسیبپذیری Cross-Site Scripting (XSS):
حملهای که مهاجم کد مخربو به یک وبسایت وارد میکنه و این کد در مرورگر کاربرا اجرا میشه.
راهای جلوگیری:
امنسازی دادههای ورودی با تابع هایی مثل encodeURIComponent.
جلوگیری از نمایش مستقیم دادههای کاربر در صفحات وب.
2⃣ آسیبپذیری Cross-Site Request Forgery (CSRF)
توضیح: حملهکننده با استفاده از کاربر و کوکیهای مرورگر، عملیات ناخواستهای رو اجرا میکنه و وقتی اتفاق میوفته که یک سایت بدون بررسی اعتبار درخواستای ارسالی از کاربرو اجرا کنه
راهای جلوگیری:
استفاده از توکنهای CSRF در فرمها و درخواستهای حساس و تنظیم کوکیها به گونهای که فقط از طریق سرور قابل دسترس باشن (HttpOnly)
3⃣ حمله DDoS (Distributed Denial of Service)
توضیح: حملهای که با ارسال تعداد زیادی درخواست به یک سرور، اونو از دسترس خارج میکنه.
راهای جلوگیری:
با محدود کردن تعداد درخواستهای ورودی به سرور، از بار زیاد جلوگیری میشه.
از سرویسهای مقابله با DDoS به طور تخصصی برای کاهش اثرات حملات DDoS طراحی شدن استفاده کنید
ظرفیت شبکه رو افزایش بدید و بار ترافیک رو بین چند سرویس توزیع کنین(load balancing)
4⃣ آسیب پذیری SQL injection:
حملهای که مهاجم دستورات مخربو از طریق ورودی کاربر به سرور ارسال میکنه و این دستورات در سرور اجرا میشن
راهای جلوگیری:
استفاده از parameterized queries
به کارگیری ORM (Object-Relational Mapping) برای تعامل با پایگاه دادهها.
@CleverDevs
@CleverDevsGp
9 156
Repost from هشتگ تبلیغ تخصصی
🔥 اگه میخوای تابستونت رو بیهدف از دست ندی، نگران نباش.
💯 کندو اینجاست که بهت کمک کنه.💪
با ثبتنام در دورههای کندو میتونی تا ۵۰٪ تخفیف بگیری.
❌ فقط تا ۹ تیرماه
🎯 این فرصت رو از دست نده و تا قبل از شروع پاییز یه مهارت جدید یاد بگیر.🌟
🔗 مشاهده دورهها و ثبتنام ➡️
💬 دریافت مشاوره تخصصی و رایگان :
👩💻@CANDOm_jani
👩💻@CANDOF_Ebrahimi
👩💻@CANDOZ_Qoliha
📞 02143810 (تماس از تهران)
📞 02192004381 (شهرستان)
🥇آموزشگاه مهندسی کندو، برترین آموزشگاه IT ایران - We Can Do IT 💪
💬 @cando_ac
9 156
قابلیت tag توی گیت یکی از قابلیت های خفن گیته که برای ورژن بندی کمک زیادی میکنه در واقع تگ ها توی گیت برای نشانه گذاری زمان خاصی از تاریخچه پروژه هست
مثلا ما یه سری فیچر برای پروژمون زدیم و میخوایم که به عنوان ورژن 1 علامت گذاری کنیم میایم و از tag ها استفاده میکنم و اون کامیت اخر رو با تگ v1 نشانه گذاری میکنیم و بعد تر که فیچر های دیگه ای اومد و ورژن 2 آماده بود میتونیم به اخرین کامیت اون لحظه هم تگ v2 رو اختصاص بدیم
اما ما دو نوع تگ توی گیت داریم
نوع اول Annotated tags هست که اطلاعات بیشتری درباره اون تگ مثل اسم و ایمیل کسی که تگ رو ایجاد کرده ، تاریخ ایجاد تگ و یک پیام برای تگ و یک هش مخصوص برای اون کامیتی که تگ شده ست میکنن
برای ایجاد این نوع تگ ها باید کامند زیر رو بزنید که
git tag -a v1.0.0 -m "version 1.0.0"
که سوئیچ a به Annotated اشاره میکنه و سوئیچ m هم پیام مربوط به تگه (میتونید توی کامندتون پیام رو ست نکنید در این صورت گیت ادیتور رو براتون باز میکنه تا بنویسید)
نوع دوم lightweight tags هست که هیچ اطلاعات اضافه ای درباره تگ نمیده و فقط به اون کامیتی که تگ روش زده شده اشاره میکنه که بیشتر برای نشانه گذاری های موقت بدرد بخوره برای ایجاد این تگ ها هم باید کامند زیر رو بزنید
git tag v1.0.0
تگ های lightweight دیگه سوئیچ های m و a رو نمیگیرن
اگه خواستید بیشتر دربارش بدونید پیشنهاد میکنم به لینک زیر یه نگاه بندازید
https://www.freecodecamp.org/news/git-tag-explained-how-to-add-remove/
#git
@CleverDevs - @CleverDevsGp9 156
Repost from هشتگ تبلیغ تخصصی
🔹 دوست داری بدونی چه زبان برنامهنویسی برات مناسبتره؟
⚡️ این آزمون کوتاه و کاملا رایگان رو بده و مسیر برنامهنویسی مناسبت رو پیدا کن!
🔴 برای شروع آزمون رایگان، اینجا کلیک کن. ➡️
➖➖➖➖➖➖
9 156
خب رفقا برای اینکه بحث مربوط به تیم با فعالیت اصلی چنل قاطی نشه یه گروه دیگه برای این کار تشکیل دادیم اگه پایه بودید بیایید اونجا تا درباره جزئیات کار تصمیم بگیریم
پیام پین شده توی گروه رو هم حتما بخونید
https://t.me/+mdJgJfZOBfU0ODlk
@CleverDevs - @CleverDevsGp
9 156
دوستان ما یه تصمیمی گرفتیم که اگه بیشتر از یه تعدادی از بچه ها پایه باشید شروعش کنیم 👨💻
کارمون از این قراره که ما اومدیم یه اکانت گیت هاب زدیم و میخوایم تیم های مختلفی تشکیل بدیم و باهم دیگه پروژه های اوپن سورس بزنیم
اما مزیت این کار اینه که میتونید تو کار تیمی پیشرفت کنید از طرفی در زمینه اوپن سورس هم بعد ها میشه حرفی برای گفتن داشت 🔥
اگه تعداد افرادی که مشارکت کنن تو این کار به حد مناسبی برسه میایم و بچه هارو بر اساس استک های مختلف دسته بندی میکنیم و تیم هایی میسازیم مثلا تیم ریکت کار ها یا تیم لاراول کار ها و ...
هرکدوم از این تیم ها میان توی ارگان CleverDevs برای خودشون پروژه های کاربردی مختلفی میسازن و میتونن با تیم های دیگه هم کاری هم کنن 👌
برای هر تیم هم بر اساس رزومه و مهارت یک نفر رو به عنوان لیدر انتخاب میکنیم که تیم رو مدیریت کنه
این فعلا یه ایده اولیه از کاره و میتونید پیشنهاد هایی که دارید رو تو کامنت ها بگید و شرکت یا عدم شرکت خودتون توی این برنامه رو تو نظرسنجی پایین انتخاب کنید
@CleverDevs - @CleverDevsGp
9 156
درود دوستان امروز با یه مبحثی اومدم که تقریبا 99 درصد شرکت های ایرانی در صورتی که خیلی پر اهمیت هست ولی اهمیتی بهش ندادن.
در برنامهنویسی شبکهای و وب سرورها یه مبحثی هست با نام "graceful shutdown" یعنی kill کردن یا بستن بهینه سرویس ها با حداق تلفات در درخواست ها، میتونه در شرکت های بزرگ انقدر بهینه پیاده سازی بشه تا به هیچ عنوان درخواست یا دیتایی از دست نره.
خب حالا بیاین یه مثال ساده ازش بزنیم، برای مثال ما یه سرویسی داریم که کلی ریکوست از سمت کلاینت داره و میخوایم بنا به دلایلی چند لحظه down کنیمش اینجاس که پای "graceful shutdown" به ماجرا باز میشه، ما باید یه سیستمی پیاده کنیم تا دو مورد زیر رو تکمیل کنه و سپس process رو kill کنه.
تکمیل درخواستهای جاری: زمانی که سرور خاموش میشه، درخواستهایی که در حال پردازش هستن باید به درستی تکمیل بشن.
آزادسازی منابع: منابعی مثل پایگاه دادهها و فایلها باید به درستی بسته بشن تا از نشت یا ذخیره ناقص منابع جلوگیری بشه.
یه مثال با golang اینجا میارم، به علت اینکه کد طولانی شد میزارمش تو یه فایل تکست پایین
break;
حالا اجازه بدین به زبون خودمونی توضیح بدم که چرا استفاده از Graceful Shutdown (خاموشی تمیز) مهمه و چطوری توی این کد بالا اجرا شده.
فرض کن یه مغازهداری. وقتی میخوای مغازهات رو ببندی، قبلش مطمئن میشی که همه مشتریها کارشون تموم شده، حساب کتاباشون رو کردن و دارن میرن بیرون. نمیای وسط کار مشتریها، کرکره رو بکشی پایین و در رو قفل کنی. اینجوری هم خودت ضرر میکنی، هم مشتریها ناراضی میشن.
حالا همینو بیاریم توی برنامهنویسی سرور:
تموم کردن کارهای در حال اجرا: وقتی سرور رو یهویی خاموش نکنی، به درخواستهایی که در حال پردازش هستن فرصت میدی کارشون رو تموم کنن. مثلا وقتی کسی داره اطلاعاتی رو از سرور میگیره، اگه وسطش سرور خاموش بشه، اون شخص به اطلاعاتش نمیرسه. با Graceful Shutdown، سرور منتظر میمونه تا این درخواستها تموم بشن.
جلوگیری از از دست رفتن دادهها: اگه سرور وسط نوشتن اطلاعات به پایگاه داده خاموش بشه، ممکنه دادهها خراب بشن یا ناقص ذخیره بشن. خاموشی تمیز باعث میشه همه کارها به درستی و تا آخر انجام بشن و بعد سرور خاموش بشه.
مدیریت بهتر منابع: وقتی سرور رو تمیز خاموش میکنی، منابعی مثل حافظه و اتصالات شبکه به درستی آزاد میشن. اینجوری وقتی دوباره سرور رو روشن میکنی، با مشکلات کمتری مواجه میشی.
حالا توی کد بالا، اینطوری این کار انجام شده:
تعریف یک کانال برای دریافت سیگنالها:
go
Copy code
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt, syscall.SIGTERM, syscall.SIGINT)
این قسمت میگه که وقتی سیگنالهای مشخصی (مثل Ctrl+C زدن توی ترمینال) دریافت شد، بره سراغ خاموشی تمیز.
گوش دادن به سیگنالها و شروع فرآیند خاموشی:
go
Copy code
<-stop
log.Println("Server is shutting down...")
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
if err := srv.Shutdown(ctx); err != nil {
log.Fatalf("Server Shutdown Failed:%+v", err)
}
اینجا وقتی سیگنال رو دریافت کرد، پیام "سرور داره خاموش میشه" رو لاگ میکنه. بعد با استفاده از یه کانتکست 30 ثانیهای سرور رو خاموش میکنه. یعنی سرور تا 30 ثانیه فرصت داره کارهای در حال اجرا رو تموم کنه و بعدش خاموش بشه.
صبر کردن تا تموم شدن همه کارها:
go
Copy code
wg.Wait()
log.Println("Server exited properly")
اینجا منتظر میمونه تا همه کارها (که با استفاده از wg.Add(1) و wg.Done() کنترل میشه) تموم بشن. وقتی همه کارها تموم شد، پیام "سرور به درستی خاموش شد" رو لاگ میکنه.
به طور خلاصه، استفاده از Graceful Shutdown کمک میکنه سرور به درستی و بدون ایجاد مشکل خاموش بشه، کارهای در حال اجرا تموم بشن و دادهها به درستی ذخیره بشن. این باعث میشه که سرور همیشه به صورت مطمئن و پایدار کار کنه و تجربه بهتری برای کاربرها فراهم کنه، و از خیلی چیزای دیگه مثل ذخیره شدن ناقص اطلاعت یا بسته نشدن procss ها که باعث میشن منابع الکی هدر بره جلوگیره کنه.
#Graceful_Shutdown
@CleverDevs - @CleverDevsGp9 156
🦸🏼♂ | Puppeteer
پاپیتیر یک کتابخانه بسیار قدرتمند که توسط توسعه دهندگان تیم گوگل ساخته شده، مناسب Web Scraping و Page Manipulation و Browser Automation هستش و کلی قابلیت های معرکه دیگه داره که میشه به تمام قابلیت های مرورگر دسترسی داشت و چیزهای خفنی باهاش توسعه داد.
🔥 چند نمونه از استفاده های پرکاربرد:
- دریافت اطلاعات از سایتها بدون نیاز به API.
- انواع حملات و سو استفاده از وبسایت.
- اتومیشن کردن سناریو های مختلف.
- تست کردن وبسایت، گرفتن خروجی بصورت پی دی اف و یا اسکرینشات.#puppeteer | #tools @CleverDevs - @CleverDevsGp
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
