❌پایپلاین (Pipeline) در redis، فشار کمتر و سرعت بیشتر❌
🔗 https://vrgl.ir/uOEqv
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔗 https://vrgl.ir/uOEqv
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
ویرگول
پایپلاین (Pipeline) در ردیس، فشار کمتر و سرعت بیشتر
ردیس سریعه، اما میتونیم با یک طراحی بهتر درخواست های بیشتری رو سریع تر و با سربار کمتر پاسخ بدیم
🦆Go 1.15.7 and 1.14.14 have been released!
A security fix for cmd/go (CVE-2021-3115),
and crypto/elliptic (CVE-2021-3114)
Announcement: https://t.co/aQSXeSqRXI
Download: https://t.co/17fc8GVik8
#golang
A security fix for cmd/go (CVE-2021-3115),
and crypto/elliptic (CVE-2021-3114)
Announcement: https://t.co/aQSXeSqRXI
Download: https://t.co/17fc8GVik8
#golang
golang.org
Downloads - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Pointers❌
اشاره گر در گولنگ با * شروع میشه و برای دریافت مقدار از & استفاده میشه طبق کد فوق و اینکه مقدار zero value اشارگره در گو برابر nil هست
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
اشاره گر در گولنگ با * شروع میشه و برای دریافت مقدار از & استفاده میشه طبق کد فوق و اینکه مقدار zero value اشارگره در گو برابر nil هست
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Interfaces❌
اینترفیس ها مجموعه ای ازmethod signatures است.
رابط های خالی {} با هر نوع داده ای سازگار است و اغلب برای تایپ پویا استفاده می شود. اینترفیس ها همیشه اشاره گر هستند و همیشه به یک شی concrete مشخص اشاره می کنند.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
اینترفیس ها مجموعه ای ازmethod signatures است.
رابط های خالی {} با هر نوع داده ای سازگار است و اغلب برای تایپ پویا استفاده می شود. اینترفیس ها همیشه اشاره گر هستند و همیشه به یک شی concrete مشخص اشاره می کنند.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Structs❌
درواقع Structs یک ساختار شامل فیلدهای نامگذاری شده است که ممکن است انواع اساسی ، انواع نشانگر یا انواع دیگر ساختارها باشد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
درواقع Structs یک ساختار شامل فیلدهای نامگذاری شده است که ممکن است انواع اساسی ، انواع نشانگر یا انواع دیگر ساختارها باشد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Forwarded from Mehdi Samadani
Forwarded from Mamadeus
شرکت de-fitec که در حوزه های مختلف در هند و آمریکا مشغول به کار است , برای تکمیل تیم نرم افزاری خود برای کار در زمینه بلاک چین به برنامه نویس با تجربه کاری go و همچنین python نیازمند است .
درصورت علاقه به همکاری میتوانید رزومه خود را از روشهای زیر برای ما ارسال کنید:
mohammad@de-fitech.com
09366275305 telegram
وبسایت شرکت:
https://de-fitech.com/
#go
#python
درصورت علاقه به همکاری میتوانید رزومه خود را از روشهای زیر برای ما ارسال کنید:
mohammad@de-fitech.com
09366275305 telegram
وبسایت شرکت:
https://de-fitech.com/
#go
#python
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Type Assertions❌
توی این روش در خط شیش ما نوع تایپ خود را نمی دانیم چیه پس برای این کار از interface استفاده می کنیم که خود جزو تایپ های گو هست و تمام تایپ ها رو توی خود جا می دهد
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
توی این روش در خط شیش ما نوع تایپ خود را نمی دانیم چیه پس برای این کار از interface استفاده می کنیم که خود جزو تایپ های گو هست و تمام تایپ ها رو توی خود جا می دهد
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Reflection❌
بسته Go reflect به شما امکان می دهد نوع رابط را بدون استفاده از type assertions مستقیماً بررسی کنید. در صورت تمایل می توانید مقدار یک رابط را استخراج کنید
در اینجا یک مثال مشابه با مثال قبلی وجود دارد ، اما به جای چاپ رشته ها ، آنها را فقط می شمارد ، بنابراین نیازی به تبدیل از رابط {} به رشته نیست. کلید فراخوانی Reflect.Type () برای بدست آوردن یک نوع شی است که دارای متد Kind () است که به ما امکان می دهد تشخیص دهیم که آیا با یک رشته روبرو هستیم یا نه.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
بسته Go reflect به شما امکان می دهد نوع رابط را بدون استفاده از type assertions مستقیماً بررسی کنید. در صورت تمایل می توانید مقدار یک رابط را استخراج کنید
در اینجا یک مثال مشابه با مثال قبلی وجود دارد ، اما به جای چاپ رشته ها ، آنها را فقط می شمارد ، بنابراین نیازی به تبدیل از رابط {} به رشته نیست. کلید فراخوانی Reflect.Type () برای بدست آوردن یک نوع شی است که دارای متد Kind () است که به ما امکان می دهد تشخیص دهیم که آیا با یک رشته روبرو هستیم یا نه.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯اگه روی یه پروژه ای کار می کنید و هرروز بعد از هر تغیری push می کنید روی گیت
و بعد هر تغییری ازتون معمولا رمزعبور رو میخواد
با دستور زیر دیگه نیاز به زدن رمز عیور ندارید
فقط بزنید push خودش میره توی ریپو میشینه
و دیگه نیاز نیست بعد از هر تغییری رمزعبور رو بزنید
🔹 git config credential.helper store
🔹 git push http://example.com/your-user-name/your-repo.git
.
#git #github
.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
و بعد هر تغییری ازتون معمولا رمزعبور رو میخواد
با دستور زیر دیگه نیاز به زدن رمز عیور ندارید
فقط بزنید push خودش میره توی ریپو میشینه
و دیگه نیاز نیست بعد از هر تغییری رمزعبور رو بزنید
🔹 git config credential.helper store
🔹 git push http://example.com/your-user-name/your-repo.git
.
#git #github
.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Functions❌
در برنامه نویسی گولنگ در زمینه توابع نویسی شما می توانید توابع را به متغیرها اختصاص دهید ، و حتی توابع را به عنوان آرگومان به توابع دیگر منتقل کنید یا آنها را به عنوان نتیجه برگردانید. این زبان شما را قادر می سازد تا از سبک برنامه نویسی کاربردی با Go استفاده کنید. در این مثال به کاملی روشن هست
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
در برنامه نویسی گولنگ در زمینه توابع نویسی شما می توانید توابع را به متغیرها اختصاص دهید ، و حتی توابع را به عنوان آرگومان به توابع دیگر منتقل کنید یا آنها را به عنوان نتیجه برگردانید. این زبان شما را قادر می سازد تا از سبک برنامه نویسی کاربردی با Go استفاده کنید. در این مثال به کاملی روشن هست
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
در حال حاضر ار کدوم پایگاه داده توی گولنگ استفاده می کنید؟
Final Results
33%
MongoDB
55%
PostgreSQL
23%
other
😁در حاضر به کدوم درجه رسیدی توی گولنگ?😁
Final Results
5%
🔵 Senior 🔵
30%
🔴 Mid-Level 🔴
67%
🟢 Junior 🟢
💔1
یکی از کانال داره دوره پیشرفته برنامه نویسی وب با زبان گولنگ رو ریکورد میکنه
اگه کسی توانایی چسبوندن صدا و ویدئو رو داره بیاد کمک @mrViam
این دوره رایگانه
اگه کسی توانایی چسبوندن صدا و ویدئو رو داره بیاد کمک @mrViam
این دوره رایگانه
Final Results
97%
آره این دوره ضبط شه
3%
نه نیار نیست ضبط شه
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Channels❌
😜Channels are an unusual data type😉
کانال ها یک نوع داده غیرمعمول هستند. شما می توانید آنها را به عنوان صف های پیام در نظر بگیرید که برای ارسال پیام بین گورتین استفاده می شود. درضمن کانال ها strongly typed می باشند.
آنها همگام سازی شده اند و از پشتیبانی از نحو اختصاصی برای ارسال و دریافت پیام برخوردارند. هر کانال می تواند فقط دریافت ، ارسال و یا دو جهته باشد.
در اینجا یک مثال معمولی وجود دارد که در آن مجموع مربعات لیستی از اعداد صحیح به طور موازی توسط دو گورتین محاسبه می شود ، هر کدام نیمی از لیست را تشکیل می دهند. عملکرد اصلی منتظر نتیجه هر دو برنامه هست و سپس نتیجه این دو را نمایش می دهد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
😜Channels are an unusual data type😉
کانال ها یک نوع داده غیرمعمول هستند. شما می توانید آنها را به عنوان صف های پیام در نظر بگیرید که برای ارسال پیام بین گورتین استفاده می شود. درضمن کانال ها strongly typed می باشند.
آنها همگام سازی شده اند و از پشتیبانی از نحو اختصاصی برای ارسال و دریافت پیام برخوردارند. هر کانال می تواند فقط دریافت ، ارسال و یا دو جهته باشد.
در اینجا یک مثال معمولی وجود دارد که در آن مجموع مربعات لیستی از اعداد صحیح به طور موازی توسط دو گورتین محاسبه می شود ، هر کدام نیمی از لیست را تشکیل می دهند. عملکرد اصلی منتظر نتیجه هر دو برنامه هست و سپس نتیجه این دو را نمایش می دهد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
در واقع Strong typing معنی کلیاش این میشه که شما در زبان برنامه نویسی موردنظرتون باید مشخص کنید که متغیرها، ورودی/خروجی توابع، آرگومانها و ... دقیقاً از چه نوعی هستند؛ یعنی کامپایلر در چنین زبانهای برنامهنویسی، کدهای برنامه شما رو قبل از اینکه به مرحله Runtime برسه، بررسی میکنه و مطمئن میشه که شما نوعها رو بصورت کامل مشخص کردید و نمیذاره شما دادۀ بدون نوع داشته باشید
➖➖➖➖➖➖➖➖➖
در واقع Weak typing با خیال راحت، هرجوری حال میکنید! میتونید از تعریف متغیر بدون نوع استفاده کنید، تو این نوع زبانها، کامپایلر همه کار رو خودش میکنه و اصلاً کار نداره که شما برای متغیری نوع تعریف کنید، برای همین بسیار تنبلپرور هستند؛
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
➖➖➖➖➖➖➖➖➖
در واقع Weak typing با خیال راحت، هرجوری حال میکنید! میتونید از تعریف متغیر بدون نوع استفاده کنید، تو این نوع زبانها، کامپایلر همه کار رو خودش میکنه و اصلاً کار نداره که شما برای متغیری نوع تعریف کنید، برای همین بسیار تنبلپرور هستند؛
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌generic collections❌
یعنی هر نوع دادهای را می توانید ذخیره کنید
🔹arrays
🔹slices
🔹maps
🔹Channels
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
یعنی هر نوع دادهای را می توانید ذخیره کنید
🔹arrays
🔹slices
🔹maps
🔹Channels
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌ Slices ❌
آرایه ها به دلیل اندازه ثابت بسیار محدود هستند. اما Slices ها خیلی جالب ترند. شما می توانید Slices ها را به عنوان آرایه های پویا در نظر بگیرید.
بهتره بجای array از Slices استفاده کنید توی پروژه هاتون به دلیل کنترل gerber collector
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
آرایه ها به دلیل اندازه ثابت بسیار محدود هستند. اما Slices ها خیلی جالب ترند. شما می توانید Slices ها را به عنوان آرایه های پویا در نظر بگیرید.
بهتره بجای array از Slices استفاده کنید توی پروژه هاتون به دلیل کنترل gerber collector
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
❌ Slices ❌ آرایه ها به دلیل اندازه ثابت بسیار محدود هستند. اما Slices ها خیلی جالب ترند. شما می توانید Slices ها را به عنوان آرایه های پویا در نظر بگیرید. بهتره بجای array از Slices استفاده کنید توی پروژه هاتون به دلیل کنترل gerber collector ➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
👆🏻👆🏻توضیحات بیشتر👆🏻👆🏻
از طرف دیگر ، Slices ها بسیار انعطاف پذیر ، قدرتمند و راحت تر از آرایه ها هستند. بر خلاف آرایه ها ، می توان Slices ها را با استفاده از تابع ضمیمه داخلی تعبیه کرد. بعلاوه ، Slices از نوع مرجع یا refrence هستند ، بدین معنی که اختصاص آنها کم هزینه است و می توانند بدون نیاز به ایجاد نسخه جدیدی از آرایه اصلی آن ، به سایر توابع منتقل شوند. سرانجام ، توابع موجود در کتابخانه استاندارد Go ، همه از Slices به جای آرایه ها در API های عمومی خود استفاده می کنند.
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
از طرف دیگر ، Slices ها بسیار انعطاف پذیر ، قدرتمند و راحت تر از آرایه ها هستند. بر خلاف آرایه ها ، می توان Slices ها را با استفاده از تابع ضمیمه داخلی تعبیه کرد. بعلاوه ، Slices از نوع مرجع یا refrence هستند ، بدین معنی که اختصاص آنها کم هزینه است و می توانند بدون نیاز به ایجاد نسخه جدیدی از آرایه اصلی آن ، به سایر توابع منتقل شوند. سرانجام ، توابع موجود در کتابخانه استاندارد Go ، همه از Slices به جای آرایه ها در API های عمومی خود استفاده می کنند.
➖➖➖➖➖➖➖➖
🔰 @gopher_academy