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 linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نحوه مشاهده لاگ‌ها در لینوکس (dmesg, journalctl)

🔹در لینوکس، برای بررسی و عیب‌یابی مشکلات سیستم، از لاگ‌ها استفاده می‌شود. دو ابزار مهم برای این کار dmesg و journalctl هستند.
🔸نمایش لاگ‌ها به صورت زنده:
journalctl -f

این دستور لاگ‌ها را به صورت زنده نمایش می‌دهد و هر تغییری که در لاگ‌ها ایجاد شود، بلافاصله نمایش داده می‌شود.

🔸نمایش لاگ‌های امروز:
journalctl -S today

این دستور فقط لاگ‌های مربوط به امروز را نمایش می‌دهد.

🔸نمایش فقط لاگ‌های با سطح خطا (err):
journalctl -S today -p err

این دستور فقط لاگ‌هایی که سطح آن‌ها "خطا" (error) است را نمایش می‌دهد. -p err مخفف --priority=err است.

🔸نمایش لاگ‌های با سطوح خطا (err) و هشدار (warning):
journalctl -S today -p 3..4

این دستور لاگ‌هایی با سطوح ۳ (err) و ۴ (warning) را نمایش می‌دهد. در اینجا ۳ و ۴ نشان‌دهنده سطوح اولویت لاگ‌ها هستند.

🔸نمایش لاگ‌های مربوط به یک سرویس خاص:
journalctl -u <نام_سرویس>.service

به جای <نام_سرویس> نام سرویس مورد نظر را قرار دهید. به عنوان مثال برای مشاهده لاگ‌های سرویس sshd از دستور زیر استفاده کنید:

journalctl -u sshd.service


dmesg - لاگ سیستم هسته (خواندن از /var/log/kern.log یا مستقیماً از هسته)
این دستور برای مشاهده پیام‌های مربوط به هسته سیستم (kernel) استفاده می‌شود.

🔸نمایش خروجی به صورت صفحه‌بندی شده (با less):
dmesg -H

این دستور خروجی dmesg را به صورت صفحه‌بندی شده نمایش می‌دهد و می‌توانید با استفاده از کلیدهای بالا و پایین در آن حرکت کنید.

🔸نمایش خروجی با فرمت خوانا (timestamp):
dmesg -T

این دستور زمان دقیق هر پیام را نیز نمایش می‌دهد.

🔸نمایش سطح (اولویت) پیام‌ها:
dmesg -x

این دستور اطلاعات بیشتری در مورد هر پیام، از جمله سطح اهمیت آن، نمایش می‌دهد.

🔸نمایش خروجی به صورت زنده:
dmesg -w

این دستور پیام‌های جدید هسته را به صورت زنده نمایش می‌دهد.

🔸ترکیب چند گزینه:
dmesg -HTx

این دستور خروجی را به صورت صفحه‌بندی شده، با فرمت خوانا و با نمایش سطح پیام‌ها نمایش می‌دهد.

📌نویسنده: حسین سیلانی
📌منبع :
آکادمی کندوی دانش
https://learninghive.ir
دو ماه پیش قالب ساده و مدرن پاندا برای وردپرس نوشتم که با استقبال مواجه شد. احتمالا این قالب برای انتشار جهانی در تم وردپرس منتشر خواهد شد و به صورت پیش فرض انگلیسی و مناسب برای وبلاگ است.

امکانات نظیر :

- منو بار
- دارک مد
- جستجو در سایت
- دکمه لایک
- ترجمه قالب
- برچسب ها
- پست های مرتبط
- دسته بندی ها
- اشتراک گذاری در فوتر
- لینک کوتاه پست
- تب بندی جدید و دیدگاه ها
- رسپانسیو شده
- کد نویسی اختصاصی
- و ...

https://github.com/Rayiumir/Panda

@DevTwitter | <Raymond Baghumian/>
Forwarded from CleverDevs (Mammad)
بین top ها مختلف برای دیدن یا مدیریت پروسس ها neohtop از لحاظ قیافه یه سر و گردن از بقیه بالاتره و برای کاربرای ادایی خوبه

https://abdenasser.github.io/neohtop/


پ.ن البته مصرف خودشم همچین کم نیست

#tools #gnu #linux
@CleverDevs - @CleverDevsGp
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Anophel | آنوفل
Forwarded from Anophel | آنوفل
💢 تا حالا شده بخوای کلی فانکشن رو همزمان اجرا کنی، ولی نخوای با دردسرهای Goroutine و WaitGroup کلنجار بری؟
یا شاید دلت بخواد یه بار فانکشن‌ها رو آماده کنی و هر وقت خواستی دوباره اجراشون کنی؟
اینجاست که مفهوم Wrapper Types تو گولنگ میاد وسط. تو این پست، می‌خوام یه راه حل تمیز و شیک بهت معرفی کنم: ConcRunner

Wrapper Types چیه؟
⭐️تو گولنگ، Wrapper Type یه نوع خاصه که یه ساختار ساده می‌سازه و پشتش کلی جادو (یعنی همون منطق و پیچیدگی‌ها) قایم می‌کنه. هدفش اینه که کد رو تر و تمیز نگه داره.

💠مثال عملی:
فرض کن یه چیزی داری مثل اجرای فانکشن‌ها به صورت همزمان (concurrently). خب، این کار خودش یه ذره پیچیدگی داره چون باید با goroutine‌ها و sync.WaitGroup کلنجار بری. حالا ما اومدیم یه نوع جدید به اسم ConcRunner درست کردیم که این داستان رو می‌پیچه تو خودش. دولوپر فقط میگه «هی، این فانکشن‌هام رو بگیر و همزمان اجراشون کن»، دیگه نمی‌پرسه چطور این کار انجام میشه.

مثال تصویر 1

⭐️چرا این خوبه؟
سادگی در استفاده: دیگه کسی لازم نیست نگران goroutine و sync.WaitGroup باشه.
قابلیت استفاده مجدد: فانکشن‌ها رو هر چند بار که بخوای می‌تونی اضافه و اجرا کنی.
محافظت از جزئیات: کل سینک شدن و داستان‌های پشت پرده رو می‌سپری به ConcRunner، تمیز و بی‌دردسر.

⭐️چطوری استفاده کنیم؟ یه چیزی مثل تصویر 2.

💠این روش یه نمونه خوب از Encapsulation تو کده به‌قول معروف: «جادوی گولنگ تو اینجور جاها معلوم میشه!»

💙 Anophel | آنوفل

#گو #گولنگ #go #golang
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from a pessimistic researcher (Kc)
خیلی ها بیخیال نشدن. و خب به لطف بیخیال نشدن این عزیزان ما امروزه foundation مناسبی برای توسعه‌ی تکنیک‌های software model checking داریم. حالا اگر طبق عادتم دوباره نرفتم توی یک غیبت طولانی، براتون اولین تلاش‌ها برای رفع این مشکل رو توضیح میدم و می‌بینیم که چطور با ارائه چند تکنیک ساده تونستن model checker ای بسازن به اسم SPIN که با گذشت بیش از ۳۰ سال هنوزم یکی از قوی‌ترین ابزارهای verification برنامه‌های distributed و multi-thread هستش.

مسئله‌ی Reachability با تمام سادگیش، مسئله‌ی Hard ای محسوب میشه و توی ترک B تئوری علوم کامپیوتر اگر نگم مهم ترین، ولی یکی از مهم‌ترین مسائلی هست که پاسخ دادنش در هر setting ای ارزش بالایی داره.

به شکلی که ما یک کنفرانسی داریم به نام Reachability problems conference یا به اختصار RP که ۱۸ ساله داره برگزار میشه.

این کنفرانس برای ۱۹ امین سال قراره که توی سال ۲۰۲۵ در موسسه‌ی IMDEA software واقع در شهر مادرید برگزار بشه و ددلاین ارسال مقاله‌اش هم ۶ ماهه دیگه. اگر شما هم این موضوع براتون جذابیت بالایی داره، give it a shot و سعی کنید یه چیزی برای این کنفرانس آماده کنید.

https://rp25.software.imdea.org/index.html
۴ اصل پرامپت نویسی برای مدل‌های استدلالی مثل o1, o3, r1

@DevTwitter | <Reza Jafari/>
Forwarded from ASafaeirad
Cognitive load is what matters
How to make good decisions as a software engineer.

https://minds.md/zakirullin/cognitive

#article #cognitive
Forwarded from Linuxor ?
ابزار های معروفی که DevOps از اونا استفاده می‌کنه :

1. Version Control and Source Code Management (SCM) : Git, GitHub, GitLab, Bitbucket.

2. Continuous Integration/Continuous Delivery (CI/CD) : Jenkins, GitLab CI/CD, CircleCI, TravisCI, Azure DevOps.

3. Infrastructure as Code (IaC) : Terraform, Ansible, Puppet, Chef.

4. Monitoring and Logging : Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana), Datadog.

5. Containerization and Orchestration : Docker, Kubernetes, OpenShift.

6. DevSecOps (Security in DevOps) : Snyk, Aqua Security, SonarQube.

7. Collaboration and Communication Tools : Slack, Microsoft Teams, Jira, Trello.

8. Testing and Quality Management : Selenium, JUnit, TestNG.

@Linuxor
شرکت Microsoft در هر ثانیه 7000 حمله به رمزهای عبور را مسدود می‌کند، حملات فیشینگ هم 146٪ رشد داشته است!
با آمدن هوش مصنوعی وضعیت پیچیده‌تر شده و باید آماده‌تر بود.
- استفاده از احراز هویت چندمرحله‌ای (MFA) که sms نباشد!
- استفاده از Password Manager
این دو، لازمه حفظ امنیت شما هستند و البته که به تنهایی کافی نیستند.

https://forbes.com/sites/zakdoffman/2024/12/13/microsoft-confirms-password-deletion-for-1-billion-users-attacks-up-200/

@DevTwitter | <Vahid Nameni/>
بانی مد اعصابش از انحصار اسنپ پی ریخته بهم که نمیزاره سایر پلتفرم های قسطی رو اضافه کنید

حاضر شده جریمه اسنپ پی رو بده ولی همه رو اضافه کنه ( تارا و آپ و بلو بانک و دیجی پی و تپسی همه رو اضافه کرده )

@poinair پوینا
لذت بردم از زیبایی این مقاله
مخصوصا اون قسمتی که از cpu cache line حرف میزنه که مطمئن هستم برای خیلی هامون جدیده…

داستانش مفصله، اما حتما بخونید
کلا استفاده از sync.Pool جاهایی که temp objectهایی دارید که زیاد داره allocate میشه، زیاد منظورم به تعداد دفعات زیاد هست، استفاده از sync.Pool برای reuse کردن اون objectها کمک میکنه garbage collector کمتر به زحمت بیفته و performance برنامه خیلی بهتر بشه

هم تو خود net/http و encode/json و sdk گولنگ زیاد استفاده شده و هم فریمورک هایی مثل fasthttp که خیلی سریع هستن ازش استفاده میکنن

حتما به اون تیکه padding دقت کنید که چرا داره اضافه میشه
از زیبایی های sync.Pool اینه که lock-free طراحی شده، هر چند به خاطر modern cpuها و cache line ممکنه که این مکانیزم درست اجرا نشه بدون اون padding

قسمت pin و victim هم جالب بود، بخونید

https://victoriametrics.com/blog/go-sync-pool/

@DevTwitter | <Hossein Nazari/>
Forwarded from Accio
"A little copying is better than a little dependency."

- Rob Pike

This is such a nice take. We mostly tend to be so strict about the DRY principle. Duplication is not always evil, nor it is always the root of evil. In fact a little redundancy in exchange for dependency is totally worth it.
Let's say you have multiple components that have their own build processes and operate separately with loose couplings between them. And now you can't stand that you have implemented a logic on both component A and component B. So you decide that there should be a dependency between these components.
You are slowly moving towards tight coupling, and while there are ways to avoid it (introducing a third component ,...), they tend to just consume more of your time and effort so you'd probably just let them be.
This will not only make changes have their effects distributed throughout your entire system, but will impact your build-process/run-time of your components.

#DRY #components
Forwarded from Accio
More on componenets here: