Golang Insights – Telegram
Golang Insights
760 subscribers
116 photos
7 videos
47 files
131 links
Stay ahead in Golang development with Golang Insights, your go-to for the latest news, tips, tricks, and code examples tailored for Golang enthusiasts and professionals.

Group: https://news.1rj.ru/str/GolangEngineers
Download Telegram
از notion یا امثالش به خاطر محدودیت هاش خسته شدی 🙄؟

گزینه خفن تری داریم به نام obsidian حتما تستش کنید، پلاگین های community یادتون نره.


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
Binary Trees

A binary tree is a tree data structure where each node has no more than two children.

A binary tree can come in many forms, such as the following:

Full binary tree: every node has either zero or two children.

Complete binary tree: each level of the tree has a complete set of nodes, with the last level being the exception.

Perfect binary tree: Every level of the tree including the last level is complete.

Balanced binary tree: the depth of the left and right sub-trees of all nodes differ by no more than 1.

Binary search tree: each node is larger than all the nodes in their left sub-tree, and smaller than all the nodes in their right sub-tree.

Binary trees are great for storing ordered data for sort and search operations. Their strict structure and properties make these tasks highly efficient.

Some typical use cases are:

🔸 Search algorithms

🔸 Sort algorithms

🔸 Pathfinding algorithms

🔸 Representation of hierarchical data

Classes are often used to implement binary trees because of their ability to use encapsulation and abstraction.

A Node class is used to store its value and its left and right child. An insert function would be used to add a value relative to a given root node. Based on the binary tree type, it may need to travel through the tree to find its appropriate position. Based on your use case, you may want to have other methods like search and traverse.

Binary trees are integral to programming. They provide an essential building block for developing efficient algorithms and programs.


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
Single threaded languages 😂


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Using http.NoBody is better nil.

req := httptest.NewRequest(http.MethodGet, "/", http.NoBody)


It's zero allocation and safe no body for some methods.


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
8
💎 تجربه مشارکت در پروژه متن باز بلاکچین

در زیر یک تسک بسیار ساده قرار دادیم که قرار است براساس پروپزال ارائه شده پیاده سازی شود.

این تجربه خوب است که مشارکت خود را در گیتهاب و پروژه های آزاد نشان دهید.

- لینک Issue تسک: https://github.com/pactus-project/pactus/issues/1386

- لینک پروپوزال: https://pips.pactus.org/PIPs/pip-23



اگر سوالی درخصوص پیاده سازی داشتید می توانید مطرح کنید تا راهنماییتان کنم.


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
3
وبینار آشنایی با SDN (شبکه مبتنی بر نرم‌افزار) ☁️

مواردی که در این وبینار به آنها خواهیم پرداخت:
🔹History
🔹Management Plane
🔹Control Plane
🔹Data Plane
🔹OpenFlow
🔹Northbound API
🔹Southbound API
🔹Relation to openstack
🔹NSX، ACI و OVN

📆 سه‌شنبه 19 تیر 1403
ساعت 18 الی 20

ثبت‌نـام رایگان وبیـنار

#xaascloud | ابـر زَس

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 Go 1.22.5 and 1.21.12 are released!

🔐 Security: Includes security fix for net/http

🗣 Announcement: https://groups.google.com/g/golang-announce/c/gyb7aM1C9H4

⬇️ Download: go.dev/dl/#go1.22.5


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
10
🔠 نرم افزار IDE Zed راست بیس رقیب جدید vscode و محصولات jetbrains


این IDE با استفاده از GPU برای محیط توسعه خیلی سریع و روان است و مصرف رم و سی پی یو خیلی پایینی دارد.

اگر از طرفداران محصولات Jetbrains هستید می توانید یک بار zed را تجربه کنید تا حس خوب محیط توسعه Jetbrains را تجربه کنید.

برخی از ویژگی های جالب این ادیتور پشتیبانی از extensions, AI, collab panel و ...


https://zed.dev/


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
32
Please open Telegram to view this post
VIEW IN TELEGRAM
4
A Crash Course on Microservice Communication Patterns.pdf
2.9 MB
A Crash Course on Microservice Communication Patterns

#bytebytego #tips #pro_guide

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
1
A Crash Course in Database Scaling Strategies.pdf
3.1 MB
A Crash Course in Database Scaling Strategies

#bytebytego #tips #pro_guide

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
🌞 Go 1.23 Release Candidate 2 is released!

🏃‍♂️ Run it in dev! Run it in prod! File bugs! go.dev/issue/new

🗣 Announcement: https://groups.google.com/g/golang-announce/c/jW315Nz132s

🗃 Download: go.dev/dl/#go1.23rc2

Release note 1.23: https://tip.golang.org/doc/go1.23


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Delve v1.23.0 released!

Highlights:
* Go 1.23 support, incl range-over-func
* New next-instruction command
* New trace option --follow-calls
* Improvements reading captured vars of closures
* Lots more features, fixes & improvements!

https://github.com/go-delve/delve/releases/tag/v1.23.0


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
41
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course on Cell-based Architecture.pdf
5.5 MB
A Crash Course on Cell-based Architecture

#bytebytego #tips #pro_guide

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
5
A Crash Course on Distributed Systems.pdf
4.7 MB
A Crash Course on Distributed Systems

#bytebytego #tips #pro_guide

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
CrowdStrike Patch 😂😂

https://news.1rj.ru/str/thezoomit/78161


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Scaling_to_1_2_Billion_Daily_API_Requests_with_Caching_at_RevenueCat.pdf
4 MB
Scaling to 1.2 Billion Daily API Requests with Caching at RevenueCat

#bytebytego #tips #pro_guide

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
1
دروغ سنج توییتری 😂😂


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
31
This media is not supported in your browser
VIEW IN TELEGRAM
نظر شرکت ها و ارگان های مهم در خصوص آپدیت های ویندوز 😂😂

#bsod #crowdstrike

☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
21
تحلیل BSOD پتچ امنیتی CrowdStrike

مشکل اصلی که در نرم‌افزار CrowdStrike رخ داد، به دلیل دسترسی نادرست به حافظه از طریق یک اشاره‌گر تهی (NULL pointer) در زبان برنامه‌نویسی C++ بود. حافظه در کامپیوتر به صورت یک آرایه بزرگ از اعداد سازماندهی شده است. اگر برنامه‌ای تلاش کند به یک آدرس حافظه نامعتبر دسترسی پیدا کند، سیستم‌عامل بلافاصله برنامه را متوقف می‌کند و این موضوع منجر به خرابی سیستم می‌شود.

در این حالت خاص، برنامه سعی کرد به آدرس حافظه 0x9c (که معادل 156 در مبنای 10 است) دسترسی پیدا کند. این آدرس حافظه نامعتبر است و دسترسی به آن باعث می‌شود که سیستم‌عامل برنامه را متوقف کند. این مسئله به دلیل عدم بررسی اشاره‌گر تهی توسط برنامه‌نویس اتفاق افتاد.

برای مثال:

struct Obj {
int a;
int b;
};

Obj* obj = NULL;

print(obj->a);


در این مثال، اشاره‌گر obj تهی (NULL) است. هنگامی که برنامه سعی می‌کند به عضو a از شیء obj دسترسی پیدا کند، به دلیل تهی بودن اشاره‌گر، به یک آدرس نامعتبر دسترسی پیدا می‌کند و باعث خرابی برنامه می‌شود.

این مشکل به‌خصوص خطرناک بود زیرا در یک درایور سیستمی رخ داد. درایورهای سیستمی دسترسی‌های سطح بالایی به منابع سیستم دارند و خرابی در این درایورها می‌تواند منجر به توقف کل سیستم‌عامل و نمایش صفحه آبی مرگ (BSOD) شود.

برای جلوگیری از چنین مشکلاتی، برنامه‌نویسان باید همیشه قبل از دسترسی به اشاره‌گرها، آن‌ها را بررسی کنند. استفاده از زبان‌های برنامه‌نویسی مدرن مانند Rust که از دسترسی‌های نادرست به حافظه جلوگیری می‌کنند، می‌تواند به کاهش این خطرات کمک کند.


☄️ @GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
542