Forwarded from a pessimistic researcher (Kc)
Software Engineer Intern @ Snowflake, Berlin
—————————————————————
یه فرصت خیلی عالی برای دوستان ارشد و دکتری که توی اروپا تحصیل میکنند و بکگراند سیستمی و دیتابیسی دارن.
If you’re looking for an internship at the cutting edge of AI and Data, Snowflake Berlin has just opened its 2026 Internship Program! 🎉
We’re on the lookout for multiple talented interns to join us on this journey, so if this sounds like you (or your friends), now’s the time to apply!
Don’t miss the chance to work on real challenges, learn from world-class engineers, and shape the future of data. 💡✨
Link
—————————————————————
یه فرصت خیلی عالی برای دوستان ارشد و دکتری که توی اروپا تحصیل میکنند و بکگراند سیستمی و دیتابیسی دارن.
If you’re looking for an internship at the cutting edge of AI and Data, Snowflake Berlin has just opened its 2026 Internship Program! 🎉
We’re on the lookout for multiple talented interns to join us on this journey, so if this sounds like you (or your friends), now’s the time to apply!
Don’t miss the chance to work on real challenges, learn from world-class engineers, and shape the future of data. 💡✨
Link
Snowflake Careers
Software Engineer Intern - Berlin (2026) | Berlin, Germany | Engineering
Apply for Software Engineer Intern - Berlin (2026) job with Snowflake in Berlin, Germany. Engineering at Snowflake
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
This media is not supported in your browser
VIEW IN TELEGRAM
🔶 قسمت جدید طراحی سایت شرکتی با لاراول ۱۲ منتشر شد.
۱۱- ایجاد دسته بندی (آیتم) برای نمونه کارها
قیمت دوره با تخفیف ۴۰ درصد : ۹۰۰,۰۰۰ تومان
https://rayium.ir/course/?p=1613
#لاراول
@TheRaymondDev
۱۱- ایجاد دسته بندی (آیتم) برای نمونه کارها
قیمت دوره با تخفیف ۴۰ درصد : ۹۰۰,۰۰۰ تومان
https://rayium.ir/course/?p=1613
#لاراول
@TheRaymondDev
Forwarded from haashemi.dev
با این ربات میتونید امتیاز دلقکی همگروهیهاتون رو افزایش بدید! با هر بار ریپلای دستور
clown/، «دلقک» یا «🤡» یکامتیاز به دلقکی فرد مذکور اضافه میشه.Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from haashemi.dev
کوتاه: دلیلی ندارم!
در حال گفتگو در گروه جامعهی فولاستکس بودیم که خیلی یهویی ایدهش به ذهنم رسید (اینجا) و بعد از بیانش بدون هیچ هدفی، با خودم گفتم چرا که نه!
با هر چیزی که تا حالا کار نکردم!
زبان Typescript، رانتایم Node.js، فریمورک grammY و برای دیتابیس هم drizzle-orm.
خیلی یهویی و بدون دانش و محاسبات قبلی نوشته شده، لذا اگه کدش زیاد جالب نیست، معلومه یه چیزایی بلدید. پس PR بزنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
چه چیزی باعث شد ایلان ماسک برنامه نویسی یاد بگیرد؟
Anonymous Quiz
30%
بازی های ویدیوی
31%
سوال انحرافی است ایلان ماسک اصلا برنامه نویس نبوده است
24%
اپلیکیشن پرداخت paypal
15%
حالا یه برنامه نویسی یاد گرفتن همچین چیز خفنی هم نیست که سوال ازش میسازی!
Forwarded from متخصص وردپرس | پوینا via @vote
به نظر شما درآمد سایت فروش فایل بیشتره یا فروش محصولات فیزیکی ؟
anonymous poll
فروش فایل – 213
👍👍👍👍👍👍👍 75%
فروش محصولات فیزیکی – 71
👍👍 25%
👥 284 people voted so far.
anonymous poll
فروش فایل – 213
👍👍👍👍👍👍👍 75%
فروش محصولات فیزیکی – 71
👍👍 25%
👥 284 people voted so far.
Forwarded from Reza Jafari
از بنچمارکهای عمومی تا بنچمارکهای داخلی؛ چرا باید جدیشون بگیریم؟
ساختن internal benchmarks برای ارزیابی مدلهای زبانی بزرگ (LLM) یکی از مهمترین ابزارها برای درک واقعی از تواناییها و محدودیتهای مدل در کاربردهای خاصه. معیارهای عمومی که معمولا در تحقیقات یا گزارشهای رسمی منتشر میشن، بیشتر برای سنجش عملکرد کلی طراحی شدن و لزوما با نیازهای سازمان یا پروژه ما هماهنگ نیستن. به همین خاطر، وقتی میخوایم مدلی رو وارد محیط عملیاتی کنیم، لازم داریم معیارهایی طراحی کنیم که دقیقا همراستا با وظایف واقعی و اهداف ما باشن.
اولین قدم در طراحی benchmark داخلی اینه که مشخص کنیم دقیقا چه وظایف یا tasksی برای ما اهمیت دارن. مثلا ممکنه سازمان به توانایی مدل در خلاصهسازی، تولید کد، پاسخگویی به سؤالات تخصصی یا تحلیل متون نیاز داشته باشه. بعد از این مرحله باید دادهها و ورودیهایی جمعآوری بشن که بهخوبی بازتابدهنده همون حوزه باشن. این دادهها بهتره تنوع داشته باشن؛ بعضی ساده، بعضی متوسط و بعضی دشوار تا عملکرد مدل در سطوح مختلف بررسی بشه.
در گام بعد باید معیارهای ارزیابی یا evaluation metrics رو مشخص کنیم. این معیارها تنها به دقت یا accuracy محدود نمیشن، بلکه میتونن شامل شاخصهایی مثل روانی متن (fluency)، واقعگرایی و درستی اطلاعات (factuality)، ارتباط پاسخ با پرسش، و حتی پایداری (consistency) باشن. وزن هر معیار هم بسته به اهداف سازمان قابل تغییر و تنظیمه. بعد از اجرای مدل روی این ورودیها و جمعآوری نتایج، باید تحلیل دقیقی روی خطاها انجام بشه. این تحلیل کمک میکنه بفهمیم مدل دقیقا در چه موقعیتهایی ضعف نشون میده و چه الگوهای مشترکی در خروجیهای نامطلوب دیده میشن.
ساختن benchmark یک فرآیند ایستا نیست؛ بلکه نیازمند بازبینی و اصلاح مداومه. ممکنه بعد از چند بار اجرا لازم باشه دادههای جدید اضافه کنیم، ورودیها رو متنوعتر کنیم یا حتی وزن معیارها رو تغییر بدیم تا نتایج واقعیتر بشن. این چرخه تکراری باعث میشه benchmark به مرور دقیقتر و ارزشمندتر بشه. علاوه بر این، حتی بعد از اینکه مدل در محیط عملیاتی مستقر شد، لازمه همچنان benchmark داخلی اجرا بشه تا افت عملکرد یا تغییر رفتار مدل بهموقع شناسایی بشه.
البته این مسیر چالشهای خودش رو هم داره. تولید دادههای متنوع و باکیفیت زمانبره، و همیشه خطر overfitting روی دادههای benchmark وجود داره؛ یعنی مدل فقط برای همون ورودیها خوب جواب بده ولی در دنیای واقعی ضعیف عمل کنه. از طرف دیگه، معیارهایی مثل factuality یا اخلاقی بودن جوابها بهخاطر نداشتن پاسخ مطلق، سختتر قابل اندازهگیری هستن. به همین خاطر، همیشه باید تعادلی بین سادگی معیار و قدرت تفکیکدهندگی اون برقرار بشه.
بهطور خلاصه، internal benchmark ابزاریه که اگر درست طراحی و مدیریت بشه، میتونه به ما کمک کنه تصویری دقیقتر از تواناییهای واقعی LLM داشته باشیم و اطمینان پیدا کنیم که مدل در شرایط واقعی همون عملکردی رو نشون میده که انتظار داریم.
🔤 🔤 🔤 🔤 🔤 🔤 🔤
🥇 اهورا ارائه دهنده زیرساختهای هوش مصنوعی مبتنی بر GPU
🌐 لینک ارتباط با اهورا
@reza_jafari_ai
ساختن internal benchmarks برای ارزیابی مدلهای زبانی بزرگ (LLM) یکی از مهمترین ابزارها برای درک واقعی از تواناییها و محدودیتهای مدل در کاربردهای خاصه. معیارهای عمومی که معمولا در تحقیقات یا گزارشهای رسمی منتشر میشن، بیشتر برای سنجش عملکرد کلی طراحی شدن و لزوما با نیازهای سازمان یا پروژه ما هماهنگ نیستن. به همین خاطر، وقتی میخوایم مدلی رو وارد محیط عملیاتی کنیم، لازم داریم معیارهایی طراحی کنیم که دقیقا همراستا با وظایف واقعی و اهداف ما باشن.
اولین قدم در طراحی benchmark داخلی اینه که مشخص کنیم دقیقا چه وظایف یا tasksی برای ما اهمیت دارن. مثلا ممکنه سازمان به توانایی مدل در خلاصهسازی، تولید کد، پاسخگویی به سؤالات تخصصی یا تحلیل متون نیاز داشته باشه. بعد از این مرحله باید دادهها و ورودیهایی جمعآوری بشن که بهخوبی بازتابدهنده همون حوزه باشن. این دادهها بهتره تنوع داشته باشن؛ بعضی ساده، بعضی متوسط و بعضی دشوار تا عملکرد مدل در سطوح مختلف بررسی بشه.
در گام بعد باید معیارهای ارزیابی یا evaluation metrics رو مشخص کنیم. این معیارها تنها به دقت یا accuracy محدود نمیشن، بلکه میتونن شامل شاخصهایی مثل روانی متن (fluency)، واقعگرایی و درستی اطلاعات (factuality)، ارتباط پاسخ با پرسش، و حتی پایداری (consistency) باشن. وزن هر معیار هم بسته به اهداف سازمان قابل تغییر و تنظیمه. بعد از اجرای مدل روی این ورودیها و جمعآوری نتایج، باید تحلیل دقیقی روی خطاها انجام بشه. این تحلیل کمک میکنه بفهمیم مدل دقیقا در چه موقعیتهایی ضعف نشون میده و چه الگوهای مشترکی در خروجیهای نامطلوب دیده میشن.
ساختن benchmark یک فرآیند ایستا نیست؛ بلکه نیازمند بازبینی و اصلاح مداومه. ممکنه بعد از چند بار اجرا لازم باشه دادههای جدید اضافه کنیم، ورودیها رو متنوعتر کنیم یا حتی وزن معیارها رو تغییر بدیم تا نتایج واقعیتر بشن. این چرخه تکراری باعث میشه benchmark به مرور دقیقتر و ارزشمندتر بشه. علاوه بر این، حتی بعد از اینکه مدل در محیط عملیاتی مستقر شد، لازمه همچنان benchmark داخلی اجرا بشه تا افت عملکرد یا تغییر رفتار مدل بهموقع شناسایی بشه.
البته این مسیر چالشهای خودش رو هم داره. تولید دادههای متنوع و باکیفیت زمانبره، و همیشه خطر overfitting روی دادههای benchmark وجود داره؛ یعنی مدل فقط برای همون ورودیها خوب جواب بده ولی در دنیای واقعی ضعیف عمل کنه. از طرف دیگه، معیارهایی مثل factuality یا اخلاقی بودن جوابها بهخاطر نداشتن پاسخ مطلق، سختتر قابل اندازهگیری هستن. به همین خاطر، همیشه باید تعادلی بین سادگی معیار و قدرت تفکیکدهندگی اون برقرار بشه.
بهطور خلاصه، internal benchmark ابزاریه که اگر درست طراحی و مدیریت بشه، میتونه به ما کمک کنه تصویری دقیقتر از تواناییهای واقعی LLM داشته باشیم و اطمینان پیدا کنیم که مدل در شرایط واقعی همون عملکردی رو نشون میده که انتظار داریم.
@reza_jafari_ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۱۰۹
دیر است که دل دار پیامی نفرستاد
ننوشت سلامی و کلامی نفرستاد
صد نامه فرستادم و آن شاه سواران
پیکی ندوانید و سلامی نفرستاد
سوی من وحشی صفت عقل رمیده
آهو روشی کبک خرامی نفرستاد
دانست که خواهد شدنم مرغ دل از دست
وز آن خط چون سلسله دامی نفرستاد
فریاد که آن ساقی شکر لب سرمست
دانست که مخمورم و جامی نفرستاد
چندان که زدم لاف کرامات و مقامات
هیچم خبر از هیچ مقامی نفرستاد
حافظ به ادب باش که واخواست نباشد
گر شاه پیامی به غلامی نفرستاد
#حافظ | گنجور
📍@iipoem
دیر است که دل دار پیامی نفرستاد
ننوشت سلامی و کلامی نفرستاد
صد نامه فرستادم و آن شاه سواران
پیکی ندوانید و سلامی نفرستاد
سوی من وحشی صفت عقل رمیده
آهو روشی کبک خرامی نفرستاد
دانست که خواهد شدنم مرغ دل از دست
وز آن خط چون سلسله دامی نفرستاد
فریاد که آن ساقی شکر لب سرمست
دانست که مخمورم و جامی نفرستاد
چندان که زدم لاف کرامات و مقامات
هیچم خبر از هیچ مقامی نفرستاد
حافظ به ادب باش که واخواست نباشد
گر شاه پیامی به غلامی نفرستاد
#حافظ | گنجور
📍@iipoem
Forwarded from DevTwitter | توییت برنامه نویسی
یه مینیاپ که متدهای استرینگ توی جاوااسکریپت رو با توضیح و مثال نشون میده.
دم دست و سریع، مخصوص وقتایی که یادت میره کدوم متد چی کار میکنه.
دموی آنلاین:
https://js-string-methods.vercel.app
سورسکد:
https://github.com/DevTwitter/js-string-methods
@DevTwitter
دم دست و سریع، مخصوص وقتایی که یادت میره کدوم متد چی کار میکنه.
دموی آنلاین:
https://js-string-methods.vercel.app
سورسکد:
https://github.com/DevTwitter/js-string-methods
@DevTwitter
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go Allocations Explorer Extension for VSCode
🟢 خلاصه مقاله:
این افزونه با نام Go Allocations Explorer Extension برای VS Code به برنامهنویسان Go کمک میکند تا محل و میزان تخصیص حافظه را بر پایه بنچمارکهای موجودشان مستقیماً داخل ویرایشگر ببینند. با اجرای go test -bench و استفاده از -benchmem، نتایج تخصیصها جمعآوری و به فهرستی قابل پیمایش تبدیل میشود تا بتوانید بهسرعت هاتاسپاتها را یافته و از همان ورودیها به کد مربوطه بپرید. امکان اجرا و تکرار بنچمارکها، مشاهده و مقایسه سریع نتایج، و مرتبسازی/فیلتر کردن بر اساس پکیج، تست یا تابع فراهم است. راهاندازی ساده است، فقط نیاز به ابزار Go دارد و روی macOS، Linux و Windows کار میکند. خروجیها در خود VS Code به شکل قابل فهم ارائه میشوند تا کاهش تخصیصها، کم شدن فشار GC و بهبود تأخیر بهصورت مستمر و در جریان کدنویسی انجام شود.
#Go #VSCode #Golang #Performance #Benchmarking #MemoryAllocations #Profiling #DeveloperTools
🟣لینک مقاله:
https://golangweekly.com/link/174659/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go Allocations Explorer Extension for VSCode
🟢 خلاصه مقاله:
این افزونه با نام Go Allocations Explorer Extension برای VS Code به برنامهنویسان Go کمک میکند تا محل و میزان تخصیص حافظه را بر پایه بنچمارکهای موجودشان مستقیماً داخل ویرایشگر ببینند. با اجرای go test -bench و استفاده از -benchmem، نتایج تخصیصها جمعآوری و به فهرستی قابل پیمایش تبدیل میشود تا بتوانید بهسرعت هاتاسپاتها را یافته و از همان ورودیها به کد مربوطه بپرید. امکان اجرا و تکرار بنچمارکها، مشاهده و مقایسه سریع نتایج، و مرتبسازی/فیلتر کردن بر اساس پکیج، تست یا تابع فراهم است. راهاندازی ساده است، فقط نیاز به ابزار Go دارد و روی macOS، Linux و Windows کار میکند. خروجیها در خود VS Code به شکل قابل فهم ارائه میشوند تا کاهش تخصیصها، کم شدن فشار GC و بهبود تأخیر بهصورت مستمر و در جریان کدنویسی انجام شود.
#Go #VSCode #Golang #Performance #Benchmarking #MemoryAllocations #Profiling #DeveloperTools
🟣لینک مقاله:
https://golangweekly.com/link/174659/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Visualstudio
Go Allocations Explorer - Visual Studio Marketplace
Extension for Visual Studio Code - An extension that helps locate Go allocations, using your benchmarks.
Forwarded from نوشتههای ترمینالی
دوستان اکتبر شروع شده و باز برنامه هکتوبرفست در جریانه.
قضیه از این قراره که اگه توی ماه اکتبر ۶ تا مرج ریکویست ارسال کنید که مرج بشه، بج هکتوبرفست میگیرید. قبلا تیشرت هم میدادن البته ولی با توجه به سواستفاده ها دیگه انگار خبری نیست. :)
https://hacktoberfest.com
قضیه از این قراره که اگه توی ماه اکتبر ۶ تا مرج ریکویست ارسال کنید که مرج بشه، بج هکتوبرفست میگیرید. قبلا تیشرت هم میدادن البته ولی با توجه به سواستفاده ها دیگه انگار خبری نیست. :)
https://hacktoberfest.com
Hacktoberfest
Hacktoberfest 2025
Hacktoberfest: a month-long celebration of open-source projects, their maintainers, and the entire community of contributors.
Forwarded from Programming Hobby
Forwarded from DevTwitter | توییت برنامه نویسی
استارهای روی پست از استارهای روی ریپو بیشترن 🥲
Forwarded from DevTwitter | توییت برنامه نویسی
میخوام یک وب سایت خیلی خوب برای گولنگ بهتون معرفی کنم، https://awesome-go.com/
این وب سایت فوق العادس برای دیدن کد تو هر موضوعی که فکرشو کنید در کانکارنسی، CLI، وب و هرچیز دیگه ای.
کافیه برین داخلش عنوان ابزار، کتابخونه یا حتی نمونه کد مورد نظر خودتون رو پیدا کنید و ریپازیتوری اوپن سورس مرتبطش رو باز کنید و داکیومنشن یا کدش رو بخونید.
واقعا جذابه پیشنهاد میکنم حتما ببینید
@DevTwitter | <Abolfazl Alizadeh/>
این وب سایت فوق العادس برای دیدن کد تو هر موضوعی که فکرشو کنید در کانکارنسی، CLI، وب و هرچیز دیگه ای.
کافیه برین داخلش عنوان ابزار، کتابخونه یا حتی نمونه کد مورد نظر خودتون رو پیدا کنید و ریپازیتوری اوپن سورس مرتبطش رو باز کنید و داکیومنشن یا کدش رو بخونید.
واقعا جذابه پیشنهاد میکنم حتما ببینید
@DevTwitter | <Abolfazl Alizadeh/>
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from Gopher Academy
میخوام یک وب سایت خیلی خوب برای گولنگ بهتون معرفی کنم، https://awesome-go.com/
این وب سایت فوق العادس برای دیدن کد تو هر موضوعی که فکرشو کنید در کانکارنسی، CLI، وب و هرچیز دیگه ای.
کافیه برین داخلش عنوان ابزار، کتابخونه یا حتی نمونه کد مورد نظر خودتون رو پیدا کنید و ریپازیتوری اوپن سورس مرتبطش رو باز کنید و داکیومنشن یا کدش رو بخونید.
واقعا جذابه پیشنهاد میکنم حتما ببینید
<Abolfazl Alizadeh/>
این وب سایت فوق العادس برای دیدن کد تو هر موضوعی که فکرشو کنید در کانکارنسی، CLI، وب و هرچیز دیگه ای.
کافیه برین داخلش عنوان ابزار، کتابخونه یا حتی نمونه کد مورد نظر خودتون رو پیدا کنید و ریپازیتوری اوپن سورس مرتبطش رو باز کنید و داکیومنشن یا کدش رو بخونید.
واقعا جذابه پیشنهاد میکنم حتما ببینید
<Abolfazl Alizadeh/>
Awesome-Go
A curated list of awesome Go frameworks, libraries and software - Awesome Go
A curated list of awesome #Golang frameworks, libraries and software
Forwarded from Gopher Academy
🔵 عنوان مقاله
Building Conway’s Game of Life with raylib-go
🟢 خلاصه مقاله:
یک پروژه تفننی و آموزشی است: پیادهسازی Conway’s Game of Life با استفاده از raylib-go در Go. برنامه یک پنجره باز میکند، شبکهای دوبعدی از سلولها میسازد و هر فریم سلولهای زنده و مرده را بهصورت مستطیلهای رنگی رسم میکند. قوانین استاندارد (شمارش ۸ همسایه و اعمال قوانین کمجمعیتی، بقا، تراکم و تولیدمثل) با double-buffering اجرا میشوند تا محاسبات نسل بعدی تمیز و قابل اتکا باشد و در صورت نیاز امکان دورپیچی مرزها هم در نظر گرفته شده است. تعاملها شامل توقف/ادامه، گامبهگام، تنظیم سرعت، پاکسازی یا تصادفیسازی صفحه و تغییر وضعیت سلولها با کلیک ماوس است؛ ذخیره/بارگذاری الگوهای ساده هم قابل افزودن است. حلقه بهروزرسانی مستقل از نرخ رندر زمانبندی میشود تا اجرای روان و کارآمد حفظ شود و روی Windows، macOS و Linux بهخوبی اجرا میشود. کد نهایی ارائه شده و برای توسعه ایدههایی مانند کتابخانه الگوها، کنترلهای بهتر زوم/پن، گرادیانرنگ بر اساس سن سلول و ارزیابی عملکرد قابل گسترش است.
#ConwaysGameOfLife #raylib #raylibgo #Go #GameDev #CellularAutomata #GraphicsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/174642/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Building Conway’s Game of Life with raylib-go
🟢 خلاصه مقاله:
یک پروژه تفننی و آموزشی است: پیادهسازی Conway’s Game of Life با استفاده از raylib-go در Go. برنامه یک پنجره باز میکند، شبکهای دوبعدی از سلولها میسازد و هر فریم سلولهای زنده و مرده را بهصورت مستطیلهای رنگی رسم میکند. قوانین استاندارد (شمارش ۸ همسایه و اعمال قوانین کمجمعیتی، بقا، تراکم و تولیدمثل) با double-buffering اجرا میشوند تا محاسبات نسل بعدی تمیز و قابل اتکا باشد و در صورت نیاز امکان دورپیچی مرزها هم در نظر گرفته شده است. تعاملها شامل توقف/ادامه، گامبهگام، تنظیم سرعت، پاکسازی یا تصادفیسازی صفحه و تغییر وضعیت سلولها با کلیک ماوس است؛ ذخیره/بارگذاری الگوهای ساده هم قابل افزودن است. حلقه بهروزرسانی مستقل از نرخ رندر زمانبندی میشود تا اجرای روان و کارآمد حفظ شود و روی Windows، macOS و Linux بهخوبی اجرا میشود. کد نهایی ارائه شده و برای توسعه ایدههایی مانند کتابخانه الگوها، کنترلهای بهتر زوم/پن، گرادیانرنگ بر اساس سن سلول و ارزیابی عملکرد قابل گسترش است.
#ConwaysGameOfLife #raylib #raylibgo #Go #GameDev #CellularAutomata #GraphicsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/174642/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
packagemain.tech
Building Conway’s Game of Life in Go with raylib-go
A step-by-step tutorial on building Conway’s Game of Life in Go, using raylib-go for graphics. Learn how to draw grids, apply the rules of life, and simulate evolving patterns.
Forwarded from Reza Jafari
سلام بچهها
برای منتورینگ یه ظرفیت باز شده، در مورد ساز و کار منتورینگ بالا توضیح دادم و اگر سوالی داشتین به آیدی زیر پیام بدین تا در موردش صحبت کنیم.
مرسی
@rzdjafari
برای منتورینگ یه ظرفیت باز شده، در مورد ساز و کار منتورینگ بالا توضیح دادم و اگر سوالی داشتین به آیدی زیر پیام بدین تا در موردش صحبت کنیم.
مرسی
@rzdjafari
Forwarded from کانال اطلاعرسانی توزیع پارچ
«تَهِ ده» نزدیک است، با پارچ به رایانه خود جانی دوباره ببخشید!
در کمتر از ۲ هفته دیگر (۱۴ اکتبر/۲۲ مهرماه) پشتیبانی از ویندوز ۱۰ به پایان میرسد و چند ملیون رایانه را در معرض خطرات امنیتی قرار میدهد.
با مهاجرت به گنو/لینوکس میتوانید به رایانه خود جانی دوباره ببخشید.
مطالعه از بلاگ پارچ
مهاجرت به پارچ در ۵ قدم
https://wiki.parchlinux.com/fa/windows-to-parch-migration
برای سازمانها و شرکتهایی که قصد مهاجرت دارند، بهزودی اخباری از آپادانا منتشر خواهد شد، منتظر باشید..
@ParchLinux
در کمتر از ۲ هفته دیگر (۱۴ اکتبر/۲۲ مهرماه) پشتیبانی از ویندوز ۱۰ به پایان میرسد و چند ملیون رایانه را در معرض خطرات امنیتی قرار میدهد.
با مهاجرت به گنو/لینوکس میتوانید به رایانه خود جانی دوباره ببخشید.
مطالعه از بلاگ پارچ
مهاجرت به پارچ در ۵ قدم
https://wiki.parchlinux.com/fa/windows-to-parch-migration
برای سازمانها و شرکتهایی که قصد مهاجرت دارند، بهزودی اخباری از آپادانا منتشر خواهد شد، منتظر باشید..
@ParchLinux
Forwarded from Gopher Academy
مشکل "mutex copying" در Go یعنی کپی کردن یک mutex به جای استفاده از pointer به آن. این کار باعث میشه که mutex اصلی و کپی شده دو شیء جداگانه بشن و قفلگذاری درست کار نکنه.
چرا مشکل ساز است؟
وقتی یک mutex رو کپی میکنی، حالت داخلی اش (locked/unlocked) کپی نمیشه به درستی و هر کدوم مستقل عمل میکنن. این یعنی race condition و عدم هماهنگی بین goroutine ها.
1. همیشه از pointer receiver استفاده کن وقتی mutex داری:
2. هرگز mutex رو به صورت value پاس نده:
3. ا Go vet ابزار خوبیه که این مشکل رو پیدا میکنه:
4. اگه struct رو embed میکنی**، حواست باشه که اون رو کپی نکنی
5. **انواع Mutex ها همه این مشکل رو دارن:
این یکی از رایجترین اشتباهات تو Go هست، خصوصا برای کسایی که تازه شروع کردن!
چرا مشکل ساز است؟
وقتی یک mutex رو کپی میکنی، حالت داخلی اش (locked/unlocked) کپی نمیشه به درستی و هر کدوم مستقل عمل میکنن. این یعنی race condition و عدم هماهنگی بین goroutine ها.
1. همیشه از pointer receiver استفاده کن وقتی mutex داری:
func (c *Counter) method()2. هرگز mutex رو به صورت value پاس نده:
func badFunc(mu sync.Mutex) 3. ا Go vet ابزار خوبیه که این مشکل رو پیدا میکنه:
go vet ./...
4. اگه struct رو embed میکنی**، حواست باشه که اون رو کپی نکنی
5. **انواع Mutex ها همه این مشکل رو دارن:
sync.Mutex, sync.RWMutex,
sync.WaitGroup, sync.Condاین یکی از رایجترین اشتباهات تو Go هست، خصوصا برای کسایی که تازه شروع کردن!