این حرکتی که آمازون پرایم زده هم باحاله.
تو ذهن بعضی ها اینجوریه که مونولیثیک یه پترنی عه که نباید ازش استفاده کرد و همه چی باید بشکنه به ریز ترین فانکشنالیتی و سرویس مستقل بشه. تبلیغ سنگین این csp ها هم بی تاثیر نیست.
بیا، الان نود درصد سیو کردن با ماگریت کردن به مونولیثیک
https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90
#DevTwitter | <Sina/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
تو ذهن بعضی ها اینجوریه که مونولیثیک یه پترنی عه که نباید ازش استفاده کرد و همه چی باید بشکنه به ریز ترین فانکشنالیتی و سرویس مستقل بشه. تبلیغ سنگین این csp ها هم بی تاثیر نیست.
بیا، الان نود درصد سیو کردن با ماگریت کردن به مونولیثیک
https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90
#DevTwitter | <Sina/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍11🔥3🏆1
🔵Using regexp.Match or related in a loop
🔴 #Performance
🟢Compile parses a regular expression and returns, if successful, a Regexp object that can be used to match against text.
When matching in a loop, use regexp.Compile instead.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔴 #Performance
🟢Compile parses a regular expression and returns, if successful, a Regexp object that can be used to match against text.
When matching in a loop, use regexp.Compile instead.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍5
دوستان گلم درخصوص جلسه دورهمی
این هفته قراره بخش دوم موضوع بلاکچین را برگزار کنیم که مهندس مسلم رئوف (مهندس بلاکچین) قراره کمی عمیق تر به موضوع قراردادهای هوشمند بپردازد.
اطلاعات میتینگ جلسه طی فردا یا پس فردا اعلام خواهد شد.
پیرو همکاری کامیونتی ما با جامعه GoBridge اسپانسر هاست در zoom برای ما خواهند بود.
به نظرم قبل اینکه جلسه دورهمی شروع بشه ۱۰ دقیقه قبل شرایط اینترنت خود را بررسی کنید چون پلت فرم zoom فیلتر نیست و با تمامی اپراتورها تست شده.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
این هفته قراره بخش دوم موضوع بلاکچین را برگزار کنیم که مهندس مسلم رئوف (مهندس بلاکچین) قراره کمی عمیق تر به موضوع قراردادهای هوشمند بپردازد.
اطلاعات میتینگ جلسه طی فردا یا پس فردا اعلام خواهد شد.
پیرو همکاری کامیونتی ما با جامعه GoBridge اسپانسر هاست در zoom برای ما خواهند بود.
به نظرم قبل اینکه جلسه دورهمی شروع بشه ۱۰ دقیقه قبل شرایط اینترنت خود را بررسی کنید چون پلت فرم zoom فیلتر نیست و با تمامی اپراتورها تست شده.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍8❤3🔥1
با این سایت به راحتی پروفایل گیتهاب خودتون رو جلا بدید. کافیه username خودتون رو وارد کنید و بعد از گذروندن ۶ مرحله یه پروفایل تر و تمیز تحویل بگیرید.
#github #readme #profile
https://gprm.itsvg.in
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
#github #readme #profile
https://gprm.itsvg.in
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍7🍓3🍌1🍾1
تاحالا به این فکر کردید که یک class دقیقا چی هست؟
چرا اسم سازندهها هم اسم class هستند (یا اسم خاصی دارند)؟
چرا موقع نمونه سازی از یک کلاس، مثل یک تابع صداش میزنن؟
زبانهای برنامهنویسی امروزی تقریبا همگی یا از Algol الهام گرفتهاند یا از Lisp. (و یا هردو)اولین زبان شیگرا، Simula، به شکل یک اکستنشن برای زبان Algol طراحی شده بود. Algol زبانی هست که مفهوم block و اسکوپ و برنامهنویسی Procedural با اون معروف شد.
در Algol وقتی یک بلاک اجرا میشد، میگفتند که «یک نمونه (Instance) از آن بلاک در حافظه ساخته شده» (تا بتونه اجرایی بشه)
یک خصوصیت دیگر Algol این بود که پروسیجرها مثل Rust یا زبانهای FP نیاز نبود مشخصا از return استفاده کنند. نتیجهی آخرین پردازش منطقی در بلاک به عنوان خروجی اون بلاک در نظر گرفته میشد.
همچنین هر بلاک وقتی برای اجرا به حافظه میاد، بعد از اتمام اجرا نیز از حافظه خارج میشه.
حالا، class چیه؟
یک پروسیجر که بتواند نمونهای از یک بلاک ایجاد کند، به حالتی که آن نمونه بعد از فراخانی پروسیجر به حیات خود ادامه دهد، class نام دارد. نمونههای ایجاد شده از آن بلاک، object نام دارند.
(کتاب Structured Programming بخش ۳.۳ - به اسم نویسندهها توجه کنید!)
در حقیقت class یک پروسیجر است! برای همین مثل یک تابع فراخانی میشود. بدنهی کلاس، همان بلاکای است که از آن یک نمونه (object) در حافظه ایجاد میشد.
اسم class از classification آمده. به معنی طبقهبندی. دستهبندی.
منظور از دستهبندی چی بوده؟
هدف این بوده که نمونهها قابل دستهبندی باشند. یعنی مثلا میگفتند که این نمونههای ساخته شده جزو کدام دستهبندی هستند؟ یا بهتر بگوییم، نمونهها از روی کدام class ساخته شدهاند؟
طبق این تعریف به مفهوم دیگری میرسیم که آن هم یک پروسیجر است و عملکرد مشابهی دارد: closure هر بلاک در Algol میتوانست شامل تعدادی متغیر یا یک سری از دستورات باشد. جالبتر اینکه در Algol میتوانستیم ساب-پروسیجر داشته باشیم. یعنی هر پروسیجر، می توانست شامل تعدادی متغیر و تعدادی ساب-پروسیجر باشد. این در حقیقت همان حالتی است که امروزه class رو نگارش میکنید!
یعنی class حتی از نظر نوع نگارش هم مثل یک پروسیجر معمولی بوده. اما نکتهای اصلی اینجاست: نمونه بلاک یک پروسیجر بعد از اجرا از حافظه خارج میشد!
تفاوت class و closure در این بوده که نمونه بلاک، بعد از فراخانی تابع میتوانست به حیات خود در حافظه ادامه دهد و کماکان در دسترس باشد.
اگر زبانهایی مثل Algol یا Lisp را مطالعه کنید، مغزتان سوت میکشد از حجم مفاهیم و قابلیتهایی که ما فکر میکنیم جدید هستند، ولی در واقع از دهه ۵۰ و ۶۰ برای ما باقی ماندهاند. همچنین درک بهتری از روند پیشرفت این قابلیتها خواهیم داشت.
(مثلا فکر میکنید اولین بار int از کجا آمد؟)
#DevTwitter | <Amirreza Gh/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
چرا اسم سازندهها هم اسم class هستند (یا اسم خاصی دارند)؟
چرا موقع نمونه سازی از یک کلاس، مثل یک تابع صداش میزنن؟
زبانهای برنامهنویسی امروزی تقریبا همگی یا از Algol الهام گرفتهاند یا از Lisp. (و یا هردو)اولین زبان شیگرا، Simula، به شکل یک اکستنشن برای زبان Algol طراحی شده بود. Algol زبانی هست که مفهوم block و اسکوپ و برنامهنویسی Procedural با اون معروف شد.
در Algol وقتی یک بلاک اجرا میشد، میگفتند که «یک نمونه (Instance) از آن بلاک در حافظه ساخته شده» (تا بتونه اجرایی بشه)
یک خصوصیت دیگر Algol این بود که پروسیجرها مثل Rust یا زبانهای FP نیاز نبود مشخصا از return استفاده کنند. نتیجهی آخرین پردازش منطقی در بلاک به عنوان خروجی اون بلاک در نظر گرفته میشد.
همچنین هر بلاک وقتی برای اجرا به حافظه میاد، بعد از اتمام اجرا نیز از حافظه خارج میشه.
حالا، class چیه؟
یک پروسیجر که بتواند نمونهای از یک بلاک ایجاد کند، به حالتی که آن نمونه بعد از فراخانی پروسیجر به حیات خود ادامه دهد، class نام دارد. نمونههای ایجاد شده از آن بلاک، object نام دارند.
(کتاب Structured Programming بخش ۳.۳ - به اسم نویسندهها توجه کنید!)
در حقیقت class یک پروسیجر است! برای همین مثل یک تابع فراخانی میشود. بدنهی کلاس، همان بلاکای است که از آن یک نمونه (object) در حافظه ایجاد میشد.
اسم class از classification آمده. به معنی طبقهبندی. دستهبندی.
منظور از دستهبندی چی بوده؟
هدف این بوده که نمونهها قابل دستهبندی باشند. یعنی مثلا میگفتند که این نمونههای ساخته شده جزو کدام دستهبندی هستند؟ یا بهتر بگوییم، نمونهها از روی کدام class ساخته شدهاند؟
طبق این تعریف به مفهوم دیگری میرسیم که آن هم یک پروسیجر است و عملکرد مشابهی دارد: closure هر بلاک در Algol میتوانست شامل تعدادی متغیر یا یک سری از دستورات باشد. جالبتر اینکه در Algol میتوانستیم ساب-پروسیجر داشته باشیم. یعنی هر پروسیجر، می توانست شامل تعدادی متغیر و تعدادی ساب-پروسیجر باشد. این در حقیقت همان حالتی است که امروزه class رو نگارش میکنید!
یعنی class حتی از نظر نوع نگارش هم مثل یک پروسیجر معمولی بوده. اما نکتهای اصلی اینجاست: نمونه بلاک یک پروسیجر بعد از اجرا از حافظه خارج میشد!
تفاوت class و closure در این بوده که نمونه بلاک، بعد از فراخانی تابع میتوانست به حیات خود در حافظه ادامه دهد و کماکان در دسترس باشد.
اگر زبانهایی مثل Algol یا Lisp را مطالعه کنید، مغزتان سوت میکشد از حجم مفاهیم و قابلیتهایی که ما فکر میکنیم جدید هستند، ولی در واقع از دهه ۵۰ و ۶۰ برای ما باقی ماندهاند. همچنین درک بهتری از روند پیشرفت این قابلیتها خواهیم داشت.
(مثلا فکر میکنید اولین بار int از کجا آمد؟)
#DevTwitter | <Amirreza Gh/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍9🤔3❤1👨💻1
#کدبوک
اگه برنامه نویسید و رشته دانشگاهیتون کامپیوتر نبوده یا اگه کامپیوتر خوندین ولی درس ها رو خوب پاس نکردین، با خوندن این ۲ تا کتاب میتونید به دید خیلی خوبی از مدار منطقی، معماری کامپیوتر، سیستم عامل، کامپایلر، شبکه، دیتا استراکچر و الگوریتم برسین.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
اگه برنامه نویسید و رشته دانشگاهیتون کامپیوتر نبوده یا اگه کامپیوتر خوندین ولی درس ها رو خوب پاس نکردین، با خوندن این ۲ تا کتاب میتونید به دید خیلی خوبی از مدار منطقی، معماری کامپیوتر، سیستم عامل، کامپایلر، شبکه، دیتا استراکچر و الگوریتم برسین.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍12🔥2❤1🎉1
📥 دریافت شده از:
Hossein Nazari
-------------
👇پیشنهاد میکنم حتما بخونید👇
درود دوستان، پیشنهاد میکنم این توضیحات و مقاله اصلی ای که در متن بهش ارجاع داده شده رو مطالعه بفرمایید.
بر اساس تجربه شخصا خیلی پیش اومده که به خاطر عدم شناخت تفاوت دو نوع مختلف نیازمندی بیزینسی، معماری اشتباه طراحی شده باشه یا حتی کد خیلی شلوغ و کثیف بوجود اومده باشه و باعث شده باشه عملکرد دیتابیس و اپلیکیشن به شدت تحت تاثیر قرار بگیره و maintenance و تغییر سخت شده باشه. اگه نیازمندیهای بیزینسی در بخش تحلیل خیلی زیاده و پررنگ هست در تصمیمات بیزینسی، حتما به تفاوت OLTP و OLAP دقت کنید.
❎تحلیل داده - آشنایی با OLTP و OLAP، چرا لازمه داده های دیتابیس رو duplicate کنیم؟
https://lnkd.in/eJm4TSTN
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
Hossein Nazari
-------------
👇پیشنهاد میکنم حتما بخونید👇
درود دوستان، پیشنهاد میکنم این توضیحات و مقاله اصلی ای که در متن بهش ارجاع داده شده رو مطالعه بفرمایید.
بر اساس تجربه شخصا خیلی پیش اومده که به خاطر عدم شناخت تفاوت دو نوع مختلف نیازمندی بیزینسی، معماری اشتباه طراحی شده باشه یا حتی کد خیلی شلوغ و کثیف بوجود اومده باشه و باعث شده باشه عملکرد دیتابیس و اپلیکیشن به شدت تحت تاثیر قرار بگیره و maintenance و تغییر سخت شده باشه. اگه نیازمندیهای بیزینسی در بخش تحلیل خیلی زیاده و پررنگ هست در تصمیمات بیزینسی، حتما به تفاوت OLTP و OLAP دقت کنید.
❎تحلیل داده - آشنایی با OLTP و OLAP، چرا لازمه داده های دیتابیس رو duplicate کنیم؟
https://lnkd.in/eJm4TSTN
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍4🐳2❤1
✅ دورهمی هفته هفتم
- موضوع: Blockchain in Go (E2)
- تاریخ و ساعت: ۲۲ اردیبهشت ساعت ۹ شب
- اسپانسر: GoBridge
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 894 6410 4538
Passcode: 596103
🔗 https://us02web.zoom.us/j/89464104538?pwd=bXo4eGdCNzh2dHdOcU1SQlhzdUVGdz09
ارائه بخش تکمیلی قراردادهای هوشمند توسط مهندس مسلم رئوف.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- موضوع: Blockchain in Go (E2)
- تاریخ و ساعت: ۲۲ اردیبهشت ساعت ۹ شب
- اسپانسر: GoBridge
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 894 6410 4538
Passcode: 596103
🔗 https://us02web.zoom.us/j/89464104538?pwd=bXo4eGdCNzh2dHdOcU1SQlhzdUVGdz09
ارائه بخش تکمیلی قراردادهای هوشمند توسط مهندس مسلم رئوف.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🐳3🎉1🍾1💊1
ویدئوی مراسم Google I/O 23 به صورت کامل
https://www.youtube.com/live/cNfINi5CNbY?feature=share
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://www.youtube.com/live/cNfINi5CNbY?feature=share
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
💊3👍2🐳1
Forwarded from Gopher Academy (Javad)
✅ دورهمی هفته هفتم
- موضوع: Blockchain in Go (E2)
- تاریخ و ساعت: ۲۲ اردیبهشت ساعت ۹ شب
- اسپانسر: GoBridge
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 894 6410 4538
Passcode: 596103
🔗 https://us02web.zoom.us/j/89464104538?pwd=bXo4eGdCNzh2dHdOcU1SQlhzdUVGdz09
ارائه بخش تکمیلی قراردادهای هوشمند توسط مهندس مسلم رئوف.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- موضوع: Blockchain in Go (E2)
- تاریخ و ساعت: ۲۲ اردیبهشت ساعت ۹ شب
- اسپانسر: GoBridge
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 894 6410 4538
Passcode: 596103
🔗 https://us02web.zoom.us/j/89464104538?pwd=bXo4eGdCNzh2dHdOcU1SQlhzdUVGdz09
ارائه بخش تکمیلی قراردادهای هوشمند توسط مهندس مسلم رئوف.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🍌1💊1👾1
❎Visualize call graph of a Go program using Graphviz
📡Features
click on package to quickly switch the focus using interactive viewer
focus specific package in the program
group functions by package
group methods by their receiver type
filter packages to specific import path prefixes
ignore calls to/from standard library
omit various types of function calls
🔴https://github.com/ofabry/go-callvis
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
📡Features
click on package to quickly switch the focus using interactive viewer
focus specific package in the program
group functions by package
group methods by their receiver type
filter packages to specific import path prefixes
ignore calls to/from standard library
omit various types of function calls
🔴https://github.com/ofabry/go-callvis
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍2🔥2
🔵proposal:
🟢 cmd/go: add .ʕ◔ϖ◔ʔ as an alternate spelling of .go in file names
🔴 https://github.com/golang/go/issues/59968
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🟢 cmd/go: add .ʕ◔ϖ◔ʔ as an alternate spelling of .go in file names
🔴 https://github.com/golang/go/issues/59968
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
GitHub
proposal: cmd/go: add .ʕ◔ϖ◔ʔ as an alternate spelling of .go in file names · Issue #59968 · golang/go
The new (apparently closed-source) programming language Mojo uses files named .mojo, but it allows .🔥 as an alternate spelling of .mojo, as in hello.🔥. Issue #45549 tracks handling of unicode in im...
🤣4🐳2👍1👨💻1💊1
🔵Go arm64 Function Call Assembly
🟢 https://blog.felixge.de/go-arm64-function-call-assembly/
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🟢 https://blog.felixge.de/go-arm64-function-call-assembly/
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥1🏆1🫡1
🔵mimetype
🟢A package for detecting MIME types and extensions based on magic numbers
🔴Features
fast and precise MIME type and file extension detection
long list of supported MIME types
possibility to extend with other file formats
common file formats are prioritized
text vs. binary files differentiation
safe for concurrent usage
🟡 https://github.com/gabriel-vasile/mimetype
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🟢A package for detecting MIME types and extensions based on magic numbers
🔴Features
fast and precise MIME type and file extension detection
long list of supported MIME types
possibility to extend with other file formats
common file formats are prioritized
text vs. binary files differentiation
safe for concurrent usage
🟡 https://github.com/gabriel-vasile/mimetype
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🍾2🔥1👀1
🔵Production Ready Concurrency
🟢Concurrency is difficult to get right even when a language offers convenient features for working with it. Egon’s preference? Avoid concurrency where possible. But for when you can’t.. he has some tips.
🟡 https://www.youtube.com/watch?v=qq3gu0JQ0yU
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🟢Concurrency is difficult to get right even when a language offers convenient features for working with it. Egon’s preference? Avoid concurrency where possible. But for when you can’t.. he has some tips.
🟡 https://www.youtube.com/watch?v=qq3gu0JQ0yU
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
❤1🔥1🐳1
Junior to senior: An action plan for engineering career success from Github Guides.
از جونیور تا سنیور: یه پلن عملی برای موفقیت شغلی مهندسی. با استفاده از این راهنمای سیستماتیک برای توسعه و رشد مهارت، چشم انداز شغلی مهندسی خود را افزایش دهید.
#junior #senior #plan #action #roadmap #list #article #github #soft #skill #skills #team #imrpove
https://github.com/readme/guides/engineering-career-success
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
از جونیور تا سنیور: یه پلن عملی برای موفقیت شغلی مهندسی. با استفاده از این راهنمای سیستماتیک برای توسعه و رشد مهارت، چشم انداز شغلی مهندسی خود را افزایش دهید.
#junior #senior #plan #action #roadmap #list #article #github #soft #skill #skills #team #imrpove
https://github.com/readme/guides/engineering-career-success
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍6🏆2❤1
Forwarded from Gopher Academy (Javad)
✅ دورهمی هفته هفتم
- موضوع: Blockchain in Go (E2)
- تاریخ و ساعت: ۲۲ اردیبهشت ساعت ۹ شب
- اسپانسر: GoBridge
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 894 6410 4538
Passcode: 596103
🔗 https://us02web.zoom.us/j/89464104538?pwd=bXo4eGdCNzh2dHdOcU1SQlhzdUVGdz09
ارائه بخش تکمیلی قراردادهای هوشمند توسط مهندس مسلم رئوف.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- موضوع: Blockchain in Go (E2)
- تاریخ و ساعت: ۲۲ اردیبهشت ساعت ۹ شب
- اسپانسر: GoBridge
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 894 6410 4538
Passcode: 596103
🔗 https://us02web.zoom.us/j/89464104538?pwd=bXo4eGdCNzh2dHdOcU1SQlhzdUVGdz09
ارائه بخش تکمیلی قراردادهای هوشمند توسط مهندس مسلم رئوف.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🎉3❤1
اگر دنبال سوالات مصاحبه با کیفیت و سطح بالا هستید این ریپو مال شماست
https://github.com/yangshun/tech-interview-handbook
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://github.com/yangshun/tech-interview-handbook
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
❤4👍2🔥1