Forwarded from Gopher Academy
🔵 عنوان مقاله
Porcupine 1.0: A Fast Linearizability Checker
🟢 خلاصه مقاله:
مقاله درباره استفاده از ابزاری به نام Porcupine برای بررسی خواص همخطسازی در سیستمهای همزمان است که به زبان برنامهنویسی Go نوشته شدهاند. در این روش، ابتدا یک مشخصه برای سیستم نوشته میشود. سپس، تاریخچهای از عملیاتها که به صورت همزمان اجرا شدهاند، ارائه میگردد. Porcupine آن تاریخچه را به کمک مشخصه تحلیل میکند تا تشخیص دهد آیا تاریخچه میتواند به شکل خطی بازآفرینی شود یا خیر. این فرایند برای تضمین اینکه سیستم به درستی در شرایط همزمانی کار میکند بسیار مهم است. ابزار Porcupine با استفاده از مفاهیم پیچیدهای چون خطیسازی به توسعهدهندگان کمک میکند تا مطمئن شوند عملیاتهای موازی در نهایت نتایج منطقی و مطابق با مشخصات انتظاری تولید میکنند. این مقاله همچنین به وبلاگی از سال ۲۰۱۷ استناد میکند که توضیحات بیشتری درباره Porcupine ارائه داده است.
🟣لینک مقاله:
https://golangweekly.com/link/162732/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Porcupine 1.0: A Fast Linearizability Checker
🟢 خلاصه مقاله:
مقاله درباره استفاده از ابزاری به نام Porcupine برای بررسی خواص همخطسازی در سیستمهای همزمان است که به زبان برنامهنویسی Go نوشته شدهاند. در این روش، ابتدا یک مشخصه برای سیستم نوشته میشود. سپس، تاریخچهای از عملیاتها که به صورت همزمان اجرا شدهاند، ارائه میگردد. Porcupine آن تاریخچه را به کمک مشخصه تحلیل میکند تا تشخیص دهد آیا تاریخچه میتواند به شکل خطی بازآفرینی شود یا خیر. این فرایند برای تضمین اینکه سیستم به درستی در شرایط همزمانی کار میکند بسیار مهم است. ابزار Porcupine با استفاده از مفاهیم پیچیدهای چون خطیسازی به توسعهدهندگان کمک میکند تا مطمئن شوند عملیاتهای موازی در نهایت نتایج منطقی و مطابق با مشخصات انتظاری تولید میکنند. این مقاله همچنین به وبلاگی از سال ۲۰۱۷ استناد میکند که توضیحات بیشتری درباره Porcupine ارائه داده است.
🟣لینک مقاله:
https://golangweekly.com/link/162732/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - anishathalye/porcupine: A fast linearizability checker written in Go 🔎
A fast linearizability checker written in Go 🔎. Contribute to anishathalye/porcupine development by creating an account on GitHub.
Forwarded from Future Pulse Persian
🟢 اگر کارفرما هستید و به دنبال نیروهای متخصص در حوزههای زیر میگردید، آگهی شغلی خود را برای ما ارسال کنید. و ما توی چنل های مرتبط به هر حوزه ای قرار میدیم
تخصص های همچون:
🔥 linux
🔥 devops
🔥 golang
🔥 blockchain
🔥 database
🟢 اگر کارجو هستید، رزومه خود را مطابق فرمت زیر برای ما ارسال کنید:
🤝موارد زیر را به همراه فایل pdf رزومه بفرستید:
🎯
🕊Admin:
@mrbardia72
تخصص های همچون:
🔥 linux
🔥 devops
🔥 golang
🔥 blockchain
🔥 database
🟢 اگر کارجو هستید، رزومه خود را مطابق فرمت زیر برای ما ارسال کنید:
🤝موارد زیر را به همراه فایل pdf رزومه بفرستید:
🎯
نام و نام خانوادگی (اجباری)
🎯مدت سابقه کار (اجباری)
🎯لینکدین (اختیاری)
🎯گیتهاب (اختیاری)
🎯محل سکونت (اجباری)
🎯امکان نقل مکان برای کار دارم یا خیر (اجباری)🕊Admin:
@mrbardia72
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
✅دربین Python Node Editor ها Nodezator امکانات قوی داره.
✳️ نصب :
🗓 دیدن این فیلم در یوتیوب میتواند درک ابزار را بهتر و قدرت آن را بهتر نمایش دهد
ابزار های مشابه :
https://github.com/bhowiebkr/python-node-editor
https://github.com/hoffstadt/DearPyGui/
https://github.com/GafferHQ/gaffer
https://pypi.org/project/nodeeditor/
⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید
#python
نود ادیتور ها با اتصال توابع پایتون به صورت visual کار می کنند تا رفتار پارامتری / داده / برنامه ها / قطعه های انعطاف پذیر تولید کنند.این ابزارها به شما امکان سازماندهی و کار با کدهای Python قابل استفاده مجدد را در یک شبکه پویا می دهد. رابط کاربری گرافیکی بصری و رویکرد ماژولار آن می تواند روند توسعه پایتون شما را ساده تر کند.
✳️ نصب :
pip install --upgrade nodezator
🗓 دیدن این فیلم در یوتیوب میتواند درک ابزار را بهتر و قدرت آن را بهتر نمایش دهد
ابزار های مشابه :
https://github.com/bhowiebkr/python-node-editor
https://github.com/hoffstadt/DearPyGui/
https://github.com/GafferHQ/gaffer
https://pypi.org/project/nodeeditor/
⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید
#python
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
🔥با specfy تشخیص بیشتر از ۵۰۰ تِکنولوژی مورد استفاده در ریپازیتوری (repository)
✅شامل : شناسایی زبان برنامه نویسی،SaaS ، زیرساخت ، وابستگی ها و سرویس ها
💠 کاربرد :
✅ دانش برای کل تیم متمرکز و تصمیمگیریهای پرتأثیر را سریعتر و قابل اعتمادتر میکنه .
✅ زیرساخت، CI، استک فنی، ابزارها و جریان داده را به طور خودکار مستند میکنه. دیگر نیازی به نوشتن مستندات یا رسم دستی نمودار نیست.
و...
⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید
#devops
✅شامل : شناسایی زبان برنامه نویسی،SaaS ، زیرساخت ، وابستگی ها و سرویس ها
💠 کاربرد :
✅ دانش برای کل تیم متمرکز و تصمیمگیریهای پرتأثیر را سریعتر و قابل اعتمادتر میکنه .
✅ زیرساخت، CI، استک فنی، ابزارها و جریان داده را به طور خودکار مستند میکنه. دیگر نیازی به نوشتن مستندات یا رسم دستی نمودار نیست.
و...
⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید
#devops
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
This media is not supported in your browser
VIEW IN TELEGRAM
اجزای سیستم فایل در لینوکس
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
fs.avi
413.7 KB
نمایی از ساختار سیستم فایل در لینوکس
Forwarded from محتوای آزاد سهراب
Forwarded from محتوای آزاد سهراب
Forwarded from Codino School (ایمان غفوری)
Forwarded from Ninja Learn | نینجا لرن
🧵 ـGenerator ها در جنگو؛ یه ابزار خاص برای بهینهسازی کدها
اگه با پایتون آشنا باشی، احتمالاً میدونی که generator ها توی صرفهجویی حافظه و تولید داده به صورت lazy خیلی کاربرد دارن. اما این ابزار توی جنگو چطوری استفاده میشه؟ چجوری میتونیم ازشون بیشترین بهره رو ببریم؟ بیا با هم بررسی کنیم.
💡 ـGenerator چیه؟
ـGenerator یه نوع iterator خاصه که وقتی نیاز داری داده تولید میکنه، نه اینکه کل داده رو یهجا توی حافظه نگه داره. توی جنگو این ابزار وقتی مفید میشه که بخوای با دادههای بزرگ کار کنی.
مثلاً:
◀️ کار با QuerySetهای سنگین
◀️ پردازش Streamهای دادهای
◀️ تولید گزارشهای حجیم
🏗 چرا توی جنگو به generator نیاز داریم؟
تصور کن یه جدول دیتابیس با میلیونها رکورد داری و باید اطلاعات رو به مرور پردازش کنی. اگه همه رکوردها رو یهجا لود کنی، سرور به احتمال زیاد میترکه. اینجا generator ها به دادت میرسن. Lazy Evaluation یعنی فقط همون چیزی که نیاز داری رو تولید کن و حافظه رو با چیزای اضافی پر نکن.
✍ استفاده از generator توی QuerySet
ـQuerySetهای جنگو به صورت پیشفرض lazy هستن. این یعنی تا وقتی که واقعاً نیاز نباشه، کوئری به دیتابیس نمیزنه. ولی میتونی این فرآیند رو با generatorها بهینهتر کنی.
مثال:
اینجا از متد iterator() استفاده کردیم که یه generator میسازه و باعث میشه کوئری به صورت chunk به chunk پردازش بشه.
🌊 ـStream کردن دادهها با generator
اگه بخوای یه فایل CSV بزرگ برای دانلود بسازی، generator یه ابزار طلاییه.
مثال:
اینجا به جای ساختن کل CSV توی حافظه، دادهها رو به صورت real-time تولید میکنیم.
🔸 نکات مهم
ـAvoid Overuse
ـCombine with Chunking
جمعبندی ✍
ـgeneratorها یه ابزار قدرتمند برای مدیریت منابع هستن، به شرطی که بدونی کجا و چطوری ازشون استفاده کنی. مخصوصاً توی پروژههای سنگین جنگو که حجم دادهها خیلی زیاده، این ابزار میتونه یه برگ برنده باشه.
امید وارم مفید بوده باشه :) ❤️
اگه با پایتون آشنا باشی، احتمالاً میدونی که generator ها توی صرفهجویی حافظه و تولید داده به صورت lazy خیلی کاربرد دارن. اما این ابزار توی جنگو چطوری استفاده میشه؟ چجوری میتونیم ازشون بیشترین بهره رو ببریم؟ بیا با هم بررسی کنیم.
💡 ـGenerator چیه؟
ـGenerator یه نوع iterator خاصه که وقتی نیاز داری داده تولید میکنه، نه اینکه کل داده رو یهجا توی حافظه نگه داره. توی جنگو این ابزار وقتی مفید میشه که بخوای با دادههای بزرگ کار کنی.
مثلاً:
◀️ کار با QuerySetهای سنگین
◀️ پردازش Streamهای دادهای
◀️ تولید گزارشهای حجیم
🏗 چرا توی جنگو به generator نیاز داریم؟
تصور کن یه جدول دیتابیس با میلیونها رکورد داری و باید اطلاعات رو به مرور پردازش کنی. اگه همه رکوردها رو یهجا لود کنی، سرور به احتمال زیاد میترکه. اینجا generator ها به دادت میرسن. Lazy Evaluation یعنی فقط همون چیزی که نیاز داری رو تولید کن و حافظه رو با چیزای اضافی پر نکن.
✍ استفاده از generator توی QuerySet
ـQuerySetهای جنگو به صورت پیشفرض lazy هستن. این یعنی تا وقتی که واقعاً نیاز نباشه، کوئری به دیتابیس نمیزنه. ولی میتونی این فرآیند رو با generatorها بهینهتر کنی.
مثال:
from django.db.models import QuerySet
def get_large_data(queryset: QuerySet):
for obj in queryset.iterator():
yield process_object(obj)
def process_object(obj):
# پردازش رکورد
return obj
اینجا از متد iterator() استفاده کردیم که یه generator میسازه و باعث میشه کوئری به صورت chunk به chunk پردازش بشه.
🌊 ـStream کردن دادهها با generator
اگه بخوای یه فایل CSV بزرگ برای دانلود بسازی، generator یه ابزار طلاییه.
مثال:
import csv
from django.http import StreamingHttpResponse
def stream_csv(queryset):
def generate():
yield ['Header1', 'Header2', 'Header3']
for obj in queryset.iterator():
yield [obj.field1, obj.field2, obj.field3]
response = StreamingHttpResponse(generate_csv(generate()), content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="data.csv"'
return response
def generate_csv(generator):
for row in generator():
yield ','.join(str(cell) for cell in row) + '\n'
اینجا به جای ساختن کل CSV توی حافظه، دادهها رو به صورت real-time تولید میکنیم.
🔸 نکات مهم
ـAvoid Overuse
اگه حجم دادهها خیلی کم باشه، استفاده از generator صرفاً پیچیدگی کد رو زیاد میکنه.
ـCombine with Chunking
اگه با دیتابیسهای بزرگ کار میکنی، استفاده از generator به همراه متدهایی مثل iterator() یا chunked() توی QuerySet میتونه حسابی عملکرد رو بهینه کنه.ـError Handling
حواست باشه که generatorها وقتی یه خطا پیش بیاد، از ادامه کار متوقف میشن. اگه نیاز داری عملیاتت ادامه پیدا کنه، باید exceptionها رو مدیریت کنی.ـPipeline-like Processing
توی پروژههای پیچیدهتر میتونی generatorها رو به هم chain کنی و مثل یه pipeline دادهها رو پردازش کنی.
جمعبندی ✍
ـgeneratorها یه ابزار قدرتمند برای مدیریت منابع هستن، به شرطی که بدونی کجا و چطوری ازشون استفاده کنی. مخصوصاً توی پروژههای سنگین جنگو که حجم دادهها خیلی زیاده، این ابزار میتونه یه برگ برنده باشه.
#django #برنامه_نویسی #پایتون
🔆 CHANNEL | GROUP
Forwarded from Gopher Academy
🔵 عنوان مقاله
gh-dash 4.7: A CLI-Based Dashboard for GitHub
🟢 خلاصه مقاله:
در نبود متن کامل مقاله و فقط با اتکا به شرح کوتاهی که ارائه شده، میتوان خلاصهای از محتوای آن را به شرح زیر ارائه داد:
این مقاله به بررسی برنامه کاربردی با واسط کاربری متنی (TUI) پرداخته است که به منظور نمایش داشبوردی از درخواستهای کششی (Pull Requests) و مسائل (Issues) طراحی شده است. این برنامه اجازه میدهد که کاربران محتوای نمایش داده شده را براساس فیلترهای دلخواه خود تنظیم کنند. در نتیجه، کاربران میتوانند با استفاده از این ابزار به راحتی وضعیت پروژهها و وظایف مرتبط با توسعه نرمافزار را مدیریت و پیگیری کنند. این برنامه مخصوصاً برای توسعهدهندگانی که به دنبال راهکاری ساده و مؤثر برای پیگیری پیشرفت کارها هستند، بسیار مفید است. برنامه با محیط کاربری متنی کاربردی خود، یک راه حل عملی و کارآمد برای مرور و مدیریت درخواستهای کششی و مسائل مختلف ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/161350/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
gh-dash 4.7: A CLI-Based Dashboard for GitHub
🟢 خلاصه مقاله:
در نبود متن کامل مقاله و فقط با اتکا به شرح کوتاهی که ارائه شده، میتوان خلاصهای از محتوای آن را به شرح زیر ارائه داد:
این مقاله به بررسی برنامه کاربردی با واسط کاربری متنی (TUI) پرداخته است که به منظور نمایش داشبوردی از درخواستهای کششی (Pull Requests) و مسائل (Issues) طراحی شده است. این برنامه اجازه میدهد که کاربران محتوای نمایش داده شده را براساس فیلترهای دلخواه خود تنظیم کنند. در نتیجه، کاربران میتوانند با استفاده از این ابزار به راحتی وضعیت پروژهها و وظایف مرتبط با توسعه نرمافزار را مدیریت و پیگیری کنند. این برنامه مخصوصاً برای توسعهدهندگانی که به دنبال راهکاری ساده و مؤثر برای پیگیری پیشرفت کارها هستند، بسیار مفید است. برنامه با محیط کاربری متنی کاربردی خود، یک راه حل عملی و کارآمد برای مرور و مدیریت درخواستهای کششی و مسائل مختلف ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/161350/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - dlvhdr/gh-dash: A beautiful CLI dashboard for GitHub 🚀
A beautiful CLI dashboard for GitHub 🚀 . Contribute to dlvhdr/gh-dash development by creating an account on GitHub.
Forwarded from Laravel News
Packagist.org is ending support for Composer 1.x https://laravel-news.com/packagistorg-is-ending-support-for-composer-1x
Laravel News
Packagist.org is ending support for Composer 1.x - Laravel News
The packagist team announced it's shutting down support for Composer v1.x on February 25th, 2025.
Forwarded from Laravel News
Collect and Monitor Everything About Sent Emails in Your Laravel App https://laravel-news.com/laravel-mails-package
Laravel News
Collect and Monitor Everything About Sent Emails in Your Laravel App - Laravel News
The Laravel Mails package collects everything about sent emails in your Laravel app. Using this package, you can track issues with mail, monitor stats, and get notified when something is wrong.
Forwarded from Laravel News
Managing Large Datasets in Laravel with LazyCollection https://laravel-news.com/managing-large-datasets-in-laravel-with-lazycollection
Laravel News
Managing Large Datasets in Laravel with LazyCollection - Laravel News
Discover how Laravel's LazyCollection optimizes memory usage when processing large datasets. Learn to handle extensive data efficiently by loading items on demand, perfect for processing large files and database operations.
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 طبق گزارش CNN, رئیسجمهور کره جنوبی اعلام حکومت نظامی کرده است و گفته عناصر کره شمالی تو کشور نفوذ کردند و در حزب حاکم زیاد شدند و هر لحظه ممکنه کودتا کنند . یون سوک یئول گفته که حکومت نظامی اعلام کردم که کشور آزاد بسازم!
#خبر
@TheRaymondDev
#خبر
@TheRaymondDev
CNN
Martial law reversed in South Korea after president’s surprise decree sent shockwaves | CNN
South Korean President Yoon Suk Yeol backtracked on his shortlived decree in the early hours of Wednesday local time and withdrew the troops deployed to carry out the order. South Korean lawmakers are now calling for resignations.
Forwarded from کانال اطلاعرسانی توزیع پارچ