Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نحوه مشاهده لاگها در لینوکس (dmesg, journalctl)
🔹در لینوکس، برای بررسی و عیبیابی مشکلات سیستم، از لاگها استفاده میشود. دو ابزار مهم برای این کار dmesg و journalctl هستند.
🔸نمایش لاگها به صورت زنده:
این دستور لاگها را به صورت زنده نمایش میدهد و هر تغییری که در لاگها ایجاد شود، بلافاصله نمایش داده میشود.
🔸نمایش لاگهای امروز:
این دستور فقط لاگهای مربوط به امروز را نمایش میدهد.
🔸نمایش فقط لاگهای با سطح خطا (err):
این دستور فقط لاگهایی که سطح آنها "خطا" (error) است را نمایش میدهد. -p err مخفف --priority=err است.
🔸نمایش لاگهای با سطوح خطا (err) و هشدار (warning):
این دستور لاگهایی با سطوح ۳ (err) و ۴ (warning) را نمایش میدهد. در اینجا ۳ و ۴ نشاندهنده سطوح اولویت لاگها هستند.
🔸نمایش لاگهای مربوط به یک سرویس خاص:
به جای <نام_سرویس> نام سرویس مورد نظر را قرار دهید. به عنوان مثال برای مشاهده لاگهای سرویس sshd از دستور زیر استفاده کنید:
dmesg - لاگ سیستم هسته (خواندن از /var/log/kern.log یا مستقیماً از هسته)
این دستور برای مشاهده پیامهای مربوط به هسته سیستم (kernel) استفاده میشود.
🔸نمایش خروجی به صورت صفحهبندی شده (با less):
این دستور خروجی dmesg را به صورت صفحهبندی شده نمایش میدهد و میتوانید با استفاده از کلیدهای بالا و پایین در آن حرکت کنید.
🔸نمایش خروجی با فرمت خوانا (timestamp):
این دستور زمان دقیق هر پیام را نیز نمایش میدهد.
🔸نمایش سطح (اولویت) پیامها:
این دستور اطلاعات بیشتری در مورد هر پیام، از جمله سطح اهمیت آن، نمایش میدهد.
🔸نمایش خروجی به صورت زنده:
این دستور پیامهای جدید هسته را به صورت زنده نمایش میدهد.
🔸ترکیب چند گزینه:
این دستور خروجی را به صورت صفحهبندی شده، با فرمت خوانا و با نمایش سطح پیامها نمایش میدهد.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
🔹در لینوکس، برای بررسی و عیبیابی مشکلات سیستم، از لاگها استفاده میشود. دو ابزار مهم برای این کار 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
Forwarded from DevTwitter | توییت برنامه نویسی
دو ماه پیش قالب ساده و مدرن پاندا برای وردپرس نوشتم که با استقبال مواجه شد. احتمالا این قالب برای انتشار جهانی در تم وردپرس منتشر خواهد شد و به صورت پیش فرض انگلیسی و مناسب برای وبلاگ است.
امکانات نظیر :
- منو بار
- دارک مد
- جستجو در سایت
- دکمه لایک
- ترجمه قالب
- برچسب ها
- پست های مرتبط
- دسته بندی ها
- اشتراک گذاری در فوتر
- لینک کوتاه پست
- تب بندی جدید و دیدگاه ها
- رسپانسیو شده
- کد نویسی اختصاصی
- و ...
https://github.com/Rayiumir/Panda
@DevTwitter | <Raymond Baghumian/>
امکانات نظیر :
- منو بار
- دارک مد
- جستجو در سایت
- دکمه لایک
- ترجمه قالب
- برچسب ها
- پست های مرتبط
- دسته بندی ها
- اشتراک گذاری در فوتر
- لینک کوتاه پست
- تب بندی جدید و دیدگاه ها
- رسپانسیو شده
- کد نویسی اختصاصی
- و ...
https://github.com/Rayiumir/Panda
@DevTwitter | <Raymond Baghumian/>
Forwarded from CleverDevs (Mammad)
بین top ها مختلف برای دیدن یا مدیریت پروسس ها neohtop از لحاظ قیافه یه سر و گردن از بقیه بالاتره و برای کاربرای ادایی خوبه
https://abdenasser.github.io/neohtop/
پ.ن البته مصرف خودشم همچین کم نیست
#tools #gnu #linux
@CleverDevs - @CleverDevsGp
https://abdenasser.github.io/neohtop/
پ.ن البته مصرف خودشم همچین کم نیست
#tools #gnu #linux
@CleverDevs - @CleverDevsGp
Forwarded from Anophel | آنوفل
یا شاید دلت بخواد یه بار فانکشنها رو آماده کنی و هر وقت خواستی دوباره اجراشون کنی؟
اینجاست که مفهوم Wrapper Types تو گولنگ میاد وسط. تو این پست، میخوام یه راه حل تمیز و شیک بهت معرفی کنم: ConcRunner
Wrapper Types چیه؟
فرض کن یه چیزی داری مثل اجرای فانکشنها به صورت همزمان (concurrently). خب، این کار خودش یه ذره پیچیدگی داره چون باید با goroutineها و sync.WaitGroup کلنجار بری. حالا ما اومدیم یه نوع جدید به اسم ConcRunner درست کردیم که این داستان رو میپیچه تو خودش. دولوپر فقط میگه «هی، این فانکشنهام رو بگیر و همزمان اجراشون کن»، دیگه نمیپرسه چطور این کار انجام میشه.
مثال تصویر 1
سادگی در استفاده: دیگه کسی لازم نیست نگران goroutine و sync.WaitGroup باشه.
قابلیت استفاده مجدد: فانکشنها رو هر چند بار که بخوای میتونی اضافه و اجرا کنی.
محافظت از جزئیات: کل سینک شدن و داستانهای پشت پرده رو میسپری به ConcRunner، تمیز و بیدردسر.
#گو #گولنگ #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
مسئلهی Reachability با تمام سادگیش، مسئلهی Hard ای محسوب میشه و توی ترک B تئوری علوم کامپیوتر اگر نگم مهم ترین، ولی یکی از مهمترین مسائلی هست که پاسخ دادنش در هر setting ای ارزش بالایی داره.
به شکلی که ما یک کنفرانسی داریم به نام Reachability problems conference یا به اختصار RP که ۱۸ ساله داره برگزار میشه.
این کنفرانس برای ۱۹ امین سال قراره که توی سال ۲۰۲۵ در موسسهی IMDEA software واقع در شهر مادرید برگزار بشه و ددلاین ارسال مقالهاش هم ۶ ماهه دیگه. اگر شما هم این موضوع براتون جذابیت بالایی داره، give it a shot و سعی کنید یه چیزی برای این کنفرانس آماده کنید.
https://rp25.software.imdea.org/index.html
rp25.software.imdea.org
RP 2025
19th International Conference on Reachability Problems 2025; October 1-3 2025, Madrid, Spain; Submission deadline: TBA
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from ASafaeirad
Cognitive load is what matters
How to make good decisions as a software engineer.
https://minds.md/zakirullin/cognitive
#article #cognitive
How to make good decisions as a software engineer.
https://minds.md/zakirullin/cognitive
#article #cognitive
minds.md
Cognitive load is what matters
There are so many buzzwords and best practices out there, but let's focus on something more fundamental. What matters is the amount of confusion developers feel when going through the code.
Forwarded from ASafaeirad
Cognitive load is what matters
How to make good decisions as a software engineer.
https://minds.md/zakirullin/cognitive
#article #cognitive
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
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
Forwarded from DevTwitter | توییت برنامه نویسی
شرکت 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/>
با آمدن هوش مصنوعی وضعیت پیچیدهتر شده و باید آمادهتر بود.
- استفاده از احراز هویت چندمرحلهای (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/>
Forwarded from متخصص وردپرس | پوینا
بانی مد اعصابش از انحصار اسنپ پی ریخته بهم که نمیزاره سایر پلتفرم های قسطی رو اضافه کنید
حاضر شده جریمه اسنپ پی رو بده ولی همه رو اضافه کنه ( تارا و آپ و بلو بانک و دیجی پی و تپسی همه رو اضافه کرده )
@poinair پوینا
حاضر شده جریمه اسنپ پی رو بده ولی همه رو اضافه کنه ( تارا و آپ و بلو بانک و دیجی پی و تپسی همه رو اضافه کرده )
@poinair پوینا
Forwarded from DevTwitter | توییت برنامه نویسی
لذت بردم از زیبایی این مقاله
مخصوصا اون قسمتی که از 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/>
مخصوصا اون قسمتی که از 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
- 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