Dev Perfects – Telegram
Dev Perfects
40 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
چون به عرشا قول داده بودم که درمورد نحوه کارکرد ویرایشگرهای متنی بنویسم، اون رو امشب می‌نویسم که اگه بعداً به هر نحوی نشد بدقول نشده باشم.

ویرایشگرهای متنی ابزارهایی هستن که هر روز با اون ها سروکار داریم از vim بگیر تا vscode و .....
حالا توی این پست می‌خوایم توضیح بدیم که چطوری کار می‌کنن.
اصولاً ویرایشگرهای متنی در هنگام استفاده ۶ کار رو انجام میدن که باهم مرور می‌کنیم.

۱. ورود داده‌ها و پردازش اولیه

وقتی کاربر متنی رو می‌نویسه، این متن ابتدا به عنوان مجموعه‌ای از کاراکترها در حافظه رم سیستم ذخیره میشن. هر کاراکتر به یک کد باینری (مثلاً در استاندارد ASCII یا Unicode) تبدیل می‌شه و این داده‌ها در یک ساختار داده‌ای مانند آرایه یا لیست پیوندی ذخیره میشن. این ساختار داده توسط ویرایشگر متنی مدیریت میشن تا کاربر بتونه متنش رو ویرایش کنه.

۲. بافر و مدیریت تغییرات

همونطور که کاربر تغییراتی در متن ایجاد می‌کنه (مانند اضافه کردن یا حذف کردن کاراکترها)، این تغییرات در یک بافر موقت اعمال میشن. این بافر معمولاً در حافظه رم سیستم نگهداری می‌شه و امکان برگشت به تغییرات قبلی یا «Undo» کردن آن‌ها رو فراهم می‌کنه. بافر نقش حیاتی در مدیریت تغییرات مداوم متن دارد تا زمانی که تصمیم به ذخیره‌سازی نهایی گرفته بشه.

۳. فرآیند ذخیره‌سازی

وقتی کاربر تصمیم می‌گیره که متن رو ذخیره کند، چندین مرحله کلیدی طی میشه:

- انتخاب فرمت فایل: بسته به نرم‌افزار و انتخاب کاربر، ویرایشگر متنی فرمت فایل رو مشخص می‌کنه (مانند .txt، .docx، .odt یا هر فرمت دیگه‌ای). هر فرمت فایل ممکنه که ساختار داده‌ای خاصی برای ذخیره‌سازی متن داشته باشه.

- سریال‌سازی (Serialization): متن و اطلاعات مرتبط با آن به یک رشته بایت تبدیل میشن. این رشته بایت می‌تواند شامل کاراکترها، اطلاعات قالب‌بندی، متادیتا و حتی داده‌های اضافی باشه که برای بازیابی صحیح فایل لازم هستن. سریال‌سازی فرآیندی است که در آن داده‌های پیچیده به فرمتی ساده‌تر برای ذخیره‌سازی تبدیل میشن.

- نوشتن بر روی دیسک: پس از سریال‌سازی، داده‌ها به سیستم فایل سیستم‌عامل ارسال میشن. سیستم فایل داده‌ها رو در سکتورهای فیزیکی دیسک سخت یا SSD می‌نویسه. در این مرحله، سیستم‌عامل ممکن است بافرهای اضافی رو برای بهینه‌سازی فرآیند ذخیره‌سازی استفاده کنه، اما در نهایت داده‌ها در مکان فیزیکی مشخصی روی دیسک ذخیره میشن.

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

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

۶. تغییر وضعیت در نرم‌افزار
ویرایشگر متنی همچنین وضعیت داخلی خودش رو به‌روزرسانی می‌کنه. برای مثال، ممکنه نشون بده که تمام تغییرات ذخیره شدن و دیگه نیازی به ذخیره‌سازی مجدد نیست تا زمانی که تغییرات جدیدی ایجاد بشن. این تغییر وضعیت معمولاً از طریق رابط کاربری نرم‌افزار به کاربر اطلاع داده میشه.



امیدوارم توضیحات کافی رو داده باشم، هرچند خلاصه. اگر سوالی بود یا ایرادی توی متن دیدید می‌تونید توی کامنت‌ها بهم بگید.
شب خوبی رو داشته باشید.

@SohrabContents
Forwarded from Linuxor ?
یک بار برای همیشه فرق Emulator و Simulator رو یاد بگیر

ایمولیتور "دقیقا" اون سیستم رو شبیه سازی میکنه مثل VirtualBox یا شبیه سازی بازی های کنسول.

اما سیمولیتور "تقریبی" اون سیستم رو شبیه سازی میکنه، مثلا شبیه ساز های مدار الکتریکی، یا شبیه ساز پرواز هواپیما


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

🐧 @Linuxor
Forwarded from Anony Notes
یکی از رفقا یه بات زده که به نظرم جالب بود

یه شماره کارت براش ارسال می‌کنی

+ اطلاعات صاحب کارت
+ شماره حساب
+ شماره شبا
+ نام بانک

کارت مورد نظر رو برات ارسال می‌کنه

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


ID: @IRCardbot
مشیا سوال خوبی پرسید توی کامنت‌ها:

تغییرات خارج از ادیتور رو چطور مونیتور میکنه بدون اینکه مرتب فایل رو باز کنه و بخونه، ایونتی روی سیستم عامل هست که فعال میشه ؟


خب این مورد داخل سیستم‌عامل‌های مختلف فرق می‌کنه، از ابزار هایی استفاده میشه که تغییرات فایل‌سیستم رو به گوش ادیتور برسونن.

برای مثال در گنو/لینوکس inotify هستش که میاد و اگر تغییری در فایل ایجاد بشه رو به ادیتور میگه مثلاً اگر یک فایلی رو داخل kate داشته باشید، از فایل سیستم حذفش کنید بهتون میگه فایل فلان حذف شد می‌خوای بازگردانی کنی یا ببندمش؟



در ویندوز از API سیستمی به نام ReadDirectoryChangesW و در مک‌او‌اس از Kqueue و FSEvents استفاده میشه.

@SohrabContents
Forwarded from Sadra Codes
What they see: ah.. inspiring. 🥹

What we see:
git branch
git commit
git merge
Forwarded from 
The Übermensch is someone who has "crossed over" the bridge, from the comfortable "house on the lake" (the comfortable, easy, mindless acceptance of what a person has been taught, and what everyone else believes) to the mountains of unrest and solitude.

#note #learn
@amiria703_channel
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 اکتیو سازی (active) دکمه های بوت استرپ در لاراول ۱۱

کاربرد این قسمت برای دکمه هایی که هاور دارند که می خواهند با تعریف کلاسی با کلیک بر روی آن هاور را ثابت نگه دارند.

کد عادی :

<button type="button" 
class="btn btn-light rounded-5 text-start">پیشخوان</button>


داینامیک شده به لاراول :

<button type="button" 
class="btn {{ request()->routeIs('users.index') ? 'btn-light active' : 'btn-light' }} rounded-5 text-start">پیشخوان</button>


#لاراول

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 اکتیو سازی (active) دکمه های بوت استرپ در لاراول ۱۱

کاربرد این قسمت برای دکمه هایی که هاور دارند که می خواهند با تعریف کلاسی با کلیک بر روی آن هاور را ثابت نگه دارند.

کد عادی :

<button type="button" class="btn btn-light rounded-5 text-start">پیشخوان</button>


داینامیک شده به لاراول :

<button type="button" class="btn {{ request()->routeIs('users.index') ? 'btn-light active' : 'btn-light' }} rounded-5 text-start">پیشخوان</button>


#لاراول

@TheRaymondDev
Forwarded from 
باورهای نادرست، افکار مخرّب، دیدگاه نامنطبق با واقعیت و خیلی چیزهای دیگه، می‌تونن باعث پایه‌ریزی رفتارهای پرخطری مثل اعتیادهای مرگبار باشن. مواظب ذهنتون باشید.

#note
@amiria703_channel
Forwarded from 
Temporary remedies are pure b***sh*t, look for real solutions.

#note
@amiria703_channel
Forwarded from Noora's 🚀
یک مجموعه ایرانی که ازش خوشم اومد این مجموعه ″جدیدچی″ بود.
اولین جاییه که می‌بینم سمپلینگ رو به این شکل حرفه‌ای و گسترده توی ایران انجام میده.
شما می‌تونید توی سایتشون ثبت‌نام کنید و به یک سری سوال جواب بدید و بعد از اون یک بسته پستی (هم بسته و هم ارسال) رایگان رو تحویل بگیرید و برای تولیدکننده نظر واقعی‌تون درباره محصول رو بنویسید. یعنی شما سمپل دریافت می‌کنید و به تولیدکننده کمک می‌کنید بازخورد مشتری بگیره و محصولش رو مدیریت کنه.

یه سر بهش بزنید به نظرم تجربه بامزه‌ای می‌تونه باشه D:

اون پایین کد دعوت منه که اگر ازش استفاده کنید ۵۰۰ امتیاز می‌گیرید :دی
https://jadidchi.com/?ref=113820
Forwarded from Sadra Codes
This media is not supported in your browser
VIEW IN TELEGRAM
کنترل وسایل خانه با استفاده از LLMها؟ 🧐

توی این پروژه آزمایشی، از Hey و یه آردوینو نانو استفاده کردم تا دوتا LED رو با قدرت LLMهای MindsDB کنترل کنم و خب نتیجه جالب بود!

مهم‌ترین بخش این پروژه ساده، Promptی هست که طراحی میشه. شما تمام استیت‌ها رو در Prompt می‌نویسید، اونوقت مدل زبانی تشخیص میده که طبق ورودی، چه کدی رو خروجی بده و نهایتاً توی آردوینو بررسی و اجراش می‌کنید.

🎴 چجوری کار می‌کنه؟

حالا این کد از کجا درست میشه و چجوری به کجا ارسال میشه؟ از Hey توی پایتون استفاده کردم تا پرامت و ورودی کاربر رو بفرستم واسه مدل، نهایتا خروجی مدل یه کده مثل A1 که یعنی روشن کردن LED اول. اون A1 فرستاده میشه به Arduino و اونجا طبق یک سری از شرط‌ها، عملیات انجام میشه.

🎴 از چه تکنولوژی‌هایی استفاده کردم؟

توی این پروژه از تکنولوژی های زیر استفاده شده:
پایتون
سی پلاس پلاس (واسه میکرو)
آردوینو
Hey کتابخانه
mdb.ai سرویس

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

Hey on GitHub: github.com/lnxpy/hey
Forwarded from Gopher Academy
🔵 عنوان مقاله
Hookdeck: The Amazon EventBridge Alternative

🟢 خلاصه مقاله:
مقاله‌ای که ارائه شده مربوط به استفاده از دروازه‌های رویداد (event gateway) در معماری رویداد محور (EDA) برای تیم‌های مهندسی است. در این مقاله، توضیح داده می‌شود که چگونه یک دروازه رویداد می‌تواند در دریافت، تبدیل، فیلتر، مسیریابی و ارسال پیام‌ها در سراسر معماری رویداد محور کارآمد باشد. استفاده از این فناوری به تیم‌های مهندسی امکان می‌دهد تا ارتباطات بین کامپوننت‌ها و سرویس‌های مختلف را به صورت کارآمدتر و قابل انعطاف‌تر مدیریت کنند. تمرکز اصلی مقاله بر اهمیت انعطاف‌پذیری و کارایی در مدیریت پیام‌ها در سیستم‌های پیچیده و توزیع شده است. این امکانات به تیم‌ها کمک می‌کند تا روی رسیدن به اهداف تکنولوژیکی خود تمرکز کنند و بتوانند پاسخ‌های سریع‌تری به نیازهای تغییریافته فراهم آورند.

🟣لینک مقاله:
https://hookdeck.com/discover/goweekly?ref=goweekly-502


👑 @gopher_academy
این paper از گوگل خیلی جالبه؛ در مورد مشکلات SQL صحبت میکنه؛ این مشکلات خوانایی و کار کردن با SQL رو سخت میکنن یکیش clause order هست؛ اینکه ترتیب اجرای کوئری‌ها با چیزی که مینویسیم یکی نیستن. برای رفع این نوع مشکلات و موارد دیگه یک سینتکس جدید ارائه دادن تحت عنوان piped data flow

@DevTwitter | <Sirwan Afifi/>
Forwarded from کداکسپلور | CodeExplore (CodeExplore)
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش مبانی ویندوز اینترنال به صورت سبک و خیلی خلاصه
( بیشتر به کار افرادی میاد که دوست دارن شروع کنن و بعضی مباحث براشون کمی عجیب غریب به نظر میاد )
https://lil-splinter.notion.site/Windows-Fundamental-8192db4cdfc24a20b8370b46daf149e6

@DevTwitter | <Nima Nikjoo/>
Forwarded from Yasha
چی شده!!!!!!!!!!!!!!!!!!!
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
This media is not supported in your browser
VIEW IN TELEGRAM
نحوه چاپ Hello World توی زبان های مختلف برنامه نویسی :

+ اسمبلی قشنگ از ماتریکس خارج شده 😂

#️⃣ #fun
🆔 Channel | Group | YouTube