рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдЖрдЬ рдХреЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдкреНрд░рдХрд╛рд╢рди рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ, рд╣рдо рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдкрд╛рда рд╣рд╛рд▓рд┐рдпрд╛ рдЪрд░реНрдЪрд╛ рд╕рд╛рдордЧреНрд░реА "
рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрд╕рд╛рд╣реА " рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд░реНрддреА рд╣реИред 19 рдЬреБрд▓рд╛рдИ, 2019 рддрдХ рд╣реБрдИ рдЪрд░реНрдЪрд╛ рдФрд░ 189 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╣рдо рдЗрддрдиреЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдП рдХрд┐ рд╣рдордиреЗ рдореАрдбрд┐рдпрдо рдкреЛрд░реНрдЯрд▓ (рдХреНрд░рд┐рд╕реНрдЯреЛрдлрд░ рд▓реЗрди) рд╕реЗ рдПрдХ рдЕрдиреНрдп рд▓реЗрдЦрдХ рдХреЛ рдордВрдЬрд┐рд▓ рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдмреНрд░рд╛рдпрди рдиреЙрд░рд▓реИрдВрдбрд░ рдХреЗ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрд░реБрд╡реАрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореВрд▓ рдореЗрдВ, рдпрд╣ рд▓реЗрдЦ рдкрд┐рдЫрд▓реЗ рдПрдХ (16 рдордИ рдФрд░ 16 рдЬреВрди) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдорд╣реАрдиреЗ рдмрд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рд▓рдЧрднрдЧ рдЖрдзреЗ рддрд╛рд▓рд┐рдпреЛрдВ (рдЕрдиреБрд╡рд╛рдж рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рдордп 1.5 K рдХреЗ рдЦрд┐рд▓рд╛рдл 706) рдПрдХрддреНрд░ рдХрд┐рдпрд╛ред рдЖрдЗрдП рджреЗрдЦрддреЗ рд╣реИрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рд╣реНрд░реЛрдм рдкрд░ ...
Pexels рджреНрд╡рд╛рд░рд╛
rawpixels.com рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдлреЛрдЯреЛ
рдореИрдВ рддрдХрдиреАрдХреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрд░
рд╕рд┐рдВрдбреА рдЪреЗрдЙрдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдХреГрд╖реНрдЯ
рд▓реЗрдЦ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдХреНрдпреЛрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред
рдореИрдВ рдЖрдкрдХреЗ рдЗрд╕ IT рдореЗрдВ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдирд░рдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдРрд╕реЗ рдЖрддреНрдо-рдзреЛрдЦреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рдмрд╕ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рдХреЛрдб рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рд╣реИ - рдЧрд▓рдд рдзрд╛рд░рдгрд╛
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдЕрдЪреНрдЫреЗ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХрд╛ рдХреЛрдб рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдкрдардиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрд╕реЗ рдХрд┐рд╕реА рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рддреБрдореНрд╣реЗрдВ рдкрддрд╛ рд╣реИ, рдпрд╣ рдмрдХрд╡рд╛рд╕ рд╣реИ ... рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВред
"рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЛрдб" рдмрдХрд╡рд╛рд╕ рдХреНрдпреЛрдВ рд╣реИ?
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐
рд╣реЗрдорд┐рдВрдЧреНрд╡реЗ рдиреЗ рдЧрджреНрдп рд▓рд┐рдЦрд╛ рдерд╛ ред рд╢рд╛рдпрдж рдЖрдкрдХрд╛ рд╕реБрдкрд░-рдбреБрдкрд░ рдХреЛрдб рд╕рд╛рдл рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ (рджреВрд╕рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП)ред рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдХреЛрдб рдПрдХ рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдХрд┐рддрдирд╛ рд╕рд╛рдл рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдЧреИрд░-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЧрдбрд╝рдЧрдбрд╝рд╛рд╣рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: "рдХреНрдпрд╛ рдпрд╣ рд╕рдм рд╣реИ рдорддрд▓рдм! тАЭ
рдореБрдЭреЗ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЛрдб рд╕рднреА рдмрдХрд╡рд╛рд╕ рд╣реИ? рдореБрдЭреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдПрдВред
рдХрд╛рд░рдг 1: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рддрд░рдХреАрдмреЗрдВ рд╣реИрдВ рдЬреЛ рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдирд╣реАрдВ рд╣реИрдВрд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд╣рд┐рдд рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ рдХрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдКрдВрдЧрд╛, рдореБрдЭреЗ рдЖрдкрдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд╛рдо рд╕рдордЭ рдореЗрдВ рдЖрдПрдВрдЧреЗ, рдореИрдВ рдпрд╣ рднреА рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдХреЛрдб рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╡реЗ рд╣рдорд╕реЗ рдмреЗрд╣рддрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВред рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдорд╛рдирд╡реАрдп рднрд╛рд╖рд╛ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдпрд╣ рд╕рдордЭ рд╕рдХреЗ рдХрд┐ рдЖрдкрдХрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
"рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ" рдФрд░ рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦрдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реИред рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИред
рд╕реА # рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдмреВрдБрдж рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реА, рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХреА, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреНрд░реАрдорд░рд╛рдЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХреАред
var fileContents = тАЬтАЭ;
Encoding fileEncoding; using (var reader = new StreamReader(filePath, Encoding.Default, true))
{
reader.Peek();
fileEncoding = reader.CurrentEncoding;
fileContents = reader.ReadToEnd();
}
StreamReader, , ? тАж , ?
reader.Peek();
, , . , ? - 10 , .
reader.Peek(); // , .
, , . , , . , , , .
2:BASH BAT, , , , . . , .
, , тАУ -, , -.
, -, . , - API-, -. - API- , , , , - . ┬л┬╗ . ┬л ┬╗ - ┬л, , ┬╗. , - ┬л┬╗.
, , , . , , , , , .
3:jquery, API.
var myURL="https://some.url/path?access_token=my_token";
$.ajax({
url: myURL+"&callback=?",
data: "message="+someOtherData,
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function(e) {
alert('Error: '+e);
}
});
тАж
, , - . jquery . , , - -, , -. .
, , , , . , . , , .
.
?, , .
1:
, ? ?! !
, ┬л ┬╗. , тАУ .
- API
/someurl/object/{id}
- API
{id}
( int
), . null
, API HTTP- 404 ( ). API- .- тАФ
NOT null
, API JSON HTTP- 200 (OK).
, , , - . , : , , .
2:
- , , , , ┬л┬╗, , .
websequencediagrams.com, тАУ .
title Service one to service two
Service two requester -> Service two http client: Get Contract
Service two http client -> Service one REST API: GET /api/contracts/{123}
Service one REST API -> Service one app logic: get Contract with id 123
Service one app logic -> Service one REST API: Contract
Service one REST API -> Service one REST API: Serialise to JSON / XML / etc.
Service one REST API -> Service two http client: Serialised data
Service two http client -> Service two http client : Deserialise to Contract
Service two http client -> Service two requester: Contract
,

!
, тАУ , . - - , . , .
3: (Ubiquitous Language)
,
тАУ DDD (- ), , . , , , , .
, , , , , , .
/// <summary>
/// / ,
/// settings
/// </summary>
public interface ICustomer
{
Task<AuthenticationResult> Login(string username, EncryptedString password);
Task Logout();
Task<CustomerProfileInformation> GetMyProfile();
Task SaveMyProfile(CustomerProfileInformation);
Task<CustomerSettings> GetMySettings();
Task SaveMySettings(CustomerSettings);
, , , .
4:
, тАУ . , (- , ), .
, , , . ( ). , , , , .
,