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
Forwarded from Go Casts 🚀
یکی از زیبایی های گولنگ اینترفیس هست، چیزی که فلسفه composition over inheritance رو به زیبایی هر چه تمام تر در گولنگ امکانپذیر کرده
ولی نحوه استفاده از اینترفیس با زبان های دیگه متفاوته
این مقاله توضیحاتی در این مورد داده
https://eli.thegreenplace.net/2023/the-power-of-single-method-interfaces-in-go/

اینم یه مقاله زیرخاکی از russ cox در مورد اینترفیس
Go Data Structures: Interfaces
Posted on Tuesday, December 1, 2009
https://research.swtch.com/interfaces

@gocasts

#golang #interface
Forwarded from Bardia Play
Media is too big
VIEW IN TELEGRAM
روی لینوکس بازی کنیم یا ویندوز؟

تو این ویدیو درباره مزایا و معایب بازی روی لینوکس صحبت میکنیم و بررسی میکنیم که آیا بعد از این همه مدت تلاش جامعه آزاد و توسعه‌دهنده‌های لینوکس و همینطور ولو (استیم) در کنارشون، آیا لینوکس به آمادگی لازم رسیده که گیمرها همه سوییچ کنن بهش؟ یا هنوز زوده و باید صبر کنیم؟

لینک ویدیو در یوتیوب:
https://youtu.be/9I4tccWg04U

@Bardia_Play
Forwarded from Python BackendHub (Mani)
چیزی که میگم ممکنه راحت بنظر برسه
یا شاید هم تابلو.
ولی تا وقتی که ویدیو رو نبینید متوجه نمیشید دقیقا این طرز فکر چیه. خیلیم سخته که بخوام تو ۲۰۰ کلمه خلاصش کنم.
تو این اسکرین شات شما محاسبات بسیار ساده ای رو میبینید (که ممکنه بنظرتون خیلی سخت و پیچیده باشه ولی نیست) که داره حساب میکنه این کدش چقدر mathematic آپریشن انجام داده. و طبق سی پی یویی که داره چقدر میتونه کدش سریع بشه. مینیموم ترین سرعت رو کاغذ چیه؟ و چه تفاوتی با عمل داره.

این ویدیو به شما فقط مواردی که بهتون گفتم یاد نمیده, بهتون سخت افزار یاد میده, بهتون دانش کارکرد CPU و رم یاد میده, بهتون یک دید با زاویه کاملا متفاوتی میده که احتمالا نداشتین. (شخصا که نداشتم)

خلاصه ببینید ضرر نمیکنید 😁 ارزش ۲ ساعت رو واقعا داره.
@PyBackendHub
Forwarded from Curious Geek ⚡️
ELK (Elasticsearch , Logstash , Kibana) & EFK (Elasticsearch , Fluentd , Kibana) Stack
این استک برای پیاده سازی observation - logging کاربرد دارد.


Elasticsearch (Search Engine)
این noSQL DBMS اوپن سورس برای ساخت موتور جستجو بهینه شده
LogStash , Fluentd (Data Processing Pipeline)
برای جمع آوری لاگ ها ، ایونت ها و... از بکند های متفاوت مورد استفاده قرار میگیرند
Kibana (Data Visualization):
برای ساخت داشبورد از روی لاگ های جمع آوری شده کاربرد داره. این پروژه صرفا از Elasticsearch پشتیبانی می‌کنه. اما Grafana از انواع دیتابیس ها پشتیبانی می‌کنه.
🗣️ @Hiradsajde
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Curious Geek ⚡️
Pull based monitoring system
دیتا از http endpoint های مشخص دریافت میشه
Push based monitoring system
دیتا از Queue هایی مثل Kafka یا RabbitMQ دریافت میشه

در ELK ، EFK و Prometheus هر دو مدل Push / Pull based قابل پیاده سازی است.

🗣️ @Hiradsajde
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 پس از اعمال تحریم های غرب و خروج رسمی تولیدکنندگان آمریکایی، اروپایی، ژاپنی و کره ای، روسیه عملا به کشوری با "خودروهای فرسوده خارجی" تبدیل شد.

#خبر

@TheRaymondDev
1
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 وقتی چت‌بات‌ها دربرابر توت‌فرنگی شکست می‌خورند

اخیراً کاربران اینترنت متوجه شدند که چت‌بات‌ها اعم از ChatGPT و Claude به‌طرز عجیبی نمی‌توانند تعداد حروف R را در کلمه‌هایی مثل Strawberry یا Raspberry به‌درستی تشخیص دهند. برای مثال، ChatGPT مبتنی‌بر مدل GPT-4o ابتدا گفت فقط دو حرف R در Strawberry وجود دارد. بار دیگر که گفت سه و وقتی با پرامپت «پاسخ اشتباه» کاربر روبه‌رو شد، بلافاصله جوابش را به همان دو R تغییر داد. حتی مدل زبانی Claude هم به‌اشتباه حروف R را ابتدا دو و بعد فقط یک R حساب کرد.

ناتوانی مدل‌های زبانی بزرگ در درک دقیق حروف و هجاها، نشان‌دهنده‌ی یک حقیقت بزرگ‌تر است که اغلب فراموش می‌کنیم: این سیستم‌ها مانند انسان قدرت تفکر ندارند؛ زیرا آن‌ها انسان نیستند.

#خبر

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 بنابر گزارشی از روزنامه‌ی ژاپنی نیک‌کی، تراشه‌های ساخت چین، حدود سه سال از تراشه‌های تولیدشده توسط TSMC تایوان، عقب‌تر هستند.

پیشرفت چشمگیر در صنعت ساخت تراشه‌ی چین در حالی رخ داده است که ایالات متحده با تحریم‌های مختلف، به‌دنبال تأثیرگذاری بر صنعت نیمه‌هادی در چین است؛ اما شرکت‌هایی مانند SMIC (شرکت بین‌المللی تولید نیمه‌هادی) با بهبود طراحی و فرایندهای تولید تراشه‌ها، توانسته‌اند فاصله‌ی خود را با رقبای جهانی کاهش دهند.

#خبر

@TheRaymondDev
Forwarded from Golden Code (@lix)
بیشتره کاربرا عادت دارن از یک پسورد برای همه حسابهاشون استفاده کنن. حالا اگه یک سایت هک بشه، باقیه اکانت هاشونم به خطر میفته.

در لاراول یک قانونی هست به نام "uncompromised" که کمک میکنه از ایجاد پسورد هایی که قبلاً در سایت‌های دیگه لو رفتن جلوگیری بشه که باعث میشه رمز ایمن‌تری ایجاد بشه.

حالا چجوری این کارو میکنه؟

یه سرویس هست با نام HIBP که پسورد های لورفته در دیتابیسش هست.
این uncompromised نقش رابط بین laravel و سرویسHIBP رو داره و تهش متوجه میشه پسورد ایمنه یا نه و حالا اگه ایمن نباشه هم ولیدیشن به خطا میخوره.
#Laravel
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/OussamaMater/status/1829613512168976836?s=19
1🔥1
Victory lies ahead! Death to all who oppose us!

- blood elf NPC
چون به عرشا قول داده بودم که درمورد نحوه کارکرد ویرایشگرهای متنی بنویسم، اون رو امشب می‌نویسم که اگه بعداً به هر نحوی نشد بدقول نشده باشم.

ویرایشگرهای متنی ابزارهایی هستن که هر روز با اون ها سروکار داریم از 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