ProCode | پُرو‌کُد – Telegram
ProCode | پُرو‌کُد
118 subscribers
181 photos
19 videos
17 files
360 links
پُروکُد ، جایی که برنامه نویسان حرفه‌ای متولد می‌شوند 🚀🧑🏻‍💻

Linkedin : https://ir.linkedin.com/in/amirreza-riahi-106a51304

Telegram :
@AmirRh2087

Github :
www.github.com/AmirRiahi2008

Website :
بزودی
Download Telegram
این لایبری بهتون امکان درگ و دراپ آبجکت ها توی وب می‌ده :)

github.com/Shopify/draggable
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

https://news.1rj.ru/str/ProCode0101
1
IMG_20250903_105957_170.jpg
541.7 KB
5 دقیقه تا پایان سردرگمی با this ، گمشده معروف در JS ☺️🤌🏻
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

https://news.1rj.ru/str/ProCode0101
1
Forwarded from Ditty | دیتی
🔺برنامه‌نویسی = مهارت حل مسئله

- بعد از مدتی که دارم برای برنامه‌نویسی از ابزارهای معروف هوش مصنوعی (کوپایلوت، چت جی‌پی‌تی) استفاده می‌کنم، واقعاً دوست داشتم یک سری تجارب مهمی رو براتون به اشتراک بذارم

- اوایل که وارد دنیای مهندسی نرم‌افزار شدم، برای برنامه‌نویسی از ادیتور Notepad++ استفاده می‌کردم، و روی استفاده از اون پافشاری داشتم 😄 صرفاً یک ادیتور که بتونه کدها رو رنگی‌رنگی نشون بده برام کافی بود. یادمه بعضی از همکارا می‌گفتن که چرا از ادیتورهای پیشرفته‌تر استفاده نمی‌کنی که قابلیت‌هایی مثل Code suggestion و ... دارن. جواب من این بود که «الان نمی‌خوام»

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

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

- شاید مهم‌ترین مهارت برای یک برنامه‌نویس مهارت حل مسئله هست. حل مسئله یعنی بتونیم به‌راحتی دیباگ کنیم و الگوریتم‌های بهینه و کدهای تمیز و قابل توسعه بنویسم. اگه این مهارت‌ها تقویت بشه، هوش مصنوعی دوست ما خواهد بود و به عنوان یک ابزار به ما کمک می‌کنه بهره‌وری بیشتری داشته باشیم. اما برعکس اگه برای این مهارت‌های حیاتی وابستگی مطلق به چیزهای خارج از خودمون (مثل هوش مصنوعی) داشته باشیم، دیگه به ما نمیشه گفت برنامه‌نویس یا مهندس نرم‌افزار. و همون ابزار جایگزین ما خواهد شد

- توی دوران هوش مصنوعی من از چیزی که مطمئنم اینه که اگه کسی به مباحث پایه و مهم حرفه خودش مسلط باشه و خودش رو بروز نگه داره، اصلاً نمی‌تونه با چیزی یا ابزاری جایگزین بشه

- ابزارهایی مثل Cursor و یا وابستگی بیش‌از اندازه به ChatGPT و Copilot برای کسانی که تازه‌کار هستن مثل تیشه به ریشه زدن هست. وقتی تازه‌کار هستیم و پروژه‌هامون رو می‌دیم به Cursor، به ChatGPT می‌گیم کد ما رو دیباگ کن، و Copilot ما همیشه وصله، دیگه چه انتظاری داریم به مفاهیم مهم برنامه‌نویسی و توسعه نرم‌افزار مسلط بشیم و به رده‌های بالای این حوزه برسیم؟

- توی پست‌های بعدی سعی می‌کنم راه‌هایی رو معرفی کنم که کمک می‌کنه مهارت‌های حل مسئله‌مون رو بهتر کنیم 🌹
1
دیدین توی گیتهاب نوشته چند درصد کد با چه زبانی زده شده؟ اینو می‌تونید نصب کنید و اطلاعات و گزارش پروژتون از جمله تعداد خط های کامنت و فایل ها و نوع زبان و ... بگیرید
github.com/AlDanial/cloc
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
1
بکند کارا شاید پشت کارشون قوی باشه ولی پشت کارشون قوی نیست.

------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
1🔥1
ابزار های Mircrosoft 365 رو دیدین استایل هاش شبیه هم‌دیگس این لایبری ری اکت رو مایکروسافت توسعه داده که بتونید با اون استایل کامپوننت بسازین

مستندات :
react.fluentui.dev
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
1🔥1
ابزار های Mircrosoft 365 رو دیدین استایل هاش شبیه هم‌دیگس این لایبری ری اکت رو مایکروسافت توسعه داده که بتونید با اون استایل کامپوننت بسازین

مستندات :
react.fluentui.dev
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
1🔥1
این کتابخونه PHP که کارش اینه کُد PHP رو می‌گیره، تجزیه‌ش می‌کنه (parse)، تبدیلش می‌کنه به یک درخت نحوی انتزاعی یعنی Abstract Syntax Tree که به اختصار AST بهش می‌گن بعد می‌تونی این درخت رو بررسی، تغییر بدی و دوباره تبدیلش بکنی به کُد PHP

کاربردش چیه ؟ هیچی ! نه شوخی کردم باهاش می‌شه ابزار آنالیز و یا IDE ساخت کلا هر برنامه ای که نیاز به دخالت توی کد داره ساخت.

github.com/nikic/PHP-Parser
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
2🔥1
این کتابخونه جاوااسکریپت یه افکت پارالاکس رو با واکنش به حرکت دستگاه (یا موس) پیاده‌سازی می‌کنه. برای ساخت جلوه‌های بصری توی صفحات وب تک‌صفحه‌ای یا اسکرول‌دار می‌تونید استفادش کنید.


تست آنلاین و مستندات :

matthew.wagerfield.com/parallax
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
1
روز برنامه‌نویس مبارک به همه هم‌کدی‌های عزیزم!
به ساختن ادامه بدید، نوآوری کنید و هیچ‌وقت به قدرت ایده‌هاتون شک نکنید. هر باگی که برطرف می‌کنید و هر خط کدی که می‌نویسید، قدمی به سوی ساختن آینده است.
یادتون باشه: یک روز بد کدنویسی هنوز هم بهتر از یک روز خوبِ بدون خلاقیت و آفرینش هست.
و یک شوخی درونی برنامه‌نویسا: «من همیشه کدم رو تست نمی‌کنم… ولی وقتی تست می‌کنم، توی محیط واقعی (Production) انجامش می‌دم.» 😅💻

------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
2
اینجارو ببینید پر سیستم دیزاینه، هم ‌می‌تونید توش کامپوننت های آماده پیدا کنید هم می‌تونید Voice & Tone پیدا کنید مثلا پیام خطا یا دستورالعملی می‌نویسی، چه لحن و ادبیاتی داشته باش و فایل های آماده فیگما و فتوشاپ و کلی سورس کد دیگه

github.com/alexpate/awesome-design-systems
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
👌1
https://x.com/devtwittir/status/1966913469711876310
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
1
#استخدامی

خب آقای X، خانم Y، یه سوال React خفن!

سوال : useEffect  چی هستش اصلا کی به کار مون میادش  و چطور جلوی  (render) رندرای بی‌موردشو بگیریم؟ 

آقا  useEffect مثل یه دستیار باهوشه که می‌گه : «هی، اگه بخوای یه کار جانبی (side effect) تو کامپوننتت انجام بدی، من اینجام!»
✌🏻🌹

این کارای جانبی چی‌ان؟  دریافت داده از API
تغییر چیزی تو DOM (مثلاً تغییر noscript صفحه) 
تنظیم تایمر یا interval (مثلاً یه تایمر شمارش معکوس) 
اشتراک (subscribe) به یه سرویس (مثلاً WebSocket)

به عبارتی، هر چیزی که بخوای «خارج از رندر معمولی» کامپوننت انجام بدی، useEffect جای اونه!

مثال:

  useEffect(() => {
  fetch('https://api.example.com/users')
    .then(res => res.json())
    .then(data => setUsers(data));
})



مشکل کجاست؟😅🤏🏻

اگه حواست نباشه، useEffect هی رندر می‌کنه و اپ‌تو کند می‌کنه! 

راه‌حل: چطور جلوی رندر بی‌مورد رو بگیریم؟

اولی و اصلیش اینه که Dependency Array رو درست کن!


💥 همیشه یه آرایه به عنوان آرگومان دوم useEffect بده. این آرایه می‌گه useEffect کی باید اجرا بشه:

[] → فقط یه بار موقع mount کامپوننت اجرا می‌شه (مثل componentDidMount).

خالی نباشه یعنی  [variable] → هر وقت متغیر داخل آرایه تغییر کنه، useEffect اجرا می‌شه. 

بدون آرایه → هر بار رندر، useEffect اجرا می‌شه (خطرناکه!).


پس کد بالا اصلا بهینه نیستش !!!


useEffect(() => {
  fetch('https://api.example.com/users')
    .then(res => res.json())
    .then(data => setUsers(data));
},[])



این درستشه


یه سوال خفن دیگه!

اومدن تو مصاحبه گفتن: «اگه بخوای useEffect فقط یه بار موقع لود کامپوننت اجرا بشه، چی کار می‌کنی؟»
جواب: یه آرایه خالی ([]) می‌ذاری!



سیو کن این پستو! اگه این سبک سوال و جواب به دلت نشست، یه 🔥 بذار و بگو بعدی چی باشه!   
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

https://news.1rj.ru/str/ProCode0101
🔥2👍1
یه روز یه بک‌اندی با یه دختر فرانت کار آمریکایی ازدواج می‌کنه اسم بچشون رو می‌زارن JASON.
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

https://news.1rj.ru/str/ProCode0101
😁2
فکر کن یه تازه کار بیاد اینو توی JS ببینه :)



حالا چرا به ترتیب مرتب نشده؟ جاوااسکریپت پیش‌فرض رشته‌ای (lexicographical) سورت می‌کنه،
وقتی جاوااسکریپت ساخته شد (دهه 90 میلادی)، هدف این بود که ساده‌ترین و سریع‌ترین روش مرتب‌سازی برای انواع داده‌ها (عدد، رشته، …) فراهم بشه. توی اون زمان، بیشتر داده‌هایی که توی وب استفاده می‌شدن، رشته بودن (مثلاً لیست اسامی، متن‌ها، آدرس‌ها و ...). این تابع هم از اون زمان مونده و بخاطر سازگاری عوضش نکردن ولی به پارامترش تابع مقایسه اضافه کردن که می‌شه عددم باهاش سورت کرد‌.
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

@ProCode0101
👍1🔥1😁1
صفحه اکسپشن جدید لاراول رو دیدید؟ 🤩
------------------------------------
پُروکُد، جایی که‌ برنامه‌نویسای حرفه‌ای متولد میشن🧑🏻‍💻👇🏽

https://news.1rj.ru/str/ProCode0101
🔥1