R ááẠáá¯ááºáá±á¬ááºáá»ááºáá»áá¯ážá
á¯á¶ááŸáá·áº ááŒáá·áºá
á¯á¶áááºá á¡á±á¬ááºááŸá¬ áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážááááá±ážáá²á· á
áááºáááºá
á¬ážá
áá¬á¡áá±á¬ááºážáá¯á¶ážáááºáá¯ááᯠáá±á¬áºááŒáá±ážáá«áááºá áá»áœááºá¯ááºáá¡áá¯ááºááœááºá¡áá¯á¶ážááŒá¯áá±á¬ R áá¡ááºá¹áá«áááºá¡áá»áá¯á·á¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¬ááºáááºážáá»á¬ážááᯠáááá¯ááááºáá¬áá»á¬ážá á
áááºáá«áááºáá«áááºáá¶áááŸáááŒá±á¬ááºáž ááœá±á·ááŸáááŒá®ážáá±á¬áẠáá±á¬ááºážáá«ážááẠáá±á«áºáá¬áááºá áá®á¡ááŒá±á¬ááºážááœá± á¡áá¯ááºáááá±ááŒá®ááá¯áááºáá±á¬á· á¡áá»áááºááŒá¯ááºážááááá¯á· áá±á¬ááºážáááºáá«áááºá áá
áºáá»áááºáááºážááŸá¬ááẠááá·áºááœáẠáá»áŸáá±ááá¯áá±á¬á¡áá¬áá»á¬ážááŸááá«á ááŸááºáá»ááºáá»á¬ážááœáẠá¡áá¯á¶ážáááºáá±á¬á¡áá¬áá
áºáá¯ááᯠá¡ááŒá¶ááŒá¯áá«á
Skillbox á០á¡ááŒá¶ááŒá¯áá¬ážáááº- áááºááœá±á·áááºáááºáž
"Python developer" .áá«ááá¯á·áááºážááá¯ááááá±ážááẠ"Habr" áá á¬áááºáá°á¡á¬ážáá¯á¶ážá¡ááœáẠ- "Habr" áááá¯ááá¯ážááŸááºážáá¯ááºááᯠá¡áá¯á¶ážááŒá¯á áááºááá·áº Skillbox áááºáááºážááœááºá á¬áááºážááœááºážááá·áºá¡áá« 10 áá°áááºáá»áŸá±á¬á·á á»á±ážá
ááŒá±á¬ááºážáá²ááŒááºážáá¯ááºáá±á¬ááºáá»ááº
áá« switch() ááá¯ááááºááŒáá¯ááºáááºá á¡ááŸááºááŸá¬á áááºážááẠá¡ááŒá¬ážáá±á¬ variable ááááºááá¯ážá¡áá±á«áºá¡ááŒá±áá¶ááá·áºáááºááá¯ážááá¯ááœá±ážáá»ááºááá·áºá¡áá« if statement á¡ááœáẠá¡áááºááŒá±áá±á¬á¡ááá¯áá±á¬ááºáá áºáá¯ááŒá áºáááºá ááááºááœá±ážáá»ááºááŸá¯á¡áá±á«áºá¡ááŒá±áá¶á áá®ážááŒá¬ážáá±áá¬á¡á á¯áá áºáá¯á¡á¬áž áááºááẠááá¯á¡ááºáá±á¬ áá¯ááºáá±ážáá±áá»áááºááœáẠáááºážááẠá¡áá°ážá¡áá¯á¶ážáááºááŒá±á¬ááºáž ááœá±á·ááŸáááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠáááá á¹áá¬ááºáᯠá¡áááºáá±ážáá¬ážááá·áº ááŒá±á¬ááºážáá²ááŸá¯áá áºáá¯ááŸáááŒá®áž áááá á¹áá¬ááºááẠááœá±ážá ááŒá±á¬áẠááá¯á·ááá¯áẠáá¯ááºáá¯ááºááá¯ááºáá±á«áºáá°áááºá áá®ážááŒá¬ážáá±áá¬á¡á á¯áá áºáá¯ááᯠááœá±ážáá»ááºááá¯áá«áá á€á¡áá¬ááᯠáá±ážáá«-
áá±áᬠ< â read.csv(
ááŒá±á¬ááºáž(áááá
á¹áá¬ááºá
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)
áá áºáᯠááá¯á·ááá¯áẠáá áºáá¯áááºááá¯áá±á¬ ááá·áºááœááºážáá®áá°ážá¡áá¬áá»á¬ážáá±á«áºáá°áááºá ááá°áá®áá±á¬áá±áá¬á¡á á¯á¶áá»á¬áž ááá¯á·ááá¯áẠáááºáááºážáá»ááºááá¯ááºáá»á¬ážááᯠáááºáááºááá¯á¡ááºááá·áº Shiny á¡ááá®áá±ážááŸááºážáá»á¬ážááœáẠá€á¡ááºá¹áá«áááºááẠá¡áá¯á¶ážáááºáá«áááá·áºáááºá
RStudio á¡ááœáẠáá±á¬á·áá®ážáá»á¬áž
á€áááºááºááẠR á¡ááœáẠáá»á¬ážá áœá¬ááá¯ááºáá±á¬áºáááºáž RStudio IDE á¡ááœááºááŒá áºáááºá ááá¯á·áá±á¬áºá áá®ážáá»á¬ážááẠá¡ááŒá²áááºáž á¡ááœááºá¡áááºááŒá±áá±á¬ááŒá±á¬áá·áº á á¬áá¬ážááá¯ááºááá·áºá¡áá« á¡áá»áááºáá¯ááºáááºáá¬á á±áááºá áá»áœááºá¯ááºá¡ááŒáá¯ááºáá¯á¶ážáá»á¬ážááŸá¬ %>% á¡á±á¬áºááá±áá¬á¡ááœáẠCtrl+Shift+M ááŸáá·áº <- á¡á±á¬áºááá±áá¬á¡ááœáẠAlt+- ááŒá áºáááºá
ááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááá¯ááŒáá·áºááŸá¯ááẠRStudio ááœáẠAlt+Shift+K ááá¯ááŸáááºáá«á
flexdashboard á¡áá¯ááº
áááºá Shiny áááºááŸáºáá¯ááºááᯠá¡ááŒááºááœáá·áºááẠááá¯á¡ááºáá±á¬á¡áá«á áááºááŸáºáá¯ááºáááºáá±á·áá»áºááẠááá¯áá±á¬ááºážáá±á¬á¡áá¬áááŸááá«á áááºážááẠHTML ááŒááºáááºážááá·áºááºáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠáá±ážá áœááºážááŒá®áž áá±ážáá¬ážáá»á¬ážá á¡áááºážáá»á¬ážááŸáá·áº áá±á¬áºáá¶áá»á¬ážááᯠááœááºáá°áá»á±á¬ááœá±á·á áœá¬ áááºáá®ážááá¯ááºá á±áá«áááºá áááºážááᯠá¡ááá®áá±ážááŸááºážá ááá°áá®áá±á¬á á¬áá»ááºááŸá¬áá»á¬ážááœáẠáá¬ážáááºá á¡áá¯ááºááœááºáá»á¬ážáá¬ážáá²á·áááºá Github áá±á«áºááŸá ááŒááºáááºážááá·áºááºáá»á¬ážá á¡á®ážáá±ážááºááááºá á¬áá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬ááᯠáá¬ážááŸáááá¯ááºá á±ááá·áº áá±á«ááºážá ááºáá¬ážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºá áœááºážáááºáž ááŸááá«áááºá
áááºáá±á·áá»áºááẠááá·áºá¡á¬áž Rmarkdown ááá±á¬ááºá¡ááœááºážááœáẠáá¯ááºáá±á¬ááºááá¯ááºá á±áá±á¬ááŒá±á¬áá·áº áááºááẠá¡ááá®áá±ážááŸááºážá¡á¬ážáá¯á¶ážááᯠRmd ááá¯ááºáá áºáá¯ááœáẠáá¬ážááá¯ááºááŒá®ážá á¥ááá¬á¡á¬ážááŒáá·áºá á¥ááá¬á¡á¬ážááŒáá·áºá shinydashboard ááá¯á¡áá¯á¶ážááŒá¯á ááŒá®ážáááºááŸáá·áºá¡áá»áŸ áááºážááá¯á·ááᯠááá°áá®áá±á¬áá¬áá¬áá»á¬ážááŸáá·áº UI ááá¯ááºáá»á¬ážááœáẠáááŒáá·áºáá±ááá¯ááºáá«á ááŸá¯ááºááœá±ážáá±á¬á¡áá¬áá áºáá¯áá¯ááá¯ááá¯ááºáá±á¬ááºáá® ááá¯ážááŸááºážáá±á¬ áááºááŸáºáá¯ááºááŸá±á·ááŒá±ážáá¯á¶á á¶ááá¯áááºáá®ážááẠááá¯á¡ááºááá·áºá¡áá«ááá¯ááºáž flexdashboard ááá¯á¡áá¯á¶ážááŒá¯áá«áááºá á€áá¯ááºáá±á¬ááºáá»ááºááẠááá·áºá¡á¬áž áá áºáá¬áá®á¡ááœááºáž ááŸá±á·ááŒá±ážáá¯á¶á á¶ááᯠáááºáá®ážááá¯ááºá á±áá«áááºá
Req ááŸáá·áº R Shiny ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááá¬ážáááºá¡á±á¬ááºááŒá¯áá¯ááºáá«á
R Shiny ááœáẠááœá¶á·ááŒáá¯ážáá¬ááŒááºážááẠá¡áá°ážáááŒáá·áº áááºáá¬ááŒá áºáá±áááºáá»á¬ážááᯠáá¬ážáááºáááºáááºáá²á á±ááá·áº áá°ážáááºážáá±á¬ á¡ááŸá¬ážáááºáá±á·áá»áºáá»á¬ážááᯠáááºáááºáááŸáááá·áºá¡áá«ááœáẠááŸá¯ááºááœá±ážááá¯ááºáááºá ááá¯á·áá±á¬áº á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá Shiny ááẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá¬ááŒá®áž ááá¯ááá¯áá±á¬ááºážááœááºáá¬áᬠerror áá¡ááŒá±á¬ááºážáááºážááᯠáá¬ážáááºááá¯ááºá á±ááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠá€áá±áá¬ááœáẠááá¯áááá¯ááá»á¬ážáá¬áá«áááºá ááá¯á·ááŒá±á¬áá·áºá req() ááẠáá±áá°áá»á¡á¬ážááŒáá·áº áá¬ááŒá áºáá±áááºááᯠáááŸááºážááááºážááŒá áºáá±áá±á¬á¡áá« "silent" error ááŒáá·áº ááŒá±ááŸááºážáá±ážáááºá áááºážááẠááá·áºá¡á¬áž ááááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áááºá ááºáá±ááá·áº UI á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááŒáááẠááœáá·áºááŒá¯áááºá á¥ááá¬áá áºáá¯áá²á· ááŸááºážááŒááŒáá·áºáá¡á±á¬ááºá
á¡ááœáẠ$go_button < â áá±á¬ááºááŒá±á¬áẠ::renderUI({
ááááá á¹áá¬ááºááá·áºááœááºážááŸá¯ááá¯ááœá±ážáá»ááºáá«á # áá¬ááŒááááºááá¯ááº
áá±á¬ááºááŒá±á¬áẠ::req(ááá·áºááœááºáž $áááá á¹áá¬ááº)
# ááŒááááºááá¯ááº
áá±á¬ááºááŒá±á¬áẠ::actionButton("ááœá¬áž"á
paste("áá»áá·áºáááº"á ááá·áºááœááºáž $áááá
á¹áá¬ááºá "ááœá²ááŒááºážá
áááºááŒá¬ááŒááºáž!")
)
})
validate() ááẠááá±á¬áºááŒáá® á¡á¬ážáá¯á¶ážááᯠá á áºáá±ážááŒá®áž á¡ááŸá¬ážá¡ááœááºáž áááºáá±á·áá»áºááᯠáááá·áºáá¯ááºááẠááœá±ážáá»ááºááœáá·áº áá±ážááẠ- á¥ááá¬á á¡áá¯á¶ážááŒá¯áá°ááẠááŸá¬ážááœááºážáá±á¬ ááá¯ááºááᯠá¡ááºáá¯ááºáá¯ááºáá¬ážáááº-
# csv ááá·áºááœááºážááŸá¯ááá¯ááºááᯠááá°áá«á
inFile < â ááá·áºááœááºáž $file1
data < â inFile$datapath
# ááœá±ážááŒá áºááŸáá¬áá»áŸááºááá¬áž
áá±á¬ááºááŒá±á¬ááº::renderTable({
# áááºážááẠááŒá±á¬áẠááá¯á·ááá¯áẠáá¯ááºáá»á¬ážááá¯ááºáá² ááœá±ážááá¯ááºááŒá
áºááŒá±á¬ááºáž á
á
áºáá±ážáá«á
áá±á¬ááºááŒá±á¬áẠ::validate(
ááá¯á¡ááºáááº("ááœá±ážá¡áááº" %in%colnames(áá±áá¬))á
âááœá±ážá¡áááºáá±á¬áºáá¶ááᯠááŸá¬áááœá±á·áá« â ááŸááºáááºáá±á¬ ááá¯ááºááᯠáááºáááºáá²á·áá«ááá¬ážá
)
áá±áá¬
})
á€á¡ááºá¹áá«áááºá¡á¬ážáá¯á¶ážá¡ááŒá±á¬ááºáž áá±á¬ááºáááºá¡áá»ááºá¡áááºáá»á¬áž
á áá áºáááºáááºážáá»ááºááœáẠááá·áºááá¯ááºáááºá¡áá±á¬ááºá¡áá¬ážáá»á¬ážááᯠááááºážáááºážááŒááºážá
áááºááẠá¡áá±á¬ááºá¡áá¬ážáá»á¬áž ááá·áºááœááºážááẠááá¯á¡ááºááá·áº áá¯ááºááᯠáá»áŸáá±ááẠá á®á ááºáá«áá Github ááá¯á·ááá¯áẠá¡ááŒá¬ážáááºáá±á¬ááºááŸá¯ááœáẠááá·áºááá¯ááºááá¯ááºá¡áá±á¬ááºá¡áá¬ážáá»á¬ážááᯠáááºáá¶ááá°ááŒááºážá០ááŸá±á¬ááºááŒááºááẠá áá áºáááºáááºážáá»ááºááᯠá¡áá¯á¶ážááŒá¯áá«á ááá°áá¬áá±áá¬áá»áá¬ážááŸá¯-
Sys.setenv(
DSN = "áá±áá¬áá±á·á
áº_á¡áááº",
UID = "á¡áá¯á¶ážááŒá¯áá° ID",
PASS = "á
áá¬ážááŸááº"
)
ááᯠáááºááẠáááºáááºážáá»áẠááááºážááŸááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºáá±á¬ááºááá¯ááºáááº-
db < â DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN")á
uid = Sys.getenv("UID")á
pwd = Sys.getenv("PASS")
)
áááºáááºááŸá¯á áá áºááœáẠááá¯ááºááá¯ááºááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááááºážááŸááºáá»á¬ážá¡ááŒá ẠáááºááŸááºááẠ(á¡áá°ážáááŒáá·áº áááºáááŒá¬áá áá±áá¬á¡áá¯á¶ážááŒá¯áá«á) ááá¯á¡áááºááŒá±áá«áááºá á€ááá á¹á ááœááºá áááºážááá¯á·ááẠá¡ááŒá²áááºážáááŸáááá¯ááºááŒá®áž áááºážááá¯á·ááᯠáá¯ááºááœáẠáááºáááºááŸááºááẠáááá¯á¡ááºáá«á
styler ááŒáá·áº á¡ááá¯á¡áá»á±á¬ááºá áá áºááŒáá·áº áááºáááºá áœá¬áá¯ááºáá±á¬ááºáá«á
styler áááºáá±á·áá»áºááẠááá·áºáá¯ááºááᯠááŸááºážááŸááºážáááºážáááºážááŒá áºá¡á±á¬áẠáá°áá®áá±ážááá¯ááºáááºá áááºážááœáẠáá¯ááºá ááá¯ááºááᯠáááºáááºáá±á¬áá¯á¶á á¶ááá¯á· á¡ááá¯á¡áá»á±á¬ááºáá°áá±á¬ááºáá¬ááẠááœá±ážáá»ááºá áá¬áá»á¬ážá áœá¬ááŸááááºá áááºáá¯ááºáááºááá¯á¡ááºáááºááŸá¬ ááá·áºááŒá¿áá¬ááŸááá±á¬ script ááœáẠstyler::style_file() ááᯠrun áá«á ááŸá¬áá°ááŸá¯ááᯠááŒááºáááºááá°ááẠáááºáá±á·áá»áºááẠáá»á¬ážá áœá¬ (ááá¯á·áá±á¬áº á¡áá¬á¡á¬ážáá¯á¶ážááá¯ááºáá«)á
R Markdown Documents ááᯠááá·áºáááºááŒááºáž
ááá¯á·ááŒá±á¬áá·áº áááºááẠááœá±ážáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»áá¯ážáá»áá¯ážáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠááœá²ááŒááºážá áááºááŒá¬ááá¯ááºáá±á¬ R Markdown á á¬áááºážááŒá®ážááᯠáááºáá®ážáá²á·áááºá ááŒá®ážáá±á¬á· ááŒá±á¬ááºááœá±áá²á·áᬠá¡áá¯ááºá¡áá°áá°áá¯ááºááẠááá¯áá±á¬ááºážáááºááá¯á· áááºáá«áááºá ááŒá¿áá¬áááŸááá«á á¡áááá·áºáá áºáá¯áááºážááŒáá·áº cat á¡á á®áááºáá¶á á¬áá»á¬ážáááºáá®ážááŸá¯ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá áá®ááá¯áá¯ááºááá¯á·á áááºážáá²á· R markdown document ááᯠááá·áºáááºááá¯á·áá²ááá¯áááºá
áááºááŸááºáá¬ážáá±á¬á á¬ááœááºá á¬áááºážááŸá YAML áá±á«ááºážá á®ážá¡ááœáẠáá±á¬ááºáá»á¬ážááᯠáááºááŸááºááŒá®áž áááºááá¯ážáá±á¬ááºáá»á¬ážááᯠáááºááŸááºááŒááºážááŒáá·áº áááºážááᯠáááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
áá±á«ááºážá
ááº- "áááá
á¹áá¬áẠáááºážá
á
áºááŒááºáž"
áá±ážáá¬ážáá°- "Keith McNulty"
áááºá
áœá²- "21 áááºá 2019"
á¡ááœááº:
html_document-
code_folding- "ááŸááº"
áá±á¬ááºáá»á¬áž-
áááá
á¹áá¬ááº_á¡áááº-
áááºááá¯áž: ááœá±áž
ááœá±ážáá»ááºááŸá¯áá»á¬áž
- ááœá±áž
- ááŒá±á¬ááº
- áá¯ááº
ááŸá
áº_áá±á·áá¬ááŸá¯-
ááá·áºááœááºážááŸá¯- áááá¯ááºáá«
áááá
áº- 2000
á¡áá»á¬ážáá¯á¶áž: 2019
á¡ááá·áº- á
á¡ááá¯ááºáž: á
á
ááºáááºáá¬- "
áááºááá¯áž- [2010á 2017] â
ááᯠáááºááẠá á¬ááœááºá á¬áááºážáá¯ááºááŸá ááááºážááŸááºá¡á¬ážáá¯á¶ážááᯠparams$animal_name ááŸáá·áº params$years_of_study á¡ááŒá Ạá á¬áááºážááœááºážááá¯ááºáá«áááºá ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠKnit dropdown menu (ááá¯á·ááá¯áẠknit_with_parameters()) ááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž áá±á¬ááºáá»á¬ážááᯠááœá±ážáá»ááºááá¯ááºáááºááŒá áºáááºá
áá¯ááºáá±á¬áºáááºá
Revealjs ááẠá¡ááá·áºáá«ááŸááá±á¬ R áá¯ááºáá»á¬ážá á¡ááá¯ááá¯ááááŒááºááá¯ááºáá±á¬ áááºážááœáŸááºáá»ááºáá»á¬ážááŸáá·áº áááá¯ááºáá®áá°ážáá»á¬ážááŒáá·áº áá±á¬ááºážááœááºáá±á¬ HTML áááºááŒááŸá¯áá»á¬ážááᯠáááºáá®ážááá¯ááºá á±ááá·áº á¡áá¯ááºáá áºáá¯ááŒá áºáááºá HTML ááŒááºáááºážááá·áºááºáá»á¬ážááẠááá·áºá¡á¬áž ááá°áá®áá±á¬ á ááá¯ááºááºááœá±ážáá»ááºááŸá¯áá»á¬ážááŒáá·áº áá»ááºááŒááºá áœá¬ áááºáá®ážááá¯ááºá á±áá«áááºá áá±á¬ááºážááŒá®á HTML ááẠáááºááá·áºá ááºáá á¹á ááºážááœááºáááᯠáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºááŒáá»ááºááᯠáá¯ááºážá áááºáááẠááá¯á·ááá¯áẠáááºááºáá±á¬á·ááá¯ááºážááœáẠááœáá·áºááá¯ááºáááºá áááºáá±á·áá»áºááᯠááá·áºááœááºážááŒá®áž YAML áá±á«ááºážá á®ážááœáẠáá±á«áºááá¯ááŒááºážááŒáá·áº ááááºážá¡áá»ááºá¡ááẠáá¯ááºáá±á¬áºááŸá¯ááᯠááŒááºáááºááá¯ááºáááºá áá«á á¥ááá¬áá áºáá¯áá«á
â áá±á«ááºážá
ááº- "áá°áá»á¬ážááœá²ááŒááºážá
áááºááŒá¬á
ááŒáá á¬áá¡á
áœááºážááᯠáá±á¬áºáá¯ááºááŒááºáž"
áá±ážáá¬ážáá°- "Keith McNulty"
á¡ááœááº:
Revealjs::revealjs_áááºáááºááŸá¯-
áááá¯: áá¯ááºáááºá
ááá°áá¬áá¯á¶á
á¶:starwars.html
á¡ááŒááºá¡áááº: á¡áááºáá±á¬ááº
áááºá
áœá²- âHR Analytics Meetup London â 18 March, 2019â
á¡áááºážá¡ááŒá
áº_ááá¯ááºáá»á¬áž-
â darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
âstarwars.png
âstormtrooper.png
-
áááºáááºááŸá¯á¡áááºážá¡ááŒá
áºáá¯ááº
R Shiny ááŸá HTML áááºáá»á¬áž
áááá¯ááááºáá¬á¡áá»á¬ážá á¯ááẠR Shiny áá«ááŸááá±á¬ HTML tag áá»á¬ážááᯠá¡ááŒáá·áºá¡á á¡ááœáá·áºáá±á¬ááºážááá°ááŒáá«á ááá¯á·áá±á¬áº áááºážááá¯á·ááẠHTML áá¯ááºáá±á¬ááºááŸá¯ ááá¯á·ááá¯áẠáá®áá®áá¬ááœáá·áºááŒááºážá¡ááœáẠááá¯áá±á¬ááºážáá±á¬áá±á«áºááá¯ááŸá¯áá áºáá¯ááᯠáááºáá®ážááá¯ááºá á±ááá·áº 110 áááºáá»á¬ážáá¬ááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá¯ááºáá áºáá¯ááŒá®ážááŒá±á¬ááºáá±á¬á¡áá« á¡áá¯á¶ážááŒá¯áá°ááᯠááááá±ážááá·áº "á¡á±á¬ááºááœá²" á¡áá¶ááá¯ááœáá·áºááẠáááŒá¬áá±ážáá®á áá»áœááºá¯ááºááẠtags$audio ááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá
áá»á®ážááœááºážááŒááºážá¡áá¯ááº
á€áááºáá±á·áá»áºááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠá¡ááœááºááá¯ážááŸááºážáá±á¬áºáááºáž áá¯á¶ážá áœá²áá°á¡á¬áž áá»á®ážáá»á°ážá áá¬ážááŒáááẠááá¯á¡ááºáá«áááºá áá°ážáááºážáá±áá¯á¶ááá±ááá·áº áá°ááá¯á·ááááºááŒáá¯ááºáááºá
Skillbox á០á¡ááŒá¶ááŒá¯áá¬ážáááº-
- ááŸá áºááŸá áºá á¬áááºááœá±á·áááºáááºáž
"áá»áœááºáá±á¬áºá PRO Web Developer áá áºáá±á¬ááºáá«" .- á¡áœááºááá¯ááºážáááºáááºáž
"C# developer" .- áááºááœá±á· áá áºááŸá áºáááºáááºáž
"PHP developer 0 á០PRO" .
source: www.habr.com