Kubernetes up and running
کوبرنتیز یک orchestrator اوپن سورس است که ابتدا توسط گوگل توسعه یافت و معرفی شد. تا سال ۲۰۱۴ یکی از معروفترین ابزارهای open source در مارکت شده بود.
کوبرنتیز ثابت کرد که میتواند سیستمهای توزیع شده را در تمام مقیاسها مدیریت کند. از یک کلاستر رزبریپای تا یک دیتاسنتر مجهز و حرفهای.
در دنیای distributed systems تمامی سرویسهای ما باید reliable و scaleable باشند. اما این به چه معنی است؟
یک برنامه میکروسرویس را درنظر بگیریم که دارای سرویسهای مختلفی است. کوبرنتیز وظیفه orchestrate کردن این پروژه را بر عهده گرفته است.
ما باید مطمئن باشیم که تمامی درخواستهای ما در این شبکه بین سرویسها جابجا میشود. پس در این بخش نیاز داریم که این شبکه قابل اعتماد(reliable) باشد.
اما این به تنهایی کافی نیست, ممکن است بخواهیم این سیستم را گسترس دهیم و به اصطلاح scale کنیم. کوبرنتیز این امکان را نیز برای ما مهیا کرده است.
مردم دلایل مختلفی برای استفاده از کوبرنتیز دارند, برای مثال:
• Development Velocity
• Abstracting your infrastructure
• Efficiency
• Cloud native ecosystem
در این پست میخواهیم اهمیت توسعه سریع با کوبرنتیز را مرور کنیم.
سالها پیش که نرمافزارها روی CD ها ذخیره و به فروش میرسیدند, چندان مهم نبود که اپدیتها در چه زمانی ریلیز میشوند, اما اکنون که برخی محصولات, به صورت روزانه اپدیت میدهند, بسیار مهم است که با کمترین downtime نسخه جدید را برای کاربران عرضه کنیم.
کوبرنتیز باعث میشود دیپلوی کردن اسانتر شود.
تصور کنید برای یک دیپلوی ساده, باید یکی از راه های زیر را دنبال کنید:
⁃ وارد کانتینر شوید و کد جدید را pull کنید
⁃ ایمیج را build کنید و کانترنر قدیمی را stop و با ایمیج جدید یک کانتینر بسازید
هردوی این کارها باعث میشود که ما downtime زیادی داشته باشیم. حال سناریو زیر را تصور کنید:
کوبرنتیز یک instance جدید با کد جدید بسازد و وقتی که مطمئن شدیم که کد درست بالا امده, با اینستنس قبلی جابجا کنیم.
جالب نیست؟ بنظر من که خیلی جالبه!
یکی دیگر از قابلیتهای جذاب کوبرنتیز self healing بودن آن است.
کوبرنتیز مدام تلاش میکند که درصورت بروز هرگونه مشکل, سرویس شما down نشود.
برای مثال در گذشته باید افرادی استخدام میشدند که هرگاه یک alert دریافت میکردند, باید سریعا سرویس را repair میکردند, اما الان کوبرنتیز باعث شده که دیگر نیازی به این افراد نداشته باشیم.
در این درس ۲ مورد از قابلیتهای کوبرنتیز را خواندیم. در درس های بعد کم کم به شناخت کوبرنتیز و کامپوننتهای داخلی آن میپردازیم.
#kubernetes_up_and_running
@Code_Crafters
کوبرنتیز یک orchestrator اوپن سورس است که ابتدا توسط گوگل توسعه یافت و معرفی شد. تا سال ۲۰۱۴ یکی از معروفترین ابزارهای open source در مارکت شده بود.
کوبرنتیز ثابت کرد که میتواند سیستمهای توزیع شده را در تمام مقیاسها مدیریت کند. از یک کلاستر رزبریپای تا یک دیتاسنتر مجهز و حرفهای.
در دنیای distributed systems تمامی سرویسهای ما باید reliable و scaleable باشند. اما این به چه معنی است؟
یک برنامه میکروسرویس را درنظر بگیریم که دارای سرویسهای مختلفی است. کوبرنتیز وظیفه orchestrate کردن این پروژه را بر عهده گرفته است.
ما باید مطمئن باشیم که تمامی درخواستهای ما در این شبکه بین سرویسها جابجا میشود. پس در این بخش نیاز داریم که این شبکه قابل اعتماد(reliable) باشد.
اما این به تنهایی کافی نیست, ممکن است بخواهیم این سیستم را گسترس دهیم و به اصطلاح scale کنیم. کوبرنتیز این امکان را نیز برای ما مهیا کرده است.
مردم دلایل مختلفی برای استفاده از کوبرنتیز دارند, برای مثال:
• Development Velocity
• Abstracting your infrastructure
• Efficiency
• Cloud native ecosystem
در این پست میخواهیم اهمیت توسعه سریع با کوبرنتیز را مرور کنیم.
سالها پیش که نرمافزارها روی CD ها ذخیره و به فروش میرسیدند, چندان مهم نبود که اپدیتها در چه زمانی ریلیز میشوند, اما اکنون که برخی محصولات, به صورت روزانه اپدیت میدهند, بسیار مهم است که با کمترین downtime نسخه جدید را برای کاربران عرضه کنیم.
کوبرنتیز باعث میشود دیپلوی کردن اسانتر شود.
تصور کنید برای یک دیپلوی ساده, باید یکی از راه های زیر را دنبال کنید:
⁃ وارد کانتینر شوید و کد جدید را pull کنید
⁃ ایمیج را build کنید و کانترنر قدیمی را stop و با ایمیج جدید یک کانتینر بسازید
هردوی این کارها باعث میشود که ما downtime زیادی داشته باشیم. حال سناریو زیر را تصور کنید:
کوبرنتیز یک instance جدید با کد جدید بسازد و وقتی که مطمئن شدیم که کد درست بالا امده, با اینستنس قبلی جابجا کنیم.
جالب نیست؟ بنظر من که خیلی جالبه!
یکی دیگر از قابلیتهای جذاب کوبرنتیز self healing بودن آن است.
کوبرنتیز مدام تلاش میکند که درصورت بروز هرگونه مشکل, سرویس شما down نشود.
برای مثال در گذشته باید افرادی استخدام میشدند که هرگاه یک alert دریافت میکردند, باید سریعا سرویس را repair میکردند, اما الان کوبرنتیز باعث شده که دیگر نیازی به این افراد نداشته باشیم.
در این درس ۲ مورد از قابلیتهای کوبرنتیز را خواندیم. در درس های بعد کم کم به شناخت کوبرنتیز و کامپوننتهای داخلی آن میپردازیم.
#kubernetes_up_and_running
@Code_Crafters
❤9
خب برید راجب socketify بخونید و بعدا هرکسی گفت پایتون واسه وب ضعیف و کند هستش، جواب دندان شکن بهش بدید
در کنارش هم تاسف برای دوستانی که با حرف بقیه در خصوص کند بودن فریمورکهای پایتون، رفتن سمت گو
#موقت
در کنارش هم تاسف برای دوستانی که با حرف بقیه در خصوص کند بودن فریمورکهای پایتون، رفتن سمت گو
#موقت
🔥13👎6❤1👍1
Kubernetes up and running - Lesson 2
هنگامی که محصول شما رشد میکند, شما باید هم محصول و هم تیم توسعه خود را scale کنید. خوشبختانه کوبرنتیز این قابلیت را به ما میدهد که به راحتی بتوانیم محصول خود را scale کنیم. اما چه چیزی باعث میشود که scale کردن در کوبرنتیز اینقدر ساده باشد؟
به سبب وجود داشتن معماری decoupled, کامپوننتها مستقل هستند و به کمک api و service load balancer ها با هم ارتباط ایجاد میکنند.
کوبرنتیز به شما این اجازه را میدهد که از یک کانتینر چندین replica داشته باشید که برای اضافه یا کم کردن آن نیاز دارید فقط یک عدد را در فایل کانفیگ تغییر دهید. حتی میتوانید این تصمیم گیری را بر عهده کوبرنتیز بگذارید که چند رپلیکا از اپلیکیشن داشته باشیم.
کوبرنتیز نه تنها محصول شما را scale میکند, بلکه میتواند تیم شما را نیز scale کند!
تحقیقات نشان داده است که یک تیم ایدهال باید ۶ الی ۸ عضو داشته باشد. به این تیمها “two pizza team” نیز میگویند.
این تیمها تصمیمات راحتتری میگیرند و عموما تسکها سریعتر deliver میشوند چرا که کانفلیکتهای کمتری در کد ایجاد میشود.
اگر یک کدبیس بزرگ داشته باشیم, قطعا هنگامی که کد را توسعه میدهیم به کانفلیکتهای زیادی برمیخوریم. اما کوبرنتیز به کمک تیمها امده و آنها را به توسعه با معماری میکروسرویس تشویق کرده.
کوبرنتیز برای توسعه میکروسرویس ابسترکشن و api های زیر را ارائه میدهد:
⁃ پاد (Pod): یک واحد توسعه که در خود یک یا چند کانتینر را جای میدهد
⁃ سرویسها: سرویسها به اما اجازه load balancing و ایزولیشن بین سرویسها را ارائه میدهد
⁃ نیماسپیسها: نیماسپیسها سطح دسترسی یک سرویس را تعیین میکند. برای مثال میتوانیم تعیین کنیم کدام سرویسها میتوانند به یک سرویس خاص دسترسی داشته باشند.
⁃ اینگرس (Ingress): این آبجکتها میتوانند چندین سرویس را به صورت یک Api ارائه دهند.
این دو درس تنها مقدمهای بر دنیای کوبرنتیز بوده است. در درسهای بعدی ما به مسائل پایهای و سپس عمیقتر کوبرنتیز میپردازیم.
#kubernetes_up_and_running
@Code_Crafters
هنگامی که محصول شما رشد میکند, شما باید هم محصول و هم تیم توسعه خود را scale کنید. خوشبختانه کوبرنتیز این قابلیت را به ما میدهد که به راحتی بتوانیم محصول خود را scale کنیم. اما چه چیزی باعث میشود که scale کردن در کوبرنتیز اینقدر ساده باشد؟
به سبب وجود داشتن معماری decoupled, کامپوننتها مستقل هستند و به کمک api و service load balancer ها با هم ارتباط ایجاد میکنند.
کوبرنتیز به شما این اجازه را میدهد که از یک کانتینر چندین replica داشته باشید که برای اضافه یا کم کردن آن نیاز دارید فقط یک عدد را در فایل کانفیگ تغییر دهید. حتی میتوانید این تصمیم گیری را بر عهده کوبرنتیز بگذارید که چند رپلیکا از اپلیکیشن داشته باشیم.
کوبرنتیز نه تنها محصول شما را scale میکند, بلکه میتواند تیم شما را نیز scale کند!
تحقیقات نشان داده است که یک تیم ایدهال باید ۶ الی ۸ عضو داشته باشد. به این تیمها “two pizza team” نیز میگویند.
این تیمها تصمیمات راحتتری میگیرند و عموما تسکها سریعتر deliver میشوند چرا که کانفلیکتهای کمتری در کد ایجاد میشود.
اگر یک کدبیس بزرگ داشته باشیم, قطعا هنگامی که کد را توسعه میدهیم به کانفلیکتهای زیادی برمیخوریم. اما کوبرنتیز به کمک تیمها امده و آنها را به توسعه با معماری میکروسرویس تشویق کرده.
کوبرنتیز برای توسعه میکروسرویس ابسترکشن و api های زیر را ارائه میدهد:
⁃ پاد (Pod): یک واحد توسعه که در خود یک یا چند کانتینر را جای میدهد
⁃ سرویسها: سرویسها به اما اجازه load balancing و ایزولیشن بین سرویسها را ارائه میدهد
⁃ نیماسپیسها: نیماسپیسها سطح دسترسی یک سرویس را تعیین میکند. برای مثال میتوانیم تعیین کنیم کدام سرویسها میتوانند به یک سرویس خاص دسترسی داشته باشند.
⁃ اینگرس (Ingress): این آبجکتها میتوانند چندین سرویس را به صورت یک Api ارائه دهند.
این دو درس تنها مقدمهای بر دنیای کوبرنتیز بوده است. در درسهای بعدی ما به مسائل پایهای و سپس عمیقتر کوبرنتیز میپردازیم.
#kubernetes_up_and_running
@Code_Crafters
❤7
درک یک پایان
رمانی به ظاهر ساده و کوتاه اما بشدت پیچیده و سنگین که محتوی فلسفه و روانشناختی و تحلیلی دارد
اخیرا به این فکر و باور بودم که 99 درصد زندگی یک انسان رو توهم تشکیل میدهد نه بیشتر، سعی داشتم با این دیدگاهم مقابله کنم
بطور اتفاقی با این کتاب آشنا شدم که صحه بر باورم گذاشت، ما در تعریف آگاهی به چند مورد اشاره میکنیم: گذشته فرد، سلامت فکری و روانی، درک او از محیط اطرافش و آنچه رخ میده
این کتاب با یک داستان ساده هر سه مورد ذکر شده راجب آگاهی رو نقض میکنه برای یک انسان و با این شرایط انسان رو وادار میکنه که نسبت به آنچه در زندگیش هست بازنگری کنه و اینکه با این اوصاف آیا انسان میتونه به پذیرش نسبت به مسائل برسه یا نه
آیا ما واقعا مسئولیم؟؟؟
@code_crafters
رمانی به ظاهر ساده و کوتاه اما بشدت پیچیده و سنگین که محتوی فلسفه و روانشناختی و تحلیلی دارد
اخیرا به این فکر و باور بودم که 99 درصد زندگی یک انسان رو توهم تشکیل میدهد نه بیشتر، سعی داشتم با این دیدگاهم مقابله کنم
بطور اتفاقی با این کتاب آشنا شدم که صحه بر باورم گذاشت، ما در تعریف آگاهی به چند مورد اشاره میکنیم: گذشته فرد، سلامت فکری و روانی، درک او از محیط اطرافش و آنچه رخ میده
این کتاب با یک داستان ساده هر سه مورد ذکر شده راجب آگاهی رو نقض میکنه برای یک انسان و با این شرایط انسان رو وادار میکنه که نسبت به آنچه در زندگیش هست بازنگری کنه و اینکه با این اوصاف آیا انسان میتونه به پذیرش نسبت به مسائل برسه یا نه
آیا ما واقعا مسئولیم؟؟؟
@code_crafters
❤4
Kubernetes in action - lesson 3
کوبرنتیز یک پلتفرم برای ساخت, دیپلوی و منیج کردن یک برنامه توزیع شده است. این برنامهها در سایز و اشکال مختلفی میتوانند باشند که روی یک یا چند سیستم به صورتهای متفاوت به اجرا درامدند. تمامی این برنامهها ورودیهایی را دریافت میکنند و میتوانند خروجیهایی را ارسال کنند. قبل از اینکه وارد این موضوع شویم, ابتدا باید بدانیم که چطور میتوانیم یک کانتینر اپلیکیشن بسازیم تا بتوانیم آن را در بستر این محیط به اجرا دربیاوریم.
برنامهها عموما ترکیبی از کتابخانهها و سورس کدها هستند که در مواقع مختلف روی کتابخانههای سیستمعاملی مانند libc و libssl نیز تکیه میکنند. این دیپندنسیها میتوانند گاهی مشکلاتی را بوجود بیاورند. برای مثال ممکن است یک کتابخانه روی لپتاپ برنامهنویس نصب باشد اما روی سرور پروداکشن این کتابخانه نصب نباشد. آنگاه به مشکلات مختلفی بر میخوریم.
این راه قدیمی که باید کل کد بیس روی یک ماشین با یک سیستمعامل مشخص و کتابخانههایی با ورژنهای مشخص اجرا شود, اکنون دیگر منقضی شده است. چرا که در تیمهای بزرگ این رویکرد تنها پیچیدگی را زیاد کرده بود.
یکی از راههایی که میتوانیم در مقابل این مشکل بایستیم این است که کل برنامه را تبدیل به یک package کنیم و آن را یکجایی push کنیم تا دیگران آن را pull کنند و از آن استفاده کنند. Docker یکی از محبوبترین ابزارها برای این کار است. با داکر میتوانیم یک ایمیج executable بسازیم و سپس آن را روی یک رجیستری push کنیم تا دیگران بتوانند از آن استفاده کنند.
پس درواقع container image ها یک مجموعهای از سورس کد و دیپندنسیهای آن هستند که در لایههای مختلفی از یک ایمیج ذخیره شدهاند. معروفترین فرمت این ایمیجها, فرمت ایمیجهای داکر است که توسط OCI, استداندارد سازی شده است.
خوشبختانه کوبرنتیز از فرمتهای docker image format و OCI ساپورت میکند.
ایمیج کانتینرها تنها یک فایل نیستند, بلکه آنها پوینتری به فایلهای دیگه هستند. ایمیجها از لایههایی تشکیل شدهاند که این لایهها ممکن است گاهی مدتها پیش توسعه یافته باشد.
ایمیجها معمولا با یک configuration file اجرا میشوند که در آن تنظیمات مربوط به نتورک, entrypoint command و syscall restriction کانفیگ میشوند.
کانتینرها به دو دسته تقسیم میشوند.
1- system containers
2- application containers
دسته اول به کانتینرهایی میگوییم که یک سیستمعامل کامل را نصب دارد که میتوانیم در آن اقدامات زیادی انجام دهیم. اما این کانتینرها منابع بیشتری مصرف میکنند, پس برنامهنویسها به دنبال یک راه بهتر و سبک تر رفتند و application containerها را پیدا کردند. این کانتینرها معمولا ایمیجهای سبکتری دارند. چرا که این کانتینرها با یک سیستمعامل پایهای و سبک بوت میشوند و تمرکز آنها بیشتر روی ابزاری است که توسعه میدهند.
اما یک ایمیج را چگونه میتوانیم بهینه کنیم؟
۱- فایلهای اضافی را در .dockerignore قرار دهیم.
سناریو زیر را درنظر بگیرید:
Layer 1: Contain a big file
Layer 2: Removes the big file
در سناریو بالا, خیلی بهتر میشد اگر از همان اول Big file را داخل .dockerignore قرار دهیم.
۲- به ترتیب اجرای دستورات دقت کنید.
به سناریوی زیر دقت کنید:
Dockerfile A:
Install big linux dependencies
Copy requirements.txt
Install reuirements
Dockerfile B:
Copy requirements.txt
Install reuirements
Install big linux dependencies
دو ایمیج بالا دقیقا یک کار را انجام میدهند, اما در ایمیج دومی هرگاه requirements.txt تغییر میکند, ما دیپندنسیهای سنگین را از نو نصب میکنیم! پس بهتر است این لایههای سنگین را در ابتدای فایل ایجاد کنیم.
در درسهای بعد به مسائلی همچون multistage image build میپردازیم.
#kubernetes_up_and_running
@Code_Crafters
کوبرنتیز یک پلتفرم برای ساخت, دیپلوی و منیج کردن یک برنامه توزیع شده است. این برنامهها در سایز و اشکال مختلفی میتوانند باشند که روی یک یا چند سیستم به صورتهای متفاوت به اجرا درامدند. تمامی این برنامهها ورودیهایی را دریافت میکنند و میتوانند خروجیهایی را ارسال کنند. قبل از اینکه وارد این موضوع شویم, ابتدا باید بدانیم که چطور میتوانیم یک کانتینر اپلیکیشن بسازیم تا بتوانیم آن را در بستر این محیط به اجرا دربیاوریم.
برنامهها عموما ترکیبی از کتابخانهها و سورس کدها هستند که در مواقع مختلف روی کتابخانههای سیستمعاملی مانند libc و libssl نیز تکیه میکنند. این دیپندنسیها میتوانند گاهی مشکلاتی را بوجود بیاورند. برای مثال ممکن است یک کتابخانه روی لپتاپ برنامهنویس نصب باشد اما روی سرور پروداکشن این کتابخانه نصب نباشد. آنگاه به مشکلات مختلفی بر میخوریم.
این راه قدیمی که باید کل کد بیس روی یک ماشین با یک سیستمعامل مشخص و کتابخانههایی با ورژنهای مشخص اجرا شود, اکنون دیگر منقضی شده است. چرا که در تیمهای بزرگ این رویکرد تنها پیچیدگی را زیاد کرده بود.
یکی از راههایی که میتوانیم در مقابل این مشکل بایستیم این است که کل برنامه را تبدیل به یک package کنیم و آن را یکجایی push کنیم تا دیگران آن را pull کنند و از آن استفاده کنند. Docker یکی از محبوبترین ابزارها برای این کار است. با داکر میتوانیم یک ایمیج executable بسازیم و سپس آن را روی یک رجیستری push کنیم تا دیگران بتوانند از آن استفاده کنند.
پس درواقع container image ها یک مجموعهای از سورس کد و دیپندنسیهای آن هستند که در لایههای مختلفی از یک ایمیج ذخیره شدهاند. معروفترین فرمت این ایمیجها, فرمت ایمیجهای داکر است که توسط OCI, استداندارد سازی شده است.
خوشبختانه کوبرنتیز از فرمتهای docker image format و OCI ساپورت میکند.
ایمیج کانتینرها تنها یک فایل نیستند, بلکه آنها پوینتری به فایلهای دیگه هستند. ایمیجها از لایههایی تشکیل شدهاند که این لایهها ممکن است گاهی مدتها پیش توسعه یافته باشد.
ایمیجها معمولا با یک configuration file اجرا میشوند که در آن تنظیمات مربوط به نتورک, entrypoint command و syscall restriction کانفیگ میشوند.
کانتینرها به دو دسته تقسیم میشوند.
1- system containers
2- application containers
دسته اول به کانتینرهایی میگوییم که یک سیستمعامل کامل را نصب دارد که میتوانیم در آن اقدامات زیادی انجام دهیم. اما این کانتینرها منابع بیشتری مصرف میکنند, پس برنامهنویسها به دنبال یک راه بهتر و سبک تر رفتند و application containerها را پیدا کردند. این کانتینرها معمولا ایمیجهای سبکتری دارند. چرا که این کانتینرها با یک سیستمعامل پایهای و سبک بوت میشوند و تمرکز آنها بیشتر روی ابزاری است که توسعه میدهند.
اما یک ایمیج را چگونه میتوانیم بهینه کنیم؟
۱- فایلهای اضافی را در .dockerignore قرار دهیم.
سناریو زیر را درنظر بگیرید:
Layer 1: Contain a big file
Layer 2: Removes the big file
در سناریو بالا, خیلی بهتر میشد اگر از همان اول Big file را داخل .dockerignore قرار دهیم.
۲- به ترتیب اجرای دستورات دقت کنید.
به سناریوی زیر دقت کنید:
Dockerfile A:
Install big linux dependencies
Copy requirements.txt
Install reuirements
Dockerfile B:
Copy requirements.txt
Install reuirements
Install big linux dependencies
دو ایمیج بالا دقیقا یک کار را انجام میدهند, اما در ایمیج دومی هرگاه requirements.txt تغییر میکند, ما دیپندنسیهای سنگین را از نو نصب میکنیم! پس بهتر است این لایههای سنگین را در ابتدای فایل ایجاد کنیم.
در درسهای بعد به مسائلی همچون multistage image build میپردازیم.
#kubernetes_up_and_running
@Code_Crafters
❤7
شاید عمیقا رنج انسان از زندگی همین مفهوم باشد، جایی که در انتهای تمام تلاشت صرف دوست داشتن کسی به منتها علیه نرسیدنی ختم شود که آن دیگری نمیخواهد یا تنها بازیچه برطرف شدن حس نیاز به دیده شدن او شوی که برگرفته از کمبودهای درونی اوست، آنچه بر تو غالب خواهد شد نرسیدن نیست بلکه بیگانگی عمیقیست که نسبت به دنیا و ارزشهای خود ساخته داری، با نگاه کوچکی به گذشته خود و آنچه را که از دیگری به تو با لمس رسیده باشد، چنان در خود خواهی شکست که هیچ توانی صرف بازسازی مجدد خویش نمیبینی، عمیقا دنبال پاسخی میگردی که آن دیگری هم از پذیرش اصل مسئله سرباز خواهد زد تا که بخواهد در یافتن پاسخ سرنخی به تو بدهد، حس دور شدن نه از دیگری بلکه از خودت شروع میشود، آدمی که به خود نرسد، به هیچ هم نمیرسد
👍5
عمیقترین احساس زندگی خودتون رو پیدا کنید بعد ببینید بیدفاعترین حالت ممکن شما دقیقا در همونجا قرار گرفته
این حس برای من نوعی دقیقا جایی قرار داره " که بشدت دلتنگ آدمیم که دوستش دارم و هیچ راه ارتباطی برام نمیزاره" چنان در مقابل این احساس پیچیده بی دفاعم که انگار یک کودک از دوری مادرش رنج میبره
این دقیقا همون ترومایی هستش که در دوران کودکی درونم فعال شده و تمامیه زندگی من رو قربانی خودش کرده و پس از این همه سال که خودش رو در پنهانترین لایههای زندگیم گنجانده بود در نهایت تونستم پیداش کنم و با بزرگترین چالش زندگیم در خودشناسی روبرو شدم
میشنوم از تجربه عمیقترین احساسی که تجربه کردهاید❤️
این حس برای من نوعی دقیقا جایی قرار داره " که بشدت دلتنگ آدمیم که دوستش دارم و هیچ راه ارتباطی برام نمیزاره" چنان در مقابل این احساس پیچیده بی دفاعم که انگار یک کودک از دوری مادرش رنج میبره
این دقیقا همون ترومایی هستش که در دوران کودکی درونم فعال شده و تمامیه زندگی من رو قربانی خودش کرده و پس از این همه سال که خودش رو در پنهانترین لایههای زندگیم گنجانده بود در نهایت تونستم پیداش کنم و با بزرگترین چالش زندگیم در خودشناسی روبرو شدم
میشنوم از تجربه عمیقترین احساسی که تجربه کردهاید❤️
❤5💔1
در یک بخش از کتاب "دوباره زندگی خود را بیافرین"
به نکته جالبی اشاره کرده بود
اینکه ما در مقابل الگوهای ذهنی چقدر ضعیف و شکننده هستیم و بر اساس این الگوها دست به انتخاب (همسر یا پارتنر) میزنیم و زمانیکه خودآگاهی و درمان اونها رو شروع میکنیم به احتمال بالا و زیادی از زوج خود جدا خواهیم شد و دلیل این رفتار تنها بابت رشد شخصیتی و درونی هستش که دیگری به اندازه ما نیست
#موقت
به نکته جالبی اشاره کرده بود
اینکه ما در مقابل الگوهای ذهنی چقدر ضعیف و شکننده هستیم و بر اساس این الگوها دست به انتخاب (همسر یا پارتنر) میزنیم و زمانیکه خودآگاهی و درمان اونها رو شروع میکنیم به احتمال بالا و زیادی از زوج خود جدا خواهیم شد و دلیل این رفتار تنها بابت رشد شخصیتی و درونی هستش که دیگری به اندازه ما نیست
#موقت
👍4❤2💔1
بچهها کار با نکسوس رو یاد بگیرید
با وضعیت اینترنت ایران بابت جلوگیری از مشکلات اعصاب و روان خودتون یک روز وقت بزارید و یاد بگیرید چجوری کانفیگش کنید
و مابقی عمرتون راحت باشید
یک روز بیشتر ازتون وقت نمیگیره و در نهایت میتونید تمام نیازهاتون رو پروکسی و کش کنید
با وضعیت اینترنت ایران بابت جلوگیری از مشکلات اعصاب و روان خودتون یک روز وقت بزارید و یاد بگیرید چجوری کانفیگش کنید
و مابقی عمرتون راحت باشید
یک روز بیشتر ازتون وقت نمیگیره و در نهایت میتونید تمام نیازهاتون رو پروکسی و کش کنید
❤4👎2
شمس تبریزی یجا میگه:
چون در دریا افتادی و شنا نمیدانی،
مرده شو تا آبت بر سر نهد
حالا مولانا اینجوری ازش درس زندگانی میگه:
آن یکی نحوی به کشتی در نشست
رو به کشتیبان نهاد آن خودپرست
گفت هیچ از نحو خواندی گفت لا
گفت نیم عمر تو شد در فنا
دلشکسته گشت کشتیبان ز تاب
لیک آن دم کرد خامش از جواب
باد کشتی را به گردابی فکند
گفت کشتیبان بدان نحوی بلند
هیچ دانی آشنا کردن بگو
گفت نی ای خوشجواب خوبرو
گفت کل عمرت ای نحوی فناست
زانک کشتی غرق این گردابهاست
محو میباید نه نحو اینجا بدان
گر تو محوی بیخطر در آب ران
آب دریا مرده را بر سر نهد
ور بود زنده ز دریا کی رهد
چون بمردی تو ز اوصاف بشر
بحرِ اسرارت نهد بر فرق سر
ای که خلقان را تو خر میخواندهای
این زمان چون خر برین یخ ماندهای
گر تو علامه زمانی در جهان
نک فنای این جهان بین وین زمان
مرد نحوی را از آن در دوختیم
تا شما را نحوِ محو آموختیم
فقهِ فقه و نَحوِ نحو و صَرفِ صرف
در کم آمد یابی ای یار شگرف
آن سبوی آب، دانشهای ماست
وان خلیفه دجلهٔ علم خداست
ما سبوها پر به دجله میبریم
گرنه خر دانیم خود را، ما خریم
باری اعرابی بدان معذور بود
کو ز دجله غافل و بس دور بود
گر ز دجله با خبر بودی چو ما
او نبردی آن سبو را جا بجا
بلک از دجله چو واقف آمدی
آن سبو را بر سر سنگی زدی
فقط چندین بار با تمرکز کلمه به کلمه
بیت به بیت رو بخونید تا ارتباط هر کدوم و جواب هرکدوم رو پیدا کنید
چون در دریا افتادی و شنا نمیدانی،
مرده شو تا آبت بر سر نهد
حالا مولانا اینجوری ازش درس زندگانی میگه:
آن یکی نحوی به کشتی در نشست
رو به کشتیبان نهاد آن خودپرست
گفت هیچ از نحو خواندی گفت لا
گفت نیم عمر تو شد در فنا
دلشکسته گشت کشتیبان ز تاب
لیک آن دم کرد خامش از جواب
باد کشتی را به گردابی فکند
گفت کشتیبان بدان نحوی بلند
هیچ دانی آشنا کردن بگو
گفت نی ای خوشجواب خوبرو
گفت کل عمرت ای نحوی فناست
زانک کشتی غرق این گردابهاست
محو میباید نه نحو اینجا بدان
گر تو محوی بیخطر در آب ران
آب دریا مرده را بر سر نهد
ور بود زنده ز دریا کی رهد
چون بمردی تو ز اوصاف بشر
بحرِ اسرارت نهد بر فرق سر
ای که خلقان را تو خر میخواندهای
این زمان چون خر برین یخ ماندهای
گر تو علامه زمانی در جهان
نک فنای این جهان بین وین زمان
مرد نحوی را از آن در دوختیم
تا شما را نحوِ محو آموختیم
فقهِ فقه و نَحوِ نحو و صَرفِ صرف
در کم آمد یابی ای یار شگرف
آن سبوی آب، دانشهای ماست
وان خلیفه دجلهٔ علم خداست
ما سبوها پر به دجله میبریم
گرنه خر دانیم خود را، ما خریم
باری اعرابی بدان معذور بود
کو ز دجله غافل و بس دور بود
گر ز دجله با خبر بودی چو ما
او نبردی آن سبو را جا بجا
بلک از دجله چو واقف آمدی
آن سبو را بر سر سنگی زدی
بیت به بیت رو بخونید تا ارتباط هر کدوم و جواب هرکدوم رو پیدا کنید
❤5
جنگ نیچه و کیرکگارد در درون
از آخرین تجربه و خودشناسیم براتون بگم و اینکه چرا اسمش رو گذاشتم جنگ نیچه و کیرکگارد درون
نیچه:
اگه کسی بهتون سیلی زد، شما هم بهش سیلی بزنید
کیرکگارد:
اگه خواستی انتقام بگیری دوتا قبر بکن
نیچه از قدرت فردی و اعتماد بنفس میگه، کیرکگارد از مسئولیت اخلاقی
سالهای زیادی کیرکگاردی بودم، آدمها رو تحمل میکردم و در قبال سنگین ترین اشتباهاتشون در حقم گذشت میکردم و مسیر پیشرفت خودم رو میرفتم نهایتا قطع ارتباط میکردم با طرف، اما همیشه یه حس بد درونم باقی میموند
فشارها و اسیبهای چندسال اخیرم زیاد شد و تصمیم گرفتم نیچهای بشم، آدمها رو ترک نمیکردم ولی سر فرصت ازش انتقام میگرفتم و بشکلی اینکار رو هم میکردم که اکثر مواقع خود طرف متوجه نمیشد اما باز هم حس بد داشتم اما بشکلی دیگه
در نهایت موضوع به یک تقابل دوگانه رسیدم بین این دو بزرگوار، اینکه زندگیم مهمه و باید ازش دفاع کنم یا اینکه زیستم مهمه و مسیر پیشرفت خودم رو برم
اما از یک چیزی خوشحالم، اینکه در هر دو موضوع بین نیچه و کیرکگارد من شروع کننده آسیب زدن به دیگران نبودم
اعتراف میکنم یه زمانی تحمل میکردم و آسیب میدیدم، یه زمانی انتقام میگرفتم تا دیگری رنج من رو تجربه کنه
بین زندگی و زیست انتخاب شما کدومه؟؟؟
از آخرین تجربه و خودشناسیم براتون بگم و اینکه چرا اسمش رو گذاشتم جنگ نیچه و کیرکگارد درون
نیچه:
اگه کسی بهتون سیلی زد، شما هم بهش سیلی بزنید
کیرکگارد:
اگه خواستی انتقام بگیری دوتا قبر بکن
نیچه از قدرت فردی و اعتماد بنفس میگه، کیرکگارد از مسئولیت اخلاقی
سالهای زیادی کیرکگاردی بودم، آدمها رو تحمل میکردم و در قبال سنگین ترین اشتباهاتشون در حقم گذشت میکردم و مسیر پیشرفت خودم رو میرفتم نهایتا قطع ارتباط میکردم با طرف، اما همیشه یه حس بد درونم باقی میموند
فشارها و اسیبهای چندسال اخیرم زیاد شد و تصمیم گرفتم نیچهای بشم، آدمها رو ترک نمیکردم ولی سر فرصت ازش انتقام میگرفتم و بشکلی اینکار رو هم میکردم که اکثر مواقع خود طرف متوجه نمیشد اما باز هم حس بد داشتم اما بشکلی دیگه
در نهایت موضوع به یک تقابل دوگانه رسیدم بین این دو بزرگوار، اینکه زندگیم مهمه و باید ازش دفاع کنم یا اینکه زیستم مهمه و مسیر پیشرفت خودم رو برم
اما از یک چیزی خوشحالم، اینکه در هر دو موضوع بین نیچه و کیرکگارد من شروع کننده آسیب زدن به دیگران نبودم
اعتراف میکنم یه زمانی تحمل میکردم و آسیب میدیدم، یه زمانی انتقام میگرفتم تا دیگری رنج من رو تجربه کنه
بین زندگی و زیست انتخاب شما کدومه؟؟؟
👍4❤1💋1
یه خاطره براتون تعریف کنم
که داستان جالبی پشتش هست
یبار مدیر مجموعه ما تو فناپ از من و مدیرفنی درخواست کرد که یک تایم حدود نیم ساعت بشینیم به یکسری سوالات که مطرح کرده بابت یک فرم سازمانی پاسخ بدیم تا نظرات مختلف رو بتونه از دید وسیعتر مورد سنجش قرار بده
یکی از سوالات بشدت چالش برانگیزی که تایم بیشتری براش گذاشتیم رو براتون مطرح میکنم
سوال این بود
در داخل یک سازمان بعنوان یک تصمیم گیرنده میخواهید که بعنوان کمک کننده نیروهاتون از هوش مصنوعی استفاده کنید یا نیروی انسانی سطح سنیور، حق انتخاب یک گزینه با استدلال
مدیرفنی مجموعه گفت نیروی انسانی سنیور بابت تجربه و اعتماد تواناییهاش
من گفتم اگه قرار باشه یک گزینه انتخاب کنم قطع به یقین هوش مصنوعی، طبق تجربه من در کار داخل سازمانهای مختلف متوجه یک موضوع شدم و بحث حسادت هستش من بشدت در سازمانها افراد متخصص زیادی رو دیدم که حاضر به اشتراک دانش خودشون نبودن، یا دانش رو بصورت ناقص انتقال دادن و فقط به دلیل حفظ جایگاه خودشون و منابع شخصی خودشون بوده،باور کنید که هیچ نیرویی در سازمان از اینکه شما به یک جایگاه بالاتر بخاطر تواناییهاتون ارتقا پیدا کنید خشنود نیستند بالاخص که بحث منابع مالی هم وسط باشه (صرف اینکه شما از همه لحاظ توانایی و شایستگی دارید) همکاران شما حتی دوست شما از دیدن ارتقا شما حسادت دارن و به هر شکلی که شده با ایجاد تفرقه و بهم زدن روابط تمام تلاششون رو میکنن که مانع شما بشن، من این رو به شخصه دیدهام و شاهد آثار مخرب اون شدهام شاید براتون جالب این نوع رفتارها حتی بابت وجود یک جنس مونث داخل سازمان هم بوده (بخاطر تو چشم اومدن برای یک دختر زیراب زده، واقعیت رو انکار کرده و سازمان رو به یک حاشیه بزرگ داخلی کشونده) یا جالب اینکه بخاطر روحیه سلطه گری فرد بوده، یک نیرو بخاطر حس خودبرتر بینی تمام قد جلوی این قضیه ایستادگی کرده
ضعف مدیریتی مقتدر و نبود منابع انسانی درست و حسابی بزرگترین عامل این قضیه بوده
شاید براتون جالب باشه قضیه فقط در درون سازمان نیست، حتی من دوتا دوست رو دیدم که ارتباطشون باهم اصلا کاری نبوده، اما وقتی یکیشون متوجه شده که موقعیت حضور برتر دیگری در سازمان بهتری فراهم شده که صرف پیشرفت جایگاه شغلی منابع مالی زیادی هم بهش میرسه با تمام وجود با حس حسادت برخورد کرده و چنان زیرکانه پیش رفته که مانع رشد دوستش هم شده
به هر حال این رو از من بشنوید ارتباط دوستی شما کاملا جدا از ارتباط کاری شما هستش و از احساسات پنهانی نفرات از دخالت در حیطه کاری و شغلی غافلگیر نشید آدمهای روباه صفت بزرگترین دام برای شما در پیشرفتتون هستند
که داستان جالبی پشتش هست
یبار مدیر مجموعه ما تو فناپ از من و مدیرفنی درخواست کرد که یک تایم حدود نیم ساعت بشینیم به یکسری سوالات که مطرح کرده بابت یک فرم سازمانی پاسخ بدیم تا نظرات مختلف رو بتونه از دید وسیعتر مورد سنجش قرار بده
یکی از سوالات بشدت چالش برانگیزی که تایم بیشتری براش گذاشتیم رو براتون مطرح میکنم
سوال این بود
در داخل یک سازمان بعنوان یک تصمیم گیرنده میخواهید که بعنوان کمک کننده نیروهاتون از هوش مصنوعی استفاده کنید یا نیروی انسانی سطح سنیور، حق انتخاب یک گزینه با استدلال
مدیرفنی مجموعه گفت نیروی انسانی سنیور بابت تجربه و اعتماد تواناییهاش
من گفتم اگه قرار باشه یک گزینه انتخاب کنم قطع به یقین هوش مصنوعی، طبق تجربه من در کار داخل سازمانهای مختلف متوجه یک موضوع شدم و بحث حسادت هستش من بشدت در سازمانها افراد متخصص زیادی رو دیدم که حاضر به اشتراک دانش خودشون نبودن، یا دانش رو بصورت ناقص انتقال دادن و فقط به دلیل حفظ جایگاه خودشون و منابع شخصی خودشون بوده،باور کنید که هیچ نیرویی در سازمان از اینکه شما به یک جایگاه بالاتر بخاطر تواناییهاتون ارتقا پیدا کنید خشنود نیستند بالاخص که بحث منابع مالی هم وسط باشه (صرف اینکه شما از همه لحاظ توانایی و شایستگی دارید) همکاران شما حتی دوست شما از دیدن ارتقا شما حسادت دارن و به هر شکلی که شده با ایجاد تفرقه و بهم زدن روابط تمام تلاششون رو میکنن که مانع شما بشن، من این رو به شخصه دیدهام و شاهد آثار مخرب اون شدهام شاید براتون جالب این نوع رفتارها حتی بابت وجود یک جنس مونث داخل سازمان هم بوده (بخاطر تو چشم اومدن برای یک دختر زیراب زده، واقعیت رو انکار کرده و سازمان رو به یک حاشیه بزرگ داخلی کشونده) یا جالب اینکه بخاطر روحیه سلطه گری فرد بوده، یک نیرو بخاطر حس خودبرتر بینی تمام قد جلوی این قضیه ایستادگی کرده
ضعف مدیریتی مقتدر و نبود منابع انسانی درست و حسابی بزرگترین عامل این قضیه بوده
شاید براتون جالب باشه قضیه فقط در درون سازمان نیست، حتی من دوتا دوست رو دیدم که ارتباطشون باهم اصلا کاری نبوده، اما وقتی یکیشون متوجه شده که موقعیت حضور برتر دیگری در سازمان بهتری فراهم شده که صرف پیشرفت جایگاه شغلی منابع مالی زیادی هم بهش میرسه با تمام وجود با حس حسادت برخورد کرده و چنان زیرکانه پیش رفته که مانع رشد دوستش هم شده
به هر حال این رو از من بشنوید ارتباط دوستی شما کاملا جدا از ارتباط کاری شما هستش و از احساسات پنهانی نفرات از دخالت در حیطه کاری و شغلی غافلگیر نشید آدمهای روباه صفت بزرگترین دام برای شما در پیشرفتتون هستند
❤8