рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЛрдб (рдЖрдорддреМрд░ рдкрд░) рдмрдХрд╡рд╛рд╕ рд╣реИ

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!

рдЖрдЬ рдХреЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдкреНрд░рдХрд╛рд╢рди рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ, рд╣рдо рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдкрд╛рда рд╣рд╛рд▓рд┐рдпрд╛ рдЪрд░реНрдЪрд╛ рд╕рд╛рдордЧреНрд░реА " рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрд╕рд╛рд╣реА " рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд░реНрддреА рд╣реИред 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:


, тАУ . , (- , ), .

, , , . ( ). , , , , .

,

Source: https://habr.com/ru/post/hi460725/


All Articles