روزنوشته های فربد صالحی

درباره زندگی و برنامه نویسی

فرصت تفکر و خلق

چند هفته‌ی اخیر، به خاطر همزمانی چند تا اتفاق و کارهای جدید، روزهای خیلی فشرده‌ای واسه من بود. این فشردگی باعث شد برای بعضی از کارهایی که بهشون علاقه دارم و قبلا تو زمان‌های خالی روز انجام می‌دادم، مثل گوش دادن به پادکست‌های فارسی و انگلیسی، پیاده‌روی، مطالعه‌ی غیرشغلی، دیدن فیلم و سریال و البته نوشتن تو وبلاگ، فرصت خیلی کمی باقی بمونه.

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

به نظر مشغله‌ی بیش از حد می‌تونه چنین تاثیر منفی‌ای روی آدم بذاره. یعنی اصلا در طول روز فرصتی برای نگاه کردن، گوش دادن و بررسی کردن باقی نمی‌مونه و در انتهای روز هم ذهن به‌قدری خسته خواهد بود که حتی به موضوعاتی که قبلا بهشون توجه کرده نمی‌تونه فکر کنه.

شاید به همین دلیل باشه که وقتی با افرادی که به هر دلیل، مثلا مشکلات مالی زیاد، کل روز به صورت شدیدی درگیرن یا استرس و نگرانی زیادی دارن برخورد می‌کنیم، احساس می‌کنیم حرفی برای گفتن ندارن. انگار آدمای تک‌بُعدی هستن که نهایتا در مورد اتفاقاتی که در طول روز براشون افتاده، افزایش قیمت‌ کالاها یا صحبت‌هایی که با اطرافیانشون داشتن حرف می‌زنن.

اما روند تفکر این‌طور نیست که آدم بشینه و مثلا ۲ ساعت مداوم به یه موضوع فکر کنه و آخرش هم به یه نتیجه‌ در مورد اون موضوع برسه. بلکه در طول روز و لابه‌لای کارها، وقتی به حرفای خوبی گوش میدی، نوشته‌ی خوبی می‌خونی یا با شخص جالبی ملاقات می‌کنی، احتمالا تو مسیر برگشت به خونه به طور ناخودآگاه بهشون فکر می‌کنی و نظر و دیدگاهی در مورد موضوعات مختلف پیدا می‌کنی. تکرار این روال در بلندمدت باعث میشه که آدم به یه چهارچوب فکری منسجمی برسه و دیگران حرف‌های متضاد ازش نشنون و برخوردهای متناقض ازش نبینن.

این موضوع شاید روی افرادی که بخش بزرگی از کارشون «خلق کردن» هستش تاثیر بیشتری داره. نویسنده‌ها، آهنگسازها، طراح‌ها، محققین علمی و حتی شاید افرادی که برای کسب و کارها تصمیم می‌گیرن یا محصولی طراحی می‌کنن رو می‌تونیم جزو این دسته به حساب بیاریم. شاید به همین دلیل باشه که می‌بینیم هر چه جامعه‌ای امنیت روانی و آرامش بیشتری داشته باشه، خروجی‌های فرهنگی، هنری، علمی و صنعتی و تجاری بهتری هم خواهد داشت. ما این تجربه رو قبلا تو کشور خودمون هم داشتیم.

 

 

۰ نظر
فربد صالحی

انتقال اطلاعات از یک کامپوننت به کامپوننت دیگر در Angular

در Angular روش‌های متفاوتی برای انتقال اطلاعات از یک کامپوننت به کامپوننت دیگه وجود داره که انتخاب هر کدوم بستگی به نیاز ما و موقعیت اون دو تا کامپوننت‌ها نسبت به همدیگه داره. 

 

الف) وقتی کامپوننت‌ها در وضعیت «والد/فرزند» هستند

@Component({
  selector: 'app-child',
  template: `
    <p> {{ username }}'s code is: {{ userCode }}<p>
    <p> 
        <button 
            (click)="sendMessage('Hello from {{ username }}')"> 
                    Send Message 
        </button> 
    </p>
  `
})
export class ChildComponent {
  @Input() userCode: number;
  @Input('name') username: string;
  @Output() sendInfo = new EventEmitter<string>();

  sendMessage(message: string) { 
     this.sendInfo.emit(message); 
  }
}

در قطعه کد بالا، کامپوننت ChildComponnet تعریف شده و دارای دو ویژگی userCode و username هستش که قبل از هر دوی اونها Input@ قرار دادیم تا مشخص کنه انتظار داریم مقدارشون از بیرون از این کامپوننت وارد بشه. یه نکته‌ی ریز هم در این کد استفاده از Input('name')@ هستش و معنیش اینه که کامپوننت‌های دیگه این ویژگی رو با نام name شناسایی و مقداردهی خواهند کرد (همونطور که در کد پایین این کار انجام شده)، هر چند که در داخل خود این کامپوننت از username برای ارجاع بهش استفاده میشه. 

در قطعه کد پایین، کامپوننت ParentComponent تعریف شده که در بخش template اش با استفاده از تگ <app-child>، کامپوننتِ قطعه کد قبلی رو در یک حلقه‌ی for فراخوانی کرده. در اینجا نحوه‌ی انتقال داده به ChildComponent با استفاده از [userCode] و [name] واضح و روشنه. 

@Component({
  selector: 'app-parent',
  template: `
    <app-child *ngFor="let user of users" 
                    [userCode]="user.code"  
                    [name]="user.username"
                    (sendInfo)="onGetInfo($event)">
    </app-child>
  `
})
export class ParentComponent {

  users = Users;
  userMessage: string;

  onGetInfo(message: string) {
     this.userMessage = message;
  }

}

اما اگه بخوایم برعکس عمل کنیم چطور؟ یعنی داده رو از ChildComponent به ParentComponent منتقل کنیم. تو ChildComponent داریم: 

 @Output() sendInfo = new EventEmitter<string>();

ChildComponent هر جا که لازم بود از طریق این EventEmitter می‌تونه یه رویداد یا event تعریف شده تو کامپوننت والد خودش رو فراخوانی کنه و داده‌ها رو به شکل پارامتر به اون بفرسته. همونطور که در عبارت <EventEmitter<string مشخص شده، یه پارامتر از نوع string ارسال می‌کنه. در اینجا این پارامتر، message هستش و همون داده‌ایه که می‌خوایم منتقلش کنیم:

 sendMessage(message: string) { 
   this.sendInfo.emit(message);   
 }

این پارامترها از هر نوع و به هر تعداد می‌تونن باشن. حالا برای اینکه تو کامپوننت والد این مقدار دریافت بشه، تو تمپلیت ParentChild داریم:

(sendInfo)="onGetInfo($event)"

که یعنی هر موقع sendInfo تو ChildComponent رو emit کردن، ()onGetInfo توی ParentChild فراخوانی بشه و پارامتر هم از طریق event$ ارسال بشه:

onGetInfo(message: string) {
   this.userMessage = message;
}

در حالت خیلی کلی میشه گفت در این روش، از Input@ برای ورود داده و از Output@ برای خروج داده استفاده میشه. 

 

ب) وقتی کامپوننت‌ها مستقل از هم هستند

تو این حالت هر کامپوننت route خودش رو داره. وقتی می‌خوایم یک یا چند پارامتر رو منتقل کنیم، خیلی راحت میشه از queryها در route استفاده کرد. مثلا اگه بخوایم دو تا پارامتر به نام‌های id و category رو از ProducstListComponent به ProductDetailComponent ارسال کنیم:

 
  this.router.navigate(
          ['/product-detail'], 
          {
             queryParams: { id: '3', category = 'mobile'} 
          }
  );
  

و اگه بخوایم تو ProductDetailComponent این پارامترها رو دریافت کنیم:

productId: number;
productCategory: string;
 
ngOnInit() {
    this.route.queryParams.subscribe(params => {
       this.productId= +params['id'];
       this.productCategory = params['category'];
    });
}

 

اما گاهی نیاز داریم که تعداد زیادی پارامتر یا حتی مثلا لیستی از اشیا رو منتقل کنیم به کامپوننت بعدی. در این حالت استفاده از query ها نه راحت هستش نه منطقی. در این حالت می‌تونیم از ویژگی state استفاده کنیم که از نسخه‌ی 7.2 به Angular اضافه شده. برای این‌ کار در ProductsListComponent برای انتقال لیست sameProductsList خواهیم داشت:

this.router.navigate(
              ['/product-detail'], 
              {state: {sameProds: sameProductsList}}
);

سپس برای دریافت این لیست در ProductDetailComponent:

sameProducts: any[];

ngOnInit() {

    const currentNavigationState = 
             this.router.getCurrentNavigation().extras.state;

    if (currentNavigationState) {

      this.sameProducts = currentNavigationState.sameProds;

    } 
 }

 

۰ نظر
فربد صالحی

سرازیریِ انتخاب

 

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

همگی می‌دونیم که در مورد بعضی از شرایط زندگی، حداقل در لحظه‌ی تولد، امکان انتخاب نداریم. مثل سال و محل تولد، خانواده‌ای که درش به دنیا میایم و حتی اسمی که برامون انتخاب میشه. اما بقیه‌ی مسائل چطور؟ در این زمینه چند نکته به ذهن من می‌رسه.

به نظرم انسان زمانی می‌تونه خودش رو در مورد مساله‌ای «دارای انتخاب» بدونه که هم گزینه‌های موجود رو تا حد زیادی بشناسه، و هم امکان واقعی انتخاب از بین گزینه‌ها‌‌ی مورد علاقه‌اش رو داشته باشه. احتمالا با یه مثال قضیه روشن‌تر میشه.

وقتی می‌خوایم یه خودرو بخریم، اول باید از پارامترهای مهم در خرید یه خودرو یه اطلاعات اولیه داشته باشیم. پارامترهایی مثل میزان مصرف بنزین، فضای صندوق عقب، هزینه‌ی نگهداری، داشتن مشتری همیشگی تو بازار و... . یعنی باید بدونیم که این پارامترها وجود داره تا بهشون توجه کنیم. از اولویت‌های خودمون هم باید مطلع باشیم. میزان مصرف بنزین و هزینه‌‌ی سوخت چقدر برامون مهمه؟ چقدر نیاز به حمل وسیله و در نتیجه نیاز به فضا در خودرو داریم، شرایط آب و هوایی محل زندگیمون نیاز به سیستم گرمایش یا سرمایش قوی در خودرو داره؟ و مواردی از این قبیل. حالا با شناخت پارامترها و میزان اولویت هرکدومشون برای ما، می‌تونیم از بین خودروهای موجود در بازار روی چند خودرو متمرکز بشیم.

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

در بقیه‌ی مسائل زندگی هم این دو شرط قابل بررسی هستن. میشه ورود یه جوون ۱۸ ساله به دانشگاه رو انتخاب خودش دونست؟ اون جوون چه مسیرهایی رو برای زندگی می‌شناخته و چه شناختی از خودش و علائقش داشته که ادامه‌ی تحصیل رو انتخاب کرده؟ در انتخاب رشته‌ی تحصیلیش چطور؟ سرفصل‌ِ درس‌ها و آینده‌ی شغلی رشته‌ها رو درست و کامل می‌شناخته؟ با علایق تحصیلی و کاری خودش آشنا بوده؟ اگر هم از همه‌ی این موارد مطلع بوده، آیا توان علمی و شاید مهم‌تر ازون، توان تست‌زنیش برای قبول شدن تو رشته‌ای که انتخاب کرده کافی بوده؟

چند وقت پیش موقعیتی پیش اومد که با خودم فکر کنم که من چند بار تو زندگیم واقعا انتخاب کردم. چند بار گزینه‌هایی روبروم بودن که امکان انتخابشون رو داشتم و بعد بر اساس سلیقه و نظر خودم، حالا درست یا غلط،‌ یکی ازونها رو انتخاب کردم؟ متاسفانه تعداد این موارد خیلی کم بودن.

چیزی که تحمل این واقعیت رو سخت‌تر می‌کنه اینه که هر چی جلوتر می‌رم می‌بینم گزینه‌ها و انتخاب‌هام کمتر میشه. یه بخشی از این قضیه مربوط میشه به اینکه بعضی «تصمیماتِ بدون انتخابِ» من نتایج پایدار و بلندمدتی دارن و رهایی از اون نتایج به راحتی امکان‌پذیر نیست. حس می‌کنم تو یه سرازیری افتادم و با سرعت زیاد دارم به سمت دره قِل می‌خورم و تغییر مسیر که هیچ، حتی توان کاهش سرعتم رو هم ندارم.

 

 

 

 

۰ نظر
فربد صالحی

هنر توجه داشتن

 

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

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

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

امتحانات پایانی ترم سوم دیگه اوضاع خیلی بغرنج شد، درس‌ها و پروژه‌ها تخصصی‌تر و حجیم‌تر شده بودن و من برای اولین‌بار و آخرین‌بار (تا این لحظه) تو یه درس افتادم و البته نمره‌ی بقیه‌ی درس‌ها هم تعریفی نداشت. اینکه یه درسی رو قبول نشم باورش خیلی برام سخت بود و باعث شد که احساس کنم باید یه تغییری ایجاد کنم.

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

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

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

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

این گذشت تا مدتی پیش که برای پیگیری کاری به مجموعه‌ی دانشگاهی (نازلو) که تقریبا چهار سال اونجا زندگی کرده بودم رفتم، یه حس عجیبی بهم دست داد. جُدا از تغییرات زیادی که اتفاق افتاده بود و ساختمون‌ها و خیابون‌بندی‌های جدید، به نظرم رسید که از اون ۴ سال حضور و زندگی تو اون مجموعه‌ی بزرگ چیز زیادی به خاطر ندارم. انگار که فقط رفتم سر کلاس و برگشتم خوابگاه، درس خوندم، رو پروژه‌ها کار کردم، فیلم دیدم و .. یعنی کارهایی که هر جای دیگه‌‌ای هم دانشجو بودم انجام می‌دادم. 

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

سعی کردم یه راه‌حل مشابه، اما متناسب برای این مساله پیدا کنم. تصمیم گرفتم حین پیاده‌روی تو شهر یا وقتی تو فضاهای عمومی هستم، با گوشی موبایلم هر از چندگاهی عکسی بگیرم. فکر می‌کنم عکاسی رو هم میشه یه جور یادداشت‌برداری دونست، «یاد داشتِ»  انسان‌ها و فضا‌ها و حتی شاید احساسات.

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

 

 

 

 

 

 

۰ نظر
فربد صالحی

هیچ می‌دانی؟

 

به جز «فروغ فرخزاد» که شاعر بود، خانواده‌ی «فرخزاد» چهره‌ی فرهنگی مطرح دیگه‌ای هم داشت به اسم «فریدون فرخزاد» که علاوه بر شاعری، در زمینه‌ی برنامه‌سازی و اجرا در رادیو و تلویزیون، خوانندگی، ترانه‌سرایی و .. فعالیت داشت.

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

فریدون فرخزاد در سال ۱۹۹۱ میلادی (۱۳۷۲ شمسی) درکشور آلمان در منزلش به قتل رسید. حدس زده میشه که قتلش به فعالیت‌های سیاسی که بعد از سال ۱۳۵۷ داشت مربوط بوده. بیت‌های زیر، بخشی از شعر «در نهایت جمله آغاز است عشق» سروده‌ی این هنرمند هستش:

 

هیچ می‌دانی ز درد من هنوز، از درون گرم و سرد من هنوز

هیچ می‌دانی چه تنها مانده‌‎ام، چون صدف در عمق دریا مانده‌ام

هیچ می‌بینی زوال برگ را، ابتدا و انتهای مرگ را

هیچ می‌‎بینی نهاد و ریشه را، یاد داری لذت اندیشه را

هیچ می‌بینی چه سبز است این درخت، شاخه‌ای می‌چینی از اشجار بخت

 

هیچ باران را تماشا می‌کنی، چشمه‌ساران را تماشا می‌کنی

می‌زنی دستی به گیتاری هنوز، می‌دمد از پنجه‌ات باری هنوز

هیچ سازی در صدایت می‌خزد، نقش پروازی ز پایت می‌خزد

هیچ می‌دانی زبان من چه بود، لحن این و لفظ آن من چه بود

گوییا بشکسته بالم در سخن،‌ شمع بی‌رنگ زوالم در بدن

 

خسته‌ام از باور و ناباوری،‌ می‌نخواهم ارتفاع دیگری

عمق تب‌دار زمینم آرزوست،‌ یا شبی در مسلخ تاریک دوست

......

۰ نظر
فربد صالحی

یک نکته‌ی کوچک در خصوص صحبت‌های خانم سمیرا رحیمی

 

 

من خانوم «سمیرا رحیمی» رو از طریق «اینستاگرام» شناختم. خود اینستاگرام، ایشون رو برای «فالو» پیشنهاد کرده بود. وارد صفحه‌شون که شدم، چیزی که اولش توجهم رو جلب کرد جمله‌ای بود که برای معرفی خودشون نوشته بودن: «مدیر هنری مایکروسافت». خب تعداد ایرانی‌ها تو شرکت‌های تکنولوژی معروف دنیا کم نیست، ولی اونهایی که من می‌شناختم اکثرا تو بخش‌های فنی بودن.

به صفحه‌ی اینستاگرام‌ شون که یه نگاه کلی کردم، علاوه بر عکس‌های اکثرا جذابشون، «هایلایت‌» هایی داشتن از حضورشون تو دفاتر شرکت‌های معروف مثل «گوگل»، «پینترست»، «توییتر» و چندتا شرکت دیگه. چندتا از متن‌هایی که برای عکس‌هاشون نوشته بودن رو خوندم و خب، به نظرم رسید که واقعا ارزش فالو کردن دارن. خیلی در مورد کار و تکنولوژی و .. نمی‌نویسن، اما دیدی که نسبت به زندگی، دنیا و روابط بین انسانها دارن رو خیلی پسندیدم.

کم نیستن آقایون و مخصوصا خانوم‌هایی که سال‌ها تجربه‌ی حضور و فعالیت تو کشورها و حتی شرکت‌های معروفی رو دارن، خیلی هم تو اینستاگرام و سایر شبکه‌های اجتماعی فعالن و وقت میذارن، اما فعالیت عمده‌شون فقط عکس‌هایی هست که با لباس‌ها و آرایش‌های مختلف و تو مجالس مختلف از خودشون منتشر می‌کنن، با متن‌هایی که خوندنشون تجربه‌ای به خواننده اضافه نمی‌کنه. البته فالورهای زیادی هم دارن که نشون میده اون سبک هم طرفدارهای خودش رو داره، ولی اون عکس‌ها و متن‌ها بعد از یه مدت برای من تکراری و خسته‌کننده میشه و دیگه اون صفحات رو دنبال نمی‌کنم. اما نوشته‌های خانوم رحیمی برای من متفاوته.

خانوم رحیمی چند وقت پیش یه لایو اینستاگرامی داشتن با آقای «کوشیار عظیمیان». آقای عظیمیان در کنار فعالیت‌های دیگه‌شون در عرصه‌ی تجارت و تکنولوژی، تو شرکت «فیسبوک» هم کار می‌کنن. لایو جالبی بود و در مورد موضوعات مختلفی، از جمله آینده‌ی هوش مصنوعی، دنیای بعد از ویروس کرونا و .. صحبت شد.

تو بخشی از این لایو، آقای عظیمیان و خانوم رحیمی صحبتی می‌کنن درخصوص اینکه دیگه امروز با وجود اینترنت و ارتباطات گسترده‌ای که بوجود اومده، محدودیت‌های مکانی خیلی کمرنگ شده و شما اگه تخصص و مهارت داشته باشی از هر جای دنیا، حتی از یه روستا، با یه لپ‌تاپ و یه خط اینترنت پرسرعت می‌تونی تو حوزه‌ی موردنظرت تاثیرگذار باشی. خانوم رحیمی تو یه لایو دیگه هم که مصاحبه‌‌ی تاثیرگذاری در خصوص معرفی فعالیت‌های خودشون بود، اشاره‌‌ی مجددی به این موضوع می‌کنن.

من هم سالهاست به این موضوع فکر می‌کنم که دنیای بدون اینترنت چطور دنیایی می‌شد؟ ما چطور می‌تونستیم به این همه اطلاعات دسترسی پیدا کنیم، چطور باید با تکنولوژی‌های جدید آشنا می‌شدیم؟ چطور باید دایره‌ی دوستان و اطرافیانمون رو به خارج از شهر و کشوری که درش زندگی می‌کنیم گسترش می‌دادیم؟ ولی من در یه نکته با خانوم رحیمی و آقای عظیمیان تفاوت دیدگاه دارم.

درسته که با اینترنت تا حد خیلی زیادی میشه به دانش و تکنولوژی دسترسی پیدا کرد، ولی به نظر من برای خلق کردن و تاثیرگذار بودن به چیزی فراتر از اطلاعات و تکنولوژی نیازه. اینکه چطور باید یه ایده رو به یه محصول موفق تبدیل کرد، چطور براش بازاریابی کرد، چطور باید در بلندمدت از محصول پشتیبانی کرد تا کیفیتش حفظ بشه، چطور باید به مشتری خدمات داد تا راضی باشه، چطور باید وارد بازارهای جدید شد و مواردی از این دست رو با طی کردن دوره‌های آموزشی و کار کردن انفرادی نمیشه ازش آگاه شد.

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

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

این نکته‌ای بود که به نظرم در صحبت‌های ارزشمند خانوم رحیمی و آقای عظیمیان ازش غفلت شد. شاید علتش این باشه که این دوستان به طور ناخودآگاه تجربیات و ارتباطات امروزِ خودشون رو در نظر گرفتن و بر اون اساس چنین دیدگاهی پیدا کردن.

 

۰ نظر
فربد صالحی

استیو جابز، بورس، دلار و ندای درونی

«استیو جابز» یه سخنرانی معروف داره تو مراسم فارغ‌التحصیلی دانشجوهای دانشگاه «استنفورد» در سال ۲۰۰۵. سه تا داستان متفاوت از زندگی خودش تعریف می‌کنه و در واقع با استفاده از اونها سعی می‌کنه نکاتی رو به دانشجوها گوشزد کنه.

هر کدوم از این داستان‌ها نکات و جملات جالبی داره، اما از همون بار اولی که به این سخنرانی گوش کردم، یه جمله‌اش خیلی برام دلنشین بود و هنوز هم هستش. تو داستان سوم میگه «اجازه ندید هیاهو و سر و صدای دیگران، ندای درونی قلب شما رو خاموش کنه». شاید خنده‌دار به نظر بیاد، ولی هربار با شنیدنش احساساتی می‌شم.

این جمله شاید برای اونهایی بیشتر معنی داشته باشه که «ندای» درونی قلبشون با «فریادهای» بلند دور و برشون اصلا سازگار نیست و در یکی دو سال اخیر هم که تقریبا داره لابه‌لای اون فریادها خفه میشه.

اینکه اون «ندا» درسته یا این «فریادها» رو خیلی مطمئن نیستم، و البته احتمالا اینکه چی درسته و چی غلط رو مثل همیشه نتیجه و دستاورد نهایی مشخص می‌کنه. همونطور که اینجا در موردش نوشتم.

 

 

۰ نظر
فربد صالحی

زندگی در سرزمین شمالی

سریال ژاپنی «از سرزمین شمالی» یا "Kita no kuni kara"،‌ بخشی از خاطرات دوران کودکی منه. کل خانواده علاقه‌ی زیادی به این سریال داشتن و معمولا همگی موقع پخشش جلوی تلویزیون جمع بودن. البته طبق روال صدا و سیما، این سریال هم معمولا با فاصله‌ی چند سال بازپخش می‌شد که حداقل این یکی، البته به همراه سریال ایرانی «روزی روزگاری»، ارزش چندبار نگاه کردن رو داشت.  

جدا از موسیقی بسیار زیبای تیتراژ این سریال که هربار شنیدنش تاثیر زیادی روم میذاره، موضوعات جالبی توی این سریال مطرح میشه. تفاوت‌های فرهنگی بین روستا و شهر و سبک‌های زندگی متفاوت در اونها، اختلاف نظر و دیدگاه بین نسل‌های مختلف و البته موضوع «قضاوت کردن اشخاص» که به نظرم بارها تو این سریال بهش پرداخته میشه. 

در بین شخصیت‌های سریال، «جون» پسربچه‌ایه که سریال از زبون اون روایت میشه و در اختلاف و جدایی بین پدر و مادرش، معمولا طرف مادرش، «ریکو» رو می‌گیره که اهل «توکیو» و بزرگ شده‌ی شهر هستش، و خواهرش «هُتارو» که تقریبا همسن خودشه معمولا طرفدار نظرات و اقدامات پدرش، «گُرُ» هستش که متولد و بزرگ شده‌ی روستاست و بعد از جدایی، به همراه «جون و هُتارو» دوباره به اون روستا برمیگرده. «جون» زندگی تو روستای بدون امکانات و دور افتاده رو مسخره می‌دونه و دلش می‌خواد تو همون توکیو زندگی کنه و مرتب در حال غر زدن و گله و شکایته، اما «هتارو» معمولا در سکوت و بدون صحبتی در تایید یا رد، با تصمیمات پدرش همراهی می‌کنه.  

من چندین بار که سریال رو تماشا کردم، به غیر از آخرین بارها، همدلی بیشتری با «جون» و مادرش داشتم. اما هرچقدر گذشت، تصمیمات و اقدامات پدر خانواده یعنی «گُرُ» برام قابل فهم‌تر شد. البته به نظر من این بحث روستا و شهر فقط ظاهر قضیه است و موضوع اصلی، نمایش دو دیدگاه مختلف نسبت به زندگی و معنی اونه. فکر می‌کنم، و البته دلم می‌خواد اینطور باشه، که این تغییر دید در من به دلیل عمیق‌تر شدن نگاهم به زندگی و فراتر رفتن توجهم از زرق و برق‌های ظاهری بوده. 

 بالاتر گفتم که یکی از موضوعات مورد توجه این سریال «قضاوت» هستش. یکی از قسمت‌های سریال که حتی تو بچگی هم خیلی روم تاثیر گذاشت، اونجایی بودش که «ریکو» یعنی مادر بچه‌ها شدیدا بیماره و بچه‌ها برای اینکه در آخرین روزها کنار مادرشون باشن به توکیو رفتن. «ریکو» فوت می‌کنه و پدر یعنی «گُرُ» نه تنها در مراسم اصلی حضور نداره، بلکه وقتی صبح سه روز بعد خودش رو به توکیو می‌ٰرسونه، درحالیکه بقیه خوابن خیلی با اشتها شروع به خوردن غذا می‌کنه. در همون حال «جون» می‌بینتش و احساس می‌کنه پدرش خیلی بی توجه به مادر اونها و بی‌عاطفه‌ست. چند روز بعد وقتی تو جمع خانوادگی ناراحتیش رو از این رفتار پدرش ابراز می‌کنه، یه پیرمرد خردمندی که باهاشون تو روستا زندگی می‌کنه بهش میگه که «نباید در مورد پدرش اینطور فکر کنه. چون پدرش همون روز که خبر فوت رو می‌شنوه می‌خواسته خودش رو برسونه، ولی چون پول نداشته مجبور شده پول قرض کنه و با قطار بیاد، و کل مسیر رو هم نتونسته چیزی بخره و بخوره». کاش همیشه تو زندگی یه خردمندی باشه که گاهی این چیزا رو به آدم یادآوری کنه.  

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

یه نکته‌ی حاشیه‌ای هم اینکه، روستایی که داستان سریال در اون میگذره، «هُکایدو» نام داره که تو منطقه‌ی «فورانو» هستش. اگه اشتباه نکنم تو انیمیشن فوتبالیست‌ها هم یه تیم به اسم «فورانو» وجود داشت که همیشه در شرح سختی‌هایی که کشیدن می‌گفتن «ما تو برف و سرما تمرین کردیم». به نظر میاد که راست می‌گفتن! چون تو سریال «از سرزمین شمالی» هم زمستون‌های خیلی سخت و طولانی‌ای تو منطقه‌ی «فورانو» برقرار بود. 

 

 

 

۰ نظر
فربد صالحی

پیاده‌سازی CORS برای اَپ‌های موبایلی Ionic در Asp.Net Core

کارکرد SOP

فرض می‌کنیم از طریق یه مرورگر به وبسایت http://www.yyy.com مراجعه و در اون لاگین می‌کنیم، و این وبسایت هم شناسه‌ی این لاگین رو به صورت کوکی روی دستگاه ما ذخیره می‌کنه. تا زمانیکه این کوکی روی دستگاه ما ذخیره شده، هر وقت از این دستگاه و با همون مرورگر به این وبسایت مراجعه کنیم، با هر request این کوکی به این وبسایت ارسال میشه و وبسایت می‌تونه حساب کاربری ما رو بشناسه.

اما نکته اینجاست که حتی وقتی ما روی این دستگاه و با اون مرورگر مشخص، وبسایتی متفاوت مثل http://www.xxx.com  رو هم باز می‌کنیم، اگه این وبسایت در بخشی از عملیاتش یه request‌ به دامنه‌ی yyy بفرسته، مثلا API اون رو فراخوانی کنه، باز هم مرورگر همه‌ی کوکی‌های ذخیره شده توسط وبسایت yyy، از جمله کوکی لاگین ما رو، بدون توجه به مبدا ارسال کننده request که در اینجا xxx هستش، به yyy ارسال می‌کنه. در واقع مرورگر برای ارسال کوکی‌ها، به مقصد request توجه می‌کنه و نه ارسال‌کننده‌ی request. به این ترتیب وبسایت yyy ممکنه request ارسالی از سمت وبسایت xxx رو ارسال شده از طرف حساب کاربری ما در yyy تشخیص بده و اطلاعات محرمانه‌ی ما رو برگردونه یا دسترسی‌هایی به این وبسایت بده که نباید. 

سیاست مرورگرهای امروزی برای جلوگیری از این مشکل، Same Origin Policy یا "SOP" هستش. به طور کلی این سیاست به این صورت پیاده میشه که اسکریپت‌های بارگذاری شده توسط یک «منشاء»، نمی‌تونن به منابعی مثل API از منشاء متفاوت دسترسی داشته باشن. اما معیار یکسان بودن منشاء چیه؟

وقتی دو منبع دارای "scheme"، "host" و "port" کاملا یکسان باشند، اونوقت دارای منشاء یکسان درنظر گرفته میشن. به نظرم درک سریع موضوع با دیدن سه دسته‌ی زیر با منشاء‌های متفاوت امکان‌پذیر خواهد بود. دوتای اول فقط scheme های متفاوت دارن (http , https)، سه تای بعدی host های متفاوت دارن (example, www.example, myapp.example) و دوتای آخری پورت‌های متفاوت (8080 و 80 که مقدار پیشفرضه). بنابرین هیچکدوم از سه دسته منشاء یکسانی ندارن.

 

 

حالا میشه متوجه شد که وقتی در حال توسعه‌‌ی یه برنامه روی سیستم خودمون هستیم، با اینکه "backend"  و "frontend" هر دو دارن روی http://localhost اجرا میشن، چرا در حالت پیش فرض frontend  نمی‌تونه API رو از backend فراخوانی کنه. چون در واقع روی پورت‌های متفاوتی در حال اجرا هستن، یکی به فرض روی http://localhost:4200 و دیگری روی http://localhost:44353. بنابراین طبق توضیحات بالا منشاء یکسانی ندارن، با اینکه پروتکل (http) و host اونها (localhost) یکسانه. 

 

کارکرد CORS

گاهی لازم میشه که از محدودیت‌های اعمال شده بوسیله‌ی SOP کم کنیم. مثلا یه اپ تحت وب با انگولار نوشتیم و روی دامنه‌ی https://www.aaa.com قرار دادیم که باید API قرار گرفته روی دامنه‌ای با منشاء متفاوت مثل https://api.aaa.com رو فراخوانی کنه. برای این منظور از مفهوم Cross Origin Resource Sharing یا "CORS" استفاده می‌کنیم. در واقع ما با استفاده از CORS به تعدادی از دامنه‌ها اجازه‌ی عبور از محدودیت‌های اعمال شده بوسیله‌ی SOP رو میدیم. برای این کار، اگه API رو با Asp.Net Core پیاده کرده باشیم، در فایل "Startup.cs" و در تابع "ConfigureServices" خواهیم داشت:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy("AllowMyOrigin",
                builder => builder.WithOrigins("https://www.aaa.com").AllowAnyHeader());
            });

           ....
        }

در واقع ما یه Policy با اسم دلخواه "AllowMyOrigin" که هر اسم دیگه‌ای هم می‌تونه باشه تعریف کردیم که میگه به "https://www.aaa.com" اجازه‌ی دسترسی به API رو بده، با اینکه منشاء متفاوتی داره. حالا در همون فایل و در تابع "Configure" این Policy رو اِعمال می‌کنیم:

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            ....

            app.UseCors("AllowMyOrigin");

            .....
        }

به این ترتیب، محدودیت SOP برای https://www.aaa.com برداشته میشه. 

 

CORS برای اپ Ionic

می‌دونیم که SOP عملا برای برنامه‌‌هایی که روی مرورگر اجرا میشن مهمه و در واقع اپ‌های native موبایل دچار محدودیت در این زمینه نیستن. برنامه‌های تحت ‌وب هم که یه دامنه‌ی مشخص دارن و دیدیم که می‌تونیم  این دامنه رو استثنا کنیم. اما اپ‌های موبایل تولید شده با Ionic با توجه به «هیبریدی» بودنشون چه وضعی دارن؟

می‌دونیم که اپ‌های Ionic عملا داخل WebView اجرا میشن. بنابراین نه مثل برنامه‌های تحت وب تو دامنه‌ی مشخصی قرار دارن که اون رو استثنا کنیم،‌ و نه کاملا native هستن که SOP شاملشون نشه. بر طبق مستندات وبسایت Ionic، برای رفع این مشکل میشه از روش زیر استفاده کرد:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy("AllowMyOrigin",
                builder => builder.WithOrigins("capacitor://localhost", // capacitor: ios
                                               "http://localhost",      // capacitor: android | ionic webview 3.x on cordova: android
                                               "ionic://localhost",     // ionic webview 3.x on cordova : ios
                                               "http://localhost:8080", // ionic webview 2.x on cordova : ios & android
                                               ).AllowAnyHeader());

            });

            ....
        }

 

در واقع به جای اینکه یه دامنه خاص رو استثنا کنیم، چهار منشاء بالا رو که هرکدوم یک یا چند حالت رو برای اپ‌های Ionic پوشش میدن استثنا می‌کنیم و به این ترتیب محدودیت SOP برای اپ‌های Ionic برداشته میشه. 

۰ نظر
فربد صالحی

درباره‌ی «قدرت عادت»

 

 

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

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

 

- درصد زیادی از فعالیت‌های ما براساس عادت‌هامون انجام میشه و نه واقعا بر اساس تصمیمات. علت ظهور عادت‌ها تمایل مغز ما هستش به فعالیت کمتر. وجود مفهوم عادت باعث شده مغز ما انرژی کافی برای فعالیت‌های مفید داشته باشه و وقت کمتری صرف امور روزمره کنه.

 

- «چرخه‌ی عادت» شامل «نشانه»، «عکس‌العمل همیشگی» ما به اون نشانه و «پاداشی» هستش که به ازای اون عکس‌العمل دریافت می‌کنیم و باعث میشه که ما باز هم این روند رو تکرار کنیم. 

 

- عادت‌های ما هیچوقت کاملا از بین نمیرن. این برای چیزای مثبتی که یاد گرفتیم خوبه و باعث میشه نیاز به یادگیری مجدد اونها نداشته باشیم. اما وقتی می‌خوایم یه عادت منفی رو ترک کنیم کار رو برامون سخت ‌می‌کنه. 

 

- قدرت عادت‌ به قدری زیاده که ازش استفاده‌های تجاری میشه. مثلا برای اینکه مشتری به صورت مداوم از یه خمیر دندون استفاده کنه، کاری می‌کنن که در انتهای فرآیند مسواک زدن یه طعم خاص تو دهان مشتری باقی بمونه. مشتری به تدریج به این طعم خاص عادت می‌کنه، به طوریکه تمیز شدن دندان‌ها براش مترادف میشه با حس کردن این طعم خاص. در حالیکه در عمل بود و نبود اون طعم تاثیری در بهداشت دهان و دندان نداره. یا اینکه امکان کف کردن به شامپوها اضافه میشه تا مشتری حس کنه که شامپو داره کارش رو درست انجام میده، در واقع مشتری عادت کرده که شامپو باید کف تولید کنه. 

 

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

 

- به جای تلاش برای حذف یه عادت نادرست، بهتره اون رو با عادت دیگه‌ای جایگزین کنیم. یعنی در چرخه‌ی عادت، «نشانه»‌ و «پاداش» ثابت باقی بمونن و «عکس‌العمل» ما به اون نشانه تغییر کنه. آزمایشات مختلف نشون میده که اکثر عادت‌ها رو میشه با این روش تغییر داد، اما گاهی بعضی عادت‌ها در مواقع فشار و استرس دوباره در ما ظاهر میشن. در اینجور مواقع حضور مداوم در یه جمع و گروه که هدف مشابهی، مثلا ترک سیگار، دارن و موفق بودن، هم باعث میشه که اعتقادمون به امکان‌پذیر بودن ترک سیگار افزایش پیدا کنه و هم تعهد ما به اعضای اون گروه برای سیگار نکشیدن، کمک کنه که بتونیم خودمون رو کنترل کنیم. 

 

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

 

- تعداد زیادی از تحقیقات نشون میدن که «اراده داشتن» مهمترین «عادت کلیدی» در موفقیت فردی هستش. زمانی یه تئوری مطرح شد که «داشتن اراده» رو هم مثل ریاضی یه مهارت آموختنی می‌دونست. اما بعضی محققین این تئوری رو قبول نداشتن و میگفتن که اگه اراده یه مهارت باشه باید در طول زمان ثابت بمونه، نه اینکه یه روز کمتر و روز دیگه بیشتر باشه.

 

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

 

- وقتی افراد عضلات اراده‌شون رو در بخشی از زندگیشون تقویت می‌کنن، مثلا برای حضور مرتب در باشگاه ورزشی، این تقویت در سایر بخش‌های زندگی مثل غذا خوردن یا کار کردن هم تاثیر میذاره. به همین دلیل هستش که فرستادن بچه‌ها به کلاس پیانو یا ورزش مهمه. قرار نیست حتما یه پیانیست یا یه ستاره‌ی فوتبال ازین کلاس‌ها دربیاد. اما وقتی یه بچه‌ی پنج‌ساله بتونه یه توپ رو به مدت ۱۰ دقیقه دنبال کنه، احتمال زیادی داره که این بچه در نوجوانی بتونه انجام تکالیف درسیش رو سر موقع شروع کنه. (شاید این هم دلیل دیگه‌ای برای اینکه پدر و مادر متهم نیستن)

 

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

 

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

 

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

 

- برای درک اینکه عادت‌ها چطور عمل میکنن و چطور میشه اونها رو تغییر داد یه چهارچوب میشه تعیین کرد:

۱- تشخیص عکس‌العمل یا روتین: آشکارترین جنبه‌ی یک عادت هستش، یعنی همون رفتاری که می‌خوایم تغییرش بدیم. ۲- آزمایش پاداش‌ها: باید بفهمیم از انجام یه عادت می‌خوایم دقیقا به چه پاداش یا لذتی برسیم. وقتی هر روز می‌ریم کافی‌شاپ، می‌خوایم تنوع ایجاد کنیم، با کسی حرف بزنیم یا گشنگیمون رو رفع کنیم؟ برای تشخیص صحیح باید خیلی با حوصله رفتار کنیم و ممکنه نیاز به صرف زمان زیادی برای بررسی تک تک حالت‌ها باشه. ۳- تشخیص نشانه: باید بفهمیم چه چیز محرک ما برای انجام عادت هستش. ازونجایی که یه عادت رو به موارد متعددی میشه مربوط دونست، تشخیص علت واقعی مشکل میشه. آزمایش‌ها نشون میدن که تقریبا نشانه‌های عادتی به پنج دسته تقسیم میشن: مکان، زمان، وضعیت احساسی، سایر افراد و اقدام قبلی ما. به عنوان مثال، وقتی همیشه ساعت دو بعدازظهر تو محل کار قهوه می‌خوریم، اون زمان خاص باعث نیاز ما به قهوه میشه یا حضور ما در محل کار؟ ۴- داشتن یه طرح: وقتی سه مرحله‌ی قبل رو بدرستی پیش بردیم، حالا باید بدونیم که وقتی نشانه اتفاق افتاد، با انجام چه اقدام جدیدی به همون پاداش قبلی می‌رسیم؟ 

 

 

1- One paper published by a Duke University researcher in 2006 found that more than 40 percent of the actions people performed each day weren't actual decisions, but habits.

 

2- Habits, scientists say, emerge because the brain is constantly looking for ways to save efforts.

 

3- This effort-saving instinct is a huge advantage. An efficient brain requires less room, which makes for a smaller head, which makes childbirth easier and therefore causes fewer infant and mother deaths. An efficient brain also allows us to stop thinking constantly about basic behaviors, such as walking and choosing what to eat, so we can devote mental energy to inventing spears, irrigation systems, and, eventually, airplanes and video games.

 

4- The habit loop: First, there is a cue, a trigger that tells your brain to go into automatic mode and which habit to use. Then, there is the routine, which can be physical or mental or emotional. Finally, there is a reward, which helps your brain figure out if this particular loop is worth remembering for the future.

 

5- Habits never really disappear. They're encoded into the structures of our brain, and that's a huge advantage for us, because it would be awful if we had to relearn how to drive after every vacation. The problem is that your brain can't tell the difference between bad and good habits, and so if you have a bad one, it's always lurking there, waiting for the right cues and rewards. 

 

6- "Consumers need some kind of signal that a product is working". Tracy Sinclair, who was a brand manager for Oral-B and Crest Kids Thoothpaste, told me. "We can make toothpaste taste like anything- blueberries, green tea- and as long as it has a cool tingle, people feel like their mouth is clean. The tangling doesn't make the toothpaste work any better. It just convinces people it's doing the job.

 

7- "Champions don't do extraordinary things," Dung would explain. "They do ordinary things, but they do them without thinking, too fast for the other team to react. They follow the habits they've learned."

 

8- To change a habit, you must keep the old cue, and deliver the old reward, but insert a new routine. That's the rule: if you use the same cue, and provide the same reward, you can shift the routine and change the habit. Almost any behavior can be transformed if the cue and reward stay the same.

 

9- If you want to quit smoking, figure out a different routine that will satisfy the cravings filled by cigarettes. Then, find a support group, a collection of other former smokers, or a community that will help you believe you can stay away from nicotine, and use that group when you feel you might stumble.

 

10- Some habits have the power to start a chain reaction, changing other habits as they move through an organization. Some habits, in other words, matter more than others in remaking businesses and lives. These are "keystone habits", and they can influence how people work, eat, play, live, spend, and communicate. Keystone habits start  a process that, over time, transforms everything. 

 

11- Keystone habits say that success doesn't depend on getting every single thing right, but instead relies on identifying a few key priorities and fashioning them into powerful levers.

 

12- Once a small win has been accomplished, forces are set in motion that favor another small win. Small wins fuel transformative changes by leveraging tiny advantages into patterns that convince people that bigger achievements are within reach. 

 

13- Dozens of studies show that willpower is the single most important keystone habit for individual success. 

 

14- Willpower isn't just a skill. it's a muscle, like the muscles in your arms or legs, and it gets tired as it works harder, so there's less power left over for other things. 

 

15- If you want to do something that requires willpower-like going for a run after work- you have to conserve your willpower muscle during the day. If you use it up too early on tedious tasks like writing emails or filing out complicated and boring expense forms, all the strength will be gone by the time you get home. 

 

16- As people strengthened their willpower muscles in one part of their lives- in the gym, or a money management program- that strength spilled over into what they ate or how hard they worked. Once willpower became stronger, it touched anything. 

 

17- That's why signing kids up for piano lessons or sports is so important. It has nothing to do with creating a good musician or a five-year-old soccer star. When you learn to force yourself to practice for an hour or run fifteen laps, you start building self-regulatory strength. A five-year-old who can follow the ball for ten minutes becomes a sixth grader who can start his homework on time.

 

18- Organizaional habits offer a basic promise: If you follow the established patterns and abide by the truce, then rivalries won't destroy the company, the profits will roll in, and, eventually, everyone will get rich.

 

19- A company with dysfunctional habits can't turn around simply because a leader orders it. Rather, wise executives seek out moments of crisis-or create the perception of crisis-and cultivate the sense that something must change, until everyone is finally ready to overhaul the patterns they live with each day.

 

20- Social habits are what fill streets with protesters who may not know one another, who might be marching for different reasons, but who are all moving in the same direction. 

 

21- A movement starts because of the social habits of friendship and the strong ties between close acquaintances. It grows because of the habits of a community, and the weak ties that hold neighborhoods and clans together. And it endures because a movement's leaders give participants new habits that create a fresh sense of identity and a feeling of ownership. Usually, only when all three parts of this process are fullfilled can a movement become self-propelling and reach a critical mass.

 

22- A framework for understanding how habits work and a guide to experimenting with how they might change: 1-Identify the routine 2-Experiment with rewards 3-Isolate the cue 4-have a plan

 

 

 

۰ نظر
فربد صالحی