{"id":319924,"date":"2021-03-19T15:01:26","date_gmt":"2021-03-19T15:01:26","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=319924"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=319924","title":{"rendered":"\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0443\u0442\u0438\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0436\u0438\u0437\u043d\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430.&nbsp;<\/p>\n<p>\u0412\u044b\u043f\u0443\u0441\u043a\u043d\u0438\u043a\u0443 \u0438 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044e <a href=\"https:\/\/compscicenter.ru\/\">Computer Science Center<\/a>, <a href=\"https:\/\/habr.com\/ru\/users\/dehasi\/\">\u0420\u0430\u0432\u0438\u043b\u044e \u0413\u0430\u043b\u0435\u0435\u0432\u0443<\/a>, \u043f\u0440\u0438\u0448\u043b\u0430 \u0438\u0434\u0435\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043e\u0434\u0438\u043d \u043a\u0443\u0440\u0441 \u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0441 \u043d\u0438\u043c\u0438. \u0417\u0430 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u0443\u0440\u0441\u0430 \u0431\u044b\u043b\u0438 \u0432\u0437\u044f\u0442\u044b <a href=\"https:\/\/missing.csail.mit.edu\/\">The Missing Semester of Your CS Education \u043e\u0442 MIT<\/a>,&nbsp; <a href=\"https:\/\/software-carpentry.org\/\">Software Carpentry<\/a> \u0438 <a href=\"https:\/\/online-learning.harvard.edu\/course\/cs50-introduction-computer-science?delta=0\">cs50<\/a>.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043b\u0435\u043a\u0446\u0438\u0438 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u00bb \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0437\u0430\u043d\u044f\u0442\u0438\u044f\u043c. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0420\u0430\u0432\u0438\u043b\u044f \u0437\u0430 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443!&nbsp;<\/p>\n<h2>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/h2>\n<p><a href=\"#%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20Linux%20\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 <\/a><a href=\"#anchor1\">Linux<\/a><\/p>\n<p><a href=\"#anchor2\">\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Linux<\/a><\/p>\n<p><a href=\"#anchor3\">\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 git<\/a><\/p>\n<p><a href=\"#anchor4\">\u042f\u0437\u044b\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 XML<\/a><\/p>\n<p><a href=\"#anchor5\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/a><\/p>\n<p><a href=\"#anchor6\">\u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0441\u0435\u0442\u044c\u044e<\/a><\/p>\n<p><a href=\"#anchor7\">\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HTTP<\/a><\/p>\n<p><a href=\"#anchor8\">\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/a><\/p>\n<p><a href=\"#anchor9\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<p><a href=\"#anchor10\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<p><a href=\"#anchor11\">\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><\/p>\n<p><a href=\"#anchor12\">\u0411\u0438\u043b\u0434-\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/a><\/p>\n<p><a href=\"#anchor13\">\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \u0434\u0430\u0442\u044b, \u043b\u043e\u043a\u0430\u043b\u0438<\/a><\/p>\n<p><a href=\"#anchor14\">\u0414\u0435\u0431\u0430\u0433<\/a><\/p>\n<p><a href=\"#anchor15\">\u041d\u0430\u0431\u043e\u0440 \u0432 Computer Science Center 2021<\/a><\/p>\n<p><a class=\"anchor\" name=\"anchor1\" id=\"anchor1\"><\/a><\/p>\n<h3>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Linux<\/h3>\n<ul>\n<li>\n<p>\u0411\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u044f\u0434\u0440\u043e<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0432 (\u043e\u0442 Unix \u043a Linux)<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0439\u043b\u044b<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/p>\n<\/li>\n<li>\n<p>Unix way<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605355c630f707d266c0ecba\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605355c630f707d266c0ecba\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1zJE5AWrEaiE_A0qPJ85sqvTTQlum9oW7Ud7o8nwG4Ko\/edit?usp=sharing\">\u0421\u043b\u0430\u0439\u0434\u044b<\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<p>Wikipedia <a href=\"https:\/\/en.wikipedia.org\/wiki\/History_of_Unix\">History of Unix<\/a><\/p>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Brian Kernighan and Rob Pike &#8212; <a href=\"https:\/\/www.google.com\/search?q=the+unix+programming+environment\">The Unix Programming Environment<\/a><\/p>\n<\/li>\n<li>\n<p>Peter Seibel &#8212; <a href=\"https:\/\/www.google.com\/search?q=Coders+at+Work%3A+Reflections+on+the+Craft+of+Programming\">Coders at Work: Reflections on the Craft of Programming<\/a><\/p>\n<\/li>\n<li>\n<p>Steve Parker &#8212; <a href=\"https:\/\/www.google.com\/search?q=Shell+Scripting%3A+Expert+Recipes+for+Linux%2C+Bash%2C+and+More\">Shell Scripting: Expert Recipes for Linux, Bash, and More<\/a><\/p>\n<\/li>\n<li>\n<p>David Griffiths and Dawn Griffiths &#8212; <a href=\"https:\/\/www.google.com\/search?q=head+first+c\">Head First C<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.lektorium.tv\/lecture\/14221\">\u0418\u0441\u0442\u043e\u0440\u0438\u044f Unix \u0441\u0438\u0441\u0442\u0435\u043c<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.lektorium.tv\/lecture\/14236\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<ul>\n<li>\n<p>UN\u0418X <a href=\"https:\/\/www.youtube.com\/playlist?list=PL387B38E91536055B\">\u041f\u041e GNU\/Linux<\/a><\/p>\n<\/li>\n<li>\n<p>Stepik <a href=\"https:\/\/stepik.org\/course\/548\">\u041e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f Linux<\/a><\/p>\n<\/li>\n<li>\n<p>Stepik <a href=\"https:\/\/stepik.org\/course\/73\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Linux<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor2\" id=\"anchor2\"><\/a><\/p>\n<h3>\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Linux<\/h3>\n<ul>\n<li>\n<p>bash \u043a\u0430\u043a REPL<\/p>\n<\/li>\n<li>\n<p>Unix way<\/p>\n<\/li>\n<li>\n<p>\u0428\u0435\u0431\u0430\u043d\u0433<\/p>\n<\/li>\n<li>\n<p>make<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605356a030f707d266c0ecbb\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605356a030f707d266c0ecbb\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1atccuXaYb7ycUKp7AY6rb1XSvvIDaNas_OqKRUuEE2w\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/devhints.io\/bash\">Bash scripting cheatsheet<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/perso.ens-lyon.fr\/ruben.staub\/vrac\/bash_tricks\/trick_11.php\">Chaining commands (Part 2: Redirections and pipes)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/techsparx.com\/blog\/2018\/02\/retro-web-browser.html\">The first web page, viewed by the first web browser, on a teletype, retrocomputing completeness<\/a><\/p>\n<\/li>\n<li>\n<p>Software carpentry <a href=\"https:\/\/swcarpentry.github.io\/make-novice\/01-intro\/index.html\">make<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<p>Ian Miell <a href=\"https:\/\/www.google.com\/search?q=learn+bash+the+hard+way\">Learn Bash the Hard Way<\/a><\/p>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.lektorium.tv\/lecture\/14258\">Bash \u0441\u043a\u0440\u0438\u043f\u0442\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0438\u043a\u0442\u043e\u0440 \u0410\u0448\u0438\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=woiTJWE3YZ4\">008. \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Unix<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0438\u043a\u0442\u043e\u0440 \u0410\u0448\u0438\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=Bp6S_3vhUlU\">004. \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Unix<\/a><\/p>\n<\/li>\n<li>\n<p>Brian Will Unix terminals and shells <a href=\"https:\/\/www.youtube.com\/watch?v=07Q9oqNLXB4\">part1<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=hgFBRZmwpSM\">part2<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=GA2mIUQq48s\">part3<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=M82FUtqXdE8\">part4<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=N8kT2XRNEAg\">part5<\/a><\/p>\n<\/li>\n<li>\n<p>\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041b\u0438\u043d\u0441\u043a\u0438\u0439 <a href=\"https:\/\/www.lektorium.tv\/lecture\/13354\">\u041e\u0441\u043d\u043e\u0432\u044b C++. \u041b\u0435\u043a\u0446\u0438\u044f 2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=-Ul-f3hPJQM\">Using a TTY Model 43 as a console on Linux<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u043b\u0430\u0439\u0434\u044b\/\u041f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Adrien Mahieux <a href=\"https:\/\/www.slideshare.net\/Saruspete\/bash-production-guide\">Bash for production systems<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>Bash-\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0438\u0440\u0430<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"http:\/\/brew.sh\/\">brew<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/getsentry\/onpremise\/blob\/master\/install.sh\">sentry<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/git\/git\/blob\/master\/git-difftool--helper.sh\">git<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/apache\/ignite\/tree\/master\/scripts\">ignite<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor3\" id=\"anchor3\"><\/a><\/p>\n<h3>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 git<\/h3>\n<ul>\n<li>\n<p>git<\/p>\n<ul>\n<li>\n<p>commit<\/p>\n<\/li>\n<li>\n<p>branch<\/p>\n<\/li>\n<li>\n<p>merge<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>git flow<\/p>\n<\/li>\n<li>\n<p>github<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053570c7c24d22e1e99fa0b\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053570c7c24d22e1e99fa0b\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1KgC7s_SdPVEd0FSh5wnRj9IZIIKG_F4bMJHIxQrD8A8\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b&nbsp;<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0410\u0440\u0442\u044e\u0445\u043e\u0432 <a href=\"https:\/\/habr.com\/ru\/post\/174467\/\">\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Git<\/a><\/p>\n<\/li>\n<li>\n<p>Vincent Driessen <a href=\"https:\/\/nvie.com\/posts\/a-successful-git-branching-model\/\">A successful Git branching model<\/a><\/p>\n<\/li>\n<li>\n<p>Chris Beams <a href=\"https:\/\/chris.beams.io\/posts\/git-commit\/\">How to Write a Git Commit Message<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.atlassian.com\/git\/tutorials\">Atlassian Git Tutorials<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ohshitgit.com\/\">ohshitgit<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Scott Chacon and Ben Straub <a href=\"https:\/\/git-scm.com\/book\/en\/v2\">Pro Git<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=8KCQe9Pm1kg\">Learn to Git: Basic Concepts<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=AJqup7axNX8\">Git &amp; GitHub: Merge Strategies<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0440\u0430\u0442 \u041c\u0430\u0432\u043b\u044e\u0442\u043e\u0432 <a href=\"https:\/\/www.youtube.com\/watch?v=hXDwhFf_Ko8\">002. \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0440\u0430\u0442 \u041c\u0430\u0432\u043b\u044e\u0442\u043e\u0432 <a href=\"https:\/\/www.youtube.com\/watch?v=WVddl-T5DpA\">003. \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u0413\u043b\u0435\u0431 <a href=\"https:\/\/www.youtube.com\/watch?v=0cGIiA0AjNw&amp;ab_channel=GlebMikhaylov\">GIT \u0434\u043b\u044f \u0414\u0430\u0442\u0430 \u0421\u0430\u0435\u043d\u0442\u0438\u0441\u0442\u0430<\/a><\/p>\n<\/li>\n<li>\n<p>missing semester mit <a href=\"https:\/\/www.youtube.com\/watch?v=2sjqTHE0zok\">Lecture 6: Version Control (git)<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u043e\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/learngitbranching.js.org\/\">learngitbranching<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/git-school.github.io\/visualizing-git\/\">visualizing-git<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/try.github.io\/\">try.github.io<\/a><\/p>\n<\/li>\n<li>\n<p>Julia Evans <a href=\"https:\/\/jvns.ca\/blog\/2019\/08\/30\/git-exercises--navigate-a-repository\/\">git exercises: navigate a repository<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor4\" id=\"anchor4\"><\/a><\/p>\n<h3>\u042f\u0437\u044b\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 XML<\/h3>\n<ul>\n<li>\n<p>groff<\/p>\n<\/li>\n<li>\n<p>LaTex<\/p>\n<\/li>\n<li>\n<p>XML, JSON, YAML<\/p>\n<\/li>\n<li>\n<p>Markdown, AsciiDoc<\/p>\n<\/li>\n<li>\n<p>GraphViz, PlantUML<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053650a189a112e083e6200\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053650a189a112e083e6200\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Kb5KUI_DMTdBhYoBXwRiFYYjgYrt1EnjccnIUr36yzE\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>\u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041f\u0435\u0440\u0435\u0432\u0435\u0440\u0437\u0430 <a href=\"https:\/\/habr.com\/ru\/post\/458680\/\">\u0417\u0430\u0447\u0435\u043c \u043d\u0430\u043c UML<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0442\u0430\u0448\u043d\u0438\u043a\u043e\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/416077\/\">PlantUML\u2009\u2014\u2009\u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0438\u0437\u043d\u0435\u0441-\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u0432\u0430\u043d \u041f\u043e\u043d\u043e\u043c\u0430\u0440\u0435\u0432 <a href=\"https:\/\/habr.com\/ru\/post\/456032\/\">\u041f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a\u0430\u043a \u043a\u043e\u0434<\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u0432\u0430\u043d \u041a\u043e\u0447\u0443\u0440\u043a\u0438\u043d <a href=\"https:\/\/habr.com\/ru\/post\/414757\/\">\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043c\u0435\u0442 \u0423\u043c\u0435\u0440\u043e\u0432 <a href=\"https:\/\/habr.com\/ru\/post\/424805\/\">\u041a\u0430\u043a \u044f \u0434\u0438\u043f\u043b\u043e\u043c \u0432 LaTeX \u043f\u0438\u0441\u0430\u043b \u0441 GitHub, Docker \u0438 TravisCI<\/a><\/p>\n<\/li>\n<li>\n<p>John Gruber <a href=\"https:\/\/daringfireball.net\/projects\/markdown\/\">Markdown<\/a><\/p>\n<\/li>\n<li>\n<p>Matt Welsh <a href=\"https:\/\/www.linuxjournal.com\/article\/1158\">Writing man Pages Using groff<\/a><\/p>\n<\/li>\n<li>\n<p>Eddie Smith <a href=\"http:\/\/www.practicallyefficient.com\/2017\/10\/13\/from-boiling-lead-and-black-art.html\">From boiling lead and black art: An essay on the history of mathematical typography<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<p>\u041a. \u0412. \u0412\u043e\u0440\u043e\u043d\u0446\u043e\u0432 <a href=\"https:\/\/www.google.com\/search?q=latex+%D0%B2+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85+%D0%B2%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2\"><u>LATEX \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445<\/u><\/a><\/p>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.youtube.com\/watch?v=hq0wkdNsp7g\">LaTeX<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0422\u0430\u043d\u043a\u043e\u0432 Terraforming Clouds <a href=\"https:\/\/www.youtube.com\/watch?v=xl3ag6oPpHY\">\u0412\u0438\u0434\u0435\u043e<\/a><\/p>\n<\/li>\n<li>\n<p>Tony Ibbs A brief history of text markup languages <a href=\"https:\/\/www.youtube.com\/watch?v=P-7hwjocEpM\">\u0412\u0438\u0434\u0435\u043e<\/a> <a href=\"https:\/\/github.com\/tibs\/markup-history\">\u0421\u043b\u0430\u0439\u0434\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0430\u043c\u0430\u0440\u0435\u0432 \u0420\u043e\u043c\u0430\u043d <a href=\"https:\/\/www.youtube.com\/watch?v=ud0aLuzg9z8&amp;ab_channel=%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D1%81%D1%82%D1%80%D0%B8%D0%BCMail.RuGroup\">\u042f\u0437\u044b\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. SGML, HTML, CSS | \u0422\u0435\u0445\u043d\u043e\u0441\u0442\u0440\u0438\u043c<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u043b\u0430\u0439\u0434\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/strong><\/p>\n<ul>\n<li>\n<p>Tony Ibbs <a href=\"https:\/\/github.com\/tibs\/markup-history\">A brief history of text markup languages<\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u043e\u0440\u0438\u0441 \u0414\u0435\u043c\u0435\u0448\u0435\u0432 <a href=\"https:\/\/github.com\/bdemeshev\/pr201\/wiki\/latex_examples\">latex_examples<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>Markdown cheatsheets<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/raw.githubusercontent.com\/TobseF\/boostnote-markdown-cheatsheet\/master\/BOOSTNOTE_MARKDOWN_CHEAT_SHEET.md\">Boostnote<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.github.com\/gfm\/\">Github<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/editing-help\">Stackoverflow<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/kroki.io\/\">kroki.io<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/ditaa.sourceforge.net\/\">ditaa<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/draw.io\/\">draw.io<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/boostnote.io\/\">boostnote app<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.w3.org\/SVG\/tools\/svgweb\/samples\/svg-files\/cartman.svg\">Cartman \u0432 SVG<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/detexify.kirelabs.org\/classify.html\">detexify<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.graphviz.org\/\">graphviz<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dreampuf.github.io\/GraphvizOnline\">GraphvizOnline<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.texample.net\/\">texample<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/plantuml.com\/\">plantUML<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.plantuml.com\/plantuml\/uml\/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000\">PlantUML Web Server<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mermaidjs.github.io\/#\/\">mermaidJS<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.websequencediagrams.com\/\">websequencediagrams<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/asciidoctor.org\/\">Asciidoctor<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/BurntSushi\/erd\">Database schema to a graphical entity-relationship diagram<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/gnuplot.sourceforge.net\/demo\/\">gnuplot<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor5\" id=\"anchor5\"><\/a><\/p>\n<h3>\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/h3>\n<ul>\n<li>\n<p>\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>grep<\/p>\n<\/li>\n<li>\n<p>sed<\/p>\n<\/li>\n<li>\n<p>awk<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605365598a93442df67822b6\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605365598a93442df67822b6\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Z4CPj7WK4wWO6AVWP6ne_DP5UH2H_QDTC_OFEdGipI4\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/175847\/\">\u041a\u0440\u043e\u0441\u0441\u0432\u043e\u0440\u0434 \u0438\u0437 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/essential\/regex\/quant.html\">Quantifiers (The Java\u2122 Tutorials &gt; Essential Classes &gt; Regular Expressions)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/166777\/\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/191006\/\">\u0428\u0430\u0445\u043c\u0430\u0442\u044b \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c sed \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/327530\/\">Bash-\u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0447\u0430\u0441\u0442\u044c 7: sed \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \/ \u0411\u043b\u043e\u0433 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 RUVDS.com \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Corey Schafer <a href=\"https:\/\/www.youtube.com\/watch?v=sa-TUpSx1JA\">Regex Tutorial<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.youtube.com\/watch?v=SIVnbR-v6Vg\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p>Oliver Wegner <a href=\"https:\/\/www.youtube.com\/watch?v=uVJpq_Tq-fE\">sed basics<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u0445\u0430\u0439\u043b\u043e \u0418\u0432\u0430\u043d\u043a\u0438\u0432 <a href=\"https:\/\/youtu.be\/C5vIEHHG1aA\">\u041a\u0430\u043a \u044f \u043e\u0434\u043d\u0430\u0436\u0434\u044b \u0432\u0435\u0440\u0441\u0442\u0430\u043b \u0444\u043e\u0440\u043c\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<\/a>&nbsp;<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u043b\u0430\u0439\u0434\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/regexr.com\/\">RegExr: Learn, Build, &amp; Test RegEx<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.debuggex.com\/\">Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/5319840\/greedy-vs-reluctant-vs-possessive-quantifiers\">regex &#8212; Greedy vs. Reluctant vs. Possessive Quantifiers &#8212; Stack Overflow<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/poormansprofiler.org\/\">poormansprofiler.org<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.regular-expressions.info\/refadv.html\">Regular Expression Reference: Special Groups<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor6\" id=\"anchor6\"><\/a><\/p>\n<h3>\u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0441\u0435\u0442\u044c\u044e<\/h3>\n<ul>\n<li>\n<p>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0441\u044b\u043b\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e<\/p>\n<\/li>\n<li>\n<p>\u0417\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 DNS, CDN, VPN \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043d\u0430 \u0442\u0440\u0438 \u0431\u0443\u043a\u0432\u044b<\/p>\n<\/li>\n<li>\n<p>\u041f\u0438\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0441\u043e\u043a\u0435\u0442\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"60536585c373282e340f4835\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/60536585c373282e340f4835\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1GGv14QYH8uGI7aHdqnA7kwf96uyvWh81J73mLlxEDgM\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/strong><\/p>\n<ul>\n<li>\n<p>Julia Evans <a href=\"https:\/\/jvns.ca\/networking-zine.pdf\">Networking!<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=mbRqZw0CA1k\">4. HIGHLOAD. \u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a | \u0422\u0435\u0445\u043d\u043e\u0441\u0442\u0440\u0438\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/beej.us\/guide\/bgnet\/\">Beej&#8217;s Guide to Network Programming<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.ted.com\/talks\/tim_urban_inside_the_mind_of_a_master_procrastinator?language=ru\">Tim Urban<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor7\" id=\"anchor7\"><\/a><\/p>\n<h3>\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HTTP<\/h3>\n<ul>\n<li>\n<p>HTTP<\/p>\n<\/li>\n<li>\n<p>REST<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605365cfb4c396d242e09784\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605365cfb4c396d242e09784\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Qed-uanHCAJdWyfUctZManUgjScFMOR-8PpsY3WjOuU\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/developers.google.com\/web\/fundamentals\/performance\/http2\">HTTP\/2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/grishaev.me\/cors\/\">CORS<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/opensource.zalando.com\/restful-api-guidelines\/\">Zalando RESTful API and Event Scheme Guidelines<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developer.mozilla.org\/en-US\/\">MDN Web Docs<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/jvns.ca\/blog\/2019\/02\/10\/a-few-networking-tool-comics\/\">Networking tool comics! &#8212; Julia Evans<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/190154\/\">SIP URI \u0438 URL. \u0427\u0430\u0441\u0442\u044c 1 (URI, URL \u0438 URN) \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/303446\/\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0432 DNS \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/265569\/\">15 \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0432 \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c HTTP \/ \u0411\u043b\u043e\u0433 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u042f\u043d\u0434\u0435\u043a\u0441 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/435546\/\">\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0432\u0435\u0442\u044b, \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u0442\u0443\u043d\u043d\u0435\u043b\u0438 SSH \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/79038\/\">WebSockets \u2014 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0432\u0435\u0431 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/326986\/\">\u0427\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0435 \u044d\u0442\u043e\u0442 GraphQL? \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=m18QYJ66dSg\">HTTP: History &amp; Performance &#8212; Ana Balica<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=idViw4anA6E\">HTTP\/3 &#8212; HTTP over QUIC is the next generation by Daniel Stenberg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=8ARodQ4Wlf4\">A Beginner&#8217;s Guide to WebSockets<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=r5oT_2ndjms\">HTTP\/2 101<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/jvns.ca\/blog\/2019\/08\/27\/curl-exercises\/\">curl exercises &#8212; Julia Evans<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pycon.dionmisic.com\/ajax\">dionmisic\/ajax<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pycon.dionmisic.com\/feed\">dionmisic\/ws<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/http1.golang.org\/gophertiles?latency=200\">htt2 \u0434\u0435\u043c\u043a\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/lucasconstantino.github.io\/graphiql-online\/\">graphiql-online<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor8\" id=\"anchor8\"><\/a><\/p>\n<h3>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/h3>\n<ul>\n<li>\n<p>chroot<\/p>\n<\/li>\n<li>\n<p>Docker<\/p>\n<\/li>\n<li>\n<p>Docker compose<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605365f296f977d25608bab2\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605365f296f977d25608bab2\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1pjrVI9zWMMBRlB3mvbSU-GBJSmxRpFqP2Q9s0pQUHZk\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>hexlet <a href=\"https:\/\/guides.hexlet.io\/docker\">docker<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.maketecheasier.com\/how-to-run-multiple-linux-distros-without-virtualization\/\">How to Run Multiple Linux Distros Without Virtualization &#8212; Make Tech Easier<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.ubuntubuzz.com\/2015\/09\/a-basic-chroot-example-in-ubuntu.html\">A Basic Chroot Example in Ubuntu<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.docker.com\/\">Docker Documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/xennis.org\/wiki\/Docker\">Docker &#8212; XennisWiki<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dotsandbrackets.com\/tag\/docker\/\">docker Archives &#8212; Dots and Brackets<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/21553353\/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile\">docker &#8212; What is the difference between CMD and ENTRYPOINT in a Dockerfile? &#8212; Stack Overflow<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Solomon Hykes <a href=\"https:\/\/www.youtube.com\/watch?v=Q5POuMHxW-0\">Introduction to Docker<\/a><\/p>\n<\/li>\n<li>\n<p>Jake Wright <a href=\"https:\/\/www.youtube.com\/watch?v=Qw9zlE3t8Ko\">Docker Compose in 12 Minutes<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=YFl2mCHdv24\">Learn Docker in 12 Minutes<\/a><\/p>\n<\/li>\n<li>\n<p>Mumshad Mannambeth <a href=\"https:\/\/www.youtube.com\/playlist?list=PL2We04F3Y_43dAehLMT5GxJhtk3mJtkl5\">Kubernetes for the Absolute Beginners<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/stepik.org\/course\/1612\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 Stepik<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.docker.com\/get-started\/\">Get Started,Docker Documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docker-curriculum.com\/\">A Docker Tutorial for Beginners<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.katacoda.com\/\">Katacoda &#8212; Interactive Learning Platform for Software Engineers<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/docs.docker.com\/develop\/develop-images\/baseimages\/\">Create a base image | Docker Documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.galvanist.com\/posts\/2013-07-31-chroot-jails-on-os-x\/\">chroot jails on OS X \/\/ galvanist<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/markheath.net\/post\/exploring-redis-with-docker\">Exploring Redis with Docker<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/skissane\/mkjail\">GitHub &#8212; skissane\/mkjail: Shell script to create a chroot jail on Mac OS X<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor9\" id=\"anchor9\"><\/a><\/p>\n<h3>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/h3>\n<ul>\n<li>\n<p>\u041e\u041e\u041f<\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u044b<\/p>\n<\/li>\n<li>\n<p>\u041c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0439\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053665caa2e6ed27439fa34\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053665caa2e6ed27439fa34\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1K1NPdNhixqSBaWTxGwTYl4bFz8XzlfSE4oLWkqmHPMY\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/wiki.c2.com\/?AntiPatternsCatalog\">AntiPatterns Catalog<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/325492\/\">\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u043c \u043b\u0438\u0446\u043e\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/463125\/\">\u041e\u041e\u041f \u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/412699\/\">\u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 SOLID<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/refactoring.guru\/\">Design Patterns<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/sourcemaking.com\/\">Design Patterns &amp; Refactoring<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.google.com\/search?q=head+first+design+patterns\">head first design patterns<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/bourabai.kz\/alg\/oop2.htm\">\u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"http:\/\/www.cs.toronto.edu\/~sme\/CSC444F\/index.html\">CSC444F: Software Engineering I<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Greg Wilson <a href=\"https:\/\/vimeo.com\/9270320?fbclid=IwAR3bK6xO8rD_q1wuo3WX65eTRQVC3CLEkIJ6CCH2GijWR4DSCUg7dNgqmmo\">What We Actually Know About Software Development, and Why We Believe It\u2019s True<\/a><\/p>\n<\/li>\n<li>\n<p>John Ousterhout <a href=\"https:\/\/www.youtube.com\/watch?v=bmSAYlu0NcY&amp;ab_channel=TalksatGoogle\">A Philosophy of Software Design<\/a><\/p>\n<\/li>\n<li>\n<p>Jonathan Blow <a href=\"https:\/\/www.youtube.com\/watch?v=pW-SOdj4Kkk\">Preventing the Collapse of Civilization<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=vVAeGcp4pe0&amp;list=PLvb7ivodu7oRbl-b2vGnZCAGusRaQPaUu&amp;index=80\">12 \u041e\u0431\u0449\u0438\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor10\" id=\"anchor10\"><\/a><\/p>\n<h3>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/h3>\n<ul>\n<li>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<li>\n<p>\u041b\u043e\u0433\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053669c8b25a4d2350c14ce\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053669c8b25a4d2350c14ce\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1eJZ7S11H925hsZitucoLkvVuTHXKaXqXWRpVBUDmH7g\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b 1<\/u><\/a><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1UG2wYQGqAHjdirFEnBjB6iDJi2PEUj_Ue03SfA16GBY\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b 2<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/rbcs-us.com\/documents\/Why-Most-Unit-Testing-is-Waste.pdf\">Why Most Unit Testing is Waste<\/a><\/p>\n<\/li>\n<li>\n<p>Brian Kernighan <a href=\"https:\/\/www.cs.princeton.edu\/~bwk\/testing.html\">Code Testing and its Role in Teaching<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/martinfowler.com\/articles\/practical-test-pyramid.html\">The Practical Test Pyramid<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.simpleorientedarchitecture.com\/defining-test-boundaries\/\">Defining Test Boundaries<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/370153\/\">\u041a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.osp.ru\/os\/1998\/06\/179592\/\">\u041c\u0438\u0444\u044b \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u041f\u041e: \u0443\u0440\u043e\u043a\u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u044b\u0445 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444 | \u041e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0421\u0423\u0411\u0414 | \u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u00ab\u041e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u00bb<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/realpython.com\/python-logging\/\">Logging in Python \u2013 Real Python<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/merapar\/exposing-zipkin-trace-id-and-span-id-in-logging-for-use-in-kibana-25d1e5b6bfbb\">Tracing microservices with Zipkin and Kibana &#8212; merapar &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/thelastpickle.com\/blog\/2015\/12\/07\/using-zipkin-for-full-stack-tracing-including-cassandra.html\">Replacing Cassandra&#8217;s tracing with Zipkin<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>UN\u0418X <a href=\"https:\/\/www.youtube.com\/watch?v=kD1ECjZWNfM&amp;ab_channel=UN%D0%98X\">08. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 (\u044d\u0444\u0438\u0440)<\/a><\/p>\n<\/li>\n<li>\n<p>UN\u0418X <a href=\"https:\/\/www.youtube.com\/watch?v=mrtUNp43O5Y&amp;ab_channel=UN%D0%98X\">08. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u0442\u043e\u043b\u0438\u0439 \u041e\u0441\u0442\u0440\u043e\u0432\u0441\u043a\u0438\u0439 <a href=\"https:\/\/www.youtube.com\/watch?v=_l1qP0DyBcA\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. Best Practices<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0442\u043e\u043d \u0411\u0435\u0432\u0437\u044e\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=lDdJYid8NpE\">\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f TDD \u043d\u0430 Java<\/a><\/p>\n<\/li>\n<li>\n<p>Jakub Nabrdalik <a href=\"https:\/\/www.youtube.com\/watch?v=2vEoL3Irgiw\">Improving your Test Driven Development in 45 minutes<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor11\" id=\"anchor11\"><\/a><\/p>\n<h3>\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/h3>\n<ul>\n<li>\n<p>\u0425\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0443\u043c\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f vs \u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f; JWT<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043c\u0435\u043d \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d<\/p>\n<\/li>\n<li>\n<p>RSA<\/p>\n<\/li>\n<li>\n<p>TLS<\/p>\n<\/li>\n<li>\n<p>\u0414\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605366ba30f707d266c0ecbc\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605366ba30f707d266c0ecbc\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1q6ktLanvywx_-rl5EEYI5UQqdl8QKC2cma4gmZCsI_0\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/plesk\/blog\/502604\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 TLS \u0434\u043b\u044f \u043f\u0336\u0440\u0336\u0430\u0336\u043a\u0336\u0442\u0336\u0438\u0336\u043a\u0336\u043e\u0336\u0432\u0336 \u041f\u0430\u0442\u0440\u0438\u043a\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/time2hack.com\/convert-encode-decode-text-files-to-base64-in-browser\/\">Encode\/Decode text &amp; files to Base64 in Browser with Base64 Converter<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.to\/caffiendkitten\/authentication-types-3984\">Basic, Bearer, Digest Oh MY! So Many Auths!<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.sunshine2k.de\/articles\/coding\/crc\/understanding_crc.html\">Sunshine&#8217;s Homepage &#8212; Understanding CRC<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/doctrina.org\/How-RSA-Works-With-Examples.html\">Doctrina &#8212; How RSA Works With Examples<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/259199\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 KDF \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/188042\/\">\u041a\u0430\u043a HTTPS \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f: \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 Web-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/circuitcellar.com\/cc-blog\/ti-chronos-one-time-passwords\/\">One-Time Passwords from Your Watch | | Circuit Cellar<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@darutk\/diagrams-and-movies-of-all-the-oauth-2-0-flows-194f3c3ade85\">Diagrams And Movies Of All The OAuth 2.0 Flows &#8212; Takahiko Kawasaki &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/115163\/\">OAuth 2.0 \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \/ \u0411\u043b\u043e\u0433 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Mail.ru Group \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/codahale.com\/how-to-safely-store-a-password\/\">How To Safely Store A Password | codahale.com<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=f4Ru6CPG1z4\">Base64 is not encryption<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=b4b8ktEV4Bg\">Hashing Algorithms and Security<\/a><\/p>\n<\/li>\n<li>\n<p>Hubert Sablonni\u00e8re <a href=\"https:\/\/www.youtube.com\/watch?v=67mezK3NzpU\">100% Stateless with JWT<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=DMtFhACPnTY\">SHA: Secure Hashing Algorithm<\/a><\/p>\n<\/li>\n<li>\n<p>Laurens Van Houtven <a href=\"https:\/\/www.youtube.com\/watch?v=3rmCGsCYJF8\">Crypto 101<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=i4JUtWuuqfI\">Diffie Hellman Key Exchange by khan academy<\/a> (\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b)<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0437\u0434\u043d\u044f\u043a\u043e\u0432 \u0421.\u041d. <a href=\"https:\/\/www.youtube.com\/watch?v=nIirf97dJnI&amp;t=3610s\">\u041d\u041e\u0414. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0415\u0432\u043a\u043b\u0438\u0434\u0430.<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>\u0421. \u0420\u044b\u0431\u0438\u043d, \u0421. \u041f\u043e\u0437\u0434\u043d\u044f\u043a\u043e\u0432 <a href=\"https:\/\/www.books.ru\/books\/diskretnaya-matematika-556785\/\">\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c. \u0411\u0430\u0431\u0435\u043d\u043a\u043e \u041c. \u041b\u0435\u0432\u0438\u043d <a href=\"https:\/\/www.ozon.ru\/context\/detail\/id\/139807941\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0442\u0435\u043e\u0440\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor12\" id=\"anchor12\"><\/a><\/p>\n<h3>\u0411\u0438\u043b\u0434-\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<ul>\n<li>\n<p>\u043e\u0442 <code>make<\/code> \u043a <code>TravisCI<\/code><\/p>\n<\/li>\n<li>\n<p>dockerhub<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605366dfaa2e6ed27439fa35\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605366dfaa2e6ed27439fa35\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/travis-ci.org\/github\/dehasi\/pci\/builds\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/medium.com\/@ruxijitianu\/database-version-control-liquibase-versus-flyway-9872d43ee5a4\">Database version control \u2014 Liquibase versus Flyway &#8212; robloxro &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.blazemeter.com\/blog\/five-blue-green-deployment-best-practices-for-a-smooth-release\/\">5 Blue-Green Deployment Best Practices for a Smooth Release | BlazeMeter<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0414\u0435\u043d\u0438\u0441 \u0427\u0435\u0440\u043d\u0438\u043b\u0435\u0432\u0441\u043a\u0438\u0439 <a href=\"https:\/\/www.youtube.com\/watch?v=QKKbi6dWHZE\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0442\u043e\u043d \u041a\u0435\u043a\u0441 <a href=\"https:\/\/www.youtube.com\/watch?v=KwPrt17wcZs&amp;ab_channel=JUGNsk\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0420\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<p><a href=\"https:\/\/www.slideshare.net\/Robert_McDermott\/anatomy-of-a-continuous-integration-and-delivery-cicd-pipeline\">Anatomy of a Continuous Integration and Delivery (CICD) Pipeline<\/a><\/p>\n<p><a class=\"anchor\" name=\"anchor13\" id=\"anchor13\"><\/a><\/p>\n<h3>\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \u0434\u0430\u0442\u044b, \u043b\u043e\u043a\u0430\u043b\u0438<\/h3>\n<p>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f, \u043f\u043e\u0447\u0435\u043c\u0443 <code>\/dev\/random<\/code> \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043a\u0440\u0430\u043a\u0430\u0437\u044f\u0431\u0440\u044b<\/p>\n<p><iframe id=\"605366ff7c24d22e1e99fa0c\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605366ff7c24d22e1e99fa0c\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1ck8BFo2pWbCaix0lDaUtLvgUdZmkFYLEs1okRTDytsw\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/158639\/\">\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430\u0445 \u0438 \u043d\u0430\u0431\u043e\u0440\u0430\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/158895\/\">\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430\u0445 \u0438 \u043d\u0430\u0431\u043e\u0440\u0430\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0447\u0430\u0441\u0442\u044c 2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.joelonsoftware.com\/2003\/10\/08\/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses\/\">The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@LeeJulija\/how-integers-are-stored-in-memory-using-twos-complement-5ba04d61a56c\">How integers are stored in memory using two\u2019s complement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/concerning-pharo\/an-implementation-of-unicode-normalization-7c6719068f43\">An Implementation of Unicode Normalization &#8212; Concerning Pharo &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=2725015\">What every programmer should know about time | Hacker News<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/112953\/\">\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/infopulse\/blog\/336110\/\">\u00ab\u041c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u00bb 0x5f3759df<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/219595\/\">\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e \u0447\u0438\u0441\u043b\u0430\u0445 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0432 Java<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/338108\/\">5 \u043f\u0440\u0430\u0432\u0438\u043b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0443\u043c\u043c\u0430\u043c\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043d\u0434\u0440\u0435\u0439 \u0410\u043a\u0438\u043d\u044c\u0448\u0438\u043d <a href=\"https:\/\/youtu.be\/t8GuveyIV38\">\u041f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443<\/a><\/p>\n<\/li>\n<li>\n<p>Computerphile <a href=\"https:\/\/youtu.be\/PZRI1IfStY0\">Floating Point Numbers<\/a><\/p>\n<\/li>\n<li>\n<p>Tomasz Nurkiewicz <a href=\"https:\/\/youtu.be\/QIEpZ0MGoBc\">Charbuster: 10 mit\u00f3w o Unicode<\/a> <a href=\"http:\/\/nurkiewicz.github.io\/talks\/charbusters\/#\/\">\u0421\u043b\u0430\u0439\u0434\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>Tomasz Nurkiewicz <a href=\"https:\/\/youtu.be\/zsfEWLGgsEY\">Kr\u00f3tka historia czasu<\/a> <a href=\"http:\/\/nurkiewicz.github.io\/talks\/confitura2013\/#\/\">\u0421\u043b\u0430\u0439\u0434\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.youtube.com\/watch?v=439yb7iiOWI\">\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438<\/a><\/p>\n<\/li>\n<li>\n<p>Adrian Furtuna <a href=\"https:\/\/www.youtube.com\/watch?v=t4Er3Jwhr6Y\">Practical Exploitation of rounding vulnerabilities in banking applications<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.gamedev.net\/articles\/programming\/general-and-gameplay-programming\/how-about-unicode-and-utf-8-r3322\/\">How About UNICODE and UTF-8<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=8afbTaA-gOQ\">Decimal to IEEE 754 Floating Point Representation<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor14\" id=\"anchor14\"><\/a><\/p>\n<h3>\u0414\u0435\u0431\u0430\u0433<\/h3>\n<ul>\n<li>\n<p>\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u0431\u0430\u0433<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605367238a93442df67822b7\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605367238a93442df67822b7\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1UFhuLWXvPYTgJnv2fznoraR5UmXdI4HCok0k-skoJVM\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/badoo\/blog\/493856\/\">Strace \u0432 Linux: \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/web.archive.org\/web\/20081210154057\/http:\/\/www.microsoft.com\/msj\/0197\/exception\/exception.aspx\">A Crash Course on the Depths of Win32\u2122 Structured Exception Handling<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/aaronbloomfield.github.io\/pdr\/tutorials\/index.html\">Program and Data Representation: Tutorials<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ops.tips\/gists\/using-c-to-inspect-linux-syscalls\/\">Using C to inspect Linux syscalls<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/levex\/debugger-talk\/blob\/master\/article_opensourcecom\/article.md\">Let\u2019s Write a Debugger!<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/ant6n.ca\/2017-01-11-trapflag-tracing\/\">Trapflag-Tracing I: Observing the Execution of a Program from Within Itself<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/jvns.ca\/blog\/2015\/04\/14\/strace-zine\/\">A zine about strace<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.linux-magazine.com\/Issues\/2008\/91\/Perl-Ptrace\">Perl script uses Ptrace for process tracing<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eli.thegreenplace.net\/2011\/01\/23\/how-debuggers-work-part-1\">How debuggers work: Part 1 &#8212; Basics<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.nelhage.com\/2010\/08\/write-yourself-an-strace-in-70-lines-of-code\/\">Write yourself an strace in 70 lines of code<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developers.google.com\/web\/tools\/chrome-devtools\">Chrome DevTools<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Brian Kernighan and Rob Pike &#8212; <a href=\"https:\/\/www.google.com\/search?q=the+practice+of+programming\">The Practice of Programming<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Harvard CS50 <a href=\"https:\/\/youtu.be\/sCtY--xRUyI\">Introduction to GDB a tutorial<\/a><\/p>\n<\/li>\n<li>\n<p>Harvard CS50 <a href=\"https:\/\/youtu.be\/y5JmQItfFck\">GDB<\/a><\/p>\n<\/li>\n<li>\n<p>Pawe\u0142 Moll <a href=\"https:\/\/youtu.be\/xqrxg3hl10o\">How do debuggers (really) work<\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u0438\u0440\u0438\u043b\u043b \u041a\u0440\u0438\u043d\u043a\u0438\u043d <a href=\"https:\/\/youtu.be\/RDx9IX2mqQ0\">\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u0432 Linux. \u041a\u0440\u0430\u0442\u043a\u0438\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e gdb<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/youtu.be\/xQ0ONbt-qPs\">Quick Intro to gdb<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/youtu.be\/qS51kIHWARM\">Let&#8217;s write a Debugger!<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/missing.csail.mit.edu\/2020\/debugging-profiling\/\">Debugging and Profiling<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<p>\u041a\u0438\u0440\u0438\u043b\u043b \u041a\u0440\u0438\u043d\u043a\u0438\u043d <a href=\"https:\/\/stepik.org\/course\/548\">\u041e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f Linux<\/a><\/p>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/strace.io\/\">strace<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/lldb.llvm.org\/use\/map.html\">GDB to LLDB command map<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/a\/40437725\/4337151\">GDB kind of doesn&#8217;t work on macOS Sierra<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/10475040\/gcc-g-vs-g3-gdb-flag-what-is-the-difference\">GCC -g vs -g3 GDB Flag: What is the Difference?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/gist.github.com\/willb\/14488\/80deaf4363ed408a562c53ab0e56d8833a34a8aa\">ptr_inspect.c<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor15\" id=\"anchor15\"><\/a><\/p>\n<hr>\n<p>\u0414\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0432\u0430\u043c.<\/p>\n<h2>\u041d\u0430\u0431\u043e\u0440 \u0432 Computer Science Center 2021<\/h2>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u043b\u0435\u043a\u0446\u0438\u0439 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c CS \u0446\u0435\u043d\u0442\u0440\u0430 \u043d\u0430 \u043a\u0443\u0440\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0435\u0449\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u044c.<\/p>\n<p>CS \u0446\u0435\u043d\u0442\u0440 \u2014 \u044d\u0442\u043e \u0432\u0435\u0447\u0435\u0440\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u044b \u043f\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e. \u0417\u0430\u043d\u044f\u0442\u0438\u044f \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0438 \u0432 \u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0435. \u0416\u0438\u0442\u0435\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c:<\/p>\n<p>\u2014 <a href=\"https:\/\/compscicenter.ru\/application\/\">\u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0430\u043d\u043a\u0435\u0442\u0443<\/a> \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0434\u043e 10 \u0430\u043f\u0440\u0435\u043b\u044f,<\/p>\n<p>\u2014 \u0440\u0435\u0448\u0438\u0442\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u0435\u0441\u0442\u0430 \u0434\u043e 11 \u0430\u043f\u0440\u0435\u043b\u044f,<\/p>\n<p>\u2014 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0439\u0442\u0435 \u0432 \u043e\u043d\u043b\u0430\u0439\u043d-\u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0435 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0430\u043f\u0440\u0435\u043b\u044f-\u043d\u0430\u0447\u0430\u043b\u0435 \u043c\u0430\u044f,<\/p>\n<p>\u2014 \u043f\u0440\u043e\u0439\u0434\u0438\u0442\u0435 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043c\u0430\u0435-\u0438\u044e\u043d\u0435.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441\u043e \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u044f\u043c\u0438, \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u043d\u0430\u0447\u043d\u0443\u0442\u0441\u044f \u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435. \u0411\u0443\u0434\u044c\u0442\u0435 \u0433\u043e\u0442\u043e\u0432\u044b \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u0443\u0447\u0451\u0431\u0443 \u0445\u043e\u0442\u044f \u0431\u044b 15 \u0447\u0430\u0441\u043e\u0432 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0438\u043b\u0438 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442. \u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0432\u043b\u0435\u0447\u0435\u043d\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u043c\u0438 \u043d\u0430\u0443\u043a\u0430\u043c\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u0445\u043e\u0442\u0438\u0442\u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u0438\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445, \u043b\u044e\u0431\u0438\u0442\u0435 \u0443\u0447\u0438\u0442\u044c\u0441\u044f, \u0442\u043e \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u043a\u0443\u0440\u0441\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e.<\/p>\n<p>\u0417\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u0440\u043e \u043d\u0430\u0431\u043e\u0440 \u043c\u043e\u0436\u043d\u043e \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c <a href=\"https:\/\/t.me\/cscenterfaq\">\u043a\u0430\u043d\u0430\u043b\u0435<\/a> \u0438\u043b\u0438 \u043f\u043e \u043f\u043e\u0447\u0442\u0435 info@compscicenter.ru.<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/JetBrains-education\/blog\/547768\/\"> https:\/\/habr.com\/ru\/company\/JetBrains-education\/blog\/547768\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0443\u0442\u0438\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0436\u0438\u0437\u043d\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430.&nbsp;<\/p>\n<p>\u0412\u044b\u043f\u0443\u0441\u043a\u043d\u0438\u043a\u0443 \u0438 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044e <a href=\"https:\/\/compscicenter.ru\/\">Computer Science Center<\/a>, <a href=\"https:\/\/habr.com\/ru\/users\/dehasi\/\">\u0420\u0430\u0432\u0438\u043b\u044e \u0413\u0430\u043b\u0435\u0435\u0432\u0443<\/a>, \u043f\u0440\u0438\u0448\u043b\u0430 \u0438\u0434\u0435\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043e\u0434\u0438\u043d \u043a\u0443\u0440\u0441 \u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0441 \u043d\u0438\u043c\u0438. \u0417\u0430 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u0443\u0440\u0441\u0430 \u0431\u044b\u043b\u0438 \u0432\u0437\u044f\u0442\u044b <a href=\"https:\/\/missing.csail.mit.edu\/\">The Missing Semester of Your CS Education \u043e\u0442 MIT<\/a>,&nbsp; <a href=\"https:\/\/software-carpentry.org\/\">Software Carpentry<\/a> \u0438 <a href=\"https:\/\/online-learning.harvard.edu\/course\/cs50-introduction-computer-science?delta=0\">cs50<\/a>.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043b\u0435\u043a\u0446\u0438\u0438 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u00bb \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0437\u0430\u043d\u044f\u0442\u0438\u044f\u043c. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0420\u0430\u0432\u0438\u043b\u044f \u0437\u0430 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443!&nbsp;<\/p>\n<h2>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/h2>\n<p><a href=\"#%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20Linux%20\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 <\/a><a href=\"#anchor1\">Linux<\/a><\/p>\n<p><a href=\"#anchor2\">\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Linux<\/a><\/p>\n<p><a href=\"#anchor3\">\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 git<\/a><\/p>\n<p><a href=\"#anchor4\">\u042f\u0437\u044b\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 XML<\/a><\/p>\n<p><a href=\"#anchor5\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/a><\/p>\n<p><a href=\"#anchor6\">\u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0441\u0435\u0442\u044c\u044e<\/a><\/p>\n<p><a href=\"#anchor7\">\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HTTP<\/a><\/p>\n<p><a href=\"#anchor8\">\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/a><\/p>\n<p><a href=\"#anchor9\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<p><a href=\"#anchor10\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<p><a href=\"#anchor11\">\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><\/p>\n<p><a href=\"#anchor12\">\u0411\u0438\u043b\u0434-\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/a><\/p>\n<p><a href=\"#anchor13\">\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \u0434\u0430\u0442\u044b, \u043b\u043e\u043a\u0430\u043b\u0438<\/a><\/p>\n<p><a href=\"#anchor14\">\u0414\u0435\u0431\u0430\u0433<\/a><\/p>\n<p><a href=\"#anchor15\">\u041d\u0430\u0431\u043e\u0440 \u0432 Computer Science Center 2021<\/a><\/p>\n<p><a class=\"anchor\" name=\"anchor1\" id=\"anchor1\"><\/a><\/p>\n<h3>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Linux<\/h3>\n<ul>\n<li>\n<p>\u0411\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u044f\u0434\u0440\u043e<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0432 (\u043e\u0442 Unix \u043a Linux)<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0439\u043b\u044b<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/p>\n<\/li>\n<li>\n<p>Unix way<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605355c630f707d266c0ecba\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605355c630f707d266c0ecba\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1zJE5AWrEaiE_A0qPJ85sqvTTQlum9oW7Ud7o8nwG4Ko\/edit?usp=sharing\">\u0421\u043b\u0430\u0439\u0434\u044b<\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<p>Wikipedia <a href=\"https:\/\/en.wikipedia.org\/wiki\/History_of_Unix\">History of Unix<\/a><\/p>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Brian Kernighan and Rob Pike &#8212; <a href=\"https:\/\/www.google.com\/search?q=the+unix+programming+environment\">The Unix Programming Environment<\/a><\/p>\n<\/li>\n<li>\n<p>Peter Seibel &#8212; <a href=\"https:\/\/www.google.com\/search?q=Coders+at+Work%3A+Reflections+on+the+Craft+of+Programming\">Coders at Work: Reflections on the Craft of Programming<\/a><\/p>\n<\/li>\n<li>\n<p>Steve Parker &#8212; <a href=\"https:\/\/www.google.com\/search?q=Shell+Scripting%3A+Expert+Recipes+for+Linux%2C+Bash%2C+and+More\">Shell Scripting: Expert Recipes for Linux, Bash, and More<\/a><\/p>\n<\/li>\n<li>\n<p>David Griffiths and Dawn Griffiths &#8212; <a href=\"https:\/\/www.google.com\/search?q=head+first+c\">Head First C<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.lektorium.tv\/lecture\/14221\">\u0418\u0441\u0442\u043e\u0440\u0438\u044f Unix \u0441\u0438\u0441\u0442\u0435\u043c<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.lektorium.tv\/lecture\/14236\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<ul>\n<li>\n<p>UN\u0418X <a href=\"https:\/\/www.youtube.com\/playlist?list=PL387B38E91536055B\">\u041f\u041e GNU\/Linux<\/a><\/p>\n<\/li>\n<li>\n<p>Stepik <a href=\"https:\/\/stepik.org\/course\/548\">\u041e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f Linux<\/a><\/p>\n<\/li>\n<li>\n<p>Stepik <a href=\"https:\/\/stepik.org\/course\/73\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Linux<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor2\" id=\"anchor2\"><\/a><\/p>\n<h3>\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Linux<\/h3>\n<ul>\n<li>\n<p>bash \u043a\u0430\u043a REPL<\/p>\n<\/li>\n<li>\n<p>Unix way<\/p>\n<\/li>\n<li>\n<p>\u0428\u0435\u0431\u0430\u043d\u0433<\/p>\n<\/li>\n<li>\n<p>make<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605356a030f707d266c0ecbb\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605356a030f707d266c0ecbb\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1atccuXaYb7ycUKp7AY6rb1XSvvIDaNas_OqKRUuEE2w\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/devhints.io\/bash\">Bash scripting cheatsheet<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/perso.ens-lyon.fr\/ruben.staub\/vrac\/bash_tricks\/trick_11.php\">Chaining commands (Part 2: Redirections and pipes)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/techsparx.com\/blog\/2018\/02\/retro-web-browser.html\">The first web page, viewed by the first web browser, on a teletype, retrocomputing completeness<\/a><\/p>\n<\/li>\n<li>\n<p>Software carpentry <a href=\"https:\/\/swcarpentry.github.io\/make-novice\/01-intro\/index.html\">make<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<p>Ian Miell <a href=\"https:\/\/www.google.com\/search?q=learn+bash+the+hard+way\">Learn Bash the Hard Way<\/a><\/p>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.lektorium.tv\/lecture\/14258\">Bash \u0441\u043a\u0440\u0438\u043f\u0442\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0438\u043a\u0442\u043e\u0440 \u0410\u0448\u0438\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=woiTJWE3YZ4\">008. \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Unix<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0438\u043a\u0442\u043e\u0440 \u0410\u0448\u0438\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=Bp6S_3vhUlU\">004. \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Unix<\/a><\/p>\n<\/li>\n<li>\n<p>Brian Will Unix terminals and shells <a href=\"https:\/\/www.youtube.com\/watch?v=07Q9oqNLXB4\">part1<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=hgFBRZmwpSM\">part2<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=GA2mIUQq48s\">part3<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=M82FUtqXdE8\">part4<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=N8kT2XRNEAg\">part5<\/a><\/p>\n<\/li>\n<li>\n<p>\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041b\u0438\u043d\u0441\u043a\u0438\u0439 <a href=\"https:\/\/www.lektorium.tv\/lecture\/13354\">\u041e\u0441\u043d\u043e\u0432\u044b C++. \u041b\u0435\u043a\u0446\u0438\u044f 2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=-Ul-f3hPJQM\">Using a TTY Model 43 as a console on Linux<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u043b\u0430\u0439\u0434\u044b\/\u041f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Adrien Mahieux <a href=\"https:\/\/www.slideshare.net\/Saruspete\/bash-production-guide\">Bash for production systems<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>Bash-\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0438\u0440\u0430<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"http:\/\/brew.sh\/\">brew<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/getsentry\/onpremise\/blob\/master\/install.sh\">sentry<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/git\/git\/blob\/master\/git-difftool--helper.sh\">git<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/apache\/ignite\/tree\/master\/scripts\">ignite<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor3\" id=\"anchor3\"><\/a><\/p>\n<h3>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 git<\/h3>\n<ul>\n<li>\n<p>git<\/p>\n<ul>\n<li>\n<p>commit<\/p>\n<\/li>\n<li>\n<p>branch<\/p>\n<\/li>\n<li>\n<p>merge<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>git flow<\/p>\n<\/li>\n<li>\n<p>github<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053570c7c24d22e1e99fa0b\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053570c7c24d22e1e99fa0b\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1KgC7s_SdPVEd0FSh5wnRj9IZIIKG_F4bMJHIxQrD8A8\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b&nbsp;<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0410\u0440\u0442\u044e\u0445\u043e\u0432 <a href=\"https:\/\/habr.com\/ru\/post\/174467\/\">\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Git<\/a><\/p>\n<\/li>\n<li>\n<p>Vincent Driessen <a href=\"https:\/\/nvie.com\/posts\/a-successful-git-branching-model\/\">A successful Git branching model<\/a><\/p>\n<\/li>\n<li>\n<p>Chris Beams <a href=\"https:\/\/chris.beams.io\/posts\/git-commit\/\">How to Write a Git Commit Message<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.atlassian.com\/git\/tutorials\">Atlassian Git Tutorials<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ohshitgit.com\/\">ohshitgit<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>Scott Chacon and Ben Straub <a href=\"https:\/\/git-scm.com\/book\/en\/v2\">Pro Git<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=8KCQe9Pm1kg\">Learn to Git: Basic Concepts<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=AJqup7axNX8\">Git &amp; GitHub: Merge Strategies<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0440\u0430\u0442 \u041c\u0430\u0432\u043b\u044e\u0442\u043e\u0432 <a href=\"https:\/\/www.youtube.com\/watch?v=hXDwhFf_Ko8\">002. \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0440\u0430\u0442 \u041c\u0430\u0432\u043b\u044e\u0442\u043e\u0432 <a href=\"https:\/\/www.youtube.com\/watch?v=WVddl-T5DpA\">003. \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u0413\u043b\u0435\u0431 <a href=\"https:\/\/www.youtube.com\/watch?v=0cGIiA0AjNw&amp;ab_channel=GlebMikhaylov\">GIT \u0434\u043b\u044f \u0414\u0430\u0442\u0430 \u0421\u0430\u0435\u043d\u0442\u0438\u0441\u0442\u0430<\/a><\/p>\n<\/li>\n<li>\n<p>missing semester mit <a href=\"https:\/\/www.youtube.com\/watch?v=2sjqTHE0zok\">Lecture 6: Version Control (git)<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u043e\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/learngitbranching.js.org\/\">learngitbranching<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/git-school.github.io\/visualizing-git\/\">visualizing-git<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/try.github.io\/\">try.github.io<\/a><\/p>\n<\/li>\n<li>\n<p>Julia Evans <a href=\"https:\/\/jvns.ca\/blog\/2019\/08\/30\/git-exercises--navigate-a-repository\/\">git exercises: navigate a repository<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor4\" id=\"anchor4\"><\/a><\/p>\n<h3>\u042f\u0437\u044b\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 XML<\/h3>\n<ul>\n<li>\n<p>groff<\/p>\n<\/li>\n<li>\n<p>LaTex<\/p>\n<\/li>\n<li>\n<p>XML, JSON, YAML<\/p>\n<\/li>\n<li>\n<p>Markdown, AsciiDoc<\/p>\n<\/li>\n<li>\n<p>GraphViz, PlantUML<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053650a189a112e083e6200\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053650a189a112e083e6200\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Kb5KUI_DMTdBhYoBXwRiFYYjgYrt1EnjccnIUr36yzE\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>\u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041f\u0435\u0440\u0435\u0432\u0435\u0440\u0437\u0430 <a href=\"https:\/\/habr.com\/ru\/post\/458680\/\">\u0417\u0430\u0447\u0435\u043c \u043d\u0430\u043c UML<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0442\u0430\u0448\u043d\u0438\u043a\u043e\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/416077\/\">PlantUML\u2009\u2014\u2009\u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0438\u0437\u043d\u0435\u0441-\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u0432\u0430\u043d \u041f\u043e\u043d\u043e\u043c\u0430\u0440\u0435\u0432 <a href=\"https:\/\/habr.com\/ru\/post\/456032\/\">\u041f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a\u0430\u043a \u043a\u043e\u0434<\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u0432\u0430\u043d \u041a\u043e\u0447\u0443\u0440\u043a\u0438\u043d <a href=\"https:\/\/habr.com\/ru\/post\/414757\/\">\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043c\u0435\u0442 \u0423\u043c\u0435\u0440\u043e\u0432 <a href=\"https:\/\/habr.com\/ru\/post\/424805\/\">\u041a\u0430\u043a \u044f \u0434\u0438\u043f\u043b\u043e\u043c \u0432 LaTeX \u043f\u0438\u0441\u0430\u043b \u0441 GitHub, Docker \u0438 TravisCI<\/a><\/p>\n<\/li>\n<li>\n<p>John Gruber <a href=\"https:\/\/daringfireball.net\/projects\/markdown\/\">Markdown<\/a><\/p>\n<\/li>\n<li>\n<p>Matt Welsh <a href=\"https:\/\/www.linuxjournal.com\/article\/1158\">Writing man Pages Using groff<\/a><\/p>\n<\/li>\n<li>\n<p>Eddie Smith <a href=\"http:\/\/www.practicallyefficient.com\/2017\/10\/13\/from-boiling-lead-and-black-art.html\">From boiling lead and black art: An essay on the history of mathematical typography<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<p>\u041a. \u0412. \u0412\u043e\u0440\u043e\u043d\u0446\u043e\u0432 <a href=\"https:\/\/www.google.com\/search?q=latex+%D0%B2+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85+%D0%B2%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2\"><u>LATEX \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445<\/u><\/a><\/p>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.youtube.com\/watch?v=hq0wkdNsp7g\">LaTeX<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0422\u0430\u043d\u043a\u043e\u0432 Terraforming Clouds <a href=\"https:\/\/www.youtube.com\/watch?v=xl3ag6oPpHY\">\u0412\u0438\u0434\u0435\u043e<\/a><\/p>\n<\/li>\n<li>\n<p>Tony Ibbs A brief history of text markup languages <a href=\"https:\/\/www.youtube.com\/watch?v=P-7hwjocEpM\">\u0412\u0438\u0434\u0435\u043e<\/a> <a href=\"https:\/\/github.com\/tibs\/markup-history\">\u0421\u043b\u0430\u0439\u0434\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0430\u043c\u0430\u0440\u0435\u0432 \u0420\u043e\u043c\u0430\u043d <a href=\"https:\/\/www.youtube.com\/watch?v=ud0aLuzg9z8&amp;ab_channel=%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D1%81%D1%82%D1%80%D0%B8%D0%BCMail.RuGroup\">\u042f\u0437\u044b\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. SGML, HTML, CSS | \u0422\u0435\u0445\u043d\u043e\u0441\u0442\u0440\u0438\u043c<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u043b\u0430\u0439\u0434\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/strong><\/p>\n<ul>\n<li>\n<p>Tony Ibbs <a href=\"https:\/\/github.com\/tibs\/markup-history\">A brief history of text markup languages<\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u043e\u0440\u0438\u0441 \u0414\u0435\u043c\u0435\u0448\u0435\u0432 <a href=\"https:\/\/github.com\/bdemeshev\/pr201\/wiki\/latex_examples\">latex_examples<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>Markdown cheatsheets<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/raw.githubusercontent.com\/TobseF\/boostnote-markdown-cheatsheet\/master\/BOOSTNOTE_MARKDOWN_CHEAT_SHEET.md\">Boostnote<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.github.com\/gfm\/\">Github<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/editing-help\">Stackoverflow<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/kroki.io\/\">kroki.io<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/ditaa.sourceforge.net\/\">ditaa<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/draw.io\/\">draw.io<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/boostnote.io\/\">boostnote app<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.w3.org\/SVG\/tools\/svgweb\/samples\/svg-files\/cartman.svg\">Cartman \u0432 SVG<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/detexify.kirelabs.org\/classify.html\">detexify<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.graphviz.org\/\">graphviz<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dreampuf.github.io\/GraphvizOnline\">GraphvizOnline<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.texample.net\/\">texample<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/plantuml.com\/\">plantUML<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.plantuml.com\/plantuml\/uml\/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000\">PlantUML Web Server<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mermaidjs.github.io\/#\/\">mermaidJS<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.websequencediagrams.com\/\">websequencediagrams<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/asciidoctor.org\/\">Asciidoctor<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/BurntSushi\/erd\">Database schema to a graphical entity-relationship diagram<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/gnuplot.sourceforge.net\/demo\/\">gnuplot<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor5\" id=\"anchor5\"><\/a><\/p>\n<h3>\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/h3>\n<ul>\n<li>\n<p>\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>grep<\/p>\n<\/li>\n<li>\n<p>sed<\/p>\n<\/li>\n<li>\n<p>awk<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605365598a93442df67822b6\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605365598a93442df67822b6\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Z4CPj7WK4wWO6AVWP6ne_DP5UH2H_QDTC_OFEdGipI4\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/175847\/\">\u041a\u0440\u043e\u0441\u0441\u0432\u043e\u0440\u0434 \u0438\u0437 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/essential\/regex\/quant.html\">Quantifiers (The Java\u2122 Tutorials &gt; Essential Classes &gt; Regular Expressions)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/166777\/\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/191006\/\">\u0428\u0430\u0445\u043c\u0430\u0442\u044b \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c sed \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/327530\/\">Bash-\u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0447\u0430\u0441\u0442\u044c 7: sed \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \/ \u0411\u043b\u043e\u0433 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 RUVDS.com \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Corey Schafer <a href=\"https:\/\/www.youtube.com\/watch?v=sa-TUpSx1JA\">Regex Tutorial<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u043c\u0430\u043b\u044c <a href=\"https:\/\/www.youtube.com\/watch?v=SIVnbR-v6Vg\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p>Oliver Wegner <a href=\"https:\/\/www.youtube.com\/watch?v=uVJpq_Tq-fE\">sed basics<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u0445\u0430\u0439\u043b\u043e \u0418\u0432\u0430\u043d\u043a\u0438\u0432 <a href=\"https:\/\/youtu.be\/C5vIEHHG1aA\">\u041a\u0430\u043a \u044f \u043e\u0434\u043d\u0430\u0436\u0434\u044b \u0432\u0435\u0440\u0441\u0442\u0430\u043b \u0444\u043e\u0440\u043c\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<\/a>&nbsp;<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u043b\u0430\u0439\u0434\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/regexr.com\/\">RegExr: Learn, Build, &amp; Test RegEx<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.debuggex.com\/\">Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/5319840\/greedy-vs-reluctant-vs-possessive-quantifiers\">regex &#8212; Greedy vs. Reluctant vs. Possessive Quantifiers &#8212; Stack Overflow<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/poormansprofiler.org\/\">poormansprofiler.org<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.regular-expressions.info\/refadv.html\">Regular Expression Reference: Special Groups<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor6\" id=\"anchor6\"><\/a><\/p>\n<h3>\u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0441\u0435\u0442\u044c\u044e<\/h3>\n<ul>\n<li>\n<p>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0441\u044b\u043b\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e<\/p>\n<\/li>\n<li>\n<p>\u0417\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 DNS, CDN, VPN \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043d\u0430 \u0442\u0440\u0438 \u0431\u0443\u043a\u0432\u044b<\/p>\n<\/li>\n<li>\n<p>\u041f\u0438\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0441\u043e\u043a\u0435\u0442\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"60536585c373282e340f4835\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/60536585c373282e340f4835\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1GGv14QYH8uGI7aHdqnA7kwf96uyvWh81J73mLlxEDgM\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/strong><\/p>\n<ul>\n<li>\n<p>Julia Evans <a href=\"https:\/\/jvns.ca\/networking-zine.pdf\">Networking!<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=mbRqZw0CA1k\">4. HIGHLOAD. \u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a | \u0422\u0435\u0445\u043d\u043e\u0441\u0442\u0440\u0438\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/beej.us\/guide\/bgnet\/\">Beej&#8217;s Guide to Network Programming<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.ted.com\/talks\/tim_urban_inside_the_mind_of_a_master_procrastinator?language=ru\">Tim Urban<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor7\" id=\"anchor7\"><\/a><\/p>\n<h3>\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HTTP<\/h3>\n<ul>\n<li>\n<p>HTTP<\/p>\n<\/li>\n<li>\n<p>REST<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605365cfb4c396d242e09784\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605365cfb4c396d242e09784\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Qed-uanHCAJdWyfUctZManUgjScFMOR-8PpsY3WjOuU\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/developers.google.com\/web\/fundamentals\/performance\/http2\">HTTP\/2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/grishaev.me\/cors\/\">CORS<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/opensource.zalando.com\/restful-api-guidelines\/\">Zalando RESTful API and Event Scheme Guidelines<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developer.mozilla.org\/en-US\/\">MDN Web Docs<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/jvns.ca\/blog\/2019\/02\/10\/a-few-networking-tool-comics\/\">Networking tool comics! &#8212; Julia Evans<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/190154\/\">SIP URI \u0438 URL. \u0427\u0430\u0441\u0442\u044c 1 (URI, URL \u0438 URN) \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/303446\/\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0432 DNS \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/265569\/\">15 \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0432 \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c HTTP \/ \u0411\u043b\u043e\u0433 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u042f\u043d\u0434\u0435\u043a\u0441 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/435546\/\">\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0432\u0435\u0442\u044b, \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u0442\u0443\u043d\u043d\u0435\u043b\u0438 SSH \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/79038\/\">WebSockets \u2014 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0432\u0435\u0431 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/326986\/\">\u0427\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0435 \u044d\u0442\u043e\u0442 GraphQL? \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=m18QYJ66dSg\">HTTP: History &amp; Performance &#8212; Ana Balica<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=idViw4anA6E\">HTTP\/3 &#8212; HTTP over QUIC is the next generation by Daniel Stenberg<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=8ARodQ4Wlf4\">A Beginner&#8217;s Guide to WebSockets<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=r5oT_2ndjms\">HTTP\/2 101<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/jvns.ca\/blog\/2019\/08\/27\/curl-exercises\/\">curl exercises &#8212; Julia Evans<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pycon.dionmisic.com\/ajax\">dionmisic\/ajax<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pycon.dionmisic.com\/feed\">dionmisic\/ws<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/http1.golang.org\/gophertiles?latency=200\">htt2 \u0434\u0435\u043c\u043a\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/lucasconstantino.github.io\/graphiql-online\/\">graphiql-online<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor8\" id=\"anchor8\"><\/a><\/p>\n<h3>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/h3>\n<ul>\n<li>\n<p>chroot<\/p>\n<\/li>\n<li>\n<p>Docker<\/p>\n<\/li>\n<li>\n<p>Docker compose<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605365f296f977d25608bab2\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605365f296f977d25608bab2\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1pjrVI9zWMMBRlB3mvbSU-GBJSmxRpFqP2Q9s0pQUHZk\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>hexlet <a href=\"https:\/\/guides.hexlet.io\/docker\">docker<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.maketecheasier.com\/how-to-run-multiple-linux-distros-without-virtualization\/\">How to Run Multiple Linux Distros Without Virtualization &#8212; Make Tech Easier<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.ubuntubuzz.com\/2015\/09\/a-basic-chroot-example-in-ubuntu.html\">A Basic Chroot Example in Ubuntu<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.docker.com\/\">Docker Documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/xennis.org\/wiki\/Docker\">Docker &#8212; XennisWiki<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dotsandbrackets.com\/tag\/docker\/\">docker Archives &#8212; Dots and Brackets<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/21553353\/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile\">docker &#8212; What is the difference between CMD and ENTRYPOINT in a Dockerfile? &#8212; Stack Overflow<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Solomon Hykes <a href=\"https:\/\/www.youtube.com\/watch?v=Q5POuMHxW-0\">Introduction to Docker<\/a><\/p>\n<\/li>\n<li>\n<p>Jake Wright <a href=\"https:\/\/www.youtube.com\/watch?v=Qw9zlE3t8Ko\">Docker Compose in 12 Minutes<\/a> <a href=\"https:\/\/www.youtube.com\/watch?v=YFl2mCHdv24\">Learn Docker in 12 Minutes<\/a><\/p>\n<\/li>\n<li>\n<p>Mumshad Mannambeth <a href=\"https:\/\/www.youtube.com\/playlist?list=PL2We04F3Y_43dAehLMT5GxJhtk3mJtkl5\">Kubernetes for the Absolute Beginners<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/stepik.org\/course\/1612\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 Stepik<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.docker.com\/get-started\/\">Get Started,Docker Documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docker-curriculum.com\/\">A Docker Tutorial for Beginners<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.katacoda.com\/\">Katacoda &#8212; Interactive Learning Platform for Software Engineers<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/docs.docker.com\/develop\/develop-images\/baseimages\/\">Create a base image | Docker Documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.galvanist.com\/posts\/2013-07-31-chroot-jails-on-os-x\/\">chroot jails on OS X \/\/ galvanist<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/markheath.net\/post\/exploring-redis-with-docker\">Exploring Redis with Docker<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/skissane\/mkjail\">GitHub &#8212; skissane\/mkjail: Shell script to create a chroot jail on Mac OS X<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor9\" id=\"anchor9\"><\/a><\/p>\n<h3>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/h3>\n<ul>\n<li>\n<p>\u041e\u041e\u041f<\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u044b<\/p>\n<\/li>\n<li>\n<p>\u041c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0439\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053665caa2e6ed27439fa34\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053665caa2e6ed27439fa34\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1K1NPdNhixqSBaWTxGwTYl4bFz8XzlfSE4oLWkqmHPMY\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/wiki.c2.com\/?AntiPatternsCatalog\">AntiPatterns Catalog<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/325492\/\">\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u043c \u043b\u0438\u0446\u043e\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/463125\/\">\u041e\u041e\u041f \u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/412699\/\">\u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 SOLID<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/refactoring.guru\/\">Design Patterns<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/sourcemaking.com\/\">Design Patterns &amp; Refactoring<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.google.com\/search?q=head+first+design+patterns\">head first design patterns<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/bourabai.kz\/alg\/oop2.htm\">\u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u0443\u0440\u0441\u044b<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"http:\/\/www.cs.toronto.edu\/~sme\/CSC444F\/index.html\">CSC444F: Software Engineering I<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>Greg Wilson <a href=\"https:\/\/vimeo.com\/9270320?fbclid=IwAR3bK6xO8rD_q1wuo3WX65eTRQVC3CLEkIJ6CCH2GijWR4DSCUg7dNgqmmo\">What We Actually Know About Software Development, and Why We Believe It\u2019s True<\/a><\/p>\n<\/li>\n<li>\n<p>John Ousterhout <a href=\"https:\/\/www.youtube.com\/watch?v=bmSAYlu0NcY&amp;ab_channel=TalksatGoogle\">A Philosophy of Software Design<\/a><\/p>\n<\/li>\n<li>\n<p>Jonathan Blow <a href=\"https:\/\/www.youtube.com\/watch?v=pW-SOdj4Kkk\">Preventing the Collapse of Civilization<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=vVAeGcp4pe0&amp;list=PLvb7ivodu7oRbl-b2vGnZCAGusRaQPaUu&amp;index=80\">12 \u041e\u0431\u0449\u0438\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor10\" id=\"anchor10\"><\/a><\/p>\n<h3>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/h3>\n<ul>\n<li>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<li>\n<p>\u041b\u043e\u0433\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"6053669c8b25a4d2350c14ce\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/6053669c8b25a4d2350c14ce\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1eJZ7S11H925hsZitucoLkvVuTHXKaXqXWRpVBUDmH7g\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b 1<\/u><\/a><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1UG2wYQGqAHjdirFEnBjB6iDJi2PEUj_Ue03SfA16GBY\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b 2<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/rbcs-us.com\/documents\/Why-Most-Unit-Testing-is-Waste.pdf\">Why Most Unit Testing is Waste<\/a><\/p>\n<\/li>\n<li>\n<p>Brian Kernighan <a href=\"https:\/\/www.cs.princeton.edu\/~bwk\/testing.html\">Code Testing and its Role in Teaching<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/martinfowler.com\/articles\/practical-test-pyramid.html\">The Practical Test Pyramid<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.simpleorientedarchitecture.com\/defining-test-boundaries\/\">Defining Test Boundaries<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/370153\/\">\u041a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.osp.ru\/os\/1998\/06\/179592\/\">\u041c\u0438\u0444\u044b \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u041f\u041e: \u0443\u0440\u043e\u043a\u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u044b\u0445 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444 | \u041e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0421\u0423\u0411\u0414 | \u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u00ab\u041e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u00bb<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/realpython.com\/python-logging\/\">Logging in Python \u2013 Real Python<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/merapar\/exposing-zipkin-trace-id-and-span-id-in-logging-for-use-in-kibana-25d1e5b6bfbb\">Tracing microservices with Zipkin and Kibana &#8212; merapar &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/thelastpickle.com\/blog\/2015\/12\/07\/using-zipkin-for-full-stack-tracing-including-cassandra.html\">Replacing Cassandra&#8217;s tracing with Zipkin<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>UN\u0418X <a href=\"https:\/\/www.youtube.com\/watch?v=kD1ECjZWNfM&amp;ab_channel=UN%D0%98X\">08. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 (\u044d\u0444\u0438\u0440)<\/a><\/p>\n<\/li>\n<li>\n<p>UN\u0418X <a href=\"https:\/\/www.youtube.com\/watch?v=mrtUNp43O5Y&amp;ab_channel=UN%D0%98X\">08. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u0442\u043e\u043b\u0438\u0439 \u041e\u0441\u0442\u0440\u043e\u0432\u0441\u043a\u0438\u0439 <a href=\"https:\/\/www.youtube.com\/watch?v=_l1qP0DyBcA\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. Best Practices<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0442\u043e\u043d \u0411\u0435\u0432\u0437\u044e\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=lDdJYid8NpE\">\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f TDD \u043d\u0430 Java<\/a><\/p>\n<\/li>\n<li>\n<p>Jakub Nabrdalik <a href=\"https:\/\/www.youtube.com\/watch?v=2vEoL3Irgiw\">Improving your Test Driven Development in 45 minutes<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor11\" id=\"anchor11\"><\/a><\/p>\n<h3>\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/h3>\n<ul>\n<li>\n<p>\u0425\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0443\u043c\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f vs \u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f; JWT<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043c\u0435\u043d \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d<\/p>\n<\/li>\n<li>\n<p>RSA<\/p>\n<\/li>\n<li>\n<p>TLS<\/p>\n<\/li>\n<li>\n<p>\u0414\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605366ba30f707d266c0ecbc\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605366ba30f707d266c0ecbc\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1q6ktLanvywx_-rl5EEYI5UQqdl8QKC2cma4gmZCsI_0\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/plesk\/blog\/502604\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 TLS \u0434\u043b\u044f \u043f\u0336\u0440\u0336\u0430\u0336\u043a\u0336\u0442\u0336\u0438\u0336\u043a\u0336\u043e\u0336\u0432\u0336 \u041f\u0430\u0442\u0440\u0438\u043a\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/time2hack.com\/convert-encode-decode-text-files-to-base64-in-browser\/\">Encode\/Decode text &amp; files to Base64 in Browser with Base64 Converter<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.to\/caffiendkitten\/authentication-types-3984\">Basic, Bearer, Digest Oh MY! So Many Auths!<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/www.sunshine2k.de\/articles\/coding\/crc\/understanding_crc.html\">Sunshine&#8217;s Homepage &#8212; Understanding CRC<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/doctrina.org\/How-RSA-Works-With-Examples.html\">Doctrina &#8212; How RSA Works With Examples<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/259199\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 KDF \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430 \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/188042\/\">\u041a\u0430\u043a HTTPS \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f: \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 Web-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/circuitcellar.com\/cc-blog\/ti-chronos-one-time-passwords\/\">One-Time Passwords from Your Watch | | Circuit Cellar<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@darutk\/diagrams-and-movies-of-all-the-oauth-2-0-flows-194f3c3ade85\">Diagrams And Movies Of All The OAuth 2.0 Flows &#8212; Takahiko Kawasaki &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/115163\/\">OAuth 2.0 \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \/ \u0411\u043b\u043e\u0433 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Mail.ru Group \/ \u0425\u0430\u0431\u0440<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/codahale.com\/how-to-safely-store-a-password\/\">How To Safely Store A Password | codahale.com<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=f4Ru6CPG1z4\">Base64 is not encryption<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=b4b8ktEV4Bg\">Hashing Algorithms and Security<\/a><\/p>\n<\/li>\n<li>\n<p>Hubert Sablonni\u00e8re <a href=\"https:\/\/www.youtube.com\/watch?v=67mezK3NzpU\">100% Stateless with JWT<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=DMtFhACPnTY\">SHA: Secure Hashing Algorithm<\/a><\/p>\n<\/li>\n<li>\n<p>Laurens Van Houtven <a href=\"https:\/\/www.youtube.com\/watch?v=3rmCGsCYJF8\">Crypto 101<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=i4JUtWuuqfI\">Diffie Hellman Key Exchange by khan academy<\/a> (\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b)<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0437\u0434\u043d\u044f\u043a\u043e\u0432 \u0421.\u041d. <a href=\"https:\/\/www.youtube.com\/watch?v=nIirf97dJnI&amp;t=3610s\">\u041d\u041e\u0414. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0415\u0432\u043a\u043b\u0438\u0434\u0430.<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043d\u0438\u0433\u0438<\/strong><\/p>\n<ul>\n<li>\n<p>\u0421. \u0420\u044b\u0431\u0438\u043d, \u0421. \u041f\u043e\u0437\u0434\u043d\u044f\u043a\u043e\u0432 <a href=\"https:\/\/www.books.ru\/books\/diskretnaya-matematika-556785\/\">\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c. \u0411\u0430\u0431\u0435\u043d\u043a\u043e \u041c. \u041b\u0435\u0432\u0438\u043d <a href=\"https:\/\/www.ozon.ru\/context\/detail\/id\/139807941\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0442\u0435\u043e\u0440\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"anchor12\" id=\"anchor12\"><\/a><\/p>\n<h3>\u0411\u0438\u043b\u0434-\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<ul>\n<li>\n<p>\u043e\u0442 <code>make<\/code> \u043a <code>TravisCI<\/code><\/p>\n<\/li>\n<li>\n<p>dockerhub<\/p>\n<\/li>\n<\/ul>\n<p><iframe id=\"605366dfaa2e6ed27439fa35\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605366dfaa2e6ed27439fa35\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/travis-ci.org\/github\/dehasi\/pci\/builds\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/medium.com\/@ruxijitianu\/database-version-control-liquibase-versus-flyway-9872d43ee5a4\">Database version control \u2014 Liquibase versus Flyway &#8212; robloxro &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.blazemeter.com\/blog\/five-blue-green-deployment-best-practices-for-a-smooth-release\/\">5 Blue-Green Deployment Best Practices for a Smooth Release | BlazeMeter<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0438\u0434\u0435\u043e<\/strong><\/p>\n<ul>\n<li>\n<p>\u0414\u0435\u043d\u0438\u0441 \u0427\u0435\u0440\u043d\u0438\u043b\u0435\u0432\u0441\u043a\u0438\u0439 <a href=\"https:\/\/www.youtube.com\/watch?v=QKKbi6dWHZE\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0442\u043e\u043d \u041a\u0435\u043a\u0441 <a href=\"https:\/\/www.youtube.com\/watch?v=KwPrt17wcZs&amp;ab_channel=JUGNsk\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0420\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0430\u0437\u043d\u043e\u0435<\/strong><\/p>\n<p><a href=\"https:\/\/www.slideshare.net\/Robert_McDermott\/anatomy-of-a-continuous-integration-and-delivery-cicd-pipeline\">Anatomy of a Continuous Integration and Delivery (CICD) Pipeline<\/a><\/p>\n<p><a class=\"anchor\" name=\"anchor13\" id=\"anchor13\"><\/a><\/p>\n<h3>\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \u0434\u0430\u0442\u044b, \u043b\u043e\u043a\u0430\u043b\u0438<\/h3>\n<p>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f, \u043f\u043e\u0447\u0435\u043c\u0443 <code>\/dev\/random<\/code> \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043a\u0440\u0430\u043a\u0430\u0437\u044f\u0431\u0440\u044b<\/p>\n<p><iframe id=\"605366ff7c24d22e1e99fa0c\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/605366ff7c24d22e1e99fa0c\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1ck8BFo2pWbCaix0lDaUtLvgUdZmkFYLEs1okRTDytsw\/edit?usp=sharing\"><u>\u0421\u043b\u0430\u0439\u0434\u044b<\/u><\/a><\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u044c\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/158639\/\">\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430\u0445 \u0438 \u043d\u0430\u0431\u043e\u0440\u0430\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/158895\/\">\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430\u0445 \u0438 \u043d\u0430\u0431\u043e\u0440\u0430\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0447\u0430\u0441\u0442\u044c 2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.joelonsoftware.com\/2003\/10\/08\/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses\/\">The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@LeeJulija\/how-integers-are-stored-in-memory-using-twos-complement-5ba04d61a56c\">How integers are stored in memory using two\u2019s complement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/concerning-pharo\/an-implementation-of-unicode-normalization-7c6719068f43\">An Implementation of Unicode Normalization &#8212; Concerning Pharo &#8212; Medium<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=2725015\">What every programmer should know about time | Hacker News<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/112953\/\">\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/infopulse\/blog\/336110\/\">\u00ab\u041c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u00bb 0x5f3759df<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/219595\/\">\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e \u0447\u0438\u0441\u043b\u0430\u0445 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0432 Java<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/338108\/\">5 \u043f\u0440\u0430\u0432\u0438\u043b<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-319924","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/319924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=319924"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/319924\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=319924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=319924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=319924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}