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

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from Geek Alerts
گوگل‌میت یه سری تغییرات داشته مثلا اگه دیر به جلسه برسید از بخش بالا میشه کپشن ۳۰ دقیقه اخیر رو ببینید که بقیه چی گفتن توی تایمی که داخل جلسه نبودید.

این یادداشت‌برداری از جلسه پیشرفت‌های دیگه هم داشته، یه امکان به اسم Take Notes for me که گوگل میاد بعد از اتمام تماس یادداشت‌های جلسه رو بررسی میکنه و به صورت خودکار کارهایی که توی جلسه بهتون دادن و بعدا باید انجام بشه رو شناسایی و مرتب میکنه و به شکل یک یادداشت کامل بهتون تحویل میده.

گوگل گفته ویژگی کپشن رو برای تمام کاربران ارائه میده ولی ویژگی یادداشت برداری شخصی برای کاربرانی هست که اشتراک دارن یا یوزر Workspace گوگل هستن.

از امروز هم شروع کردن به انتشار آپدیت و ممکنه با مقداری تاخیر براتون نمایش داده بشه.

zdnet
📱 geekalerts
🤓@geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
جنگو کنده، پس نباید استفاده کنیم؟ 🙂‍↔️

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

چرا میگن جنگو کنده؟
خب راستشو بخواین، جنگو واقعا کنده (نسبت به فریم‌ورک‌های async بیس مثل FastAPI و زبان‌های کامپایلری مثل Go که توی I/O bound حرف اولو میزنن). ولی چرا؟

جنگو سینکروسه 🥸
جنگو از اساس برای وب‌اپلیکیشن‌های سنتی طراحی شده(طبیعیم هست چون ۲۰ سال پیش ساخته شد اون موقع مفهومی به اسم async به این صورت نبود).
ولی فریم‌ورک‌هایی مثل FastAPI می‌تونن همزمان چند درخواست رو مدیریت کنن (به لطف async).

Overhead بالای ORM 🏋️‍♂️
‏ORM جنگو سنگینه. هر کوئری که میزنی، کلی پردازش اضافه انجام میده تا کارتو راحت کنه، ولی همین باعث میشه کندتر از ORMهای سبک‌تر باشه.

Middleware و Request Cycle پیچیده‌تره 🌀

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

پس چرا بازم از جنگو استفاده کنیم؟
حالا که جنگو کنده، یعنی نباید سمتش بریم؟ نه بابا بذار تجربه خودمو بگم.

1⃣ سرعت، همیشه مهم‌ترین فاکتور نیست
اکثر پروژه‌ها، گلوگاه سرعت، فریم‌ورک نیست، بلکه دیتابیس، شبکه، و لاجیک‌های بیزینسی هستن. یه اپلیکیشن CRUD ساده که روزی ۱۰۰۰ تا درخواست داره، با FastAPI یا جنگو، تفاوت محسوسی نداره.

2⃣ توسعه سریع‌تر = زمان و پول بیشتر
جنگو کلی چیز آماده داره. سیستم مدیریت کاربر، فرم‌ها، ORM، ادمین پنل، و کلی ماژول دیگه. این یعنی تو به جای ساختن همه‌چی از صفر، فقط تمرکزت روی بیزینس لاجیکه. توسعه سریع‌تر = هزینه کمتر.

3⃣ امنیت، یکپارچگی، و قابلیت اطمینان
جنگو به طور پیش‌فرض مقاوم در برابر حملات XSS، CSRF، SQL Injection و غیره‌ست. ولی FastAPI؟ باید خودت امنیت رو درست کنی و Middleware بنویسی، که اگه اشتباه کنی، فاجعه میشه

کی بریم سمت FastAPI یا Go یا هرچیز سریع؟

1⃣ وقتی واقعا به Async نیاز داری
اگه داری یه چت‌اپ، وب‌ساکت، یا یه سیستم پردازش سنگین با درخواست‌های همزمان بالا می‌نویسی، FastAPI و Go گزینه‌های بهتری هستن.

2⃣ وقتی هر میلی‌ثانیه مهمه
توی سرویس‌های real-time مثل سیستم‌های تریدینگ، گیمینگ، یا پردازش داده سنگین، Go و Rust گزینه‌های بهتری هستن، چون کامپایل میشن و خیلی سریع‌تر از پایتون اجرا میشن.

پس چی کار کنیم؟
اگه سرعت برات مهمه: Go بزن Java بزن یا ...


اگه یه API سبک و سریع لازم داری: FastAPI بزن


اگه می‌خوای سریع یه اپلیکیشن کامل و امن بالا بیاری: Django بهترین گزینه‌ست


سرعت، همه چیز نیست، بلکه بستگی داره که چه چیزی برات مهم‌تره و نیاز داری بهش

خوشحال میشم نظرتون رو بشنوم
تو کامنتای همین پست بگید 👇


#️⃣ #programming #django #backend



🥷 CHANNEL | GROUP
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
مایکروسافت یه مدل ساخته به اسم Muse، که میتونه بر اساس حرکات بازیکن محیط بازی بسازه، دنیای سه‌بعدی بازی و فیزیک اون رو درک میکنه و در نهایت انواع گیم‌پلی هم میسازه

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

مایکروسافت می‌گه هدفش این نیست که این AI جایگزین سازنده‌های بازی بشه و میخوان یه ابزار کمک کننده برای اون‌ها باشه.

theverge
📱 geekalerts
🤓@geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Go Casts 🚀
سلام به همه دوستان
نتیجه قرعه کشی اعلام شد و به دوستانی که برنده شدند پیامک ارسال شد

۱۰ میلیون تومان مبلغ قرعه کشی به حساب خانه ای بی واریز شد

فیش واریزی قرعه کشی های قبلی
https://news.1rj.ru/str/c/1525472919/2990

https://news.1rj.ru/str/c/1525472919/2177

https://news.1rj.ru/str/c/1525472919/2504

@gocasts
Forwarded from Geek Alerts
چالش لهجه انگار انقدر جدی هست که واسش AI اصلاح لهجه ساختن، مثلا کال‌سنتر هندی یا آفریقایی هست ولی شما وقتی تماس بگیرید صدای یه آمریکایی رو میشنوید.

ایده استارتاپ SANAS که اتفاقا چند تا مهاجر ساختنش سر تجربه بد دوستشون تو یه کال سنتر بود، دوستشون مجبور میشه برگرده نیکاراگوئه، اونجا تو کال‌سنتر کار کنه بعد فشار زیادی بهشون میاوردن بابت لهجه و از این موضوع راضی نبودن.

سیستم SANAS میاد با حفظ احساسات داخل صدا فقط لهجه گوینده رو در لحظه تغییر میده، الان ۵۰ تا مشتری توی صنایع بزرگ بهداشت و حمل‌و‌نقل و البته tech دارن و درآمد سالانشون هم به ۲۱ میلیون دلار رسیده.

techcrunch
📱 geekalerts
🤓@geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
مدیران جدا شده اینتل برای استارتاپ تراشه‌های RISC-V، خودشون تونستن سرمایه جذاب کنن، این معماری RISC-V (خونده میشه ریسک فایو) که اوپن‌سورس هست پتانسیل زیادی داره چون در مالکیت کسی نیست و هرچقدر سرمایه جدید جذب بشه باعث میشه شرکت‌های بیشتری سمت این معماری بیان.

الان بازار کاملا دست اینتل و AMD هست ولی تو چند سال اخیر استارتاپ‌هایی شروع به سرمایه‌گذاری روی ریسک فایو داشتن. یکی از کسایی که سرمایه‌گذاری کرده جیم کلر هست که خودش یه استارتاپ ریسک‌فایو داره و معمار سابق تراشه‌های اپل هست. وجود اسم‌های بزرگ پشت این استارتاپ باعث شده تا بتونه ۲۱.۵ میلیون دلار سرمایه‌ی اولیه جذب کنه.

reuters
📱 geekalerts
🤓@geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Meitix
ا DBMS ها یه کار دیگه میکنن 😅
چون خوندن از ایندکس و بعد خوندن دیتا از رو دیسک زمان بره. دیتابیس ها تصمیم میگیرن که اصن از ایندکس بخونن یا نه مثلا توی پست گرس planner این کار رو میکنه.
سه تا حالت ممکنه پیش بیاد:

1⃣ Scan index
کوئری ما دامنه چیزهای که میخواد بگیره نسبت به جدول کمه. پس میرم ایندکس رو میخونم

2⃣ Bitmap index scan
این برای موقعی که بخش بزرگی از جدول رو میخوایم برگردونیم، توی این حالت کل درخت ایندکس خونده میشه و pageهای که اطلاعات ما توشه علامت گذاری میشن تا در مرحله بعد دیتا ها خونده شن

3⃣ Full table scan
توی این حالت دیتابیس به ما میگه: داداش این چیزی که میخوای تقریبا کل جدوله من اگه از ایندکس استفاده نکنم سریعترم😂
Forwarded from Meitix
اها این توییتر snowflake هم داشته باشیم یه کار دیگه هم باهاش میتونیم بکنیم:

توی کوئری های pagination داره ما از offset استفاده میکنیم این یعنی اگه جدول ما 100000010 تا رکورد داشته باشه و ما فقط ۱۰ تاشو بخوایم، همه اش از روی دیسک گرفته میشه ۱۰ تای لازم رو میده بهمون و بقیه رو دراپ میکنه، چقدر دهشتناک...

حالا ما میتونیم به جای افست بیایم بر اساس id خود ساخته خودمون کار کنیم

Select * from people order by sid desc where sid > 1029383737 limit 10;

این io اش خیلی کمتره. یعنی خیلی خیلی کمتره
Forwarded from Meitix
توی btree معمولی اگه بخوایم یه کوئری رنج بزنیم مثلا

Select * from people where id > 10

درخت btree ما بارها و بارها Traverse میشه. یادمون باشه که ایندکس خودش یه io هستش و خوندن دیتاها یه io دیگه.

اینکار اصلا بهینه نیست، بخاطر همین dbms ها رفتن روی الگوریتم b+tree
Forwarded from Meitix
اB+tree دقیقا مثله btree هستش ولی اطلاعات توی leaf ها ذخیره میشن فقط این باعث دوتا چیز میشه:

۱. هر نودی که میخونیم چون دیتای نداره(به غیر از لیف ها) لحاظ به حجمی سبک تره، io سریعتری خواهیم داشت.

۲. چون اطلاعات در لیف ها هستن میتونیم لیف ها رو با لینکدلیست بهم وصل کنیم تا کوئری های range خیلی خیلی سریعتر اجرا شن
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰دستورات کمتر دیده شده در لینوکس #سری بیست و سوم
🔹دستور getfacl


این دستور در لینوکس برای خواندن لیست کنترل دسترسی (ACL) فایل‌ها و دایرکتوری‌ها استفاده می‌شود. در این مثال، دستور getfacl برای خواندن ACL فایلی به نام hossein.txt اجرا شده است. خروجی این دستور به شرح زیر است:

user@pcname$  getfacl /hossein.txt
# file: hossein
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--



📌نویسنده: حسین سیلانی
📌منبع :  آکادمی کندوی دانش
https://learninghive.ir
#تاریخ_رشته_کامپیوتر در ایران
لیست دروس ارائه شده توسط گروه کامپیوتر (رشته ریاضی و علوم کامپیوتر) دانشگاه آریامهر (شریف کنونی) در نیمسال اول سال تحصیلی 52-51
از آرشیو آقای علی پارسا
-
رشته "ریاضی و علوم کامپیوتر" در سال 1349 در دانشگاه شریف تاسیس شده است.

@mollanasraddinx
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from Meitix
البته دیتابیس ها از b+tree استفاده میکنن ولی عموما توی داک هاشون میگن b-tree.

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