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
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 💙💙
Forwarded from Go Casts 🚀
تو جلسه تیمسازی بکند، بچه ها قرار شد unit test و end to end test بنویسن، برای اینکه بشه تست integration یا end to end درستی داشت باید وابستگی ها درست راه اندازی بشه راه ها مختلفی وجود داره، مثلا اینکه از قبل وابستگی ها بالا باشن، یا از وابستگی های جایگزین و راحت تر و in-memory استفاده کرد، یا اینکه از testcontainer استفاده کرد، که بچه ها از test container استفاده کرده بودن.

این مقاله توضیحات خوبی میده در این مورد

Emulating real dependencies in Integration Tests using Testcontainers
A hands-on guide on Integration Tests in Go using Testcontainers.

https://packagemain.tech/p/integration-tests-using-testcontainers

توضیحات «دوره + تیمسازی بکند Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/491


@gocasts

#golang
#test
#گولنگ
کانال را به دوستان خود معرفی کنید.
دمت گرم ❤️

https://news.1rj.ru/str/TheRaymondDev
از کجا متوجه شدید که کنکور فنی حرفه‌ای داشتم؟


+ سی‌شارپ را روی کاغذ می‌نویسد


با آرزوی موفقیت برای کنکوری‌ها (البته با تاخیر)

@SohrabContents
Forwarded from Gopher Academy
در زبان Go، defer یک مکانیزم است که به شما اجازه می‌دهد یک تابع را در انتهای اسکوپ (scope) اجرا کنید، معمولاً برای پاکسازی منابع یا اجرای کدهای نهایی مثل بستن فایل‌ها، قفل‌ها، یا کانکشن‌ها.

در Go، چندین نوع defer وجود دارد که بر اساس نحوه پیاده‌سازی و تخصیص منابع، رفتارهای مختلفی دارند:

🟢 1. Open-Coded Defer

اOpen-coded defer نوعی از defer است که بهینه‌سازی شده و مستقیماً در کد قرار داده می‌شود. این نوع defer زمانی اتفاق می‌افتد که Go تشخیص دهد که فراخوانی defer نیازی به پیچیدگی‌های اضافه‌ی معمول (مثل تخصیص حافظه روی heap) ندارد. معمولاً این بهینه‌سازی زمانی انجام می‌شود که تعداد کمی defer در تابع وجود دارد و آنها ساده هستند.

ویژگی‌ها:
- از تخصیص حافظه اضافی جلوگیری می‌کند.
- سریع‌تر اجرا می‌شود.
- مستقیم در کد قرار می‌گیرد و از پیچیدگی‌های معمول defer اجتناب می‌کند.

🟢 2. Heap-Allocated Defer

اHeap-allocated defer زمانی ایجاد می‌شود که defer به دلایل خاصی نیاز به تخصیص حافظه روی heap دارد. این اتفاق معمولاً در مواقعی رخ می‌دهد که تابع دارای چندین defer پیچیده باشد، یا زمانی که defer در یک تابع ناشناس یا گوروتین استفاده شود.

ویژگی‌ها:
- برای مدیریت defer باید از heap استفاده کند.
- کندتر از open-coded defer است زیرا نیاز به تخصیص حافظه و مدیریت اضافی دارد.
- در تابع‌هایی که تعداد زیادی defer دارند یا defer در گوروتین‌ها استفاده شده، این نوع دیده می‌شود.

🟢 3. Stack-Allocated Defer

اStack-allocated defer نوعی از defer است که در stack تخصیص داده می‌شود. این نوع معمولاً در مواقعی استفاده می‌شود که defer از لحاظ تخصیص منابع ساده است و نیازی به استفاده از heap ندارد، اما همچنان نمی‌تواند open-coded باشد. این نوع به نوعی میان open-coded و heap-allocated قرار می‌گیرد.

🔵ویژگی‌ها:
- روی stack تخصیص داده می‌شود.
- از heap استفاده نمی‌کند، بنابراین بهینه‌تر از heap-allocated defer است.
- به دلایلی نمی‌تواند open-coded باشد (مثل پیچیدگی بیشتر یا وجود چندین defer).

🔴 جمع‌بندی

- `Open-coded defer`: بهینه‌ترین نوع، زمانی که defer ساده و کم تعداد باشد.
- `Heap-allocated defer`: کمینه کارایی دارد زیرا نیاز به تخصیص حافظه روی heap دارد.
- `Stack-allocated defer`: از stack استفاده می‌کند و بین کارایی و پیچیدگی قرار می‌گیرد.

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


👑 @gopher_academy
Forwarded from Python BackendHub (Mani)
یک شفاف سازی: منظوراز سرور تو این schema سرور خوده ربات ناشناسه.

این بهترین نسخه ای هست که میشه با تلگرام اپ نوشت، هویت شما با هرپیام تغییر‌ میکنه بنابراین ناشناسه.

ولی هنوز e2e نیست چون سکرت کی ها همه تو کلاد استوریج تلگرام ذخیره میشن.
نکته دیگه هم اینه که من فرض رو براین گذاشتم که دیتایی که یک اپلیکیشن رو کلاد تلگرام ذخیره میکنه، قابل دریافت مجدد نیست توسط خوده اپلیکیشن. اگه این فرضیه درست نباشه، کلا این قضیه شدنی نیست رو تلگرام.

@PyBackendHub
Forwarded from کداکسپلور | CodeExplore (Aqa Reza)
👑یه سایت خوب برای ایکون هایی اوردم که با معیار متریال دیزاین پیاده سازی شدن و به کار میرن، میتونین خیلی راحت از این ایکونا اینطوری استفاده کنین:

🌐https://pictogrammers.com/library/mdi/

#site #icon
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
This media is not supported in your browser
VIEW IN TELEGRAM
اگر سید و آنفالو کنیم چه میشه؟

@SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
Analyzing E2E bot
Twitter Space
بررسی ربات ناشناس E2E

توی این اسپیس توییتر همراه آقای جرجندی و یاشار شاهین‌زاده با سایر اشخاص صاحب‌نظر امنیت سایبری ربات ناشناس رمزنگاری E2E رو بررسی کردیم.

@Yasha
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️برنامه LibreOffice 24.8: ویژگی‌های جدید و بهبودها
برنامه LibreOffice 24.8 با بهبودهای قابل توجهی ارائه شده است. این نسخه جدید شامل یک ویژگی حریم خصوصی، بهبودهای ویرایشگر، بهبودهای محاسباتی، بهبودهای ارائه، و سایر تغییرات و بهبودها است.

🔹حریم خصوصی: امکان حذف اطلاعات شخصی مانند نام نویسنده، زمان‌بندی، نام چاپگر، مدت ویرایش و تنظیمات هنگام ذخیره پیش‌نویس.
🔹ویرایشگر: یک "پنل جستجو" جدید در نوار کناری برای مشاهده آسان جستجوهای سریع، رندر بهتر متن در سیستم‌های نوشتاری CJK با جایگزین فونت ، رفع یک مشکل در موقعیت‌یابی شکل در وارداکردن فایل DOCX برای پاراگراف‌های RTL.
🔹محاسبات: پشتیبانی جدید برای وارد کردن/صادر کردن قالب جدول OOXML، محلی‌سازی بهتر نوار وضعیت، امکان حذف نظرات با استفاده از منوی کلیک راست، توابع جدید مانند LET، XLOOKUP و XMATCH، عملکرد محاسبه بهتر با ترد و گزینه‌های انعطاف‌پذیرتر برای عملگرهای مقایسه.
🔹ارائه: یک "پنل یادداشت‌ها" جدید برای یادداشت‌ها، که هنگام فعال شدن، یک پنل قابل جمع شدن درست زیر اسلاید نمایش می‌دهد. باز کردن فایل‌های PPTX با شکل‌های سنگین سفارشی اکنون سریع‌تر است.
🔹انواع نمودار جدید: "Pie-of-Pie" و "Bar-of-Pie".
🔹یک بسته رسمی برای رایانه‌های ویندوز مبتنی بر ARM.
🔹پشتیبانی برای اضافه کردن الگوهای تایلینگ در فایل‌های PDF وارد شده در Draw.
🔹معرفی رمزگذاری ODF مبتنی بر رمز عبور با کارایی بالا.
🔹انتخاب کلمات چینی و ژاپنی در Math اکنون بر اساس قوانین ICU است.
🔹پایداری و عملکرد: نسخه 24.8 بر روی افزایش پایداری و بهبود عملکرد کلی برنامه تمرکز کرده است. بسیاری از باگ‌ها برطرف شده‌اند و سرعت پاسخگویی برنامه افزایش یافته است.
🔹سازگاری: سازگاری با فرمت‌های مختلف فایل، به ویژه فرمت‌های مایکروسافت آفیس، بهبود یافته است. این بدان معناست که شما می‌توانید به راحتی فایل‌های خود را بین LibreOffice و سایر برنامه‌های آفیس مبادله کنید.
🔹دسترسی‌پذیری: LibreOffice 24.8 به بهبود دسترسی برای کاربران دارای معلولیت کمک کرده است. این شامل بهبودهای در رابط کاربری، پشتیبانی از فناوری‌های کمکی و تطبیق با استانداردهای دسترسی است.
🔹بومی‌سازی: جامعه گسترده LibreOffice به ترجمه و بومی‌سازی برنامه کمک کرده است. در نتیجه، LibreOffice 24.8 در بسیاری از زبان‌ها در دسترس است و تجربه کاربری را برای کاربران در سراسر جهان بهبود می‌بخشد.
🔹پشتیبانی از سیستم‌های عامل: LibreOffice 24.8 از طیف گسترده‌ای از سیستم عامل‌ها، از جمله ویندوز، لینوکس و macOS پشتیبانی می‌کند.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
linuxtnt
http://seilany.ir
——————————————————
⭐️حمایت از کانال
https://zarinp.al/learninghive.ir
https://daramet.com/hossein_seilani
Forwarded from Code Module | کد ماژول (genix)
‏Array indexing چیست؟🚀

‏Array indexing تکنیکیه که برای دسترسی به المنت ها در یک آرایه بر اساس موقعیت یا ایندکس اونها استفاده میشه. همونطور که میدونید هر المنت در یک آرایه با ایندکس خود مشخص میشه که نشون دهنده موقعیت اون نسبت به المنت اول هست. ایندکسینگ امکان دسترسی موثر و مستقیم به هر المنت در آرایه رو فراهم میکنه که برای کارهای محاسباتی مختلف ضروری هست. به عنوان مثال یک آرایه یک بعدی رو در نظر بگیرید:

int A[5] ={10, 20, 30, 40, 50}


در این آرایه 5 عنصر وجود داره که در مکان های حافظه به هم پیوسته ذخیره میشن. ایندکس المنت اول 0، المنت دوم 1 و... هست. و همونطور که میدونید برای دسترسی مثلا به المنت سوم آرایه باید اینکار رو انجام بدیم:

A[2] = 30;


از اونجا که ایندکسینگ از صفر شروع میشه در واقع ایندکس دوم به المنت سوم اشاره داره. اما میدونستید میشه هر کدوم از این هارو محاسبه کرد؟

موقعیت هر المنت در یک آرایه یک بعدی رو میشه با استفاده از یک فرمول ساده محاسبه کرد. این فرمول آدرس پایه آرایه، ایندکس المنت و اندازه هر المنت در حافظه رو محاسبه میکنه( توجه داشته باشید فقط برای آرایه های یک بعدی جوابه)

Address of A[i] = Base Address  + (i * Size of each element)


به عنوان مثال، اگر آدرس پایه آرایهA هزار باشه و هر عدد صحیح 4 بایت حافظه اشغال کنه، آدرس المنت در ایندکس دوم میشه:


Address of  A[2] = 1000 + (2 * 4) = 1008


بنابراین، المنت در ایندکس 2 در حافظه به آدرس 1008 ذخیره میشه.

محاسبه آدرس المنت چند بعدی ⬇️

اما این ها برای آرایه های یک بعدی بود و برای آرایه های چند بعدی مساعل پیچیده تر میشه، چون باید چندین ایندکس رو در نظر بگیرید. با این حال، فرآیند رو میشه به صورت انتراعی توضیح داد. به عنوان مثال فرمول کلی ما در آرایه های یک بعدی اینه: ( فرمول بالایی هم هست اما این جامع تره)

Address of A[i] = B + W * (i - L_B)


به صورت خلاصه معنی این فرمول یعنی این:
‏- B: آدرس پایه آرایه است.
‏- W: اندازه هر المنت در بایت.
‏- i: ایندکس المنت.
‏- L_B(lower bound): به کوچکترین یا مقدار ایندکس اولیه ای که المنت آرایه از اون ایندکس شروع میشه اشاره داره. ( به صورت دیفالت 0 هست که در نظر گرفته نمیشه)


برای اینکه پست زیادی طولانی نشه، ادامه مطالب رو در تلگراف برای شما عزیزان آماده کردیم🙂


#array
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM