HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>При трудоустройстве разработчика первым делом просят показать его GitHub. Это самая популярная платформа для хостинга проектов и фактически - стандарт индустрии. Разбираемся, что такое GitHub, чем отличается от Git и как его использовать.</p>
1 <p>При трудоустройстве разработчика первым делом просят показать его GitHub. Это самая популярная платформа для хостинга проектов и фактически - стандарт индустрии. Разбираемся, что такое GitHub, чем отличается от Git и как его использовать.</p>
2 <p>GitHub - сайт для размещения IT-проектов, основанный на системе контроля версий. При помощи этой платформы программисты могут совместно работать над кодом. GitHub позволяет людям из разных точек земного шара вносить свои изменения в проекты, создавая новые улучшенные версии.</p>
2 <p>GitHub - сайт для размещения IT-проектов, основанный на системе контроля версий. При помощи этой платформы программисты могут совместно работать над кодом. GitHub позволяет людям из разных точек земного шара вносить свои изменения в проекты, создавая новые улучшенные версии.</p>
3 <h2>Содержание</h2>
3 <h2>Содержание</h2>
4 <ul><li><a>Что такое Git</a></li>
4 <ul><li><a>Что такое Git</a></li>
5 <li><a>Как появился GitHub</a></li>
5 <li><a>Как появился GitHub</a></li>
6 <li><a>Кому нужен GitHub</a></li>
6 <li><a>Кому нужен GitHub</a></li>
7 <li><a>Можно ли обойтись без GitHub</a></li>
7 <li><a>Можно ли обойтись без GitHub</a></li>
8 <li><a>Альтернативы GitHub</a></li>
8 <li><a>Альтернативы GitHub</a></li>
9 <li><a>Основные термины в GitHub</a></li>
9 <li><a>Основные термины в GitHub</a></li>
10 <li><a>Стандартная работа с GitHub</a></li>
10 <li><a>Стандартная работа с GitHub</a></li>
11 <li><a>Как начать работать с GitHub</a></li>
11 <li><a>Как начать работать с GitHub</a></li>
12 <li><a>Как искать проекты</a></li>
12 <li><a>Как искать проекты</a></li>
13 <li><a>Как научиться пользоваться GitHub</a></li>
13 <li><a>Как научиться пользоваться GitHub</a></li>
14 </ul><h2>Что такое Git</h2>
14 </ul><h2>Что такое Git</h2>
15 <p>Первым делом разберемся в терминологии. GitHub - это конкретный сайт, который работает на технологии контроля версий. Ее называют Git. Она лежит в основе практически всех аналогичных платформ.</p>
15 <p>Первым делом разберемся в терминологии. GitHub - это конкретный сайт, который работает на технологии контроля версий. Ее называют Git. Она лежит в основе практически всех аналогичных платформ.</p>
16 <p>Git создал в 2005 году отец Linux - Линус Торвальд. Он - один из евангелистов программного обеспечения с открытым исходным кодом. Над такими opensourсe-проектами одновременно работают сотни и тысячи программистов. А их исходный код публикуют в свободном доступе, чтобы каждый желающий мог внести свою лепту в разработку.</p>
16 <p>Git создал в 2005 году отец Linux - Линус Торвальд. Он - один из евангелистов программного обеспечения с открытым исходным кодом. Над такими opensourсe-проектами одновременно работают сотни и тысячи программистов. А их исходный код публикуют в свободном доступе, чтобы каждый желающий мог внести свою лепту в разработку.</p>
17 <p>Для удобства этого процесса и создали Git. Изначально система распределенного контроля версий помогала программистам редактировать ядро Linux.</p>
17 <p>Для удобства этого процесса и создали Git. Изначально система распределенного контроля версий помогала программистам редактировать ядро Linux.</p>
18 <p>Git сразу понравился профессиональному сообществу за счет простоты, функциональности и удачной идее. С его помощью можно наладить нелинейную разработку даже самых серьезных и больших проектов.</p>
18 <p>Git сразу понравился профессиональному сообществу за счет простоты, функциональности и удачной идее. С его помощью можно наладить нелинейную разработку даже самых серьезных и больших проектов.</p>
19 <p>Принцип Git основан на сохранении состояния проекта. Он создает ссылку на определенную версию. Таким образом, можно отредактировать чужой код и оставить снимок новых файлов. А владельцу остается просмотреть изменения, а затем принять их или отклонить.</p>
19 <p>Принцип Git основан на сохранении состояния проекта. Он создает ссылку на определенную версию. Таким образом, можно отредактировать чужой код и оставить снимок новых файлов. А владельцу остается просмотреть изменения, а затем принять их или отклонить.</p>
20 <p>Нужно запомнить: Git - технология контроля версия, GitHub - платформа, работающая на ней.</p>
20 <p>Нужно запомнить: Git - технология контроля версия, GitHub - платформа, работающая на ней.</p>
21 <h2>Как появился GitHub</h2>
21 <h2>Как появился GitHub</h2>
22 <p>GitHub создал в 2008 году программист Том Престон-Вернер. Ему и его команде нужен был удобный инструмент для разработки opensourсe-проектов.</p>
22 <p>GitHub создал в 2008 году программист Том Престон-Вернер. Ему и его команде нужен был удобный инструмент для разработки opensourсe-проектов.</p>
23 <p>Идея была в том, чтобы создать удобный облачный хостинг проектов, где все желающие могли бы совместно писать код и делиться плодами своего труда.</p>
23 <p>Идея была в том, чтобы создать удобный облачный хостинг проектов, где все желающие могли бы совместно писать код и делиться плодами своего труда.</p>
24 <p>Так появился GitHub, ставший стандартом в своей сфере. Сейчас эта платформа - место для хранения проектов и совместной разработки, а также аналог социальной сети для разработчиков.</p>
24 <p>Так появился GitHub, ставший стандартом в своей сфере. Сейчас эта платформа - место для хранения проектов и совместной разработки, а также аналог социальной сети для разработчиков.</p>
25 <p>Что делают в GitHub:</p>
25 <p>Что делают в GitHub:</p>
26 <ul><li>Выкладывают исходный код любой программы и разрешают другим пользователям вносить в него изменения;</li>
26 <ul><li>Выкладывают исходный код любой программы и разрешают другим пользователям вносить в него изменения;</li>
27 <li>Проводят совместную работу в режиме реального времени, так как система сохраняет все новые версии ПО;</li>
27 <li>Проводят совместную работу в режиме реального времени, так как система сохраняет все новые версии ПО;</li>
28 <li>Размещают статические сайты и приложения, развертывают небольшие проекты.</li>
28 <li>Размещают статические сайты и приложения, развертывают небольшие проекты.</li>
29 </ul><h2>Кому нужен GitHub</h2>
29 </ul><h2>Кому нужен GitHub</h2>
30 <p>В целом - всем программистам. Как минимум, умение пользоваться Git входит в стандартный список требований. Коммерческая разработка в команде невозможна без него, поэтому технологию придется изучить в любом случае.</p>
30 <p>В целом - всем программистам. Как минимум, умение пользоваться Git входит в стандартный список требований. Коммерческая разработка в команде невозможна без него, поэтому технологию придется изучить в любом случае.</p>
31 <p>А GitHub важен для социализации программиста и поиска первой работы. При помощи этого сервиса можно найти и принять участие в opensourсe-проектах. Они помогут получить первый опыт разработки и подтвердить его перед работодателем.</p>
31 <p>А GitHub важен для социализации программиста и поиска первой работы. При помощи этого сервиса можно найти и принять участие в opensourсe-проектах. Они помогут получить первый опыт разработки и подтвердить его перед работодателем.</p>
32 <p>Зачастую о разработчике судят по содержимому его GitHub, в котором профессионалы хранят код своих проектов.</p>
32 <p>Зачастую о разработчике судят по содержимому его GitHub, в котором профессионалы хранят код своих проектов.</p>
33 <p>А еще на платформе можно найти полезные дополнительные материалы, пообщаться с разработчиками любимого ПО и оставить им отзыв в комментариях.</p>
33 <p>А еще на платформе можно найти полезные дополнительные материалы, пообщаться с разработчиками любимого ПО и оставить им отзыв в комментариях.</p>
34 <h2>Можно ли обойтись без GitHub</h2>
34 <h2>Можно ли обойтись без GitHub</h2>
35 <p>На первых этапах обучения - да. Если вы пишете код для простых ученических работ или создаете небольшие проекты, их можно хранить локально на своем компьютере.</p>
35 <p>На первых этапах обучения - да. Если вы пишете код для простых ученических работ или создаете небольшие проекты, их можно хранить локально на своем компьютере.</p>
36 <p>Обычно в первые месяцы обучения программисты так и делают. Но нужно понимать, что в будущем функциональность GitHub, скорее всего, понадобится.</p>
36 <p>Обычно в первые месяцы обучения программисты так и делают. Но нужно понимать, что в будущем функциональность GitHub, скорее всего, понадобится.</p>
37 <p>Это самый популярный хостинг для проектов со многими версиями, а заодно и способ поделиться с окружающими своими работами.</p>
37 <p>Это самый популярный хостинг для проектов со многими версиями, а заодно и способ поделиться с окружающими своими работами.</p>
38 <p>Можно сказать, что рано или поздно освоить GitHub придется. Совершенно точно это стоит сделать до начала карьеры в коммерческой разработке.</p>
38 <p>Можно сказать, что рано или поздно освоить GitHub придется. Совершенно точно это стоит сделать до начала карьеры в коммерческой разработке.</p>
39 <h2>Альтернативы GitHub</h2>
39 <h2>Альтернативы GitHub</h2>
40 <p>Технология Git - незаменима для совместной работы над проектами. А вот GitHub как платформа имеет аналоги. Просто этот сайт - самый популярный. Сейчас на нем зарегистрировались 83 миллиона пользователей, а количество опубликованных проектов перевалило за 200 миллионов.</p>
40 <p>Технология Git - незаменима для совместной работы над проектами. А вот GitHub как платформа имеет аналоги. Просто этот сайт - самый популярный. Сейчас на нем зарегистрировались 83 миллиона пользователей, а количество опубликованных проектов перевалило за 200 миллионов.</p>
41 <p>В 2018 году сайт купил Microsoft, а значит в его использовании возможны риски. Например, отключение пользователей из определенных стран. Пока что об этом нет речи, но, если вдруг такое случится, нужно понимать, что аналоги у GitHub есть, просто они менее популярные.</p>
41 <p>В 2018 году сайт купил Microsoft, а значит в его использовании возможны риски. Например, отключение пользователей из определенных стран. Пока что об этом нет речи, но, если вдруг такое случится, нужно понимать, что аналоги у GitHub есть, просто они менее популярные.</p>
42 <p>Альтернативы GitHub:</p>
42 <p>Альтернативы GitHub:</p>
43 <ul><li>GitLab - один из самых старых аналогов, написанный на языке Go. За счет этого он отличается прекрасной производительностью. Его основное достоинство - охват всего жизненного цикла DevOps, что удобно для крупных проектов. У него, также как у GitHub, есть полностью функциональная бесплатная версия, которая покрывает большинство потребностей разработчиков;</li>
43 <ul><li>GitLab - один из самых старых аналогов, написанный на языке Go. За счет этого он отличается прекрасной производительностью. Его основное достоинство - охват всего жизненного цикла DevOps, что удобно для крупных проектов. У него, также как у GitHub, есть полностью функциональная бесплатная версия, которая покрывает большинство потребностей разработчиков;</li>
44 <li>Gogs - решение для небольших команд и студентов, не имеющих серьезных требований к обилию инструментов. Это бесплатное решение, которое запускается на всех операционных системах и даже Raspberry Pi. Интерфейс сервиса максимально похож на упрощенный и лаконичный GitHub;</li>
44 <li>Gogs - решение для небольших команд и студентов, не имеющих серьезных требований к обилию инструментов. Это бесплатное решение, которое запускается на всех операционных системах и даже Raspberry Pi. Интерфейс сервиса максимально похож на упрощенный и лаконичный GitHub;</li>
45 <li>Phabricator - проект Facebook, который изначально использовали только для работы внутри компании. Помимо Git поддерживает другие варианты репозиториев и легко устанавливается. Также в нем есть собственная доска для управления проектами;</li>
45 <li>Phabricator - проект Facebook, который изначально использовали только для работы внутри компании. Помимо Git поддерживает другие варианты репозиториев и легко устанавливается. Также в нем есть собственная доска для управления проектами;</li>
46 <li>GitFlic - российский облачный сервис для совместной работы над проектами. Платформа пока не так функциональна, как более старые аналоги. Зато в ней есть интеграция с привычным в России ПО, например, с Telegram.</li>
46 <li>GitFlic - российский облачный сервис для совместной работы над проектами. Платформа пока не так функциональна, как более старые аналоги. Зато в ней есть интеграция с привычным в России ПО, например, с Telegram.</li>
47 </ul><h2>Основные термины в GitHub</h2>
47 </ul><h2>Основные термины в GitHub</h2>
48 <p>На площадке есть несколько главных концепций, которые нужно сразу усвоить новичку - так будет проще освоиться. Все они пришли из английского, но не всегда интуитивно понятны.</p>
48 <p>На площадке есть несколько главных концепций, которые нужно сразу усвоить новичку - так будет проще освоиться. Все они пришли из английского, но не всегда интуитивно понятны.</p>
49 <h3>Репозиторий (repository)</h3>
49 <h3>Репозиторий (repository)</h3>
50 <p>Это основная сущность в GitHub. Репозиторий - это страница проекта на платформе и корневая папка, в которой хранят все вложенные директории определенной программы.</p>
50 <p>Это основная сущность в GitHub. Репозиторий - это страница проекта на платформе и корневая папка, в которой хранят все вложенные директории определенной программы.</p>
51 <p>На самом деле в репозитории располагают буквально все, что угодно. Но стандартно их используют для хостинга проектов: не только коды, но и, например, графики.</p>
51 <p>На самом деле в репозитории располагают буквально все, что угодно. Но стандартно их используют для хостинга проектов: не только коды, но и, например, графики.</p>
52 <p>Репозиторий можно оставить в публичном доступе, а можно заприватить. Для управления репозиториями в GitHub используют командную строку, приложение для десктопа, а также IDE (с большинством у сервиса есть интеграция).</p>
52 <p>Репозиторий можно оставить в публичном доступе, а можно заприватить. Для управления репозиториями в GitHub используют командную строку, приложение для десктопа, а также IDE (с большинством у сервиса есть интеграция).</p>
53 <p>Для совместной работы над проектами, можно клонировать чужой репозиторий и редактировать его. Внутри репозитория хранят ветки.</p>
53 <p>Для совместной работы над проектами, можно клонировать чужой репозиторий и редактировать его. Внутри репозитория хранят ветки.</p>
54 <h3>Ветки (branch)</h3>
54 <h3>Ветки (branch)</h3>
55 <p>Они нужны для группировки изменений в проекте. Например, вы разместили в репозитории первую версию своего сайта, которая будет главной. По умолчанию ей присвоят имя - main.</p>
55 <p>Они нужны для группировки изменений в проекте. Например, вы разместили в репозитории первую версию своего сайта, которая будет главной. По умолчанию ей присвоят имя - main.</p>
56 <p>Если владелец репозитория или сторонний разработчик захочет что-то поменять, он создаст свою ветку с новой функциональностью, которую внесет на основе исходной.</p>
56 <p>Если владелец репозитория или сторонний разработчик захочет что-то поменять, он создаст свою ветку с новой функциональностью, которую внесет на основе исходной.</p>
57 <p>Ветки могут существовать параллельно, при желании их можно объединить в одну при помощи слияния - merge.</p>
57 <p>Ветки могут существовать параллельно, при желании их можно объединить в одну при помощи слияния - merge.</p>
58 <h3>Коммиты (commit)</h3>
58 <h3>Коммиты (commit)</h3>
59 <p>Это главный способ создания изменений в проекте. В коммите хранят актуальный код, который появился за прошедшую итерацию. Он содержит список изменений, а также дату и ссылку на предыдущую версию проекта.</p>
59 <p>Это главный способ создания изменений в проекте. В коммите хранят актуальный код, который появился за прошедшую итерацию. Он содержит список изменений, а также дату и ссылку на предыдущую версию проекта.</p>
60 <p>Коммиты обычно вносят на локальном репозитории. А его публикацию на GitHub называют пушем - push. Пушить изменения - как бы "проталкивать" их в общее поле.</p>
60 <p>Коммиты обычно вносят на локальном репозитории. А его публикацию на GitHub называют пушем - push. Пушить изменения - как бы "проталкивать" их в общее поле.</p>
61 <p>Для внесения изменений в репозиторий можно пользоваться двумя способами:</p>
61 <p>Для внесения изменений в репозиторий можно пользоваться двумя способами:</p>
62 <ul><li>Clone - клонировать или попросту скопировать репозиторий на свой локальный диск или собственный сервер;</li>
62 <ul><li>Clone - клонировать или попросту скопировать репозиторий на свой локальный диск или собственный сервер;</li>
63 <li>Fork - форкнуть или создать развилку, то есть новую ветку.</li>
63 <li>Fork - форкнуть или создать развилку, то есть новую ветку.</li>
64 </ul><h3>Слияние</h3>
64 </ul><h3>Слияние</h3>
65 <p>Это вторая по популярности операция на GitHub. Допустим, вы с командой работаете над одним проектом: кто-то создает фронтенд, кто-то бэкенд или их части. После того, как вы закончили самостоятельную разработку, проект нужно собрать воедино.</p>
65 <p>Это вторая по популярности операция на GitHub. Допустим, вы с командой работаете над одним проектом: кто-то создает фронтенд, кто-то бэкенд или их части. После того, как вы закончили самостоятельную разработку, проект нужно собрать воедино.</p>
66 <p>То есть фактически объединить все ветку в одну. Для этого нужно провести пулл реквест (pull request). Заканчивая процесс, разработчик подает заявку на слияние всех веток.</p>
66 <p>То есть фактически объединить все ветку в одну. Для этого нужно провести пулл реквест (pull request). Заканчивая процесс, разработчик подает заявку на слияние всех веток.</p>
67 <p>Платформа самостоятельно создаст новый коммит, в котором будут подсвечены все изменения. Так тимлид или менеджер проекта сможет проверить происходящее.</p>
67 <p>Платформа самостоятельно создаст новый коммит, в котором будут подсвечены все изменения. Так тимлид или менеджер проекта сможет проверить происходящее.</p>
68 <p>До полного слияния, о котором мы говорили выше, члены команды обычно проводят код ревью (code review). То есть просматривают все изменения и проверяют их на предмет ошибок.</p>
68 <p>До полного слияния, о котором мы говорили выше, члены команды обычно проводят код ревью (code review). То есть просматривают все изменения и проверяют их на предмет ошибок.</p>
69 <h2>Стандартная работа с GitHub</h2>
69 <h2>Стандартная работа с GitHub</h2>
70 <p>Обычно процесс работы с платформой выглядит так:</p>
70 <p>Обычно процесс работы с платформой выглядит так:</p>
71 <ul><li>Программист копирует себе репозиторий или его часть;</li>
71 <ul><li>Программист копирует себе репозиторий или его часть;</li>
72 <li>Работает над ним и по итогу создает новые ветки или коммиты;</li>
72 <li>Работает над ним и по итогу создает новые ветки или коммиты;</li>
73 <li>Отправляет пулл реквест на принятие изменений;</li>
73 <li>Отправляет пулл реквест на принятие изменений;</li>
74 <li>Владелец проекта проводит код ревью, принимает их или отклоняет. В случае успеха, он объединяет эту ветку с основной.</li>
74 <li>Владелец проекта проводит код ревью, принимает их или отклоняет. В случае успеха, он объединяет эту ветку с основной.</li>
75 </ul><h2>Как начать работать с GitHub</h2>
75 </ul><h2>Как начать работать с GitHub</h2>
76 <p>Самый простой способ работы - загрузить на сайт платформы свой проект. Сделать это очень легко. Достаточно найти в правой панели знак "+", нажать на него и выбрать "New Repository".</p>
76 <p>Самый простой способ работы - загрузить на сайт платформы свой проект. Сделать это очень легко. Достаточно найти в правой панели знак "+", нажать на него и выбрать "New Repository".</p>
77 <p>Платформа предложит придумать название и описание. Лучше делать их осмысленными, если хотите работать с этими файлами совместно или демонстрировать их другим людям.</p>
77 <p>Платформа предложит придумать название и описание. Лучше делать их осмысленными, если хотите работать с этими файлами совместно или демонстрировать их другим людям.</p>
78 <p>После создания описания нужно нажать на "Create Repository". Ваш первый репозиторий готов. Для загрузки зайдите в нужное хранилище и нажмите на "Add file".</p>
78 <p>После создания описания нужно нажать на "Create Repository". Ваш первый репозиторий готов. Для загрузки зайдите в нужное хранилище и нажмите на "Add file".</p>
79 <h2>Как искать проекты</h2>
79 <h2>Как искать проекты</h2>
80 <p>Вторая по популярности функция GitHub - социальная. Пользователь может не только хранить свои проекты, но и просматривать чужие, которые находятся в свободном доступе.</p>
80 <p>Вторая по популярности функция GitHub - социальная. Пользователь может не только хранить свои проекты, но и просматривать чужие, которые находятся в свободном доступе.</p>
81 <p>Для этого на сайте есть система внутреннего поиска. Она ищет по ключевым словам, упомянутым в названии или коротком описании репозитория.</p>
81 <p>Для этого на сайте есть система внутреннего поиска. Она ищет по ключевым словам, упомянутым в названии или коротком описании репозитория.</p>
82 <p>Дополнительно в нем содержится тип лицензии и частота обновлений, то есть - дата последнего релиза.</p>
82 <p>Дополнительно в нем содержится тип лицензии и частота обновлений, то есть - дата последнего релиза.</p>
83 <p>У проекта есть форки (аналог репостов) и звездочки (аналог лайков) - это местный рейтинг, обозначающий популярность репозитория. Чем их больше, тем интереснее для пользователей выложенный код.</p>
83 <p>У проекта есть форки (аналог репостов) и звездочки (аналог лайков) - это местный рейтинг, обозначающий популярность репозитория. Чем их больше, тем интереснее для пользователей выложенный код.</p>
84 <p>Для лучшего использования поиска можно ставить звездочки подходящим репозиториям, тогда платформа будет самостоятельно рекомендовать то, что может вас заинтересовать.</p>
84 <p>Для лучшего использования поиска можно ставить звездочки подходящим репозиториям, тогда платформа будет самостоятельно рекомендовать то, что может вас заинтересовать.</p>
85 <h2>Как научиться пользоваться GitHub</h2>
85 <h2>Как научиться пользоваться GitHub</h2>
86 <p>Самый простой способ - разместить собственный репозиторий и поискать интересные opensource-проекты, в которые вы сможете внести свою лепту. Но не всегда это выглядит как простая задача.</p>
86 <p>Самый простой способ - разместить собственный репозиторий и поискать интересные opensource-проекты, в которые вы сможете внести свою лепту. Но не всегда это выглядит как простая задача.</p>
87 <p>В работе с платформой помогут учебные пособия. Они позволят пошагово выполнить нужные действия или найти функционал, который поможет в разработке.</p>
87 <p>В работе с платформой помогут учебные пособия. Они позволят пошагово выполнить нужные действия или найти функционал, который поможет в разработке.</p>
88 <p>У GitHub много дополнительных инструментов и неочевидных возможностей.</p>
88 <p>У GitHub много дополнительных инструментов и неочевидных возможностей.</p>
89 <p>Полезные пособия:</p>
89 <p>Полезные пособия:</p>
90 <ol><li>Книга "Pro Git" от Скотта Шакона. Автор сам принимал участие в разработке этой платформы, поэтому в курсе всех ее особенностей. Книга написана простым языком и подойдет новичкам. Есть<a>перевод на русский</a>.</li>
90 <ol><li>Книга "Pro Git" от Скотта Шакона. Автор сам принимал участие в разработке этой платформы, поэтому в курсе всех ее особенностей. Книга написана простым языком и подойдет новичкам. Есть<a>перевод на русский</a>.</li>
91 <li><a>Руководство по Git</a>. Интерактивный учебник, который познакомит с самой технологией и ее возможностями. Есть только англоязычная версия, адаптированная под разные платформы.</li>
91 <li><a>Руководство по Git</a>. Интерактивный учебник, который познакомит с самой технологией и ее возможностями. Есть только англоязычная версия, адаптированная под разные платформы.</li>
92 <li>Пользователь "Хабра" сделал подборку самых интересных репозиториев. Из них начинающий и даже опытный разработчик сможет почерпнуть много интересного. Если вы уже разобрались с проектами, но не знаете "куда пойти" - вот готовое решение.<a>Первый список</a>и<a>второй</a>.</li>
92 <li>Пользователь "Хабра" сделал подборку самых интересных репозиториев. Из них начинающий и даже опытный разработчик сможет почерпнуть много интересного. Если вы уже разобрались с проектами, но не знаете "куда пойти" - вот готовое решение.<a>Первый список</a>и<a>второй</a>.</li>
93 </ol>
93 </ol>