با این حال، برای تعیین مرز بین DevOps و عملیات فناوری و اطلاعات نیازی به دانش پیشرفته ندارید تنها درک و دانستن اصول کافی است، زیرا مشاغل خاصی مانند SysAdmins ، Networking یا Security Engineers وجود دارند و نیازی به عمیق شدن در این مباحث نیست.
نقشه راه یادگیری زبان انگلیسی
داستان از اینجا شروع می شود که یک روز از خواب بیدار می شوید و به خودتان می گویید باید زبان انگلیسی یاد بگیرم. ولی خوب که فکر میکنید می بینید این فکر، یک شبه به ذهنتان خطور نکرده است. بارها و بارها در شرایطی قرار گرفته اید که به خاطر نداشتن دانش کافی زبان انگلیسی، فرصت های زیادی را ازدست داده اید. من نمی خواهم در باره اهمیت یادگیری زبان صحبت کنم. آنچه که در این مقاله سعی در بیان آن داریم یک نقشه راه یادگیری زبان انگلیسی است. روشی که از طریق آن، یک بار برای همیشه، این خلاء بزرگ را برطرف کنید.
بگذارید از این سوال شروع کنیم که چرا بیشتر افراد، در ابتدای مسیر یادگیری، از ادامه راه باز میمانند و یادگیری زبان را به عنوان نقطهی تاریکی از زندگی خود رها میکنند؟ نکته جالب اینجاست که این افراد، علیرغم داشتن هوش و استعداد مناسب، دست از تلاش برای یادگیری زبان برمیدارند. این پرسش تنها و تنها یک پاسخ دارد: شیوهی نا مناسب یادگیری زبان. شیوهی نادرستی که عمدتا باعث دلسردی زبان آموزان میشود. تا جایی که خود را در یادگیری زبان انگلیسی بیاستعداد و کم توان قلمداد میکنند. بخش دیگری از این مشکل از جایی نشات میگیرد که ما نمیدانیم روزی جند ساعت درس بخوانیم تا به موفقیت برسیم. حال که علت این ناکامی را می دانیم بیاید نگاهی به روش صحیح یادگیری زبان انگلیسی بیندازیم.
برای طراحی نقشه راه یادگیری زبان انگلیسی از کجا شروع کنیم؟ 
برای دویدن، ابتدا باید راه رفتن را بیاموزید. تصور کنید میخواهید در مسابقه دوی سرعت شرکت کنید. همه شرایط و امکانات را دارید اما شرط اصلی را ندارید: بلد نیستید راه بروید! مکالمه انگلیسی هم دقیقا همین است. خیلی از افراد می گویند میخواهم به راحتی انگلیسی حرف بزنم. حال آنکه برای این کار ابتدا باید ابزار اولیه یک مکالمه را در اختیار داشته باشید. مهمترین و ابتدایی ترین ابزار، یادگیری لغات کاربردی زبان هدف است. روش یادگیری لغت بسته به نوع شخصیت شما، مقدار زمانی که بدان اختصاص می دهید و منبعی که در اختیار دارید متفاوت خواهد بود. کتاب، اپلیکیشن های موبایل، فایل های صوتی و بازی های رایانه ای از بهترین منابع برای افزایش دامنه لغات هستند.
لغت های جدیدی را که هنگام مطالعه، تماشای فیلم، وبگردی یا هر فعالیت دیگری فرامیگیرید یادداشت کنید. درصورت امکان عبارتی را که لغت مورد نظر در آن بکار رفته نیز بنویسید. این کار دو مزیت دارد: اول اینکه نحوه صحیح کاربرد کلمه را در یک جمله فرا میگیرید، دوم اینکه املای صحیح کلمات با نوشتن، در ذهن شما حک خواهد شد. طبقهبندی لغات نیز به سازماندهی ذهنی شما کمک می کند. مجموعه لغاتی که مربوط به یک موضوع خاص باشند بهتر در حافظه شما جای می گیرند و به راحتی فراخوانی می شوند. در انتهای هر روز یا هر زمانی که برا شما مناسب باشد، لغات جدید را مرور کنید و سعی کنید خود نیز، آنها را در جملاتی بکار ببرید.
مثل یک کودک باشید 
اگر میخواهید خوب صحبت کنید، باید خوب گوش دادن را بیاموزید. بگذارید برای درک بهتر این موضوع به گذشته برگردیم. به گذشته نسبتا دور، زمانی که نوزاد بودیم. اگرچه ما در یکی دو سال ابتدایی زندگی خود به ظاهر کاری انجام نمیدهیم اما درواقع، درحال شنیدن و گوش دادن به مکالمات اطراف خود هستیم و ذهن خود را با انبوهی از ورودی ها و داده ها آماده میکنیم. سپس بعد از چندین ماه، تک کلماتی را به زبان میآوریم. این در خصوص یادگیری زبان خارجی هم صدق میکند. برای صحبت کردن شما باید گوش فعالی داشته باشید. هرچقدر ورودی زیادتری داشته باشید در نهایت خروجی بیشتری هم خواهید داشت. مزیت دیگر این امر، یادگیری لغات و اصطلاحات با تلفظ صحیح آنهاست. چرا که اگر کلمه ای را با تلفظ اشتباه یاد بگیرید، به سختی می توانید آن را از ذهن خود پاک کنید.
یکی از جذابترین فعالیتهایی که به تقویت مهارت شنیداری شما کمک می کند، گوش دادن به داستانهای صوتی سطحبندی شده است. خوشبختانه بسیاری از این داستانها به آسانی در دسترس هستند. شما میتوانید سطح مناسب خود را انتخاب کرده و هر روز زمان معینی را در نقشه راه یادگیری زبان انگلیسی خود برای گوش دادن به آن اختصاص دهید. جذابیت یک داستان می تواند بهترین مشوق شما برای گوش دادن موثر باشد. خیلی نگران کلماتی نباشید که متوجه نمی شوید. مهم این است که مفهوم و جریان کلی یک داستان را درک میکنید. بهترین معیار برای انتخاب یک داستان صوتی متناسب با سطح شما، این است که پس از گوش دادن به آن متوجه شوید تا ۹۵ درصد از مفهوم آنرا درک میکنید. اگر کتاب خاصی مد نظرتان نیست، میتوانید مقاله کتابهایی که باید خواند را مطالعه کنید.
گرامر بخوانیم یا نه؟
دانستن لغات زیاد، اصطلاحات و ضربالمثل، ذهن شما را نیرومند میکند. اما این حجم از توان، نیازمند یک استخوانبندی مستحکم است تا زیبا و استوار جلوه کند. این استخوانبندی، همان دستور زبان است. در واقع گام بعدی در راه یادگیری زبان انگلیسی، یادگیری دستور زبان است. بسیاری از فراگیران زبان از نام گرامر فراری هستند که عمدتا نشات گرفته از تجربیات نا مطلوب در دوران تحصیل است. برای برخی دیگر حتی گرامر به یک وسواس در مطالعه زبان انگلیسی تبدیل شده است. حال آنکه فرآیند یادگیری دستور زبان، اگر با روش صحیح همراه باشد، از زیباترین تجربیات یک زبان آموز در مسیر یادگیری خواهد بود. یادگیری قواعد زبان به شما کمک می کند تا مطالب یک کتاب را به درستی دریابید، به عمق معنی یک ترانه بهتر پی ببرید، صحیح و زیبا سخن بگویید و در نهایت بتوانید متنی قوی و گیرا بنویسید.
سعی کنید هر قاعده دستوری که یاد میگیرید را در زندگی شخصی خود به کار ببرید. به عنوان مثال، اگر زمان حال ساده را فرا گرفتید سعی کنید آن را در مورد خودتان به کار ببرید و چند جمله جدید بسازید. این کار باعث نهادینه شدن این قواعد در ذهن شما خواهد شد. حتی میتوانید دفترچهای داشته باشید و جملات خود را بنویسید و کم کم آن را تبدیل به دفترچه خاطرات خود کنید. این کار هم باعث پیشرفت در بحث یادگیری دستور زبان می شود، هم خاطرات شما را ثبت خواهد کرد که کار بسیار دلنشین و جذابی است و هم به مهارت نوشتاری شما کمک خواهد کرد تا در آینده بتوانید در آزمون های بینالمللی همچون IELTS، به راحتی موفق شوید. این یعنی یک تیر و چند نشان!
به تماشا بنشینید:
لایو اینستاگرامی سهیل امانی و رضا آرشنیا
تعادل را رعایت کنید 
برای اینکه نقشه راه زبان انگلیسی شما بتواند مسیر درستی را به شما نشان دهد، باید تمامی مهارتها را جدی بگیرید. اغلب فراگیران زبان می خواهند مکالمه خوب و روانی داشته باشند پس به سمت مهارت گفتاری تمایل بیشتری دارند. به یاد داشته باشید که ذهن ما دقیقا همانند یک رایانه عمل می کند و در صورت دریافت ورودی مناسب، خروجی مناسی ارائه خواهد کرد. در این میان مهارت های شنیداری و خواندن در حکم ورودی و مهارت های گفتاری و نوشتاری در حکم خروجی هستند.
به طور میانگین در یک ارتباط موثر، ما در ۴۰% مواقع شنونده و در ۳۵% مواقع گوینده هستیم. نقش مهارت خواندن و مهارت نوشتاری در ارتباطات ما نیز به ترتیب ۱۶% و ۹% می باشد. این یعنی ما باید قبل از هرچیز توانایی درک مطلب خوبی داشته باشیم. برآیند این چهار مهارت اصلی در نهایت به اینجا ختم میشود که مهارت زبان انگلیسی شما خوب است یا ضعیف. پس بر روی هر چهار مهارت، به صورت متناسب تمرکز کنید.
در طراحی نقشه راه یادگیری زبان انگلیسی از دیگران هم کمک بگیرید 
اجازه دهید از تجربه شخصی خودم در زمینه یادگیری زبان برایتان بگویم. روزی که برای اولین بار شروع به یادگیری دستور زبان انگلیسی کردم، کتاب خودآموزی خریدم تا با آن دستور زبان انگلیسی را یاد بگیرم. با زمان حال ساده مشکلی نداشتم و با اندک زحمتی آن را فراگرفتم. اما برای چند روز متوالی بر سر مبحث زمان حال استمراری گیر کرده بودم و نمی توانستم به درستی آن را درک کنم. این ناکامی در یادگیری یک قاعده دستوری بسیار نا امید کننده بود. و من، درست مثل بسیاری از فراگیران زبان، اولین فکری که به ذهنم خطور کرد این بود که: من استعداد یادگیری زبان ندارم. چندین روز پس از این شکست بزرگ، یکی از دوستانم به صورت اتفاقی از علاقهاش به زبان انگلیسی گفت و پیشنهاد کرد که این کار را با هم آغاز کنیم. من هم که هنوز اشتیاقی هرچند اندک در وجودم باقی مانده بود پذیرفتم.
یادگیری در کنار یک دوست
روز اول، همان کتاب خود آموز را آوردم و شروع به توضیح دادن زمان حال ساده کردم. وقتی با ترس و لرز زمان حال استمراری را توضیح میدادم انگار معجزه ای اتفاق افتاده بود. من با هر جمله ای که می گفتم، زوایای پنهانی این قاعده دستوری را کشف می کردم. سوالاتی که برای دوستم پیش می آمد، همان ابهام هایی بود که من در ذهن داشتم و با بیان مجدد آنها، به راحتی درکشان می کردم و فرا می گرفتم. توضیحات من برای دوستم در واقع مروری بود آگاهانه بر هر آنچه که پیش از آن به راحتی و بدون توجه از کنارشان گذشته بودم.
آن روز متوجه شدم که یاد دادن به دیگران به دانش شما عمق می دهد. شما نیز آنچه را که می آموزید، از لغت گرفته تا اصطلاح و ضربالمثل و دستور زبان، با دیگران به اشتراک بگذارید و به آنان آموزش دهید. این کار نه تنها به یادگیریتان کمک می کند، بلکه شما را به فردی محبوب بین دوستانتان بدل می کند.
از اشتباه کردن نهراسید 
تا زمانی که اشتباه نکنید پیشرفت نخواهید کرد. این امر در زمینه یادگیری زبان خارجی مشهودتر و ملموستر است. شما به عنوان فراگیر زبان، بایستی بر ترس خود از اشتباه کردن غلبه کنید. بسیاریاز افراد در کلاسهای آموزش زبان از این هراس دارند که نکند اشتباه کنند. دلیل ترس آنها هم تمسخر یا مورد قضاوت قرار گرفتن توسط دیگران یا استاد است. این فکر باعث میشود این افراد سکوت اختیار کنند یا به جملات حداقلی بسنده کنند.
بگذارید رک بگوییم، تا زمانی که به این باور نرسید که اشتباه کردم بخشی از فرایند یادگیری است، پیشرفت نخواهید کرد. هرگاه از اشتباه کردن در جملهسازی یا از انتخاب نادرست یک کلمه در جملات انگلیسی خود هراس داشتید، به این فکر کنید “که من برای یادگیری اینجا هستم. اگر بلد بودم و عاری از اشتباه بودم که دیگر نیازی به شرکت در یک کلاس یا فراگیری زبان نداشتم. به یاد داشته باشید ذهن شما همواره در حال مقایسه کردن است. اگر جمله درستی وارد ذهنتان شود آن را با جمله اشتباهی که از قبل در حافظه خود داشتید مقایسه و جایگزین می کند. پس به خودتان فرصت اشتباه کردن بدهید تا با اصلاح آن، به ذهنتان در انتخاب بهترین ها کمک کنید.
نقشه راه یادگیری زبان انگلیسی ؛ سخن پایانی 
در نهایت باید گفت، به خود و به استعدادتان اعتماد داشته باشید. اگر روش مناسبی برای فراگیری یک زبان خارجی در پیش بگیرید به سرعت پیشرفت خواهید کرد. به این ترتیب یادگیری زبان برای شما به خاطرهای شیرین تبدیل خواهد شد. علاوه بر آن داشتن پشتکار و لذت بردن از فرآیند یادگیری را فراموش نکنید. دقیقا همانند سفری که تک تک مناظر موجود در مسیر، لذت بخشند و جزئی از سفر محسوب میشوند. هرگز خود را بخاطر رسیدن به مقصد، از این لذتها محروم نکنید. چرا که دیدن یک فیلم خوب، خواندن یک کتاب جذاب و یا گوش دادن به یک سخنرانی زیبا، خود به تنهایی لذتبخش و شور آفرین است.
DevOps چیست؟ و مهندس DevOps به چه کسی گفته میشود؟
DevOps یک رویکرد توسعه نرمافزار است که شامل توسعه مداوم، تست مداوم، ادغام و یکپارچه سازی مداوم، استقرار و نظارت میباشد.
رویکرد DevOps تنها تمرکز بر بهینهسازی فرایندها ندارد بلکه علاوه بر فرایند تاکید مینماید که فرهنگ سازمانی و تیمهای توسعه نرم افزار و همچنین ابزارهای این حوزه نیز میبایست بهینه گردد.
این رویکرد شامل تیمهای عملیاتی و تیمهای توسعه نرمافزاری میباشد که DevOps سعی بر ارتباط و همکاری هرچه بیشتر این تیمها و رفع موانع بین آنها را دارد. بنابراین، یک مهندس DevOps اساساً با تیمهای DEV elopment و OP erations همکاری میکند.
مفاهیم و ابزارها
DevOps شامل مفاهیمی مانند Build Automation ، CI / CD ، Infrastructure as Code و غیره است که ابزارهای متعددی برای پیاده سازی این مفاهیم وجود دارد.
ممکن است به دلیل گستردگی زیاد این ابزارها، برای مختصصین گیج کننده و طاقت فرسا شود که از کدام ابزار استفاده کنند.
اما مهمترین چیز درک مفاهیم و یادگیری یک ابزار خاص برای هر گروه است. به عنوان مثال، وقتی شما از قبل بدانید CI / CD دقیقاً چیست و بدانید که چگونه باید از ابزار Jenkins استفاده کنید، یادگیری یک ابزار جایگزین نیز برایتان خیلی آسان خواهد بود.
نقشه راه برای شروع به کار به عنوان یک مهندس DevOps
بیایید مستقیماً به نقشه راهی بپردازیم که میتوانید مهارتهای خود را برای این حوزه بیاموزید.
1) مفاهیم توسعه نرمافزار
شما به عنوان یک مهندس DevOps برنامهنویسی نخواهید کرد، اما چون با تیم توسعه برای بهبود و خودکار کردن وظایف آنها همکاری میکنید، باید درکی از حوزههای زیر داشته باشید:
- نحوه کار توسعه دهندگان به چه شکل میباشد ؟
- توسعه دهندگان از چه ابزارهایی استفاده میکنند؟ (برای مثال: git)
- نحوه پیکربندی برنامهها به چه شکلی میباشد؟
- چگونه تست و آزمایش نرم افزار ها را به صورت خودکار انجام دهیم؟
2) سیستم عامل و مبانی لینوکس
شما به عنوان یک مهندس DevOps مسئول تهیه زیرساخت (سرورهایی) هستید که برنامهها بر روی آنها مستقر شدهاند. و از آنجا که بیشتر سرورها سرورهای لینوکسی هستند، شما باید سیستم عامل لینوکس را بشناسید و با استفاده از دستورات Command در این محیط احساس راحتی کنید.
پس بهتر است مفاهیم زیر را بدانید:
3) شبکه و امنیت
همچنین برای پیکربندی زیرساختها باید به اصول شبکه و امنیت آگاهی داشته باشید، به عنوان نقشه راه یا Roadmap چیست؟ مثال:
- فایروال را برای ایمن کردن برنامه پیکربندی کنید
- درک کنید که آدرس های IP ، پورت ها و DNS چگونه کار میکنند
- بالانس بار وارد شده به شبکه را بررسی کنید
- سرور پروکسی
- HTTP / HTTPS
با این حال، برای تعیین مرز بین DevOps و عملیات فناوری و اطلاعات نیازی به دانش پیشرفته ندارید تنها درک و دانستن اصول کافی است، زیرا مشاغل خاصی مانند SysAdmins ، Networking یا Security Engineers وجود دارند و نیازی به عمیق شدن در این مباحث نیست.
4) کانتینر سازی – DOCKER
ابتدا بیاید نگاهی به DOCKER بیندازیم:
داکر با شعار Build once, run anywhere گسترش یافته است. شما میتوانید به راحتی و با سرعت Application های Portable را بر روی داکر امتحان کنید. این بدان معناست که هر کسی میتواند اپلیکیشن خودش را در لپ تاپ شخصی در قالب یک Package آماده نماید و سپس آن را در هر نوع سرویس Cloud ای که از Docker پشتیبانی میکند ، اجرا یا به عبارت بهتر Deploy نماید.
داکر به شما اجازه میدهد عملکردهای متفاوت Application تان را بین Container های مختلف تقسیم نمایید. برای مثال دیتابیس POSTGRE شما بر روی یک کانتینر، Redis Server در کانتینر دیگر و اپلیکیشن Node.js بر روی یک کانتینر مجزا اجرا شده باشد. با وجود اجرای قسمتهای مختلف در Container های جدا از هم، داکر امکان لینک کردن آنها را برای شما فراهم خواهد آورد.
از آنجا که کانتینرها در حال تبدیل شدن به استاندارد جدید هستند، احتمالاً برنامه خودتان را به عنوان یک کانتینر اجرا خواهید کرد. این بدان معنی است که شما باید به طور کلی درکی از مفاهیم زیر داشته باشید:
DOCKER – محبوب ترین فناوری کانتینر امروزی
5) ادغام و توسعه مداوم (CI / CD) – Continuous Integration and Deployment
در DevOps، تمامی تغییراتی که در کدهای نرم افزارها اتفاق میافتد، مثل افزودن ویژگیهای جدید و یا رفع باگ توسط توسعهدهندگان، باید در برنامه موجود ادغام شده و به طور مداوم و به صورت خودکار برای کاربران مستقر شود. از این رو اصطلاح: ادغام و توسعه مداوم مطرح شده است.
راه اندازی مسیر کامل فرایند CI / CD وظیفه و مسئولیت اصلی مهندس DevOps است. بنابراین وقتی افزودن ویژگی جدید یا رفع باگ تمام شد، یک فرایند باید به طور خودکار اجرا شود، که شامل:
- اجرا کردن تست های نرم فزاری
- پکیج کردن برنامه یا نرم افزار
- ساخت Docker Image
- و در نهایت مستقر سازی نسخه جدید در سرور می باشد
البته میتوان مراحل بیشتری را یکپارچه سازی کرد، اما این جریان هسته اصلی فرایند CI / CD را نشان میدهد و قلب وظایف و مسئولیتهای DevOps است.
حال برای این فرایندها کدام ابزار را یاد بگیریم؟
Jenkins یکی از محبوب ترین ابزار ها میباشد. همچنین از دیگر ابزارها می توان به Bamboo، Gitlab، TeamCity ،CircleCI ،TravisCI اشاره کرد.
6) ارائه دهندگان سرویسهای ابری
امروزه بسیاری از شرکتها به جای مدیریت زیرساختهای خود، از زیرساختهای مجازی در فضای ابری استفاده میکنند. فضای ابری طیف وسیعی از خدمات مانند پشتیبانگیری، برقراری امنیت و … را ارائه میدهد، همچنین تعادل بار وارد شده به سرور را کنترل میکند.
این خدمات مخصوص پلتفرم های ابری میباشند. بنابراین لازم است خدمات آن سیستم عامل خاص را یاد بگیرید.
7) Kubernetes
همانطور که قبلاً اشاره کردیم، کانتینرها بسیار مورد استفاده قرار میگیرند و در شرکتهای بزرگ صدها یا هزاران کانتینر در چندین سرور در حال اجرا هستند. این بدان معنی است که این کانتینرها باید به نحوی مدیریت شوند.
برای این منظور ابزارهایی وجود دارند که محبوب ترین آن Kubernetes است. بنابراین شما باید به یاد داشته باشید که:
- چگونه Kubernetes کار میکند
- خوشههای Kubernetes را چگونه مدیریت کنید
- همچنین بتوانید برنامههای کاربردی را در kubernetes مستقر کنید
8) نظارت و مدیریت بر روی لاگهای سیستم
پس از تولید نرم افزار، بسیار مهم است که برای ردیابی عملکرد کاربران، کشف مشکلات موجود در زیرساخت و برنامهها بتوانیم نظارتی دقیق داشته باشیم. بنابراین یکی از مسئولیتهای شما به عنوان مهندس DevOps این است که به مواردی همچون setup software monitoring و setup infrastructure monitoring تسلط داشته باشید.
9) زیرساخت
ایجاد و نگهداری دستی زیرساختها وقتگیر و مستعد خطا است. به خصوص هنگامی که شما نیاز به تکرار زیرساختها دارید. در DevOps، ما میخواهیم تا حد ممکن به صورت خودکار، فعالیتهای خود را انجام دهیم، در این مرحله Infrastructure as Code وارد کار میشود.
با استفاده از ابزار IaC، ما از کد برای ایجاد و پیکربندی زیرساختها استفاده میکنیم و دو نوع ابزار IaC وجود دارد که ما باید با آنها آشنا باشیم:
با استفاده از این ابزارها، تکرار و بازیابی زیرساختها آسان است. بنابراین شما باید از هر دسته یک ابزار برای کارآمدتر ساختن کار خود و همچنین بهبود همکاری با همکاران خود بدانید.
10) زبان برنامه نویسی
از آنجا که با توسعهدهندگان و سرپرستان سیستم در حال کار کردن هستید تا وظایف مربوط به توسعه و عملیات را نیز به صورت خودکار انجام دهید، برای خودکار کردن کارها باید اسکریپتها و برنامههای کوچک بنویسید.
برای اینکه بتوانید این کار را انجام دهید باید یک زبان برنامهنویسی بدانید که میتواند مخصوص سیستم عامل مانند Bash یا Powershell باشد.
اما آنچه بیشتر مورد درخواست است یک زبان مستقل از سیستم عامل مانند Python ،Ruby یا Go است. این زبانها از قدرت و انعطاف بیشتری برخوردار هستند. اگر یکی از این موارد را بدانید، ارزش شما را در بازار کار بسیار بیشتر میکند.
کدام زبان را یاد بگیریم؟
پایتون: در حال حاضر بیشترین تقاضا را دارا میباشد. پایتون برای یادگیری آسان و کتابخانههای زیادی در دسترس دارد همچنین اگر بخواهیم به دیگر زبانها اشاره کنیم میتوان از: Ruby ، GO و NodeJS نام برد.
11) کنترل نسخه نرم افزار – گیت
دقیقا مانند کد برنامه توسعه دهندگان، شما کدها و پروندههایی را که نوشتهاید را با یک ابزار کنترل نسخه مانند Git مدیریت میکنید.
Git محبوب ترین و پرکاربردترین ابزار برای کنترل نسخه نرم افزار ها میباشد.
توضیح چند اصطلاح در طراحی وب: Roadmap , Front-end, Back-end, Fullstack, DevOps یعنی چه؟
Front-end (فرانت اِند) چیست؟
ممکن است شما تصمیم بگیرید که برنامهنویس فرانتاند بشوید؛ یعنی به زبانهایی مسلط شوید که خروجی برنامه را به کاربر نهایی نمایش میدهد. سه زبان HTML و CSS و Javascript زبانهای فرانتاند (طراحی بخش جلویی سایت) به حساب میآیند و در حقیقت همان چیزی است که با نام Client-side Programming Languages یا زبانهای برنامهنویسی سمت کلاینت نیز شناخته میشود.
نقشه راه شما در این مسیر به این صورت خواهد بود:
Back-end (بکاِند) چیست؟
منظور از برنامهنویسی نقشه راه یا Roadmap چیست؟ بکاند، برنامهنویسی بخشی از سایت یا برنامه است که بر روی سرور اجرا میشود. به این زبانها زبانهای برنمهنویسی سمت سرور یا Server-side Programming Languages نیز گفته میشود. در این مسیر میتوانید به یکی از زبانهای زیر مسلط شوید:
PHP, ASP, Python, Node.js, .
یک نقشه راه پیشنهادی این است:
Fullstack (فول استک) چیست؟
وقتی گفته میشود یک نفر برنامهنویس فولاستک است یعنی هم به Front-end مسلط است و هم به Back-end . یعنی مثلاً به این زبانها مسلط است: HTML, CSS, Javascript, PHP&MySQL
DevOps چیست؟
این کلمه ترکیب دو اصطلاح Software Development و IT Operations است. یعنی تصور کنید شما بخواهید مثل من نرمافزاری مانند تستا (سیستم برگزاریآزمون آنلاین) تولید کنید. قطعاً فقط تسلط به زبانهای برنامهنویسی (Fullstack شدن) کافی نیست! شما باید با مفاهیم شبکه، مدیریت سرور، سیستم عامل و. آشنا باشید. به مجموعه این دانشها میگوییم دانش DevOps. (که ما تقريباً همه دورههایی که برای DevOpsشدن نیاز دارید را در آفتابگردان عرضه کردهایم: https://yourl.ir/n )
- در سایت w3schools.com نقشه راههای سادهتری وجود دارد که میتوانید آنها را در آدرس زیر مشاهده کنید:
- در سایت زیر میتوانید بهروزترین نقشه راهها را در برنامهنویسی مشاهده کنید:
https://roadmap.sh
نظرات طرح شده
درباره آفتابگردان
« آفتابگردان » به عنوان یک کانون مجازی با هدف فراهم كردن محیطی لذتبخش، علمی و مفید و همچنین در دسترس قرار دادن آنچه یك کاربر رایانه نیاز دارد، اعم از نرمافزارها، آموزشهای کاربردی، اخبار، نقد و بررسیها، راهنماییها و . ؛ ایجاد شده است.
شما میتوانید، با ثبت نام در سایت عضو خانواده بزرگ و باصفای آفتابگردان شوید و در انجمنهای گفتگو با دیگر اعضای سایت به بحث و تبادل نظر بنشینید.
آفتابگردانیها هدفشان همیاری یکدیگر در زمینههای مختلفِ شغلی، درسی، کامپیوتری و . است و در این راه تا حد توان، از هیچ اقدامی دریغ نمیورزند.
امیدواریم شما نیز با حضور در این جمع و اشتراک دانستههایتان با دیگران، آنها را در رسیدن به اهدافشان یاری دهید.
تمامی کالاها و خدمات این سایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه میباشند و فعالیتهای این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
- طیف گستردهای از مشتریان تستا، شرکتهای هواپیمایی کشور هستند؛ مانند این مشتری: https://ets.kanc.ir
- برای اطلاع از دورههای آموزشی استاد نیرومند (آنلاین یا حضوری) کانال ایشان در تلگرام را دنبال کنید: https://t.me/niroomandir
- سایت http://tvta.info به تستای ۵ میلیونی مجهز شد.
- پنج میلیون سفارشیسازی برای تستای سایت http://azmoon-ostadinoplus.ir تحویل داده شد.
- مَچمَچ؛ بازی تقویت حافظه و یادآوری واژگان، جذابترین بازیای که تا کنون در آفتابگردان ارائه کردهایم: https://matchmatch.ir با کلیک روی «نمایش شمارنده امتیاز» بازی را به صورت چندنفره بازی کنید. https://t.co/CQpifhvZIg
- در هاستینگ آفتابگردان مشتریانی داریم که از روز اول راهاندازی هاستینگ در حدود ده سال پیش تا کنون با ما بودهاند و این مایه افتخار ماست. https://aftab.host
- هر زمان نیاز به تفریح داشتید، کافیست به سانا بگویید «پخش کن جوک» تا از بین چند هزار جوک، هر بار یک جوک تازه برایتان تعریف کند! و یا بگویید «پخش کن داستان» تا از بین صدها داستان، هر بار یک داستان تازه برایتان بگوید. https://suna.aftab.cchttps://t.co/x1Gt0Y28Rb
- سانا در یک ابتکار جالب، میتواند عکس و نام خواننده صدایی که پخش میکند را نیز یافته و به شما نمایش دهد. مثلاً بگویید: پخش کن سمفونی ایران من https://suna.aftab.cc هوش ریاضیاتی سانا نیز تقویت شد. چهار عمل اصلی به انضمام توان، فاکتوریل، جذر و. https://t.co/5xiE7wnqr1
- فکرا (بازی فکری ما) تا مرحله ۱۳ رایگان شد تا همه بتوانند سختی مرحله ۱۲ به بعد را تجربه کنند! هر کس حتی یکی از گامهای مرحله ۱۲ را طی کرد، به خودش و مغزش افتخار کند. https://fekra.aftab.cchttps://t.نقشه راه یا Roadmap چیست؟ co/WyIVUgw7gC
- سایتی که همین هفته آماده کردیم و به مشتری تحویل دادیم: https://mirb2b.com
مرحله چهارم نقشه راه پایداری
تدوین سیاست های خاص، فرهنگ درون یک شرکت را تعریف می کند و به آن شرکت اجازه می دهد تا به چشم انداز، اهداف و مقاصد خود دست پیدا کند. این یک گام اساسی در خلق استراتژی جامع پایداری به حساب می آید.
اگر فرض کنیم که یک استراتژی مشخص می کند که کسب و کار باید به کجا برود، اهداف بلند مدت، اولویت ها و مقاصد کوتاه مدت و میان مدت آن چیست؛ در این صورت سیاست ها چار چوبی هستند که نقش آنها مشخص کردن تصمیمات و اهداف برای دستیابی به این مقاصد است.
فرهنگ پایداری شرکت تان را از طریق سیاست ها پایه ریزی کنید
از آنجاییکه آنها استانداردهای رفتاری را تعریف می کنند، بنابراین سیاست ها و رویه ها نقش زیادی در ساخت فرهنگ کلی یک شرکت ایفا می نمایند. سیاست ها باید برای تحقق بخشیدن به چشم اندازهای پایداری، باید در راه و روش تجاری گنجانده شوند.
هیچکس انتظار ندارد که یک کارخانه بتواند فقط از روی توصیف یک طراح، لباسی را تولید کند. در ضمن طراح فقط ترسیم کننده یک طرح نیست، بلکه او باید مجموعه اطلاعات فنی (tech pack) را که شامل نوع پارچه و مشخصات تولید لباس می شود را نیز ارائه دهد. سیاست های پایداری نیز دقیقاً همین حالت را دارند. آنها ابزارهایی را در اختیار شرکت ها قرار می دهند که باعث به ثمر رساندن چشم انداز پایداری آنها می گردند.
سیاست ها شامل چشم انداز و اهداف کلی، قلمرو و سپس جزئیات آنها می شوند. ابزارهایی در این زمینه وجود دارد که مشخص کننده مواردی هستند که باید در یک سیاست اخلاقی و زیست محیطی گنجانده شوند، اما چگونه در عمل می توان آنها را به سیاست های واقعی تبدیل نمود؟
یک شرکت برای اینکه بتواند یک مسئله را در یک سیاست پوشش دهد، باید:
- به وضوح بیان کند چه چیزهایی را به عنوان بخشی از کسب و کار خود جایز می شمرد یا چه مواردی را قبول ندارد و چه اقداماتی را برای اجرای این امر انجام می دهد.
- این شرکت به صراحت اعلام کند که انتظار دارد کارکنان، پیمانکاران خارجی و تامین کنندگانش چه کاری در این زمینه انجام دهند.
معمولاً سیاست های خوب شامل مفهوم پیشرفت مستمر نیز هستند و باید به طور منظم بررسی و به روز رسانی شوند. در این حوزه بعضی از مجموعه های ابزار نقشه راه پایداری، یک چارچوب نمونه و یک الگو را برای تدوین سیاست ها و استفاده از آنها در اختیار شما قرار می دهند.
مطالعات موردی
شاید بهترین راه برای نشان دادن سیاست های خوب دیدن آنها در عمل باشد. در این مطلب نحوه تدوین سیاست های مناسب توسط سه کسب و کار مد در اندازه های مختلف را به شما نشان می دهیم.
سیاست های پایداری برند پاتاگونیا (Patagonia)
برند پاتاگونیا در زمینه تبدیل شدن به یک شرکت ماموریت محور پیش قدم است. این شرکت در بیانیه ماموریت خود این امر را به وضوح نشان می دهد: «ما در تلاشیم تا محل زندگی خود را نجات دهیم».
این برند دارای چهار ارزش محوری زیر است:
نقشه راه اتریوم در سال ۲۰۲۰ رونمایی شد
بلاک چین اتریوم در سال ۲۰۱۳ معرفی شد و تا سال ۲۰۱۵ پیادهسازی کامل آن به طول انجامید. اتریوم یک پلتفرم مبتنی بر بلاک چین است که به صورت غیرمتمرکز عمل میکند و برای توسعه دهندگان این امکان را فراهم میکند که بتوانند قراردادهای هوشمند و برنامه های غیرمتمرکز را بر بستر آن پیادهسازی کنند. ارز دیجیتال اختصاصی شبکه اتریوم، اتر (ETH) نام دارد که دومین ارز دیجیتال بازار کریپتو از نظر ارزش بازار به حساب میآید.
به تازگی اتریوم نقشه راه خود در سال ۲۰۲۰ را منتشر کرده است که نشان میدهد بلاک چین اتریوم در حال حاضر در فاز آخر توسعه خود قرار دارد. این فاز، سرنیتی (Serenity) نام گذاری شده و به عرضه بلاک چین جدید اتریوم به اسم اتریوم ۲.۰ منتهی خواهد شد. نسخه ۲.۰ شبکه اتریوم از قابلیتهای زیادی نظیر گواه اثبات سهام، شاردینگ، ماشین مجازی جدید اتریوم، مکانیزم جدید پاداش ها و بسیاری از موارد دیگر پشتیبانی خواهد کرد.
نقشه راه اتریوم ۲.۰ (سرنیتی)
اتریوم نسخه ۲.۰ که با نام سرنیتی شناخته میشود، با هدف افزایش عملکرد، سرعت و مقیاس پذیری بلاک چین اتریوم توسعه داده شده است. شرکت کانسنسیس (ConsenSys) معتقد است که سرنیتی نسخه نهایی و مرحله پایانی در تکامل شبکه اتریوم میباشد که بر اساس پنج اصل “سادگی، انعطاف پذیری، امنیت، تداوم و غیرمتمرکزسازی” طراحی شده است. نقشه راه سرنیتی دارای پنج فاز بوده که در هریک از آنها به روزرسانیهای مهمی برای اکوسیستم اتریوم ارائه شده است.
- فاز صفر – Beacon Chain: بیکن چین فاز اول نقشه راه سرنیتی است و در آن الگوریتم شبکه اتریوم از گواه اثبات کار به گواه اثبات سهام تغییر پیدا میکند. تاریخ عرضه فاز صفر در سه ماهه اول سال۲۰۲۰ اعلام شده است.
- فاز ۱ – زنجیره های شارد: تراکنش های شبکه اتریوم میان چندین مجموعه از تاییدکنندگان تقسیم میشود و تاریخ عرضه آن سال ۲۰۲۱ اعلام گردیده.
- فاز ۲ – eWASM: ماشین مجازی اتریوم (EVM) به eWASM به روزرسانی میشود. تاریخ عرضه فاز ۲ سال ۲۰۲۰ یا ۲۰۲۱ تخمین زده شده است.
- فاز ۳ – بهبود شبکه: تاریخ عرضه: سال ۲۰۲۲
فاز صفر – بیکن چین (Beacon Chain)
بیکن چین به معنای ایجاد نقشه راه یا Roadmap چیست؟ بلاک چین جدید است که با بلاک چین اصلی اتریوم تفاوتهایی دارد. بلاک چین جدید Beacon Chain قصد دارد تا شبکه را ساده و سبک کند، به همین دلیل در ابتدا از قراردادهای هوشمند پشتیبانی نخواهد کرد. این بلاک چین از الگوریتم اجماع گواه اثبات کار (Ethash) در کنار اثبات سهام (Casper) استفاده میکند تا بتواند از استمرار زنجیرهها اطمینان حاصل کند.
این درحالی است که در شبکه اتریوم نسخه ۲.۰ به جای استفاده از مکانیزم اجماع گواه اثبات کا از الگوریتم اجماع گواه اثبات سهام بهره میبرد. علیرغم استفاده از گواه اثبات سهام، بلاک چین اتریوم به دنبال مجموعه ای از تاییدکنندگان است تا به نوبت، بلاک معتبر بعدی را پیشنهاد دهند و شروع به رایگیری کنند. علاوه بر این، کسانی که توکن اتر را در اختیار دارند، میتوانند مقدار مشخصی از سرمایه خود را ارسال کنند و با مسدودسازی یا استیک کردن (Stacking) آن به یک تاییدکننده تبدیل شوند.
از سوی دیگر، الگوریتم گواه اثبات سهام باعث میشود تا درستکاری تاییدکنندگان (دارندگان نود) بلاک چین اتریوم افزایش یابد، چراکه با پذیرفته شدن هر بلاک توسط اکثریت، تاییدکنندگان به میزان مقدار سرمایه ای که استیک کرده اند، پاداش دریافت میکنند. این درحالی است که پذیرفته نشدن بلاک مسدود شده به وسیله تاییدکنندگان موجب از بین رفتن سرمایه آنها میشود.
بلاک چین جدید اتریوم از ارز دیجیتال مخصوص خود با نام اتر۲ (ETH2)رونمایی خواهد کرد که بر بستر بیکن چین پیادهسازی شده و برای پاداشدهی به تاییدکنندگان شبکه مورد استفاده قرار میگیرد. به طور کلی بیکن چین (Beacon Chain) دارای سه وظیفه اصلی است:
- مدیریت مکانیزم گواه اثبات سهام
- پردازش ارتباط بین نسخه های مختلف اتریوم
- قطعیت و اجماع مستقیم
فاز ۱ – نقشه راه یا Roadmap چیست؟ زنجیره های شارد (shard chains)
یکی از مهمترین نقاط ضعف اتریوم بنا به گفته ویتالیک بوترین، مسئله مقیاس پذیری است. بوترین در این خصوص اظهار داشت که مقیاس پذیری بیشتر، هزینه های استفاده از بلاک چین اتریوم را به طور چشمگیری کاهش خواهد داد.
از سوی دیگر، شاردینگ (Sharding) با انجام تراکنش های موازی، ذخیره سازی و پردازش اطلاعات باعث بهبود عملکرد شبکه میشود و میتواند مقیاس پذیری بلاک چین جدید اتریوم را بهبود ببخشد. به علاوه شاردینگ امکان انجام چندین تراکنش به صورت همزمان را پردازش خواهند کرد. در فاز اول بیکن چین ۶۴ زنجیره شارد تعبیه شده است که به تدریج به روزرسانی شده و تعداد آن بیشتر خواهد شد.
فاز۲ – eWASM
همانطور که احتمالا میدانید، تراکنشها پیش از آن که در بلاک چین اتریوم قرار بگیرند، توسط قراردادهای هوشمند اجرا میشوند. برای اجرا شدن این تراکنشها، ماشین مجازی اتریوم (EVM) مورد استفاده قرار میگیرد. البته EVM دارای نقاط ضعفی است که تراکنش ها را به ترتیب اجرا میکند، برای برطرف کردن نواقص موجود در ماشین مجازی سازی اتریوم، eWASM (وب اسمبلی متناسب با اتریوم) ارائه خواهد شد.
استفاده از eWASM در فاز دو، عملکرد EVM را بهبود میبخشد و پشتیبانی از قراردادهای هوشمند، حساب ها و وضعیت های مختلف بلاک چین جدید اتریوم را امکان پذیر میسازد. به علاوه قابلیت نوشتن برنامه های غیر متمرکز و قراردادهای هوشمند را با زبانی به غیر از سالیدیتی فراهم میکند. پیشبینی میشود که eWASM در سال ۲۰۲۱ عرضه شود، هرچند که توسعه آن هم اکنون شروع شده است.
فاز ۳ – ادامه بهبود شبکه
فاز سوم اتریوم ۲.۰ برای بهبود مستمر و کلی پروتکلهای شبکه و انجام به روزرسانی برای برطرف کردن تقاضای روزافزودن شبکه طراحی شده است. اما در این فاز دقیقا چه چیزی پیاده سازی خواهد شد؟ بر اساس گزارش کانسنسیس، موارد زیر در فاز ۳ اجرایی میشود:
- پروتکل سبک وضعیت شبکه
- همگام سازی با امنیت زنجیره اصلی
- شاردینگ تصاعدی
نتیجه گیری
توسعه دهندگان برنامههای غیر متمرکز و همینطور سرمایه گذاران بازار ارزهای دیجیتال، برای اینکه بتوانند برنامهها و تراکنش های خود را اجرا کنند، نیازمند بلاک چین اتریوم هستند. با توسعه اتریوم ۲.۰ شرایط متفاوتی ایجاد میشود و استفاده از الگوریتم اجماع گواه اثبات سهام، مقیاس پذیری و همچنین اجرای قراردادهای هوشمند بهتر و کاربردی تر خواهد شد. برهمین اساس میتوان گفت که اتریوم ۲.۰ باعث نویدبخشی به اکوسیستم اتریوم میشود.
دیدگاه شما