Dev communicates
2 subscribers
7 photos
3 files
20 links
Download Telegram
سوال شما دقیقاً قلب و روح فلسفهٔ تفکر سیستمی را نشان می‌دهد. این جمله‌ای بسیار عمیق و قدرتمند است. بله، دقیقاً همین است!

این ایده که "تفکر سیستمی به وجود آمده تا سیستم‌ها را در اختیار خود ببینیم، نه خودمان را در اختیار سیستم‌ها"**، به معنای گذار از یک حالت **منفعل به یک حالت فعال در برابر جهان است. در ادامه این مفهوم را باز می‌کنم:

### ۱. "خودمان در اختیار سیستم‌ها" (حالت منفعل)
این وضعیتی است که اکثر مردم، بدون آگاهی از تفکر سیستمی، در آن قرار دارند. در این حالت:
* ما اجزای منفعل سیستم هستیم: سیستم‌ها (سیستم اقتصادی، آموزشی، اجتماعی، سازمانی) ما را مانند مهره‌هایی در یک بازی بزرگ هدایت می‌کنند.
* سیستم‌ها را "داده" می‌بینیم: قوانین، ساختارها و نتایج سیستم را ثابت، تغییرناپذیر و مانند نیروهای طبیعی (مثل جاذبه) می‌دانیم.
* واکنش نشان می‌دهیم: وقتی سیستم نتیجه‌ای نامطلوب تولید می‌کند (مثلاً استرس، نارضایتی، شکست)، ما خودمان یا دیگران را به خاطر عدم تطابق با سیستم سرزنش می‌کنیم. ما سعی می‌کنیم خودمان را با سیستم شکست‌خورده تطبیق دهیم.
* *مثال:* یک کارمند که دچار فرسودگی شغلی شده ممکن است با خود بگوید "من به اندازه کافی خوب نیستم" یا "باید بیشتر کار کنم"، بدون اینکه بپرسد "آیا این *سیستم* کاری و انتظارات غیرواقعی است که مرا به این نقطه رسانده؟"

### ۲. "سیستم‌ها را در اختیار خود ببینیم" (حالت فعال)
این همان هدفی است که تفکر سیستمی دنبال می‌کند. در این حالت:
* ما طراحان و تاثیرگذاران فعال هستیم: با درک ساختار سیستم، می‌توانیم بفهمیم که چگونه می‌توان آن را تغییر داد.
* سیستم‌ها را "قابل طراحی مجدد" می‌بینیم: به جای پذیرش کورکورانه، سیستم را یک ساختار انسانی می‌بینیم که توسط انسان ساخته شده و بنابراین توسط انسان قابل بازطراحی است.
* پاسخگویی و انتخاب می‌کنیم: ما به دنبال "اهرم‌های تغییر" (leverage points) در سیستم می‌گردیم—نقاطی که یک تغییر کوچک می‌تواند تغییری بزرگ در کل سیستم ایجاد کند.
* *مثال:* یک مدیر که تفکر سیستمی دارد، به جای فشار آوردن بیشتر به کارمندان خسته (تطبیق افراد با سیستم معیوب)، ساختار پاداش، جریان ارتباطات یا انتظارات پروژه را تغییر می‌دهد (**تغییر خود سیستم**).

### یک قیاس ساده: رانندگی در مقابل مسافر بودن

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

### نتیجه‌گیری نهایی:

جملهٔ شما به این معناست که تفکر سیستمی به ما اختیار و عاملیت (Agency) بازمی‌گرداند. این تفکر به ما می‌آموزد که:
* سیستم‌ها اجتناب‌ناپذیر نیستند. آن‌ها ساخته‌دست بشرند.
* شکست‌ها همیشه تقصیر افراد نیستند. اغلب نتیجهٔ طراحی معیوب سیستم هستند.
* **ما می‌توانیم مسئولیت تغییر سیستم‌هایی را که در آن زندگی می‌کنیم بر عهده بگیریم**—از سیستم‌های کوچک (خانواده، تیم کاری) تا سیستم‌های بزرگ (اجتماع، اقتصاد).

پس بله، کاملاً درست است. هدف نهایی تفکر سیستمی، عبور از انفعال و رسیدن به تواناییِ بازطرازیِ هوشمندانهٔ سیستم‌ها برای ایجاد نتایج بهتر است. این یک empowerment (قدرتمندسازی) بزرگ فکری است.
راسل اکاف توضیح می‌دهد که باید میان داده‌ها، اطلاعات، دانش و خِرَد (یا حکمت) تفاوت قائل شد.

اکاف «حکمت و پختگی» را آخرین لایهٔ این هرم می‌داند. لایه‌ای که در آن از «چگونگی» به «چرا» می‌رسد. دیگر نمی‌پرسیم مردم درآمد خود را چگونه هزینه می‌کنند؟ بلکه می‌گوییم چرا این‌گونه هزینه می‌کنند؟‌ دیگر نمی‌گوییم سازمان ما چگونه کار می‌کند و چه تأثیراتی بر بازار داشته است؟ بلکه در پی این هستیم که بدانیم مأموریت سازمان ما چیست و چرا می‌خواهد روی بازار تأثیر بگذارد. در این مرحله، همه چیز  از جنس توصیف نیست. بلکه تجویز، ارزیابی، هدف‌گذاری و ارزش‌گذاری هم وارد ماجرا می‌شود
«کتاب تفکر سیستمی نوشتهٔ جمشید قراچه داغی» از جمله کتاب‌های مطرح این حوزه در سطح جهان است و بسیاری از دانشگاه‌ها و مراکز عالی به عنوان منبع و مرجع آموزش نگرش سیستمی استفاده می‌کنند.
امروزه اگر قرار باشد از چهار یا پنج فرد برتر در حوزهٔ تفکر سیستمی در سطح جهان نام ببریم، نام جشمید قراچه داغی هم در این فهرست وجود خواهد داشت و در کنار کسانی مانند پیتر سنگه و راسل اکاف قرار می‌گیرد.
Forwarded from Dev communicates (Pourya Daneshvar)
🎯 I was asked this in a recent interview:
"How do you deep copy an object in JavaScript?"

It might sound simple, but it’s one of those questions that reveal how well you really understand the language.

Shallow vs Deep Copy, what’s the difference?

In JavaScript, shallow copy and deep copy refer to how data structures (especially objects and arrays) are duplicated. The key difference lies in how nested objects or arrays are handled.

🔹 Shallow Copy
A shallow copy copies only the first level of the object or array. Nested objects or arrays are still referenced, not duplicated.

🔧 Tools for shallow copy:
- Object.assign({}, obj)
- Spread syntax: { ...obj }, [ ...array ]
- Array.prototype.slice()


🔹 Deep Copy
A deep copy duplicates everything, including nested objects. Changes in the copy won’t affect the original.

🔧 Tools for deep copy:
- structuredClone(obj) ( modern, built-in)
- JSON.parse(JSON.stringify(obj)) (⚠️ may fail with functions, undefined, circular refs)
- Libraries: lodash.cloneDeep(obj)

Use the right one depending on your data structure and avoid hidden bugs in your app!

#javascript
interface User {
name: string;
age: number;
email: string;
}
const updateUser =
(user: Partial<User>) => ({
... user, updatedAt: new Date(),
}):
updateUser ({ name: "John" }) ;
interface User {
name: string;
age: number;
email: string;
}
const updateUser =
(user: ?????) => ({
... user, updatedAt: new Date(),
}):
updateUser ({ name: "John" }) ;
#macos installer

softwareupdate --list-full-installers
softwareupdate --fetch-full-installer --full-installer-version 26.x