<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Ali Zangiabadi</title>
        <link>https://virgool.io/feed/@zangulii</link>
        <description>ISFJ</description>
        <language>fa</language>
        <pubDate>2026-06-16 12:51:55</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/245164/avatar/bQ6U2K.jpg?height=120&amp;width=120</url>
            <title>Ali Zangiabadi</title>
            <link>https://virgool.io/@zangulii</link>
        </image>

                    <item>
                <title>ایجاد تعادل در زندگی با استفاده از نوشتن</title>
                <link>https://virgool.io/@zangulii/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D8%AA%D8%B9%D8%A7%D8%AF%D9%84-%D8%AF%D8%B1-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%86%D9%88%D8%B4%D8%AA%D9%86-duixz1lqbvpg</link>
                <description>من سعی کردم مقاله ای رو در مدیوم خوندم رو براتون به فارسی ترجمه کنم. برای ترجمه هم از گوگل کمک گرفتم :-)با استفاده از الگوی چهار عنصر ، آموختم که چگونه از تکنیک های نوشتنی خاصی برای ایجاد تعادل مجدد در زندگی خود استفاده کنم.تعادل در زندگی یکی از پرطرفدارترین حالت هایی است که باید به آن دست یافت-و یکی از سخت ترین آنهاست. شما در نهایت ممکن است از تنبلی را وارد مرحله ای از بهره وری بشوید، اما اگر آن را بیش از حد پیش ببرید و به فرسودگی میرسید. در مقابل شما سعی میکنید شنونده بهتری شوید و زمان بیشتری را با دوستان خود بگذرانید ، اما در نهایت از خود غافل می شوید.وقتی یکی از دوستانم روش جدیدی از تعادل را بر اساس چهار عنصر به من معرفی کرد ، من بلافاصله ارزش آن را به عنوان ابزاری برای کمک به ارزیابی آنچه در زندگی من ناخوشایند است و آنچه می توانم برای بازگرداندن تعادل خود انجام دهم ، مشاهده کردم.من این مفهوم را فهمیدم و همانطور که در زندگی روزمره ام تجربه کردم و آن را آزمایش کردم ، توسعه آن را شروع کردم. در نهایت ، من به چیزی بیشتر از تشخیص آنچه خارج از تعادل بود نیاز داشتم. چیزی که به آن رسیدم راهی برای ادغام این روش جدید در عادت نوشتن من بود. در این مقاله ، نحوه انجام این کار را نیز به شما نشان خواهم داد.عناوین:1- تعادل به عنوان یک سیستمآتش: قدرت ، عملآب: احساسات ، ناخودآگاهزمین: ساختار ، زمین سازیهوا: حکمت ، آگاهی2- ایجاد یک عادت خوب3- شیوه های نوشتن برای تعادل روزانه ، انعطاف پذیری و رشدآتش: قدرت ، عمل1. تعیین اهداف2. تاییدیه ها3. جشنآب: احساسات/ناخودآگاه1. خیالپردازی2. سوالات شبزمین: زمین/ساختار1. برنامه ریزی و اقدامات تاثیرگذار2. ردیابی عادتهوا: حکمت/عقل1. درسهای 30 ثانیه ای2. صفحات صبح تعادل فعل است ، نه اسم1- تعادل به عنوان یک سیستمبه دست آوردن تعادل لحظه ای با انجام تعدیل سریع ، نسبتاً آسان است. اما برای حفظ آن به طور منظم تلاش می شود.مثل این است که تلاش زیادی کنید تا یک توپ واقعاً سنگین را به بالای تپه ای بلند برسانید ، اما وقتی به آنجا رسیدید اجازه دهید به طرف دیگر سقوط کند.به جای اینکه به تعادل به عنوان یک نقطه واحد در بالای تپه فکر کنم ، یاد گرفتم که آن را به عنوان یک سیستم تعاملی در نظر بگیرم.چندی پیش ، یکی از دوستانم تصویری را به من نشان داد که همه چیز را تغییر داد:او به من گفت این چهارگوش &quot;چرخ دارو&quot; نامیده می شود ، سیستمی که قبلاً قبایل بومی برای راهنمایی و دعا از آن استفاده می کردند. او به من توضیح داد که چگونه هر ربع با یکی از چهار عنصر مطابقت دارد ، که به نوبه خود با ویژگی های خاص زندگی مطابقت دارد:اقدام آتش سوزیاحساسات آبساختار زمینهوای خرددوستم از صحت توضیحات خود در مورد ریشه های این سیستم چهارگوش مطمئن نبود. در حقیقت ، این ایده فرهنگهای زیادی را در بر می گیرد: برخی آن را عناصر ، برخی دیگر مختصات جغرافیایی ، برخی دیگر فصلها ، و رنگها یا سیارات می نامند. اما آنچه برای من مهم بود نحوه استفاده از آن بود:&quot;وقتی احساس می کنید تعادل ندارید ، بررسی کنید که چه مقدار از ربع بیشتر است. سپس ، فعالیتی را انجام دهید که چرخ را به طرف مورب معکوس متصل می کند. &quot;این تولد یک روش جدید &quot;تعادل&quot; برای من بود. اگر به انرژی یا خلق و خوی خودم مربوط می شدم که مربوط به چهار ربع چرخ است ، می توانم بفهمم که چگونه با حرکت دادن آن به سمت مرکز ، دوباره توازن ایجاد کنم. چهار گوشها مستقیماً به هم متصل شده و به صورت مورب مکمل هستند ، و من می توانم با انتخاب آگاهانه اعمال خود بین آنها حرکت کنم.در اینجا چرخه فعلی من و نحوه تعریف هر ربع است:در اینجا نحوه تجربه هر یک از چهار مورد و فعالیتهایی است که مرا به هر ربع نزدیک می کند:آتش: قدرت ، عملوقتی در تعادل هستم ، احساس می کنم مولد ، پرانرژی ، در کنترل ، با انگیزه زیاد هستم. حالت &quot;پرشور&quot;وقتی این ربع بیش از حد باشد ، احساس خستگی ، فرسودگی ، تحریک می کنم. من ممکن است برای دستیابی به موفقیت بیش از حد احساس فشار کنم - نوعی اعتیاد به عمل.فعالیتهایی که این ربع را تشدید می کند عبارتند از:تمرینات بدنی (به ویژه یوگا ، دویدن و رقص) ،تماشای فیلم های انگیزشی ،دراز کشیدن زیر آفتاب ،تمرینات تنفسیآب: احساسات ، ناخودآگاههنگامی که همه چیز در تعادل است ، احساس می کنم الهام می گیرم ، با احساسات خود در ارتباط هستم و در روابط و اجتماعم متصل می شوم. احساس خلاقیت می کنم!اگر این قسمت بیش از حد باشد ، احساس می کنم در احساساتم غرق شده ام. ممکن است احساس کنم که نمی توانم منطقی فکر کنم . من بیش از حد احساساتی می شوم: عصبانی ، مضطرب ، غمگین ، گریه و غیره.فعالیتهایی که انرژی یا وزن این ربع را افزایش می دهد عبارتند از:به اشتراک گذاشتن احساساتم با عزیزان/آسیب پذیر بودن ؛فعالیتهای خلاقانه مانند نوشتن ، طراحی ، و غیره.مشاهده احساسات من در مدیتیشن ؛انجام اعمال محبت آمیز نسبت به دیگرانزمین: ساختار ، زمین سازیاگر چهار گوشه زمین من با سایرین متعادل باشد ، احساس امنیت و ثبات می کنم. منظم و راحت به نحو احسن احساس می کنم با محیط و دنیای اطرافم هماهنگ هستم.اما اگر این مقدار بیش از حد باشد ، احساس تنبلی ، گیرکردن ، بی حالی - ناامید و ناتوان می کنم.فعالیتهایی که به من ساختار و پایه بیشتری می بخشد عبارتند از:برنامه ریزی؛سازماندهی و نظافت  وسایل من ؛انواع استراحت ؛فعالیتهای مراقبت از خود آگاهانه.هوا: حکمت ، آگاهیوقتی این ربع با عناصر دیگر در تعادل است ، من وضوح و جهت فوق العاده ای احساس می کنم. من یک یادگیرنده سریع می شوم و با خدا احساس ارتباط می کنم.اگر این مقدار بیش از حد باشد ، من مستعد فکر بیش از حد و گیر افتادن در سر خودم هستم. من در تنظیم احساساتم مشکل دارم و بیش از حد بدبین می شوم.فعالیتهایی که می تواند مرا به سمت این ربع بکشاند عبارتند از:خواندن مطالب با کیفیت خوب ،پیاده روی طولانی به تنهایی ،گذراندن وقت در فضاهای باز ،نوشتن/پردازش افکار و ایده های منهرچه بیشتر این روش را در تجربه خود به کار می بردم - مخصوصاً وقتی احساس می کردم تعادل ندارم - این بیشتر منطقی بود و نحوه بازگشت به تعادل آسان تر می شد.با این حال ، انجام آن فعالیتها به عنوان یک راه حل لحظه ای همیشه عملی نیست. گاهی اوقات احساس خستگی بیش از حد برای دویدن دارم. در مواقع دیگر ، هیچ یک از دوستانم در دسترس نیستند تا وقتی نیاز دارم به من گوش دهند.همچنین ، من بیش از یک راه حل میخواستم تا &quot;تعادل&quot; خود را بهبود دهم. به هر حال ، رساندن توپ به بالای تپه آسان است ، درست است؟چیزی که می خواستم این بود که مطمئن شوم توپ برای مدت طولانی تری در بالا می ماند. در صورت امکان ، می خواستم این تعادل به وضعیت موجود من تبدیل شود.ایجاد یک عادت کلیدیکتاب چارلز دویگ ، قدرت عادت ، یک عادت کلیدی را به عنوان عادتی تعریف می کند که باعث ایجاد بسیاری از عادت های دیگر در کنار آن می شود.تصور کنید شخصی هر روز شروع به مدیتیشن می کند. ناگهان او کمتر عصبانی می شود و روابطش بهبود می یابد. او همچنین احساس هماهنگی بیشتری با بدن خود دارد، بنابراین پرخوری را متوقف کرده و سیگار را ترک می کند. ناگهان کل روال زندگی آن شخص تغییر کرده است - فقط به دلیل یک عادت.من تصور می کردم که می توانم از همان اصل برای دستیابی و حفظ تعادل به عنوان یک برنامه روزانه استفاده کنم.به نظر می رسد که نوشتن وسیله ای عالی برای دستیابی و حفظ تعادل است زیرا:این کاری است که من هر روز انجام می دهم - در افزودن آن به روال عادی خود احساس مقاومت نمی کنم.این برنامه انعطاف پذیر و قابل تنظیم است - همانطور که در زیر خواهید دید ، روش های مختلفی برای پرداختن به هریک از چهار چهارگوش از طریق نوشتن وجود دارد.این به عنوان یک عادت کلیدی عمل می کند - هر روز تعادل را در آگاهی من ایجاد می کند ، از عادات دیگر حمایت می کند و آن را در زمینه ها و فعالیت های دیگر گسترش می دهد.شیوه های روزنامه نگاری برای تعادل روزانه ، انعطاف پذیری و رشداز زمانی که روال نوشتن روزانه خود را با الگوی جدیدم مطابقت دادم و روشهای کوتاه اما موثری را در نظر گرفتم که هر روز آگاهی من را در هر ربع چرخ به ارمغان می آورد ، تغییرات فوری در زندگی من شروع شد.تمریناتی که در زیر ذکر کردم احتمالاً برای شما تازگی ندارد ، اما چیزی که آنها را قدرتمند می کند این است که می توانید آنها را برای ایجاد تعادل ، آگاهی و انعطاف پذیری بهینه ترکیب کنید.هر روز ، حداقل یک تمرین را در هر یک از این دسته ها در برنامه روزانه نوشتن خود قرار می دهم. می توانید یکی یا چند مورد را انتخاب کنید - یا اگر فکر می کنید به تعادل شما کمک می کند ، مورد خود را اضافه کنید.آتش: قدرت ، عملاگر می خواهیم رشد کنیم و پیشرفت کنیم ، باید خوب عمل کنیم. برای انجام این کار ، ما نیاز به انگیزه ، هدف و انرژی داریم. این همان چیزی است که شیوه های این بخش در مورد آن است.1. تعیین اهداف&quot;اگر می خواهید شاد باشید ، هدفی را تعیین کنید که به افکار شما فرمان می دهد ، انرژی شما را آزاد می کند و امیدهای شما را القا می کند.&quot; - اندرو کارنگییکی از مواردی که بیشترین انگیزه را برای حرکت به شما می دهد این است که بدانید با هدفی کار می کنید و هدف را در نظر دارید.در اینجا یک تمرین وجود دارد که به شما در دستیابی به آن کمک می کند:به 3 یا 4 زمینه اصلی مختلف در زندگی خود فکر کنیدهدفی را که می خواهید برای هر یک از آنها در 3 ماه آینده به دست آورید (مانند ورزش 4 روز در هفته ، بهبود زندگی جنسی با شریک زندگی یا ارتقاء درجه) انتخاب کنید.آنها را در صفحه ای از مجله خود بنویسید.سپس ، هر روز صبح ، لحظه ای به اهداف خود نگاه کنید و درباره هر یک چیزی بنویسید. در مورد احساس خواندن مطالب ، ایده هایی که باید برای رسیدن به آنها کمک کنید ، دلایل انتخاب این اهداف و انگیزه شما در مورد هر کدام بنویسید.ممکن است متوجه شوید که از اهداف فعلی خود راضی نیستید. در مورد آن نیز بنویسید ؛ همچنین می توانید از این زمان برای تجدید نظر آنها استفاده کنید.2. ادعا ها&quot;اگر نمی دانید کجا می روید ، به جای دیگری خواهید رسید.&quot; - یوگی برابه گفته استفان کاوی ، ادعاها در صورتی که معیارهای زیر را برآورده کنند می توانند یک ابزار فوق العاده قوی باشند :آنها شخصی هستند ،مثبت اند ،آنها زمان حال هستند ،بصری هستند ،احساسی هستند.هر روز صبح ، ادعایی را می نویسم که مستقیماً به موارد زیر مربوط می شود:اهداف و وظایف من (به عنوان مثال: اگر بخواهم 3000 کلمه در آن روز بنویسم ، ممکن است بنویسم &quot;من یک نویسنده الهام گرفته ، درخشان ، موثر&quot; ) ، یاچیزی که آن روز احساس می کنم (مثلاً: اگر با نگرانی از خواب بیدار شوم ، ممکن است به خودم بگویم &quot;من قدرت مطلق برای تغییر شرایط فعلی خود را دارم&quot; ).پس از نوشتن آن ، اجازه می دهم آن را غرق کنم و برای یک روز به من قدرت بدهد. معمولاً سعی می کنم در طول روز آن را در نظر داشته باشم.این کار نه تنها برای ایجاد انگیزه در من ، بلکه برای ایجاد اعتماد به خود ، بسیار خوب عمل می کند و بنابراین مطابق انتظارات خودم عمل می کنم. (نوشتن و تکرار تأیید صحیح هنگام گوش دادن به psytrance قبل از شروع به نوشتن روزانه ، معمولاً استقامت بیشتری نسبت به یک فنجان اسپرسو به من می دهد - تمام کلماتی که تا کنون در این مقاله خوانده اید در یک جلسه نوشته شده است.3. جشنآیا تا به حال توجه کرده اید که وقتی به خود در آینه نگاه می کنید و از ظاهر بدن خود بسیار خوشتان می آید ، انگیزه بیشتری برای تمرین در آن روز احساس می کنید؟به گفته دان سالیوان ، بسیاری از کارآفرینان شکست می خورند زیرا آنها عادت دارند به جای تمرکز بر شکاف بین جایی که شروع کرده اند و جایی که اکنون هستند ، بر شکاف بین جایی که می هستند و جایی که می خواهند باشند تمرکز کنند.تشخیص اینکه کجا هستید و آنچه در حال حاضر دارید می تواند یکی از قوی ترین راه ها برای تقویت انگیزه قوی برای خود باشد.سالیوان می گوید برای اینکه تمرکز خود را روی اشتباه متوقف کنیم ، باید 3 برد مهم روز را هر روز یادداشت کنیم . از آنجایی که این کار را در پایان هر روز شروع کردم و صبح آن را خواندم ، متوجه شدم که در واقع بسیار بهتر از آن اضطراب تلخی هستم که قبلاً احساس می کردم - نمی توانم صبر کنم تا روزم را ادامه دهم و حتی بهتر شوم. بهیکی دیگر از راههای عالی برای تجلیل از آنچه در حال حاضر دارید تمرین سپاسگزاری است. هر روز صبح چند مورد را بنویسید که در حال حاضر از آنها سپاسگزار هستید. به طور جدی ، قدردانی دارای مزایای شگفت انگیزی است که ممکن است شما را شگفت زده کند ، مانند بهبود عملکرد فیزیولوژیکی شما ، افزایش دستیابی به هدف و کاهش مادی گرایی.آب: احساسات/ناخودآگاهبسیاری از آنچه مانع دستیابی به پتانسیل کامل ما می شود ، ناتوانی ما در مدیریت احساسات و واکنش های ما در برابر آسیب های احساسی از گذشته است. این باعث می شود ارتباط خود و روابط ما قطع شود.یکی از راه های دسترسی به احساسات ما - و همچنین تقویت خلاقیت ما - ضربه زدن به ضمیر ناخودآگاه ما است. این تمرینات مربوط به انجام این کار است.1. خیالپردازی&quot;تا زمانی که ناخودآگاه را آگاه نکنید ، زندگی شما را هدایت می کند و شما آن را سرنوشت می نامید.&quot;- سی جی یونگوقتی رویا می بینیم ، ضمیر ناخودآگاه ما تحت کنترل است. بنابراین ، رویاها فرصتی عالی برای یادگیری چیزهایی است که مغز هوشیار ما هنگام بیدار شدن آنها را سرکوب می کند.از زمانی که شروع به نوشتن رویاهایم از صبح کردم ، درک بیشتری از احساساتم پیدا کردم.به عنوان مثال ، من اغلب با احساس اضطراب از خواب بیدار می شوم و هرگز نمی دانم چرا. هنگامی که شروع به توجه به رویاهایم کردم ، متوجه شدم که آنها اغلب رویدادهای استرس زای روزهای گذشته را منعکس می کنند (دعوا با یکی از اعضای خانواده ، نیاز من به قدردانی از سوی کسی ، یک مسئله سلامتی که من حتی آگاهانه از آن آگاه نبودم) بهبه محض نوشتن این موارد ، به دنبال تأمل ، می توانم آنها را در چشم انداز قرار دهم و اجازه ندهم که آنها تاثیر منفی بر بقیه روز من بگذارند.رویاها همچنین منبع خوبی برای دریافت بینش خلاق هستند . سالوادور دالی با یک جسم سنگین در دست خود میگرفت و چرت میزد تا به محض ورود به خواب REM ، آن را رها کرده و با یک چشم انداز رویایی زنده در ذهن بیدار شود که برای هنر او الهام بخش باشد.گفته می شود که کشف مندلیف در مورد جدول تناوبی ، مسیر دکارت به روش علمی و ایده های جیمز کامرون برای فیلم The Terminator از رویاها الهام گرفته شده است.در گذشته ، من از رویاهایم برای اهداف خلاقانه استفاده می کردم ، اما به جای اینکه خود را مانند دالی بیدار کنم ، فقط آنها را یادداشت می کنم.چگونه یک دفتر خاطرات رویایی داشته باشیم:هر روز ، اولین چیزی که بعد از بیدار شدن از خواب بیدار می شوید ، همه چیزهایی را که از رویاهایتان به خاطر دارید یادداشت کنید.اگر در ابتدا چیزی را به خاطر نمی آورید نگران نباشید. هر چه بیشتر تمرین کنید و قصد یادآوری را تقویت کنید ، یادآوری رویاهایتان بیشتر بهبود می یابد.در نهایت ، بسیاری از جزئیات را به خاطر می آورید. اگر وقت ندارید همه چیز را بنویسید ، فقط به نکته اصلی توجه کنید و بر احساساتی که در طول رویا احساس کرده اید تمرکز کنید.2. سوالات روزانه&quot;هرگز بدون درخواست ناخودآگاه خود به خواب نروید.&quot; - توماس ادیسونهر شب قبل از خواب ، یک سوال مهم از خود بپرسید یا از ناخودآگاه خود درخواست کنید.این می تواند مربوط به یک مشکل فعلی باشد که شما با آن روبرو هستید (مثال: &quot;چرا من اخیراً اینقدر عصبانی شده ام؟ &quot;) ، یا با هدفی که می خواهید به آن برسید (مثال: &quot;فردا میخوام پر از انرژی از خواب بیدار شوم و انگیزه. &quot; )انجام این کار به ضمیر ناخودآگاه شما این امکان را می دهد که قصد شما را در طول شب پردازش کند و شانس شما را برای پاسخگویی به درخواست یا عمل به درخواست شما در روز بعد افزایش می دهد.این تکنیک اغلب به من این امکان را می دهد که با بینش خلاقانه بعد از چند روز بلوک نویسنده بیدار شوم. یک شب من چنان درخواستی قوی برای ارتباط با ناخودآگاهم ایجاد کردم که در نهایت در یک رویای روشن خود را به عنوان یک پیرزن عاقل نشان داد که به بسیاری از سوالات وجودی من پاسخ داد.زمین: زمین سازی/سازهاستراحت دشمن کار نیست. استراحت شریک کار است. آنها یکدیگر را تکمیل و تکمیل می کنند. &quot; -الکس سوجونگ-کیم پانگ ، نویسنده کتاب &amp;amp;quot;استراحت-چرا وقتی کمتر کار می کنید&amp;amp;quot;وقتی به رشد شخصی فکر می کنیم ، تمایل داریم به بهره وری و عملکرد فکر کنیم ، اما اغلب موارد مشابه آن را فراموش می کنیم: نیاز ما به استراحت ، ساختار و سازماندهی.شیوه های زیر همه در مورد ایجاد ساختارهایی است که به ما ثبات مورد نیاز برای خودجوش تر و انجام اقدامات  موثر را می دهد.1. برنامه ریزی و اقدامات تاثیرگذاراینجاست که اهداف بزرگتر خود را به مراحل قابل اجرا در اندازه کوچک تبدیل می کنید.در این مقاله ، رافائل سراندسس توضیح می دهد که اهداف باید به اقدامات تاثیرگذار (HIA) تقسیم شوند ، که اقدامات پیش بینی کننده اهداف ما هستند و 100 within در کنترل ما هستند.مثال: اگر هدف شما این است که 5 کیلو وزن کم کنید (نه کاملاً تحت کنترل شما) ، یک HIA این است که هر روز به مدت 30 دقیقه اجرا شود (کاملاً تحت کنترل شما است و مستقیماً بر هدف شما تاثیر می گذارد).به اهدافی که تعریف کرده اید فکر کنید و برای هر کدام حداقل یک HIA ارائه دهید.هر شب ، HIA را که برای روز بعد برنامه ریزی کرده اید ، مرور کنید تا روز بعد از خواب بیدار شوید و احساس کنید که چه کار می کنید ، بنابراین استرس را قبل از خواب از بین ببرید.این امر نه تنها برای HIA و اهداف ، بلکه برای کارهای روزمره ای که باید انجام دهید ، مانند مراجعه به پزشک ، پرداخت صورتحساب ها ، پاسخ دادن به ایمیل ها و غیره نیز قابل اجرا است.تیم فریس توصیه می کند که لیست کارهای شما نباید بیش از چند مورد داشته باشد ، که به طور ایده آل در یک تکه کاغذ کوچک قرار می گیرد ، به طوری که از دست یابی ناچیز احساس غرق شدن و سرخوردگی نکنید.راههای دیگر برای سازماندهی وظایف و HIA ها شامل اتصال آنها به زمینه های مختلف زندگی ، قرار دادن آنها در تقویم ، تخمین مدت زمان انجام آنها ، اولویت بندی و غیره است.از زمانی که برنامه ریزی های خود را از قبل شروع کردم و وظایف را اولویت بندی کردم ، بهره وری و تمرکز خود را به میزان قابل توجهی افزایش دادم و در مدیریت زمان به میزان قابل توجهی پیشرفت کردم (دیگر برنامه های روزهایم را بیش از حد برنامه ریزی نمی کنم ، بنابراین احساس موفقیت بیشتری می کنم زیرا تقریباً همیشه می توانم تمام کارهایم را انجام دهم) این به من احساس امنیت و آرامش عظیمی می دهد و همچنین به من اعتماد بیشتری می بخشد.2. ردیابی عادت&quot;ما آنچه هستیم که مدام تکرار میکنیم. بنابراین ، تعالی یک عمل نیست ، بلکه یک عادت است. &quot; - ویلت دورانت&quot;شما نمی توانید آنچه را که نمی توانید اندازه بگیرید مدیریت کنید.&quot; - پیتر دراکرمسلماً تنها راه بهبود واقعي خودمان پرورش عادات روزانه است كه ما را به آنجا سوق مي دهد.یکی از بهترین ابزارها برای از بین بردن عادت های بد و ایجاد عادات سالم جدید ، ردیابی آنهاست.ردیابی عادت نه تنها پیشرفتی را که تاکنون انجام داده اید به شما شفافیت می دهد ، بلکه زمینه هایی را که باید در آینده بر روی آنها کار کنید نیز به شما نشان می دهد.اگر در ردیابی عادت تازه کار هستید ، توصیه می کنم ساده شروع کنید. Minimalist Journaling ، توسعه یافته توسط Michal Korzonek ، ابزاری عالی برای ردیابی تنها موارد ضروری است در حالی که این فرآیند را بی دردسر و سرگرم کننده می کند:به اهداف خود نگاهی بیندازید (برای سهولت کار ، با یک هدف برای هر حوزه شروع کنید) ؛ایجاد عادات روزانه/هفتگی (برخی از آنها اقدامات تأثیرگذار خواهند بود) که به هر یک از آنها کمک می کند.آنها را یادداشت کنید و آن را با مربع پر کنید ، هر مربع مربوط به یک روز از زندگی شما است.برای هر عادت یک نماد انتخاب کنید ؛هر روز ، بررسی کنید که آیا این عادت را انجام داده اید و اگر چنین است - مربع را با نماد مربوطه علامت گذاری کنید.ردیابهای عادت من اخیراً به این شکل هستند.شما می توانید عادات خود را به هر طریقی که می خواهید پیگیری کنید ، اما من شخصاً این مورد را دوست دارم زیرا به من اجازه می دهد بیش از 60 روز را در یک نگاه ببینم ، و سادگی آن به من این امکان را می دهد که به راحتی اطلاعات مورد نظر خود را اسکن کنم.از زمانی که شروع به ردیابی عادات خود کردم ، موارد زیر را دارم:احساس عزت نفس بیشتری کرد ؛با استفاده از ردیاب ها به عنوان کمک بصری ، حافظه و قدرت پردازشی من بهبود یافت.به طور اساسی قوام من را در ایجاد عادات جدید بهبود بخشید: من قهوه را ترک کردم ، مدیتیشن را به مدت 45 دقیقه شروع کردم و حداقل روزانه 1000 کلمه نوشتم ، و یک برنامه تمرین هفتگی ثابت ، در میان بسیاری دیگر ، ایجاد کردم.هوا: حکمت/عقلبرای اینکه اقدامات ما تأثیر واقعی داشته باشد ، ما باید از یک روش خوب استفاده کنیم. این ابزارها به شما کمک می کند تا افکار روشن و هوشمند را تدوین کنید و همچنین دانش را برای یادگیری سریع تقویت کنید.1. درسهای 30 ثانیه ایبرای مدت طولانی ، هر زمان که چیز جدیدی آموختم ، با دانستن اینکه چگونه از آنها یادداشت برداری کنم و آنها را در ذهنم سازماندهی کنم ، مشکل داشتم تا اطلاعات را حفظ کنم. اغلب احساس می کردم از خواندن منصرف شده ام فقط به این دلیل که در یادداشت برداری همیشه مقاومت می کردم.سپس این مقاله را خواندم ، جایی که نویسنده بهترین توصیه ای را که در زندگی خود دریافت کرده است به اشتراک می گذارد:&quot;بلافاصله پس از هر سخنرانی ، جلسه یا هر تجربه مهم ، 30 ثانیه وقت بگذارید - نه بیشتر ، نه کمتر - تا مهمترین نکات را بنویسید. &quot;در حال حاضر ، به جای این که خودم را وادار کنم تا هنگام مطالعه کتاب به تک تک بینش ها توجه کنم ، 30 ثانیه وقت میگذارم تا نکات اصلی مورد بحث را پس از هر جلسه مطالعه بنویسم.این امر به طور کامل توانایی من در سازماندهی اطلاعات را تغییر داد و از آن زمان به جای اینکه سرم را با حقایق بیهوده درگیر کنم ، توانستم مهمترین اطلاعات را حفظ کنم.تحقیقات نشان می دهد که نوشتن مطالب به شما در حفظ اطلاعات کمک می کند. اگر این کار را با تمرین مهارتهای خلاصه سازی خود تنها با صرف 30 ثانیه ترکیب کنید ، مغز خود را آموزش می دهید تا سریعتر یاد بگیرد و تنها بر موارد مهم تمرکز کند.من این کار را بعد از رویدادها ، جلسات مهم و در پایان هر روز به عنوان تمرین تامل شروع کردم. نتایج؟ ایده های من برای نوشتن بی پایان است. ذهن من بسیار انعطاف پذیرتر و انعطاف پذیرتر شد ، و شیوه ای که من با آن مفاهیم کار می کنم و بسط می دهم بسیار عمیق شده است.حتی اگر هیچ چیز دیگری را در یادداشت برداری/تجمیع دانش خود تغییر ندهید ، این کار را انجام دهید. این تمرین واحد ، شیوه یادگیری شما را متحول خواهد کرد. من آن را در یک صفحه 2 صفحه ای وارد کردم:2. صفحات صبحروش توسعه یافته توسط جولیا کامرون است یکی از مهمترین شیوه های زندگی تبدیل یادداشتهای روزانه برای من بوده است.چگونه انجامش دهیم؟ ساده تر نمی شود: صبح (اولین چیزی یا بعد از روزنامه نگاری رویایی) ، دفترچه خود را باز کنید و متعهد شوید که 3 سطر را با آنچه به ذهنتان می رسد پر کنید: احساسی که دارید ، آنچه می خواهید در آن روز به آن برسید ، چیزهایی به یاد داشته باشید ، چیزهایی که نگران آن هستید و غیرهچندی پیش متوجه شدم که تعادل ندارم و به طور مداوم &quot;ربع&quot; هوا: حکمت/عقل &quot;را از دست می دهم. من وضوح نداشتم ، مغزم مه آلود بود و برای فکر کردن مشکل داشتم.ایجاد وقت صبح برای صفحات صبح یک تغییر بازی بود.تحقیقات نشان می دهد که لحظات بعد از بیدار شدن زمان روز است که مغز ما فعال ترین و خلاق ترین است. بنابراین ، به احتمال زیاد ما بهترین ایده های خود را در آن زمان دریافت خواهیم کرد.از زمانی که من این کار را شروع کردم ، به درک هایی رسیدم که قبلاً حتی به ذهنم خطور نکرده بود (مانند گام های بعدی که باید در کسب و کارم بردارم ، نحوه بهبود روابطم ، ایجاد ارتباط بین چیزهایی که ظاهراً در زندگی من قطع شده است و غیره).بنابراین هر روز صبح ، حتی اگر فقط 5 دقیقه وقت دارید ، دفترچه خود را باز کنید و بگذارید افکار شما به صفحه منتقل شوند. اگر نمی دانید در مورد چه چیزی بنویسید ، یک روز سوال یا یک پیام را بنویسید و وقتی از خواب بیدار شدید به آن پاسخ دهید.تراز فعل است نه اسم&quot;زندگی مثل راندن یک دوچرخه است. برای اینکه تعادل خود را نگه دارید باید به حرکت ادامه دهید.&quot;-آلبرت انیشتیندر این مقاله ، من روش های یادداشت را به شما نشان دادم که برای رسیدن به یک حالت متعادل پایدار برای من بهترین کار را کرده است.این بدان معنا نیست که صدها مورد دیگر وجود ندارد که ممکن است برای شما به همان اندازه خوب یا حتی بهتر باشند. می خواهم توجه شما را به این واقعیت برگردانم که این روش چهار بعدی می تواند-و باید-بسیار بیشتر از نوشتن باشد. این شیوه های نوشتن به عنوان اولین قطعه دومینو عمل می کند ، یک قطب نما برای راهنمایی شما هنگام شروع فرایند ایجاد تعادل بیشتر در زندگی روزمره ، فعالیت ها ، روابط ، تصمیمات ، برنامه های معمول شما.این چیزی است که برای من اتفاق افتاد. پس از توجه به تعادل از طریق نوشتن ، شروع به میل ترکیبی متعادل تری از فعالیت های دیگر در زندگی روزمره کردم.امروزه ، اگر یک روز کامل را در خانه بگذرانم ، می دانم که باید بیرون بروم. اگر چند ساعت بدنم را تکان ندهم ، می دانم که باید رقص یا دویدن داشته باشم. بعد از یک روز کامل در محل کار ، مشتاق پیاده روی طولانی ، مدیتیشن یا زمانی هستم که با دوستانم گذرانده ام. وقتی احساس می کنم در سر خودم گیر کرده ام ، به طور شهودی می دانم که کلید نقاشی ، طراحی یا دوش آب سرد است. بازگشت به تعادل به یک رفتار خودکار تبدیل شده است - شهودی ، بدون تلاش و واضح.مانند هر عادت خوب دیگری ، توجه به تعادل و انتخاب تکنیک های روزنامه نگاری برای تقویت آن باعث ایجاد تعادل بیشتر در زندگی من به طور کلی شده است.همچنین ، می خواهم به این نکته اشاره کنم که منظور من از تعادل این است که همیشه احساس خوشبختی نکنید ، یا اینکه همه مشکلات برای همیشه از بین بروند.منظور من این است که این تمرین به من نوعی شروع به کار در مورد چیزهایی می کند که شروع می شود. مشکلات و احساسات زشت هنوز ظاهر می شوند ، اما تعادل به حالت پیش فرض من تبدیل می شود ، حالتی که همیشه در پایان - یا ابتدای روز - به آن برمی گردم.و نکته این نیست که برای همیشه در تعادل بمانید ، بلکه این است که دوره های تعادل را هر بار طولانی تر و طولانی تر کنید. مانند مدیتیشن است: ذهن شما همیشه سرگردان خواهد بود ، اما هرچه بیشتر تمرین کنید ، سریعتر توجه خود را به نفس باز می گردانید و مدت بیشتری می توانید در آنجا بمانید.خواه بخواهید ابزارهای این مقاله را در زندگی خود به کار بگیرید یا خیر ، به یاد داشته باشید که مهمترین قسمت زندگی متعادل این است که بپذیرید هر چند وقت یک بار ناگزیر دچار افراط و تفریط خواهید شد.و این پاییز نیست که اهمیت دارد ، بلکه چقدر طول می کشد تا دوباره بلند شوید.</description>
                <category>Ali Zangiabadi</category>
                <author>Ali Zangiabadi</author>
                <pubDate>Fri, 24 Sep 2021 01:46:37 +0330</pubDate>
            </item>
                    <item>
                <title>استفاده از FCM در وب اپلیکیشن ها</title>
                <link>https://virgool.io/@zangulii/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-fcm-%D8%AF%D8%B1-%D9%88%D8%A8-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-%D9%87%D8%A7-z0z0dw72ijyf</link>
                <description>در این مقاله میخوام با استفاده از ویو جی اس firebase cloud messaging را با هم تست کنیم.اولین کاری که باید بکنیم اینه که بریم تو firebase console یدونه پروژه درست کنیم. توی گوگل بزنین console.firebase اولین نتیجه معمولا میادمن قبلا ی پروژه ساختم و روند ساخت پروژه هم خیلی سادست واسه همین وارد نمیشم اما بعد از ساخت پروژه باید ی اپ به پروژه اضافه کنیم با کلیک روی گزینه Add appهمینطور که میبینید من قبلا یکی ساختم به اسم testfcmبه محض اینکه اپ رو بسازید بهتون credential ها رو میده که مهمترین چیزی که تو این تصویر هست firebaseConfig که در ادامه نیازمون میشه. میتونید همینجا کپیش کنید.حالا به اگه باز به firebase console برگردین اپتون ساخته شده!اینجا با کلیک کردن روی اپ ی منو باز میشه:روی icon تنظیمات کلیک کنید. وارد این قسمت که بشید ابتدا روی تب general هستین. حالا اگه اسکرول کنید پایین باز هم همون credential هارو که کپی کردین میتونید ازینجا هم کپی کنید.خب تا اینجا ی پروژه ساختیم ی اپ وب هم توی پروژه ساختیم.قبل از اینکه شروع کنیم لازم میدونم ی نکته رو بگم: حتما ریپازیتوری کامل این مقاله رو به ادرس: https://github.com/alizangiabadicode/simple-push-fcm-vue-js کلون کنید. چرا؟ چون که من خیلی نمیگم فلان متود رو دقیقا کجا بذارید و شما میتونید دقیقا از توی این ریپو ببینید من چیو کجا گذاشتمحالا میتونیم وارد اپ vue js بشیم و پکیج فایربیس رو نصب کنیم با دستور:npm i firebase --saveبعد ازین ی فایل با پسوند js داخل روت پروژه میسازیم. اسمش رو هرچی دوست دارید بذاریدکد زیر رو داخلش کپی پیست کنیدقسمتایی که نوشتم YOUR_CREDENTIAL رو با همین credential هایی که گفتم کپی کنید جایگزین کنید.import firebase from &quot;firebase&quot;;export const initializeFirebase = () =&gt; {firebase.initializeApp({apiKey: &quot;YOUR_CRENTIAL&quot;,authDomain: &quot;YOUR_CRENTIAL&quot;,databaseURL: &quot;YOUR_CRENTIAL&quot;,projectId: &quot;YOUR_CRENTIAL&quot;,storageBucket: &quot;YOUR_CRENTIAL&quot;,messagingSenderId: &quot;YOUR_CRENTIAL&quot;,appId: &quot;YOUR_CRENTIAL&quot;,measurementId: &quot;YOUR_CRENTIAL&quot;,});const messaging = firebase.messaging();}-خب حالا بریم سراغ این کد!خب اولش اومدم فایربیس رو ایمپورتش کردم بعد ی فانکشن رو ریختم داخل ی متغیر(دلیلشو یخورده جلوتر میگم)اما چیزایی که داخل این فانکشن هستن یکی اول اومدم متود intitilaizeApp رو صدا زدم و بعد هم مسیجینگ رو ازش ی instance گرفتم. خب حالا وقت اینه که بریم از فایربیس ی توکن بگیریم.خب مهمترین چیزی که الان نیاز هست داشتن ی توکن هست که ازین طریق بتونیم نوتیفیکیشن دریافت کنیم!واسه گرفتن توکن یازه که چند تا متود دیگه هم اضافه کنیم.اولین متود RequestPermission هست:function RequestPermission(messaging) {messaging.requestPermission().then(function(permission) {if (permission === &quot;granted&quot;) {console.log(&quot;have Permission&quot;);// calls method again and to sent token to servergetStartToken();} else {console.log(&quot;Permission Denied&quot;);}}).catch((err) =&gt; {console.log(err);});}این متود چیکار میکنه؟ اول اینکه ی instance از messaging رو به عنوان ورودی میگیره بعد میاد با متود requestPermission در خواست نوتیفیکیشن میکنه. که نتیجه این در خواست ی promise هست و اگه granted باشه یعنی کاربر قبول کرده نوتیفیکیشن بفرستیم اگه نباشه خب کاربر قبول نکرده!حالا شاید سوال پیش بیاد این قبول کردن یا نکردن کاربر چجوریه که حالا در ادامه خودتون بصورت بصری میبینید!اگع یکم دیگه دقت کنید داخل ایف اول ی متود رو داره صدا میزنه به اسم getStartToken که حالا وقتشه بیایم این متود رو اضافه کنیمmessaging.getToken().then((currentToken) =&gt; {console.log({currentToken,});if (currentToken) {// sendTokenToServer(currentToken)} else {RequestPermission(messaging);}}).catch(() =&gt; {console.log(&quot;error ocurred&quot;);});}خب این متود چجوریه؟ اول از همه داره ی instance از مسیجینگ رو به عنوان ورودی میگیره. بعد اومده متود get token رو صدا زده که از اسمش معلومه داره درخواست توکن جدید میکنه. که خروجی این متوده هم promise هست. داخل قسمت then میاد چک میکنه که توکنی گرفتهاول حالتی که نگرفته رو بررسی کنیم یعنی else: اینجا میاد همون متود RequestPermission رو صدا میزنه تا پرمیشن بگیرهاگه داخل if بیاد هم ی متود داره به اسم  sendTokenToServer که کامنت شده در حال حاضر. اینجا اگه لازم باشه شما میاد توکن رو سمت ای پی ای  میفرستید که ذخیره بشه.خب ما تا الان دو تا متود نوشتیم که اگه دقت کرده باشید هر دو تا همدیگرو داخل خودشون به طریقی صدا زدن اما ما کدوم یکی رو باید داخل متود initializeFirebase صدا بزنیم؟اگر یوزر اجازه داده باشه که براش نوتیفیکیشن بفرستیم دیگه لازم نیست که اصلا اجازه بگیریم اگر نه باید درخواست کنیم.پس اول متود getStartToken رو صدا میزنیمحالا واسه تست همین چیزایی که نوشتیم میام داخل فایل main.js متود initializeFirebase رو که اکسپورت کردم رو ایمپورت میکنم و صدا میزنم.حالا میام اپ رو ران میکنیم.اولین چیزی که باهاش روبرو میشین درخواست نوتیفیکیشن هست:روی allow کلیک کنید. بعد کنسول رو باز کنید. باید توکن رو بتونید ببینید: اوکی تا اینجا ما تونستیم ی توکن از فایربیس بگیریم. اما حالا قراره با این توکن چیکار کنیم؟ازین توکن استفاده میشه تا بتونیم خودمون دستی برای اپمون نوتیفیکیشن بفرستیم.اما قبل از اون ی نکته در مورد نوتیفیکیشن ها یا در اینجا بهتره بگیرم web push بدونیم.ما دو نوع نوتیفیکیشن میگیرم. زمانی که اپ باز هست و زمانی که اپ باز نیست یا حداقل اون تب توی مرورگر باز نیست.برای هدنل کردن نوع اول باید از متود  استفاده کنیم. اما چجوری؟!messaging.(function(payload) {console.log(&quot;on Message&quot;, payload);});اینجا اومدم متود  رو روی messaging صدا زدم و ی متود بهش پاس دادم. درواقع بهش ی کال بک پاس دادم که میاد صرفا لاگ میکنه.خب حالا شاید فکر کنید که این باید کار کنه اما اینجوری نیست!قبل از تست لازمه که سرویس ورکر فایربیس رو اضافه کنیم. اگر از ویو استفاده میکنید داخل پوشه پابلیک و اگر از فریمورک دیگه ای استفاده میکنید با فایل firebase-messaging-sw.js رو جایی قرار بدید که از طریق domain/firebase-messaging-sw.js در دسترس باشهداخل این فایل میایم کد زیر رو اضافه میکنیمimportScripts(&quot;https://www.gstatic.com/firebasejs/7.20.0/firebase-app.js&quot;);importScripts(&quot;https://www.gstatic.com/firebasejs/7.20.0/firebase-messaging.js&quot;);const firebaseConfig = {apiKey: &quot;YOUR_CRENTIAL&quot;,authDomain: &quot;YOUR_CRENTIAL&quot;,databaseURL: &quot;YOUR_CRENTIAL&quot;,projectId: &quot;YOUR_CRENTIAL&quot;,storageBucket: &quot;YOUR_CRENTIAL&quot;,messagingSenderId: &quot;YOUR_CRENTIAL&quot;,appId: &quot;YOUR_CRENTIAL&quot;,measurementId: &quot;YOUR_CRENTIAL&quot;,};firebase.initializeApp(firebaseConfig);const messaging = firebase.messaging();خب اینجا چیکار کردیم؟ ابتدا دو تا اسکریپت رو اوردیم. یکی بیس فایربیس و دومی قسمت مسیجینگبعد اومدیم initialize کردیم خود فایربیس رو. بعدشم اومدیم ی instance از messaging ساختیم.اینجا ی نکته رو لازم میدونم بگم. اینکه میگم ی instance ساختم فقط ی ساخته شدن نیست. یک کار های دیگه ای هم پشت صحنه هندل میشن. مثلا در ادامه که میخوایم نوتیف بفرستیم میبینیم که اگه اپ رو فوکوس نکنیم و داخل payload ی سری اطلاعات رو داخل کلید  notification بفرستیم خود فایربیس نوتیفیکیشن ما رو به ی صورت استانداردی میاد نشون میده. حالا ادامه اینارو خواهیم دید.خب کجا بودیم؟! میخواستیم توی حالتی که تب برنامه باز هست و نوتیفیکیشن میرسه تستش کنیم. بعد اومدیم سرویس ورکر فایربیس رو اضافه کردیم. حالا زمان تست هست.خب حالا چجوری نوتیف بفرستیم؟ دوتاشون که خودم رفتم رو میگمیکی اینکه از طریق console فایربیس انجامش بدیم. ی راه دیگه هم از طریق پست من.من از پست من استفاده میکنم علتشم اینه که در کنسول فایربیس ی سری محدودیت داریم.curl -X POST -H &amp;quotAuthorization: key=YOUR-SERVER-KEY&amp;quot -H &amp;quotContent-Type: application/json&amp;quot -d &#039;{
  &amp;quotnotification&amp;quot: {
    &amp;quottitle&amp;quot: &amp;quotPortugal vs. Denmark&amp;quot,
    &amp;quotbody&amp;quot: &amp;quot5 to 1&amp;quot,
    &amp;quoticon&amp;quot: &amp;quotfirebase-logo.png&amp;quot,
    &amp;quotclick_action&amp;quot: &amp;quothttp://localhost:8080&amp;quot
  },
  &amp;quotto&amp;quot: &amp;quotYOUR_FIREBASE_TOKEN&amp;quot
}&#039; &amp;quothttps://fcm.googleapis.com/fcm/sendخب شما کد بالا رو کپی کنید و وارد پست من بشین. اون بالا سمت چپ ی دکمه ایمپورت میبینید روش کلیک کنید. ی دیالوگ باز میشه. وارد قسمت raw text بشید:و پیست کنید. حالا روی continue بزنید(لازمه ی خورده اسکرول کنید پایین تا دکمش دیده شه)خب میبینید ک ی ریکوئست ساخته شده.وارد قسمت بادی بشید. ی کلید میبینید به اسم &quot;to&quot;. کاری که میکنید این هست که وارد تبی که وب اپلیکیشن باز هست میشین و همون توکنی که لاگ کردید رو کپی و به عنوان مقدار &quot;to&quot; قرار میدید.حالا وارد قسمت headers بشید.مقدار authorization رو نگاه کنید. key=YOUR_SERVER_KEY. شما باید برید داخل console فایربیس و وارد اپی که ساختید بشین و تب cloud messaging رو باز کنید و server key رو کپی کنید و اینجا جایگزین کنید.خب حالا میتونید روی دکمه send توی پست من بزنید. حواستون باشه که توی مرورگر روی تب برنامتون باشید.خب کنسول رو هم باز کنید. باید ی همچین چیزی ببینید.همونجور که میبنید که ابجکت هست که شامل کلید نوتیفیکیشنه. درواقع همون payload ای که فرستادین رو دارین اینجا میبینید.خب حالا تب مرورگرخودتون رو عوض کنید. باز روی دکمه send پست من کلیک کنید.ناگهان ی نوتیفیکیشن به این شکل میبینید.سوال پیش میاد چرا؟ چون که شما الان توی تب دیگه ای هستید و متود  اجرا نمیشه و اگه یادتون باشه گفتم هر وقت توی payload بیایین با کلید notification دیتا بفرستین خود فایربیس میاد هندل میکنه.خب موردی که پیش میاد این هست که شاید دلمون نخواست خود فایربیس هندل کنه اونموقع باید چیکار کنیم؟!خب اولین چیزی که خودتون باید حدس بزنید اینه که توی پیلود دیگه نباید چیزی با کلید notification بفرستید. درسته! اما خب اگه اینکارو کنید دیگه نوتیفیکیشن نشون داده نمیشه. سوال اینه چجوری نوتیفیکیشن نشون بدیم در سرویس ورکر؟با متود onBackgroundMessage! کد زیر رو کپی کنید تا بریم سراغ اصل مطلب!messaging.onBackgroundMessage(function(payload) {console.log(&quot;Received background message &quot;,payload);// Customize notification hereconst notificationTitle = &quot;Background Message Title&quot;const notificationOptions = {body: payload.data.body,image: payload.data.image,};console.log({notificationTitle,notificationOptions})return self.registration.showNotification(notificationTitle,notificationOptions);});زمانی بدون پیلود notification بفرستیم این متود صدا زده میشه و تنها نکته ای که کد بالا داره اینه که شما دارید داده ها رو از ی فیلد به اسم دیتا میفرستید. یعنی اگر تا الان داخل قسمت body پست من ی همچین چیزی ارسال میکردین: {   &quot;notification&quot;: {     &quot;title&quot;: &quot;Portugal vs. Denmark&quot;,     &quot;body&quot;: &quot;5 to 1&quot;,     &quot;icon&quot;: &quot;firebase-logo.png&quot;,     &quot;click_action&quot;: &quot;http://localhost:8080&quot;   },   &quot;to&quot;: &quot;YOUR_FIREBASE_TOKEN&quot; }از الان فقط جای notification بذارید data. یعنی:{   &quot;data&quot;: {     &quot;title&quot;: &quot;Portugal vs. Denmark&quot;,     &quot;body&quot;: &quot;5 to 1&quot;,     &quot;icon&quot;: &quot;firebase-logo.png&quot;,     &quot;click_action&quot;: &quot;http://localhost:8080&quot;   },   &quot;to&quot;: &quot;YOUR_FIREBASE_TOKEN&quot; }خب الان اگه تست کنید همون نتیجه قبلی رو میگیرید.بعضی وقت ها میخوایم اگه نوتیفیکیشن کلیک شد بفهمیم و هندلش کنیم با استفاده از کد زیر ممکن میشهself.addEventListener(&#x27;notificationclick&#x27;, function(event) {console.log(&#x27;notification clicked&#x27;, event)})اگر جایی اشتباه کرده بودم ممنون میشم کامنت کنید.اگر هم سوالی داشتید میتوانید در توییتر یا در کامنت ها از من بپرسید.</description>
                <category>Ali Zangiabadi</category>
                <author>Ali Zangiabadi</author>
                <pubDate>Sat, 17 Oct 2020 13:41:56 +0330</pubDate>
            </item>
                    <item>
                <title>بیت یا گیت واسه کامپوننت ها؟</title>
                <link>https://virgool.io/VueFramework/%D8%A8%DB%8C%D8%AA-%DB%8C%D8%A7-%DA%AF%DB%8C%D8%AA-%D9%88%D8%A7%D8%B3%D9%87-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D9%87%D8%A7-qzpfwdsfpki0</link>
                <description>بیت ی سیستم هست که امکان ساختن کالکشن های کامپوننت و استفاده انها در پروژه های مختلف رو فراهم میکنه. به چه شکلی؟یعنی ما میایم یدونه کامپوننت میسازیم حالا فرقی هم نداره تو چه فریمورکی بعد میایم روی بیت پوشش میکنیم دقیقا مثل یک گیت. حالا فرضا من میخوام همین کامپوننت رو تو ی پروژه دیگه استفاده کنم. اینجا میام با بیت ایمپورتش میکنم فرض کنید مثل پول کردن گیت. ولی ی فرق داره. مثلا ی کامپوننت ممکنه ی تعداد دیپندنسی داشته باشه اینجا بیت میاد دیپندنسی ها رو هندل میکنه. ی امکان مهم دیگه ورژن گذاری هست. مثلا من این کامپوننت رو اینیت کردم و میام پوش میکنم تو بیت با ورژن ۰.۰.۱. حالا فرداش میام یخورده توسعش میدم و باز پوشش میکنم اما اینبار مثلا با ورژن ۰.۰.۲ !!! هر زمان بخوام هم میتونم بین ورژن های مختلف جا به جا شم! یعنی فرضا دیدم ی باگ داره سریع برمیگردم به ورژن قبلی.حالا میخوام بصورت عملی ی پروژه nuxt با هم بسازیم و ی کامپوننت بهش اضافه کنیم. بعد میایم همین کامپوننت رو پوش میکنیم به بیت و بعد توی ی پروژه دیگه پول میکنیم!قبل شروع کردن بد نیست که فیلتر شکن خودتون رو روشن کنید!توی عکس بالا اومدم ی پروژه ناکست اینیت کردم. پروژم از تایپ اسکریپت و npm استفاده میکنهحالا میام ی کامپوننت Users میسازم و میذارم توی پوشه components حالا میخوام ببیام به بیت پوش کنم این کامپوننت رو . اول از همه با کامند لاین بیت رو نصب کنیم npm install bit-bin -gبعد لازم هست لاگین کنیم با کامند لاین که خب لازمه اکانت داشته باشیم پس قبلش اکانت رو بسازیدحالا داخل کامند لاین bin login رو بزنید. بعد لاگین میخوام بیت رو به پروژه ناکست خودم اضافه کنم. میام bit init رو داخل پوشه ای که package.json پروژه هست میزنم که معمولا داخل روت پروژه هستخب حالا من ی تعداد کامپوننت دارم اما بیت هنوز نمیدونه! یعنی من لازمه به بیت بگم که اقا بیا فلان کامپوننت رو track کن! بیاین به بیت بگیم که users کامپوننت من رو ترک(track) کن!bit add components/users.vue --id usersبا این دستور بالا میتونم بهش بگم اما این دستور دقیقا چیکار میکنه؟! قسمت bit add که واضحه دارم بهش میگم یچیزیو اضافه کن! اما پارامتر اول path کامپوننتی هست که میخوام track کنه! حالا وقتشه بگم ای دی این کامپوننت چیه که با قسمت دوم دستور این رو بهش گفتمخب حالا این دستورو زدم چی شد دقیقا؟! اگر الان بیام bit status رو بزنم در جواب بهم میگه ی کامپوننت جدید پیدا کرده! شباهت زیادی به git status داره!خب حالا کامپوننت رو اضافه کردم پس برم پوشش کنم به بیت! اما هنوز ی کار دیگه قبل پوش مونده! ما میخوایم این کامپوننت رو تو پروژه های دیگه استفاده کنیم! پس لازمه اول بیلد کنیم! واسه بیلد خب به کامپایلر نیاز هست که میشه با این دستور نصبش کرد!bit import bit.envs/compilers/vue --compilerخب حالا وقشته که کامپوننت رو بیلد کنیم! با دستور bit buildخب حالا اگه مثل گیت فرض کنیم وقشته که وارد مرحله staging  بشیم! اینجا توی بیت دقیقا stage کردن داریم. به این شکل که من میام ی ورژن به کامپوننت میدم و اون رو استیج میکنم! با دستور:bit tag users 0.0.1 تو این دستور من دارم به بیت میگم که کامپوننت users منو با ورژن ۰.۰.۱ استیج کن!حالا اگه بیام bit status بگیرم به من میگه که کامپوننت users استیج شدهخب حالا مرحله بعد استیج توی git چی بود؟ push! حالا من میخوام پوش کنم به بیت اما تو بیت به اسم اکسپورت شناخته میشهاما! قبل اکسپورت باید بدونیم که کجا میخوایم اکسپورتش کنیم؟ باید ی کالکشن بسازیم و بعد داخل کالکشن خاص بیایم اکسپورت کنیم! اگه وارد داشبورد بیت بشید داخل هدر ی گزینه نیو میبینید. داخل عکس زیر هم گذاشتمبعد از کلیک روی نیو روی کالکشن کلیک کنید! حالا من به این شکل پر کردمخب حالا وقتی بزنید روی create وارد ی صفحه به این شکل میشیدسمت راست نوشته export to this collection. این دستور رو کپی کنید و وارد کامند لاین پیست کنید!خب حالا این دستور چیه؟ واسه من به این شکلهbit export alizangiabadicode.test-for-virgoolاین داره میگه اکسپورت کن به این یوزر نیم(alizangiabadicode) و به این کالکشن خاص(test-for-virgool).خب حالا ی bit status بگیریم دیگه استیج نیست!خب حالا اگه از سایت خود بیت وارد کالکشنی که ساختیم بشیم میتونم کامپوننتمو ببینم!اگه وارد کامپوننت بشم قابلیت این رو داره که بصورت لایو به من نشونش بده! چرا؟ چون که تمام دیپندنسی هایی که که این کامپوننت داررو همراه خودش اورده!خب تا الان ما اومدیم ی پروژه ساختیم و ی کامپوننتش رو داخل بیت اکسپورت کردیم! حالا وقتشه ببینیم چجوری میشه داخل ی پروژه دیگه استفادش کرد!واسه ساختن ی پروژه دیگه با دستوری پروژه ناکست دیگه میسازم! حالا میخوام کامپوننت جدید رو ایمپورت کنم اما چجوری؟! اگه به سایت بیت بریم و به همون صفحه کالکشن برگردیم و وارد کامپوننت بشیم ی قسمتی رو میبینیم به اسم install user as a packge. به عکس پایین ی نگاه بندازید!خب حالا دستوره چیه؟npm i @bit/alizangiabadicode.test-for-virgool.usersخیلی سادست! ی پکیج npm رو دارم به package.json اضافه میکنم!خب حالا بریم سراغ استفاده از کامپوننتمون! خب من میرم داخل پیج اصلی اپ ناکست و میام داخل index.vue این کامپوننت رو ایمپورت میکنم! و بعد ایمپورت میام به کامپوننتام اضافه میکنم! که توی عکس زیر نشون دادمخب حالا اگه پروژرو ران کنم با npm run dev میبینم که کامپوننتم داره نشون داده میشه!اما خب همیشه اینقدر ساده نیست! مثلا ممکنه من بخوام تو این پروژه تغییرات جزیی بدم! کامپوننت کجاست که بخوام تغییرش بدم؟! کامپوننت داخل نود ماژول های منه و من اگه بخوام باید برم اونجا تغییرش بدم. ولی این منطقی نیست! چرا؟ چون که با هر بار npm install تمام تغییرای من میپرن!!!خب اینجا بیت واسه من ی پیشنهاد داره! میگه بیا اول من رو به پروژه اضافه کن یعنی دستور bit init‌ بعد میگه بیا خود کامپوننت رو ایمپورت کن! با دستور bit import alizangiabadicode.test-for-virgool/usersخب این دستور از چه قسمتایی تشکیل شده؟ اول که گفتیم ایمپورت کن و بعد اومدیم یوزرنیم و بعدش کالکشن نیم و بعد اسلش ای دی کامپوننت رو نوشتیم!خب حالا بعد اجرای دستور اگه وارد پوشه کامپوننت بشم میبینم users فولدر واسه من ساخته شده! خب حالا راحت میام تغییرمو میدم خب حالا تغییرمو دادم اما میخوام این تغییرمو اکسپورت کنم تا بتونم تو پروژه های دیگه استفاده کنم!خب اگه بیام ی bit status  بگیم میگه که کامپوننت یوزر ی تغییری کرده! حالا تمام مراحل قبل رو میریم یعنی اول استیج با دستورbit tag users 0.0.2 البته اینبار با ورژن ۰.۰.۲ !!بعد هم اکسپورت با دستور bit export alizangiabadicode.test-for-virgoolخب حالا تغییرات رو فرستادیم بالا بریم توی سایت بیت و ببینیم کامپوننت چه تغییری کرده!جالبه ورژن تغییر کرده به 0.0.2 ! حالا من میتونم ورژن قبل رو هم ببینم! یعنی ورژن های مختلف رو دارم و میتونم بینشون جابه جا شم! اما قبل اینکه وارد این بحث بشم بیایم ببینیم که اصلا این تغییرات رو که اکسپورت کردیم چجوری داخل پروژه اول استفاده کنیم!خب من وارد پروژه اول میشم و میام دستور bit import رو وارد میکنم خروجی که باید ببینید به این شکله!داره میگه که این کامپوننت ی ورژن جدید واسش اومده! اما اصلا نگفت که ما الان داریم از ورژن جدید استفاده میکنیم! خب چجوری برم به ورژن جدید؟ با دستورbit checkout 0.0.2 usersاین دستور چیه؟ داره میگه برو به ورژن ۰.۰.۲ کامپوننت با ای دی users. حالا ورژن لوکال من داره از ورژن جدید استفاده میکنه!تو این مقاله ما تونستیم ی یک کامپوننت روی بیت بسازیم و امکان استفاده از اون رو روی پروژه های دیگه با کمترین زحمت پیدا کنیم. حتی الان به ورژن های مختلف کامپوننت هم دسترسی داریم!</description>
                <category>Ali Zangiabadi</category>
                <author>Ali Zangiabadi</author>
                <pubDate>Sun, 09 Aug 2020 12:11:53 +0430</pubDate>
            </item>
            </channel>
</rss>