Dev Perfects
40 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 LinConfig (Pakrohk)
سلام و درود خدمت دوستان عزیز دنبال کننده لین آکادمی
از امروز به مدت یک ماه، در کنال لین کانفیگ یک مسابقه داریم که طبق اون شما کانفیگ های زیبای خودتون از محیط دسکتاپتون رو برای دوست عزیزمون دلاتو میفرستید و اون برای نظر سنجی ارسالش می کنه توی کانال.

قوانین هم سادست :
۱ - باید یک عکس fastfetch داشته باشید حتما.
۲ - تصاویر شما حتما باید از سیستم عاملی آزاد یا اوپن سورس باشه.
۳ - از ارسال بگراند های ناهنجار بپرهیزید ( خشونت زیاد یا پورنوگرافی )

روش رای دادن :
❤️ = محشر
👍 = خوب
👎 = بد

منتظر ارسال های زیبای شما هستیم.
@LinConfig @LinAcademy
Forwarded from Meitix
Forwarded from Meitix
Forwarded from Meitix
عمو باب میگه هر چقدر میریم جلوتر عمر نرم افزارها طولانی تر میشه و بیشتر maintain میشن. کد بد در کوتاه و بلند هزینه maintain رو بالا میبره و هیچ آورده ای نداره و خلاصه دلخوش نباشید به این todo های که میزنید که
بعد اصلاح کنید.

میفرمایند:
The only way to go fast, is to go well.


همین باعث میشه که بیشتر از قبل تلاش میکنی رو یک پروژه ولی خروجی‌ات کمتر بید. و اینجاس که متوجه میشیم معماریمون ضعیفه

The goal of software architecture is to minimize the human resources required to build and maintain the required system.
Forwarded from Meitix
Design vs Architecture
Forwarded from Gopher Academy
✍️Massimo DevMassimo Dev

سوال مصاحبه: چطور میشه بررسی کرد که نام کاربری بین یک میلیارد کاربر تکراری نباشه؟ 🤔

این روزها با رشد سریع کسب‌وکارها، ثبت‌نام کاربرهای جدید هم به یه چالش تبدیل شده. یکی از مهم‌ترین بخش‌ها اینه که مطمئن بشیم هر کاربر یه نام کاربری منحصربه‌فرد داره. اخیراً در مورد این موضوع یه تحقیقی کردم و دو راه‌حل خوب پیدا کردم: استفاده از حافظه Redis و فیلتر Bloom. هر دو کمک می‌کنن سریع و بدون فشار زیاد به سیستم، نام کاربری جدید رو بررسی کنیم.

### مشکل کجاست؟ 😟
اگه بخوایم از روش‌های سنتی و دیتابیس برای بررسی نام کاربری استفاده کنیم، با زیاد شدن کاربرها سیستم کند میشه و با مشکلات زیر روبه‌رو می‌شیم:
- کندی در درخواست‌ها ⌛️
- فشار زیاد به دیتابیس💥 که باعث مصرف زیاد منابع میشه.
- مشکل در مقیاس‌پذیری 🚧 یعنی وقتی تعداد درخواست‌ها زیاد بشه، سرور نمی‌تونه همه رو مدیریت کنه.

### استفاده از Redis: سریع ولی پرمصرف ⚡️💾
ردیس Redis کمک می‌کنه که بررسی نام کاربری خیلی سریع بشه، چون داده‌ها رو توی حافظه ذخیره می‌کنه. اما این روش یه مشکل بزرگ داره: حافظه زیادی مصرف می‌کنه. مثلاً برای یک میلیارد نام کاربری به 15 گیگابایت حافظه نیاز داریم! 😳 که تو سیستم‌های بزرگ، خیلی پرهزینه و غیرعملی میشه.

### فیلتر Bloom: ساده، بهینه و کم‌مصرف 💡
حالا بریم سراغ فیلتر Bloom. این فیلتر یه روش خیلی بهینه‌تره که فضای حافظه خیلی کمتری استفاده می‌کنه. برای همون یک میلیارد نام کاربری، فقط 1.67 گیگابایت حافظه نیاز داره! 😎

اما فیلتر Bloom چیه؟ بذار یه مثال ساده بزنم:
فرض کن یه کیف داری که یه سری جیب کوچیک داره. هر بار که می‌خوای یه نام کاربری جدید رو ذخیره کنی، یه سری کلید (یعنی همون الگوریتم‌های هش) بهت میگه تو کدوم جیب‌های کیف بذاری. بعد اگه بخوای ببینی اون نام کاربری قبلاً ذخیره شده یا نه، فقط کافیه جیب‌های مشخص شده رو چک کنی. اگه تو هر جیب چیزی باشه، یعنی احتمالاً اون نام کاربری قبلاً استفاده شده. ولی اگه یکی از جیب‌ها خالی باشه، مطمئنی که اون نام کاربری وجود نداره. 😄

با این روش:
- حافظه کمی استفاده میشه 🧠
- سرعت بررسی خیلی بالاست ⚡️

البته یه نکته کوچیک داره: بعضی وقتا ممکنه به اشتباه بگه که یه نام کاربری هست در حالی که نیست (این همون خطای مثبت یا False Positive هست)، ولی در اکثر مواقع این خطا قابل چشم‌پوشیه.

### نتیجه‌گیری 🎯
اگه با سیستم‌هایی کار می‌کنید که میلیون‌ها یا حتی میلیاردها کاربر دارن، فیلتر Bloom یه راه‌حل خیلی بهینه و هوشمند برای بررسی یونیک بودن نام کاربریه. هم توی حافظه صرفه‌جویی می‌کنه، هم سرعت بررسی رو بالا نگه می‌داره.


👑 @gopher_academy
کدهای Winamp منتشر شد.
خاطرات بچگی...
https://github.com/WinampDesktop/winamp

@DevTwitter | <Alireza Gh/>
Forwarded from Philocode
می‌دونید آخرین بار که خونه ما خالی شد، کی بود؟
یه روز قبل از این‌که خونه رو بخریم و اسباب‌کشی کنیم. ایح ایح ایح.
Forwarded from Agora (Alireza Azadi)
توصیه می‌کنم خوندن این پست رو که حسین علیرضایی عزیز تو بلاگ مهندسی ترب منتشر کرده از دست ندین.

موضوع، راجع‌به بروز رسانی نسخه‌ی PostgresSQL از ۱۱ به ۱۶‌ه. علاوه بر نقل تجربه‌شون از شیوه‌ و چالش‌های انجام این عملیات که به‌نظرم بسیار دونستنش با ارزشه، به تفصیل به معرفی ابزار و روش‌های انجام این کار و مزایا و معایب هر کدوم از جنبه‌های مختلف پرداخته.

https://techblog.torob.com/postgresql-upgrade-from-11-to-16-torob-experience-v62efb53gn6h
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
خلاصه‌ای از جدیدترین نسخه‌های نرم‌افزارهای لینوکس
در هفته گذشته، شاهد انتشار نسخه‌های جدیدی از نرم‌افزارهای محبوب لینوکس بوده‌ایم. این به‌روزرسانی‌ها معمولاً شامل رفع باگ‌ها، بهبود عملکرد، افزودن ویژگی‌های جدید و افزایش امنیت هستند. در ادامه، به برخی از مهم‌ترین این به‌روزرسانی‌ها اشاره می‌کنیم:

نرم‌افزارهای کاربردی

🔸برنامهDBeaver 24.2.1: یک ابزار محبوب برای مدیریت پایگاه داده‌ها که در این نسخه عملکرد بهتری دارد و برخی از مشکلات آن برطرف شده است.
🔸برنامهMozilla Thunderbird 128.2.3 ESR: نسخه پایدار و ایمن از نرم‌افزار ایمیل Thunderbird با به‌روزرسانی‌های امنیتی و رفع باگ‌ها.
🔸برنامهDocker 27.3.0: جدیدترین نسخه از پلتفرم کانتینریزه کردن Docker با ویژگی‌ها و بهبودهای عملکردی جدید.
🔸برنامهProton 9.0-3: یک لایه سازگاری برای اجرای بازی‌های ویندوزی روی لینوکس.
🔸برنامهPipeWire 1.2.4: یک سرور ماژولار برای مدیریت جریان‌های صوتی و تصویری.
🔸برنامهAudacity 3.6.4: یک ویرایشگر صوتی رایگان و متن‌باز.
🔸برنامهGStreamer 1.24.8: یک چارچوب چندرسانه‌ای برای لینوکس.
🔸برنامهsnapd 2.65.3: مدیر بسته Snappy برای لینوکس.
🔸برنامهMesa 24.2.3: یک کتابخانه گرافیکی که توسط بسیاری از نرم‌افزارهای لینوکس استفاده می‌شود.
هسته‌های لینوکس
🔹هسته Linux kernel 6.10.11: یک نسخه پایدار از هسته لینوکس با رفع باگ‌ها و بهبود عملکرد.
🔹هسته Linux kernel 6.6.52 LTS: یک نسخه با پشتیبانی طولانی‌مدت از هسته لینوکس با رفع باگ‌ها و به‌روزرسانی‌های امنیتی.
🔹هسته Linux kernel 6.1.111 LTS: یک نسخه با پشتیبانی طولانی‌مدت از هسته لینوکس با رفع باگ‌ها و به‌روزرسانی‌های امنیتی.
سایر نرم‌افزارها
🔸برنامهBIND 9.20.2: یک نرم‌افزار سرور DNS.
🔸برنامهGhostscript 10.04.0: یک مفسر PostScript.
🔸برنامهcURL 8.10.1: یک ابزار خط فرمان برای انتقال داده.
🔸برنامهGNU awk 5.3.1: یک زبان برای جستجو و پردازش الگوها.
🔸برنامهppp 2.5.1: یک پیاده‌سازی پروتکل نقطه به نقطه.
🔸برنامهChromium 129.0.6668.58: نسخه متن‌باز مرورگر گوگل کروم.
🔸برنامهbtrfs-progs 6.11: مجموعه‌ای از ابزارها برای مدیریت فایل سیستم Btrfs.
🔸برنامهLLVM 19.1.0: یک زیرساخت کامپایلر.
🔸برنامهMir 2.18.0: یک کامپوزیتور Wayland.
🔸برنامهqBittorrent 4.6.7: یک کلاینت بیت‌تورنت.
🔸برنامهMozilla Firefox 130.0.1: یک مرورگر وب محبوب

نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt

حمایت از کانال-donate
https://zarinp.al/learninghive.ir
کامیونیتی لینوکس موبایل، یک ابزاری رو توسعه دادن به اسم mirrorhall که میاد و این امکان رو به شما میده تا بتونید بین دستگاه‌هایی که دارن گنو/لینوکس اجرا می‌کنن صفحه نمایشتون رو به اشتراک بزارید!


🔗 https://notes.nokun.eu/post/2024-09-22-mirrorhall/

@SohrabContents
Media is too big
VIEW IN TELEGRAM
کامیونیتی لینوکس موبایل، یک ابزاری رو توسعه دادن به اسم mirrorhall که میاد و این امکان رو به شما میده تا بتونید بین دستگاه‌هایی که دارن گنو/لینوکس اجرا می‌کنن صفحه نمایشتون رو به اشتراک بزارید!


🔗 https://notes.nokun.eu/post/2024-09-22-mirrorhall/

@SohrabContents
Forwarded from Geek Alerts
Forwarded from Geek Alerts
دولینگو، نرم‌افزار محبوب یادگیری زبان‌های مختلف، بالاخره آموزش ریاضی و موسیقی رو به نسخه اندروید برنامه‌اش اضافه کرده. حالا با رفتن به برنامه و در بخش Courseها، می‌تونید به راحتی از این دو دوره جدید استفاده کنید.
همچنین اگر اشتراک Maxش رو داشته باشید، می‌تونید با شخصیت Lily به صورت لحظه‌ای و ویدیویی مکالمه کنید.

https://blog.duolingo.com/video-call/
hadi @geekalerts
💎 شروع کار با Node.js 💎

اگه تازه می‌خوای یادگیری Node.js رو شروع کنی، بهتره از یه مسیر ساده و کاربردی شروع کنی.

نود برای اجرای جاوااسکریپت سمت سرور استفاده می‌شه و بهت این امکان رو میده که اپلیکیشن‌های تحت وب، APIها، و حتی برنامه‌های چت یا استریمینگ بسازی.

1⃣ قدم اول: نصب Node.js
اولین قدم اینه که Node.js رو نصب کنی. برو به سایت رسمی Node.js و نسخه‌ای که به سیستم‌ت می‌خوره رو دانلود کن. وقتی نصب شد، می‌تونی با زدن دستور زیر توی ترمینال مطمئن شی که درست نصب شده:
node -v

با این دستور نسخه Node.js نمایش داده میشه و می‌فهمی که همه چیز درسته.

2⃣ قدم دوم: آشنایی با npm
یکی از ابزارهای کلیدی که با Node.js میاد، npm یا همون Node Package Manager هست. با npm می‌تونی به راحتی کتابخونه‌ها و بسته‌های مورد نیاز پروژه‌ت رو نصب کنی. برای مثال، اگه بخوای یه کتابخونه مثل Express رو نصب کنی که خیلی معروفه برای ساخت وب‌سرورها، از این دستور استفاده می‌کنی:
npm install express


3⃣ قدم سوم: ساخت اولین پروژه
حالا بیا یه پروژه ساده رو با هم بسازیم. اول یه پوشه جدید ایجاد کن و واردش شو:
mkdir my-first-node-app
cd my-first-node-app

حالا یه فایل به اسم app.js بساز و کد زیر رو توش بنویس:
const http = require('http');

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});

server.listen(3000, () => {
console.log('Server running at https://localhost:3000/');
});

این کد یه سرور ساده می‌سازه که وقتی توی مرورگر https://localhost:3000 رو باز کنی، عبارت "Hello World" رو بهت نشون میده.

4⃣ قدم چهارم: اجرای پروژه
حالا برای اینکه سرورت رو اجرا کنی، توی همون پوشه‌ای که فایل app.js هست دستور زیر رو بزن:
node app.js

اگه همه چیز درست باشه، پیغام Server running at https://localhost:3000/ توی ترمینال نمایش داده می‌شه. حالا می‌تونی مرورگرت رو باز کنی و این آدرس رو وارد کنی تا نتیجه رو ببینی.

5⃣ قدم بعدی: آشنایی با فریم‌ورک‌ها
بعد از اینکه به Node.js عادت کردی، خوبه با فریم‌ورک‌هایی مثل Express آشنا بشی که کار ساخت وب‌سرور و API رو برات خیلی راحت‌تر می‌کنه. با Express می‌تونی راحت مسیرها (routes)، میدلور (middleware)، و مدیریت درخواست‌ها رو پیاده‌سازی کنی. مثلاً کد بالا رو با Express می‌تونی خیلی ساده‌تر بنویسی:
const express = require('express');
const app = express();

app.get('/', (req, res) => {
res.send('Hello World');
});

app.listen(3000, () => {
console.log('Server running on https://localhost:3000');
});


🧑‍🏫 یادگیری مستمر
پیشنهاد می‌کنم حتماً روی پروژه‌های کوچیک و ساده کار کنی تا مفاهیم برات جا بیفته. یه نکته دیگه اینکه، منابع آموزشی رایگان زیادی برای یادگیری Node.js هست مثل:

- سایت رسمی Node.js
- مستندات Express
- آموزش‌های یوتیوب و دوره‌های آنلاین.

هر سوالی داشتی، اینجا هستم که کمک کنم! :)

@ninja_learn_ir
This media is not supported in your browser
VIEW IN TELEGRAM
این ریپو یک ابزاری هست به اسم PyGWalker که کار تحلیل داده و visualization در Jupyter Notebook را با استفاده از تبدیل داده های pandas به یک رابط کاربری تعاملی برای کاوش بصری (visual exploration) بسیار ساده میکنه.
https://github.com/Kanaries/pygwalker

@DevTwitter | <Mehdi Allahyari/>
Forwarded from 
mCaptcha.org

mCaptcha is proof-of-work based captcha system that is privacy focused and fully automated.

#FLOSS #privacy #captcha #tool #معرفی
@amiria703_channel
Forwarded from Gopher Academy
🔵 عنوان مقاله
caddy-exec: Caddy Module for Running One-Off Commands

🟢 خلاصه مقاله:
مقاله به بررسی "Caddy" می‌پردازد، یک سرور HTTP(S) که با زبان برنامه‌نویسی Go نوشته شده است. Caddy به‌خاطر سازگاری و عملکرد بالا در بین توسعه‌دهندگان محبوبیت زیادی دارد. یکی از ویژگی‌های برجسته این سرور، قابلیت افزودن افزونه‌هاست که امکان تریگر (فعال‌سازی) دستورات در زمان‌های مختلف، از جمله هنگام راه‌اندازی یا خاموش‌شدن سرور، و هم‌چنین از طریق مسیرهای معین را فراهم می‌کند. این ویژگی‌ها Caddy را به یک ابزار قوی و انعطاف‌پذیر تبدیل می‌کنند که برای مدیریت و بهینه‌سازی عملیات‌های وب سرور در محیط‌های مختلف مناسب است. این مقاله به توضیح و بررسی جامعی از چگونگی کارکرد و مزایای استفاده از این افزونه در Caddy پرداخته است.

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


👑 @gopher_academy
#کدبوک

کتاب Refactoring UI از سازندگان Tailwindcss
این کتاب به جای تمرکز بر تئوری، بر راهکارهای کاربردی و نکات عملی تأکید دارد:

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

* فایل PDF این کتاب رو میتونید از کانال DevBooks که لینکش توی بیو هست دانلود کنید.

@DevTwitter
Forwarded from Behix Notes
حسرتی که به دلمون موند!
همیشه دوست داشتم مثل خیلی از یوتیوبر ها بتونم homelab خودم رو داشته باشم و کلی چیز باهاشون تست کنم و یاد بگیرم، ولی خب وقتی فکرش کردم دیدم، نه
نه این چیزا به ما نیومده، این سرگرمی ها برا کسایی هستش که کشور های اروپایی یا آمریکا یا هر کشور دیگه ای با رفاه و وضعیت اقصادی بهتر، زندگی میکنن.
اکثر تولید محتوا کننده های این حوزه برعکس بقیه ی حوزه های IT از کشور های اروپایی و آمریکایی هستن و خیلی کم میتونید کسی از آسیا رو ببینید که در این حوزه محتوای ادامه دار تولید کنه
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 لوگو موزیلا پس از سال‌ها تغییر کرد؛ خداحافظی با دایناسور نمادین

#خبر

@TheRaymondDev