Forwarded from Meitix
لاگ روتیشن
یه فایل لاگ داری که هر روز کلی اطلاعات توش میره و همش بزرگ و بزرگتر میشه. بعد از یه مدت دیگه نه میتونی بخونی، نه میتونی ازش استفاده کنی!
اlog rotation یعنی به طور خودکار این فایلهای لاگ رو تقسیم کنیم. مثلاً روزانه یا هفتگی یه فایل جدید درست میکنیم و قدیمیا رو آرشیو میکنی. چرا؟ چون:
سرعت کم میشه و پیدا کردن لاگی که میخوای سخت میشه
یه فایل لاگ داری که هر روز کلی اطلاعات توش میره و همش بزرگ و بزرگتر میشه. بعد از یه مدت دیگه نه میتونی بخونی، نه میتونی ازش استفاده کنی!
اlog rotation یعنی به طور خودکار این فایلهای لاگ رو تقسیم کنیم. مثلاً روزانه یا هفتگی یه فایل جدید درست میکنیم و قدیمیا رو آرشیو میکنی. چرا؟ چون:
سرعت کم میشه و پیدا کردن لاگی که میخوای سخت میشه
Forwarded from مجموعه عالی جناب www.myexcellency.ir
This media is not supported in your browser
VIEW IN TELEGRAM
مجموعه رسانه ای عالی جناب
ساخت تیزر و کلیپ موشن های تبلیغاتی
ما در کنار شماییم تا شاهد رشد و شکوفایی کسب و کارتان باشیم
09132967454
09903407454
ساخت تیزر و کلیپ موشن های تبلیغاتی
ما در کنار شماییم تا شاهد رشد و شکوفایی کسب و کارتان باشیم
09132967454
09903407454
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
سلام خدمت دوستان
یکی از دوره های آموزشی من در وب سایت فرادرس
——————————————————-
با عنوان: آموزش مانیتورینگ در لینوکس Linux
دوره شش ساعت و شامل 50 درس در 6 فصل
===============================
شامل آموزش مانیتورینگ سطح کاربر و سطح کرنل با دستورات و ابزارهای ترمینالی،گرافیکی، و ابزارهای تجاری و هم چنین بهینه کردن و افزایش سرعت کرنل نیز در دوره بیان شده است.
—————————————-
جزئیات بیشتر و دسترسی به دوره:
https://faradars.org/courses/monitoring-in-linux-fvlnx101
یکی از دوره های آموزشی من در وب سایت فرادرس
——————————————————-
با عنوان: آموزش مانیتورینگ در لینوکس Linux
دوره شش ساعت و شامل 50 درس در 6 فصل
===============================
شامل آموزش مانیتورینگ سطح کاربر و سطح کرنل با دستورات و ابزارهای ترمینالی،گرافیکی، و ابزارهای تجاری و هم چنین بهینه کردن و افزایش سرعت کرنل نیز در دوره بیان شده است.
—————————————-
جزئیات بیشتر و دسترسی به دوره:
https://faradars.org/courses/monitoring-in-linux-fvlnx101
Forwarded from CleverDevs (£√a)
🎉📚 تبریک روز دانشجو! 📚🎉
به تمام دانشجویان عزیز برنامهنویسی و تکنولوژی که با کدها و الگوریتمها مثل یک هکر واقعی در حال جنگیدن هستند! 😄
یادتون باشه:
• هر باگی که امروز حل میکنید، فردا یه پروژهی بزرگتر رو به چالش میکشه! 💻
امیدواریم همیشه در مسیر یادگیری و پیشرفت باشید و هیچ وقت از خطاها ناامید نشید. چون هر خطا، یک قدم به سمت موفقیت است! 🚀
روز دانشجو مبارک! 🎊
@CleverDevs - @CleverDevsGp
به تمام دانشجویان عزیز برنامهنویسی و تکنولوژی که با کدها و الگوریتمها مثل یک هکر واقعی در حال جنگیدن هستند! 😄
یادتون باشه:
• هر باگی که امروز حل میکنید، فردا یه پروژهی بزرگتر رو به چالش میکشه! 💻
امیدواریم همیشه در مسیر یادگیری و پیشرفت باشید و هیچ وقت از خطاها ناامید نشید. چون هر خطا، یک قدم به سمت موفقیت است! 🚀
روز دانشجو مبارک! 🎊
@CleverDevs - @CleverDevsGp
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰دستورات کمتر دیده شده در لینوکس #سری بیست و دوم
🔹دستور tee
🔸 این دستور خروجی یک دستور دیگر را هم در ترمینال نمایش میدهد و هم در یک فایل ذخیره میکند.
🔸این دستور خروجی دستور سمت چپ را به فایل سمت راست هدایت میکند.
در مواقعی که خروجی برخی دستورات لینوکس را نمیتوان با هدایتگرهای >> به فایل ارسال کرد از این دستور استفاده کنید.
🔸این دستور تمام خطوطی را که کلمه "error" در آنها وجود دارد از فایل log.txt جستجو میکند و هم در ترمینال نمایش میدهد و هم در فایل errors.log ذخیره میکند.
همچنین ارسال خروجی به دوفایل
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
📌به جمع حامیان کانال بپیوندید با حمایت از کانال📌
https://zarinp.al/learninghive.ir
🔹دستور tee
🔸 این دستور خروجی یک دستور دیگر را هم در ترمینال نمایش میدهد و هم در یک فایل ذخیره میکند.
command | tee file_name
🔸این دستور خروجی دستور سمت چپ را به فایل سمت راست هدایت میکند.
در مواقعی که خروجی برخی دستورات لینوکس را نمیتوان با هدایتگرهای >> به فایل ارسال کرد از این دستور استفاده کنید.
ls -la | tee list.txt
grep 'error' log.txt | tee errors.log
🔸این دستور تمام خطوطی را که کلمه "error" در آنها وجود دارد از فایل log.txt جستجو میکند و هم در ترمینال نمایش میدهد و هم در فایل errors.log ذخیره میکند.
history | tee command_history.log
همچنین ارسال خروجی به دوفایل
command | tee file1 | tee file2
df -h | tee log.txt
free -m | tee -a log.txt
ps aux | tee -a log.txt
my_program.py | tee program_output.log
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
📌به جمع حامیان کانال بپیوندید با حمایت از کانال📌
https://zarinp.al/learninghive.ir
Forwarded from دستاوردهای یادگیری عمیق(InTec)
اینا قوی نیستند ما ضعیف هستیم.
سمت راست رو نقی :
۱- ۱۷ روز اعتصاب غذا، نه لاغر شد نه ضعف داشت نه هیچ
۲- تازه چندسال پیش وضعیت کلیهاش وخیم بود و داشت از دست میداد
سمت چپ توماج :
۱- پاهاش رو شکستن
۲- چشمش داشت کور میشد
۳- بقول خودش انقدر زدنش که همه اعضای بدنش به مشکل خورد.
(فقط زرنگی کرد، دستاشو گرفت جلو سر و صورت)
هیچی دیگه جفتشون هم فردا صبحش پا شدند رفتن دور دور.
خلاصه ماها ضعیفیم، اینا قوی نیستند.
این داستان، #توله_مجاهد و دوستانش (افسانه دروغهای زیبا)
سمت راست رو نقی :
۱- ۱۷ روز اعتصاب غذا، نه لاغر شد نه ضعف داشت نه هیچ
۲- تازه چندسال پیش وضعیت کلیهاش وخیم بود و داشت از دست میداد
سمت چپ توماج :
۱- پاهاش رو شکستن
۲- چشمش داشت کور میشد
۳- بقول خودش انقدر زدنش که همه اعضای بدنش به مشکل خورد.
(فقط زرنگی کرد، دستاشو گرفت جلو سر و صورت)
هیچی دیگه جفتشون هم فردا صبحش پا شدند رفتن دور دور.
خلاصه ماها ضعیفیم، اینا قوی نیستند.
این داستان، #توله_مجاهد و دوستانش (افسانه دروغهای زیبا)
Forwarded from Geek Alerts
اشتراک Pro به ChatGPT اضافه شد، تفاوتش اینه که به همه مدلها به صورت نامحدود دسترسی دارید در کنار یک مدل جدید به اسم o1 pro mode که همون o1 ولی با قدرت پردازشی بیشتر هست.
این o1 pro mode هم نتایج عجیبی توی ریاضی، کدنویسی و ... داشته ولی در کل قیمتگذاری عجیبی داره.
همچنین خوبه بدونید که مطابق اعلام اکانت خودشون و سم آلتمن قراره طی دوازده روز(که از دیروز شروع شده)، هر روز ویژگیها یا محصولات جدیدی رو معرفی کنن.
https://chatgpt.com/#pricing
openai
@geekalerts
این o1 pro mode هم نتایج عجیبی توی ریاضی، کدنویسی و ... داشته ولی در کل قیمتگذاری عجیبی داره.
همچنین خوبه بدونید که مطابق اعلام اکانت خودشون و سم آلتمن قراره طی دوازده روز(که از دیروز شروع شده)، هر روز ویژگیها یا محصولات جدیدی رو معرفی کنن.
https://chatgpt.com/#pricing
openai
@geekalerts
Forwarded from Geek Alerts
گوگل GenCast رو معرفی کرد که یک AI برای پیشبینی دقیق آبوهوا هست.
با ۴۰ سال داده آرشیو هواشناسی ECMWF آموزش داده شده.
نتیجه؟ ۹۷.۲ درصد از بهترین مدل پیشبینی آبوهوا که الان استفاده میشه عملکرد بهتری داشته.
gsm
@geekalerts
با ۴۰ سال داده آرشیو هواشناسی ECMWF آموزش داده شده.
نتیجه؟ ۹۷.۲ درصد از بهترین مدل پیشبینی آبوهوا که الان استفاده میشه عملکرد بهتری داشته.
gsm
@geekalerts
Forwarded from SoniaCircuit (Sonia)
pprof : a tool for visualization and analysis of profiling data.
https://github.com/google/pprof
pprof reads a collection of profiling samples in profile.proto format and generates reports to visualize and help analyze the data. It can generate both text and graphical reports (through the use of the dot visualization package).
profile.proto is a protocol buffer that describes a set of callstacks and symbolization information. A common usage is to represent a set of sampled callstacks from statistical profiling. The format is described on the proto/profile.proto file. For details on protocol buffers, see https://developers.google.com/protocol-buffers
#performance_analysis
#profiler
https://github.com/google/pprof
pprof reads a collection of profiling samples in profile.proto format and generates reports to visualize and help analyze the data. It can generate both text and graphical reports (through the use of the dot visualization package).
profile.proto is a protocol buffer that describes a set of callstacks and symbolization information. A common usage is to represent a set of sampled callstacks from statistical profiling. The format is described on the proto/profile.proto file. For details on protocol buffers, see https://developers.google.com/protocol-buffers
#performance_analysis
#profiler
GitHub
GitHub - google/pprof: pprof is a tool for visualization and analysis of profiling data
pprof is a tool for visualization and analysis of profiling data - google/pprof
Forwarded from ⚝ (Amir Hossein "Amiria" Maher)
GitHub.com/aradzie/keybr.com
keybr.com
یادگیری و تمرین تایپ دهانگشتی:
#type #FLOSS #معرفی
@amiria703_channel
keybr.com
یادگیری و تمرین تایپ دهانگشتی:
#type #FLOSS #معرفی
@amiria703_channel
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 دلیل نفرت برنامه نویسان وب از وردپرس چیست؟
چند سالی میشه که برنامه نویسان هر فریم ورک وبی از وردپرس نفرت دارند و می گویند که نون ما رو آجر کردند و فلان ...
واضع تر بگم که وردپرس هزینه های نگهداری رو پایین آورده و توسعه آن راحت شده است و اینجوری نیست که یک کلیک سایت رو بالا بیارید و خود وردپرس سیستم طراحی قالب شیبه المنتور داره اما برای حرفه ای کردن قالب و اضافه کردن امکانات آن نیاز به کد نویسی دارد و آن هم که وردپرس با PHP نوشته شده است و می توان به راحتی آن را توسعه داد. (فارغ از مزایا و معایب وردپرس)
یک کسب و کار کوچک یا متوسطه نمیاد وب سایت مثلا فروشگاهی با ۱۰۰ تا ۵۰۰ محصول روی لاراول یا دات نت راه اندازی کند زیرا با شرایط فعلی این تعداد محصول فروشگاهی روی وردپرس - ووکامرس جواب می دهد و با افزایش منابع آن بتواند سرعت بارگزاری و تعداد کاربران آنلاین را حفظ کند.
در این مورد هزینه های نگهداری وب سایت حرف اول بین کسب و کار ها می زند. فرض کن قالب فروشگاهی ووکامرس اختصاصی با ۳۰ میلیون تومان راه اندازی کردید اما نمیاد روی لاراول یا دات نت یا هر فریم ورکی که هزینه راه اندازی ۴۰ میلیون به بالا دارد راه اندازی کند زیرا بودجه کسب و کارهای کوچک و متوسطه به شدت محدود هست و حتی اگر برای برنامه نویسی اختصاصی فروشگاه با لاراول یا دات نت با بودجه محدود باشد, برنامه نویسان وب آن را رد می کند. چون این بودجه محدود برای طراحی و راه اندازی آن به صرفه نخواهند بود و زمان زیادی را می طلبد.
اگر کسب و کارشون و بودجه بزرگتر شد که حس می کند که نیاز به بزرگتر شدن پروژه دارد می تواند از وردپرس به فریم ورک های اختصاصی وب مهاجرت کند که سختی های خودشو داره و برنامه نویسان نباید برای آن غر بزند که بگه چرا از اول روی فریم ورک لاراول یا دات نت اجرا نکردید و کارمون سخت شده و فلان...
چند سالی میشه که برنامه نویسان هر فریم ورک وبی از وردپرس نفرت دارند و می گویند که نون ما رو آجر کردند و فلان ...
واضع تر بگم که وردپرس هزینه های نگهداری رو پایین آورده و توسعه آن راحت شده است و اینجوری نیست که یک کلیک سایت رو بالا بیارید و خود وردپرس سیستم طراحی قالب شیبه المنتور داره اما برای حرفه ای کردن قالب و اضافه کردن امکانات آن نیاز به کد نویسی دارد و آن هم که وردپرس با PHP نوشته شده است و می توان به راحتی آن را توسعه داد. (فارغ از مزایا و معایب وردپرس)
یک کسب و کار کوچک یا متوسطه نمیاد وب سایت مثلا فروشگاهی با ۱۰۰ تا ۵۰۰ محصول روی لاراول یا دات نت راه اندازی کند زیرا با شرایط فعلی این تعداد محصول فروشگاهی روی وردپرس - ووکامرس جواب می دهد و با افزایش منابع آن بتواند سرعت بارگزاری و تعداد کاربران آنلاین را حفظ کند.
در این مورد هزینه های نگهداری وب سایت حرف اول بین کسب و کار ها می زند. فرض کن قالب فروشگاهی ووکامرس اختصاصی با ۳۰ میلیون تومان راه اندازی کردید اما نمیاد روی لاراول یا دات نت یا هر فریم ورکی که هزینه راه اندازی ۴۰ میلیون به بالا دارد راه اندازی کند زیرا بودجه کسب و کارهای کوچک و متوسطه به شدت محدود هست و حتی اگر برای برنامه نویسی اختصاصی فروشگاه با لاراول یا دات نت با بودجه محدود باشد, برنامه نویسان وب آن را رد می کند. چون این بودجه محدود برای طراحی و راه اندازی آن به صرفه نخواهند بود و زمان زیادی را می طلبد.
اگر کسب و کارشون و بودجه بزرگتر شد که حس می کند که نیاز به بزرگتر شدن پروژه دارد می تواند از وردپرس به فریم ورک های اختصاصی وب مهاجرت کند که سختی های خودشو داره و برنامه نویسان نباید برای آن غر بزند که بگه چرا از اول روی فریم ورک لاراول یا دات نت اجرا نکردید و کارمون سخت شده و فلان...
اگر برنامه نویسان وب نتواند با این شرابط کنار بیاد, بهتره از برنامه نویسی کنار برود و شغل دیگر امتحان کند, هم اعصابت راحت می شه و اون سختی ها رو ندارید!@TheRaymondDev
Forwarded from Ninja Learn | نینجا لرن
معرفی Kafka 🌀
اگه سیستمهایی با معماری پیچیده طراحی میکنی یا میخوای با حجم زیادی از داده کار کنی، احتمالش زیاده اسم Kafka رو شنیده باشی. Kafka یه Distributed Streaming Platform هست که توسط LinkedIn ساخته شد و بعدش به Apache منتقل شد. اما چرا Kafka اینقدر مهمه و کجاها به کار میاد؟ بیایید دقیق بررسیش کنیم.
📜 ـKafka چرا ساخته شد؟
تو معماری سیستمهای بزرگ، نیاز به ارتباط بین سرویسها (Microservices) یا انتقال حجم زیادی از داده خیلی جدیه. قبل از Kafka، ابزارهایی مثل RabbitMQ یا ActiveMQ بودن، ولی اینها با رشد سریع داده و نیازهای مقیاسپذیری، کم میاوردن. Kafka اومد تا چند تا مشکل اساسی رو حل کنه:
حجم بالای داده:
سیستمهای توزیعشده:
ذخیرهسازی پایدار:
ریپلی دیتا:
🛠 ـKafka چطوری کار میکنه؟
ـKafka یه ساختار ساده ولی قوی داره:
ـProducers:
ـTopics:
ـConsumers:
ـBrokers:
🔥 چرا باید Kafka استفاده کنیم؟
ـKafka فقط یه ابزار ساده برای انتقال پیام نیست. قابلیتهای منحصربهفردش اونو به یه انتخاب عالی برای سیستمهای بزرگ تبدیل کرده:
1⃣ مقیاسپذیری بالا
ـKafka میتونه به راحتی برای سیستمهای بزرگ استفاده بشه. مثلاً اگه یه میلیارد تراکنش در روز داری، Kafka همچنان جواب میده.
2⃣ ـFault Tolerance
به خاطر معماری توزیعشده، اگه یکی از سرورها (Broker) از کار بیفته، بقیه سرورها همچنان کار میکنن.
3⃣ـMessage Replay
مصرفکنندهها میتونن پیامها رو هر وقت لازم شد دوباره بخونن. مثلاً اگه سیستمت یه مشکل داشت و نیاز به بازپردازش داده بود.
4⃣ پشتیبانی از استریمینگ
میتونی دادهها رو به صورت Real-time پردازش کنی. ابزار Kafka Streams دقیقاً برای این کار طراحی شده.
جمع بندی ✍
ـKafka یه ابزار قدرتمنده که بیشتر تو سیستمهای توزیعشده و پرحجم استفاده میشه. اگه قراره روی پروژهای کار کنی که نیاز به پردازش Real-time یا انتقال حجم بالای داده داره، Kafka یکی از بهترین انتخابهاست.
اگه سیستمهایی با معماری پیچیده طراحی میکنی یا میخوای با حجم زیادی از داده کار کنی، احتمالش زیاده اسم Kafka رو شنیده باشی. Kafka یه Distributed Streaming Platform هست که توسط LinkedIn ساخته شد و بعدش به Apache منتقل شد. اما چرا Kafka اینقدر مهمه و کجاها به کار میاد؟ بیایید دقیق بررسیش کنیم.
📜 ـKafka چرا ساخته شد؟
تو معماری سیستمهای بزرگ، نیاز به ارتباط بین سرویسها (Microservices) یا انتقال حجم زیادی از داده خیلی جدیه. قبل از Kafka، ابزارهایی مثل RabbitMQ یا ActiveMQ بودن، ولی اینها با رشد سریع داده و نیازهای مقیاسپذیری، کم میاوردن. Kafka اومد تا چند تا مشکل اساسی رو حل کنه:
حجم بالای داده:
ـKafka میتونه میلیونها پیام در ثانیه رو مدیریت کنه.
سیستمهای توزیعشده:
برای سیستمهایی که از چندین سرویس استفاده میکنن، یه ابزار مطمئن برای انتقال پیام لازمه.
ذخیرهسازی پایدار:
برخلاف Kafka ، RabbitMQ پیامها رو برای مدت مشخصی نگه میداره.
ریپلی دیتا:
اگه یه سرویس دچار مشکل بشه، میتونه دوباره پیامها رو از Kafka بخونه.
🛠 ـKafka چطوری کار میکنه؟
ـKafka یه ساختار ساده ولی قوی داره:
ـProducers:
وظیفه تولید و ارسال پیامها رو دارن. این پیامها میتونن هر چیزی باشن، مثل دادههای تراکنش، لاگ سیستم، یا حتی کلیکهای کاربران تو سایت.
ـTopics:
پیامها توی تاپیکها ذخیره میشن. هر تاپیک میتونه مربوط به یه بخش از سیستم باشه (مثلاً تاپیک سفارشات، تاپیک کاربران).
ـConsumers:
وظیفه خوندن پیامها از تاپیکها رو دارن.
ـBrokers:
ـ Kafka روی چندین ماشین یا سرور (به نام Broker) اجرا میشه و وظیفه توزیع پیامها بین این سرورها رو داره.
🔥 چرا باید Kafka استفاده کنیم؟
ـKafka فقط یه ابزار ساده برای انتقال پیام نیست. قابلیتهای منحصربهفردش اونو به یه انتخاب عالی برای سیستمهای بزرگ تبدیل کرده:
1⃣ مقیاسپذیری بالا
ـKafka میتونه به راحتی برای سیستمهای بزرگ استفاده بشه. مثلاً اگه یه میلیارد تراکنش در روز داری، Kafka همچنان جواب میده.
2⃣ ـFault Tolerance
به خاطر معماری توزیعشده، اگه یکی از سرورها (Broker) از کار بیفته، بقیه سرورها همچنان کار میکنن.
3⃣ـMessage Replay
مصرفکنندهها میتونن پیامها رو هر وقت لازم شد دوباره بخونن. مثلاً اگه سیستمت یه مشکل داشت و نیاز به بازپردازش داده بود.
4⃣ پشتیبانی از استریمینگ
میتونی دادهها رو به صورت Real-time پردازش کنی. ابزار Kafka Streams دقیقاً برای این کار طراحی شده.
جمع بندی ✍
ـKafka یه ابزار قدرتمنده که بیشتر تو سیستمهای توزیعشده و پرحجم استفاده میشه. اگه قراره روی پروژهای کار کنی که نیاز به پردازش Real-time یا انتقال حجم بالای داده داره، Kafka یکی از بهترین انتخابهاست.
#programming #Kafka
🔆 CHANNEL | GROUP
Forwarded from ⚝ (Amir Hossein "Amiria" Maher)
Forwarded from Geek Alerts
نتایج گوگل رو از الان میتونید بدون شخصیسازی ببینید، حالت عادی سایتهارو بر اساس سوابق جستجوی شما رتبهبندی میکنه که با زدن این دکمه، رتبهبندی سایتها بدون در نظر گرفتن سوابق شما هست.
مثل اینه که گوگل رو با incognito مرورگر باز کنید.
seroundtable
@geekalerts
مثل اینه که گوگل رو با incognito مرورگر باز کنید.
seroundtable
@geekalerts
Forwarded from Gopher Academy
🔵 عنوان مقاله
We Put the Go in Google Gemini
🟢 خلاصه مقاله:
مقالهای که در اختیار داریم، به توضیحاتی پیرامون Google Gemini 1.5 Flash 8B for Go میپردازد، یک ابزار قدرتمند که قابلیت پردازش بیش از 1 میلیون توکن در یک پنجرهی متنی را دارد. این سیستم قادر است بیش از 30,000 خط کد را طی چند ثانیه از طریق فیلمهای آموزشی مستقیم یا فایلهای لاگ پردازش کند و هزینه آن نسبت به روشهای مشابه بسیار کمتر است. ابزار Gemini1.5 از API های Google برای ساخت و به کارگیری در زبان برنامهنویسی "Go" استفاده میکند. این امکانات باعث میشود تا توسعهدهندگان بتوانند برنامههای کاربردی را به صورت سریع و با کیفیت بالا بسازند. برای استفاده از این ابزار، باید از طریق Google API Quickstart در Go اقدام کنید، که فرآیندی ساده و مستقیم برای اجرای گسترده و کاربردی این ابزار فراهم میکند.
🟣لینک مقاله:
https://golangweekly.com/link/162903/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
We Put the Go in Google Gemini
🟢 خلاصه مقاله:
مقالهای که در اختیار داریم، به توضیحاتی پیرامون Google Gemini 1.5 Flash 8B for Go میپردازد، یک ابزار قدرتمند که قابلیت پردازش بیش از 1 میلیون توکن در یک پنجرهی متنی را دارد. این سیستم قادر است بیش از 30,000 خط کد را طی چند ثانیه از طریق فیلمهای آموزشی مستقیم یا فایلهای لاگ پردازش کند و هزینه آن نسبت به روشهای مشابه بسیار کمتر است. ابزار Gemini1.5 از API های Google برای ساخت و به کارگیری در زبان برنامهنویسی "Go" استفاده میکند. این امکانات باعث میشود تا توسعهدهندگان بتوانند برنامههای کاربردی را به صورت سریع و با کیفیت بالا بسازند. برای استفاده از این ابزار، باید از طریق Google API Quickstart در Go اقدام کنید، که فرآیندی ساده و مستقیم برای اجرای گسترده و کاربردی این ابزار فراهم میکند.
🟣لینک مقاله:
https://golangweekly.com/link/162903/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from An Inspired Engineer
روش پیاده سازی ACK پروتکل TCP توی کرنل
خب وقتی اسم TCP میاد وسط اولین چیزی که به ذهنمون خطور میکنه اینه که TCP برعکس UDP گارانتی میکنه که پکت ارسالی شما نهایت به مقصدش برسه. یکی از راه هایی که میاد میفهمه چیزی ارسال شده یا نه اینه که به ازای دریافت هر پکت داده به گیرنده بگه که این پکتی که فرستادی رو گرفتمش(ACK).
خب تا اینجای ماجرا ما یه فرستنده داریم که داده میفرسته و گیرنده به ازای هر دریافت پکت به فرستنده میگه که پکت ارسال شده رو گرفتم، اینو بزاریم کنار بریم توی کد سمت سرور:
من یه سوکت میسازم، بایند میکنمش به پورت ۸۰۸۰، شروع میکنم به گوش دادن و وقتی کانکشن جدید میاد اکسپتش میکنم و ارتباط بین کانکشن کلاینت و من برقرار میشه:
حالا کلاینت شروع میکنه برای ما دیتا میفرسته ولی ما هیچ دیتایی رو با سیستم کال read() نمیخونیم، سوالی که پیش میاد اینه که ایا کلاینت بدون اینکه من read انجام بدم ACK رو دریافت میکنه؟ جواب بله اس، بله دریافت میکنه!
هنگامی که یک بسته میرسه، استک TCP کرنل بلافاصله اون رو توی بافر دریافت مینویسه و یه ACK برای فرستنده میفرسته. این ACK تایید می کنه که بسته به کرنل رسیده و برای خوندن از سمت برنامه ی من که از طریق Go نوشتم آماده است. با این حال دیگه TCP منتظر نمیمونه تا برنامه قبل از تایید بیاد و داده ها رو پردازش کنه، این جدایی بین لایه های انتقال و برنامه دقیقا چیزیه که TCP رو بهینه و سریع و پاسخگو نگه میداره و تضمین میکنه که فرستنده میتونه بدون منتظر بودن پردازش داده توسط برنامه(کد ما که بالا نوشته شده) به ارسال داده ادامه بده.
- خب پس داده ها کجان؟
+ اینجا این بافر رو یادتونه؟ کرنل دقیقا وقتی دیتا رو میگیره اون رو داخل این بافر میریزه و به فرستنده که کلاینت باشه ACK رو میفرسته. و دیگه منتظر برنامه نمیمونه تا تایید بده
@knowpow
خب وقتی اسم TCP میاد وسط اولین چیزی که به ذهنمون خطور میکنه اینه که TCP برعکس UDP گارانتی میکنه که پکت ارسالی شما نهایت به مقصدش برسه. یکی از راه هایی که میاد میفهمه چیزی ارسال شده یا نه اینه که به ازای دریافت هر پکت داده به گیرنده بگه که این پکتی که فرستادی رو گرفتمش(ACK).
خب تا اینجای ماجرا ما یه فرستنده داریم که داده میفرسته و گیرنده به ازای هر دریافت پکت به فرستنده میگه که پکت ارسال شده رو گرفتم، اینو بزاریم کنار بریم توی کد سمت سرور:
من یه سوکت میسازم، بایند میکنمش به پورت ۸۰۸۰، شروع میکنم به گوش دادن و وقتی کانکشن جدید میاد اکسپتش میکنم و ارتباط بین کانکشن کلاینت و من برقرار میشه:
listener := net.Listen("tcp", "localhost:8080")
fmt.Printf("Server listening on %s\n", address)
conn := listener.Accept()
fmt.Printf("Accepted connection from %s\n", conn.RemoteAddr().String())
// اینجا کلاینت داره برای ما داده میفرسته ولی ما نمیخونیم. نخوندن ما به معنی ارسال نکردن ACK توسط کرنل نیست.
حالا کلاینت شروع میکنه برای ما دیتا میفرسته ولی ما هیچ دیتایی رو با سیستم کال read() نمیخونیم، سوالی که پیش میاد اینه که ایا کلاینت بدون اینکه من read انجام بدم ACK رو دریافت میکنه؟ جواب بله اس، بله دریافت میکنه!
هنگامی که یک بسته میرسه، استک TCP کرنل بلافاصله اون رو توی بافر دریافت مینویسه و یه ACK برای فرستنده میفرسته. این ACK تایید می کنه که بسته به کرنل رسیده و برای خوندن از سمت برنامه ی من که از طریق Go نوشتم آماده است. با این حال دیگه TCP منتظر نمیمونه تا برنامه قبل از تایید بیاد و داده ها رو پردازش کنه، این جدایی بین لایه های انتقال و برنامه دقیقا چیزیه که TCP رو بهینه و سریع و پاسخگو نگه میداره و تضمین میکنه که فرستنده میتونه بدون منتظر بودن پردازش داده توسط برنامه(کد ما که بالا نوشته شده) به ارسال داده ادامه بده.
- خب پس داده ها کجان؟
+ اینجا این بافر رو یادتونه؟ کرنل دقیقا وقتی دیتا رو میگیره اون رو داخل این بافر میریزه و به فرستنده که کلاینت باشه ACK رو میفرسته. و دیگه منتظر برنامه نمیمونه تا تایید بده
@knowpow
Telegram
An Inspired Engineer
اگر بخوام مثال دیگه ای از نوشتن به صورت بلاکینگ بگم این تصویر به خوبی میتونه گویای ماجرا باشه، اینجا من نوشتن بروی I/O سوکت TCP رو مثال میزنم و سیستم کال write() رو توضیح میدم.
خب توی تصویر میبینیم که برای هر اندپوینت سوکتی که از کرنل درخواست باز کردن میکنیم…
خب توی تصویر میبینیم که برای هر اندپوینت سوکتی که از کرنل درخواست باز کردن میکنیم…
Forwarded from Yasha
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Laravel News
Flexible Docker Images with PHP INI Environment Variables https://laravel-news.com/flexible-docker-images-with-php-ini-environment-variables
Laravel News
Flexible Docker Images with PHP INI Environment Variables - Laravel News
In this post, I'll show you how to use environment variables to make your Docker images super flexible. Learn how to use PHP's fallback values for INI environment variables make your INI configuration nice and clean.