HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#подборки</a></p>
1 <p><a>#подборки</a></p>
2 <ul><li>8 фев 2024</li>
2 <ul><li>8 фев 2024</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Если в феврале добавить эти репозитории в закладки, год будет успешным.</p>
4 </ul><p>Если в феврале добавить эти репозитории в закладки, год будет успешным.</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6 <p>Востоковед, интересующийся IT. В прошлом редактор раздела "Системный блок" журнала "Fакел", автор журналов Computer Gaming World RE, Upgrade Special, руководитель веб-ресурсов компании 1С-Softclub.</p>
6 <p>Востоковед, интересующийся IT. В прошлом редактор раздела "Системный блок" журнала "Fакел", автор журналов Computer Gaming World RE, Upgrade Special, руководитель веб-ресурсов компании 1С-Softclub.</p>
7 <p>Продолжаем искать полезности на главной IT-платформе современности. В январской подборке репозиториев - Linux-утилиты, обучающие материалы, бесплатные книги, графические редакторы, пиратский GPT-4 и, как обычно, горы полезных инструментов для веб-разработчиков.</p>
7 <p>Продолжаем искать полезности на главной IT-платформе современности. В январской подборке репозиториев - Linux-утилиты, обучающие материалы, бесплатные книги, графические редакторы, пиратский GPT-4 и, как обычно, горы полезных инструментов для веб-разработчиков.</p>
8 <p>Каждый разработчик испытывает высокую когнитивную нагрузку. Причём тяжелее всего не написать код, а прочитать и понять то, что написал ваш коллега. Например, вас попросили внести изменения в незнакомый проект, а там под капотом навёрнуто столько модных библиотек и замороченных архитектур, что вы сидите, чешете репу и не можете понять, что к чему.</p>
8 <p>Каждый разработчик испытывает высокую когнитивную нагрузку. Причём тяжелее всего не написать код, а прочитать и понять то, что написал ваш коллега. Например, вас попросили внести изменения в незнакомый проект, а там под капотом навёрнуто столько модных библиотек и замороченных архитектур, что вы сидите, чешете репу и не можете понять, что к чему.</p>
9 <p>Решение автор предлагает хрестоматийное: будь проще сам и не усложняй жизнь другим (интересно, что бы он посоветовал организаторам<a>конкурса по обфускации</a>, о котором мы рассказывали в предыдущей статье? ?)</p>
9 <p>Решение автор предлагает хрестоматийное: будь проще сам и не усложняй жизнь другим (интересно, что бы он посоветовал организаторам<a>конкурса по обфускации</a>, о котором мы рассказывали в предыдущей статье? ?)</p>
10 <p>"Поскольку мы тратим гораздо больше времени на чтение и понимание кода, чем на его написание, мы должны постоянно задавать себе вопрос, не делаем ли мы наш код чересчур запутанным".</p>
10 <p>"Поскольку мы тратим гораздо больше времени на чтение и понимание кода, чем на его написание, мы должны постоянно задавать себе вопрос, не делаем ли мы наш код чересчур запутанным".</p>
11 <p><strong>Авторы проекта<a>Cognitive Load In Software Development</a></strong></p>
11 <p><strong>Авторы проекта<a>Cognitive Load In Software Development</a></strong></p>
12 <p>В репозитории даны примеры кода и советы, как снизить шанс закипания мозгов у собратьев по ремеслу. Начать, например, можно с того, чтобы не использовать перегруженные условные конструкции:</p>
12 <p>В репозитории даны примеры кода и советы, как снизить шанс закипания мозгов у собратьев по ремеслу. Начать, например, можно с того, чтобы не использовать перегруженные условные конструкции:</p>
13 if val &gt; someConstant // ?+ &amp;&amp; (condition2 || condition3) // ?+++, предыдущее условие должно быть истинным, одно из условий // (2 или 3) должно быть истинным &amp;&amp; (condition4 &amp;&amp; !condition5) { // ? ... }<p>Или хотя бы разбавлять их промежуточными переменными - желательно с осмысленными именами:</p>
13 if val &gt; someConstant // ?+ &amp;&amp; (condition2 || condition3) // ?+++, предыдущее условие должно быть истинным, одно из условий // (2 или 3) должно быть истинным &amp;&amp; (condition4 &amp;&amp; !condition5) { // ? ... }<p>Или хотя бы разбавлять их промежуточными переменными - желательно с осмысленными именами:</p>
14 isValid = var &gt; someConstant isAllowed = condition2 || condition3 isSecure = condition4 &amp;&amp; !condition5 // ?, вам не нужно запоминать условия, так как есть описательные // переменные if isValid &amp;&amp; isAllowed &amp;&amp; isSecure { ... }<p>Загвоздка в том, что разработчику бывает сложно понять, что его код запутанный, - ещё бы, ведь это он его написал, для него он самый лучший, понятный и простой, а вовсе никакие не спагетти :) Хороший способ самопроверки предложил Дэн Норф, соавтор<a>учебного пособия по Ruby</a>:</p>
14 isValid = var &gt; someConstant isAllowed = condition2 || condition3 isSecure = condition4 &amp;&amp; !condition5 // ?, вам не нужно запоминать условия, так как есть описательные // переменные if isValid &amp;&amp; isAllowed &amp;&amp; isSecure { ... }<p>Загвоздка в том, что разработчику бывает сложно понять, что его код запутанный, - ещё бы, ведь это он его написал, для него он самый лучший, понятный и простой, а вовсе никакие не спагетти :) Хороший способ самопроверки предложил Дэн Норф, соавтор<a>учебного пособия по Ruby</a>:</p>
15 <p>"Как только вы подключите к своему проекту новых людей, попробуйте измерить степень их замешательства (тут может помочь<a>парное программирование</a>). Если они застревают более чем на 40 минут - вам есть что улучшить".</p>
15 <p>"Как только вы подключите к своему проекту новых людей, попробуйте измерить степень их замешательства (тут может помочь<a>парное программирование</a>). Если они застревают более чем на 40 минут - вам есть что улучшить".</p>
16 <p><a>Открыть репозиторий</a></p>
16 <p><a>Открыть репозиторий</a></p>
17 <p>Переходим к более утилитарным вещам. Всем нам иногда приходится иметь дело с PDF-файлами: конвертировать их туда-сюда, редактировать страницы, соединять несколько файлов в один и так далее. А тут как раз есть мощная тулза, которую можно развернуть у себя на сервере и использовать для всяческих манипуляций с адобовским форматом. Среди полезных фишек:</p>
17 <p>Переходим к более утилитарным вещам. Всем нам иногда приходится иметь дело с PDF-файлами: конвертировать их туда-сюда, редактировать страницы, соединять несколько файлов в один и так далее. А тут как раз есть мощная тулза, которую можно развернуть у себя на сервере и использовать для всяческих манипуляций с адобовским форматом. Среди полезных фишек:</p>
18 <ul><li>объединение, разделение, вращение, перемещение PDF и их страниц;</li>
18 <ul><li>объединение, разделение, вращение, перемещение PDF и их страниц;</li>
19 <li>разделение PDF на несколько файлов по номерам страниц;</li>
19 <li>разделение PDF на несколько файлов по номерам страниц;</li>
20 <li>изменение очерёдности страниц;</li>
20 <li>изменение очерёдности страниц;</li>
21 <li>поворот файла на 90 градусов;</li>
21 <li>поворот файла на 90 градусов;</li>
22 <li>изменение размера содержимого страницы на заданный процент;</li>
22 <li>изменение размера содержимого страницы на заданный процент;</li>
23 <li>конвертация PDF в картинку, презентацию или обычный документ;</li>
23 <li>конвертация PDF в картинку, презентацию или обычный документ;</li>
24 <li>преобразование разметок HTML и Markdown в PDF;</li>
24 <li>преобразование разметок HTML и Markdown в PDF;</li>
25 <li>создание паролей, добавление и удаление водяных знаков;</li>
25 <li>создание паролей, добавление и удаление водяных знаков;</li>
26 <li>сравнение двух файлов и отображение различий в тексте;</li>
26 <li>сравнение двух файлов и отображение различий в тексте;</li>
27 <li>извлечение изображений из PDF.</li>
27 <li>извлечение изображений из PDF.</li>
28 </ul><p><a>Открыть репозиторий</a></p>
28 </ul><p><a>Открыть репозиторий</a></p>
29 <p>В этом репозитории собраны руководства и советы по проектированию систем и подготовке к интервью по системному дизайну. Вы узнаете, как устроены сети, базы данных и СУБД, какие бывают архитектуры приложений и тому подобное. Курс также доступен на <a>сайте</a>и в виде электронной книги на <a>Leanpub</a>(стоит около 20 долларов).</p>
29 <p>В этом репозитории собраны руководства и советы по проектированию систем и подготовке к интервью по системному дизайну. Вы узнаете, как устроены сети, базы данных и СУБД, какие бывают архитектуры приложений и тому подобное. Курс также доступен на <a>сайте</a>и в виде электронной книги на <a>Leanpub</a>(стоит около 20 долларов).</p>
30 <p><a>Открыть репозиторий</a></p>
30 <p><a>Открыть репозиторий</a></p>
31 <p>С помощью этой опенсорсной утилиты можно делать скриншот или запись экрана, а также делиться полученной картинкой одним нажатием. Она также позволяет загружать изображения, текст или другие типы файлов на разные ресурсы.</p>
31 <p>С помощью этой опенсорсной утилиты можно делать скриншот или запись экрана, а также делиться полученной картинкой одним нажатием. Она также позволяет загружать изображения, текст или другие типы файлов на разные ресурсы.</p>
32 Интерфейс утилиты<em>Скриншот:<a>ShareX</a>/ Skillbox Media</em><p><a>Открыть репозиторий</a></p>
32 Интерфейс утилиты<em>Скриншот:<a>ShareX</a>/ Skillbox Media</em><p><a>Открыть репозиторий</a></p>
33 <p>Репозиторий, который позволяет получить бесплатный доступ к языковым моделям GPT-4 и GPT-3.5, используя уязвимости в API OpenAI. Написанный автором эксплойт заставляет систему думать, что к ней поступают запросы от сервисов с платными аккаунтами - например, чат-бота Quora Poe. Способ, конечно, совсем не легитимный, но автор клянётся, что опубликовал его исключительно в образовательных целях.</p>
33 <p>Репозиторий, который позволяет получить бесплатный доступ к языковым моделям GPT-4 и GPT-3.5, используя уязвимости в API OpenAI. Написанный автором эксплойт заставляет систему думать, что к ней поступают запросы от сервисов с платными аккаунтами - например, чат-бота Quora Poe. Способ, конечно, совсем не легитимный, но автор клянётся, что опубликовал его исключительно в образовательных целях.</p>
34 <p>Мы не будем давать этических оценок этому поступку, просто скажем, что есть и менее вредные для кармы способы пользоваться генеративными нейронками бесплатно - например,<a>подобрать себе опенсорсную альтернативу в нашем гайде</a>.</p>
34 <p>Мы не будем давать этических оценок этому поступку, просто скажем, что есть и менее вредные для кармы способы пользоваться генеративными нейронками бесплатно - например,<a>подобрать себе опенсорсную альтернативу в нашем гайде</a>.</p>
35 <p><a>Открыть репозиторий</a></p>
35 <p><a>Открыть репозиторий</a></p>
36 <p>Большой список сетевых сервисов с открытым исходным кодом и веб-приложений, которые можно разместить на собственном сервере. Есть бесплатные решения практически для любой задачи: резервное копирование, отправка электронных писем, сервисы бронирования, CMS, передача файлов, интернет вещей и так далее.</p>
36 <p>Большой список сетевых сервисов с открытым исходным кодом и веб-приложений, которые можно разместить на собственном сервере. Есть бесплатные решения практически для любой задачи: резервное копирование, отправка электронных писем, сервисы бронирования, CMS, передача файлов, интернет вещей и так далее.</p>
37 <p>Официальный сайт -<a>awesome-selfhosted.net</a>.</p>
37 <p>Официальный сайт -<a>awesome-selfhosted.net</a>.</p>
38 <p><a>Открыть репозиторий</a></p>
38 <p><a>Открыть репозиторий</a></p>
39 <p>Бесплатный опенсорсный графический редактор, имитирующий стиль рисования от руки. Поддерживает:</p>
39 <p>Бесплатный опенсорсный графический редактор, имитирующий стиль рисования от руки. Поддерживает:</p>
40 <ul><li>тёмный и светлый режимы;</li>
40 <ul><li>тёмный и светлый режимы;</li>
41 <li>загрузку изображений и локализацию (используя i18n);</li>
41 <li>загрузку изображений и локализацию (используя i18n);</li>
42 <li>экспорт в PNG и SVG, копирование в буфер обмена;</li>
42 <li>экспорт в PNG и SVG, копирование в буфер обмена;</li>
43 <li>масштабирование и панорамирование.</li>
43 <li>масштабирование и панорамирование.</li>
44 </ul><p>Есть отдельное<a>расширение для VS Code</a>и других IDE - можно рисовать диаграммы и схемы прямо в среде разработки, что может быть полезно для архитекторов и проектировщиков ПО.</p>
44 </ul><p>Есть отдельное<a>расширение для VS Code</a>и других IDE - можно рисовать диаграммы и схемы прямо в среде разработки, что может быть полезно для архитекторов и проектировщиков ПО.</p>
45 <em>Скриншот:<a>Excalidraw</a>/ Skillbox Media</em><p><a>Открыть репозиторий</a></p>
45 <em>Скриншот:<a>Excalidraw</a>/ Skillbox Media</em><p><a>Открыть репозиторий</a></p>
46 <p>Начался как тред на Stack Overflow, а теперь это один из самых популярных репозиториев на GitHub. Содержит бесплатные учебники и пособия по программированию практически на всех языках, включая<a>русский</a>. Находится под управлением<a>Free Ebook Foundation</a> - некоммерческой организации, которая поощряет создание и распространение свободных электронных книг.</p>
46 <p>Начался как тред на Stack Overflow, а теперь это один из самых популярных репозиториев на GitHub. Содержит бесплатные учебники и пособия по программированию практически на всех языках, включая<a>русский</a>. Находится под управлением<a>Free Ebook Foundation</a> - некоммерческой организации, которая поощряет создание и распространение свободных электронных книг.</p>
47 <p><a>Открыть репозиторий</a></p>
47 <p><a>Открыть репозиторий</a></p>
48 <p>Здесь представлены все возможные аспекты веб-разработки: анимация и типографика, алгоритмы, кросс-браузерность и адаптивность, доступность, работа с клавиатурой, протоколы и API, компоненты UI, тестирование и инструменты сборки, популярные сообщества, блоги знаменитых инженеров и евангелистов и многое другое.</p>
48 <p>Здесь представлены все возможные аспекты веб-разработки: анимация и типографика, алгоритмы, кросс-браузерность и адаптивность, доступность, работа с клавиатурой, протоколы и API, компоненты UI, тестирование и инструменты сборки, популярные сообщества, блоги знаменитых инженеров и евангелистов и многое другое.</p>
49 <p><a>Открыть репозиторий</a></p>
49 <p><a>Открыть репозиторий</a></p>
50 <p>Краткая выжимка полезных команд по самым популярным языкам, фреймворкам, базам данных и инструментам разработки. Изначально автор собирал разные полезности в GitHub Gist, а потом превратил свой "читерский" лист в полноценный репозиторий, в который может контрибьютить каждый (в том числе и вы).</p>
50 <p>Краткая выжимка полезных команд по самым популярным языкам, фреймворкам, базам данных и инструментам разработки. Изначально автор собирал разные полезности в GitHub Gist, а потом превратил свой "читерский" лист в полноценный репозиторий, в который может контрибьютить каждый (в том числе и вы).</p>
51 <p>Вот, например, как выглядит часть "шпоры" по текстовому редактору Vim:</p>
51 <p>Вот, например, как выглядит часть "шпоры" по текстовому редактору Vim:</p>
52 ##################################################################### # COPYING AND MOVING TEXT ##################################################################### yw yank word yy yank (copy) a line 2yy yank 2 lines y$ yank to end of line p put (paste) the clipboard after cursor/current line P put (paste) before cursor/current line :set paste avoid unexpected effects in pasting :registers display the contents of all registers "xyw yank word into register x "xyy yank line into register x :[range]y x yank [range] lines into register x "xp put the text from register x after the cursor "xP put the text from register x before the cursor "xgp just like "p", but leave the cursor just after the new text "xgP just like "P", but leave the cursor just after the new text :[line]put x put the text from register x after [line]<p>Но если эта шпаргалка вдруг не поражает вас своей простотой и изящностью, добро пожаловать на наш<a>бесплатный курс по Vim на YouTube</a>?</p>
52 ##################################################################### # COPYING AND MOVING TEXT ##################################################################### yw yank word yy yank (copy) a line 2yy yank 2 lines y$ yank to end of line p put (paste) the clipboard after cursor/current line P put (paste) before cursor/current line :set paste avoid unexpected effects in pasting :registers display the contents of all registers "xyw yank word into register x "xyy yank line into register x :[range]y x yank [range] lines into register x "xp put the text from register x after the cursor "xP put the text from register x before the cursor "xgp just like "p", but leave the cursor just after the new text "xgP just like "P", but leave the cursor just after the new text :[line]put x put the text from register x after [line]<p>Но если эта шпаргалка вдруг не поражает вас своей простотой и изящностью, добро пожаловать на наш<a>бесплатный курс по Vim на YouTube</a>?</p>
53 <p><a>Открыть репозиторий</a></p>
53 <p><a>Открыть репозиторий</a></p>
54 <p>С помощью утилиты Man (от англ. manual - руководство) в терминале можно получить справку по любой консольной команде. Проблема в том, что новички обычно теряются, увидев многостраничный непонятный вывод, и сразу бегут в гугл.</p>
54 <p>С помощью утилиты Man (от англ. manual - руководство) в терминале можно получить справку по любой консольной команде. Проблема в том, что новички обычно теряются, увидев многостраничный непонятный вывод, и сразу бегут в гугл.</p>
55 <p>Проект Tldr-pages решает эту проблему. Энтузиасты собрали и поддерживают справочные материалы для инструментов командной строки. Они проще и доступнее, чем традиционные страницы man.</p>
55 <p>Проект Tldr-pages решает эту проблему. Энтузиасты собрали и поддерживают справочные материалы для инструментов командной строки. Они проще и доступнее, чем традиционные страницы man.</p>
56 <p>Например, начало вывода команды man ls выглядит так:</p>
56 <p>Например, начало вывода команды man ls выглядит так:</p>
57 NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speci‐fied. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters<p>tldr ls вместо этого выдаёт следующее:</p>
57 NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speci‐fied. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters<p>tldr ls вместо этого выдаёт следующее:</p>
58 ls List directory contents. More information: https://www.gnu.org/software/coreutils/ls. - List files one per line: ls -1 - List all files, including hidden files: ls -a - List all files, with trailing / added to directory names: ls -F - Long format list (permissions, ownership, size, and modification date) of all files: ls -la - Long format list with size displayed using human-readable units (KiB, MiB, GiB): ls -lh - Long format list sorted by size (descending) recursively: ls -lSR - Long format list of all files, sorted by modification date (oldest first): ls -ltr - Only list directories: ls -d */<p>Идея в том, что вместо детального описания всех возможностей команды Tldr выводит конкретные флаги, нужные для отображения файлов и информации о них. Как правило, именно это и интересует пользователей.</p>
58 ls List directory contents. More information: https://www.gnu.org/software/coreutils/ls. - List files one per line: ls -1 - List all files, including hidden files: ls -a - List all files, with trailing / added to directory names: ls -F - Long format list (permissions, ownership, size, and modification date) of all files: ls -la - Long format list with size displayed using human-readable units (KiB, MiB, GiB): ls -lh - Long format list sorted by size (descending) recursively: ls -lSR - Long format list of all files, sorted by modification date (oldest first): ls -ltr - Only list directories: ls -d */<p>Идея в том, что вместо детального описания всех возможностей команды Tldr выводит конкретные флаги, нужные для отображения файлов и информации о них. Как правило, именно это и интересует пользователей.</p>
59 <p>Официальный сайт -<a>tldr.sh</a>.</p>
59 <p>Официальный сайт -<a>tldr.sh</a>.</p>
60 <p><a>Открыть репозиторий</a></p>
60 <p><a>Открыть репозиторий</a></p>
61 <p>Огромный список полезностей для Linux: приложения для работы со звуком, изображениями и видео, для разработки на разных языках, чтения электронных книг, файловые менеджеры, игры, эмуляторы, браузеры, офисные пакеты, виджеты, консольные утилиты и много других классных фич.</p>
61 <p>Огромный список полезностей для Linux: приложения для работы со звуком, изображениями и видео, для разработки на разных языках, чтения электронных книг, файловые менеджеры, игры, эмуляторы, браузеры, офисные пакеты, виджеты, консольные утилиты и много других классных фич.</p>
62 <p>Официальный сайт -<a>Awesome Linux Software</a>.</p>
62 <p>Официальный сайт -<a>Awesome Linux Software</a>.</p>
63 <p><a>Открыть репозиторий</a></p>
63 <p><a>Открыть репозиторий</a></p>
64 <p>Простое и подробное руководство по содержимому HTML-элемента &lt;head&gt;. Например, в самом базовом виде этот тег должен включать такие элементы, как meta, link, title, style, script, noscript и base. Они сообщают информацию о том, как документы должны обрабатываться браузерами, поисковыми ботами и так далее.</p>
64 <p>Простое и подробное руководство по содержимому HTML-элемента &lt;head&gt;. Например, в самом базовом виде этот тег должен включать такие элементы, как meta, link, title, style, script, noscript и base. Они сообщают информацию о том, как документы должны обрабатываться браузерами, поисковыми ботами и так далее.</p>
65 <p>Но помимо базовых элементов, существует большое количество прочих опций, которые позволяют управлять вашей веб-страницей. Например:</p>
65 <p>Но помимо базовых элементов, существует большое количество прочих опций, которые позволяют управлять вашей веб-страницей. Например:</p>
66 &lt;!-- Указывает возрастной рейтинг содержимого документа --&gt; &lt;meta name="rating" content="General"&gt; &lt;!-- Формирует автоматический комментарий, когда другой WordPress-блог даёт ссылку на ваш блог на WordPress --&gt; &lt;link rel="pingback" href="https://example.com/xmlrpc.php"&gt; &lt;!-- Задаёт цвет для Chrome, Firefox и Opera --&gt; &lt;meta name="theme-color" content="#4285f4"&gt; &lt;!-- Указывает Google не переводить данный документ --&gt; &lt;meta name="google" content="notranslate"&gt; &lt;!-- Отключает автоматическое определение и форматирование телефонных номеров --&gt; &lt;meta name="format-detection" content="telephone=no"&gt;<p><a>Открыть репозиторий</a></p>
66 &lt;!-- Указывает возрастной рейтинг содержимого документа --&gt; &lt;meta name="rating" content="General"&gt; &lt;!-- Формирует автоматический комментарий, когда другой WordPress-блог даёт ссылку на ваш блог на WordPress --&gt; &lt;link rel="pingback" href="https://example.com/xmlrpc.php"&gt; &lt;!-- Задаёт цвет для Chrome, Firefox и Opera --&gt; &lt;meta name="theme-color" content="#4285f4"&gt; &lt;!-- Указывает Google не переводить данный документ --&gt; &lt;meta name="google" content="notranslate"&gt; &lt;!-- Отключает автоматическое определение и форматирование телефонных номеров --&gt; &lt;meta name="format-detection" content="telephone=no"&gt;<p><a>Открыть репозиторий</a></p>
67 <p>Создатели этого проекта справедливо считают, что написание простой тудушки не даст вам понимания того, как устроена реальная коммерческая разработка. Поэтому они собрали список технических докладов и статей про настоящий фронтенд. Миллионы пользователей, килограммы пыльного легаси, перевод гигантской кодовой базы на новый фреймворк - об этих и других прелестях реальной кодерской жизни, которые не увидеть со страниц обучающих курсов, можно почитать в этом альманахе.</p>
67 <p>Создатели этого проекта справедливо считают, что написание простой тудушки не даст вам понимания того, как устроена реальная коммерческая разработка. Поэтому они собрали список технических докладов и статей про настоящий фронтенд. Миллионы пользователей, килограммы пыльного легаси, перевод гигантской кодовой базы на новый фреймворк - об этих и других прелестях реальной кодерской жизни, которые не увидеть со страниц обучающих курсов, можно почитать в этом альманахе.</p>
68 <p>Есть материалы и <a>на русском языке</a>.</p>
68 <p>Есть материалы и <a>на русском языке</a>.</p>
69 <p><a>Открыть репозиторий</a></p>
69 <p><a>Открыть репозиторий</a></p>
70 <p>Хотите проверить, соответствует ли ваш сайт современным требованиям? Тогда вам сюда. Все пункты этого чек-листа обязательны для большинства веб-проектов, но некоторые можно и опустить.</p>
70 <p>Хотите проверить, соответствует ли ваш сайт современным требованиям? Тогда вам сюда. Все пункты этого чек-листа обязательны для большинства веб-проектов, но некоторые можно и опустить.</p>
71 <p>Официальный сайт -<a>frontendchecklist.io</a>.</p>
71 <p>Официальный сайт -<a>frontendchecklist.io</a>.</p>
72 <p><a>Открыть репозиторий</a></p>
72 <p><a>Открыть репозиторий</a></p>
73 <p>Бесплатное "Краткое руководство по TypeScript". Всесторонний и лаконичный обзор возможностей "стероидной" версии JS. Охватывает все аспекты, представленные в последней версии языка, - от мощной системы типов до продвинутых функций. Будет полезен как новичкам, так и опытным программистам. Книгу можно почитать<a>онлайн</a>или скачать в <a>формате EPUB</a>для электронной читалки.</p>
73 <p>Бесплатное "Краткое руководство по TypeScript". Всесторонний и лаконичный обзор возможностей "стероидной" версии JS. Охватывает все аспекты, представленные в последней версии языка, - от мощной системы типов до продвинутых функций. Будет полезен как новичкам, так и опытным программистам. Книгу можно почитать<a>онлайн</a>или скачать в <a>формате EPUB</a>для электронной читалки.</p>
74 <p><a>Открыть репозиторий</a></p>
74 <p><a>Открыть репозиторий</a></p>
75 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
75 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>