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 Syntax | سینتکس (Daimon)
📊 رشد چشمگیر داده‌های بدون ساختار

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

افزایش حجم داده‌های بدون ساختار: یک روند بی‌سابقه
گزارش‌ها و تحقیقات نشان می‌دهند که حجم داده‌های بدون ساختار سالانه با نرخ متوسطی در حدود ۳۰ تا ۴۰ درصد رشد می‌کند. این میزان رشد در برخی صنایع، مانند رسانه‌های دیجیتال، شبکه‌های اجتماعی و فناوری‌های مبتنی بر IoT، حتی از این رقم هم فراتر می‌رود. این افزایش به دلایل متعددی رخ می‌دهد.

چالش‌های مدیریت داده‌های بدون ساختار
با وجود ارزش بالقوه این داده‌ها، مدیریت و پردازش آن‌ها چالش‌های خاص خود را دارد:
 
- حجم بالا
  داده‌های بدون ساختار معمولاً حجیم‌تر از داده‌های ساختاریافته هستند؛ مثلاً یک ویدئوی باکیفیت یا مجموعه‌ای از تصاویر می‌تواند صدها گیگابایت فضا اشغال کند.

- تنوع داده‌ها:
این داده‌ها از نظر فرمت و نوع بسیار متنوع هستند. مدیریت داده‌های متنی، صوتی، تصویری و ویدئویی نیازمند ابزارها و الگوریتم‌های متفاوت است.

- تحلیل پیچیده
  برخلاف داده‌های ساختاریافته که به راحتی قابل جستجو و تحلیل هستند، داده‌های بدون ساختار نیازمند فناوری‌های پیشرفته‌ای مانند پردازش زبان طبیعی (NLP)، بینایی کامپیوتر (Computer Vision) و تحلیل صوت هستند.

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

#unstructured_data

@Syntax_fa
Forwarded from Linuxor ?
روند توسعه یه نرم افزار اینطوری نیست از 0% شروع کنید تا 100% بشه اینطوریه که وقتی شروع می‌کنید 80% عه و توی بهترین حالت 90% تکمیل شده و بیشترم نمیشه.


🐧 @Linuxor ~ Sezo
‏دستم به توییت نمیره ، دلم میخاد با اپرا مینی جاوا تو لوتی دات نت داستان بنویسم :(

<Ham/>

@DevTwitter
Forwarded from Curious Geek ⚡️
Dokploy
Deploy Anywhere with Total Freedom and Ease.
این پروژه مشابه Vercel عمل می‌کنه،
با استفاده از ابزار های اوپن سورس تلاش می‌کنه خودکار برای پروژه تون Dockerimage بسازه ، فایل خودتون هم میتونید بهش بدید.
میتونید S3 Object Storage اضافه کنید و از دیتابیس هاتون بکاپ بگیرید.
از Docker Swarm و GitOps هم پشتیبانی می‌کنه و استفاده ازش خیلی سادست.
حتی میتونید Replication هاتون رو ازش مدیریت کنید!
🔗 https://dokploy.com
🆔 @Hiradsajde
Forwarded from Curious Geek ⚡️
Coolify
An open-source & self-hostable Heroku / Netlify / Vercel alternative.
عملکردی مشابه Dokploy داره ، به نظرم UI ضعیف تر و رابط کاربری کندتری داشت. اما ظاهراً برای Orchestration قراره از ورژن آینده شون Kubernetes هم داشته باشن. Dokploy در این رابطه قولی نداده.
🔗 https://coolify.io
🆔 @Hiradsajde
Forwarded from Armon technical logs (armon Taheri)
Forwarded from Armon technical logs (armon Taheri)
Forwarded from Armon technical logs (armon Taheri)
👆
Review
Forwarded from Armon technical logs (armon Taheri)
▫️شرایط امریه چیه؟

▫️Platform Engineering v.s. DevOps

▫️پیامی به مدیر عامل ابراروان

▫️ویدیو انتقال تجربه مهاجرین فارغ التحصیل دانشگاه خوارزمی

▫️خیال خوش اعلام نتایج کنکور

▫️نظرمن راجع پویا پیرحسین لو

▫️چگونه در دانشجویی پیشرفت شغلی داشته باشیم

▫️چکیده gitops and kubernetes

▫️با چه رویکردی یک موضوع جدید رو یاد بگیریم

▫️برخورد من با تکنلوژی رایج در یک شرکت عادی در خارج

▫️فعالیت من در نالج شیرینگ شرکت

▫️عدم ارتباط سازنده بین تیمی و تبعات اون

▫️اولین مواجه من با واقعیت اعماق بازار کار

▫️هضم کردن اندکی از حقایقی که گفته نمیشه

▫️چیزایی که باید بدونیم با هر جایگاهی توی تیم ها

▫️چرا بعضی ها توی شرکت ادم های غیر قابل جایگزین هستن

▫️اولین مواجه من با خاله زنک بازی در شرکت های مثلا خفن ایران

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

▫️اولین مواجه من با کودکستان شرکت های ایتی ایران

▫️واقعیت کاری که ادما توی اینداستری تک ایران پشت سیستم انجام میدن

▫️پیرامون عمق و وسعت دانش

▫️تصور و واقعیت که من از اینداستری ایران دیدم

▫️اکادمیک و صنعت ایتی ایران

▫️پیرامون wss 2023

▫️چرا ما اینقدر تول ابسشن داریم

▫️ کتاب practical monitoring

▫️prometheus up & Running کتاب

▫️من باب ترابل شوت کردن

▫️چطوری یه سیستم مانیتورینگ راه میندازی

▫️یه نظر میدی راجع رزومم

▫️نظر من راجع یکی از ویدیو های کلاگر

▫️best403unlocker پروژه

▫️توصیه های قابل مناقشه من به یکی از دوستان

▫️مامان بابام با من همراه نیستن ولی من میخوام مسیر خودمو برم چیکار کنم

▫️پروژه tsut

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

▫️خلاصه کتاب fundamentals of data engineering book

▫️اینده سمت فلان چیزه من الان برم سمتش که بعدا ادم خفنی باشم

▫️شهرک سینمایی سیلیکون ولِی

▫️مشارکت من در ترجمه یکی از نرم افزار های گنوم

▫️fastDocker403unlocker پروژه

▫️توی پروژه ای که ازش استفاده کردم مشارکت کردم

▫️کتگورایز کردن مشارکت در اپن سورس

▫️توقع مصاحبه کننده از دانشجو تازه فارغ التحصیل شده

▫️Dev VS Ops

▫️مدرک دانشگاه برای گرفتن افر چقدر مهمه

▫️موثر ترین روش یاد گرفتن لینوکس براش شروع چیه؟

▫️ فلسفه ایونت چیه و چجوری از ایونت بهترین استفاده رو بکنیم

▫️چگونه بهتر از سوشیال مدیا استفاده کنیم

▫️بنّا vs مهندس عمران

◽️ من باب مذمت تواضع

◽️ چگونه یادگیری موثر و ماندگار داشته باشیم

◽️ داستان پروژه best403unlocker از ایده تا پیاده سازی و هر چیزی که در مسیر باهاش مواجه شدم

◽️ استاندارد پروفایل لینکدین

◽️ اکوسیستم یادگیری

▫️تئوری ارتباط پایدار

▫️هنگام دولوپ پروژه به چه مواردی توجه کنیم که برای مسائل دیپلویمنت کمتر اذیت بشیم

▫️نکات امادگی ورود به شرکت جدید
Forwarded from Syntax | سینتکس (Daimon)
📢 معرفی CONN_MAX_AGE در Django

متغیر CONN_MAX_AGE یکی از تنظیمات مهم Django است که برای مدیریت اتصالات پایدار (Persistent Connections) به پایگاه داده استفاده می‌شود. این تنظیم مشخص می‌کند که یک اتصال به پایگاه داده برای چه مدت زمان زنده بماند و پس از آن بسته شود.

🔍 CONN_MAX_AGE چیست و چگونه عمل می‌کند؟

- مقدار CONN_MAX_AGE نشان‌دهنده مدت زمان (بر حسب ثانیه) است که یک اتصال به پایگاه داده در حالت باز باقی می‌ماند.
- اگر مقدار آن روی ۰ تنظیم شود، اتصال به پایگاه داده پس از هر درخواست بسته می‌شود (رفتار پیش‌فرض).
- اگر مقدار CONN_MAX_AGE روی `None` تنظیم شود، اتصال به پایگاه داده هرگز بسته نمی‌شود و دائماً زنده می‌ماند (تا زمانی که فرآیند Worker یا برنامه بسته شود).

⚙️ مقدار پیش‌فرض CONN_MAX_AGE

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

✏️ نحوه تنظیم CONN_MAX_AGE

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

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'your_database',
'USER': 'your_user',
'PASSWORD': 'your_password',
'HOST': 'your_host',
'PORT': 'your_port',
'CONN_MAX_AGE': 600, # 600 seconds
}
}



چند سناریو برای تنظیم CONN_MAX_AGE

1. پروژه کوچک یا محیط توسعه
- سناریو: اگر پروژه شما تعداد کمی از درخواست‌ها را مدیریت می‌کند یا در حال توسعه هستید.
- مقدار پیشنهادی:

     'CONN_MAX_AGE': 0

- توضیح: اتصال پس از هر درخواست بسته می‌شود. این کار به شما کمک می‌کند که رفتار واقعی برنامه را در محیط توسعه مشاهده کنید.

2. پروژه با بار متوسط
- سناریو: اگر برنامه شما درخواست‌های متوسطی (نه کم، نه زیاد) دارد و پایگاه داده شما برای تعداد اتصالات زیاد محدودیت خاصی ندارد.
- مقدار پیشنهادی:

     'CONN_MAX_AGE': 300  # 5 minutes

- توضیح: این تنظیم باعث می‌شود که اتصالات برای چندین درخواست استفاده شوند و هزینه باز و بسته کردن اتصال کاهش یابد.

3. پروژه با بار زیاد (High Traffic)
- سناریو: اگر برنامه شما تعداد زیادی درخواست دارد و می‌خواهید عملکرد را بهینه کنید.
- مقدار پیشنهادی:

     'CONN_MAX_AGE': 600  # 10 minutes

- توضیح: این مقدار کمک می‌کند که هزینه باز و بسته کردن مکرر اتصالات کاهش یابد، اما همچنان اتصالات پس از مدتی بسته می‌شوند تا از مشکلات احتمالی جلوگیری شود.

4. پروژه‌های با درخواست‌های خیلی کم
- سناریو: اگر برنامه شما به ندرت به پایگاه داده متصل می‌شود (مثلاً به دلیل استفاده از کش یا تعامل کم با پایگاه داده).
- مقدار پیشنهادی:

     'CONN_MAX_AGE': 0  # each http request

- توضیح: نگه‌داشتن اتصال در این موارد منطقی نیست و بهتر است اتصال پس از هر درخواست بسته شود.

5. استفاده از Connection Pooling خارجی
- سناریو: اگر از ابزارهای خارجی مدیریت اتصال مانند pgbouncer (برای PostgreSQL) یا ProxySQL (برای MySQL) استفاده می‌کنید.
- مقدار پیشنهادی:

     'CONN_MAX_AGE': None

- توضیح: در این حالت، مدیریت اتصالات به ابزارهای خارجی سپرده شده است و Django نیازی به بستن اتصالات ندارد.

⚠️ نکات مهم:

1. مراقب تعداد اتصالات باشید:
اگر مقدار CONN_MAX_AGE را روی مقدار زیاد یا None تنظیم کنید، مطمئن شوید که سرور پایگاه داده شما می‌تواند تعداد زیادی اتصال همزمان را مدیریت کند. در غیر این صورت ممکن است با خطای "too many connections" مواجه شوید.

2. محیط production:
در محیط تولید، معمولاً مقدار CONN_MAX_AGE روی چند دقیقه (مثلاً ۵ تا ۱۰ دقیقه) تنظیم می‌شود تا عملکرد بهینه باشد و اتصالات مکرر ایجاد نشوند.

3. ابزارهای خارجی مدیریت اتصال:
اگر از Connection Pooling خارجی استفاده می‌کنید، مقدار CONN_MAX_AGE را روی None تنظیم کنید تا Django اتصال را مدیریت نکند.

conn_max_age

#database #django

@Syntax_fa
محدودیت‌های تازه در کلودفلر ...

2.2.1 Restrictions - Unless otherwise expressly permitted in writing by Cloudflare, you will not and you have no right to: (j) use the Services to provide a virtual private network or other similar proxy services.


👉 cloudflare.com/terms

🔍 ircf.space
@ircfspace
Forwarded from Gopher Academy
🔵 عنوان مقاله
🕒 Coming in Go 1.24: An Experiment for Time and Concurrency Testing

🟢 خلاصه مقاله:
این مقاله به بررسی ویژگی جدیدی در نسخه 1.24 زبان برنامه‌نویسی Go می‌پردازد که اوایل سال آینده منتشر می‌شود. ویژگی مورد بحث، بسته آزمایشی testing/synctest است، که فرصت‌های جدیدی برای آزمایش کد‌هایی که با زمان یا همزمانی سر و کار دارند را فراهم می‌آورد. بسته جدید قابلیت‌هایی را به توسعه‌دهندگان می‌دهد تا بتوانند با دقت بیشتری در مورد کنترل و محیط آزمایشی کد‌های خود کار کنند. نویسنده مقاله اشاره می‌کند که او خود این بسته را در محل کار خود بر روی تست‌های نامعلوم و مشکل‌دار بکار برده و تجربه موفقیت‌آمیزی داشته است. این گزارش نشان می‌دهد که testing/synctest به طور قابل توجهی بهبودی در آزمایش کد‌هایی که شامل مفاهیم زمان و همزمانی هستند، ارائه داده است.

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


👑 @gopher_academy
میخواستم ببینم هر ماژول به چه ماژولی دیپندنسی داره و بخصوص چی بهش دیپندنسی داره کلی سرچ کردم و کارای احمقانه آخرش تو نیم‌ساعت یه اسکریپت پایتون نوشتم و تامام کدش هم خیلی و ساده و احمقانه هست ولی کار میکنه و کافیه

https://gist.github.com/behdad222/4d016d20ea64ad0ca56743c67496821a

@DevTwitter | <Behdad Abedi/>
خیلی دلم میخواد توی این پارسر پایتونی که نوشتم کل ast رو عوض کنم به جای اینکه درخت باشه یه آرایه درست کنم و با اندیس parent/child رو به هم وصل کنم ببینم چقدر سرعتش بهتر میشه ولی اصلا وقت نمیشه

@DevTwitter | <Shaygan/>
Forwarded from Programming (Mohamad Reza)
لوگوی جدید موزیلا :\
Forwarded from Programming (Mohamad Reza)
Forwarded from Programming (Mohamad Reza)
لوگوی جدید موزیلا
Forwarded from Programming (Mohamad Reza)
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 شرکت WP engine موفق شد پلاگین ACF از وردپرس پس بگیرد و الان تو مخزن وردپرس با اسم ACF و شرکت WP engine قرار دارد .

#وردپرس
@TheRaymondDev | @mehditayebi
۳ وکیل دادگستری در استان فارس علیه اعضای شورای عالی فضای مجازی به‌دلیل مخالفت با رفع فیلترینگ اینترنت شکایت کردند.

🔍 ircf.space
@ircfspace