از notion یا امثالش به خاطر محدودیت هاش خسته شدی 🙄 ؟
گزینه خفن تری داریم به نام obsidian حتما تستش کنید، پلاگین های community یادتون نره.
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
گزینه خفن تری داریم به نام obsidian حتما تستش کنید، پلاگین های community یادتون نره.
➖➖➖➖➖➖➖➖
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
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.
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Using http.NoBody is better nil.
It's zero allocation and safe no body for some methods.
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
req := httptest.NewRequest(http.MethodGet, "/", http.NoBody)
It's zero allocation and safe no body for some methods.
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
در زیر یک تسک بسیار ساده قرار دادیم که قرار است براساس پروپزال ارائه شده پیاده سازی شود.
این تجربه خوب است که مشارکت خود را در گیتهاب و پروژه های آزاد نشان دهید.
- لینک Issue تسک: https://github.com/pactus-project/pactus/issues/1386
- لینک پروپوزال: https://pips.pactus.org/PIPs/pip-23
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
وبینار آشنایی با 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
مواردی که در این وبینار به آنها خواهیم پرداخت:
🔹History
🔹Management Plane
🔹Control Plane
🔹Data Plane
🔹OpenFlow
🔹Northbound API
🔹Southbound API
🔹Relation to openstack
🔹NSX، ACI و OVN
📆 سهشنبه 19 تیر 1403
⏰ ساعت 18 الی 20
✅ ثبتنـام رایگان وبیـنار
#xaascloud | ابـر زَس
➖➖➖➖➖➖➖➖
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
🔐 Security: Includes security fix for net/http
🗣 Announcement: https://groups.google.com/g/golang-announce/c/gyb7aM1C9H4
⬇️ Download: go.dev/dl/#go1.22.5
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
این IDE با استفاده از GPU برای محیط توسعه خیلی سریع و روان است و مصرف رم و سی پی یو خیلی پایینی دارد.
اگر از طرفداران محصولات Jetbrains هستید می توانید یک بار zed را تجربه کنید تا حس خوب محیط توسعه Jetbrains را تجربه کنید.
برخی از ویژگی های جالب این ادیتور پشتیبانی از extensions, AI, collab panel و ...
https://zed.dev/
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course on Microservice Communication Patterns.pdf
2.9 MB
A Crash Course on Microservice Communication Patterns
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course in Database Scaling Strategies.pdf
3.1 MB
A Crash Course in Database Scaling Strategies
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
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
🏃♂️ 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
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
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
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
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course in Database Sharding - ByteByteGo Newsletter.pdf
4 MB
A Crash Course in Database Sharding
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
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
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course on Distributed Systems.pdf
4.7 MB
A Crash Course on Distributed Systems
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
CrowdStrike Patch 😂 😂
https://news.1rj.ru/str/thezoomit/78161
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
https://news.1rj.ru/str/thezoomit/78161
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
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
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
نظر شرکت ها و ارگان های مهم در خصوص آپدیت های ویندوز 😂😂
#bsod #crowdstrike
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bsod #crowdstrike
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
تحلیل BSOD پتچ امنیتی CrowdStrike
مشکل اصلی که در نرمافزار CrowdStrike رخ داد، به دلیل دسترسی نادرست به حافظه از طریق یک اشارهگر تهی (NULL pointer) در زبان برنامهنویسی C++ بود. حافظه در کامپیوتر به صورت یک آرایه بزرگ از اعداد سازماندهی شده است. اگر برنامهای تلاش کند به یک آدرس حافظه نامعتبر دسترسی پیدا کند، سیستمعامل بلافاصله برنامه را متوقف میکند و این موضوع منجر به خرابی سیستم میشود.
در این حالت خاص، برنامه سعی کرد به آدرس حافظه 0x9c (که معادل 156 در مبنای 10 است) دسترسی پیدا کند. این آدرس حافظه نامعتبر است و دسترسی به آن باعث میشود که سیستمعامل برنامه را متوقف کند. این مسئله به دلیل عدم بررسی اشارهگر تهی توسط برنامهنویس اتفاق افتاد.
برای مثال:
در این مثال، اشارهگر obj تهی (NULL) است. هنگامی که برنامه سعی میکند به عضو a از شیء obj دسترسی پیدا کند، به دلیل تهی بودن اشارهگر، به یک آدرس نامعتبر دسترسی پیدا میکند و باعث خرابی برنامه میشود.
این مشکل بهخصوص خطرناک بود زیرا در یک درایور سیستمی رخ داد. درایورهای سیستمی دسترسیهای سطح بالایی به منابع سیستم دارند و خرابی در این درایورها میتواند منجر به توقف کل سیستمعامل و نمایش صفحه آبی مرگ (BSOD) شود.
برای جلوگیری از چنین مشکلاتی، برنامهنویسان باید همیشه قبل از دسترسی به اشارهگرها، آنها را بررسی کنند. استفاده از زبانهای برنامهنویسی مدرن مانند Rust که از دسترسیهای نادرست به حافظه جلوگیری میکنند، میتواند به کاهش این خطرات کمک کند.
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
مشکل اصلی که در نرمافزار 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 که از دسترسیهای نادرست به حافظه جلوگیری میکنند، میتواند به کاهش این خطرات کمک کند.
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM