فارسی
باز کردن در Telegram
GGopher Club

Gopher Club

@GopherClub · گروه · فناوری · ایندکس از 2026-10-03
374عضو
2نویسنده در 30 روز
3پیام در 30 روز
345پیام در ایندکس
A
عکس
برای نمایش کلیک کنید
@1 ✍ خیلی‌ها در دنیای رمزارز، هنوز در مرحله تبادل، نوسان‌گیری و ماینینگ مانده‌اند. اما سؤال مهم این است: آیا ارزش واقعی آینده فقط در استخراج و معامله است؟ یا در ساختن مدل‌های جدید مالکیت، حکمرانی و توکن‌سازی دارایی‌های واقعی؟ جهان آرام‌آرام از «رمزارز به‌عنوان ابزار مبادله» به سمت «رمزارز به‌عنوان زیرساخت حکمرانی و مالکیت» حرکت می‌کند. اینجاست که مفاهیمی مثل DAO، حکمرانی هوشمند، RWA و توکن‌سازی مسکن اهمیت پیدا می‌کنند. کسانی که این تغییر را زودتر بفهمند، فقط مخاطب بازار نیستند؛ بازیگر بازار آینده‌اند. در پست‌های بعدی، قدم‌به‌قدم می‌بینیم که: تمرکززدایی واقعاً یعنی چه؟ چرا بیت‌کوین فقط یک پول دیجیتال نیست؟ DAO چگونه مدل تصمیم‌گیری را تغییر می‌دهد؟ و چرا آینده بزرگ‌تر، در توکن‌سازی دارایی‌های واقعی مثل مسکن پنهان شده است؟ با معرفی کانال به دیگران در رشد سواد حکمرانی رمز ارزها سهیم باشیم ♨️کانال حکمرانی رمز ارز ⚖️📡👇👇 https://eitaa.com/joinchat/3101885429C8e98cc0be9
𓄂
چند روش برای نمایش لیست توابع (functions) یک فایل یا پکیج Go 1. استفاده از grep اگر فقط می‌خواهید توابع تعریف‌شده در یک فایل را ببینید: grep "^func " main.go خروجی: func main() { func GetUser() { func (s *Server) Start() { برای همه فایل‌های Go در پروژه: grep -R "^func " . 2. استفاده از go doc برای مشاهده توابع Export شده یک پکیج: go doc . یا: go doc mypackage 3. استفاده از godoc اگر godoc نصب باشد: godoc mypackage یا وب سرور مستندات: godoc -http=:6060 4. استفاده از go list برای استخراج اطلاعات ساختاری پکیج: go list -json . اما این مستقیماً توابع را نمایش نمی‌دهد و بیشتر برای متادیتای پکیج است. 5. استفاده از gopls (بهترین گزینه برای تحلیل کد) اگر gopls نصب باشد: gopls symbols main.go یا: gopls workspace_symbol . این متدها، توابع، structها و interfaceها را نمایش می‌دهند. 6. با استفاده از AST در Go اگر بخواهی دقیقاً همه توابع یک فایل را استخراج کنی (حتی methodها)، می‌توانی از پکیج‌های زیر استفاده کنی: go/parser go/ast مثال: go package main import ( "go/ast" "go/parser" "go/token" "log" ) func main() { fset := token.NewFileSet() node, err := parser.ParseFile(fset, "main.go", nil, 0) if err != nil {   log.Fatal(err) } for _, decl := range node.Decls {   if fn, ok := decl.(*ast.FuncDecl); ok {    println(fn.Name.Name)   } } } خروجی: main GetUser Start DeleteUser
4 · 897 ·
𓄂
‌‌♨️ واکنش پاول دوروف به محدودیت اینترنت؛ پای ایران هم وسط کشیده شد! 🇮🇷🤔 🇬🇧 طبق گزارشات ظاهراً دولت بریتانیا قراره دسترسی افراد زیر ۱۶ سال به شبکه‌های اجتماعی رو محدود کنه 🚫📱، اما پاول دوروف معتقده این کار فقط نوجوان‌هارو به سمت VPN هل میده 🕵️‍♂️🌐. ▪️بنیان‌گذار تلگرام برای مثال از ایران و روسیه نام برده و گفته محدودیت‌ها باعث نمیشه کاربران شبکه‌های اجتماعی رو ترک کنن ؛ فقط روش دسترسیشون عوض میشه 🔄📶. ⚠️ طبق قانون جدید، کاربران بریتانیایی باید برای اثبات سن خود مدارکی مثل کارت شناسایی 🆔، کارت بانکی 💳 یا اسکن چهره ارائه کنن 📸. . https://t.me/+Bp8JeTpQoiUwMjVk
2 · 1.5K ·
M
P
عکس
برای نمایش کلیک کنید
پروژه ProGrid 🦭 هوم مرورگر گرید بندی شده با قابلیت کاستومایز های فراوان 😃 و اضافه کردن ویجت های ماژولار ⚡️به زودی نسخه 0.0.6 در ریپازیتوری مربوطه آپلود میشه و همه میتونن این پروژه جذاب رو در مرورگر هاشون نصب و استفاده کنن 🔥 🕸 تغییرات این نسخه (۰.۰.۶) 🔘 اضافه شدن ویجت های جدید ( آب‌وهوا ، تایمر و ساعت ، مانیتور کریپتو و طلا و..) 🔘 رفع باگ های ویجت های فعلی در نسخه گوشی 🔘 نصب آسان و سریع و استفاده لوکال 🔘 روان شدن و بهینه سازی کلی 🔘 برخی باگ های گرید نیز رفع میشن 🌚 جهت حمایت به پروژه ⭐️ بدین 🌝 اگر پیشنهاد یا انتقادی دارید خوشحال میشم بشنوم 👈🏽 @PouyaAryani امیدوارم از دید شما تبلیغ نباشه , چون پروژه کاملا متن بازه و هیچ سودی برای من ندارع فقط شروع کاره و میخوام دو نفر ببین🥲
  1. S
    ایده خیلی جالبیه اگر دیتامونو ندزدی 😂
    1. P
      متن بازه کد رو ببین کدوم کد میخواد دیتا تو برداره ❤️
کل رشتهٔ گفتگو · 3 پاسخ →
𓄂
پیوند
برای نمایش کلیک کنید
🔵 عنوان مقاله How 4 Bytes of Padding Make Array Clearing 49% Faster 🟢 خلاصه مقاله: حذف کردن آرایه‌های بزرگ در زبان برنامه‌نویسی Go، مخصوصاً در معماری‌های اینتل، گاهی اوقات می‌تواند تفاوت قابل توجهی در سرعت اجرا داشته باشد. نکته‌ی جالب این است که قرار گرفتن آرایه در موقعیت صحیح و هم‌راستا بودن آن با بایت‌های ۸تایی، عملکرد حذف عناصر را تا ۴۹ درصد سریع‌تر می‌کند. این موضوع به نحوه‌ی مدیریت حافظه و نحوه‌ی تعامل پردازنده با داده‌ها مربوط می‌شود و تأثیر قابل توجهی بر کارایی برنامه‌های بزرگ دارد. وقتی آرایه در موقعیتی قرار می‌گیرد که آدرسی آن ۸بایت هم‌راستا است، عملیات پاک‌سازی یا صفر کردن آن به صورت بهینه‌تری انجام می‌شود. این موضوع به معماری پردازنده‌های اینتل مربوط است، که به صورت خاص برای خواندن و نوشتن داده‌های ۸بایتی بهینه‌سازی شده‌اند. در نتیجه، برخی از دستورالعمل‌های کمکی، مانند عملیات‌های بایت‌به‌بایت، در این حالت سریع‌تر اجرا می‌شوند. به این پدیده، "پدینگ یا پر کردن ۴ بایتی" گفته می‌شود که اثر قابل توجهی بر سرعت دارد. در بررسی‌های آزمایشگاهی، محققان حتی نسخه‌های مختلف زبان برنامه‌نویسی، از جمله نسخه‌های مختلف از Go، را مورد ارزیابی قرار داده‌اند. این آزمایش نشان می‌دهد که در زمان‌هایی که آرایه در موقعیت ایده‌آل قرار دارد، می‌توان بهبود چشمگیری در زمان اجرای عملیات‌های حافظه مشاهده کرد. این یافته‌ها اهمیت ساختاری برنامه و نحوه‌ی تخصیص حافظه را در بهبود کارایی نشان می‌دهد و به توسعه‌دهندگان کمک می‌کند تا اطمینان حاصل کنند که داده‌هایشان در مسیرهای منطبق با معماری سخت‌افزار قرار دارند. در نتیجه، درک و استفاده از این نوع بهینه‌سازی‌ها می‌تواند توسعه‌دهندگان را در ساخت برنامه‌های سریع‌تر و بهینه‌تر یاری دهد، مخصوصاً در پروژه‌های بزرگ که نیاز به عملیات‌های حافظه مکرر دارند. شناخت نحوه‌ی قرارگیری داده‌ها و بهره‌گیری از اصول معماری کامپیوتر، کلید موفقیت در رسیدن به کارایی بهتر است. #برنامه‌نویسی #بهینه‌سازی_حافظه #پردازشگر #پروگرمینگ 🟣لینک مقاله: https://blog.andr2i.com/posts/2026-06-22-optimization-catalog-how-4-bytes-of-padding-make-array-clearing-49-faster ➖➖➖➖➖➖➖➖ 👑 @gopher_academy
10 · 1K ·
𓄂
پیوند
برای نمایش کلیک کنید
🚀 نسخه Go 1.26.5 منتشر شد تمرکز اصلی آن روی رفع مشکلات امنیتی و بهبود پایداری است. این نسخه شامل اصلاحات امنیتی در پکیج‌های crypto/tls و os بوده و همچنین تعدادی باگ در بخش‌های مختلف Go برطرف شده است. 🔧 مهم‌ترین تغییرات: 🔐 رفع مشکلات امنیتی در پکیج‌های crypto/tls و os ⚙️ رفع باگ‌های کامپایلر برای بهبود عملکرد و پایداری 🧠 برطرف شدن اشکالات Runtime 🛠 رفع باگ‌های go command 🌐 اصلاح مشکلات در پکیج‌های net، os و syscall 📋 جزئیات کامل تغییرات (Milestone):👇 📣 https://github.com/golang/go/issues?q=milestone%3AGo1.26.5+label%3ACherryPickApproved ➖➖➖➖➖➖➖➖ 👑 @gopher_academy
2 · 1.2K ·
𓄂
شایان اویس‌قَرَن، پژوهشگر ایرانی علوم رایانه و استاد دانشگاه واشینگتن، مدال آباکوس سال ۲۰۲۶ اتحادیه بین‌المللی ریاضیات را دریافت کرده است؛ جایزه‌ای که به دستاوردهای برجسته پژوهشگران جوان در بخش‌های ریاضی علوم رایانه تعلق می‌گیرد. کمیته این جایزه می‌گوید اویس‌قرن با وارد کردن ابزارهایی از شاخه‌هایی چون هندسه چندجمله‌ای‌ها، نظریه احتمال و نظریه طیفی گراف‌ها، شیوه تحلیل الگوریتم‌ها را گسترش داده و برای حل چند مسئله قدیمی علوم رایانه راه‌های تازه‌ای گشوده است. پژوهش‌های او به‌ویژه در دو زمینه مورد توجه قرار گرفته‌اند: یافتن مسیرهای نزدیک به بهینه و نمونه‌گیری تصادفی از مجموعه‌های بسیار بزرگ و پیچیده. مدال آباکوس هر چهار سال یک‌بار اهدا می‌شود و ادامه جایزه‌ای است که تا سال ۲۰۱۸ به نام رولف نوانلینا شناخته می‌شد. نامزد دریافت آن باید در آغاز سال برگزاری کنگره جهانی ریاضی‌دانان هنوز به ۴۰ سالگی نرسیده باشد. این جایزه از مهم‌ترین افتخارات بین‌المللی در علوم رایانه نظری به شمار می‌رود. اما اهمیت کار اویس‌قرن تنها با فهرست کردن اصطلاح‌های تخصصی روشن نمی‌شود. بخش مهمی از مسیر علمی او به یکی از مشهورترین پرسش‌های علوم رایانه بازمی‌گردد: چگونه می‌توان کوتاه‌ترین مسیر ممکن را برای سفر میان چندین شهر پیدا کرد و در پایان به نقطه آغاز بازگشت؟ این پرسش که «مسئله فروشنده دوره‌گرد» نام دارد، در ظاهر ساده است. یک فروشنده، راننده یا مأمور توزیع باید از چند شهر یا مقصد عبور کند، هر کدام را یک بار ببیند و به نقطه نخست بازگردد. با افزایش شمار مقصدها، تعداد مسیرهای ممکن چنان سریع زیاد می‌شود که بررسی همه آنها عملاً ممکن نیست. در چنین مواردی، پژوهشگران به جای یافتن پاسخ دقیق، الگوریتمی می‌خواهند که در مدت معقول مسیری نزدیک به بهترین مسیر را پیدا کند و بتوان تضمین کرد که نتیجه آن از حد معینی بدتر نخواهد بود. https://t.me/futurepulse_persian
7 · 1.5K ·
𓄂
🔰 آموزش کامل دستورات go env 🎖 قسمت اول — CGO و ارتباط Go با C 👑https://t.me/gopher_academy/5137 🎖قسمت دوم — کامپایلرها، معماری و سیستم‌عامل 👑 https://t.me/gopher_academy/5138 🎖 قسمت سوم — مسیرها و مدیریت ماژول ها 👑 https://t.me/gopher_academy/5139 🎖قسمت چهارم — پروکسی، امنیت و تنظیمات Runtime 👑 https://t.me/gopher_academy/5140
16 · 934 ·
  1. S
    همه لینک ها فقط به کانال اشاره می‌کنند؟
کل رشتهٔ گفتگو · 2 پاسخ →
𓄂
قضیه این Jump Table چیه که توی کامپایلر گو ازش استفاده می کنن؟ تکنیک/ساختار برای اجرای سریع‌تر شاخه‌های مختلف کده، و در بحث compiler / assembly / runtime هست. خیلی ساده: فرض کن اینو داری: switch x { case 0: foo() case 1: bar() case 2: baz() case 3: qux() } یک روش ساده اینه که کامپایلر کلی if یا مقایسه پشت‌سرهم بسازه: if x == 0 → foo else if x == 1 → bar else if x == 2 → baz else if x == 3 → qux ولی اگر caseها پشت‌سرهم و متراکم باشن، می‌شه یک آرایه از آدرس مقصدها داشت: jump_table: [0] → address of foo [1] → address of bar [2] → address of baz [3] → address of qux بعد تقریباً این اتفاق می‌افته: x │ ├── bounds check │ └── jump_table[x] │ ├── 0 → foo ├── 1 → bar ├── 2 → baz └── 3 → qux یعنی به‌جای اینکه بگه: x == 0 ? x == 1 ? x == 2 ? x == 3 ? مستقیم میره سراغش: jump_table[x] 🫤چرا به درد می‌خوره؟ مهم‌ترین کاربردش سریع کردن dispatch ـه؛ یعنی وقتی یک مقدار تعیین می‌کنه کدوم مسیر باید اجرا بشه. مثلاً: switchهای بزرگ ماشین حالت (state machine) interpreterها VMها opcode dispatch بعضی parserها compiler-generated code مثلاً یک interpreter ممکنه opcode داشته باشه: 0 → ADD 1 → SUB 2 → MUL 3 → DIV 4 → LOAD 5 → STORE به‌جای اینکه برای هر opcode کلی مقایسه انجام بده، می‌تونه از jump table استفاده کنه: opcode = 4 ↓ jump_table[4] ↓ LOAD handler ولی همیشه استفاده نمی‌شه این نکته مهمه. اگر caseها پراکنده باشن: switch x { case 10: case 1000: case 999999: } ساختن jump table می‌تونه خیلی پرمصرف از نظر حافظه باشه؛ چون باید بین 10 تا 999999 کلی slot داشته باشی. در این شرایط compiler ممکنه از روش‌های دیگه مثل binary search یا مقایسه‌های زنجیره‌ای استفاده کنه. پس به‌صورت خیلی خلاصه:👇📣🕊 Jump table = تبدیل یک انتخاب بین چند مسیر به یک lookup + jump مستقیم. و نکته جالبش اینه که وقتی توی Go داری assembly یا خروجی compiler رو نگاه می‌کنی، ممکنه چیزی ببینی که ظاهراً خیلی عجیب‌تر از switch معمولی Go باشه؛ چون compiler بر اساس تعداد و توزیع caseها تصمیم می‌گیره بهترین روش dispatch چی باشه. @gopher_ac
6 · 979 ·
𓄂
پیوند
برای نمایش کلیک کنید
🚀 Exploring Authorization with Go, OPA & Rego توی این ریپو که بیشتر جنبه یادگیری داره هدف اینه که منطق دسترسی کاربران رو از کد اصلی Go جدا کنیم و به یک Policy Engine بسپاریم. در این پروژه از: 🔹 گولنگ برای ساخت API 🔹از Open Policy Agent (OPA) برای اجرای Policy 🔹از Rego برای تعریف قوانین Authorization 🔹 از Regal برای Lint و بررسی کیفیت Policyها 🔹از OPA Test برای تست قوانین دسترسی 🔹از Makefile برای ساده‌تر کردن Development Workflow استفاده شده. مثلاً به‌جای اینکه داخل Go پر از شرط‌های مختلف داشته باشیم: if user.Role == "admin" { // ... } قوانین دسترسی را در Rego تعریف می‌کنیم: allow if { input.user.role == "manager" input.method == "POST" input.path == "/users" } و Go فقط تصمیم Policy Engine را مصرف می‌کند: HTTP Request ↓ Go ↓ OPA ↓ Rego ↓ Allow / Deny در حال حاضر پروژه شامل چندین API ساده هست (فقط برای درک درست نحوه ارتباط بک اند با policy rego فایل مون) مثل: GET /users POST /users DELETE /users GET /reports است و برای Roleهای مختلف مثل admin, manager و user تعریف شده. همچنین برای Policyها تست و lint داریم تا قوانین دسترسی قابل بررسی و maintainable باشند. 🎯 هدف این پروژه بیشتر از یک API ساده است؛ می‌خواهم در طول توسعه، مفاهیم Policy-Based Access Control، OPA، Rego و Authorization Architecture را به‌صورت عملی بررسی کنم. 🔗 GitHub: https://github.com/mrbardia72/labdon-opa اگر به Go، Backend Architecture، Authorization، OPA یا Rego علاقه دارید، خوشحال می‌شوم پروژه را ببینید و نظرتان را بگویید. 🙌
17 · 1K ·
M
سلام دوستان جلسات کتابخونی رو ادامه بدیم؟
کل رشتهٔ گفتگو · 2 پاسخ →
𓄂
عکس
برای نمایش کلیک کنید
این تصویر مربوط به چیدمان حافظه مجازی (Virtual Memory Layout) از دیدگاه Go runtime است. در واقع Go برای مدیریت حافظه (memory management) و پیاده‌سازی garbage collector ساختاری دارد 👇👇👇👇
6 · 937 ·
𓄂
پیوند
برای نمایش کلیک کنید
🧠 این Program Break چیه؟ 🔺https://t.me/gopher_academy/5277 🔼 درواقعه Program Break چه کاری انجام می‌دهد؟ 🔺https://t.me/gopher_academy/5278 ⚠️ مهم ترین نکات این بحث Program Break ≠ Physical RAM 🔺https://t.me/gopher_academy/5279 🔗 این Program Break چه ارتباطی با malloc دارد؟ 🔺https://t.me/gopher_academy/5280 🗺 چرا mmap وارد داستان شد؟ 🔺https://t.me/gopher_academy/5281 🪟 توی سیستم های Linux و Windows چه تفاوتی دارند؟ 🔺https://t.me/gopher_academy/5282 🦫 اما Go چه کار می‌کند؟ 🔺https://t.me/gopher_academy/5283 🏗ساختار داخلی Go Heap و Memory Arenas 🔺https://t.me/gopher_academy/5290 🧩 پس این دو Heap را از هم جدا کنیم 🔺https://t.me/gopher_academy/5291 🌍 اینجا Program Break به معماری CPU وابسته است؟ 🔺https://t.me/gopher_academy/5292 🔥 حالا کل داستان را کنار هم بگذاریم 🔺https://t.me/gopher_academy/5293 🎯 پس Program Break را چطور به خاطر بسپاریم؟ 🔺https://t.me/gopher_academy/5294 *************** @gopher_academy
6 · 689 ·
𓄂
پیوند
برای نمایش کلیک کنید
🔰 بهینه‌سازی Embeddingها در شرکت Uber با هدف کاهش دقت اعشار و فشرده‌سازی تا ۴۶٪، در کنار تبدیل Pointerها به Value Typeها در کد Go که باعث شد مصرف ۴۰ درصدی CPU توسط Garbage Collector به‌شدت کاهش پیدا کند. 🟢 توضیحات کامل در لینک زیر: 👇 🔴 part 1: https://t.me/gopher_academy/5308 🔴 part 2: https://t.me/gopher_academy/5309 ➖➖➖➖➖➖➖➖ 👑 @gopher_academy
8 · 682 ·
M
دوستان سلام یک سوال این بوت کمپ های کوئرا رو شرکت کردن بنظرتون ارزش داره؟ چون از نظر یادگیری که ما ایرانیا به تمام دوره های یودمی رایگان دسترسی داریم از طریق سایت هایی مثل گیت ای ار و یودمی ایران و دانلودلی ولی گفتم شاید اونجا نتورکینگ خوبی بشه انجام داد، با افراد جدی اشنا بشی و برای کار‌پیدا کرد کمکت کنه لامصب حدود ۵۰ میلیون پولشه؟ بنظرتون ارزشش رو داره؟
  1. R
    پیام صوتی
    1.4 MB · برای نمایش کلیک کنید
کل رشتهٔ گفتگو · 1 پاسخ →

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما