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 Code Module | کد ماژول (genix)
اینم از برنامه روزانه Rest من 😂😂

#fun
@CodeModule
Forwarded from Python Hints
بگذارید هرکس به آیین خودش باشد.
زنان را گرامی بدارید.
فرودستان را دریابید.
اجازه دهید هرکسی به تکلم قبیله‌ی خویش سخن بگوید.

آدمی تنها در مقام خویش به منزلت خواهد رسید.

۷ آبان روز بزرگداشت کوروش کبیر، همایون باد.
چند هفته پیش یک یک ابزار جدید و رایگان از گوگل به اسم NotebookLM را معرفی کردم که میشه باهاش علاوه بر اینکه سوال و جواب بپرسید راجع به فایل هاتون یک فایل صوتی یا یکجور پادکست هم درست کنید که خیلی جالبه. الان هم توی Twitter این ابزار کلی trend شده.
حالا کمپانی Meta اومده یک ورژن اپن سورس این ابزار را داده به اسم NotebookLlama. میتونید فایل های pdf را در ۴ مرحله به پادکست صوتی تبدیل کنید.
مرحله 1: پیش‌پردازش PDF: با استفاده از مدل Llama-3.2-1B-Instruct، فایلهای PDF را پیش‌پردازش کرده و آن را به صورت فایل .txt ذخیره کنید.

مرحله 2: نگارش transcript: با استفاده از مدل Llama-3.1-70B-Instruct، رونوشت پادکست را از متن بنویسید.

مرحله 3: بازنویسی دراماتیک: با استفاده از مدل Llama-3.1-8B-Instruct، رونوشت را دراماتیک‌تر کنید.

مرحله 4: تبدیل متن به گفتار: با استفاده از parler-tts/parler-tts-mini-v1 و bark/suno، یک پادکست گفتگو محور تولید کنید.

https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/NotebookLlama

@DevTwitter | <Mehdi Allahyari/>
Forwarded from Yasha
بوست کنید از مسابقات المپیک فناوری می‌خوام استوری بذارم نمی‌تونم.

https://t.iss.one/boost/yasha
‏خب تو که اینو برای ویندوز و مک خروجی گرفتی یکی هم برای لینوکس میگرفتی نکبت

<Victor/>

@DevTwitter
‏اون قدیما که asp form بازارش داغ بود؛ منم کار میکردم.
رفته بودم یه شرکت گفت تخصصت چیه؟
گفتم asp form.
یهو یکی از دستشویی شرکت داد زد سلامتی دِرَگ اَند دِراپی ها

<سفیر ایران در مریخ/>

@DevTwitter
Forwarded from Gopher Academy
🔵 عنوان مقاله
Using Go Embed

🟢 خلاصه مقاله:
مقاله توجه را به قابلیت مهمی در زبان برنامه‌نویسی Go با نام `go:embed` معطوف می‌کند که از نسخه 1.16 موجود است. این دستورالعمل امکان ضمیمه کردن فایل‌های استاتیک و حتی پوشه‌های کامل را درون باینری‌ها فراهم می‌کند. به جای ذخیره‌سازی فایل‌ها و دایرکتوری‌های مورد نیاز برنامه به صورت جداگانه، `go:embed` این امکان را می‌دهد که محتویات مورد نظر را مستقیماً درون ساختار (`struct`) خود برنامه ضمیمه کنید.

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

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


👑 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
🔸 چند وقت پیش وبسایت MagicUI رو بهتون معرفی کردم که کلی کامپوننت های تعمالی و انیمیشنی خفن آماده داشت

🔸 حالا یه سایت پیدا کردم که بیش از 100 تا کامپوننت آماده انیمیشنی و تعاملی خفن داره که بر پایه tailwindcss, framer-motion و ... ساخته شدن و خودم تقریبا همشون رو دیدم و واقعا جذاب و خفن بودن

🔸 بهتون پیشنهاد میکنم حتما یه سری بهش بزنید، سبک کامپوننت هاشم با MagicUI متفاوته و یسری کامپوننت های متقاوت تر هم داره که میتونید خلاصش رو توی ویدیو همین پست ببینید

🌐 مشاهده وبسایت

راستی یه دکمه گیت‌هابم داره که خیلی خفنه لینکشو میزارم ببینیید 🔻

🚀 GitHub Button


امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#️⃣ #tools #component

𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
فوت و فن مدیریت امنیت:
برای سازمانها و شرکتهای کوچک تامین هزینه برای خرید تجهیزاتی مانند hashtag#waf بسیار بالا بوده و بعضا با مقاومت مدیران روبرو میشه.
پیشنهاد میشه از ابزار open source برای اینکار استفاده کنید و در ادامه با ارائه گزارش لاگهای فعالیت و رفع مخاطرات و تصویر سازی سناریو های ممکن مدیران را از ریسک نبود تجهیز مطلوب آگاه کنیم.
ابزار bunkerweb رو برای waf داشته باشید

https://github.com/bunkerity/bunkerweb

@DevTwitter | <Peyman khodabandeh/>
Forwarded from Sadra Codes
🫡👑
Forwarded from Yasha
This media is not supported in your browser
VIEW IN TELEGRAM
مسابقات المپیک فناوری
Forwarded from Sadra Codes
Aramgah_KouroshFgerami.jpg
298.6 KB
کیفیت بهتر
من از این برنامه استفاده می‌کنم که هر بیست دقیقه یک‌بار صفحه رو ازم می‌گیره که برم یه دوری بزنم و بشینم:
https://slgobinath.github.io/SafeEyes/
Forwarded from Syntax | سینتکس (𝙰𝚖𝚒𝚛𝚑𝚘𝚜𝚜𝚎𝚒𝚗)
This media is not supported in your browser
VIEW IN TELEGRAM
😂😔
#fun
Forwarded from  (Amir Hossein "Amiria" Maher)
نظرتون راجع به رفتارهای اخیر لینوس توروالدز (نگه‌دارنده کنونی هسته لینوکس) چیه؟
منظورم کار اخیر ایشون، حذف مشارکت‌کنندگان، صرفاً به خاطر داشتن رایانامه‌ای روسی هست.

#موقت
Forwarded from Gopher Academy
✍️Amir NiloofariAmir Niloofari

آشنایی با Garbage Collector در Go
: مدیریت حافظه کارآمد برای نرم‌افزار‌ها با کارایی بالا - قسمت ۱
همانطور که در پست قبل اشاره شد یکی از تمایزهای کلیدی Go، جمع آوری زباله همزمان(Concurrent Garbage collector) آن است که به طور هدفمند برای محیط های ابری و سرور‌های مدرن ساخته شده است.
با Go، توسعه‌دهندگان می‌توانند برنامه‌هایی با کارایی بالا بسازند و در عین حال مدیریت حافظه را به یک جمع‌آوری زباله بسیار بهینه و کم تأخیر بسپارند.
در این پست قرار است نگاهی عمیق‌تر به دلیل متمایز شدن Go’s GC و نحوه عملکرد آن بیندازیم:

- الگوریتم Mark-and-Sweep همزمان:
Go از فرآیند جمع‌آوری زباله Mark-and-Sweep استفاده می‌کند که همزمان با برنامه اجرا می‌شود. در مرحله Mark، لایو آبجکت‌ها (آبجکتی که حداقل یک مرجع به آن وجود دارد) شناسایی و علامت گذاری می شوند. سپس در مرحله Sweep حافظه را برای آبجکت‌هایی که دیگر به آنها ارجاع داده نمی شود اختصاص می دهد. زیبایی این فرآیند این است که به موازات اجرای برنامه اتفاق می‌افتد که برای ساخت برنامه‌های حساس به عملکرد مانند سرورهای وب یا سیستم‌های توزیع شده که در آن وقفه‌ها می‌توانند مستقیماً بر تاخیر (latency) تاثیر بگذارند، بسیار مهم است.

- تأخیر کم:
GC Go برای سناریوهای Low latency بهینه شده است که این برای برنامه هایی که نیاز به زمان پاسخ سریع دارند، مانند سیستم های بلادرنگ یا API هایی که حجم زیادی از ترافیک را مدیریت می کنند، ایده آل است. جمع‌آوری زباله به گونه‌ای طراحی شده است که مکث‌ها را به حداقل می‌رساند و حجم کاری خود را در چندین هسته CPU توزیع می‌کند و عملکرد برنامه را صاف و بدون وقفه نگه می‌دارد.

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

- نوشتن موانع برای اصلاحات حافظه ایمن:
Go در مرحله علامت‌گذاری از write barriers استفاده می‌کند تا هنگام تغییر آبجکت‌ها در حافظه، دقت را حفظ کند.
این موانع به‌عنوان نقاط بازرسی عمل می‌کنند و اطمینان می‌دهند که جمع‌آورنده زباله از تغییرات در ارجاعات آبجکت‌ها حتی زمانی که برنامه هنوز در حال اجرا است، آگاه است.
این مکانیسم از Memory corruption جلوگیری می کند (هنگامی که محتویات یک مکان حافظه به دلیل رفتار برنامه‌ای که از قصد برنامه‌نویس اصلی یا سازه‌های برنامه/زبان فراتر می‌رود، تغییر می‌کند.) و تضمین می کند که آبجکت‌ها زنده به اشتباه جابجا نمی شوند و کل سیستم را انعطاف پذیرتر و پاسخگوتر می کند.

👑 @gopher_academy
Forwarded from Gopher Academy
آشنایی با Garbage Collector در Go: مدیریت حافظه کارآمد برای نرم‌افزار‌ها با کارایی بالا - قسمت ۲

میتوانید قسمت ۱ را در پست قبلی مطالعه کنید. ادامه:
- جمع آوری زباله قابل تنظیم:
یکی از ویژگی های برجسته Go، جمع آوری زباله قابل تنظیم آن است. توسعه‌دهندگان می‌توانند فرکانس GC را با استفاده از متغیر محیطی «GOGC» تنظیم کنند، که تعداد دفعات کار جمع‌آور زباله را نسبت به رشد پشته کنترل می‌کند.
مقدار پیش فرض 100 است، به این معنی که GC پس از دو برابر شدن اندازه پشته فعال می شود. افزایش مقدار «GOGC» فرکانس جمع‌آوری زباله را کاهش می‌دهد، مصرف حافظه را با وقفه‌های کمتر عوض می‌کند، در حالی که کاهش آن باعث می‌شود GC بیشتر اجرا شود و کنترل دقیق‌تری بر استفاده از حافظه تضمین می‌کند.

export GOGC=200 // رشد پشته را افزایش می دهد و باعث می شود GC کمتر اجرا شود

- Escape Analysis برای تخصیص پشته در مقابل هیپ:
کامپایلر Go از تحلیل گریز استفاده می‌کند، که تعیین می‌کند متغیرها می‌توانند در کدام ساختار داده stack یا heap تخصیص داده شوند. متغیرهایی که از محدوده خود "فرار" نمی کنند (مانند متغیرهای محلی در یک تابع) به صورت پشته ای تخصیص داده می شوند که سریعتر است و از جمع آوری زباله به طور کلی جلوگیری می کند. از سوی دیگر، تخصیص هیپ توسط جمع کننده زباله ردیابی می شود و تحلیل فرار استفاده غیر ضروری از هیپ را به حداقل می رساند و مدیریت حافظه را برای بسیاری از برنامه ها بهینه می کند.

- Profiling and Monitoring عملکرد GC:
Go ابزارهای قوی برای نظارت و بهینه سازی عملکرد GC فراهم می کند. بسته «زمان اجرا» به توسعه دهندگان اجازه می دهد تا آمار دقیق GC را ردیابی کنند، در حالی که "pprof" پروفایل CPU و حافظه را برای شناسایی و رفع تنگناهای عملکرد ارائه می دهد. این به ویژه برای برنامه‌هایی با تنظیمات دقیق که نیاز به کار در مقیاس یا زیر بار سنگین دارند، ارزشمند است و این امکان را می‌دهد الگوهای استفاده از حافظه را مشخص کرد و رفتار برنامه را بهینه نمود.

- کارایی حافظه در Go:
ترکیبی از جمع‌آوری همزمان زباله، Escape Analysis و موانع نوشتن تضمین می‌کند که Go در مدیریت حافظه بسیار کارآمد است، و آن را به یک انتخاب قدرتمند برای سیستم‌های بک‌اند، میکروسرویس‌ها و سرورهای با توان بالا تبدیل می‌کند.
چه در حال ساخت یک برنامه بومی ابری یا یک API با کارایی بالا باشید، GC به شما آرامش می دهد که مدیریت حافظه بدون نیاز به مداخله دستی بهینه شده است.

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


👑 @gopher_academy
Forwarded from Linuxor ?
این پروژه هم باحال بود با Go یه برنامه تحت وب نوشتن که از طریق LAN فایل هارو بشه جابجا کرد

https://github.com/aziis98/mup

🐧 @Linuxor