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 Gopher Academy
📌 نصب، آپدیت و پاک‌کردن Golang

🟦 در سیستم عامل Windows

🔹روش نصب:
دانلود از [go.dev/dl](https://go.dev/dl) → نصب فایل MSI → چک با go version

🔹روش آپدیت:
نسخه جدید MSI رو نصب کن (قدیمی جایگزین میشه).

🔹روش حذف کامل:
Control Panel → Uninstall → پاک‌کردن پوشه‌های C:\Go و C:\Users\<User>\go

---

🍏 در سیستم عامل macOS

🔹روش نصب:

* با Homebrew: brew install go
* یا دانلود .pkg از [go.dev/dl](https://go.dev/dl)

🔹روش آپدیت:

* با Brew: brew upgrade go
* با pkg: دوباره نصب کن.

🔹روش حذف کامل:

* با Brew: brew uninstall go
* دستی: sudo rm -rf /usr/local/go ~/go

---

🟩 در سیستم عامل Linux

🔹روش نصب:

*در Debian/Ubuntu:


  sudo apt install golang-go

* یا tarball رسمی:


  wget https://go.dev/dl/go1.xx.x.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.xx.x.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin


🔹روش آپدیت:

* apt: sudo apt upgrade golang-go
* snap: sudo snap refresh go
* tarball: دوباره نصب کن.

🔹روش حذف کامل:

sudo rm -rf /usr/local/go ~/go
sudo apt remove golang-go
sudo snap remove go


---

نکته: مسیر کاری Go پیش‌فرض ~/go هست. برای آخرین نسخه‌ها همیشه از [go.dev/dl](https://go.dev/dl) استفاده کن.

👑 @gopher_academy
Forwarded from Linuxor ?
اگه دنبال یه تقویم حرفه‌ای برای وبسایت یا اپلیکیشنت هستی که هم جذاب باشه هم انعطاف‌پذیر، FullCalendar بهترین گزینه‌ست. می‌تونه رویدادها رو نشون بده، مدیریتشون کنه و با بک‌اندت هم sync بشه.
مناسب برای داشبوردهای کاری، سایت‌های رزرو و اپ‌های مدیریت زمان که نمی‌خوای از صفر تقویم بسازی. نصب و راه‌اندازیش آسونه و داکیومنت‌شم عالیه.

تست آنلاین :
fullcalendar.io/demos
مستندات:
fullcalendar.io/docs

@Linuxor
Forwarded from Linuxor ?
خبر فوری

حساب NPM یه توسعه‌دهنده معروف هک شده و پکیج‌هاش که بیش از 1 میلیارد بار دانلود شدن، ممکنه کل اکوسیستم جاوااسکریپت رو به خطر بندازه. بدافزار به‌صورت مخفیانه آدرس‌های کریپتو رو عوض می‌کنه و پول شما رو می‌زنه به حساب هکر!

اگه کیف پول سخت‌افزاری داری، قبل از زدن دکمه تایید، حتماً همه جزئیات تراکنش رو چک کنید. نکته جالب این هک اینه که آدرس کیف پول کاربر با یکی از آدرس‌های هکر جایگزین می‌شه، اما نه به صورت تصادفی. از الگوریتم Levenshtein Distance استفاده می‌کنه تا آدرس جایگزین شبیه‌ترین به آدرس اصلی باشه.

جزئیات بیشتر هک :

jdstaerk.substack.com/p/we-just-found-malicious-code-in-the


@Linuxor
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 حمله گسترده به زنجیره تأمین NPM: سرقت مخفیانه ارزهای دیجیتال از طریق تغییر آدرس‌ها

هکرها موفق شده‌اند به حساب NPM یک توسعه‌ دهنده خوش‌نام دسترسی پیدا کنند و نسخه‌های آلوده‌ای از بسته ‌های محبوب را منتشر کنند. این اقدامات منجر به آلوده شدن ۱۸ بسته کاربردی شامل debug و chalk شده‌اند. این بسته‌ها مجموعاً میلیاردها بار در هفته دانلود می‌شوند.

بدافزار جاسازی ‌شده در این بسته ‌ها به ‌صورت خاص برای هدف‌ گیری برنامه‌های Web3 توسعه داده شده‌اند. با دسترسی به context اجرای جاوااسکریپت در کیف‌پول‌های مرورگر (مانند MetaMask)، این بدافزار قادر است تراکنش‌ها را مخفیانه تغییر دهد تا وجوه به آدرس‌های مهاجم منتقل شود .

هکرها از طریق یک کمپین فیشینگ پیشرفته که از ایمیل‌های با دامنه جعلی (مثل [email protected]) استفاده شده، توانسته ‌اند اعتبار نگه ‌دارندگان بسته‌ها را سرقت کنند و نسخه‌های مخرب را منتشر کنند.

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

پ.ن : اگر از کیف ‌پول سخت ‌افزاری با تأیید واضح (clear signing) استفاده می‌کنید که با دقت آدرس مقصد را قبل از امضا بررسی کنید. این روش، تا حد زیادی ایمن است و اگر از کیف‌ پول نرم‌افزاری استفاده می‌کنید: از انجام تراکنش‌های on-chain خودداری کنید تا خطر را کاهش دهید.

و اطلاعات دیگر:

https://jdstaerk.substack.com/p/we-just-found-malicious-code-in-the

#خبر

@TheRaymondDev
Forwarded from Linuxor ?
پوشش خبر :

بررسی ها نشون می‌ده این هک یکی از بزرگ ترین هک های تاریخ بوده ولی فقط هکر موفق شده 66 تا تک دونه دلار کلا سرقت کنه!

هکر گویا یک بدشانس تمام عیار بوده.

@Linuxor
Forwarded from a pessimistic researcher (Kc)
<iframe style="border-radius:12px" src="https://open.spotify.com/embed/track/2QdMfE6tmenzVmyruhoU53?utm_source=generator" width="100%" height="352" frameBorder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy"></iframe>
Forwarded from a pessimistic researcher (Kc)
یک کاور زیبا از آهنگ A Window to the Past از فیلم هری‌پاتر و زندانی آزکابان

https://open.spotify.com/track/2QdMfE6tmenzVmyruhoU53?si=8EpVqav1S_6f6DxzzDiV9Q
هوش مصنوعی اختصاصی
در سازمان خودتون

بدون کدنویسی، بدون اینترنت و حتا بدون نیاز به اکانت و دنگ و فنگ های دیگه! فقط نصب و تنظیم و اجرا!
بسته به حجم سخت افزاری که در اختیار دارین می تونید مدل های زبانی خیلی سبک از ۲ میلیارد پارامتری (۸ گیگ رم و ۴ هسته یعنی موبایل‌های اندروید امروزی) تا مدلهای قابل قبول و داری امکانات خوب زبان فارسی مثلاً ۸ یا ۱۰ میلیارد پارامتری که حتا DeepSeek و مدلهای معروف ارائه کردن رو با ۱۶ گیگ رم و ۸ هسته پردازنده به راحتی با چند کلیک روی ویندوز یا لینوکس راه بندازین!

هیچ API یا نوشتن رابط کاربری اضافه هم نیاز نخواهید داشت! فقط بخش اجرای سِرور رو اگه داخلش فعال کنید علاوه بر خودتون دیگران هم روی شبکه دسترسی خواهند داشت.
بعد باید به کمک خود هوش مصنوعی و سؤال و جواب های مختلف، اونو تیون یا تنظیم کنید که در نقش مورد علاقه‌ی شما حرف بزنه و به هر سؤالی هم جواب نده!

https://youtu.be/nOYtuF8wkwQ?si=vzjwSWumRiqbyjz7
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۳۰۴

در دیده صورت ار ترا دامی هست
زان دم بگذر اگر ترا گامی هست
در هجده هزار عالم آنرا که دلیست
داند که نه جنبش و نه آرامی هست

#مولانا | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
Testing Time (and Other Asynchronicities)

🟢 خلاصه مقاله:
**خلاصه فارسی: وبلاگ رسمی Go در ادامه معرفی قابلیت‌های جدید زبان، به بسته testing/synctest پرداخته که در Go 1.25 به مرحله پایدار (GA) رسیده است. این بسته با فراهم‌کردن امکان کنترل و شبیه‌سازی زمان و هماهنگی در تست‌ها، نوشتن تست‌های قابل‌اعتماد برای کدهای همزمان و وابسته به زمان را آسان‌تر می‌کند و خطاهای تصادفی را کاهش می‌دهد. پست با مثال‌ها و الگوهای عملی نشان می‌دهد چگونه synctest را در کنار testing به‌کار بگیریم و نکات ادغام و مهاجرت را بیان می‌کند؛ ارتقای آن به GA نیز به معنی پایداری API و آماده‌بودن برای استفاده گسترده است.

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


👑 @gopher_academy
یادم میاد توی دانشگاه زمان دانشجویی، میخواستم ارایه بدم در مورد لینوکس
لپتاب نداشتم و یک کیس قدیمی داشتم که فرقی با ضایعات نداشت و به زور کار میکرد. اونو زدم زیر بغلم و با کیبورد و موس و سیم پاور و سه‌راهی بردم دانشگاه تا لینوکس رو ارایه بدم
یه روز خیلی گرم بود که صبحش از کارگاه تزریق پلاستیکی که توش کارگری میکردم رفتم خوابگاه، وسایل رو برداشتم و رفتم دانشگاه و وصلش کردم به پروژکتور
استاد و دانشجو‌ها اکثرا خندیدن بهم و مسخرم کردن که این چیه آوردی برای ارایه
دیروز فهمیدم که میشه با یه لینک همه ی فونت های google fonts رو دانلود کرد. یه لینکی که توی گیتهاب خود گوگل فونتز هست. 1.3 گیگ فایل حدودا. ولی مشکلی داره اینه که کللللی فولدر تو در تو هست و نمیشه دستی این همه رو نصب کرد. پس یه برنامه با پایتون نوشتم تا اینو اتوماتیکش کنه.

استفاده ازش توی ویندوز خیلی راحته، ولی اگه توی لینوکس یا مک میخوایید استفاده کنید هم راهش رو نوشتم (کسایی که برنامه نویسید و مک/لینوکس دارید یه دستی برسونید بیلدهای اونا رو هم بگیرید)

میتونید توی گیتهاب دانلود کنید و طبق دستور عمل استفاده کنید:
https://github.com/zmn-hamid/install-google-fonts

@DevTwitter | <Kyrovert/>
یکی از چیزهایی که خیلی خوب توی زندگیم یاد گرفتم، اینه که سعی کنم با قاطعیت و محکم و سفت‌وسخت صحبت نکنم یا نظری ندهم.
مثلاً کسی چیزی تعریف می‌کنه درباره شرایطی که شخصی داشته و فلان کار را انجام داده، و من برگردم بگویم که من هرگز و در هیچ حالتی امکان ندارد چنین کاری بکنم.
اگر چنین چیزی بگویم و این‌طور فکر کنم، حتماً بعدش منتظر روزی خواهم بود که خودم در همان شرایط باشم و مجبور شوم همان کار را انجام بدهم.

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

این قاعده در مورد مسائل فنی و کاری هم به همین صورت است؛ سعی کنیم روی تکنولوژی‌ها و ابزارها سفت‌وسخت نباشیم، چون ابزارها نسبت به شرایط موجود استفاده می‌شوند و عمری دارند و روزی ناچار خواهیم بود آن‌ها را کنار بگذاریم و دیگر استفاده نکنیم.
اگر بخواهیم روی ابزارها هم تعصب داشته باشیم، مثل متعصبان مذهبی و دینی می‌شویم که به هر زور و طریقی سعی دارند مفاهیم تاریخ‌مصرف‌گذشته را در هر موضوعی بسط بدهند و استفاده کنند.
Forwarded from Gopher Academy
🔵 عنوان مقاله
Container-Aware GOMAXPROCS

🟢 خلاصه مقاله:
** بلاگ رسمی Go سری تازه‌ای را درباره ویژگی‌های Go 1.25 آغاز کرده و در نخستین بخش، به رفتار آگاه از کانتینر در GOMAXPROCS می‌پردازد. مقدار پیش‌فرض این تنظیم روی سخت‌افزار واقعی منطقی است، اما در کانتینرها می‌تواند به‌دلیل محدودیت‌های CPU (مانند cgroup و quota) مشکل ایجاد کند. در Go 1.25 تشخیص و تنظیم پیش‌فرض بهبود یافته تا با محدودیت‌های کانتینر سازگارتر شود، عملکرد پیش‌بینی‌پذیرتری بدهد و تنها در برخی موارد نیاز به تنظیم دستی باقی بماند.

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


👑 @gopher_academy
Forwarded from Linuxor ?
دیدین توی گیتهاب نوشته چند درصد کد با چه زبانی زده شده؟ اینو می‌تونید نصب کنید و اطلاعات و گزارش پروژتون از جمله تعداد خط های کامنت و فایل ها و نوع زبان و ... بگیرید
github.com/AlDanial/cloc

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

Flowistry

اول با این ابزار شروع شد؛ یک متغییر یا ... رو انتخاب می‌کنید و بعد این extension رو فعال می‌کنید که باعث میشه کل کدهای دیگه fade بشه و فقط بخش‌هایی از کد که این متغییر رو تغییر دادند هایلایت بمونه.

برای خوندن سورس کد پروژه‌های دیگه و دیباگ پروژه‌های خودم خیلی کمکی هست.

اما همین تیم یک ابزار دیگه هم داره که من ۲ روزه دارم باهاش کار می‌کنم ( خیلی کم استفاده کردم ولی قدرتش خیلی زیاده) اونم :
Argus

این ابزار هنوز درحال توسعه هست و کامل نشده ولی کار رو در میاره کارش هم اینه که ارورهای Trait ها که معمولا مارو بیچاره می‌کنه رو آنالیز می‌کنه و خیلی تمیز و حرفه‌ای فقط بخش‌های مهم رو نشون میده.

توی دو موردی که من بهش برخوردم به محض سوییچ روی vsode و فعال کردنش متوجه شدم کدوم Trait داره بهم ارور میده و توی ۲ دقیقه حل شد.

تنها مشکلم با این دو مورد :
کاش برای neovim هم پلاگین میدادند؛ چون هی مجبورم جابجا بشم بین این دو مورد.

پیشنهاد می‌کنم حتما استفاده کنید.
این ریپو اومده یه لیستی از چیزایی که اون سورس هست و میتونید سلف هاست کنید رو گزاشته
از وی پی ان تا پسورد منیجر و تایم ترکر و کلی چیزای دیگه
اگه ازونایی هستید که حریم خصوصی براتون خیلی مهمه و میخواید کنترل همه چیز دست خودتون باشه میتونه براتون کاربردی باشه
لینک ریپو
https://github.com/awesome-selfhosted/awesome-selfhosted

@DevTwitter | <ixAbolfazl />
Forwarded from Agora (Alireza)
برای یک سناریو، مجبور شدیم که بریم سراغ persistence کردن ردیس و استفاده از مکانیزم AOF(Append Only File). توی این روش، سربار سیستم‌کال fsync پررنگ میشه. حالا این که دقیقا ماجرا چیه رو سر فرصت توضیح میدم. یک نوتی برای این ماجرا نوشتم که نیازه که سر فرصت مرتبش کنم بعد میذارمش تو کانال.
توی این بررسی که توش پر از نکته و جزئیات جالب بود، خود fsync و چالش‌هاش خیلی برام جذاب شد. ماجرا به طور کل اینه که وقتی شما یک فایل رو تغییری میدین (رایت میکنید) کلی لایه بافر و کش وجود داره. و این تنها محدود به خود سیستم‌عامل نیست. توی سطح storage device هم ما یک لایه‌ی write back cache داریم قبل از این که دیتا واقعا روی دیسک ذخیره بشه. حالا سیستم‌عامل نیاز داره که بتونه حتی این رو هم مدیریت کنه. چون به صورت پیش‌فرض این دستگاه (درایور) به سیستم‌عامل اطلاع میده که IO انجام شده ولی واقعا هنوز دیتا روی کش دیسک ذخیره شده. fsync باید بتونه که این رو مدیریت کنه و دیسک رو فورس کنه که داده رو ذخیره کنه. به طوری باید از ذخیره‌ی قطعی داده مطمئن بشه.

توی این دو تا پست، راجع‌به این مسیر و جزئیاتش حرف میزنه و این که چطوری لینوکس (کرنل نسخه‌ی ۶) در فایل سیستم ext4 این کار رو مدیریت می‌کنه.

Explicit volatile write back cache control

The Secret Life of fsync
امروز ساعت ۱۸:۳۰ به وقت ایران یک ارائه رایگان از طرف Addy Osmani و انتشارات O'Reilly با عنوان Coding for the Agentic World برگزار میشه و که قراره موضوعات زیر رو پوشش بدن:

- Agentic interfaces: Moving beyond chat UX to sophisticated agent interactions
- Tool-to-tool workflows: How agents chain across environments to complete complex tasks
- Background coding agents: Asynchronous, autonomous code generation in production
- MCP and agent protocols: The infrastructure enabling the agentic web

توضیحات بیشتر و ثبت‌نام:
https://www.oreilly.com/AgenticWorld/

@aminrbg