Forwarded from Gopher Academy
هنگامی که دارید کد هاتون رو کامیت می کنید هیچ وقت کد های کامنت شده رو کامیت نکنید این باعث کثیف شدن پایگاه کد هاتون می شود و همچنین این باعث میشه از اصل کنترل ورژن دورتر شوید.
کثیف شدن پایگاه کد
وقتی که کدهای کامنتشده را در مخزن (Repository) خود کامیت میکنید، این کدها به عنوان بخشی از تاریخچهی پروژه شما ذخیره میشوند. این موضوع باعث میشود که پایگاه کد شما پر از کدهای مرده، غیرقابل استفاده و غیرقابل پیگیری شود. به مرور زمان، این کدها میتوانند باعث افزایش پیچیدگی پروژه شوند و درک کدها را برای توسعهدهندگان جدید و حتی خودتان در آینده دشوار کنند.
دوری از اصل کنترل ورژن:
یکی از اصول مهم کنترل ورژن این است که هر تغییر در کد به دقت مستند شود و تاریخچهی تغییرات به صورت واضح و قابل پیگیری باشد. زمانی که شما کدهای کامنتشده را کامیت میکنید، در واقع دارید کدی را ذخیره میکنید که نه کامل است و نه مشخص است که چرا کامنت شده. این باعث میشود که دلایل تغییرات به درستی مستند نشود و در آینده برای شما یا همکارانتان فهمیدن دلیل این کامنتها و بازگرداندن کدهای صحیح دشوار شود.
پایبندی به فلسفه کد تمیز:
کد تمیز (Clean Code) به معنای کدی است که خوانا، قابل فهم و بدون شلوغیهای اضافی باشد. وجود کدهای کامنتشده در مخزن شما برخلاف این فلسفه است، زیرا این کدها میتوانند باعث ایجاد ابهام و سردرگمی شوند. مثلاً ممکن است یک توسعهدهنده دیگر از خودش بپرسد که آیا این کد کامنتشده باید به کد اصلی اضافه شود یا نه. این موضوع میتواند باعث کاهش بهرهوری و ایجاد خطاهای غیرمنتظره در آینده شود.
راه حلهای جایگزین:
اگر نیاز دارید که کدی را برای مدت کوتاهی از اجرا خارج کنید ولی همچنان میخواهید آن را به یاد داشته باشید، میتوانید از امکانات کنترل ورژن استفاده کنید. به عنوان مثال، میتوانید آن کد را به یک شاخه (branch) جداگانه منتقل کنید. در این صورت، هم تاریخچهی پروژه تمیز باقی میماند و هم شما به راحتی میتوانید در صورت نیاز به آن کد دسترسی داشته باشید.
خلاصه کلام :
در مجموع، کامیت کردن کدهای کامنتشده نه تنها باعث کثیف شدن پایگاه کد میشود بلکه میتواند اصول کنترل ورژن را زیر سوال ببرد و درک و نگهداری پروژه را برای شما و همکارانتان در آینده دشوارتر کند. به جای کامیت کردن کدهای کامنتشده، سعی کنید از ابزارهای کنترل ورژن و مدیریت پروژه به درستی استفاده کنید تا پایگاه کد تمیزی داشته باشید.
DevTwitter | <Mohammad Abdorrahmani/>
➖➖➖➖➖➖➖➖
👑 @gopher_academy
کثیف شدن پایگاه کد
وقتی که کدهای کامنتشده را در مخزن (Repository) خود کامیت میکنید، این کدها به عنوان بخشی از تاریخچهی پروژه شما ذخیره میشوند. این موضوع باعث میشود که پایگاه کد شما پر از کدهای مرده، غیرقابل استفاده و غیرقابل پیگیری شود. به مرور زمان، این کدها میتوانند باعث افزایش پیچیدگی پروژه شوند و درک کدها را برای توسعهدهندگان جدید و حتی خودتان در آینده دشوار کنند.
دوری از اصل کنترل ورژن:
یکی از اصول مهم کنترل ورژن این است که هر تغییر در کد به دقت مستند شود و تاریخچهی تغییرات به صورت واضح و قابل پیگیری باشد. زمانی که شما کدهای کامنتشده را کامیت میکنید، در واقع دارید کدی را ذخیره میکنید که نه کامل است و نه مشخص است که چرا کامنت شده. این باعث میشود که دلایل تغییرات به درستی مستند نشود و در آینده برای شما یا همکارانتان فهمیدن دلیل این کامنتها و بازگرداندن کدهای صحیح دشوار شود.
پایبندی به فلسفه کد تمیز:
کد تمیز (Clean Code) به معنای کدی است که خوانا، قابل فهم و بدون شلوغیهای اضافی باشد. وجود کدهای کامنتشده در مخزن شما برخلاف این فلسفه است، زیرا این کدها میتوانند باعث ایجاد ابهام و سردرگمی شوند. مثلاً ممکن است یک توسعهدهنده دیگر از خودش بپرسد که آیا این کد کامنتشده باید به کد اصلی اضافه شود یا نه. این موضوع میتواند باعث کاهش بهرهوری و ایجاد خطاهای غیرمنتظره در آینده شود.
راه حلهای جایگزین:
اگر نیاز دارید که کدی را برای مدت کوتاهی از اجرا خارج کنید ولی همچنان میخواهید آن را به یاد داشته باشید، میتوانید از امکانات کنترل ورژن استفاده کنید. به عنوان مثال، میتوانید آن کد را به یک شاخه (branch) جداگانه منتقل کنید. در این صورت، هم تاریخچهی پروژه تمیز باقی میماند و هم شما به راحتی میتوانید در صورت نیاز به آن کد دسترسی داشته باشید.
خلاصه کلام :
در مجموع، کامیت کردن کدهای کامنتشده نه تنها باعث کثیف شدن پایگاه کد میشود بلکه میتواند اصول کنترل ورژن را زیر سوال ببرد و درک و نگهداری پروژه را برای شما و همکارانتان در آینده دشوارتر کند. به جای کامیت کردن کدهای کامنتشده، سعی کنید از ابزارهای کنترل ورژن و مدیریت پروژه به درستی استفاده کنید تا پایگاه کد تمیزی داشته باشید.
DevTwitter | <Mohammad Abdorrahmani/>
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from amirsamimi_ir
اگر کاربر Vim هستید و میخواهید NeoVim را امتحان کنید و میخواهید بدون دردسر کانفیگها و پلاگینهای Vim به NeoVim انتقال پیدا کند، بعد از نصب NeoVim یک فایل کانفیگ در این مسیر بسازید:
در مرحله بعد این خطوط را در این فایل قرار دهید و ذخیره کنید:
همه چیز آماده است! حالا همان تنظیمات و همان پلاگینهایی که در Vim دارید، در NeoVim هم در دسترس شماست.
@amirsamimi_ir_telegram
~/.config/nvim/init.vim
در مرحله بعد این خطوط را در این فایل قرار دهید و ذخیره کنید:
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vimrc
همه چیز آماده است! حالا همان تنظیمات و همان پلاگینهایی که در Vim دارید، در NeoVim هم در دسترس شماست.
@amirsamimi_ir_telegram
Forwarded from محتوای آزاد سهراب
نظرسنجی شبانه.
محتوای کانال توی این یک ماه اخیر چطور بوده؟ :)))
خود نمودار تلگرام که چیز خوبی رو نشون نمیده...
#موقت
محتوای کانال توی این یک ماه اخیر چطور بوده؟ :)))
خود نمودار تلگرام که چیز خوبی رو نشون نمیده...
#موقت
Forwarded from LearnPOV | لرن پی او وی
مثل اینکه امروز درواقع قبل ساعت دوازده ( 30 سپتامبر ) روز جهانی پادکست بوده 🎙️
به همه رفقایی که خودشون پادکست تولید میکنند و عزیزانی که استفاده میکنند، با اندکی تاخیر تبریم میگم 🔥❤️
به همه رفقایی که خودشون پادکست تولید میکنند و عزیزانی که استفاده میکنند، با اندکی تاخیر تبریم میگم 🔥❤️
🚀 @coolycode
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond 🐈⬛ Dev)
🔶 شرکت HMD نام گوشیهای نوکیا را بهطور کامل از وبسایت خود حذف کرد.
شرکت HMD اعلام کرد که دیگر گوشی تحت نام نوکیا تولید نخواهد کرد که به معنای پایان دوران گوشیسازی نوکیا در دنیا هست.
https://nokiamob.net/2024/09/26/hmd-removes-nokia-phones-from-their-website/
#خبر
@TheRaymondDev
شرکت HMD اعلام کرد که دیگر گوشی تحت نام نوکیا تولید نخواهد کرد که به معنای پایان دوران گوشیسازی نوکیا در دنیا هست.
https://nokiamob.net/2024/09/26/hmd-removes-nokia-phones-from-their-website/
#خبر
@TheRaymondDev
Nokiamob
HMD Removes Nokia Phones from Their Website
HMD removes Nokia smartphones from market websites like the UK, Germany, and Austria, focusing on HMD-branded phones, with Nokia feature phones still listed.
Good Morning New Yorkers ☀️
<unknown>
رویا پردازی خالی به درد نمیخوره.
اگه دوست داری همچین صدایی رو سر صبح بشنوی باید زحمتش رو بکشی 🌑
@CodeModule
اگه دوست داری همچین صدایی رو سر صبح بشنوی باید زحمتش رو بکشی 🌑
@CodeModule
Forwarded from Gopher Academy
🔵 عنوان مقاله
Stytch: Auth0 Alternative for AuthN, AuthZ, Fraud Prevention
🟢 خلاصه مقاله:
مقاله به بررسی امکانات و خدمات Stytch در زمینه احراز هویت B2B چند-مستاجری در سطح شرکتها میپردازد. Stytch امکان استفاده از SSO (ورود یکباره)، RBAC (کنترل دسترسی براساس نقش) و SCIM (مدیریت هویت و دسترسی مبتنی بر استانداردهای ابری) را فراهم میکند. همچنین، این سرویس قابلیت استفاده از رابطهای کاربری از پیش ساخته شده، بدون رابط کاربری (headless)، و یا ادغام مستقیم با API را ارائه میدهد. یکی از ویژگیهای مهم Stytch شناسایی دیجیتالی دستگاههاست تا از طریق آن بتوان ردیابی باتها را انجام داد و از سوءاستفاده جلوگیری کرد. استفاده از Stytch با نسخه رایگان نیز آغاز میشود، که این امکان به کاربران اجازه میدهد تا کارایی و اثربخشی این سرویس را قبل از خرید تجربه کنند.
🟣لینک مقاله:
https://stytch.com?utm_source=go-weekly&utm_medium=paid_sponsorship&utm_content=go-weekly-05-14-2024&utm_campaign=go-weekly-05-14-2024
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Stytch: Auth0 Alternative for AuthN, AuthZ, Fraud Prevention
🟢 خلاصه مقاله:
مقاله به بررسی امکانات و خدمات Stytch در زمینه احراز هویت B2B چند-مستاجری در سطح شرکتها میپردازد. Stytch امکان استفاده از SSO (ورود یکباره)، RBAC (کنترل دسترسی براساس نقش) و SCIM (مدیریت هویت و دسترسی مبتنی بر استانداردهای ابری) را فراهم میکند. همچنین، این سرویس قابلیت استفاده از رابطهای کاربری از پیش ساخته شده، بدون رابط کاربری (headless)، و یا ادغام مستقیم با API را ارائه میدهد. یکی از ویژگیهای مهم Stytch شناسایی دیجیتالی دستگاههاست تا از طریق آن بتوان ردیابی باتها را انجام داد و از سوءاستفاده جلوگیری کرد. استفاده از Stytch با نسخه رایگان نیز آغاز میشود، که این امکان به کاربران اجازه میدهد تا کارایی و اثربخشی این سرویس را قبل از خرید تجربه کنند.
🟣لینک مقاله:
https://stytch.com?utm_source=go-weekly&utm_medium=paid_sponsorship&utm_content=go-weekly-05-14-2024&utm_campaign=go-weekly-05-14-2024
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Stytch
Stytch - A better way to build auth
APIs and SDKs to integrate authentication and security into your app.
Forwarded from Linuxor ?
آیا توی زبان C میشه بدون تابع main یه برنامه نوشت؟
نقطه شروع یه برنامه به زبان C تابع main هستش یه نفر توی کوئرا به اسم Mohd Saquib این برنامه که به زبان C نوشته و بدون فانکشن main برنامش اجرا میشه.
توضیح : در واقع فانکشن از قبل تعریف شده start_ کد های environment ضروری برنامه توش نوشته شده و داخلش تابع main صدا زده میشه، که اینجا اومده اونو دوباره تعریف کرده. دقت کنید اینو خودتون بنویسید موقع کامپایل خطای تعریف دوباره start_ میده و باید با سویچ nostartfiles کامپایلش کنید.
🐧 @Linuxor
نقطه شروع یه برنامه به زبان C تابع main هستش یه نفر توی کوئرا به اسم Mohd Saquib این برنامه که به زبان C نوشته و بدون فانکشن main برنامش اجرا میشه.
توضیح : در واقع فانکشن از قبل تعریف شده start_ کد های environment ضروری برنامه توش نوشته شده و داخلش تابع main صدا زده میشه، که اینجا اومده اونو دوباره تعریف کرده. دقت کنید اینو خودتون بنویسید موقع کامپایل خطای تعریف دوباره start_ میده و باید با سویچ nostartfiles کامپایلش کنید.
🐧 @Linuxor
Forwarded from Geek Alerts
بخش زیادی از نیروگاهها توی دنیا زغالسنگ هستن، این نیروگاهها کربن زیادی تولید میکنن و خیلی از کشورها تو برنامشون اینه که کاملا این نیروگاههارو کنار بذارن.
مثلا ایتالیا تاسال ۲۰۲۵ و کانادا تا سال ۲۰۳۰، آلمان تا ۲۰۲۸.
تا اینجا ولی بریتانیا زودتر از بقیه اقدام کرده و با تعطیل کردن نیروگاه Ratcliffe-on-Soar در ناتینگهامشایر به عنوان آخرین نیروگاه زغالسنگی به تولید برق با این روش پایان داد.
جدا از عدم تولید برق قرار هست که استخراج زغالسنگ توی بریتانیا هم متوقف بشه و برای مواردی که نیاز هست واردات داشته باشن.
جالبه بدونید که ۳۰ درصد از برق ژاپن و ۲۵ درصد از برق آلمان هنوز با نیروگاههای زغالسنگی تامین میشن.
theguardian
@geekalerts
مثلا ایتالیا تاسال ۲۰۲۵ و کانادا تا سال ۲۰۳۰، آلمان تا ۲۰۲۸.
تا اینجا ولی بریتانیا زودتر از بقیه اقدام کرده و با تعطیل کردن نیروگاه Ratcliffe-on-Soar در ناتینگهامشایر به عنوان آخرین نیروگاه زغالسنگی به تولید برق با این روش پایان داد.
جدا از عدم تولید برق قرار هست که استخراج زغالسنگ توی بریتانیا هم متوقف بشه و برای مواردی که نیاز هست واردات داشته باشن.
جالبه بدونید که ۳۰ درصد از برق ژاپن و ۲۵ درصد از برق آلمان هنوز با نیروگاههای زغالسنگی تامین میشن.
theguardian
@geekalerts
Forwarded from Geek Alerts
نوکیا میدونید که خیلی وقت هست تولید گوشی با برند نوکیا رو به شرکت HMD Global فروخته، بعدتر HMD تصمیم گرفت گوشیهارو با برند خودش تولید کنه و دیگه از برند نوکیا استفاده نکرد.
این خبر میتونست پایان نوکیا باشه اما همچنان گوشیهای نوکیا در فروشگاههای HMD موجود بود.
حالا خبر رسیده که HMD نوکیا رو از فروشگاههای خودش هم حذف کرده و به نظر میرسه این پایان دوران گوشیسازی نوکیا در دنیا هست.
البته ممکنه همچنان شرکتهایی امتیاز تولید گوشی با اسم نوکیا رو بخرن ولی فعلا خبری نیست.
newsbytesapp
@geekalerts
این خبر میتونست پایان نوکیا باشه اما همچنان گوشیهای نوکیا در فروشگاههای HMD موجود بود.
حالا خبر رسیده که HMD نوکیا رو از فروشگاههای خودش هم حذف کرده و به نظر میرسه این پایان دوران گوشیسازی نوکیا در دنیا هست.
البته ممکنه همچنان شرکتهایی امتیاز تولید گوشی با اسم نوکیا رو بخرن ولی فعلا خبری نیست.
newsbytesapp
@geekalerts
Forwarded from Ninja Learn | نینجا لرن
💎 معرفی SSE در Node.js 💎
مروز میخوایم درباره SSE یا Server-Sent Events توی Node.js صحبت کنیم.
حالا SSE چیه؟ 🤔
خب SSE یکی از تکنیکهای وب هست که به سرور اجازه میده به طور یکطرفه اطلاعات رو به کلاینت بفرسته. یعنی سرور میتونه دادهها رو به مرور زمان به کلاینت بفرسته بدون اینکه کلاینت درخواست خاصی بده.
چرا از SSE استفاده کنیم؟ 💡
1⃣ ساده و راحت:
برای پیادهسازی SSE به کد کمتری نسبت به WebSocket نیاز داریم و سادهتره.
2⃣ بروزرسانیهای زنده:
میتونی اطلاعات مثل نوتیفیکیشنها یا اخبار رو به صورت زنده به کاربران ارسال کنی.
3⃣ پشتیبانی از مرورگرها:
اکثر مرورگرهای مدرن از SSE پشتیبانی میکنند.
چطور از SSE در Node.js استفاده کنیم؟ 🚀
برای استفاده از SSE توی Node.js میتونی به راحتی یه سرور ساده راه بندازی. مثلاً:
توضیحات کد 📝
- با استفاده از Express یه روت
- سرور با استفاده از
سمت کلاینت 🖥️
برای دریافت این دادهها در کلاینت میتونی از JavaScript استفاده کنی:
جمعبندی 🎯
فهمیدیم SSE یکی از روشهای عالی برای ارسال دادهها به صورت زنده از سرور به کلاینت در Node.js هست. با استفاده از این تکنیک میتونی تجربه کاربری بهتری رو برای اپلیکیشنهات ایجاد کنی.
امید وارم مفید بوده باشه :)
@ninja_learn_ir
مروز میخوایم درباره SSE یا Server-Sent Events توی Node.js صحبت کنیم.
حالا SSE چیه؟ 🤔
خب SSE یکی از تکنیکهای وب هست که به سرور اجازه میده به طور یکطرفه اطلاعات رو به کلاینت بفرسته. یعنی سرور میتونه دادهها رو به مرور زمان به کلاینت بفرسته بدون اینکه کلاینت درخواست خاصی بده.
چرا از SSE استفاده کنیم؟ 💡
1⃣ ساده و راحت:
برای پیادهسازی SSE به کد کمتری نسبت به WebSocket نیاز داریم و سادهتره.
2⃣ بروزرسانیهای زنده:
میتونی اطلاعات مثل نوتیفیکیشنها یا اخبار رو به صورت زنده به کاربران ارسال کنی.
3⃣ پشتیبانی از مرورگرها:
اکثر مرورگرهای مدرن از SSE پشتیبانی میکنند.
چطور از SSE در Node.js استفاده کنیم؟ 🚀
برای استفاده از SSE توی Node.js میتونی به راحتی یه سرور ساده راه بندازی. مثلاً:
const express = require('express')
const app = express()
app.get('/events', (req, res) => {
res.setHeader('Content-Type', 'text/event-stream')
res.setHeader('Cache-Control', 'no-cache')
res.setHeader('Connection', 'keep-alive')
setInterval(() => {
const data = new Date().toLocaleTimeString()
res.write(`data: ${data}\n\n`)
}, 1000)
})
app.listen(3000, () => {
console.log('Server running on https://localhost:3000')
})توضیحات کد 📝
- با استفاده از Express یه روت
/events تعریف کردیم که دادهها رو به صورت زنده ارسال میکنه.- سرور با استفاده از
setInterval هر یک ثانیه زمان فعلی رو به کلاینت ارسال میکنه.سمت کلاینت 🖥️
برای دریافت این دادهها در کلاینت میتونی از JavaScript استفاده کنی:
const eventSource = new EventSource('/events')
eventSource.onmessage = (event) => {
console.log('New message:', event.data)
}جمعبندی 🎯
فهمیدیم SSE یکی از روشهای عالی برای ارسال دادهها به صورت زنده از سرور به کلاینت در Node.js هست. با استفاده از این تکنیک میتونی تجربه کاربری بهتری رو برای اپلیکیشنهات ایجاد کنی.
#sse #js #node.js
Forwarded from Go Casts 🚀
گاهی اوقات پیش میاد که شما لازم دارید یه حجم زیادی از اطلاعات رو دریافت و پردازش کنید.
این حجم زیاد اطلاعات ممکنه از یک جنس داده باشه و از یک منبع واحد خونده بشن، و یا نه، ممکنه از انواع مختلف باشه و احتیاج باشه که منابع مختلفی رو فراخوانی کنید.
در هر صورت اتفاقی که میفته اینه که زمان پردازش شما زیاد میشه و بهتره که به دنبال بهتر کردنش باشید. یکی از الگوهایی که کمک میکنه این قضیه رو مدیریت کنید الگوی scatter/gather هست، که خیلی وقت پیش در موردش در کانال صحبت شده بود، که میتونید از اینجا بخونید
https://t.iss.one/gocasts/64
این الگو به شما اجازه میده که پردازش موازی داشته باشید (parallelism)
Scatter-gather pattern
https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/scatter-gather.html
اگه پردازشی که دارید انجام میدید cpu bound هست، میتونید با تقسیم کردن کار بین چند core یا thread پردازنده موازی سازی انجام بدید که در زمان خیلی کمتری پردازش همه داده هارو انجام بدید.
الگوی io bound مخصوصا در معماری microservice میتونه مناسب باشه، ممکنه یک درخواستی برای پردازش چندین سرویس رو درگیر کنه، که اگه پردازش سرویس ها به همدیگه وابستگی نداشته باشن، میشه از این الگو بهره گرفت که بصورت موازی پردازش هر سرویس انجام بشه.
درسته که این الگو رو به شیوه synchronous هم میشه پیاده سازی کرد، اما معمولا به صورت asynchronous و با استفاده از message passing از این الگو استفاده میکنن.
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.iss.one/gocasts/515
@gocasts
این حجم زیاد اطلاعات ممکنه از یک جنس داده باشه و از یک منبع واحد خونده بشن، و یا نه، ممکنه از انواع مختلف باشه و احتیاج باشه که منابع مختلفی رو فراخوانی کنید.
در هر صورت اتفاقی که میفته اینه که زمان پردازش شما زیاد میشه و بهتره که به دنبال بهتر کردنش باشید. یکی از الگوهایی که کمک میکنه این قضیه رو مدیریت کنید الگوی scatter/gather هست، که خیلی وقت پیش در موردش در کانال صحبت شده بود، که میتونید از اینجا بخونید
https://t.iss.one/gocasts/64
این الگو به شما اجازه میده که پردازش موازی داشته باشید (parallelism)
Scatter-gather pattern
https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/scatter-gather.html
اگه پردازشی که دارید انجام میدید cpu bound هست، میتونید با تقسیم کردن کار بین چند core یا thread پردازنده موازی سازی انجام بدید که در زمان خیلی کمتری پردازش همه داده هارو انجام بدید.
الگوی io bound مخصوصا در معماری microservice میتونه مناسب باشه، ممکنه یک درخواستی برای پردازش چندین سرویس رو درگیر کنه، که اگه پردازش سرویس ها به همدیگه وابستگی نداشته باشن، میشه از این الگو بهره گرفت که بصورت موازی پردازش هر سرویس انجام بشه.
درسته که این الگو رو به شیوه synchronous هم میشه پیاده سازی کرد، اما معمولا به صورت asynchronous و با استفاده از message passing از این الگو استفاده میکنن.
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.iss.one/gocasts/515
@gocasts
Telegram
Go Casts 🚀
سلام دوستان، امیدوارم حالتون خوب باشه، من باز اومدم با یه الگوی دیگه از دنیای distributed systems!
Scatter/Gather
الگوی بعدی که در موردش صحبت میکنیم، الگوی scatter/gather هست.
الگوی replicated از منظر «تعداد درخواست پردازش شده در ثانیه» به scalability توجه…
Scatter/Gather
الگوی بعدی که در موردش صحبت میکنیم، الگوی scatter/gather هست.
الگوی replicated از منظر «تعداد درخواست پردازش شده در ثانیه» به scalability توجه…
Forwarded from کانال اطلاعرسانی توزیع پارچ
Forwarded from کانال اطلاعرسانی توزیع پارچ
Forwarded from Agora (Alireza Azadi)
به حرفهای معمول راجعبه رمز و راز موفقیت باور ندارم. بجز این که قالبا آماده شدهند که بفروشه، اکثرا با واقعیتی که از زندگی خودم و اطرافیانم میبینم جور در نمیان. کار نمیکن. این بین، یک سری از نظرها هستند که بهنظر از این جنس نیستند. یعنی نیومدند که حرفی رو بفروشند یا لزوما دست شما بگیرند برای طی کردن مسیر موفقیت. حرفهایی هستند که چراغ میندازند روی مکانیزمهایی که اساسیند ولی عمدتاً نادیده گرفته میشند که نتیجهش خیلی گستردهس. بخشی از صحبتهای Jensen Huang رو که چند ماه پیش در جمع دانشجویانی از استندفورد بود رو دیدم که برام دقیقا همچین حس و حالی رو داشت.به قولی، چیزی را در من روشن کرد :) حداقل برام خیلی جالب بود چون که تا حالا به این رابطه فکر نکرده بودم. ویدیو رو میتونید ببنید که خب کوتاهه اما من میخوام به مغز کلام رو بنویسم:
«انتظار داشتن، تابآوری رو کم میکنه» و تابآوری از اساسیترین ملزومات ادامه دادن مسیره.
چرا من این حرف رو خریدارم و فکر میکنم ارزشش رو داره؟ این که مدیر انویدیا گفته؟! نه. هرکی که میکروفون دستش میگیره فکر میکنه باید چیزی بگه که مخاطب تحت تاثیر قرار بگیره. اما من این رو میخرم چون این رابطه رو من توی زندگی آدمهایی که اطرافم هستند و اونها رو آدم حسابی میدونم میبینم. آدمهایی آنچنان آروم که انگار مشکلات هیچوقت سراغ اونها نمیاد. آدمهایی که با سادهترین و بیتجربهترین چشمها هم میشه میشه کوهی از استعداد و توانایی رو در اون ها دید. در عینحال شما هیچوقت نمیبینید اینها در تکاپویی رقتبار و پر از حسرت باشند برای رسیدن به خواستههاشون: «اپلای کنیم بریم فلان دانشگاه؟» «چرا بهمان شرکتها هرچی رزومه میفرستم منو نمیگیرن؟!!! من که خیلی باسوادم! من واقعا حیفم!!» و هزار تا مثال ازغرغرها و حسرتهایی که ما از دهن آدمهای معمولا نزدیک اطرافمون (و البته خودمون) میشنویم.
نمیخوام اینجا راهحل به کسی بفروشم. کم توقعی هم لزومی نداره منجربه این بشه که موفقیت کسب کنیم. چه بسا آدمهای کم توقعی استخوانها تو مسیر زندگی خرد کردن و میانهی راه از جریان زندگی حذف شدند. این که اونها غرنمیزنن و«انگار مشکلات هیچوقت سراغ اونها نمیاد» قطعا و واضحاً ترکیبی پیچیده از ویژگیهاییه که دارند و البته شانس. شانس خیلی زیاد که من اون رو شالودهی اصلی برای «چیزی شدن» میدونم. اما با تمام این تفاسیر، این حرف همچنان در جای خودش درسته: انتظار داشتن، تابآوری رو کم میکنه و تابآوری از اساسیترین ملزومات ادامه دادن مسیره.
https://www.youtube.com/watch?v=RX6y0Nrwa1I
«انتظار داشتن، تابآوری رو کم میکنه» و تابآوری از اساسیترین ملزومات ادامه دادن مسیره.
چرا من این حرف رو خریدارم و فکر میکنم ارزشش رو داره؟ این که مدیر انویدیا گفته؟! نه. هرکی که میکروفون دستش میگیره فکر میکنه باید چیزی بگه که مخاطب تحت تاثیر قرار بگیره. اما من این رو میخرم چون این رابطه رو من توی زندگی آدمهایی که اطرافم هستند و اونها رو آدم حسابی میدونم میبینم. آدمهایی آنچنان آروم که انگار مشکلات هیچوقت سراغ اونها نمیاد. آدمهایی که با سادهترین و بیتجربهترین چشمها هم میشه میشه کوهی از استعداد و توانایی رو در اون ها دید. در عینحال شما هیچوقت نمیبینید اینها در تکاپویی رقتبار و پر از حسرت باشند برای رسیدن به خواستههاشون: «اپلای کنیم بریم فلان دانشگاه؟» «چرا بهمان شرکتها هرچی رزومه میفرستم منو نمیگیرن؟!!! من که خیلی باسوادم! من واقعا حیفم!!» و هزار تا مثال ازغرغرها و حسرتهایی که ما از دهن آدمهای معمولا نزدیک اطرافمون (و البته خودمون) میشنویم.
نمیخوام اینجا راهحل به کسی بفروشم. کم توقعی هم لزومی نداره منجربه این بشه که موفقیت کسب کنیم. چه بسا آدمهای کم توقعی استخوانها تو مسیر زندگی خرد کردن و میانهی راه از جریان زندگی حذف شدند. این که اونها غرنمیزنن و«انگار مشکلات هیچوقت سراغ اونها نمیاد» قطعا و واضحاً ترکیبی پیچیده از ویژگیهاییه که دارند و البته شانس. شانس خیلی زیاد که من اون رو شالودهی اصلی برای «چیزی شدن» میدونم. اما با تمام این تفاسیر، این حرف همچنان در جای خودش درسته: انتظار داشتن، تابآوری رو کم میکنه و تابآوری از اساسیترین ملزومات ادامه دادن مسیره.
https://www.youtube.com/watch?v=RX6y0Nrwa1I
YouTube
Jensen Huang speech at Stanford University | Pain & Suffering #nvidia
One, one of my, one of, I think one of my great advantages is that I have very low expectations, and I mean that most of the Stanford graduates have very high expectations.
And you deserve to have expectations because you came from a great school, you were…
And you deserve to have expectations because you came from a great school, you were…
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 هم اکنون وارد فاز مشارکت در پارچ لینوکس شدیم.
در حال طراحی بخش وبلاگ وب سایت پارچ لینوکس هستیم.
وب سایت :
https://parchlinux.com/
وبلاگ :
https://blog.parchlinux.com/
#لینوکس
@TheRaymondDev
در حال طراحی بخش وبلاگ وب سایت پارچ لینوکس هستیم.
وب سایت :
https://parchlinux.com/
وبلاگ :
https://blog.parchlinux.com/
#لینوکس
@TheRaymondDev
Forwarded from Gopher Academy
🔵 عنوان مقاله
Reclaiming CPU for Free with PGO
🟢 خلاصه مقاله:
مقالهای که به بررسی تجربیات شرکتهای Dolt و Cloudflare با استفاده از بهینهسازی مبتنی بر نمایه (PGO) در نسخه 1.20 و بالاتر زبان برنامهنویسی Go پرداخته، نشان میدهد که Cloudflare به طور خاص سود بزرگی از این فناوری برده است. با توجه به مقیاس بزرگ استفاده از خدمات مبتنی بر Go در Cloudflare، که شامل هزاران هسته میشود، نتایج حاصله از این بهینهسازی بسیار چشمگیر است. این بهینهسازی که در نسخههای جدیدتر Go اعمال شده، به طور موثری عملکرد برنامهها را بهبود میبخشد، و Cloudflare توانسته از این روش برای افزایش کارایی و بهرهوری در مقیاس وسیع بهرهمند شود. در نتیجه، مقاله بر اهمیت انتخاب این فناوریهای نوین در توسعه و استقرار سیستمهای نرمافزاری در سطوح بالای عملیاتی تاکید میکند.
🟣لینک مقاله:
https://blog.cloudflare.com/reclaiming-cpu-for-free-with-pgo/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Reclaiming CPU for Free with PGO
🟢 خلاصه مقاله:
مقالهای که به بررسی تجربیات شرکتهای Dolt و Cloudflare با استفاده از بهینهسازی مبتنی بر نمایه (PGO) در نسخه 1.20 و بالاتر زبان برنامهنویسی Go پرداخته، نشان میدهد که Cloudflare به طور خاص سود بزرگی از این فناوری برده است. با توجه به مقیاس بزرگ استفاده از خدمات مبتنی بر Go در Cloudflare، که شامل هزاران هسته میشود، نتایج حاصله از این بهینهسازی بسیار چشمگیر است. این بهینهسازی که در نسخههای جدیدتر Go اعمال شده، به طور موثری عملکرد برنامهها را بهبود میبخشد، و Cloudflare توانسته از این روش برای افزایش کارایی و بهرهوری در مقیاس وسیع بهرهمند شود. در نتیجه، مقاله بر اهمیت انتخاب این فناوریهای نوین در توسعه و استقرار سیستمهای نرمافزاری در سطوح بالای عملیاتی تاکید میکند.
🟣لینک مقاله:
https://blog.cloudflare.com/reclaiming-cpu-for-free-with-pgo/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Cloudflare Blog
Reclaiming CPU for free with Go's Profile Guided Optimization
Golang 1.20 introduced support for Profile Guided Optimization (PGO) to the go compiler. This allows guiding the compiler to introduce optimizations based on the real world behaviour of your system. This post covers the process we created for experimenting…
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
یه فیشینگ خوشگل ببینید
پ.ن
کلمه Kunde (کونده) در زبان آلمانی یعنی مشتری. که همچین بیربط هم نیست :دی
پ.ن
کلمه Kunde (کونده) در زبان آلمانی یعنی مشتری. که همچین بیربط هم نیست :دی