рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ
"рдХреИрд╕реЗ рдПрдХ рдФрд╕рдд рджрд░реНрдЬреЗ рдХрд╛ рдбреЗрд╡рд▓рдкрд░ рди рд╣реЛ!"рджреБрд╖реНрдпрдВрдд рд╕рднрд░рд╡рд╛рд▓ред рд▓реЗрдЦ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╡рддрдГ, рдХреБрдЫ рдЕрдиреБрднрд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬреЛ рдЕрдкрдиреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХрддрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЖрдо рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрддреА рдЦреБрдж рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХ рдХреЛрдб рд▓рд┐рдЦреЗрдВ
рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЛрдИ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдкреНрд░рддрд┐ рджрд┐рди рдХрд┐рддрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реЗрдЦ рдкрдврд╝рддреЗ рд╣реИрдВ рдпрд╛ рджрд┐рди рдореЗрдВ рдХрд┐рддрдиреА рдмрд╛рд░ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рддреЗ рд╣реИрдВ - рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХрд╛рдо рдХрд┐рдП рдмрд┐рдирд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдЬреЛ рдХрдИ рд╢реБрд░реБрдЖрддреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЗ рдиреАрдЪреЗ рд╕реЗ рдЙрдбрд╝рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ
рдЬрдм рдореИрдВрдиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЕрд╕рдорд╛рдирддрд╛ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖред рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдг рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдПрдХ рдирдП рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦрдирд╛ рд╕рд┐рдЦрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдЕрдкрдиреЗ рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рддрд░реНрдХ рдХреЛ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕рдордЭреЗрдВрдЧреЗ рдФрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд╛рдПрдВрдЧреЗ (рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЬрдмрдХрд┐ рд╡реЗ рд▓рд┐рдЦреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ) рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдпрд╛ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
function postData(data) {
boolean valid = true;
//
if (data === undefined) {
valid = false;
}
//
if (!regex(data['email']) {
valid = false;
}
//
if (data['password'].length < 8) {
valid = false;
}
if (valid) {
http
.post(`example.com/user/create`, data)
.then((response) => {
//
this.users.append(response.userid);
})
.catch((error) => {
//
});
} else {
showValidationError();
}
}
postData
: , , .
postData
. , :
function postData(data) {
return http
.post(`example.com/user/create`, data);
}
function validate(data) {
//
if (data === undefined) {
return false;
}
//
if (!regex(data['email']) {
return false;
}
//
if (data['password'].length >= 8) {
return false;
}
return true;
}
function appendUsers(userId) {
this.users.append(response.userid);
}
function main() {
if (validate(data)) {
postData(data)
.then(data => appendToList(data.userId))
.catch(error => handleError(error))
} else {
showValidationError();
}
}
, тАФ , , .
. , - API, , , , - .
open-source
open-source , , . . . , open-source . , open-source .

-, , , , , . , 100%, - .
, . product manager-, тАФ , ! , , !
/ . , , , . , , . , , , .

, , API, ( ) . , .
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
,
vue.js. , :
new
? ┬л┬╗ ?- ,
el
id
, #
? , , ? data
vue
. ?
, , , .
, . , , , тАФ ! , . API. , , , .
( , , ) , . . , , API.
. , . , , , .
, , :
hackerrank,
leetcode,
codingame .
, , . stackoverflow, . medium , . github. , , .
-
API , , : ┬л тАФ . ┬╗. , . , DRY, , , .. (, ), . , , , , ┬л ┬╗, .
, , , . , тАФ , !