🔴سری اول برگه تقلب🔴
🔵blockchain
🟢 https://t.me/gopher_academy/748
🔵docker
🟢 https://t.me/gopher_academy/758
🔵docker compose
🟢 https://t.me/gopher_academy/759
🔵 docker swarm
🟢 https://t.me/gopher_academy/760
🔵github actions
🟢 https://t.me/gopher_academy/761
#cheat_sheet
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔵blockchain
🟢 https://t.me/gopher_academy/748
🔵docker
🟢 https://t.me/gopher_academy/758
🔵docker compose
🟢 https://t.me/gopher_academy/759
🔵 docker swarm
🟢 https://t.me/gopher_academy/760
🔵github actions
🟢 https://t.me/gopher_academy/761
#cheat_sheet
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
🔵ویدیوی اختصاصی فعالیتهای من در سال ۱۳۹۹
🟢 ادرس ویرگول من:(جهت مشاهده تمامی پست های من تو حوزه گولنگ)
🔴 https://virgool.io/@bardiiia
🟡 جزییات بیشتر
🟣 https://vrgl.ir/2CXRR
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢 ادرس ویرگول من:(جهت مشاهده تمامی پست های من تو حوزه گولنگ)
🔴 https://virgool.io/@bardiiia
🟡 جزییات بیشتر
🟣 https://vrgl.ir/2CXRR
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴سری دوم برگه تقلب🔴
🔵graphql
🟢 https://t.me/gopher_academy/764
🔵kubernetes
🟢 https://t.me/gopher_academy/765
🔵Linux
🟢 https://t.me/gopher_academy/766
🔵 mongodb
🟢 https://t.me/gopher_academy/767
🔵terraform
🟢 https://t.me/gopher_academy/768
🔴سری اول برگه تقلب🔴
🔵blockchain
🟢 https://t.me/gopher_academy/748
🔵docker
🟢 https://t.me/gopher_academy/758
🔵docker compose
🟢 https://t.me/gopher_academy/759
🔵 docker swarm
🟢 https://t.me/gopher_academy/760
🔵github actions
🟢 https://t.me/gopher_academy/761
#cheat_sheet
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔵graphql
🟢 https://t.me/gopher_academy/764
🔵kubernetes
🟢 https://t.me/gopher_academy/765
🔵Linux
🟢 https://t.me/gopher_academy/766
🔵 mongodb
🟢 https://t.me/gopher_academy/767
🔵terraform
🟢 https://t.me/gopher_academy/768
🔴سری اول برگه تقلب🔴
🔵blockchain
🟢 https://t.me/gopher_academy/748
🔵docker
🟢 https://t.me/gopher_academy/758
🔵docker compose
🟢 https://t.me/gopher_academy/759
🔵 docker swarm
🟢 https://t.me/gopher_academy/760
🔵github actions
🟢 https://t.me/gopher_academy/761
#cheat_sheet
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴کنفرانس نرمافزار های آزاد و متنباز کرجلاگ با همراهی گروههای کاربری لینوکس از جمله
🟢شیرازلاگ
🟢اهوازلاگ
🟢اراکلاگ
🟢اصفهانلاگ
🟡در قالب شش ارائه فنی برگزار خواهد شد
🔵برای کسب اطلاعات و ثبتنام به آدرس ایوند درج شده در https://karajlug.org مراجعه نمایید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢شیرازلاگ
🟢اهوازلاگ
🟢اراکلاگ
🟢اصفهانلاگ
🟡در قالب شش ارائه فنی برگزار خواهد شد
🔵برای کسب اطلاعات و ثبتنام به آدرس ایوند درج شده در https://karajlug.org مراجعه نمایید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍1
🔰Practical Cryptography With Go
🔺 https://leanpub.com/gocrypto/read#leanpub-auto-chapter-1-introduction
🔹 یه کتاب خوب در مورد اصول Cryptography در گولنگ
❎ تو زمینه بلاکچین برای کسایی که میخوان کارکنن مفیده
🔰 @gopher_academy
🔺 https://leanpub.com/gocrypto/read#leanpub-auto-chapter-1-introduction
🔹 یه کتاب خوب در مورد اصول Cryptography در گولنگ
❎ تو زمینه بلاکچین برای کسایی که میخوان کارکنن مفیده
🔰 @gopher_academy
🔴 فرق Structs با Maps
🟢For map:
🟡All key and value are of same type.
🟡When keys are indexed and we can iterate over them.
🟡Closely related and significant value type.
🟡Don’t need to know all the keys at compile time.
🟡Key are indexed- we can iterate over them.
🟡Reference type
🟢For struct:
🟡All values can be of different type.
🟡Need to know all the different fields at compile time.
🟡Keys don’t support indexing
🟡Value type.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢For map:
🟡All key and value are of same type.
🟡When keys are indexed and we can iterate over them.
🟡Closely related and significant value type.
🟡Don’t need to know all the keys at compile time.
🟡Key are indexed- we can iterate over them.
🟡Reference type
🟢For struct:
🟡All values can be of different type.
🟡Need to know all the different fields at compile time.
🟡Keys don’t support indexing
🟡Value type.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔸استخدام Golang Developer در شرکت تجارت بین الملل رابین تهران
🔹حقوق بیش از ۱۲ میلیون تومان 🔹تماموقت 🔹ارشد (Senior)
🔗 https://quera.ir/r/jLtBq9
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹حقوق بیش از ۱۲ میلیون تومان 🔹تماموقت 🔹ارشد (Senior)
🔗 https://quera.ir/r/jLtBq9
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴 مدیریت حافظه در زبان های برنامه نویسی مدرن
🟢Introduction to Memory management
🟡 https://t.me/gopher_academy/778
🟢What is it?
🟡 https://t.me/gopher_academy/779
🟢Stack
🟡 https://t.me/gopher_academy/780
🟢Stack & Heap visualized
🟡 https://t.me/gopher_academy/781
🟢Heap
🟡 https://t.me/gopher_academy/782
🟢Why is it important?
🟡 https://t.me/gopher_academy/783
🟢Different approaches?
🟡 https://t.me/gopher_academy/784
🟢Manual memory management
🟡 https://t.me/gopher_academy/787
🟢Garbage collection(GC)
🟡 https://t.me/gopher_academy/788
🟢Garbage collection visualized
🟡 https://t.me/gopher_academy/789
🟢Resource Acquisition is Initialization (RAII)
🟡 https://t.me/gopher_academy/791
🟢Automatic Reference Counting(ARC)
🟡 https://t.me/gopher_academy/792
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢Introduction to Memory management
🟡 https://t.me/gopher_academy/778
🟢What is it?
🟡 https://t.me/gopher_academy/779
🟢Stack
🟡 https://t.me/gopher_academy/780
🟢Stack & Heap visualized
🟡 https://t.me/gopher_academy/781
🟢Heap
🟡 https://t.me/gopher_academy/782
🟢Why is it important?
🟡 https://t.me/gopher_academy/783
🟢Different approaches?
🟡 https://t.me/gopher_academy/784
🟢Manual memory management
🟡 https://t.me/gopher_academy/787
🟢Garbage collection(GC)
🟡 https://t.me/gopher_academy/788
🟢Garbage collection visualized
🟡 https://t.me/gopher_academy/789
🟢Resource Acquisition is Initialization (RAII)
🟡 https://t.me/gopher_academy/791
🟢Automatic Reference Counting(ARC)
🟡 https://t.me/gopher_academy/792
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴 مدیریت حافظه در زبان های برنامه نویسی مدرن 🟢Introduction to Memory management 🟡 https://t.me/gopher_academy/778 🟢What is it? 🟡 https://t.me/gopher_academy/779 🟢Stack 🟡 https://t.me/gopher_academy/780 🟢Stack & Heap visualized 🟡 https://t.me/gopher_academy/781…
🟢Introduction to Memory management
🟡 مدیریت حافظه یکی از کارکردهای سیستم عامل است که به مدیریت حافظه اصلی و جابجایی پردازشها بین حافظه اصلی و دیسک در طی اجرا میپردازد.
🟡 مدیریت حافظه صرف نظر از این که موقعیتهای مختلف حافظه به پردازشی تخصیص یافتهاند یا نه، همه آنها را مدیریت میکند.
🟡 این فرایند میزان حافظهای که باید به پردازشها تخصیص یابد را تعیین میکند.
🟡 مدیریت حافظه تصمیم میگیرد که در هر زمان کدام پردازش به حافظه دسترسی داشته باشد. مدیریت حافظه به ردگیری مقدار حافظه تخصیص یافته یا آزاد شده پرداخته و وضعیتهای متناظر با آنها را بهروزرسانی میکند.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡 مدیریت حافظه یکی از کارکردهای سیستم عامل است که به مدیریت حافظه اصلی و جابجایی پردازشها بین حافظه اصلی و دیسک در طی اجرا میپردازد.
🟡 مدیریت حافظه صرف نظر از این که موقعیتهای مختلف حافظه به پردازشی تخصیص یافتهاند یا نه، همه آنها را مدیریت میکند.
🟡 این فرایند میزان حافظهای که باید به پردازشها تخصیص یابد را تعیین میکند.
🟡 مدیریت حافظه تصمیم میگیرد که در هر زمان کدام پردازش به حافظه دسترسی داشته باشد. مدیریت حافظه به ردگیری مقدار حافظه تخصیص یافته یا آزاد شده پرداخته و وضعیتهای متناظر با آنها را بهروزرسانی میکند.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴 مدیریت حافظه در زبان های برنامه نویسی مدرن 🟢Introduction to Memory management 🟡 https://t.me/gopher_academy/778 🟢What is it? 🟡 https://t.me/gopher_academy/779 🟢Stack 🟡 https://t.me/gopher_academy/780 🟢Stack & Heap visualized 🟡 https://t.me/gopher_academy/781…
🟢What is it?
🟡 هنگامی که یک نرم افزار بر روی یک سیستم عامل اجرا می شود ، نیاز به دسترسی حافظه RAM دارد:
🔻 بایت کد خاص خود را بارگیری کنید که باید اجرا شود-
تعریف 👈🏻( بایت کد یا (intermediate code)، کد برنامهنویسی هست که یک ماشین مجازی رو به جای یک معماری کامپیوتر خاص هدف قرار میده. بایت کد به یک باینری کامپایل شده اجازه اجرا شدن میده و یا بروی مجموعه متنوعی از سیستمعامل اجرا بشه.)
🔻مقادیر داده ها و ساختارهای داده مورد استفاده توسط برنامه ای که اجرا می شود را ذخیره می کند
🔻 زمان اجرای مورد نیاز برای اجرای برنامه را بارگیری می کند
🟡 وقتی یک برنامه نرم افزاری از حافظه استفاده می کند ، دو منطقه حافظه وجود دارد که آنها از آن استفاده می کنند ،
از منطقه حافظه Stack و Heap استفاده می شود
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡 هنگامی که یک نرم افزار بر روی یک سیستم عامل اجرا می شود ، نیاز به دسترسی حافظه RAM دارد:
🔻 بایت کد خاص خود را بارگیری کنید که باید اجرا شود-
تعریف 👈🏻( بایت کد یا (intermediate code)، کد برنامهنویسی هست که یک ماشین مجازی رو به جای یک معماری کامپیوتر خاص هدف قرار میده. بایت کد به یک باینری کامپایل شده اجازه اجرا شدن میده و یا بروی مجموعه متنوعی از سیستمعامل اجرا بشه.)
🔻مقادیر داده ها و ساختارهای داده مورد استفاده توسط برنامه ای که اجرا می شود را ذخیره می کند
🔻 زمان اجرای مورد نیاز برای اجرای برنامه را بارگیری می کند
🟡 وقتی یک برنامه نرم افزاری از حافظه استفاده می کند ، دو منطقه حافظه وجود دارد که آنها از آن استفاده می کنند ،
از منطقه حافظه Stack و Heap استفاده می شود
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴 مدیریت حافظه در زبان های برنامه نویسی مدرن 🟢Introduction to Memory management 🟡 https://t.me/gopher_academy/778 🟢What is it? 🟡 https://t.me/gopher_academy/779 🟢Stack 🟡 https://t.me/gopher_academy/780 🟢Stack & Heap visualized 🟡 https://t.me/gopher_academy/781…
🟢Stack
🟡 پشته برای تخصیص حافظه استاتیک استفاده می شود و همانطور که از نامش پیداست آخرین پشته در اولین خروجی (LIFO) است
🟡با توجه به این ماهیت ، فرآیند ذخیره و بازیابی اطلاعات از stack بسیار سریع است زیرا نیازی به جستجو نیست ، شما فقط داده ها را از بالاترین بلوک موجود در آن ذخیره و بازیابی می کنید.
🟡اما این بدان معنی است که هر داده ای که روی stack ذخیره می شود باید محدود و ساکن باشد (اندازه داده ها در زمان کامپایل مشخص است).
🟡 این جایی است که داده های اجرای توابع به عنوان فریم های stack ذخیره می شوند. هر فریم یک بلوک از فضا است که داده های مورد نیاز برای آن عملکرد در آن ذخیره می شود. به عنوان مثال ، هر بار که یک تابع متغیر جدیدی را اعلام می کند ، "به" بالاترین بلوک stack "رانده می شود". سپس با هر بار خروج از عملکرد ، بالاترین بلوک پاک می شود ، بنابراین تمام متغیرهایی که توسط آن تابع به stack رانده می شوند ، پاک می شوند. اینها را می توان در زمان کامپایل با توجه به استاتیک بودن داده های ذخیره شده تعیین کرد.
🟡 برنامه های Multi-threaded می توانند در هر stack یه thread داشته باشند.
🟡 مدیریت حافظه stack ساده و سرراست است و توسط سیستم عامل انجام می شود.
🟡 داده های معمولی که روی stack ذخیره می شوند متغیرهای محلی ، نشانگرها و فریم های تابع هستند.
🟡 اینجاست که با خطاهای stack overflow مواجه می شوید زیرا اندازه stack در مقایسه با Heap محدود است.
❌به ویدیو زیر توجه کنبد❌
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡 پشته برای تخصیص حافظه استاتیک استفاده می شود و همانطور که از نامش پیداست آخرین پشته در اولین خروجی (LIFO) است
🟡با توجه به این ماهیت ، فرآیند ذخیره و بازیابی اطلاعات از stack بسیار سریع است زیرا نیازی به جستجو نیست ، شما فقط داده ها را از بالاترین بلوک موجود در آن ذخیره و بازیابی می کنید.
🟡اما این بدان معنی است که هر داده ای که روی stack ذخیره می شود باید محدود و ساکن باشد (اندازه داده ها در زمان کامپایل مشخص است).
🟡 این جایی است که داده های اجرای توابع به عنوان فریم های stack ذخیره می شوند. هر فریم یک بلوک از فضا است که داده های مورد نیاز برای آن عملکرد در آن ذخیره می شود. به عنوان مثال ، هر بار که یک تابع متغیر جدیدی را اعلام می کند ، "به" بالاترین بلوک stack "رانده می شود". سپس با هر بار خروج از عملکرد ، بالاترین بلوک پاک می شود ، بنابراین تمام متغیرهایی که توسط آن تابع به stack رانده می شوند ، پاک می شوند. اینها را می توان در زمان کامپایل با توجه به استاتیک بودن داده های ذخیره شده تعیین کرد.
🟡 برنامه های Multi-threaded می توانند در هر stack یه thread داشته باشند.
🟡 مدیریت حافظه stack ساده و سرراست است و توسط سیستم عامل انجام می شود.
🟡 داده های معمولی که روی stack ذخیره می شوند متغیرهای محلی ، نشانگرها و فریم های تابع هستند.
🟡 اینجاست که با خطاهای stack overflow مواجه می شوید زیرا اندازه stack در مقایسه با Heap محدود است.
❌به ویدیو زیر توجه کنبد❌
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴 مدیریت حافظه در زبان های برنامه نویسی مدرن 🟢Introduction to Memory management 🟡 https://t.me/gopher_academy/778 🟢What is it? 🟡 https://t.me/gopher_academy/779 🟢Stack 🟡 https://t.me/gopher_academy/780 🟢Stack & Heap visualized 🟡 https://t.me/gopher_academy/781…
🟢Heap
🟡درواقع Heap برای تخصیص حافظه پویا استفاده می شود و بر خلاف پشته ، برنامه باید با استفاده از اشاره گرها اطلاعات موجود در heap را جستجو کند
🟡کندتر از پشته است زیرا فرآیند جستجوی داده ها بیشتر درگیر است اما می تواند داده های بیشتری نسبت به پشته ذخیره کند.
🟡این بدان معنی است که داده هایی با اندازه پویا می توانند در اینجا ذخیره شوند.
🟡به دلیل طبیعت پویا ، مدیریت آن پیچیده تر است و اینجاست که بیشتر مسائل مربوط به مدیریت حافظه از آن ناشی می شود و در اینجا راه حل های مدیریت خودکار حافظه از زبان شروع می شود.
🟡داده های معمولی که در پشته ذخیره می شوند متغیرهای سراسری ، انواع مرجع مانند اشیا، ، رشته ها ، نقشه ها و سایر ساختارهای داده پیچیده هستند.
🟡این جایی است که اگر برنامه شما سعی کند از حافظه بیشتری نسبت به پشته اختصاص یافته استفاده کند ، با خطاهای حافظه روبرو خواهید شد (اگرچه فاکتورهای دیگری مانند GC ، فشرده سازی در اینجا وجود دارد).
🟡به طور کلی ، هیچ محدودیتی در اندازه مقداری که می تواند روی پشته ذخیره شود ، وجود ندارد. البته ، حد بالایی از میزان حافظه اختصاص داده شده به برنامه وجود دارد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡درواقع Heap برای تخصیص حافظه پویا استفاده می شود و بر خلاف پشته ، برنامه باید با استفاده از اشاره گرها اطلاعات موجود در heap را جستجو کند
🟡کندتر از پشته است زیرا فرآیند جستجوی داده ها بیشتر درگیر است اما می تواند داده های بیشتری نسبت به پشته ذخیره کند.
🟡این بدان معنی است که داده هایی با اندازه پویا می توانند در اینجا ذخیره شوند.
🟡به دلیل طبیعت پویا ، مدیریت آن پیچیده تر است و اینجاست که بیشتر مسائل مربوط به مدیریت حافظه از آن ناشی می شود و در اینجا راه حل های مدیریت خودکار حافظه از زبان شروع می شود.
🟡داده های معمولی که در پشته ذخیره می شوند متغیرهای سراسری ، انواع مرجع مانند اشیا، ، رشته ها ، نقشه ها و سایر ساختارهای داده پیچیده هستند.
🟡این جایی است که اگر برنامه شما سعی کند از حافظه بیشتری نسبت به پشته اختصاص یافته استفاده کند ، با خطاهای حافظه روبرو خواهید شد (اگرچه فاکتورهای دیگری مانند GC ، فشرده سازی در اینجا وجود دارد).
🟡به طور کلی ، هیچ محدودیتی در اندازه مقداری که می تواند روی پشته ذخیره شود ، وجود ندارد. البته ، حد بالایی از میزان حافظه اختصاص داده شده به برنامه وجود دارد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴 مدیریت حافظه در زبان های برنامه نویسی مدرن 🟢Introduction to Memory management 🟡 https://t.me/gopher_academy/778 🟢What is it? 🟡 https://t.me/gopher_academy/779 🟢Stack 🟡 https://t.me/gopher_academy/780 🟢Stack & Heap visualized 🟡 https://t.me/gopher_academy/781…
🟢Why is it important?
چرا مهم است؟
🟡 برخلاف درایوهای هارد دیسک ، RAM بی نهایت نیست. اگر برنامه ای بدون اینکه حافظه را آزاد کند ، به مصرف حافظه ادامه دهد ، در نهایت حافظه آن تمام می شود . از این رو برنامه های نرم افزاری نمی توانند فقط حافظه RAM را همانطور که دوست دارند ادامه دهند زیرا باعث از بین رفتن حافظه دیگر برنامه ها و فرایندها می شود. بنابراین بیشتر از زبانهای برنامه نویسی به جای اینکه به توسعه دهنده نرم افزار این مسئله را بفهمند ، روشهایی برای مدیریت خودکار حافظه ارائه می دهند. و هنگامی که ما در مورد مدیریت حافظه صحبت می کنیم بیشتر در مورد مدیریت حافظه Heap صحبت می کنیم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
چرا مهم است؟
🟡 برخلاف درایوهای هارد دیسک ، RAM بی نهایت نیست. اگر برنامه ای بدون اینکه حافظه را آزاد کند ، به مصرف حافظه ادامه دهد ، در نهایت حافظه آن تمام می شود . از این رو برنامه های نرم افزاری نمی توانند فقط حافظه RAM را همانطور که دوست دارند ادامه دهند زیرا باعث از بین رفتن حافظه دیگر برنامه ها و فرایندها می شود. بنابراین بیشتر از زبانهای برنامه نویسی به جای اینکه به توسعه دهنده نرم افزار این مسئله را بفهمند ، روشهایی برای مدیریت خودکار حافظه ارائه می دهند. و هنگامی که ما در مورد مدیریت حافظه صحبت می کنیم بیشتر در مورد مدیریت حافظه Heap صحبت می کنیم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy