Dev Perfects – Telegram
Dev Perfects
41 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
ساختمان داده درخت یکی از مهم‌ترین و پرکاربردترین ساختارهای داده در علوم کامپیوتره. این ساختار داده غیرخطی از یه سری گره (node) تشکیل شده که با یال‌ها (edge) به هم وصل می‌شن. هر درخت یه گره ریشه (root) داره که بالاترین گره هستش و بقیه گره‌ها از اون منشعب می‌شن.

درخت‌ها انواع مختلفی دارن که هر کدوم کاربردهای خاص خودشون رو دارن. مثلاً درخت دودویی (binary tree) که هر گره حداکثر دو فرزند داره، درخت جستجوی دودویی (binary search tree) که برای جستجوی سریع داده‌ها استفاده می‌شه، یا درخت AVL که یه نوع درخت متعادل هستش و برای عملیات‌های سریع‌تر طراحی شده.

یکی از مزایای اصلی درخت‌ها، سرعت بالای جستجو و دسترسی به داده‌هاست. مثلاً در یه درخت جستجوی دودویی متعادل، پیچیدگی زمانی جستجو O‏(log n) هستش که خیلی سریع‌تر از جستجوی خطی با پیچیدگی‏ O‏(n) در آرایه‌هاست.

درخت‌ها تو پیاده‌سازی سیستم فایل‌ها، ساختار DOM در مرورگرها، الگوریتم‌های مسیریابی شبکه، و حتی در هوش مصنوعی برای ساخت درخت‌های تصمیم‌گیری کاربرد دارن. تو برنامه‌نویسی هم از درخت‌ها برای نمایش ساختارهای سلسله مراتبی مثل ساختار کلاس‌ها در برنامه‌نویسی شیءگرا استفاده می‌شه.

پیمایش درخت‌ها هم بحث مهمیه. روش‌های اصلی پیمایش شامل پیمایش پیش‌ترتیب (preorder)، میان‌ترتیب (inorder) و پس‌ترتیب (postorder) هستن. هر کدوم از این روش‌ها کاربردهای خاص خودشون رو دارن. مثلاً از پیمایش میان‌ترتیب برای مرتب‌سازی عناصر یه درخت جستجوی دودویی استفاده می‌شه.

یه نکته جالب در مورد درخت‌ها اینه که می‌شه اونا رو به صورت بازگشتی (recursive) تعریف کرد. یعنی هر زیردرخت خودش یه درخت کامله. این ویژگی باعث می‌شه که پیاده‌سازی الگوریتم‌های مربوط به درخت‌ها با استفاده از توابع بازگشتی ساده‌تر بشه.

درخت‌ها تو بهینه‌سازی عملکرد برنامه‌ها هم نقش مهمی دارن. مثلاً درخت‌های قرمز-سیاه ‏(Red-Black Trees) یا درخت‌های B که تو پایگاه‌های داده استفاده می‌شن، می‌تونن عملیات‌های درج، حذف و جستجو رو با پیچیدگی زمانی ‏O‏(log n) انجام بدن.

تو زمینه گرافیک کامپیوتری هم از ساختارهای درختی مثل درخت‌های Octree برای تقسیم‌بندی فضای سه‌بعدی و بهبود عملکرد رندرینگ استفاده می‌شه. این نوع درخت‌ها به خصوص تو بازی‌های کامپیوتری و نرم‌افزارهای مدل‌سازی سه‌بعدی کاربرد زیادی دارن.

در نهایت، درک عمیق ساختمان داده درخت و الگوریتم‌های مرتبط با اون برای هر برنامه‌نویس و متخصص علوم کامپیوتر ضروریه. این ساختار داده نه تنها در حل مسائل الگوریتمی، بلکه در طراحی سیستم‌های نرم‌افزاری کارآمد هم نقش کلیدی داره.


#دیتااستراکچر #دیتا_استراکچر #برنامه_نویسی #data_structure

————————————————————————
میتونید برای حمایت از فعالیت این کانال، انتقادات و پیشنهادات خودتون رو کامنت کنید.
————————————————————————

💙💙 @PhiloLearn 💙💙
Forwarded from 
چالش سعی کن نخندی با پیوستن جرجندی. 🤣

#موقت
Forwarded from Yasha
آقای جرجند هم اومد بالا
یک سری از ویدیوها رو باید دید. ویدیوهایی که ممکنه باعث یک «کلیک» در مغزتون بشن و راهی که در برنامه‌نویسی میرید رو تغییر بدند. (برای من اینطور بود!)

این ویدیو از Mike Acton یکی از معروف‌ترین‌هاشون هست که خیلی در جوامع برنامه‌نویسی بهش رفرنس داده میشه:

https://www.youtube.com/watch?v=rX0ItVEVjHc

🔗 Amirreza Gh @amirr3za
📲 @twittdl_bot
Forwarded from Meitix (Meiti)
#golang

هر آن چیزی که در یک فایل در گولنگ export میشه باید کامنت داکیومنت داشته باشه.

همچنین توی کامنت هاهم در مورد اینکه "این چیه" صحبت میکنیم نه جزئییات پیاده سازی. توی گو از کامنت deprecate پشتیبانی میشه و اگر برای یه تابع استفاده کنیم به استفاده کننده اش هشدار میده که این متد deprecateشده

// ComputePath returns the fastest path between two points.
// Deprecated: This function uses a deprecated way to compute // the fastest path. Use ComputeFastestPath instead.
func ComputePath() {}
Forwarded from Code Module | کد ماژول (𔓙)
درود

میخواستم یه Matlab خدمتتون عرض کنم 🦦

من این زندگی Ruby شما نمیخوام. شاید فکر کنید من Sql هستم ولی نه من میخوام توی دلتون Java کنم و به خاطر شما با همه Django دعوا کنم.

بقیه Go میخورن دخالت کنن و باور کنید Rust میگم.

قبول کنید لطفا به Python میوفتم :))


چیزی نگید یه برنامه نویس عاشق شده ... 🚶🏻


#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
پیام دادن که go تحریمه و ابزار doggo نصب نمیشه. حتی Proxychain هم روش کار نمیکنه 😭

تاجایی که من میدونم
💠 نرم افزار، Proxychain کتابخانه libc را dynamic link میاد hook میکنه
💠 چون go ساختار syscall wrappers خودش را داره و static link است پس نباید کارکنه

🗓 برای حل مشکل پروکسی go : روی git یک پروکسی ست کنید
git config --global http.proxy

مشکل حل میشه 😎

⁉️ دوستان متخصص زبان گو شاید راهکار های بهتری بلد باشند که خوشحال میشوم بنویسد
اگر بوس میخواهید باید از یک جایی شروع کنید دیگه 😁 :
صدها فرشته بوسه بر آن دست می زنند کز کار خلق یک گره بسته وا کند

دوست عزیزمون Spring در کامنت ها پیشنهاد دادن از ساختار زیر استفاده کنیم
Set GOPROXY environment
Bash (Linux or macOS)
export GOPROXY=https://goproxy.io,direct
PowerShell (Windows)
$env:GOPROXY = "https://goproxy.io,direct"
Forwarded from Mir Sobhan
کد باحال

‏plumbum یک کتابخونه رابط هست برای تعامل بهتر با cli

توی داکیومنت نوشته بود میتونید به جای تعریف دستی از این روش هر دستوری که میخواید رو وارد کنید(دستورات چک میشن که توی شل موجود هستند یا نه)

کاری که کرده اومده مجیک متودی که برای کلاس ها تعریف میکنیم رو برای فایل تعریف کرده. خب بلاخره هر فایلی توی پایتون یک آبجکت حساب میشه.

به این ترتیب با استفاده از این مجیک متود تونسته ایمپورت هارو به این شکل زیبا بکنه

@meMirSobhan
Forwarded from IranCoderz (Farid Ghaderi)
+ بچه‌تون خوبه؟ چیکار می‌کنه؟
- هیچی والا، تو اتاقش نشسته داره بازی می‌کنه.

🆔 @IranCoderz | 👩‍💻🧑‍💻
Forwarded from Python BackendHub (Mani)
اگه این پست و لایبری براتون مفید بود، خوشحال می‌شم اگه بهش استار بدید. این کار به من انگیزه بیشتری برای توسعه و بهبود فریم‌ورک های اوپن سورس میده. از حمایت‌تون خیلی ممنونم 🙂 🙏

@PyBackendHub
Forwarded from Python BackendHub (Mani)
یکی از دوستانی امروز یادم انداخت به یه لایبری قدیمی که نوشته بودم. این لایبری یه HTTP client هست که می‌تونه سایت‌هایی که زیر پوشش Cloudflare هستن و سیستم ربات‌یابشون فعاله رو کراول کنه. تاحالا در موردش صحبت نکرده بودم، ولی گفتم اینجا یه توضیحی بدم.
لینک گیتهابش اینجاست با httpx کاملاً سازگاره، یعنی اگه از httpx استفاده می‌کردید، با تغییر import می‌تونید به راحتی ازش استفاده کنید.

مشکل چی بود؟ سایت‌هایی که از Cloudflare به عنوان reverse proxy استفاده می‌کنن، معمولاً از یه مکانیزم تشخیص ربات استفاده می‌کنن که به TLS Fingerprint متکیه. حالا TLS Fingerprint چیه؟ وقتی شما به یه سایت وصل می‌شید، اولین چیزی که رد و بدل میشه، یه پیام به اسم Client Hello هست. این پیام اطلاعات اولیه‌ای رو درباره کلاینت شما به سرور میده، مثل نسخه TLS که پشتیبانی می‌کنید و یه لیست به اسم cipher suite.

توضیح Cipher suite: در واقع مجموعه‌ای از الگوریتم‌های رمزنگاری هست که کلاینت و سرور می‌تونن برای برقراری یه ارتباط امن استفاده کنن. هر مرورگر یا کلاینت یه لیست مشخص از cipher suite داره که ترتیبش هم خاص همون کلاینت هست. مثلاً مرورگر کروم یه لیست مشخص داره، مرورگر فایرفاکس یه لیست دیگه، و مثلاً requests پایتون هم یه لیست کاملاً متفاوت.

کلادفلیر چطور متوجه میشه شما مرورگر نیستید؟ اون میاد این TLS Fingerprint، یعنی ترکیب نسخه TLS و ترتیب cipher suiteها، رو با user-agent شما مقایسه می‌کنه. اگه این دو تا با هم نخونن، مثلاً user-agent شما میگه مرورگر کروم هستید ولی cipher suiteها میگن یه اسکریپت پایتونید، Cloudflare متوجه میشه که شما مرورگر نیستید و درخواست رو بلاک می‌کنه.

کله سناریویی که گفتم اینجا داره اتفاق میفته تو لایبری من که کلا ۱۰ خط کده.

@PyBackendHub
Forwarded from 
support.google.com/jamboard/answer/14084927

از اکتبر ۲۴، خدمت گوگل Jamboard که تخته‌سفیدی برخط را ارائه می‌داد، بازنشسته می‌شود. در صورت داشتن داده در داخل این نرم‌افزار، هر چه زودتر داده‌های خود را برون‌ریزی و نگه دارید.

#news #google
@amiria703_channel
Forwarded from 
killedbygoogle.com

از بین این‌ها، بیشتر از همه غم grasshopper و androidify به دلم نشست و موند.
‏Grasshopper یه برنامهٔ آموزش برنامه‌نویسی (مشابه دولینگو) بود که علاوه بر آموزش جاوا اسکریپت، بر آموزش مفاهیم راه‌اندازی کسب‌وکار و سایر نیازمندی‌های برنامه‌نویسی هم تأکید می‌کرد. همدم من در دورانی بود که برنامه‌نویسی رو به عنوان یه تفریح می‌دیدم.
‏Androidify هم برنامه‌ای بود که باهاش می‌شد اندروید خودتون رو بسازید با لباس و طرح‌های مختلف. از اولین برنامه‌های اندرویدی‌ای بود که روی اولین گوشی اندرویدیم داشتم.

#note #google
@amiria703_channel
Forwarded from Source Byte (‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌P҉d҉y҉👾)
A Syscall Journey in the Windows Kernel
What's happening after a syscall

Credit: Alice
https://alice.climent-pommeret.red/posts/a-syscall-journey-in-the-windows-kernel

#internals #windows
Forwarded from Source Byte (‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌P҉d҉y҉👾)
File Tunnel
Tunnel TCP connections through a file
https://github.com/fiddyschmitt/File-Tunnel.git
This media is not supported in your browser
VIEW IN TELEGRAM
میدونم قول داده بودم دیگه پست با #fun نذارم ولی خب اگر بخوایم منطقی نگاه کنیم این حتی فان هم نیست
این غم انگیزه
رائفی پور در مورد گنو حرف میزنه؟؟؟

هفتاد درصد سیستم عامل های سرور های مایکروسافت که ویندوزه، لینوکسه


😳😳 @PhiloLearn 😳😳
Forwarded from Gopher Academy
🔵 عنوان مقاله
More Powerful Go Execution Traces

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته به تلاش‌های تیم برنامه‌نویسی زبان برنامه‌نویسی Go در دو نسخه اخیر اشاره دارد، که در آن‌ها به بهبود و تعمیر سیستم اجرایی tracing پرداخته شده است. این بهبودها منجر به کاهش ده برابری در بار اضافی سیستم و افزایش قابلیت‌های مقیاس‌پذیری در trace‌ها شده‌است. از نتایج این پیشرفت‌ها، دو ویژگی آزمایشی جدید معرفی شده‌اند. نخست، توانایی ضبط مداوم اجرا که به‌عنوان 'flight recording' شناخته می‌شود و دوم، API مخصوص خواندن traceها. هر دو ویژگی جدید، افق‌های تازه‌ای را برای توسعه‌دهندگان و محققان در زمینه تحلیل کارایی و عیب‌یابی برنامه‌ها فراهم می‌آورند و قدم‌های مهمی در جهت افزایش کارایی و تحلیل‌پذیری برنامه‌ها در Go به‌شمار می‌روند.

🟣لینک مقاله:
https://go.dev/blog/execution-traces-2024


👑 @gopher_academy
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
‏تنها صنفی که از ویروس ‎کرونا آسیب ندید مهندسین نرم افزار و ‎برنامه نویسی ها بودن
چون by default قرنطینه هستند!!!😂

#fun
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
مانی توی این پستش یک کد زده توی چند خط، کل کلادفلر رو به مسخره گرفته

https://news.1rj.ru/str/PyBackEndHub/1096

@SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
من مدت خیلی زیادیه که با qt بازی میکنم
یعنی خب واقعا نمیشه گفت که کار کردم باهاش، اکثر تجربه هام با qt از راه پایتون صرفا در حد بازی کردن و مثل بچه ها ذوق کردن بوده و هست و احتمالا هم همین خواهد ماند

اگ
من مدت خیلی زیادیه که با qt بازی میکنم
یعنی خب واقعا نمیشه گفت که کار کردم باهاش، اکثر تجربه هام با qt از راه پایتون صرفا در حد بازی کردن و مثل بچه ها ذوق کردن بوده و هست و احتمالا هم همین خواهد ماند

اگر نمیدونید qt چیه که باید خیلی خلاصه بگم یه فریمورک Cpp برای ساختن gui و یه سری فریمورک برای پایتون وجود داره که بهتون اجازه میده از qt استفاده کنید مثل pyqt و pyside

حالا چی شد یادی از qt کردم؟ هیچی داشتم میگشتم توی داکیومنتاش (رسما گشت و گذار داشتم میکردم از بیخوابی) که رسیدم به یه مفهوم جدید برای خودم و این طوری بودم که چرا من این رو تاحالا ندیده بود؟؟؟

و اون هم چیزی نبود جز QtWebEngine و خب یه چیز باحالی هم که ازش دیدم و گفتم با شما هم به اشتراک بذارم این بود که میتونید با کمک QWebEngineView یک صفحه ی وب رو توی پنجرتون لود کنید
چطوری؟

import sys
from PySide6.QtCore import QUrl
from PySide6.QtWebEngineWidgets import QWebEngineView

if __name__ == "__main__":
app = QtWidgets.QApplication([])
view = QWebEngineView()
view.load(QUrl("https://parchlinux.com"))
view.resize(1024, 750)
view.show()

sys.exit(app.exec())


الان اگر شما اول pyside6 رو نصب کنید و بعد این کد رو اجرا کنید، یه پنجره براتون باشه میشه که توش سایت پارچ لینوکس رو لود میکنه
شاید برای شما چیز عجیبی نباشه ولی برای من واقعا تجربه ی جالب و جذابی گفتم باهاتون به اشتراک بذارمش 😁

#تجربه #python #qt #pyside6 #pyqt

————————————————————————
میتونید برای حمایت از فعالیت این کانال، انتقادات و پیشنهادات خودتون رو کامنت کنید.
————————————————————————

💙💙 @PhiloLearn 💙💙