Dev Perfects
43 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Agora (Alireza Azadi)
سیر یادگیری من دقیقاً به همین شکل بود، با دو تفاوت کوچک:

۱- بازه‌های زمانی کمتر و زمان شروع دیرتر.
۲- الان علاوه بر Golang، به Rust هم مشغول شدم.

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

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

پایتون با لایه‌های انتزاعی زیادی که ارائه می‌ده، پیچیدگی‌های زیادی رو هم از دید برنامه‌نویس پنهان می‌کنه. این ویژگی، درسته که باعث ساده‌تر شدن یادگیری و تسریع در پیاده‌سازی می‌شه، اما می‌تونه برنامه‌نویس رو از درک و مواجهه با پیچیدگی‌های بنیادی که میتونن نقش تربیتی داشته باشن، دور کنه. همین فاصله باعث میشه که «مهندس نرم‌افزار»ی که مد نظر داریم شاید هیچ‌وقت این فرصت رو نداشته باشه که تربیت بشه.
کاربرد aspect-square در Next.js با TypeScript: بهینه‌سازی نمایش تصاویر

در هنگام طراحی وب‌سایت‌ها، یکی از چالش‌هایی که پیش می‌آید، تنظیم ابعاد ثابت برای تصاویر است تا در تمام دستگاه‌ها و اندازه‌های مختلف صفحه نمایش به خوبی نمایش داده شوند. در اینجا، ویژگی aspect-square در CSS می‌تواند کمک بزرگی باشد.
در Next.js، همراه با TypeScript، می‌توانید این ویژگی را به راحتی برای کنترل نسبت ابعاد تصاویر استفاده کنید. این ویژگی به شما اجازه می‌دهد تا ارتفاع و عرض یک عنصر را به نسبت یکدیگر قفل کنید، بدون اینکه نیاز به محاسبات پیچیده داشته باشید.

در این مثال:

aspectRatio: '1' ==> مشخص می‌کند که نسبت عرض به ارتفاع عنصر 1 به 1 است.

layout="fill" ==> به این معنی است که تصویر به طور خودکار ابعاد والد خود را پر خواهد کرد.

objectFit="cover" ==> برای نمایش صحیح تصویر بدون تغییر ابعاد و حفظ کیفیت استفاده می‌شود.


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

@DevTwitter | <Abolfazl Javadineya/>
Forwarded from Agora (Amir Hossein)
سلام بچه ها
امیدوارم حالتون خوب باشه
توی محل کارم یک پوزیشن فرانت خالی شده
اگه علاقه‌مند هستید، رزومه‌تون رو برام بفرستید
Forwarded from یک برنامه نویس تنبل (  MΞ)
Forwarded from CleverDevs (Mammad)
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 به عنوان معلم میگم لطفا به خانواده‌های محترم بَرنخوره؛

ولی دانش‌آموزا بی‌تربیت شدن، بیش از حد گستاخ شدن و خب این برای خودتون بده، نهایتا یک سال شاگرد ما هستن و گستاخی می‌کنن ولی یک عمر قراره تو جامعه زندگی کنن، اینجا تو مدرسه تو دهنشون نمی‌خوره ولی در آینده اجتماع تو دهنشون میزنه!

✍️ سارا نیکدل

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

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

+به عنوان کسی که در کشور خارجی معلم بوده باید بگم این مشکل در سایر کشورا هم هست و به ایران محدود نمیشه. اکثر نسل z به شدت بی ادب، بی مسئولیت، بی سواد و پر مدعا هستن و آداب معاشرتشون صفره! البته احتمالا مادربزرگای ما هم در مورد ما همین فکرو میکردن و جهان کلا به سمت خوبی نمیره

@TheRaymondDev | @GizmizTel
Forwarded from Gopher Academy
🔵 عنوان مقاله
🗓️ Enterprise Ready Conference

🟢 خلاصه مقاله:
این رویداد یک‌روزه در شهر سان فرانسیسکو برای رهبران تولید و مهندسی شرکت‌هایی که در زمینه توسعه نرم‌افزارهای SaaS مشغول به کار هستند، برگزار می‌شود. مخاطبان اصلی این کنفرانس، مدیران و سرپرستانی هستند که در حوزه‌های مرتبط با نرم‌افزار به عنوان خدمت (SaaS) فعال می‌باشند و به دنبال ایده‌های نوآورانه و راهکارهای عملی برای بهبود عملیات و افزایش کارایی تیم‌های خود هستند. در این رویداد، سخنرانانی از شرکت‌های برجسته‌ای مانند OpenAI، Vanta، Canva، و Dropbox حضور دارند که تجربیات و دیدگاه‌های خود را در مورد چالش‌ها و موقعیت‌های کلیدی صنعت SaaS به اشتراک می‌گذارند. این فرصتی استثنایی برای شبکه‌سازی و کسب اطلاعات ارزشمند درباره‌ی آخرین تحولات و نوآوری‌های این حوزه می‌باشد.

🟣لینک مقاله:
https://golangweekly.com/link/161332/web


👑 @gopher_academy
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
به جای Yahoo! Messenger، من از Pidgin استفاده میکردم

💠 در چند مسینجر از Y!m گرفته تا IRC و XMPP یا با چند ID در یاهو همزمان لاگین بودم 😎 ( اون موقع ها مهم بود 😁)

🔥 حالا بعد از ۱۶ سال این مسینجر دوست داشتنی داره اماده نسخه ۳ میشه 🥰 و خاطره ها زنده شد

🗓 با توجه به این که هنوز نسخه جدید یعنی ۳ پیش نمایش است فقط به صورت Flatpak در Flathub Beta repository در دسترس است
🗓 از IRCv3 پشتیبانی میکنه
🗓 اکثر APIs ها به روز رسانی شدند

⁉️ با IRC آشنایی داری؟
⁉️ از pidgin استفاده میکنید ؟
برای نسب و تست اینجا

منبع

#linux
𝗛𝗼𝘄 𝘁𝗼 𝗠𝗮𝗸𝗲 𝗬𝗼𝘂𝗿 𝗦𝗤𝗟 𝗤𝘂𝗲𝗿𝗶𝗲𝘀 𝗥𝘂𝗻 𝗟𝗶𝗸𝗲 𝗮 𝗟𝗶𝘁𝘁𝗹𝗲 𝗜𝗺𝗽𝗮𝗹𝗮

Sometimes, developers forget the easy and simple things that make SQL queries so much faster.

- Avoid SELECT * always list the columns you need.
- Skip cursors and subqueries when ͟possible JOINs are faster and cleaner.
- Use Indexes to speed up WHERE, JOIN, and ORDER BY operations.
- Run EXPLAIN ANALYZE to see what’s slowing things down.
- Test queries on real data to ensure they work as expected.

@DevTwitter | <Goni Lukov/>
خب انگار بانک ملت دوباره رفت هوا.

بقیه سالمن؟

@SohrabContents
های و هوی توخالی!

🔍 ircf.space
@ircfspace
Forwarded from CleverDevs (Mammad)
میشه بگیم carpet کوچیک شده car برای محیط های سلیمان نشینه ؟

#fun
@CleverDevs - @CleverDevsGp
کتابخونه‌ی puppeteer برای نوشتن وب اسکرپر (scraper) در NodeJS :

معمولا برای نوشتن scraper از زبان پایتون استفاده میشه ولی اگه به هر دلیلی خواستین این کار رو با NodeJS انجام بدین میتونین از کتابخونه‌ی puppeteer استفاده کنین.

چرا ‌crul نکنیم؟
خب از اونجایی که اکثر سایت‌های مدرن از جاوااسکریپت برای رندن کرن اطلاعات استفاده میکنن و این کار سمت کلاینت انجام میشه وقتی درخواست crul میفرستیم و اطلاعات صفحه رو میگیرم، اطلاعات مورد نظرمون داخل صفحه رندر نشدن

برای این کار puppeteer هم مثل اکثر کتابخونه های دیگه یه مرورگر باز میکنه (نمایش دادن مرورگر یا نمایش ندادنش قابل تنظیم هست) و صبر میکنه سلکتوری که براش معرفی کردیم لود بشه بعد دیتای مورد نظر رو استخراج میکنه

تو این کد ما میریم قیمت (زودپز عظیما مدل H43 گنجایش 9 لیتر) رو در از سایت digikala در میاریم
نکات :
- توی این کد ادرس کالا و سلکتور استاتیک تعریف شده و اگه به هر دلیلی سایت هدف اپدیت بده ممکنه اینها دیگه معتبر نباشن.
- برای جلوگیری از شناسایی به عنوان بات، می‌توانید یک User-Agent جعلی به مرورگر اضافه کنید.
- کتابخونه‌ی puppeteer در حالت پیش فرض به صورت headless اجرا میشود و شما اتفاقات رو نمیبینید اینطوری رندر گرافیکی نداره و رم و گرافیک کمتری استفاده میکنه از طرفی معمولا این کدها روی سرور اجرا میشه و خب اونجا اصلا کاربردی نداره.
- برای سایت‌هایی که بات دیتکشن دارن میشه از کتابخونه‌های دیگه ای اضافه کرد مثل 2Captcha ،anticaptcha
- اگه تعداد رسکوست هاتون زیاد باشه ممکن هست سایت هدف ip شما رو برای مدتی مسدود کنه
- این کد صرفا یک مثال برای اشنایی هست و با خوندن داکیومنت میتونید اطلاعات بیشتر و بهتری بدست بیارین
- اسکرپ کردن دیتاهای که برای دسترسی عموم ازاد هست در صورتی که برای سایت هدف مشکلی به وجود نیاره عمل غیرقانونی نیست.

@DevTwitter | <Mohsen Zare/>
اسکریپت مدیریت Hysteria2، یک رابط کاربری جامع برای مدیریت سرور هست که از ویژگی‌هایی نظیر مدیریت کاربران، نظارت بر ترافیک و ادغام با ابزارهای اضافی مانند وارپ، ساب‌لینک سینگ‌باکس و ربات تلگرام برخورداره ...

👉 github.com/ReturnFI/Hysteria2

🔍 ircf.space
@ircfspace
گیت سرور یه سیستم مدیریت مرکزی برای کد و پروژه‌هاست که به تیم‌های نرم‌افزاری کمک می‌کنه تا کدهاشون رو به صورت متمرکز نگهداری و مدیریت کنن. این سرور معمولاً روی یه ماشین مجزا نصب می‌شه و با پروتکل‌های SSH یا HTTPS با کلاینت‌ها ارتباط برقرار می‌کنه.

یکی از محبوب‌ترین گیت سرورها GitLab هستش که از سال ۲۰۱۱ توسعه داده شده. این سرور علاوه بر قابلیت‌های پایه گیت، ویژگی‌های پیشرفته‌ای مثل CI/CD، ایشو ترکر و ویکی رو هم ساپورت می‌کنه. نکته جالب اینه که GitLab با Ruby on Rails نوشته شده و کدش اوپن‌سورس هستش.

برای راه‌اندازی یه گیت سرور، اول باید یه سیستم عامل لینوکس نصب کنی. اوبونتو یا سنت‌او‌اس گزینه‌های خوبی هستن. بعد باید گیت رو نصب کنی و یه یوزر مخصوص گیت بسازی. باید SSH رو کانفیگ کنی و کلیدهای عمومی و خصوصی رو تنظیم کنی. برای امنیت بیشتر می‌تونی از فایروال استفاده کنی و پورت ۲۲ رو فقط برای آی‌پی‌های مشخص باز بذاری.

گیت سرور می‌تونه به صورت bare یا non-bare باشه. ریپوهای bare فقط شامل فایل‌های .git هستن و برای سرور مناسب‌ترن. ریپوهای non-bare شامل فایل‌های پروژه هم می‌شن و معمولاً توی محیط توسعه ازشون استفاده می‌شه.

برای مدیریت دسترسی‌ها توی گیت سرور می‌تونی از گروه‌ها استفاده کنی. هر گروه می‌تونه دسترسی‌های متفاوتی داشته باشه. مثلاً گروه developers می‌تونه push کنه ولی نمی‌تونه برنچ master رو تغییر بده. گروه admins هم دسترسی کامل داره.

برای بکاپ گرفتن از گیت سرور دو تا روش اصلی وجود داره: بکاپ فایل‌سیستم و بکاپ ریپو به ریپو. توی روش اول کل دایرکتوری گیت رو کپی می‌کنی و توی روش دوم با دستور git clone --mirror از هر ریپو یه کپی می‌گیری.

گیت سرور رو می‌شه با ابزارهای مانیتورینگ مثل Prometheus و Grafana مانیتور کرد. این ابزارها متریک‌های مهمی مثل تعداد push‌ها، استفاده از CPU و RAM، و فضای دیسک رو نشون می‌دن.

#git #git_server #version_control

@PhiloLearn
Forwarded from Bardiaism
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت سیزدهم - ابزارهای ذخیره‌سازی

در این قسمت درباره ۳ راه اصلی ذخیره‌سازی اطلاعات روی دیسک توسط Qt صحبت میکنیم و اونارو آموزش میدیم.
این ۳ روش مهم‌ترین‌ روش‌های ذخیره‌سازی اطلاعات هستن که برای اطلاعات کوچیک مثل تنظیمات، اطلاعات متوسط مثل یک فایل متنی و در نهایت اطلاعات حجیم که نیازمند ذخیره‌سازی در دیتابیس هست استفاده میشن.

لینک ویدیو در یوتیوب:
https://youtu.be/7LS8dURF3Rg

@Bardiaism
جدید ترین نسخه فاش ویژگی استفاده از رنگ‌های گنوم و همینطور بالاخره ذخیره اسکرین شات رو اضافه کرده :))


@SohrabContents
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰اجرای یک دستور در مدت زمان مشخص

timeout-duration command
=================
به عنوان مثال دستور پینگ به مدت 5 ثانیه اجرا میشود.
$timeout  5s  ping emperor-os.ir

$ timeout 10s free -mht

نویسنده: حسین سیلانی