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
پارچ بر روی WSL اجرا شده توسط یکی از کاربران با روت‌اف‌اس پارچ سرور.

@ParchLinux
Forwarded from Mir Sobhan
v0.2.1
قابلیت دامپ و لود بهینه شدند.
آپشنال بودن پراپرتی حل شد.
Forwarded from ASafaeirad
Next.js now supports HTTPS for your local dev server!

next dev --experimental-https

Docs

#news #nextjs
Forwarded from Code Module | کد ماژول (𔓙)
همه چیز از متد hasOwn جاوااسکریپت ✌️

کارایی hasOwn تقریباً مشابه hasOwnProperty هست و این متد به صورت استاتیک، از آبجکت گلوبال Object در دسترس هست و بررسی می‌کنه که آیا یک پراپرتی داخل یک آبجکت خاص وجود داره یا خیر. خروجی این متد یک مقدار بولین (true یا false) هست.

const person = { name: 'Emily' }; 

Object.hasOwn(person, 'name'); // true
person.hasOwnProperty('name'); // true


مستندات MDN میگه hasOwn قراره جایگزین hasOwnProperty بشه. اما چرا؟ چرا hasOwn رو به hasOwnProperty ترجیح بدیم؟

دلایل مختلفی برای معرفی این متد وجود داره. ابتدای باید محدودیت‌های hasOwnProperty رو بشناسیم. اول اینکه این متد خیلی راحت می‌تونه Override بشه:

const person = { 
name: 'Mario',
hasOwnProperty() {
return true;
},
}
alert(person.hasOwnProperty('age')); // true

همچنین وقتی که یک آبجکت رو به صورت زیر می‌سازیم:
const person = Object.create(null); 


اینجا معمولاً هدفمون اینه که یک آبجکت بدون پروتوتایپ می‌خوایم. یعنی بدون والد. پس توی چنین آبجکتی هیچ یک از پراپرتی‌های والد وجود نداره. از جمله hasOwnProperty. پس با صدا زدن این متد از این آبجکت خطا می‌گیریم:

const person = Object.create(null); 

person.hasOwnProperty('name'); // TypeError: person.hasOwnProperty is not a function


‏Override کردن یا حذف کردن چنین متدی ممکنه برای یک کتابخونه خارجی دردسر ساز بشه. برای حل چنین مشکلی نویسنده اون کتابخونه مجبور بود به چنین راه حل‌هایی رو بیاره:

const person = { 
hasOwnProperty() {
return true;
},
}

const exists = Object.prototype.hasOwnProperty.call(person, 'age'); alert(exists); // false


پس دولوپرای جاوااسکریپت به این فکر افتادن که یک متد اختصاصی برای حل چنین مشکلاتی معرفی کنن. اسم این متد رو گذاشتن hasOwn. اگه از این متد برای آبجکت‌های بالا استفاده کنیم دیگه خطا نمی‌گیریم:

const person1 = Object.create(null); 
alert(Object.hasOwn(person1, 'name')); // false
const person2 = {
hasOwnProperty: () => true,
}

alert(Object.hasOwn(person2, 'name')); // false


همونطور که گفتیم اگه یک پراپرتی توی یک آبجکت وجود داشته باشه، خروجی این متد true هست. حتی اگه مقدار پراپرتی null یا undefined باشه:

const person = {}; 
Object.hasOwn(person, 'name'); // false

person.age = 4;
Object.hasOwn(person, 'age'); // true

person.prop = null;
Object.hasOwn(person, 'prop'); // true

person.prop = undefined;
Object.hasOwn(person, 'prop'); // true

از این متد نمی‌تونیم برای مقادیر null و undefined استفاده کنیم:
// TypeError: can't convert undefined to object 
Object.hasOwn(undefined, 'prop');

// TypeError: can't convert null to object
Object.hasOwn(null, 'prop');


همچنین با hasOwn می‌تونیم بررسی کنیم که آیا یک آرایه یک ایندکس خاص داره یا نه:

const numbers = ['one', 'two']; 

Object.hasOwn(numbers, 1); // true
Object.hasOwn(numbers, 2); // false


همچنین باید بدونیم که متد hasOwn یک متد کاملاً جدید هست و فقط مرورگرهای جدید از اون پشتیبانی می‌کنن.

#hasown #javanoscript
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Go Casts 🚀
حتما سعی کنید به practice داشتن playground روی سیستم localتون عادت کنید. خیلی مهمه، چندین ساله که این شیوه رو به کار میبرم و ازش نتیجه گرفتم.
شاید برای یه سری سناریو خیلی پیچیده که حجم داده زیاد باشه و یا inter-service communication زیاد باشه سخت باشه این کار، اما برای اکثر مواقع قابل استفاده ست.

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

خود سایت گولنگ هم یه قسمتی داره به اسم playground

https://go.dev/play

ولی معمولا سناریوهایی که playground میخوان پیچیده تر از یه کد گولنگی هست که دیتابیس و سرویس های دیگه رو هم درگیر میکنه، که من باز تلاش میکنم راه اندازی کنم، حتی اگه لازم باشه که دامپ دیتابیس رو بیارم روی سیستم لوکال، یا حداقل بخشی از دامپ رو…
یا حداقل دامپ نمیشه آورد یه کدی بنویسم که داده تولید کنه

@gocasts
Forwarded from Gopher Academy
🔵 عنوان مقاله
Building a Blog in Go: Rendering Markdown as HTML

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

🟣لینک مقاله:
https://www.calhoun.io/building-a-blog-part-2/


👑 @gopher_academy
Forwarded from Python BackendHub (Mani)
نسخه جدید CfCrawler منتشر شد. همون کتابخونه ای که تو این پست راجبش حرف زده بودم.

تغییرات این نسخه:
- Make dependency to fake useragent optional
- Implement new backend support for user agent factory pool
- Implement default simple user agent pool
Improve code quality
- Fix issue with rotating user agent not changing TLS fingerprint respectively
- Fix issue with ignoring httpx transport on httpx client constructor -> now it patch the passed transport instead of ignoring it, and if not passed default to a simple transport.

لینک گیتهاب

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

@PyBackendHub
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
This media is not supported in your browser
VIEW IN TELEGRAM
🌲درخت تصمیم (Decision Tree)

🔥 این ابزار برای پشتیبانی از تصمیم است که از درخت‌ها برای مدل کردن استفاده می‌کند
به‌طور خاص در آنالیز تصمیم، برای مشخص کردن استراتژی که با بیشترین احتمال به هدف برسد

کاربرد :
در هوش مصنوعی AI مبحث یادگیری ماشین Machine Learning از نوع نظارت‌شده Supervised برای طبقه‌بندی یا پیش‌بینی بر اساس پاسخ سؤالات قبلی استفاده می‌شود


پکیچ supertree برای Visualize کردن درخت تصمیم با پایتون عالیه

ابزار dtreeviz یک ابزار دیگه عالی در این زمینه

ابزار graphviz که البته مثل قبلی ها تخصصی نیست

البته که با sklearn import tree هم میشه 😎
⁉️به نظر شما بهترین ابزار Visualize کردن Decision Tree کدام است ؟
#AI #python #Machine_Learning #پایتون
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
🇩🇪اگه قصد مهاجرت یا سفر به آلمان و مخصوصا شهر برلین رو دارین ، این سایت میتونه کمکتون کنه. توصیه‌های مختلفی مثل پیدا کردن خونه یا باز کردن حساب بانکی یا ماشین داره که ممکنه به کارتون بیاد.

🌐https://allaboutberlin.com

🙂حتی قبلاً سایت Xing رو معرفی کردم بهتون و لینکشو می زارم که برید نگاه کنید ( واسه دوستان برنامه نویس که میخوان به آلمان مهاجرت کنن ، خیلی بدرد میخوره و خیلی کمکتون می‌کنه واسه کار پیدا کردن)

🌐https://news.1rj.ru/str/CodeExplore/2130

و در آخر عرض کنم خدمتتون اگه سوالی راجب کشور آلمان داشتید تو کامنت ها بپرسید ، حتما راهنماییتون میکنم❤️

#job #germany #apply #travel
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AI Pulse (Sonia)
This media is not supported in your browser
VIEW IN TELEGRAM
با گوگل رایگان برای مصاحبه های انگلیسی تمرین کن!!!

این ابزار سال ۲۰۲۲ توسط گوگل معرفی شده ولی حالا قابلیت های هوش مصنوعی باعث شده خیلی جذاب تر بشه

فرایند کار باهاش خیلی راحت و سر راسته☺️

سوالاتی که میپرسه به چند دسته تقسیم میشن:
Background
Situational

برای یک سری مشاغل سوالات تخصصی (technical) هم می پرسه که این لیست مشاغل هست:

✏️Data Analytics

✏️Digital Marketing

✏️IT Support

✏️Project Management

✏️UX Design

✏️Cybersecurity

و یک گزینه General هم داره

جواب ها به صورت همزمان به متن تبدیل میشن و بعد برای هر جواب بهتون انالیز از ابعاد مختلف میده

و بعد میتونین اونایی که خوب نشدن رو با استفاده ازنکاتی که بهتون گفته مجدد ضبط کنین و نامحدود تمرین و تکرار کنین🤝

اینجا میتونین ازش استفاده کنین

@aipulse24
Please open Telegram to view this post
VIEW IN TELEGRAM
توسعه دهنده فاش یک بخشی داره توی وبلاگش که هر ماه همه فعالیت‌های نرم‌افزارآزادی خودش رو میزاره:
https://honk.sigxcpu.org/con/Free_Software_Activities_August_2024.html

ما اینکارو بکنیم می‌شیم خودنما :))

@SohrabContents
Forwarded from This is kihanb (kihan b)
وقتی اپ دیجی کالا رو نصب میکنید، اولین کاری که میکنه یه اطلاعات کامل از دیوایس گوشی، اپلیکیشن هایی که نصب کردین و... برای خودش جمع اوری میکنه و میفرسته.

خیلی دوست دارم توجیه این کارشون رو بدونم
Forwarded from Mir Sobhan
‏ØMQ یک پیاده‌سازی سبک و سریع از پروتکل‌های پیام‌رسانی است که به برنامه‌نویسان این امکان را می‌دهد تا به راحتی و به طور مؤثر ارتباطات بین فرآیندها (IPC) و شبکه را پیاده‌سازی کنند.

1. سبک و سریع: ZeroMQ به گونه‌ای طراحی شده است که عملکرد بالایی داشته باشد و به حداقل منابع نیاز داشته باشد.

2. مدل‌های مختلف ارتباطی: این کتابخانه از چندین الگوی ارتباطی پشتیبانی می‌کند، از جمله:
- Publish/Subscribe: برای ارسال پیام‌ها به چندین گیرنده.
- Request/Reply: برای ارتباطات درخواست و پاسخ.
- Push/Pull: برای توزیع بار کاری بین چندین پردازش.

3. پشتیبانی از چندین زبان برنامه‌نویسی: ZeroMQ از زبان‌های مختلفی مانند C، C++، Python، Java و غیره پشتیبانی می‌کند.

4. قابلیت مقیاس‌پذیری: این کتابخانه به راحتی می‌تواند با افزایش تعداد کاربران یا پردازش‌ها مقیاس‌پذیر باشد.

5. استفاده آسان: ZeroMQ به برنامه‌نویسان این امکان را می‌دهد که بدون نیاز به پیاده‌سازی پیچیده پروتکل‌های شبکه، به راحتی ارتباطات را مدیریت کنند.

به طور کلی، ZeroMQ ابزاری قدرتمند برای توسعه‌دهندگان است که می‌خواهند ارتباطات سریع و مؤثری بین برنامه‌ها یا اجزای مختلف سیستم‌های خود برقرار کنند.
Forwarded from Mir Sobhan
‏ØMQ یک پیاده‌سازی سبک و سریع از پروتکل‌های پیام‌رسانی است که به برنامه‌نویسان این امکان را می‌دهد تا به راحتی و به طور مؤثر ارتباطات بین فرآیندها (IPC) و شبکه را پیاده‌سازی کنند.

1. سبک و سریع: ZeroMQ به گونه‌ای طراحی شده است که عملکرد بالایی داشته باشد و به حداقل منابع نیاز داشته باشد.

2. مدل‌های مختلف ارتباطی: این کتابخانه از چندین الگوی ارتباطی پشتیبانی می‌کند، از جمله:
- Publish/Subscribe: برای ارسال پیام‌ها به چندین گیرنده.
- Request/Reply: برای ارتباطات درخواست و پاسخ.
- Push/Pull: برای توزیع بار کاری بین چندین پردازش.


github
Forwarded from Mir Sobhan
‏ZeroRPC یک پروتکل و کتابخانه برای ارتباطات بین فرآیندها است که بر پایه ZeroMQ ساخته شده است. این ابزار به توسعه‌دهندگان این امکان را می‌دهد که به سادگی خدمات و APIهای توزیع‌شده را پیاده‌سازی کنند.

ویژگی‌های کلیدی:
- ساده‌سازی ارتباطات: پیاده‌سازی آسان ارتباطات بین سرور و کلاینت.
- پشتیبانی از چند زبان: از زبان‌های مختلفی مانند Python و Ruby پشتیبانی می‌کند.
- مدل درخواست و پاسخ: امکان پیاده‌سازی الگوی درخواست و پاسخ.
- قابلیت مقیاس‌پذیری: مناسب برای برنامه‌های مقیاس‌پذیر و توزیع‌شده.
- فراخوانی‌های غیرهمزمان: پشتیبانی از فراخوانی‌های غیرهمزمان برای بهبود عملکرد.
Forwarded from Mir Sobhan
1. ZeroMQ:
- مخزن GitHub: ZeroMQ GitHub Repository
- وب‌سایت رسمی ZeroMQ Official Website
2. ZeroRPC:
- مخزن GitHub: ZeroRPC GitHub Repository
- وب‌سایت رسمی: ZeroRPC Official Website
جدول ۱-۱:

Application Programming Interface (API)
یه مجموعه از داده‌ها و توابع رو در اختیار می‌ذاره تا برنامه‌های کامپیوتری بتونن با هم تعامل داشته باشن.

Architectural constraint
محدودیتی که رفتار اجزای یه سیستم رو کنترل می‌کنه تا یکنواختی رو برقرار کنه و یه ویژگی خاص رو به دست بیاره.

Architectural style
این اصطلاح رو روی فیلدینگ توی رساله دکترای خودش استفاده کرده تا یه سری محدودیت‌ها رو توصیف کنه که رفتار اجزای به هم متصل یه سیستم رو محدود می‌کنن.

Cache
محدودیت‌های REST که به واسطه‌ها توی شبکه اجازه می‌ده که وضعیت نمایشی منابع رو نگه دارن و این به سرورهای وب کمک می‌کنه تا نیازهای کاربرانشون رو برآورده کنن.

Client–server
محدودیت‌های REST که نگرانی‌های دو جزء اصلی سیستم رو از هم جدا می‌کنه و این باعث می‌شه که این اجزا بتونن به صورت مستقل پیشرفت کنن.

Code-on-demand
یه محدودیت REST که به طور اختیاری به سرور وب اجازه می‌ده که برنامه‌های اجرایی رو در صورت نیاز به کاربرانش انتقال بده.

Entity body
بخشی از یه پیام HTTP که برای نگه داشتن محتوای (اختیاری) طراحی شده، که ممکنه نمایشی از یه منبع باشه.

Entity headers
بخشی از یه پیام HTTP که می‌تونه اطلاعات متا مربوط به یه منبع و نمایشش رو انتقال بده.

HATEOAS
مخفف "Hypermedia as the Engine of Application State" در REST، که به روش ارائه لیستی از لینک‌ها برای نمایش "اقدامات" قابل دسترس برای یه منبع اشاره می‌کنه.

Hypermedia
یه گسترش از هایپرمتن که امکان ترکیب و پیوند دادن چندین فرمت رو فراهم می‌کنه تا یه شبکه اطلاعات چندرسانه‌ای طراحی بشه.

Hypertext
اسناد متنی که شامل لینک‌های تعبیه‌شده به اسناد مرتبط دیگه هستن و یه شبکه قابل پیمایش از اطلاعات رو ایجاد می‌کنن.

HyperText Mark-up Language (HTML)
توسط تیم برنرز-لی ساخته شده تا وضعیت اطلاعات و روابط یه منبع وب رو نمایش بده.

HyperText Transfer Protocol (HTTP)
در ابتدا توسط تیم برنرز-لی توسعه داده شد. این یه زبان مبتنی بر پیام هست که کامپیوترها می‌تونن ازش برای ارتباط از طریق اینترنت استفاده کنن.

Hypertext Transfer Protocol version 1.1 (HTTP/1.1)
روی فیلدینگ، تیم برنرز-لی، و دیگران به استانداردسازی این نسخه از پروتکل ارتباطی کمک کردن.

JavaScript
یه زبان اسکریپت‌نویسی قدرتمند که معمولاً توسط توسعه‌دهندگان وب استفاده می‌شه.

JavaScript Object Notation (JSON)
یه فرمت متنی استاندارد شده که از جاوااسکریپت مشتق شده و برای تبادل داده‌های ساختاریافته استفاده می‌شه.

Layered system
محدودیت‌های REST که به واسطه‌های شبکه اجازه می‌ده بین مشتری و سرور قرار بگیرن بدون اینکه محدودیت‌های یکنواختی رابط رو نقض کنن.

Media type
یه سینتکس که فرم محتوا رو توصیف می‌کنه.

Message
یه پاکت خودتوصیف که معمولاً برای حمل نمایشی از وضعیت یه منبع استفاده می‌شه.

Representation
وضعیت فرمت شده یه منبع که ممکنه از طریق پیام‌هایی که بین اجزا منتقل می‌شن، انتقال داده بشه.

Representational State Transfer (REST)
روشی که روی فیلدینگ برای توصیف سبک معماری وب به کار برد.

Request message
پیامی که از طرف کاربر (کلاینت) فرستاده می‌شه تا با یه منبع وب که از طریق URI مشخص شده، تعامل کنه. ممکنه شامل یه نمایش از وضعیت منبع هم باشه.

Resource
هر مفهومی در وب که با یه شناسه‌ی منحصر به فرد قابل اشاره باشه و از طریق رابط یکنواخت قابل دستکاری باشه.

Resource identifier
یه شناسه‌ی جهانی و منحصر به فرد برای یه مفهوم خاص در وب.

Resource model
یه مجموعه از مفاهیم وبی که به هم مرتبط هستن.

Resource state representation
وضعیت رندر شده‌ی یه منبع که تحت مالکیت سرور وب هست و بین کلاینت و سرور یه برنامه منتقل می‌شه.

Response message
پیامی که از طرف سرور فرستاده می‌شه تا نتیجه‌ی درخواست کلاینت رو اعلام کنه. ممکنه شامل یه نمایش از وضعیت منبع هم باشه.

REST API
یه رابط خدمات وب که با سبک معماری وب همخوانی داره.

Scalability
توانایی مدیریت بار کاری بیشتر به شکل مناسب و بدون مشکل.

Stateless
یه محدودیت REST که مانع از نگه داشتن اطلاعات خاص کاربر توسط سرور وب می‌شه، که این کار کمک می‌کنه تا سرور بتونه تعداد بیشتری کاربر رو پشتیبانی کنه.

Uniform interface
یه مجموعه از چهار محدودیت REST که ارتباط بین اجزای وب رو استاندارد می‌کنه.

Uniform Resource Identifier (URI)
یه سینتکس که توسط تیم برنرز-لی اختراع شد تا به هر منبع وب یه شناسه‌ی منحصر به فرد اختصاص بده.

Web API
ابزاری که توسط کاربران (کلاینت‌ها) برای تعامل با یه خدمات وب استفاده می‌شه.
Web browser (browser)
یه نوع معمول از کلاینت وب. تیم برنرز-لی اولین مرورگر رو توسعه داد که قادر به مشاهده و ویرایش اسناد HTML بود.

Web client (client)
یه برنامه کامپیوتری که از رابط یکنواخت REST پیروی می‌کنه تا بتونه نمایش وضعیت منابع رو از سرور بگیره و ارسال کنه.

Web component (component)
یه کلاینت، واسطه‌ی شبکه‌ای، یا سرور که با رابط یکنواخت REST مطابقت داره.

Web Resource Modeling Language (WRML)
یه چارچوب مفهومی که ایده‌هاش رو می‌تونیم برای طراحی و پیاده‌سازی API‌های REST یکنواخت استفاده کنیم.

Web server (server)
یه برنامه کامپیوتری که از محدودیت‌های رابط یکنواخت REST پیروی می‌کنه تا نمایش وضعیت منابع رو از کلاینت بگیره و ارسال کنه.

Web service
یه سرور وب که با منطق خاص و معمولاً قابل استفاده مجدد برنامه‌ریزی شده.
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
یکی از رقیب‌های github copilot به نام cursor که یه جورایی یه فورک از vscode عه که ویژگیهای جالبی برای کد زدن فراهم میکنه. مثلا میتونید همزمان چندتا فایل رو بهش بدید. و یه جاهایی یه کم بهتر از copilot عمل میکنه.

🌐https://www.cursor.com

#ai #copilot #github #chatgpt
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM