<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های طاهره غلامی</title>
        <link>https://virgool.io/feed/@tahereg</link>
        <description>یک توسعه دهنده ی فرانت‌اند که گاهی راجع به تجربه هاش از زندگی شغلی و شخصیش می نویسه.</description>
        <language>fa</language>
        <pubDate>2026-06-18 08:30:10</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/640/avatar/cKKObS.png?height=120&amp;width=120</url>
            <title>طاهره غلامی</title>
            <link>https://virgool.io/@tahereg</link>
        </image>

                    <item>
                <title>نشت حافظه، مشکلی پنهان، تأثیری بزرگ</title>
                <link>https://virgool.io/@tahereg/%D8%B1%D9%87%D8%A7%D8%B3%D8%A7%D8%B2%DB%8C-%D9%85%D9%86%D8%A7%D8%A8%D8%B9-%D8%A8%D8%AE%D8%B4-%D9%81%D8%B1%D8%A7%D9%85%D9%88%D8%B4-%D8%B4%D8%AF%D9%87-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%AE%D9%88%D8%A8-nemupviwzmhy</link>
                <description>حتماً براتون پیش اومده که تب‌های زیادی توی مرورگر باز داشته باشید. دارید کارهاتون انجام میدید و چند ساعتی می‌گذره. کم کم احساس می‌کنید سیستم کُند شده. کنجکاو می‌شید، Task Manager رو باز می‌کنید یا نگاهی به مصرف RAM میندازید متوجه میشید که مرورگر یه مقدار زیادی از حافظه رو اشفال کرده. یا یک وب‌اپلیکیشن که مدت‌هاست باهاش کاری ندارید، هنوز داره کلی از حافظه‌ی سیستم رو اشغال می‌کنه.پشتِ اون رابط‌های کاربری جذاب و تجربه‌ی روانی که می‌بینیم، اتفاق‌هایی در جریانه که همیشه هم به نفع ما نیستن. تب های مرورگری که بازن و خیلی از این وب‌اپ‌ها، حجم زیادی از داده‌ها رو نگه می‌دارن — گاهی با هدف‌هایی مثل بارگذاری سریع‌تر یا دسترسی آفلاین، ولی خیلی وقت‌ها هم ناخواسته و بی‌دلیل.توی این مقاله، می‌خوایم با هم سرک بکشیم به پشت صحنه‌ی مرورگرها و ببینیم این داده‌ها از کجا میان، چرا بعضی‌هاشون پاک نمی‌شن، و چطور می‌شه جلوی این هزینه‌های پنهان حافظه رو گرفت.مرورگرهای مدرن (Multi-Process Architecture )مرورگرهای امروزی وظایف خودشون رو بین چند «process» یا فرایند جدا تقسیم میکنن.به عبارت ساده تر مرورگر امروزی یک برنامه ی چند بخشی هست، شامل یک بخش مدیریتی، چند بخش نمایش دهنده برای هر سایت، یک بخش گرافیکی و چند بخش جانبی. در کنار این فرایند ها که هرکدام یک بخش مستقل از مرورگر هستند، چند «thread» وجود داره. تردها به بیان ساده رشته های کاری کوچکی هستن که میتونن کارها را به صورت همزمان انجام بدن.همونطور که میشه حدس زد، این جداسازی و تقسیم بندی وظایف میتونه باعث سریعتر، امنتر و پایدارتر شدن مرورگر بشه. همین ویژگی امکان آزاد کردن حافظه در زمان بستن تبها رو هم فراهم میکنه. این معماری به مرورگر اجازه میده بعد از بستن یک تب، کل فرآیند مربوطه را ببنده و حافظه رو فوراً آزاد کنه .فرایند های اصلی مرورگرهای امروزی:Browser process : بخش اصلی مرورگر که به سیستم عامل دسترسی داره و ظاهر مرورگر (نوار آدرس و دکمه ها) رو میسازه، «Browser process» هست. این بخش مثل یک مدیر عمل میکنه: تبها را باز و بسته میکنه، به حافظه سر میزنه، و بقیه ی بخشها را راه میاندازه.تردهای مهم:UI thread : این ترد مسئول واکنش به کلیکها، تاچ ها و تغییرات در ظاهر مرورگر هست. مثلاً اگر روی تب کلیک کنید یا تو نوار آدرس چیزی بنویسید، این ترد اون رو دریافت و پیگیری میکنه. چون رابط کاربر باید سریع باشه، این ترد نباید کار طولانی انجام بده.I/O thread : این ترد کارهای ورودی/خروجی (مثل نوشتن فایل، خواندن از دیسک یا ارتباط با دیگر تردها) رو انجام میده. اگر مرورگر بخواد فایلی دانلود کنه یا به کارت شبکه پیام بفرسته، این ترد وارد عمل میشه.Renderer process : هر تب جداگانه ایی که باز میکنید در یک «Renderer process» جداگانه نمایش داده میشه. تو این بخش، متن و کد ها خونده میشن، شکل و ظاهر صفحه ساخته میشه و برنامه های جاوااسکریپت اجرا میشن و صفحه وب برای کاربر نمایش داده میشه. جدا کردن این فرایند برای هر تب باعث میشه اگر محتوای یک تب خراب بشه بقیه ی تب ها و مرورگر مشکل پیدا نکنند.تردهای مهم:Main thread : ترد اصلی مسئول خواندن HTML و CSS، ساختن DOM، اجرای جاوااسکریپت و تغییر صفحه است. در واقع مسئول تولید Render Tree و Paint instructions هست.وقتی شما با صفحه تعامل میکنید (مثلاً روی دکمه ای در یک وبسایت کلیک میکنید)، این ترد باید کد مربوطه را اجرا کند و نتیجه را روی صفحه نشون بده. اگر کد JS سنگین و طولانی باشه، این ترد مشغول میشه و صفحه گیر میکنه؛ اینجاست که بهینه سازی کد های جی اس خیلی اهمیت پیدا میکنه. Compositor thread : یک ترد مسئول گرفتن layers (لایه هایی که توسط main thread ساخته شدن)، و ترکیب (compositing) اونها و تولید تصویر نهایی هست.وقتی اسکرول میکنی یا یک animation ساده (مثل transform: translateZ(0) یا opacity) داری، مرورگر میتونه بدون درگیر کردن Main Thread، فقط با GPU compositing اون رو رندر کنه. این باعث میشه که حتی اگه Main Thread مشغول اجرای JS سنگین باشه، اسکرول یا انیمیشن روان باقی بمونه (تا حدی). البته برای اینکه این بخش هایی که گفتیم توسط این ترد انجام بشه لازمه که انیمیشن یا اسکرول یا … یه شرایطی داشته باشه. این دو ترد Main Thread و Compositor Thread موازی اجرا میشن. ولی Main Thread باید اول paint instructions رو تحویل بده تا Compositor بتونه لایه ها رو ترکیب کنه.وقتی تغییری نیاز به layout یا paint جدید داره (مثلاً تغییر width یا background)، Main Thread باید کارش رو تموم کنه، بعد Compositor میتونه فریم رو بسازه.و نکته بعدی اینکه وقتی تغییری فقط compositable باشه (مثل transform یا opacity)، مستقیم روی Compositor میافته و نیازی به Main Thread نداره.Worker threads : مرورگرها این امکان رو دارن که جاوااسکریپت رو در تردهای پس زمینه اجرا کنن. مثل «Web Workers» که این تردها میتوانند محاسبات سنگین یا دانلودهای طولانی رو انجام بدن بدون اینکه ترد اصلی رو کند کنن. یک نوع دیگه از ترد های پس زمینه «Service Worker» ها هستن که بر خلاف Web Worker همیشه توسط خود کاربر اجرا نمیشه، مرورگر در پاسخ به event هایی مثل fetch، push یا sync خودش فعالش میکنه.GPU process : برای اینکه انیمیشنها و فیلمها روانتر پخش بشن، مرورگر کارهای سنگین گرافیکی رو به یک بخش مجزا میسپاره که از کارت گرافیک استفاده میکنه. این بخش «GPU process» هست که خودش شامل چندین ترد موازیه، چون کارهای گرافیکی متنوع و زمانبر هستن، و باید با هم موازیسازی (parallelization) بشن.Network process : برای اینکه مرورگر بتونه صفحات و فایل‌ها رو دریافت کنه، باید به اینترنت متصل بشه — این یعنی کلی عملیات شبکه‌ای مثل ارسال درخواست‌های HTTP، دریافت پاسخ، مدیریت DNS، TLS و کوکی‌ها.در مرورگرهای قدیمی، تمام این کارها توسط همون Browser Process اصلی انجام می‌شد. نتیجه‌اش این بود که اگر مشکلی توی دریافت پاسخ، تأخیر تو DNS resolution یا باگ تو TLS negotiation پیش می‌اومد، ممکن بود کل مرورگر قفل کنه یا کرش کنه. حتی تب‌هایی که هیچ ربطی به اون درخواست نداشتن هم از کار می‌افتادن.مرورگرهای مدرن برای حل این مشکل، بخش شبکه رو جدا کردن. حالا یک پردازش مستقل به نام Network Process مسئول انجام همه‌ی کارهای شبکه‌ایه. حالا اگر مشکلی توی ارتباط با اینترنت یا باگی در یکی از لایه‌های شبکه پیش بیاد، فقط همون پردازش crash می‌کنه — نه کل مرورگر. این یعنی مرورگر پایداری بیشتری داره و بقیه تب‌ها به کارشون ادامه می‌دن.Extensions و Utility processes: افزونه هایی که به مرورگر اضافه میکنید (مثل ابزارهای مدیریت رمز و بلاکر تبلیغات) هر کدام تو «Extension process» خودشون اجرا میشن تا امنیت حفظ بشه. همچنین برخی کارهای خاص مثل پخش صدا یا راه اندازی اولیه کتابخانه ها در «Utility process» های کوچک انجام میشن.مرورگر چطور کار میکنه؟به زبان ساده مرورگر مثل یک راهنما، آدرس رو میگیره، مسیر را پیدا میکنه، آیتم های لازم (HTML، CSS، تصاویر) رو جمع میکنه، صفحه رو تشکیل میده، تزیینش میکنه و در پایان شما میتونید صفحه وب رو مشاهده کنید. ببینیم از لحظه ایی که URL در آدرس بار وارد میشه تا زمانیکه صفحه وب مشاهده میشه چه مسیری طی میشه.۱. دریافت ورودی : وقتی شما آدرس یا عبارت جستجو را در نوار آدرس وارد میکنید UI thread ورودی را میخونه و تشخیص میده که باید به موتور جستجو ارجاع بشه یا به URL. (اگر ورودی شما شبیه یک آدرس اینترنتی معتبر باشه (مثل example.com یا شامل http:// یا https:// باشه)، مرورگر اون رو به عنوان URL در نظر میگیره. در غیر این صورت، مرورگر فرض میکنه که شما یک عبارت جستجو وارد کردید و اون را به موتور جستجوی پیشفرض (مثل Google یا Bing) ارسال میکنه. البته مرورگرهای مدرن مثل Chrome و Firefox از الگوریتمهای پیشرفته و حتی یادگیری رفتار کاربر برای این تصمیمگیری استفاده میکنن)۲. حرکت به سمت مقصد : بعد از فشردن دکمه Enter یک درخواست شبکه توسط UI thread ایجاد میشه.طی چند مرحله ساده Network process وظایف خودش رو به این شکل انجام میده:DNS Lookup : مرورگر باید اول IP دامنه رو پیدا کنه.TCP Connection : یک اتصال TCP به سرور برقرار میشه.TLS Handshake : مرورگر و سرور با هم یک ارتباط امن رمزنگاری شده برقرار میکنن.HTTP Request over TLS : مرورگر درخواست HTTP رو از داخل کانال امن TLS میفرسته (که این ترکیب همون HTTPS هست)HTTP Response over TLS : سرور پاسخ رو هم از داخل همین کانال رمزنگاری شده برمیگردونهRedirect Handling (اگر لازم باشه) : اگه پاسخ HTTP شامل redirect باشه، مرورگر URL جدید رو دنبال میکنه.در حالیکه این مراحل طی میشه پروسس های دیگری هم درگیر میشن:۳. خواندن پاسخ : پیش از دریافت کامل پاسخ، مرورگر یک Renderer process آزاد پیدا یا ایجاد میکنه. از Browser Process (که بالاتر مسئول مدیریت کلی تبها، آدرسها، درخواستها و فرآیندهاست) به Renderer Process (که مسئول رندر کردن و نمایش محتوای صفحه است) پیامی میفرسته که الان میتونیم به این صفحه بریم. اگر سرور بگوید «به آدرس دیگری برو»، مرورگر مسیرش را عوض میکند.۴- دریافت پاسخ : سرور شروع به ارسال «بسته های اطلاعاتی» میکنه: HTML، فایلهای CSS، تصاویر و کدهای جاوااسکریپت. مرورگر این بسته ها رو دریافت میکنه و به پروسس های مختلف ارسال میکنه؛ مثلا متن HTML و CSS به Renderer process میره.۵- ساختن اسکلت صفحه (Layout) :  در این مرحله Renderer process اول HTML را میخونه و اندازه viewport محاسبه میکنه و بر این اساس یک «درخت» میسازه که DOM صفحه رو نشان میده. فایلهای CSS خوانده میشن و یک درخت دیگر ساخته میشه که استایل ها  را مشخص میکنه (CSSOM). این دو با هم ترکیب میشن تا مشخص یشه هر عنصر در صفحه چطور باید نمایش داده بشه.۸. چیدمان (Compositing) : اگر انیمیشن یا اسکرول وجود داشته باشه، بعضی عناصر صفحه تو لایه های جداگانه روی GPU رسم میشن و compositor thread لایه ها رو ترکیب و تصویر نهایی رو به GPU میفرسته.تبدیل دادهها به پیکسلها در مرورگر:ابتدا در Renderer Process شروع میشه (ساخت DOM، layout، paint)، بعد توسط Compositor Thread لایه ها ترکیب میشن، و در نهایت GPU Process دادهها رو به GPU واقعی میفرسته تا پیکسلها روی صفحه نمایش داده بشن.۱۰. اجرای کد (JavaScript execution) : وقتی مرورگر داره HTML رو خط به خط میخونه و ساختار DOM رو میسازه، ممکنه برسه به تگ اسکریپت. مرورگر دست نگه میداره (Parsing HTML متوقف میشه). چون اجرای JavaScript میتونه محتوای صفحه رو تغییر بده. بعد از اجرای کامل کد جی اس، دوباره به parsing HTML ادامه میده. اگه فایل JavaScript حجم زیادی داشته باشه یا از سرور کندی بیاد، صفحه برای چند ثانیه ممکنه متوقف بمونه. در واقع، هیچ چیز دیگه ای رندر نمیشه تا وقتی که اجرای اون فایل تموم بشه. البته استفاده از defer و async کمک میکنه HTML بدون وقفه ادامه پیدا کنه و اسکریپتها به شکل بهینه تر اجرا بشن.۱۱. پایان بارگذاری : بعد از بارگذاری کامل منابع و اجرای کدها، Renderer process یک پیام پایان بارگذاری را به Browser process ارسال میکنه. با این کانتکس که من همه چیو گرفتم، اجرا کردم، صفحه کامل آماده ست.کاربرد این پیام اینه که Browser Process با دریافت این پیام میفهمه که: دیگه نیازی نیست منابع بیشتری برای این صفحه نگهداره و زمان مناسبیه برای:اجرای افزونه ها (extensions)اندازه گیری performance (مثل metrics مربوط به Load time)فعالکردن بعضی رفتارها مثل prefetch یا prerenderحالا که مسیر اجرا و نمایش صفحات وب توی مرورگر رو بررسی کردیم، ببینیم مدیریت حافظه چطور انجام میشه و هزینه های پنهان حافظه کجا به حساب ما نوشته میشن.مدیریت حافظه در مرورگرهمونطور که اشاره شد هر تب مرورگر، مدیریت حافظه ی خودش رو داره.در سطح JavaScript Engine، دو مدل برای مدیریت حافظه وجود داره: Stack : برای دادههای موقتی و کوچک، (مثل اعداد، بولینها، و متغیرهای مربوط به اجرای یک تابع).به دلیل ماهیت ساده اش خودش آزاد میشه.Heap : برای آبجکت ها، آرایه ها، نودهای DOM، و داده هایی که عمر بیشتری دارند. از دید JavaScript Engine، همیشه Memory Leak در Heap اتفاق میافته.برای مدیریت حافطه در Heap بخشی در JavaScript Engine وجود داره به نام Garbage Collector. که خودش یکسری الگوریتم های هوشمند داره و به صورت async در پس زمینه اجرا میشه. علاوه بر این خودش در Main Thread اجرا میشه ولی سعی میکنه تا جای ممکن pause ایجاد نکنه. کارش اینه که به طور دوره ای Heap را اسکن میکنه و دنبال آبجکتهایی میگرده که هیچ ارجاع فعالی (reachable reference) ندارن و وظیفه داره آبجکت هایی رو که دیگه هیچ ارجاعی به آنها وجود نداره آزاد کنه. وقتشه برای همیشه تکلیف Memory Leak رو روشن کنیممتوجه شدیم نشت حافظه معمولاً مثل یک باگ واضح خودش رو نشون نمی‌ده، اما می‌تونه به‌مرور زمان تجربه‌ی کاربر رو به‌شدت تحت تأثیر قرار بده.با شناخت بهتر ابزارها و الگوهای درست، می‌تونیم این هزینه‌های پنهان رو به حداقل برسونیم، استاندارد کدمون رو بالا ببریم و در نهایت برنامه‌نویس‌های حرفه‌ای‌تری باشیم.۱. شایعترین نوع Memory Leak در JSفراموشی clearTimeout, removeEventListener, abortFetch, unsubscribeنگهداشتن Reference به آبجکتهایی که دیگه نیازی نیستراه حل ها:اگر از وانیلا جی اس استفاده میکنیم removeEventListener فراموش نکنیمbtn.removeEventListener(&#039;click&#039;, handleClick);در React یا فریمورکها، استفاده از cleanup functionuseEffect(() =&gt; {
  window.addEventListener(&#039;resize&#039;, handleResize);
  return () =&gt; {
     window.removeEventListener(&#039;resize&#039;, handleResize); // پاکسازی
  };
}, []);استفاده از Delegation در بعضی موارداگه چند المنت مشابه داریم، به جای اینکه برای هرکدوم جداگانه addEventListener تعریف کنیم، میتونیم روی والدش یک لیسنر کلی بذاریم و با event.target تشخیص بدیم روی کدوم کلیک شده. از این طریق کمتر لیسنر ثبت میشه.document.getElementById(&#039;comments&#039;).addEventListener(&#039;click&#039;, (event) =&gt; {
  const target = event.target
  if (target.matches(&#039;.like-btn&#039;)) {
    const id = target.dataset.id;
    likeComment(id);
  }
});تایمرها یا interval های رهاشدهsetInterval, setTimeout هایی که پاک نمیشن، حتی اگه کامپوننت React یا فانکشن از بین بره، اینها هنوز در حافظه فعال می مونن و حتما باید از ()clearInterval و ()clearTimeout در فانکشن cleanup استفاده بشه.استفاده نادرست از Map یا Setمشکل: وقتی آبجکتهایی رو در Map یا Set نگهداری میکنیم در حافظه باقی می مونن تا زمانی که پاک بشن.const map = new Map();
  function saveMetadata(domElement) {
  map.set(domElement, { createdAt: Date.now() });
}راه حل: استفاده از WeakMap به‌جای Map زمانی که key شما یک object هست، کمک می‌کنه از memory leak جلوگیری بشه. چون WeakMap به صورت خودکار اجازه می‌ده GC (Garbage Collector) اون key (و مقدار مربوط بهش) رو پاک کنه وقتی که هیچ reference دیگه‌ای به اون object وجود نداره. این یکی از ترفندهای پیشرفته ولی بسیار کاربردی در مدیریت حافظه‌ هست.const metadata = new WeakMap();
  function saveMetadata(domElement) {
  metadata.set(domElement, { createdAt: Date.now() });
}۲. closure هایی که داده های قدیمی رو نگه میدارنوقتی یه تابع رو داخل تابع دیگه تعریف کنیم و اون به متغیرهای بیرونی دسترسی داشته باشه، احتمال داره باعث نشت حافظه بشه.مثال:function outer() {
  const largeData = new Array(1000000).fill(&#039;🔥&#039;);
  return function inner() {
    console.log(&#039;Hello&#039;);
  };
}مشکل:روی scope outer تابع inner برگردونده میشه و یه closure می‌سازهتابع inner از نظر JS ممکنه به largeData نیاز داشته باشه بنابراین (Garbage Collector) GC پاکش نمیکنهراه حل: scope بزرگ نساز — (separation of concerns)function createInner() {
  return function inner()
    console.log(&#039;Hello&#039;);
  };
}

function doSomething() {
  const largeData = new Array(1000000).fill(&#039;🔥&#039;);
  const inner = createInner();
  return inner;
}اینجا inner فقط به اسکوپ createInner وصله (که کوچیکه) و largeData توی اسکوپ جداست و زودتر آزاد میشه.نکته: از closure های بی‌دلیل اجتناب کنیم. بهتره که هر تابع فقط داده‌های لازم رو نگه داره و تا جایی که میشه توابع رو کوچیک و جدا از هم تعریف کنیم.۳. متغیرهای global ناخواستهوقتی اشتباهاً متغیری بدون let, const, var تعریف میکنیم، global میشه و تا زمانی که پاک نشه در حافظه باقی می مونه. البته دیگه این روزها همه جا از &#039;use strict&#039; استفاده میشه که از بروز این مشکل جلوگیری میکنه. در مورد تعریف متغیر با var هم احتیاط هایی لازمه. اگر هنوز از این متغییر استفاده میکنیم باید حواسمون باشه چون Function scope هست اگر خارج از تابع مربوطه تعریف بشه ممکنه به عنوان متغییر گلوبال در نظر گرفته بشه و در حافظه باقی بمونه.مواردی که ذکر شد مموری لیک در سطح JavaScript Engine بودن. در سطح مرورگر، در بخش های دیگه هم نشت حافظه اتفاق میوفته که مباحث ادونس تری رو شامل میشه و در فرصت این مقاله نمی گنجه.لیک در DOM Memoryلیک در GPU MemoryImage Cache → تصاویر آزاد نشدهجمع‌بندیاینها چیزهایی بودن که در مسیر مطالعه و بررسی دلایل و عوامل نشت حافظه یاد گرفتم. من فکر میکنم ما توسعه دهنده های سمت کلاینت، هر چقدر بیشتر بدونیم دقیقاً در پشت‌صحنه‌ی مرورگر چه اتفاقی می‌افته؛ می‌تونیم اپلیکیشن‌هایی سریع‌تر، سبک‌تر و قابل‌اعتمادتر بسازیم.از توجه شما خیلی ممنونم. خوشحال می‌شم اگه شما هم تجربه‌ای در این زمینه داشتید یا با ابزارها و تکنیک‌هایی مواجه شدید که براتون مفید بوده، با من و بقیه به اشتراک بذارید. گفت‌وگوی ما می‌تونه به بهتر شدن کار همه‌مون کمک کنه 🌱</description>
                <category>طاهره غلامی</category>
                <author>طاهره غلامی</author>
                <pubDate>Sun, 21 Sep 2025 18:57:11 +0330</pubDate>
            </item>
                    <item>
                <title>هنر یادگیری؛ گام‌هایی برای بهبود و افزایش توان یادگیری</title>
                <link>https://virgool.io/@tahereg/%D9%87%D9%86%D8%B1-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%DA%AF%D8%A7%D9%85-%D9%87%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D9%87%D8%A8%D9%88%D8%AF-%D9%88-%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%D8%AA%D9%88%D8%A7%D9%86-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-ezbv9ymxo6hh</link>
                <description>آموزش برای انسان مثل یک پل هست که او رو از وضعیت کنونی‌اش به سمت وضعیت بهتری هدایت می‌کنه. در حقیقت «آموزش» مهمترین سرمایه هر آدمی هست که باید حتما روش سرمایه گذاری کنه.اما ما به عنوان انسان های معمولی توانایی های محدودی داریم و با توجه به رشد خیلی سریع تکنولوژی و تولید علم خیلی وقتها هم ممکنه دچار فومو (Fear of missing out) بشیم.حتی گاهی وقتها با یادگیری مشکل داریم.من فکر میکنم این اتفاق عجیبی نیست چون تقریبا تو هیچ دوره ایی از زندگی به ما یاد نمیدن که چطوری یاد بگیریم.فقط انگار انتظار داریم خودش اتفاق بیوفته. آیا یاد گرفتن یه مهارته که میشه آموزش دید؟خبر خوب اینکه روش هایی وجود داره که «میشه یاد گرفت چطوری سریعتر و موثرتر یاد بگیریم». این پست شامل چه موضوعاتی هست؟اول موضوع یادگیری رو از نگاه نوروساینس (علوم اعصاب) بررسی میکنم بعد به بخشی از تحقیقات روانشناختی که تو دوره های اخیر صورت گرفته میپردازم و در انتها به مدل های یادگیری عمیق‌تر هم اشاره میکنم.موضوعاتی که مطرح میشه تنها نتیجه جستجوهای من از بخشی از هزاران مطلب و تحقیق ارزشمند هستن اگر جایی نقص یا اشکالی دیدید ممنون میشم با من درمیون بذارید. حالا یادگیری چطور اتفاق میوفته؟نوروساینس میگه ما به نوروپلاستیسیتی نیاز داریم تا یادگیری اتفاق بیوفته. نوروپلاستیسیتی یه اصطلاح علمی هست که اساسا به معنای توانایی مغز ما برای تغییر فیزیکی در پاسخ به تجربه است. وقتی چیزی یاد میگیریم، چه اطلاعات یا مهارت فیزیکی، ارتباطات کوچکی به نام سیناپس بین نورون های همسایه در مغز ما شکل میگیره. هرچی بیشتر اون کارو انجام بدیم، این ارتباطات قویتر میشن و در انجام هرکاری که هست بهتر میشیم. Neuroplasticityتا حالا کسی رو ملاقات کردید که بینهایت با استعداد باشه و با خودتون فکر کنید که اون یه چیز جادویی باید در مورد خودش داشته باشه که بقیه ندارن. اگر بگم که احتمالا درست نیست چی؟کل موضوع میتونه این باشه که  به تمرین و پشتکار برمیگرده و زمانی که شروع به تمرین مهارتش کرده هم خیلی نکته مهمی هست. اونها وقتی در حال رشد بودند شروع به یادگیری اون مهارت کردن. پس هرچه زودتر بهتر. اکثر آدمهای استثنایی مثل سرنا ویلیامز، بتهوون، کریستین رونالدو، ... با مهارت های خودشون متولد نشدن. اونها تمرین کردن و بیشتر اونها در واقع از پنج سالگی یا قبلتر شروع کردن. یه حقیقت تلخ اینکه توانایی یادگیری ما بعد از پنج سالگی رو به افول میره. اما خبر خوب اینکه میشه یادگیری رو بهبود داد.با جستجوی این سوال ویدیوی تدتاکی رو یافتم از خانوم دکتر Lila Landowski نوروساینتیست و مدیر تحقیقات پزشکی استرالیا که جوایز زیادی در راستای تحقیقات مختلفی که در علوم اعصاب داشتن دریافت کردن. ایشون توی این سخنرانی ۶ عنصر حیاتی رو نام میبره که علوم اعصاب باور داره که به یادگیری سریعتر کمک میکنه.۱- توجه (attention)۲- هوشیاری (alertness)۳- خواب (sleep)۴- تکرار (repetition)۵- وقفه ها (breaks)۶- اشتباهات (mistakes)در ادامه در مورد هرکدوم ازین عناصر با جزییات صحبت میکنم.۱- توجه / Attentionاگه از شما بخوام چشمهاتون ببندید و روی تماس پاهاتون با زمین متمرکز بشید یهو متوجه بافت جورابتون میشید یا اینکه چقدر کفش ها تنگ هستن یا کف کفش محکم هست. یک ثانیه پیش شما از هیچ کدوم آگاه نبودین و این به این معنی هست که ما توانایی انتخاب میزان توجه به چیزی رو داریم. مطالعات نشون دادن که وقتی کاملا روی یک کار متمرکز میشیم احتمال زیاد اطلاعات زیادی از آن حفظ میکنیم مخصوصا برای بلند مدت.سوال: چندبار پیش اومده متوجه بشید که چیزی را دوباره میخونید یا در حال گوش دادن دوباره پخش میکنید چون کمی حواس شما پرت شده؟ از نظر نوروساینش ما طوری طراحی شدیم که در یک زمان روی یک چیز تمرکز داشته باشیم. در حال حاضر تا این لحظه از تاریخ بشر، ما هرگز برای «توجه داشتن» به این سختی کار نکرده ایم.یکی از عوامل حواس پرتی که همیشه ازش یاد میشه استفاده افراطی از سوشیال مدیا هست. از نظر نوروساینس مهمترین اتفاقی که هنگام استفاده از سوشیال مدیا توی مغز میوفته Context Switching هست. هنگام اسکرول کردن توی سوشیال مدیا ما داریم ترکیبی از اطلاعات کاملا نامرتبط مثل اخبار، تبلیغات، ویدیو های مختلف رو می بینیم که منجر به کمبود توجه قابل توجهی میشه. چه کارهایی میتوان برای بهبود توجه انجام داد؟اگر میخواهید در کوتاه مدت توجه خودتون رو بهبود ببخشید در واقع فقط میتونید ورزش کنید. این حرف شاید خیلی تکراری به نظر بیاد ولی آیا میدونستید که ورزش در واقع میتونه اندازه بخشی از مغز شما را که در یادگیری و حافظه نقش دارد افزایش بده و به شما در ساخت سلول های مغزی جدید کمک میکنه. مطالعات نشون دادن که ورزش منظم حافظه رو بهتر میکنه، شناخت رو بهبود می بخشه و در نتیجه توانایی شمارو برای فکر کردن افزایش میده. فقط ۲۰ دقیقه ورزش متوسط (نه حتی ورزش شدید) در واقع توجه شمارو برای حدود دو ساعت بعد بهبود می بخشه. بنابراین کاری که باید انجام بدین، اگر برای مطالعه آماده میشد به یک دویدن سبک برید و حتی اگر تعادل خود را به چالش بکشید حتی بهتر هست.۲- هوشیاری / Alertnessبرای یادگرفتن باید هوشیار باشید درسته؟ این علم موشک سازی نیست و خیلی ساده ست! :)) اما موضوع اینه اگر به طور کامل روی یک کار متمرکز نیستید در این صورت زمان سختتری برای حفظ ان اطلاعات خواهید داشت.چطور برای یادگیری هوشیارتر باشیم؟ فعال کردن سیستم جنگ یا گریز بدن یا فعال کردن سیستم عصبی سمپاتیک (بخشی از سیستم عصبی خودمختار بدن هست که در مواقع استرس یا تهدید فعال می‌شه و به آماده‌سازی بدن برای پاسخ به موقعیت‌های اضطراری کمک می‌کنه) منجر به ترشح آدرنالین و نوراپی نفرین (هورمون جنگ یا گریز) میشه و هوشیاری مارا افزایش میده. خب چه کارهای میتوانیم انجام بدیم تا این سیستم جنگ و گریز خود را فعال کنیم؟دوباره ورزش یک موضوع تکراری. میتونید دوش گرفتن با کمی آب سرد هم بهش اضافه کنید که باعث هوشیاری زیادی میشه. همینطور میدونیم که استرس همین کارو انجام میده. مثلا اگر بعد از یه موقعیت استرس‌زای کوچیک به یادگیری بپردازین سرعت افزایش پیدا میکنه.همینطور حتی کافئین هم به هوشیاری کمک میکنه.مثلا وقتی غذا میخورید، این کار سیستم جنگ یا گریز مارو خاموش میکنه و بهتره بعد از یه وعده غذایی بزرگ به یادگیری یا مطالعه نشینید.البته برای هوشیاری ماهم محدودیتی وجود داره.مطالعات نشون داده که ما دائما در حال عبور از یک ریتم هستیم، تقریبا هر ۹۰ دقیقه ما در اوج هوشیاری وارد و خارج میشیم. بنابراین واقعیت این هست که شما نمیتونید همیشه ۱۰۰٪ هوشیار باشید.۳- خواب / Sleepیک چیز دیگر برای هوشیاری خوابه. پس اگر خواب خوبی نداشته باشید روی هوشیاری شما تاثیرگذار است.اما خواب به دلایل دیگری برای یادگیری واقعا مهمه.خواب مجموعه مهمی از عملکردها رو انجام میده. برای مثال، سیستم ایمنی، متابولیسم و کنترل احساسی مارو ریست میکنه. حتی از شر مواد زائدی که در طول روز در مغز ما جمع میشه خلاص میشه.در واقع خواب برای تثبیت حافظه بسیار حیاتی است.بخش خاصی از مغز به نام هیپوکامپ وجود داره که برای یادگیری و حافظه مهمه. وقتی در طول روز کاری انجام میدیم هیپوکامپ اون هارو پیگیری میکنه یکم شبیه به دفتر خاطراته. اگر بخوام از شما بپرسم قبل از اینکه به این متن رو بخونید چیکار میکردین از هیپوکامپ برای یادآوری آن اطلاعات استفاده میکنید. اما اطلاعات رو فقط برای کوتاه مدت نگه میداره و وقتی میخوابید تمام آن خاطرات کوتاه مدت به قسمت های دیگر قشر مغز منتقل میشه و به خاطرات بلند مدت تبدیل میشن. بنابراین اگر نمیخوابید نمیتوانید حافظه کوتاه مدت به حافظه بلند مدت تبدیل کنید. به همین دلیل خواب برای یادگیری بسیار مهم است.تکرار / Repetitionمیدونیم که تکرار یه کلید مهم در یادگیری هست. این کافی نیست که فقط یکبار چیزی رو بخونید یا بشنوید و انتطار داشته باشبد همیشه یادتون بمونه. همونطور که ورزش باعث عضله سازی میشه الگوهای تکراری هم اتصلات در معز مرتبط با آن کار رو تقویت میکنه، بنابراین به یادآوردن اون آسون میشه.هنگام یادگیری مغز شما از طریق نوروپلاستیسیته در حال ایجاد ارتباطات کاملا جدید هست. وقتی تکرارش میکنید در واقع این پیام به مغز میرسونید که این کاری هست که تو زندگی من داره تکرار میشه پس برای اینکه کارامدتر باشه باید این رو تقویت کنم. بنابراین یادگیری خود را در چند روز زمان بگذارید تا اجازه تبدیل به خاطره بلند مدت رو داشته باشه.وقفه ها / Breaksفواصل بین سشن های یادگیری از دو‌جهت مهم هستن. اول به مغز فرصت میده تا آن اطلاعات دوباره پردازش کند که این کاملا ناخوداگاه اتفاق می افته. به عنوان مثال، شما در حال یادگیری یک قطعه با پیانو هستین اگر بعد از اون ده ثانیه استراحت کنید مغز شما در واقع در حال ضبط اون قطعه خواهد بود به طوری که شما اون قطعه رو ممکنه تا ۲۰ برابر سریعتر بادبگیرید.زمانیکه در حال یادگیری مهارت جدیدی هستید حداقل یک ساعت زمان فاصله لازم هست که کار دیگری که نیاز به فکر دارد انجام دهید. چون اطلاعات رمز گذاری شده جدید در مغر خیلی پایدار نیستن و اگر بخواهید از همان شبکه های عصبی برای یادگیری چیز دیگری استفاده کنید انفاقی که می افتد اطلاعات رمز گذاری شده جدید میتوانند طی یه فرایندی از بین بروند.نکته جالب توجه اینکه در بچه ها تنها چند دقیقه طول میکشه تا این اتصالات شبکه های عصبی تثبیت بشن اما در بزرگسالان تا جایی که میدونیم حتی تا یک ساعت و بیشتر ناپایدار هستند. بنابراین بعد از اتمام یادگیری مطمعن بشید ۱۰-۲۰ دقیقه استراحت کنید و حداقل یک ساعت صبر کنید تا بخواهید چیزی مشابه یاد بگیرید. یا بهتره در یک روز دیگر انجام بدین.اشتباهات / Mistakesصادقانه بهش فکر کنیم اشتباه کردن وحشتناکه. اما برای من جالب بود وقتی فهمیدم که دلیل بیولوژیکی پشت این حس وجود داره. این احساس اضطراب و استرسی که هنگام اشتباه به شما دست میده، هدف بسیار مهمی رو دنبال میکنه. اتفافی که می افته اینه که مغز تعدیل کننده های عصبی آزاد میکنه. توی مغز اتفاقاتی میوفته که توجه رو افزایش میده و این افزایش توجه و آن احساس اضطراب اساسا به ما میگه: هی اشتباه کردی باید تغییر کنی و بهتر عمل کنی و این پنجره رو برای نوروپلاستیسیته باز میکنه. بنابراین هر اتفاقی در ادامه بیوفته مغز شما آماده پذیرش آن هست. این راهی هست که مغز به شما کمک میکنه بهتر از روز قبل باشید. پس به نفع شماست که خودتون را برای کمی شکست آماده کنید.بعد از بررسی فرایند یادگیری از منظر نوروساینس و بیان نکات مورد توجه بیولوژیکی ادامه این متن رو با یک سوال پیش می برم.چقدر زمان لازم هست تا مهارت یا موضوع جدیدی رو یاد بگیریم؟در جستجو برای جواب این سوال به یه سری تحقیقات با عدد قابل توجه و جالبی میرسیم.&quot;قانون ۱۰٬۰۰۰ ساعت&quot;منشا این ایده در واقع از تحقیقات یک روانشناس مشهور سوئدی به نام اندرس اریکسون و همکارانش هست. آنها در مطالعات خود به این نتیجه رسیدن که برای دستیابی به سطح بالای مهارت، به زمان و تمرین زیاد نیاز هست. اما مالکوم گلدول این ایده را در کتاب استثنایی‌ها عمومی‌سازی کرد و آن را به شکل &quot;قانون ۱۰٬۰۰۰ ساعت&quot; مطرح کرد. با آشنا شدن با این مفهوم احتمالا ری اکشن ما اینه که: نهههه! من که اینهمه وقت ندارم! یا ممکن هست با فکر اینکه پس من دیگه هیچ وقت نمیتونم چیزی یاد بگیرم. کلا بیخیال یاد گرفتن چیزی بشیم و کلی حس بد داشته باشیم نسبت به این تصمیم و با خودمون فکر کنیم که حتما اونایی که چیزای بیشتری از من بلد هستن خیلی باهوش ترن یا شاید اصلا سوپر هیرو هستن!اگر بخواییم معیاری از اندازه ۱۰.۰۰۰ ساعت داشته باشیم معادل یه شغل تمام وقت برای ۵ ساله. احتمالا همه ما چیزهایی رو یاد گرفتیم که اصلا حتی نزدیک این تایم هم ازمون وفت نگرفته. پس یه چیزایی باهم جور در نمیان. چیزی که تحقیفات نشون میده و چیزی که ما تجربه کردیم باهم جور در نمیاد.یکم دقیقتر که بشیم متوجه میشیم که این قانون ۱۰.۰۰۰ ساعت از بررسی روی کارایی افرادی در حد متخصصین به دست اومده و بیشتر به معنای رسیدن به یه تخصص در حد expert-level performance است. این قانون اینطوری به دست اومده که تعدادی ورزشکار حرفه ایی یا موسیقی‌دان های در سطح جهانی و استاید بزرگ شطرنج همه اینجور افراد موفق و قهرمان توی زمینه های حرفه ایی و دشوار بررسی کردن. آقای اریکسون تلاش کرد بفهمه که برای رسیدن به اوج تو همچین زمینه هایی چقدر وقت لازمه و به این نتیجه رسید هرچی تمرین حساب شده تر باشه و هرچقدر این افراد زمان بیشتری رو برای تمرین کردن قسمت های اساسی (حالا هرچیزی) انجام میدن بهترم هم شدن. اونایی که تو رشته شون جزو بهترین ها هستن دور و بر ۱۰.۰۰۰ ساعت تمرین کردن. «زیاد تمرین کن خوب تمرین کن و نتیجه ی خیلی خوبی هم بگیر». در واقع پیام اصلی این کتاب این بود که حدود ۱۰.۰۰۰ ساعت زمان میبره که توی یه رشته ی خیلی رقابتی به موفقیت خیلی بالا برسیم.این کتاب بسیار سروصدا کرد و خیلی پرفروش شد ،حدود ۳ ماه تو صدر پرفروش ترین کتاب ها بود. و این قانون همه جا پیچید. و این پیام که اگه ۱۰.۰۰۰ ساعت زمان میبره که توی یه رشته ی خیلی رقابتی به موفقیت خیلی بالا برسیم تبدیل شد به اینکه ۱۰.۰۰۰ ساعت زمان لازمه تا تو یه زمینه ایی خوب یشید! و بعد از اون تبدیل شد به ایده ی ۱۰.۰۰۰ ساعت زمان لازمه که چیزی رو یاد گرفت! در واقع به همین سادگی این موضوع توی انتقال پیامش تغییر کرد. اما همه میدونیم که این ایده آخر حقیقت نداره.وقتی مطالعات مربوط به کسب مهارت بررسی میکنیم خیلی وقتها نموداری شبیه این رو می بینید:نمودار مقایسه‌ای خطیدر ادامه روی این نمودار یک تحقیق رو بررسی میکنیم. محققان، دوست دارن چیزایی رو بررسی کنن که بشه با زمان اندازه گیری کرد. پس اومدن به شرکت کننده های توی یک تحقیقات یه کاری دادن. کاری که برای انجامش نیاز به یکم یادگیری داشتن و زمانی رو اندازه میگرفتن که یه شخص لازم داشت تا اون کارو انجام بده. حالا چیزی که این نمودار میگه، وقتی آدمها کار رو شروع میکردن اولش خیلی طول میکشید. چون یه کار جدید بود و اونا هم اصلا بلدش نبودن. دیدن که با یکم تمرین بهتر و بهتر و بهتر شدن. در واقع آدما تو چیزا خوب میشن فقط با کمی تمرین. حالا نکته جالبی که هست این که، ما خیلی وقتها برای مهارت هایی که میخواییم یاد بگیریم، برای خودمون زمان مهم نیست. فقط این برامون مهمه که چقدر توی اون چیز خوب هستیم. حالا خوب هر معنی میتونه داشته باشه.پس اگر بیاییم به جای performance time بذاریم how good you are یا به همچین نموداری میرسیم. نمودار یادگیری این نمودار یادگیری یا Learning Curve هست. داستان این نمودار یادگیری اینجوریه که وقتی شروع میکنین، اصلا چیزی بلد نیستید و خودتون هم اینو میدونید، با یه کوچولو تمرین واقعا خوب میشید خیلی هم سریع. اون مراحل اولیه خوب شدن خیلی سریع هست و بعد تو یه نقطه خاص یادگیری به آرومی متوقف میشه و بهتر شدن و مهارت های بیشتر کسب کردن خیلی سختتر میشه و زمان بیشتری میبره. با یک سوال مهم دیگه ادامه میدم.از شروع یادگیری یک مهارت، وقتی چیزی هم ازش نمیدونیم و به این هم آگاهیم، تا خوب شدن توی اون مهارت تا حد قابل قبولی  چقدر زمان میبره؟ در واقع کمترین زمان ممکن چقدره؟تحقیقات آقای Josh Kaufman میگه که ۲۰ ساعت طول میکشه!ایشون میگن که شما میتونین از ندونستن هیچی، درباره هر مهارتی که فکرشو بکنین مثل زبان جدید، نقاشی، یا حتی میخوایید یاد بگیرید چطوری با اره برقی شعبده بازی بکنید! توی ۲۰ ساعت آموزش متمرکز و عمیق روی اون موضوع از خودتون متحیر بشید. متحیر بشید که چقدر خوب شدید.۲۰ ساعت واقعا قابل انجام و دست یافتنی هست. میشه حدود ۴۵ دقیقه در روز برای حدود ۱ ماه و اونقدرا هم سخت نیست. البته برای این ۲۰ ساعت شرایطی رو نام میبره که شامل ۴ مرحله میشه. شرایطی که تضمین کنه شما اون ۲۰ ساعت رو به کارامدترین شکل ممکن که میتونستید سرمایه گذاری کرده باشید. در واقع از اینجا به بعد وارد بحث یادگیری هوشمندانه میشیم.۱- اون مهارت رو‌تجزیه و‌تحلیل کنید. تصمیم بگیرید که وقتی یادگیری تموم شد قادر به انجام چه چیزایی باشید. بعد اون مهارت رو بررسی کنید و تبدیلش کنید به تیکه های کوچکتر و‌کوچکتر.بیشتر چیزایی که ما به عنوان مهارت می بینیم در واقع مجموعه بزرگی از مهارت های مختلف هستن. هرچی بیشتر بتونیم اون مهارت رو به قسمتهای جزیی تر تقسیم کنید بیشتر قادر به این هستید که تصمیم بگیرید که کدوم قسمت ازین مهارت ها هستن که بهتر شمارو کمک میکنن تا به اون چیزی که میخوایید برسید اونوقت میتونید اون چیزهارو اول تمرین کنید و اگر اول چیزهای مهم تر رو تمرین کنید قادر خواهید بود کارایی تون رو توی کمترین زمان بهتر کنید.۲- انقدری یاد بگیرید که بتونید خودتون رو تصحیح کنید.  ۳-۴ تا منبع در مورد چیزی که میخوایید یادبگیرید پیدا کنید، ولی ازونا به عنوان راهی که تمرین کردن رو به تعویق بندازه استفاده نکنید. مثلا ۲۰ تا کتاب انتخاب نکنید! کاری که باید بکنید اینه که به اندازه ایی یاد بگیرید که بتونید تمرین کنید و اشتباهات خودتون پیدا کنید و همزمان با تمرین اونهارو درست کنید. این تمرین تبدیل میشه به راهی که برای بهتر شدن در اینکه وقتی اشتباهی مرتکب میشیم متوجهش بشیم و بعد یه کار متفاوت انجام بدیم.۳- موانع یادگیری رو بردارید. از چیزایی که باعث حواس پرتی شما میشن دور بشید . تمام چیزی که توی این راه هست باید شمارو ترغیب کنه که بشینید اون کارو انجام بدید. هرچقدر بیشتر بتونید عزم و اراده تون رو بیشتر کنید تمرین با کیفیت تری خواهد بود.۴- حداقل ۲۰ ساعت تمرین کنید.حصار ضعف و ناکامیبه نظر من این نرمال هست که در شروع یادگیری وقتی «چیزی در مورد یک مهارت ندونیم و خودمون هم اینو بدونیم» حس بدی داشته باشیم. این وضعیت واقعا اذیت کننده هست. ما دوست نداریم احساس ندونستن کنیم. درست‌‌تر اینه دوست نداریم احساس خنگ بودن بکنیم. میشه گفت یکی از مهمترین موانع برای اینکه ما بشینیم اون کارو درست و با کیفیت انجام بدیم  یه عامل احساسی هست. پس وقتی این قرار با خودتون میذارید که حداقل ۲۰ ساعت روی یه مهارت وقت بذارید میتونید به اون مانع اولیه غلبه کنید و اندازه ایی پای یادگرفتن بشینید که نتیجه مثبتش رو ببینید. همین واقعا قرار نیست آپولو هوا کنیم!در واقع برای یاد گرفتن هر مهارت جدیدی نیاز به یک ظرفیت خنگ بودن هست. آگاه بودن به این موضوع که اوایل یاد گرفتن هرچیزی چه حسی داره مارو آزار میده میتونه باعث بشه که بتونیم ازش رد بشیم، حداقل ۲۰ ساعت طاقت بیاریم!تا اینجا یک نگاه کلی به دیدگاه نوروساینس نسبت به مساله یادگیری داشتیم، توصیه هایی ازش خوندیم و در مورد یک نظریه که چقدر زمان برای رسیدن به یک سطح اولیه از تسلط کافی هست صحبت کردیم.بخش پایانی رو به این میپردازم که: اگر بخواییم چیزی رو عمیق‌تر و حرفه‌ایی‌تر یاد بگیریم چطور؟من توی جستجوهام به فریم وورک هایی رسیدم که فرایند یادگیری عمیق رو ساختارمندتر میکنن.معروف ترین اونها «بلوم تکسونومی» هست.این فریم‌ورک توسط آقای «بلوم» که روانشناس آمریکایی حوزه آموزش بودن برای کمک به مربیان و طراحان آموزشی به وجود اومده تا به طور سیستماتیک اهداف یادگیری را تعریف و ساختاردهی کنه. همینطور از این طریق برای ارزیابی میزان یادگیری و درک دانش‌آموزان یک ابزار استاندارد داشته باشن. دلیل اصلی ایجاد بلوم تکسونومی، نیاز به یک سیستم مشخص برای تعیین عمق و کیفیت یادگیری بود.طبقه‌بندی بلوم یا همان بلوم‌تاکسونومیاین فریموورک یادگیری را به شش سطح مختلف تقسیم می‌کنه که از سطح پایه (یادآوری و درک مفاهیم) شروع و به سطح‌های پیچیده‌تر (مثل تحلیل، ارزیابی و خلق) می‌رسه. این فریم‌ورک به کمک مربی‌ها اومد تا اهداف یادگیری را بر اساس سطوح مختلف شناختی طراحی کنن و مطمئن بشن که یادگیری تنها در حد حفظ کردن مطالب نمی‌مونه.مراحل اصلی طبقه‌بندی بلوم به ترتیب پیچیدگی:دانش (Knowledge): یادآوری و حفظ اطلاعات ساده مثل تعریف‌ها و اصطلاحاتدرک (Comprehension): درک مفاهیم و توضیح آنهاکاربرد (Application):  آموخته‌ها در موقعیت‌های جدید به کار گرفته میشن و مفاهیم در مسائل یا مثال‌های عملی استفاده میشن.تجزیه و تحلیل (Analysis): اطلاعات به بخش‌های کوچک‌تر تقسیم میشن و روابط بین آن‌ها شناسایی میشن. هدف از این مرحله، درک ساختار و الگوهاست.ارزیابی (Evaluation): بالاترین سطح که ارزش یا اعتبار مفهومی ارزیابی میشه، مثل مقایسه ایده‌ها و نتیجه‌گیری.ترکیب (Create): در این سطح، شخص اطلاعات را ترکیب می‌کند و به ایده‌های جدید دست می‌یابد. مثلاً طرح یا نظریه‌ای جدید ارائه می‌ده.من به معرفی و توضیح مختصری از این فریم وورک بسنده میکنم و این پست رو به پایان میرسونم.امیدوارم مطالب برای شما مفید بوده باشه.از اینکه تا اینجا همراه من بودین سپاسگزارم و صمیمانه پذیرای نظرات و تجربه های شما هستم.</description>
                <category>طاهره غلامی</category>
                <author>طاهره غلامی</author>
                <pubDate>Tue, 12 Nov 2024 01:19:36 +0330</pubDate>
            </item>
                    <item>
                <title>زندگی ساده شده‌ی برنامه‌نویسی</title>
                <link>https://virgool.io/mahsa-shahnavazi/%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%B4%D8%AF%D9%87-%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-wggcxspm04so</link>
                <description>عکس قرضی است :دیشاید بشه گفت هر کسی که برنامه‌نویس شد یه روزی با یه نخ نامرئی وصل شد به یه عالمه معما  که هرچی حلشون میکردی و کنار هم میذاشتی تموم نمیشد، با یه عطش بی‌انتها برای یادگرفتن و یه عالمه کنجکاوی.یه روزایی خیلی خوب و سرخوش از ساختن چیزها، روزهایی هم سردرگم و خسته از پیدا نکردن راه‌حل یا نفهمیدن مشکل.میخوام کوتاه از درس بزرگی که شغلم بهم داد حرف بزنم.از «ساده کردن مسائل»من توی کارم یاد گرفتم اگر فرایندی داره خیلی پیچیده میشه، احتمالا راه حل بهینه نیست و باید راجع‌بهش فکر کرد و حرف زد و عوضش کرد.یادگرفتم یه بخش قابل توجهی از انرژی ذهنیم رو برای این بذارم که هرچیزی رو که میخوام انجام بدم ساده ترش کنم، اونم به روش های مختلف.گاهی لازمه خوردش کنم، هر بخش رو انجام بدم و بعد ارتباط بینشون رو پیاده سازی کنم.گاهی باید روش‌هایی که توی ذهنم از مدتها پیش نقش بسته رو زیر سوال ببرم، به روزشون کنم و بدونم که با گذشت زمان و امکانات جدیدی که به ابزارهای کارم اضافه میشه احتمالا میشه بهتر عمل کرد.گاهی لازمه کمک بگیرم، لازمه یه آدم با تجربه‌تر توی اون زمینه بهم سرنخ بده، ذهنم رو روشن کنه.و بیشتر وقتها لازمه که جستجو کنم، اونقدر زیاد که یا راه حل پیدا کنم یا پازل‌های ذهنیم کنارهم قرار بگیره و منو ببره سمت جوابم.همه‌ی این راه‌ها منو یاد زندگی میندازه. احتمالا بگید خیلی فلسفی شد، نمیدونم متاسفانه علاقه‌ایی به فلسفه ندارم ولی یادگرفتن passion من محسوب میشه و ربط دادن همه‌ی این موضوعات به زندگی هم کار ذهنمه، کدوم بخش دقیقا نمیدونم. بله، من فهمیدم یه سری حقیقیت (یا نمیدونم اسمشو چی بذارم)، توی دنیا هست که ممکنه خیلی جاها صدق کنه. مثل همین «ساده کردن مسائل» برای حل کردنشون.</description>
                <category>طاهره غلامی</category>
                <author>طاهره غلامی</author>
                <pubDate>Thu, 16 Sep 2021 03:36:04 +0430</pubDate>
            </item>
                    <item>
                <title>بچه ها می فهمن</title>
                <link>https://virgool.io/@tahereg/%D8%A8%DA%86%D9%87-%D9%87%D8%A7-%D9%85%DB%8C-%D9%81%D9%87%D9%85%D9%86-cxo10mutwrdp</link>
                <description>این پست حرفهای کسی هست که درحال شناخت خودش و دنیای خودشه و تو مسیرش فهمیده که دنیای بچه ها چقدر شکننده و آسیب پذیره. بیاید چند دقیقه به اون شیطنتت بی اندازه ی بچه ها فکر نکنیم که بتونیم یه جور دیگه به دنیاشون نگاه کنیم :دیحتما براتون پیش اومده که تو موقعیت هایی، احساساتی تجربه کردین که ناخوشایند بوده. به طور کلی اگر کسی ازتون می پرسید حالت چطوره؟ اگر میخواستید صادقانه جواب بدین، میگفتید خوب نیستم، یا حالم خوب نیست. اما شاید کمتر میدونستیم که «حالم خوب نیست» یعنی چی؟چه اتفاقی در من داره می افته و دلیل ناراحتی من چیه؟ اگه نمیتونم دقیقا بگم که چمه پس این حس من یه لایه ی ظاهریه واسه چیزی که خیلی نمیدونم چیه. دقیقا چه احساسی داره تجربه میشه؟ خشم/ غم/ نیاز به نوازش/ حسادت/ نیاز به توجه بیشتر/....اینکه مسئولیت احساسات ما باخودمونه نه کس دیگه، خیلی بحث گسترده اییه که من خودم هنوز اول راهمو درحال تمرین و یادگرفتنم. گاهی حتی پذیرشش تو مواردی سخت میشه.اما چیزی که من مدتیه باهاش مواجه شدم، اینه:بچه ها تو مواجه شدن با مسائل دنیا، یه دید کاملا کودکانه دارن. تجربه شون خیلی محدوده و دنیاشون خلاصه میشه به پدر و مادر و معلم و آدمهای نزدیک بهشون.یه «ولی» خیلی بزرگ دارم اینجا، اونم اینکه بچه ها شهود بالایی دارن. لطفا لطفا اگر بچه دارید یا با بچه ها مواجه میشید، هیچ وقت هیچ وقت فکر نکنید بچه ها چیزی رو نمیفهمن/نفهمیدن.بچه ها با اون فهم کودکانه خودشون همه چیز رو میفهمن. با همون دنیای کودکانه برای خودشون نتیجه گیری میکنن و یه سری فکت برای خودشون میسازن. که ممکنه خیلی با چیزی که هست متفاوت باشه و این واقعا تو شخصیت آینده شون، ارتباطاتشون و آدمی که میشن تاثیر گذاره.با بچه ها حرف بزنیم و بابت همه چیز بهشون توضیح بدیم.اگر شما وارد فرایند تراپی شده باشید، این حرف من رو خیلی خوب درک میکنید.اگر بدقولی میکنید، اگر موضوعی که انتظارشو دارید و بچه تون هم منتظرش بوده اتفاق نمی افته، اگر یه تجربه غم انگیزی تو خانواده اتفاق می افته یا هزاران مثال دیگه. خواهش میکنم با بچه ها حرف بزنید و براشون توضیح بدین. نذاریم تو دنیای کودکانه خودشون تنها باشن، غمگین بشن و ندونن دلیل واقعی یه سری موضوعات چیه. نذاریم بچه ها به خودشون حس بدی پیدا کنن و بهشون این فضا رو بدیم که شجاعت اینو داشته باشن که از ترس ها و نگرانی هاشون حرف بزنن.</description>
                <category>طاهره غلامی</category>
                <author>طاهره غلامی</author>
                <pubDate>Tue, 28 Jul 2020 01:32:51 +0430</pubDate>
            </item>
                    <item>
                <title>۹۸ سالی بدون عنوان</title>
                <link>https://virgool.io/@tahereg/%DB%B9%DB%B8-%D8%B3%D8%A7%D9%84%DB%8C-%D8%A8%D8%AF%D9%88%D9%86-%D8%B9%D9%86%D9%88%D8%A7%D9%86-inlnz0wzk9jb</link>
                <description>امروز ۲۳ اسفند ۹۸، وقتی این متن رو می نویسم ساعت حدودا ۹ صبحه، پنجره بازه، هوا فوق العاده ست با اون نسیم معروف بهاری و من روزم رو خیلی خوب شروع کردم. این حال و هوای من تو سه هفته ی گذشته سابقه نداشته، میخوام ازین فرصت استفاده کنم و تو اولین پستم راجع به سال ۹۸ بگم.میون تموم بد و بیراه هایی که به امسال میگیم، میخوام برای خودم یکم متفاوت بهش نگاه کنم.جدای همه غصه و رنجی که بهمون متحمل شد ۹۸ برای من از یه سری جهات سال خوبی بود.چند روز پیش که داشتم عملکردم توی امسال رو ارزیابی میکردم، به خودم نمره قابل قبول نسبتا خوبی دادم.۹۸ برای من ادامه ی دوستی های خوب بود. اگرچه گاهی دوریم، گاهی خیلی مشغول زندگی های شخصی مون هستیم و این گاهی آزارم میده ولی پذیرفتن همین موضوع جزو اتفاق های خوب امسال بود. سفرهای خوب و تجربه های جدید و تصمیم های به موقع. علاوه بر تصمیم های شخصی به موقعی که گرفتم و قاطعیت بیشتری که قبلا کمتر توی خودم سراغ داشتم، وقتی به خودم اومدم که شجاعانه تر از قبل بودن.پر بود از حرفهای خوب، و شاید بهره برداری از تلاش دو سال قبلش. تلاش روی توسعه فردی و تلاش های دیگه مثل کار و یادگیری.واسه کسایی مثل من که آرزوهای بزرگ دارن ولی همراهش یه ترس هایی هم بیخ گوششون هست، بیرون زدن از منطقه ی امن کار ساده ایی نیست، توش موندن هم رنج داره. من انجامش دادم ازش بیرون زدم و به مرحله ی « هریه ترس و صد بار بکش!» رسیدم و حالا چندین و چندبار نیاز دارم انجامش بدم.انگار یه چیزایی خوب سرجاش قرارگرفته، آرامش درونیم بیشتره و صلح پایدارتری دارم.من تو یه رقابت خیلی خوبی با خودم هستم، با سرزنش کمتر، حمایت بیشتر و پشوانه ی بهتر از طرف خودم. شهریور به یه تیم خیلی خوب اضافه شدم.ما استارت یه پروژه رو زدیم که از وقتی شروعش کردیم مصادف شد با بدترین اتفاق های ۶ ماه اخیر. با هر اتفاق، بعدش قوی تر و محکمتر ادامه دادیم مثل همه ی تیم های دیگه، مثل همه اونایی که عاشق ساختن و یاد گرفتن هستن.۶ ماهی که قد چند سال گذشت ولی دلم نمیاد بگم ۹۸ لعنتی..این روزها قلبم چند تکه ست و هر تکه پیش کسایی که دغدغه ی سلامتیشون دارم.و چند روزه که درگیر مفهوم پذیرشم. به معنای پذیرفتن شرایط و آدمها و اتفاق ها همونطوری که هستن، نه ترسناکتر، نه بزرگتر، نه افتادن تو یه لوپ بی نهایت ، نه رسیدن به بن بست، نه خوش خیالی بیجا و نه تلاش برای کنترل چیزهایی که در کنترلم نیستن. پذیرش به این معنا کار خیلی سختیه و به نظرم حتی توی عمل سختتر از تعریفش هست.موسیقی، هوای این روزها، بودن در کنار خانواده، یادگیری و فکر کردن و درگیر کردن ذهن با چیزایی که بهشون علاقه دارم، انتخاب من برای گذشتن ازین روزهاست. که اگر قرار شد بعدش نباشم این مدت خوش گذشته، و اگر بودم قوی تر از قبل شدم چون روزهای بعد این روزها واسه رسیدن به تک تک چیزایی که توی بورد رو دیوار اتاقم هست راه پر فراز و نشیبی خواهم داشت. </description>
                <category>طاهره غلامی</category>
                <author>طاهره غلامی</author>
                <pubDate>Fri, 13 Mar 2020 10:57:34 +0330</pubDate>
            </item>
            </channel>
</rss>