مایکروسافت در حال از بین بردن جاوا اسکریپت است

مایکروسافت تقریباً جاوا اسکریپت را از بین برد

مایکروسافت در تلاش خود برای تسلط بر وب، یک بار سعی کرد جاوا اسکریپت را از بین ببرد.


در اوایل دهه 2000، مایکروسافت اینترنت اکسپلورر پر استفاده ترین مرورگر جهان بود. رقیب آن، Netscape Navigator چندین درصد عقب افتاد. این دو مرورگر از زبان های برنامه نویسی سمت کلاینت مشابه برای تقویت تعامل استفاده می کردند، جاوا اسکریپت و جی اسکریپت برای شکل دادن به وب در دهه های آینده مبارزه می کردند.

انجام پروژه در فریلنس پروژه

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

مسابقه


    اولین مرورگر وب با رابط کاربری گرافیکی، Mosaic، در سال 1993 منتشر شد. این مرورگر که برای افراد غیر فنی قابل دسترسی بود، نقش برجسته ای در رشد سریع وب جهانی نوپا - ویکی پدیا داشت.


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

سفارش ساخت سایت در فریلنس پروژه

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


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


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

محاصره بی رحمانه


در اوایل دهه 2000، مایکروسافت برنده آشکار بود. از هر 10 نفر 9 نفر از اینترنت اکسپلورر استفاده می کردند. اگرچه نت اسکیپ در اواسط دهه 90 با یک سهم راحت شروع به کار کرده بود، اما این مایکروسافت بود که 96 درصد از بازار را در آغاز دهه 2000 در اختیار داشت. مایکروسافت چگونه چنین شاهکار خارق العاده ای را مدیریت کرد؟

انجام پروژه متلب با بهترین متخصصان

دلایل زیادی چنین دستاوردی را نشان می دهد، تعدادی از آنها بعداً در دادگاه مورد مناقشه قرار گرفتند. به عنوان یک چیز، مایکروسافت قبلاً یک شرکت سهامی عام با منابع مالی گسترده بود که نت اسکیپ در سال 1995 عمومی شد. ارزش بازار مایکروسافت در مقطعی در سال 1996، 10 برابر نت اسکیپ بود.


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


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

ضربه ای که قرار بود کشنده باشد

عکس یوهان والتر بانتز در Unsplash


در سال 1996، یک سال پس از راه اندازی جاوا اسکریپت، نت اسکیپ پیشنهادی را برای استانداردسازی این زبان به ECMA International ارائه کرد. مایکروسافت در روزهای اولیه به این تلاش پیوست. در اواخر دهه 90 و اوایل دهه 2000، مایکروسافت در وضعیت کاملاً متفاوتی نسبت به سال 1996 قرار داشت.


    نادرست نیست اگر بگوییم جاوا اسکریپت یک فناوری اختصاصی شرکت مایکروسافت در اوایل دهه 2000 بود.


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


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


مسیر جاو

چارچوب تست منبع باز از اکوسیستم جاوا اسکریپت

تست های واحد در جاوا اسکریپت با Jest


مقاله پایه تست نرم افزار. مفاهیم پایه و آزمون های واحد به عنوان یک کل چارچوب Jest.


انجام پروژه در فریلنس پروژه

Jest یک چارچوب تست منبع باز از اکوسیستم جاوا اسکریپت است. Jest در حال حاضر محبوب‌ترین فریمورک تست امروزی است که توسط شرکت‌های بزرگی مانند فیس‌بوک، Airbnb، توییتر و اسپاتیفای استفاده می‌شود، همچنین دارای پلاگین‌های متعددی است که به راحتی با تمام فریم‌ورک‌های مدرن چه در قسمت جلویی و چه در سمت باطن (React، Angular، Vue) یکپارچه می‌شوند. ، گره).


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

تست های واحد


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


تست های واحد شامل موارد زیر است:


    کارکرد.

    کلاس ها.

    مواد و روش ها.

    در میان قطعات کوچک دیگر.

سفارش طراحی سایت با بهترین طراحان

مفاهیم کلیدی برای آزمایش با Jest


مفاهیم زیر به ما کمک می کند تا اصطلاحات و کلمات رزرو شده را که معمولاً در تمام چارچوب های آزمایشی جاوا اسکریپت استفاده می شود، با تمرکز بر عملکردهایی که Jest برای استفاده از آن استفاده می کند، درک کنیم.


    توضیح دهید: تابعی که به ما کمک می کند بلوک هایی ایجاد کنیم که چندین تست مرتبط را گروه بندی می کنند.

    تست: تابعی که در آن کاسوئیستری آزمایش خواهد شد. با توجه به اینکه تابع تست حاوی نام مستعار به نام آن است که از همان عملکرد استفاده می کند.

    Expect: تابعی که امکان اعتبارسنجی مسابقات را در طول آزمایش فراهم می کند. این منطبق‌ها همان مواردی هستند که Jest با برگرداندن نتایج بر اساس معیارها تأیید می‌کند. تابع انتظار زمانی استفاده می شود که یک مقدار نیاز به اعتبارسنجی داشته باشد. انتظار داشته باشید که در ارتباط با عملکردهای دیگر برای رسیدگی به موارد متعدد کار کند.


در زیر ترتیب سلسله مراتب استفاده آمده است:


describe('set of math test', () => {

test('it is pair', () => {
expect(6 % 2).toEqual(0);
});
test('it is not pair', () => {
expect(7 % 2).not.toEqual(0);
});
});


نکته: در فایل‌های تست، Jest هر یک از این روش‌ها و اشیاء را در محیط جهانی قرار می‌دهد، برای استفاده از آنها نیازی به نیاز یا وارد کردن نیست.

پیکربندی محیط ما

انجام پروژه متلب با بهترین برنامه نویسان

قبل از شروع، لازم است Nodejs را در محیط کاری خود نصب کنیم. پس از نصب، دستورات زیر را اجرا کنید:


> mkdir unit-test-with-jest
> cd unit-test-with-jest/
> npm init -y
> npm i jest --save-dev

یک اسکریپت NPM نیز برای اجرای تست های واحد و یک اسکریپت برای تولید گزارش پوشش پیکربندی خواهد شد. package.json را باز کنید و اسکریپت زیر را پیکربندی کنید:


{
"name": "unit-test-with-jest",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest",
"coverage": "jest --collect-coverage"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"jest": "^29.0.3"
}
}

فایل math.js


اولین گام این است که یک فایل جاوا اسکریپت به نام math.jst ایجاد کنید که شامل عملیات اساسی حساب مانند جمع، تفریق، ضرب و تقسیم باشد. هر یک از این ویژگی ها در عملکرد متفاوتی قرار می گیرند و برای آزمایش بیشتر صادر می شوند.


function sum(a, b) {
return a + b;
}
function sub(a, b) {
return a - b;
}
function mul(a, b) {
return a * b;
}
function div(a, b) {
return a / b;
}
module.exports = {
sum,
sub,
mul,
div
}


فایل math.test.js


مرحله بعدی ایجاد یک فایل جاوا اسکریپت به نام math.test.jst است که شامل تست های واحد هر عملیات وارد شده از math.jsfile است. با تاکید بر اینکه فایل در داخل پوشه ای به نام __tests__ ایجاد خواهد شد.


const { sum, sub, mul, div } = require('../math.js');describe('set of arithmetic operations', () => {

test('sum of numbers', () => {
expect(sum(1, 1)).toBe(2);
});
test('subtraction of numbers', () => {
expect(sub(1, 1)).toBe(0);
});
test('multiply of numbers', () => {
expect(mul(1, 1)).toBe(1);
});
test('divide of numbers', () => {
expect(div(1, 1)).toBe(1);
});
});

توجه: به عنوان یک ملاحظه، Jest به طور پیش‌فرض به دنبال پوشه‌ای به نام __tests__ برای جستجوی تست‌ها می‌گردد و تمام فایل‌هایی را که حاوی نام هستند با انتهای .test.js یا .spec.js پوشش می‌دهد، همچنین به‌طور پیش‌فرض، همه چیز داخل node_modules را نادیده می‌گیرد.

تست ها را اجرا کنید


برای اجرای تست های دقیق، توسط کنسول دستور npm run test را نشان دهید. با این کار، جست بررسی ها را انجام می دهد و نتایج را نشان می دهد.

گزارش پوشش


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

منابع جاوا اسکریپت شوخی


    Home web Jest: وب سایت اصلی، راهنما، وبلاگ و مستندات.

    کتابچه راهنمای کاربر Jest: مراحل اولیه، نصب و نمونه‌ها.

    Jest CLI: خط فرمان Jest، گزینه‌ها و موارد دیگر.

    Jest documentation API: استفاده از API، متدها و kickstarters.

    GitHub Jest: مخزن رسمی منبع باز.


پایان یافتن


در این مقاله به مفاهیم اساسی فریم می پردازیم

ework، به یاد داشته باشید که چندین تابع و دستورات CLI وجود دارد که به ما کمک می کند تا همه موارد ممکن را پوشش دهیم. خواندن مستندات برای ادامه گسترش دانش این ابزار توصیه می شود.

طراحی لوگو با بهترین طراحان لوگو

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

خطاهای ناخوانا و ناخواسته JS و ردیابی آن ها

اتوماسیون پیوند منبع-نقشه جاوا اسکریپت: نظارت بر مرورگر NewRelic


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

پروژه انجام پروژه در فریلنس پروژه

در محیط تولید اکوسیستم وب، دارایی ها برای ایجاد بسته های JS ترکیب، مبهم و کوچک می شوند. این منجر به خطاهای ناخوانا و ناخواسته JS بدون ردیابی پشته می شود، و رسیدن به علت اصلی مشکل را برای کسی غیرممکن می کند.


چگونه خطاها را ردیابی می کنیم؟


تیم "Creditas" از New Relic برای نظارت بر عملکرد و ردیابی خطا استفاده می کند. New Relic یکی از بهترین برنامه ها در این فضا است، تعداد کمی از برنامه های محبوب دیگر مانند نگهبان، اشکالات و غیره هستند. اطلاعات بیشتر در مورد نظارت بر مرورگر با استفاده از New Relic


از آنجایی که کد کوچک شده است، در زیر یک اسکرین شات از نحوه نشان دادن خطای جدید به طور پیش فرض نشان داده شده است:


این ابزارها به طور پیش‌فرض کد شما را حذف نمی‌کنند و خطای بالا را نشان نمی‌دهند که کاملاً غیرقابل خواندن است

سفارش ساخت سایت در فریلنس پروژه

سپس {“Jadoo” : “Sourcemap” } به فرار می آید.

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

اطلاعات بیشتر در مورد نقشه های منبع


پیوند خودکار نقشه منبع با New Relic


New Relic و سایر ابزارهای اصلی، API ها / اسکریپت ها / بسته های باقی مانده را برای آپلود نقشه های منبع با فایل های JS فراهم می کنند.

ما از بسته @newrelic/publish-sourcemap برای انتشار نقشه منبع در New Relic استفاده کرده ایم.


طراحی لوگو با بهترین طراحان لوگو

//sample snippet to push a source map file corresponding to a javascript linkconst publishSourcemap = require(‘@newrelic/publish-sourcemap’).publishSourcemap;publishSourcemap({    sourcemapPath : jsMapFileAbsolutePath, // js map path on machine
javascriptUrl : jsUrl, // js url reachable by new relic
applicationId: APP_ID, // new relic app id
apiKey: NEW_RELIC_USER_API_KEY, // new relic user key
},(err)=>{console.log('error in pushing::',err)});

آیا می توانید آن را از localhost و تست انجام دهید؟


به طور کلی پاسخ منفی است. لوکال هاست شما از NewRelic قابل دسترسی نخواهد بود و از این رو نمی تواند JS را که نقشه منبع را برای آن آپلود می کنید پیدا کند. اگر فقط می‌خواهید کد را آزمایش کنید، می‌توانید از چند لینک prod/uat برنامه خود در قطعه بالا و تست استفاده کنید.


در چه مرحله ای از استقرار این کار را آغاز می کنید؟


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

انجام پروژه متلب با بهترین متخصصان


آیا واقعاً می خواهید نقشه منبع را در تولید فعال کنید؟


به طور کلی، شما نمی خواهید نقشه منبع را در تولید فعال کنید تا از افشای/در دسترس بودن JS در کنسول جلوگیری کنید.

نقشه‌های منبع به‌طور پیش‌فرض به موازات فایل‌های js. در همان سطح مسیر با پسوند .js.map تولید می‌شوند تا ابزارهای توسعه‌دهنده آن‌ها را به‌طور پیش‌فرض انتخاب کنند و کد را در کنسول در معرض دید همه قرار دهند.


راه حل: نقشه منبع در دسترس New Relic قرار گرفت و هنوز ناشناس است


در فرآیند ساخت، همه نقشه‌های منبع را از مکان پیش‌فرضشان به یک مکان ناشناس و قابل شناسایی با کد منتقل می‌کنیم. سپس توسط API مرحله post deployment برای خواندن js به jsmap و فشار دادن همان به New Relic استفاده می‌شود.


نتیجه: نمونه عکس فوری خطا در New Relic این فرآیند را ارسال کنید


و در نهایت :


معجزه است! معجزه است :-)

اگر این را مفید یافتید، پیام بذارید

مراحل تبدیل شدن به برنامه نویس موفق و فرانت اند و بک اند

توسعه دهنده


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

مرحله 2: تحصیل کنید

سفارش طراحی سایت با سایت دانان قهار

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


تخمین زمان: این مرحله ممکن است بین 12 هفته تا 6 سال طول بکشد، به استثنای زمانی که برای درخواست و انتظار برای شروع یک برنامه صرف می کنید.

مرحله 3: تجربه دنیای واقعی را بدست آورید


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

پروژه انجام پروژه با بهترین متخصصان

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


    گذراندن یک برنامه کارآموزی

    پیوستن به هکاتون ها

    نوشتن کد با کیفیت برای پروژه هایی که خودتان یا به عنوان مشارکت کننده در پروژه های منبع باز تلاش می کنید


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


این منابع را بررسی کنید:

طراحی لوگو با بهترین طراحان لوگو

    توسعه یک برند حرفه ای

    ارتقا رزومه شما

    حفظ پروژه های کدنویسی در مسیر

    کمک به پروژه های منبع باز


شما قطعا باید تلاش های خود را در این تلاش های دنیای واقعی در یک نمونه کار حفظ کنید، که بعداً می توانید آن را به کارفرمایان بالقوه نشان دهید.


تخمین زمان: این مرحله ممکن است چندین ماه طول بکشد، اما شما می توانید تا آنجا که ممکن است در حین تحصیل خود، این کارها را انجام دهید.

مرحله 4: دریافت گواهینامه (اختیاری)


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


توسعه دهندگان تمام پشته می توانند گواهینامه های عمومی توسعه نرم افزار زیر را بررسی کنند:


    دارای گواهینامه حرفه ای چرخه حیات نرم افزار امن

    برنامه نویس حرفه ای نرم افزار

    CIW توسعه وب حرفه ای

    GIAC Certified Web Application Defender (GWEB)


علاوه بر این، سایر گواهینامه ها بیشتر به قسمت پشتی مجموعه مهارت ها می پردازند:


    برنامه نویس حرفه ای دارای مدرک C/C++

    گواهینامه های Oracle (به عنوان مثال، SQL، MySQL، توسعه پایگاه داده)

    گواهینامه حرفه ای در برنامه نویسی پایتون 1 گواهینامه


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

مرحله 5: برای جستجوی شغل خود آماده شوید


اینترنت جستجوی شغل را آسان می کند. اما قبل از ارسال اولین درخواست خود، مقدمات زیر را در نظر بگیرید تا خود را برای موفقیت آماده کنید.


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

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

    شبکه: اتصال به توسعه دهندگان و شرکت های معتبری که ممکن است برای آنها درخواست بدهید می تواند به شما کمک کند تا در مورد فرآیند مصاحبه، ویژگی های شرکت و نکات دیگر اطلاعات کسب کنید. منابعی مانند گروه های فارغ التحصیل، لینکدین و سایر شبکه های اجتماعی ارتباط را آسان تر می کنند.


تخمین زمان: از سرمایه گذاری چند هفته تا چند ماه در این فعالیت ها پشیمان نخواهید شد.

مرحله 6: کارهای توسعه دهنده تمام پشته را جستجو کنید


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


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

چقدر طول می کشد تا به یک دیو فول استک تبدیل شوید

عاشق


ممکن است برای تبدیل شدن به یک توسعه دهنده فول استک، از سه ماه تا شش سال زمان نیاز داشته باشید. جدول زمانی شما تحت تأثیر موارد زیر خواهد بود:

انجام پروژه متلب با بهترین برنامه نویسان

    آنچه قبلاً می دانید (به ویژه مهارت های فنی)

    چه مشاغلی داشته اید (و ارتباط آنها با این رشته)

    چه تحصیلاتی کسب کرده اید (و ارتباط آن با توسعه وب)

    آرزوهای شغلی شما

    وضعیت بازار کار


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


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


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

شرایط لازم برای تبدیل شدن به یک توسعه دهنده فول استک


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

تحصیلات


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

تجربه قابل اجرا

مجری ذیصلاح لیست مجریان نظام مهندسی اراک مجری ساختمان

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


    کارآموزی در شرکت‌های فناوری: حل مشکلات و کمک به برنامه‌های کاربردی در دنیای واقعی در حالی که با متخصصان با تجربه شبکه می‌شوید.

    گواهینامه های حرفه ای: مهارت و تعهد خود را با قبولی در امتحانات در موضوعات مختلف توسعه نرم افزار نشان دهید.


مهارتهای فنی


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

مهارت‌های ضروری مقدماتی


    استدلال منطقی

    نحوه کار اینترنت (به عنوان مثال، مشتریان، سرورها، شبکه ها، صفحات وب)

    اصول اولیه HTML، CSS و توسعه وب

    زبان ها و فریم ورک های برنامه نویسی فرانت اند (مانند جاوا اسکریپت، ری اکت، انگولار، جی کوئری)

    سیستم های کنترل نسخه (Git + سرویس های مخزن مانند GitHub)

    استانداردهای امنیت وب

    API ها و سرویس های RESTful

    تست و اشکال زدایی (به عنوان مثال، تست واحد، تست عملکرد، تست قابلیت استفاده، تست عملکرد، تست رگرسیون)

    طراحی گرافیک


مهارت‌های ضروری در پشتیبان


    زبان های انجام پروژه برنامه نویسی پشتیبان (مانند جاوا اسکریپت، پایتون، پی اچ پی، جاوا، سی پلاس پلاس)

    فریمورک‌های وب بک‌اند (مانند Node.js برای جاوا اسکریپت، جنگو و فلاسک برای پایتون، لاراول برای PHP)

    پایگاه داده های رابطه ای (به عنوان مثال، PostgreSQL، MySQL)

    پایگاه های داده NoSQL (به عنوان مثال، MongoDB، Cassandra، Firebase)

    رابط های برنامه نویسی برنامه (API) (به عنوان مثال، REST، API های JSON، SOAP، gRPC)

    ساختار داده ها و الگوریتم ها


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


مهارت های پیشرفته


    سایر فریم ورک های JS (مانند NextJS، Gatsby، NuxtJS)

    دانش پایگاه داده پیشرفته (به عنوان مثال، ORM ها، ACID، تراکنش ها، مشکل N+1، عادی سازی پایگاه داده، نمایه ها، تکرار داده ها، استراتژی های اشتراک گذاری، قضیه CAP)

    یکپارچه سازی مداوم و شیوه های استقرار مداوم (CI/CD).

    الگوهای معماری (به عنوان مثال، برنامه های یکپارچه، میکروسرویس ها، SOA، CQRS و منبع رویداد، بدون سرور)

    مفاهیم طراحی سیستم

    کارگزاران پیام (مانند کافکا، RabbitMQ)

    Containerization در مقابل مجازی سازی (به عنوان مثال، Docker، Kubernetes)

    GraphQL (به عنوان مثال، آپولو، رله مدرن)

    پایگاه داده های گراف (به عنوان مثال، Neo4j)

    سوکت های وب

    سرورهای وب (Apache، NGINX، Caddy، MS IIS)


مهارت ها و کیفیت های نرم


در نهایت، اگر می خواهید در محل کار برتر باشید، نباید از مهارت ها و رفتارهای نرم غافل شوید.

l کیفیت ها شما می توانید این شش ویژگی را برای تبدیل شدن به یک توسعه دهنده برجسته پرورش دهید.


    میل به ساختن و خلق کردن

    یک طرز فکر تیمی

    مهارت حل مسئله خلاق

    یکدلی

    عزم

    عشق به یادگیری


مصاحبه های شغلی به شما فرصت هایی می دهد تا این ویژگی ها را نشان دهید، اما پس از دریافت پیشنهاد، آنها را فراموش نکنید. با ادامه کار بر روی این مهارت ها، به ایجاد شهرت قوی در محل کار کمک خواهید کرد.

درآمد یک توسعه دهنده فول استک چقدر است؟


شما می توانید به عنوان یک توسعه دهنده تمام پشته، مانند بسیاری از مشاغل پردرآمد در فناوری، درآمد خوبی کسب کنید. اداره آمار کار گزارش می دهد که متوسط ​​دستمزد توسعه دهندگان وب در ایالات متحده در سال 2020 77200 دلار در سال (37.12 دلار در ساعت) بوده است. اینها ارقام متوسط ​​و البته چند ساله هستند، بنابراین حقوق یا دستمزد واقعی شما ممکن است متفاوت باشد. همچنین، به خاطر داشته باشید که حقوق شما می تواند با کسب تجربه، کسب گواهینامه ها و ارتقای شغلی افزایش یابد.


علاوه بر این، آن ارقام BLS ممکن است منعکس کننده کل غرامت برای توسعه دهندگان وب نباشد. به گفته Glassdoor، یک وب‌سایت آمریکایی که اطلاعاتی در مورد مشاغل و حقوق جمع‌آوری می‌کند، کل دستمزد یک توسعه‌دهنده وب در ایالات متحده 110,356 دلار در سال است که بر اساس میانگین حقوق 72,495 دلار است. غرامت باقیمانده می تواند از پاداش نقدی، کمیسیون و تقسیم سود باشد.


جبران خسارت مطمئناً مهم است، اما باید تقاضا برای توسعه دهندگان فول استک را نیز در نظر بگیرید. طبق پیش‌بینی‌های BLS، انتظار می‌رود مشاغل توسعه‌دهنده وب از سال 2020 تا 2030 در ایالات متحده 13 درصد افزایش یابد، که سریع‌تر از میانگین برای همه مشاغل است. همچنین می‌توانید «شغل‌های توسعه‌دهنده کامل» را در Indeed، Glassdoor، Dice، Zip Recruiter و غیره جستجو کنید تا انواع موقعیت‌های موجود را ببینید. نتایج جستجوی شما تقریباً به اندازه داده‌های دولت جامع نخواهد بود، اما در عین حال شرح شغل در دنیای واقعی را مشاهده خواهید کرد. علاوه بر این، Glassdoor با استفاده از داده‌های ناشناس از کارکنان فعلی و سابق، برآوردهای حقوق و دستمزد شرکت‌های خاص را ارائه می‌کند.

برای تبدیل شدن به یک توسعه دهنده فول استک چه کاری باید انجام دهید


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


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


موفقیت شما به‌عنوان یک توسعه‌دهنده فول استک به تسلط بر مهارت‌های بخش جلویی و پشتی وب‌سایت‌ها و برنامه‌های کاربردی وب بستگی دارد. برای کمک به شما در یادگیری مهارت‌های front-end، مسیر یادگیری Become a Front-End Developer را ایجاد کرده‌ایم که نشانه‌گذاری و استایل‌سازی با HTML و CSS، تعامل با جاوا اسکریپت و راه‌اندازی یک وب‌سایت را پوشش می‌دهد. اگر می خواهید روی قسمت پشتی تمرکز کنید، مسیر یادگیری اصول برنامه نویسی وب را در نظر بگیرید. مهارت های برنامه نویسی اولیه در C++ و ملزومات back-end مانند پایگاه های داده و شبکه ها را آموزش می دهد. همچنین در صورت نیاز شما را با HTML، CSS و جاوا اسکریپت آشنا می کند.


یادگیری مبارک!

به یادگیری در مورد توسعه تمام پشته در Educative ادامه دهید


    نحوه انتخاب پشته فناوری مناسب برای توسعه وب

    شیرجه سریع به Firebase: سفر تمام پشته خود را شروع کنید

    آیا می توانم یک توسعه دهنده تمام پشته پایتون باشم؟


بحثی را شروع کنید

پایتون انجام پروژه پایتون با برنامه نویسان پایتون

چرا حرفه ای به عنوان یک توسعه دهنده فول استک مجذوب شما شده است؟ این مقاله به شما کمک کرد؟ در قسمت نظرات پایین ما را آگاه کنید!

تبدیل شدن به توسع دهنده فول استک در سال 2022 با رعایت چند نکته

چگونه در سال 2022 یک توسعه دهنده فول استک شویم


آیا به برنامه نویسی وب علاقه دارید؟ آیا شما با عبارت "جک همه معاملات" همذات پنداری می کنید؟ اگر پاسخ شما مثبت است، پس تبدیل شدن به یک توسعه دهنده فول استک ممکن است انتخاب شغلی خوبی برای شما باشد!

سفارش ساخت سایت در فریلنس پروژه

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


چندین دلیل خوب برای در نظر گرفتن توسعه فول استک وجود دارد:


    می توانید زندگی خوبی داشته باشید

    تقاضا برای این نقش همیشه سبز است و حتی انتظار می‌رود که حتی با توقف استخدام‌ها همچنان رو به رشد باشد

    شما می توانید با چالش های فزاینده جذاب مقابله کنید و مشکلات دنیای واقعی را حل کنید

پروژه انجام پروژه با متخصصان بزرگ

برای ورود به یک حرفه جدید، معمولاً باید با انجام برخی تحقیقات و تحلیل خود شروع کنید. توسعه تمام پشته نیز از این قاعده مستثنی نیست. برای کمک به درک این مرحله و سایر مراحل در سفر پیش رو، ما یک نقشه راه تهیه کرده ایم. با خواندن آن، خواهید دید:


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

    یک رویکرد ساختاریافته برای آماده شدن برای پیوستن به صفوف توسعه دهندگان تمام پشته بیاموزید

    برای کسب اطلاعات بیشتر در مورد این شغل با منابعی روبرو شوید


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

طراحی لوگو با بهترین طراحان لوگو

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


بیا بریم!


پوشش خواهیم داد:


    مراحل تبدیل شدن به یک توسعه دهنده فول استک

    مرحله 0: توسعه کامل پشته را درک کنید

    مرحله 1: یک برنامه شغلی تهیه کنید

    مرحله 2: تحصیل کنید

    مرحله 3: تجربه دنیای واقعی را بدست آورید

    مرحله 4: دریافت گواهینامه (اختیاری)

    مرحله 5: برای جستجوی شغل خود آماده شوید

    مرحله 6: کارهای توسعه دهنده تمام پشته را جستجو کنید

    چقدر طول می کشد تا یک توسعه دهنده فول استک شوید؟

    شرایط لازم برای تبدیل شدن به یک توسعه دهنده فول استک

    درآمد یک توسعه دهنده فول استک چقدر است؟

    برای تبدیل شدن به یک توسعه دهنده فول استک چه کاری باید انجام دهید


مراحل تبدیل شدن به یک توسعه دهنده فول استک


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

مرحله 0: توسعه کامل پشته را درک کنید

پروژه متلب انجام پروژه متلب متلب

ما قبلاً یک تعریف سریع از توسعه فول استک ارائه کردیم، اما ارزش یک نگاه دیگر را دارد. اگر به این شغل متعهد هستید، درک تمایز بین توسعه front-end و back-end مهم است زیرا شما هر دو را انجام خواهید داد.


عملکرد وب سایت ها و برنامه های وب به کد کار در هر دو طرف بستگی دارد. توسعه دهندگان فرانت اند روی رابط های کاربری (UI) و کاری که برنامه های وب در سمت مشتری انجام می دهند کار می کنند. این بدان معنی است که همه چیزهایی که کاربران در دستگاه های کاربر نهایی می بینند و با آنها تعامل دارند. توسعه دهندگان Back-end خود را به کاری که برنامه های وب در سمت سرور انجام می دهند، می اندیشند. این معمولاً شامل نمایش پویا اطلاعاتی است که از یک پایگاه داده روی سرور به دستگاه کاربر نهایی منتقل می شود. تبدیل شدن به یک توسعه‌دهنده فرانت‌اند یا توسعه‌دهنده بک‌اند نیازمند آموزش و آموزش فراوان است. از برخی جهات، تبدیل شدن به یک توسعه دهنده فول استک به موارد بیشتری نیاز دارد.


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

مرحله 1: برنامه ریزی کنید


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

لیست مجریان نظام مهندسی اراک

    توجه داشته باشید: نداشتن مدرک CS می تواند در ابتدا شما را برای نقش های جوان تر، اغلب با عناوینی مانند جونیور یا کاردانی آماده کند.