рдпреВрдЯреНрд░реИрдХ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЯреНрд░реИрдХрд░: DIY

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



Youtrack рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░рд▓реЗрдЦрди рдпрд╣рд╛рдБ рд╣реИ ред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЖрд╡реЗрджрди рд╕реЗ рдпреВрдЯреНрд░реИрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

  1. рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ YouTrack рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ
  2. рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдВ " example.youtrack.com/users/me "
  3. рдЖрдЗрдЯрдо рдвреВрдВрдвреЗрдВ "рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рд▓реЙрдЧрд┐рди рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ"
  4. рдЯреИрдм рдЦреЛрд▓реЗрдВ "рдкреНрд░рдорд╛рдгреАрдХрд░рдг"
  5. рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ "рдирдпрд╛ рдЯреЛрдХрди ..."
  6. рдХреНрд▓рд╛рдЗрдВрдЯ рдлрд╝реАрд▓реНрдб "YoutrackTimerec" рднрд░реЗрдВ
  7. рдХреМрди рд╕реЗ рдЙрдкрдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдЪреБрдирдирд╛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ - "YouTrack" рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
  8. рдЯреЛрдХрди рдмрдирд╛рдПрдБ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  9. рд╣рдо рдЯреЛрдХрди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг CURL рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд╛рдВрдЫрд┐рдд рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрддрд╛ рд╕рд╣реА рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ REST API рд╣реИред рдпрджрд┐ рд╕реЗрд╡рд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдХреБрдВрдЬреА рд╕рд╣реА рд╣реИ, рддреЛ рд▓реЗрдЦрд╛рдВрдХрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде json рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛

curl -X GET "https://example.myjetbrains.com/api/admin/users/me?fields=id,login,name,email"
-H "Accept: application/json"
-H "Authorization: Bearer perm:token"
-H "Cache-Control: no-cache"
-H "Content-Type: application/json"




{"login":"s.user",
"email":"s.user@example.team",
"name":"S User",
"id":"1-325",
"$type":"Me"}



рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдлреБрд░реНрддреАрд▓реА рдХреНрдпрд╛? рд╕рд░рд▓реАрдХреГрдд, рдХрд╛рд░реНрдп рдЖрдорддреМрд░ рдкрд░ рд╕реНрдкреНрд░рд┐рдВрдЯ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдмреЛрд░реНрдбреЛрдВ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЯред рдпрд╣ рдХреЗрд╡рд▓ рд╕рдХреНрд░рд┐рдп рдмреЛрд░реНрдб рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдмрд╛рдж рдореЗрдВ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрддреНрддрд░ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдмреЛрд░реНрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ:

curl -X GET "https://example.myjetbrains.com/api/agiles?fields=name,id,projects(id,shortName,name),columnSettings(columns(presentation))&$top=100"
-H "Accept: application/json"
-H "Authorization: Bearer perm:token"
-H "Cache-Control: no-cache"
-H "Content-Type: application/json"




[
   {
      "projects":[{ "shortName":"OPS", "name":"Operations",
                     "id":"04", "$type":"Project" }],
      "columnSettings":{
         "columns":[
            { "presentation":"Open", "$type":"AgileColumn"},
            { "presentation":"In Progress, Paused","$type":"AgileColumn" },
            { "presentation":"Postponed", "$type":"AgileColumn" },
            { "presentation":"Closed, Resolved", "$type":"AgileColumn" },
            { "presentation":"Feedback, On Review", "$type":"AgileColumn" }
         ],
         "$type":"ColumnSettings"
      },
      "name":"Web",
      "id":"15",
      "$type":"Agile"
   }
]



рдЕрдЧрд▓рд╛ рдХрджрдо

рдмреЛрд░реНрдб рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ: - `рдмреЛрд░реНрдб рдХреБрдЫ рдирд╛рдо:` рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рдмрд╛рдж рдХрд╛ рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, `рдХреЗ рд╕рд╛рде рдЕрдВрдд:`
`` `` рд╡рд░реНрддрдорд╛рди рд╕реНрдкреНрд░рд┐рдВрдЯ} `рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕реНрдкреНрд░рд┐рдВрдЯ рд╕реЗ рдХрд╛рд░реНрдп
рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ -` # рдЕрдирд╛рд░рдХреНрд╖рд┐рдд` рдмрд┐рдирд╛ рдХрд┐рд╕реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд╛рд░реНрдп рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдЖрдПрдВрдЧреЗред , рд╡рд╣рд╛рдБ рдХреБрдЫ рдЧреБрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП, рдЖрдИрдбреА рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╕рд╛рд░рд╛рдВрд╢ - рд╢реАрд░реНрд╖ рд▓реЗрдЦ, рд╕реНрдкреЗрдВрдЯ рдЯрд╛рдЗрдо - рд╕рдордп рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдЦрд░реНрдЪ, рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЯ - рд╕реНрдкреНрд░рд┐рдВрдЯ рдЖрдИрдбреА, рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

curl -X GET "https://example.myjetbrains.com/rest/issue?filter=for:me%20Board%20Some%20Name:%7BCurrent%20sprint%7D%20%23Unresolved%20"
-H "Accept: application/json"
-H "Authorization: Bearer perm:token"
-H "Cache-Control: no-cache"
-H "Content-Type: application/json"




{
   "issue":[
      {
         "id":"38-1234", 
         "entityId":"2-12345",
         "jiraId":null,
         "field":[
            { "name":"projectShortName", "value":"38"  },
            { "name":"summary", "value":"[system] [tech] Huge hard task" },
            { "name":"created", "value":"1582624816973" },
            { "name":"Spent time", "value":[ "399" ],  "valueId":["6h 39m"],"color":null },
            { "name":"sprint", "value":[  { "value":"Value", "id":"ID" } ] }
         ],
      }]
}



рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХрд╛рд░реНрдп рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдкрд┐рдВрдЧ рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЖрд╡реЗрджрди рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдкрд░ рдХрд╛рдо рдореЗрдВ рдмрд┐рддрд╛рдП рд╕рдордп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рдореНрди рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде рдорд┐рдирдЯреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (WorkItem) рднреЗрдЬреЗрдВ, рдХреНрдпреЛрдВ XML? рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ WorkItem рдХреЛ рдПрдХ json рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдЗрддрд┐рд╣рд╛рд╕: рдЖрдк рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╕рдордп рд╡реНрдпрддреАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ 0 рдХреНрд╖реЗрддреНрд░, рдЙрдирдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХрд╛рд░реНрдп рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ред рд╡рд░реНрддрдорд╛рди рд╕реНрдкреНрд░рд┐рдВрдЯ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдп рдХрд╛ рдирд┐рд╡реЗрджрди рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЖрдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрдп рд╕рд░рдгреА, рдФрд░ рдЙрди рд╣реИ рдХрд┐ рд╕рдордп рдмрдВрдж рд▓рд┐рдЦрд╛ рд╣реИ рдореЗрдХрдЕрдк рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рддред рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд╣рд╛рдБ Honsu рд▓рд╛рдЗрд╡ рдХрд░рддрд╛ рд╣реИ: github.com/dalerank/nanogui/tree/master/honsu

curl -i -X POST "https://example.myjetbrains.com/rest/issue/38-1234/timetracking/workitem" 
-H "Accept: application/json"
-H "Authorization: Bearer perm:token"
-H "Cache-Control: no-cache"
-H "Content-Type: application/xml"
-d <?xml version=\"1.0\" encoding=\"UTF-8\"?> <workItem> <date>UnixEpocTime*1000</date> <duration>10</duration> <description>added by Honsu</description> <worktype> <name>Development</name> </worktype> </workItem>











curl -X GET "https://example.myjetbrains.com/rest/issue?filter=for:me%20Board%20Some%20Name:%7BCurrent%20sprint%7D"
-H "Accept: application/json"
-H "Authorization: Bearer perm:token"
-H "Cache-Control: no-cache"
-H "Content-Type: application/json"




curl -X GET "https://example.myjetbrains.com/rest/issue/38-1234/timetracking/workitem"
-H "Accept: application/json"
-H "Authorization: Bearer perm:token"
-H "Cache-Control: no-cache"
-H "Content-Type: application/json"







рдЗрд╕реЗ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде

рдпрд╛ рдпрд╣рд╛рдБ рдПрдХреНрд╕рд╛рдИ (рд╡рд┐рдВрдбреЛрдЬ) рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: github.com/dalerank/nanogui/releases

рдпрд╣ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

+ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦреЗрдВ
+ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рдПрдкреНрд░реАрдЯреНрд░реИрдХ рдХрд╛рдо рдХрд░рддреЗ
рд╣реИрдВ рдпрд╛ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдмрд┐рдирд╛ рдореЛрдиреЛрдПрдк рдмрдирд╛рдП, рдмрд┐рдирд╛ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ
+ рджрд┐рд▓рдЪрд╕реНрдк :)

рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

+ Youtrack рд╕реЗ рдХрд╛рд░реНрдп рдЙрдард╛рддрд╛ рд╣реИ
+ рд╕рдХреНрд░рд┐рдп рдмреЛрд░реНрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ
+ рдПрдХрддреНрд░рд┐рдд рд╕рдордп рдХреЛ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдореЗрдВ
рдХрдЯ-рдбрд╛рдЙрди
+ рдбрд╛рдЙрдирдЯрд╛рдЗрдо + рдХрд╛рд░реНрдп рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдЬрдм рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ
+ рджрд┐рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ
+ рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдПрдХ рдХреБрдВрдЬреА рдФрд░ рдПрдХ рд╕рд░реНрд╡рд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛,

рдХреНрдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗ:

+ рдХрдИ рдЦрд╛рддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
+ рдЕрдЧрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдирд╣реАрдВ рд╣реИ
+ рддреЛ рдлрдЯрд╛ рд╣реБрдЖ рд╕рдордп рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ + рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреБрдкрдпреБрдХреНрдд рдмрдирд╛рдПрдВ + рдХрд╛рд░реНрдпреЛрдВ
рдХреЗ рд░рдВрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ + рдЯрдордЯрдо рдХреЗ
рдирд┐рд░реНрдорд╛рдг +
рдХреЛ рдЯрдордЯрдо рдХреЗ рд░рд┐рд▓реАрдЬ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдпрд╣ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИ:

+ CMake + C ++ 11 + OpenGL (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЧреИрдк
+ + рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ )
+ cpp-couldplibib
+ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг, рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ (Ubuntu \ MacOS) рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрд╛рдо рднреА рдХрд░рддрд╛ рд╣реИ

All Articles