Lynda Weinman
بسیاری لیندا واینمن را "مادر آموزش اینترنتی" لقب داده اند. وی که هم اکنون (2016) ۶۰ سال سن دارد در ۱۹۹۵ سایتی را راه اندازی کرد که به عنوان منبعی رایگان برای دانش آموزان محسوب می شد. طی آن دوران لیندا به صورت خودآموز در حال یادگیری طراحی وب بود و تلاش داشت تا آموخته هایش را با سایرین نیز به اشتراک بگذارد. هر چند این روزها مسئله یاد شده امری عادی به حساب می آید اما در اواسط دهه نود -روزگاری که هنوز یوتیوبی نبود- یادگیری طراحی وب به صورت خودجوش چندان مسئله رایجی محسوب نمی گشت.
اشتیاق آن روزهای لیندا در یادگیری ، حالا به لطف وب سایت و سرویسی هایی همانند آنچه خود او راه اندازی کرده به میلیون ها نفر دیگر در سراسر دنیا نیز سرایت نموده و آنها می توانند با اندک هزینه ای و در هر جا و مکانی آنچه که دوست دارند را فرا بگیرند.
ناگفته نماند که پیدا کردن مسیر صحیح کسب و کار، حتی برای لیندا واینمن نیز بدون فراز و نشیب نبوده و وی هم مانند هر فرد موفق دیگری در راه رسیدن به پیروزی پستی و بلندی های بسیاری را از سر گذرانده.
درک نیازی که هیچکس به آن پاسخ نداده بود
وقتی در سال ۱۹۹۳ واینمن طراحی وب را اندک اندک فرا گرفته و قصد آموزش دادن آن را پیدا کرد، ابتدا به کتاب فروشی مراجع نمود و سعی کرد کتابی را به عنوان مرجع انتخاب و از روی آن به دانش آموزان خود درس بدهد. اما وی متوجه شد کتاب فروشی ها و کتابخانه ها تنها راهنماهایی بسیار فنی و پیچیده را ارائه می نمایند که درک شان برای افراد معمولی و با دانش متوسط تقریباً غیر ممکن محسوب می شود.
لیندا واینمن میگوید: به یاد می آورم که با خود فکر کردم شاید چنین کتابی هنوز وجود ندارد. بلافاصله از کتاب فروشی به خانه رفتم و ایده ی اولیه نوشتن آن را پیاده سازی کردم.
کمی بعد کتاب "طراحی گرافیک های تحت وب" که به باور بسیاری اولین کتاب ساده و قابل درک توسط عموم در رابطه با حرفه طراحی وب بود، توسط افراد بسیاری در سراسر دنیا به عنوان یک مرجع غیر فنی مورد استفاده قرار می گرفت و محبوبیتی غیر قابل باور به دست آورده بود.
درست در همان زمان و در سال ۱۹۹۵ واینمن آدرس ایمیل فردی را مشاهده نمود که به صورت debbie@debbie.com بود و مشتاق شد بداند آیا دامنه ی لیندا نیز برای ثبت کردن در دسترس قرار دارد یا خیر. وی این دامنه را خریداری و وبسایتی تحت آن راه انداخت تا از طریقش بتواند با دانش آموزان و همچنین خوانندگان کتاب خود ارتباط برقرار نماید.
شروعی کوچک و توسعه ای آهسته و پیوسته
بعد از موفقیت کتاب واینمن همسر او، بروس هون (Bruce Heavin)، که در اصل موسس کمپانی لیندا نیز محسوب می شود، پیشنهاد داد در طول تعطیلات بهاره یکی از سالن های کامپیوتر دانشگاهی را اجاره نموده و در آن به مدت یک هفته دوره آموزش طراحی وب برگزار نمایند.
آنها این ایده را عملی کردند و سپس به منظور جذب افراد علاقه مند بنر تبلیغاتی را روی سایت لیندا قرار دادند. نه تنها ظرفیت کلاس یاد شده بسیار سریع پر گشت، بلکه افراد از گوشه و کنار دنیا و حتی مثلاً شهر وین برای حضور در آن ثبت نام نمودند.
اینکه تنها یک بنر در سایت خود قرار دهیم و سپس مردم از سراسر دنیا برای حضور در کلاس مان ثبت نام نمایند، باعث شده بود تا شوکه شویم.
آن کارگاه های یک هفته ای بسیار زود باعث شدند تا کسب و کار امروزی لیندا و همسرش پایه گذاری گردد. واینمن از درآمد حق امتیاز کتاب خود با ارزش ۲۰ هزار دلار استفاده کرد و مدرسه طراحی وبی را راه اندازی نمود که دوره هایش در هر ماه به سرعت پیش فروش شده و ظرفیت شان تکمیل می گشت. لیندا می گوید: "مشتریان زیادی وجود داشتند که مجبور بودیم به آنها نه بگوییم، زیرا ظرفیتی برای پذیرش شان وجود نداشت".
اوج گیری پس از بحران
کسب و کار لیندا پس از چند سال توانست ۳۵ فرصت شغلی را ایجاد و درآمدی ۳.۵ میلیون دلاری را فراهم کند. اما در سال ۲۰۰۱ و پس از انفجار حباب دات کام و حوادث مرتبط به یازده سپتامبر، تمایل افراد به یادگیری دروس طراحی وب کاهشی عجیب پیدا کرد، تا جایی که واینمن و همسرش در ادامه دادن مسیر مردد شده بودند.
کمپانی آنها دچار بحرانی جدی گشت، واینمن و هون ۷۵ درصد کارمندان خود را اخراج کردند و تنها ۹ نفر در استخدام شان باقی ماند. دفتر و مقر برگزاری دوره های لیندا نیز کوچک تر گشت و سعی را بر این گذاشتند تا واحد هایی با قیمت ارزان تر اجاره نمایند.
روز های سیاهی بود و حتی خودم تردید داشتم که می توانیم این کسب و کار را ادامه دهیم یا خیر.
خود واینمن در مورد آن ایام می گوید: "همه در حال نبرد برای بقا بودند و سعی می کردند سر خود را بالای آب نگه دارند. ما نیز وضعیتی مشابه را تجربه می کردیم و در نهایت درست همین زمان بود که تصمیم گرفتیم خدمات خود را به صورت کاملاً آنلاین ارائه نماییم."
روزگاری که ایده یاد شده شکل گرفت و سپس عملی گشت (ارائه خدمات به صورت آنلاین) تماشای فیلم بر روی کامپیوترها تازه در حال رواج یافتن بود. لیندا دات کام تصمیم گرفت در ازای سرویسی که ارائه می کند هزینه حق اشتراکی ۲۵ دلاری را به صورت ماهیانه دریافت نماید.
افراد اندکی از این راهکار استقبال کردند. واینمن می گوید: "درآمد مان به شدت افت کرده بود. روز های سیاهی بود و حتی خودم تردید داشتم که می توانیم این کسب و کار را ادامه دهیم یا خیر."
با تنها ۱۰۰۰ نفر پرداخت کننده حق اشتراک ماهیانه، بقای کمپانی به نظر بسیار سخت می رسید. ایجاد یک جامعه ی آنلاین زمان بر است و لیندا به خود امید می داد که آنها مسیر شان را عوض نکرده اند بلکه راهی تازه را شروع نموده اند پس باید صبر پیشه کنند. او توضیح می دهد که "همه چیز بسیار آهسته پیش رفت. ولی کم کم پرداخت حق اشتراک ماهیانه آنلاین رواج پیدا کرد و مقدار آن هر ساله چندین برابر شد".
در ۲۰۰۶ تعداد مشترکین به ۱۰۰.۰۰۰ نفر رسید و واینمن و همسرش ۱۵۰ کارمند خود را به همراه خانواده هایشان به دیزنی لند بردند تا موفقیت بزرگی که رقم خورده بود را جشن بگیرند.
ایجاد فرهنگ سازمانی مناسب در زمان رشد
اینکه اعضا و کارمندان شرکت همانند یک خانواده با یکدیگر در تعامل باشند همواره برای لیندا حائز اهمیت بوده و او حتی همیشه تلاش داشته تا افراد تحت استخدام خود را با اسم کوچک بشناسد و صدا بزند. ولی رشد سریع کمپانی و رسیدن تعداد کارمندان به عدد ۵۰۰، رفته رفته چالش هایی تازه را پدید می آورد و سبب می گردد واینمن در ایده آل های خود بازنگری نماید.
وی می گوید: "چالش اصلی بر سر تعیین سمت و مقام افراد بود. اینکه با هر کس چه برخوردی باید صورت بگیرد. همه ی کسانی که رشدی سریع را در شرکت خود تجربه کرده اند می دانند که ایجاد سلسله مراتب تا چه حد اهمیت دارد."
در ۲۰۰۷ تصمیم بر این شد تا یک مدیرعامل جهت اداره ی بهتر مجموعه به آن اضافه گردد. به گفته ی خود لیندا "درست در همان زمان بود که او تصمیم گرفت در رفتارها و برخوردهای خود سیاست بیشتری داشته و بروکراتیک تر عمل نماید".
ایجاد فرهنگ سازمانی برای شرکتی با بیش از ۵۰۰ کارمند کاری بسیار دشوار خواهد بود ولی حتی آنچه از این مسئله نیز دشوارتر به حساب می آید پایه ریزی درست و مطابقت دادن افراد با فرهنگ یاد شده است. اینکار در زمانی که یک شرکت نوپا و کوچک محسوب می شود چندان سخت نیست و شاید ضروری هم نباشد ولی با رشد آن صورت پذیرفتنش الزام می یابد.
پیش به سوی موفقیت
مدتی است که بسیاری تصور می کنند دوره های آموزش ویدئویی می توانند آینده آموزش به حساب بیایند.
در طی سال های اخیر کمپانی واینمن توسط افراد گوناگونی که در حرفه ی خود بهترین هستند دوره های آنلاین متعددی را ایجاد نموده و سعی کرده نشان دهد این دوره های آنلاین راه و روش یادگیری را برای همیشه متحول کرده اند.
لیندا دات کام قالبی معین و کارآمد را برای دوره های آموزشی اش پدید آورده و سپس کوشش کرده تا از نظر موضوعی نیز در بین مطالب مورد تدریس خود تنوع ایجاد نماید. روزگاری در وب سایت مورد بحث تنها ۲۰ دوره آموزش ویدئویی آنلاین وجود داشت، اما اکنون این رقم به ۶۳۰۰ رسیده که شامل ۲۶۷.۰۰۰ ویدئوی آموزشی می گردد.
ارائه ی کتابخانه ای ویدئویی به جای اینکه از افراد درخواست شود تا در دوره هایی مشخص با روال معمول و پیوسته شرکت نمایند، عاملی بوده که سبب گشته شیوه ی آموزشی لیندا دات کام نسبت به سایرین کاملاً متفاوت گردد.
واینمن می گوید: "مدتی است که بسیاری تصور می کنند دوره های آموزش ویدئویی می توانند آینده آموزش به حساب بیایند. ما به خاطر همین تفاوت مان مورد توجه قرار داشته و تحت نظر سایرین هستیم".
فروش به لینکدین Linked in
من به شخصه بر روی اثری که از همکاری دو کمپانی با یکدیگر پدید می آید متمرکز هستم.
واینمن زمانی که متوجه می شود لینکدین قصد خرید کمپانی اش را دارد، در ابتدا شوکه می گردد. او و همسرش هرگز به دنبال فروش شرکت خود و یافتن مشتری برای آن نبوده اند و البته در سن ۶۰ سالگی وی هنوز هم احساس می نموده که برای بازنشستگی بسیار زود است.
اما رفته رفته به این نتیجه می رسند که این فروش و ادغام دو کمپانی با یکدیگر احتمالاً امری منطقی و موثر خواهد بود. هر دو شرکت به نوعی تلاش داشته اند به افراد کمک کنند تا وضعیت شغلی خود را بهبود بخشند و احتمالاً در کنار یکدیگر بسیار بهتر از گذشته می توانند این هدف را محقق کنند.
واینمن می گوید: "بسیاری از مردم بر روی رقم معامله صورت پذیرفته تمرکز دارند و شاید این مسئله برای افرادی که با صنعت ما آشنا نیستند یک شگفتی محسوب شود. ولی خود من به شخصه بر روی اثری که از همکاری دو کمپانی با یکدیگر پدید می آید متمرکز هستم و اولین چیزی که در رابطه با این موضوع به ذهنم می رسد، میزان بزرگی این اثرگذاری است."
به نظر می آید حتی لیندا واینمن هم از موفقیت خودش شگفت زده است و تصور چنین روزی را نداشته. بر خلاف بسیاری از بنیانگذاران کمپانی ها مهم تکنولوژیک امروزی ، وی با هدف کسب درآمد های کلان شروع به کار نکرده و قصد اولیه اش هرگز ایجاد کمپانی نبوده که توسط لینکدین به ارزش ۱.۵ میلیارد دلار خریداری شد. او تنها سعی داشته آنچه که برای خودش جذاب بوده، یعنی طراحی وب را به سایرین نیز بیاموزد.
واینمن که بر حسب اتفاق بدل به یک معلم گشته، می گوید: "من نه چندان گنگ بودم و نه به آن صورت خوره ی دنیای تکنولوژی. افراد زیادی پیش من می آمدند و می پرسیدند چگونه این کار را انجام می دهی؟ یا چگونه آن کار را انجام می دهی؟ هرگز با خودم فکر نکرده بودم به اشتراک گذاشتن دانش در رابطه با آنچه که برایت جالب است، در واقع همان تدریس کردن محسوب می شود."
در حالکیه لیندا اعتقاد دارد تنها در زمان و مکان مناسبی حضور داشته، سخت است بدل شدن یک دامنه ی ۳۵ دلاری به کسب و کاری ۱.۵ میلیارد دلاری را حاصل یک اتفاق بدانیم.
درباره برخی از مهمترین ابزارهای موجود در اکوسیستم React که به شما در سادهسازی توسعه و مدیریت پیچیدگیهای حالت، عوارض جانبی، ساختار و استایل کمک میکنند، بیاموزید. مربی Shaun Wassell نحوه ایجاد یک پروژه اصلی React را نشان می دهد و سپس نحوه اضافه کردن Redux، ایجاد thunks، استفاده از انتخابگرها، کار با styled-components، انجام تست و موارد دیگر را توضیح می دهد.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[فارسی]
01 مقدمه
01-01 بیایید با React پروژه های مدرن بسازیم
01-02 آنچه باید بدانید
02 راه اندازی پروژه
02-01 فایل های راه اندازی و تمرین اولیه
03 بررسی اجمالی پروژه
03-01 چرا از اکوسیستم React استفاده کنیم؟
03-02 با ابزارهای اکوسیستم React آشنا شوید
04 ایجاد پروژه های React از ابتدا
04-01 ساخت یک پروژه React از ابتدا
04-02 نقطه ورود React
04-03 ایجاد یک اسکریپت React
04-04 استفاده از بسته وب برای ساخت برنامه React
04-05 افزودن اجزای بیشتر
05 ایجاد پروژه با Vite، Next.js، Remix و موارد دیگر
05-01 یک پروژه با Create React App ایجاد کنید
05-02 یک پروژه با Vite ایجاد کنید
05-03 یک پروژه با Next.js ایجاد کنید
05-04 یک پروژه با Remix ایجاد کنید
06 ایجاد یک پروژه اساسی
06-01 با برنامه نمونه آشنا شوید
06-02 ایجاد جزء TodoList
06-03 ایجاد مؤلفه TodoListItem
06-04 ایجاد مؤلفه NewTodoForm
06-05 قرار دادن برنامه در کنار هم
07 افزودن Redux
07-01 چرا به Redux نیاز داریم؟
07-02 Redux چگونه کار می کند؟
07-03 افزودن Redux به برنامه React
07-04 ایجاد اقدامات Redux
07-05 ایجاد کاهنده
07-06 بارگیری داده ها از فروشگاه
07-07 ارسال اقدامات Redux
07-08 افزودن محمولههای عملیاتی
چالش 07-09: اضافه کردن یک جریان Redux
07-10 راه حل: اضافه کردن یک جریان Redux
07-11 Redux DevTools
08 جایگزین های Redux
08-01 مدیریت دولتی با پس زدن
08-02 مدیریت دولتی با MobX
09 مقابله با عوارض جانبی
09-01 چرا به Redux-Thunk نیاز داریم؟
09-02 Redux-Thunk چگونه کار می کند؟
09-03 Todos API
09-04 پیگیری وضعیت بارگیری
09-05 بارگیری داده ها با Thunks
09-06 بازسازي کاهنده کارها
09-07 استفاده از Thunks برای ایجاد منابع سرور
09-08 استفاده از Thunks برای حذف منابع سرور
چالش 09-09: استفاده از Thunks برای به روز رسانی منابع سرور
09-10 راه حل: استفاده از Thunks برای به روز رسانی منابع سرور
10 انتخابگر
10-01 چرا به انتخابگرها نیاز داریم؟
10-02 ایجاد انتخابگر
10-03 ترکیب انتخابگرها
10-04 با استفاده از تابع createSelector
11 مدل کامپوننت
11-01 چرا به کامپوننت های سبک نیاز داریم؟
11-02 ایجاد یک کامپوننت سبک
11-03 انتقال لوازم به کامپوننت های استایل
12 تست
12-01 آزمایش اکوسیستم های React
12-02 تست کاهنده
12-03 تست انتخابگرها
12-04 تست مولفههای مدلسازی شده
13 نتیجه گیری
13-01 مراحل بعدی ساخت با React
[ENGLISH]
01 Introduction
01-01 Lets build modern projects with React
01-02 What you should know
02 Project Setup
02-01 Basic setup and exercise files
03 Project Overview
03-01 Why use the React ecosystem?
03-02 Meet the React ecosystem tools
04 Creating React Projects from Scratch
04-01 Building a React project from scratch
04-02 The React entry point
04-03 Creating a React script
04-04 Using webpack to build a React app
04-05 Adding more components
05 Creating Projects with Vite, Next.js, Remix, and More
05-01 Create a project with Create React App
05-02 Create a project with Vite
05-03 Create a project with Next.js
05-04 Create a project with Remix
06 Creating a Basic Project
06-01 Meet the sample app
06-02 Creating the TodoList component
06-03 Creating the TodoListItem component
06-04 Creating the NewTodoForm component
06-05 Putting the app together
07 Adding Redux
07-01 Why do we need Redux?
07-02 How does Redux work?
07-03 Adding Redux to a React app
07-04 Creating Redux actions
07-05 Creating reducers
07-06 Loading data from the store
07-07 Dispatching Redux actions
07-08 Adding action payloads
07-09 Challenge: Adding a Redux flow
07-10 Solution: Adding a Redux flow
07-11 Redux DevTools
08 Alternatives to Redux
08-01 State management with Recoil
08-02 State management with MobX
09 Dealing with Side Effects
09-01 Why do we need Redux-Thunk?
09-02 How does Redux-Thunk work?
09-03 The Todos API
09-04 Keeping track of the loading state
09-05 Loading data with Thunks
09-06 Refactoring the to-dos reducer
09-07 Using Thunks to create server resources
09-08 Using Thunks to delete server resources
09-09 Challenge: Using Thunks to update server resources
09-10 Solution: Using Thunks to update server resources
10 Selectors
10-01 Why do we need selectors?
10-02 Creating selectors
10-03 Combining selectors
10-04 Using the createSelector function
11 Styled-Components
11-01 Why do we need styled-components?
11-02 Creating a styled-component
11-03 Passing props to styled-components
12 Testing
12-01 Testing React ecosystems
12-02 Testing reducers
12-03 Testing selectors
12-04 Testing styled-components
13 Conclusion
13-01 Next steps for building with React
Shaun Wassell یک توسعه دهنده ی نرم افزار full-stack است که در برنامه نویسی و اتوماسیون صنعتی تخصص دارد. Shaun برنامه نویسی را از دوره ی راهنمایی با امید به ساختن بازی های ویدئویی خارق العاده شروع کرد. او مدرک علوم کامپیوتر را گرفت و شغل توسعه ی نرم افزار را به صورت حرفه ای ادامه داد. او هم از توسعه ی full-stack و هم از توسعه ی mobile لذت میبرد. در کنار کامپیوتر، Shaun به موسیقی، معماری، باغبانی و درست کردن دستی ابجو هم علاقه دارد.