|
| 1 | +<!doctype html> |
| 2 | +<html lang="ru"> |
| 3 | +<head> |
| 4 | +<meta charset="utf-8"> |
| 5 | +<meta name="viewport" content="width=device-width, initial-scale=1"> |
| 6 | +<title>Физика и код</title> |
| 7 | +<meta name="description" content="Учебные пособия по физике ускорителей, школьной физике и программированию в научных исследованиях"> |
| 8 | +<link rel="preconnect" href="https://fonts.googleapis.com"> |
| 9 | +<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| 10 | +<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400&family=PT+Sans:wght@400;700&family=PT+Mono&display=swap"> |
| 11 | +<style> |
| 12 | + :root { |
| 13 | + --bg: #f6f7f9; |
| 14 | + --surface: #ffffff; |
| 15 | + --ink: #1a222c; |
| 16 | + --ink-2: #4a5563; |
| 17 | + --ink-3: #7c8794; |
| 18 | + --rule: #d7dde5; |
| 19 | + --accent: #1f4e9c; |
| 20 | + --accent-ink: #163a75; |
| 21 | + --accent-soft: #e4ebf7; |
| 22 | + color-scheme: light dark; |
| 23 | + } |
| 24 | + @media (prefers-color-scheme: dark) { |
| 25 | + :root:not([data-theme="light"]) { |
| 26 | + --bg: #0f151c; |
| 27 | + --surface: #161e27; |
| 28 | + --ink: #e6ebf0; |
| 29 | + --ink-2: #aeb8c4; |
| 30 | + --ink-3: #7d8896; |
| 31 | + --rule: #2a3542; |
| 32 | + --accent: #8db1ec; |
| 33 | + --accent-ink: #b9cff4; |
| 34 | + --accent-soft: #1c2a3f; |
| 35 | + } |
| 36 | + } |
| 37 | + :root[data-theme="dark"] { |
| 38 | + --bg: #0f151c; |
| 39 | + --surface: #161e27; |
| 40 | + --ink: #e6ebf0; |
| 41 | + --ink-2: #aeb8c4; |
| 42 | + --ink-3: #7d8896; |
| 43 | + --rule: #2a3542; |
| 44 | + --accent: #8db1ec; |
| 45 | + --accent-ink: #b9cff4; |
| 46 | + --accent-soft: #1c2a3f; |
| 47 | + } |
| 48 | + * { box-sizing: border-box; } |
| 49 | + html { height: 100%; } |
| 50 | + body { |
| 51 | + margin: 0; |
| 52 | + background: var(--bg); |
| 53 | + color: var(--ink); |
| 54 | + font-family: "PT Sans", "Helvetica Neue", Arial, sans-serif; |
| 55 | + font-size: 17px; |
| 56 | + line-height: 1.55; |
| 57 | + padding-block: 0; |
| 58 | + padding-inline: 20px; |
| 59 | + } |
| 60 | + main { max-width: 760px; margin: 0 auto; padding-block: 56px 32px; } |
| 61 | + a { color: var(--accent); text-decoration: none; } |
| 62 | + a:hover, a:focus-visible { text-decoration: underline; text-underline-offset: 3px; } |
| 63 | + a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 2px; } |
| 64 | + |
| 65 | + header.masthead { display: grid; gap: 14px; margin-bottom: 48px; } |
| 66 | + .masthead h1 { |
| 67 | + font-family: "PT Serif", Georgia, serif; |
| 68 | + font-weight: 700; |
| 69 | + font-size: clamp(2.2rem, 6vw, 3.2rem); |
| 70 | + line-height: 1.08; |
| 71 | + margin: 0; |
| 72 | + letter-spacing: -0.01em; |
| 73 | + text-wrap: balance; |
| 74 | + } |
| 75 | + .masthead p { margin: 0; max-width: 60ch; color: var(--ink-2); font-size: 1.05rem; } |
| 76 | + .masthead .org { |
| 77 | + font-family: "PT Mono", ui-monospace, Menlo, monospace; |
| 78 | + font-size: 0.85rem; |
| 79 | + color: var(--ink-3); |
| 80 | + letter-spacing: 0.02em; |
| 81 | + } |
| 82 | + |
| 83 | + section { margin-bottom: 44px; } |
| 84 | + h2 { |
| 85 | + font-family: "PT Serif", Georgia, serif; |
| 86 | + font-weight: 400; |
| 87 | + font-size: 1.55rem; |
| 88 | + margin: 0 0 6px; |
| 89 | + line-height: 1.2; |
| 90 | + text-wrap: balance; |
| 91 | + } |
| 92 | + .lede { margin: 0 0 18px; color: var(--ink-2); max-width: 62ch; } |
| 93 | + |
| 94 | + .books { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); } |
| 95 | + .books li { border-bottom: 1px solid var(--rule); padding: 18px 0; display: grid; gap: 4px; } |
| 96 | + .books .title { |
| 97 | + font-family: "PT Serif", Georgia, serif; |
| 98 | + font-size: 1.25rem; |
| 99 | + line-height: 1.25; |
| 100 | + color: var(--accent-ink); |
| 101 | + } |
| 102 | + .books .about { color: var(--ink-2); margin: 0; } |
| 103 | + .books .meta { |
| 104 | + display: flex; flex-wrap: wrap; gap: 6px 18px; |
| 105 | + font-family: "PT Mono", ui-monospace, Menlo, monospace; |
| 106 | + font-size: 0.82rem; |
| 107 | + color: var(--ink-3); |
| 108 | + margin-top: 4px; |
| 109 | + } |
| 110 | + .books .meta a { color: var(--ink-3); } |
| 111 | + .books .meta a:hover { color: var(--accent); } |
| 112 | + .books .meta .k { color: var(--ink-3); } |
| 113 | + .books .meta .k::after { content: " "; } |
| 114 | + |
| 115 | + .practicum { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; } |
| 116 | + .practicum li { |
| 117 | + display: grid; grid-template-columns: 11rem 1fr; gap: 6px 20px; |
| 118 | + padding: 12px 0; border-top: 1px solid var(--rule); |
| 119 | + } |
| 120 | + .practicum li:last-child { border-bottom: 1px solid var(--rule); } |
| 121 | + .practicum .course { font-weight: 700; color: var(--ink); } |
| 122 | + .practicum .tasks { color: var(--ink-2); } |
| 123 | + .practicum .tasks a { white-space: nowrap; } |
| 124 | + @media (max-width: 560px) { |
| 125 | + .practicum li { grid-template-columns: 1fr; } |
| 126 | + } |
| 127 | + |
| 128 | + footer { |
| 129 | + border-top: 1px solid var(--rule); |
| 130 | + padding-top: 22px; |
| 131 | + color: var(--ink-2); |
| 132 | + font-size: 0.95rem; |
| 133 | + display: grid; gap: 8px; |
| 134 | + } |
| 135 | + footer p { margin: 0; max-width: 62ch; } |
| 136 | + @media (prefers-reduced-motion: no-preference) { |
| 137 | + a { transition: color 120ms ease; } |
| 138 | + } |
| 139 | +</style> |
| 140 | +</head> |
| 141 | +<body> |
| 142 | +<main> |
| 143 | + <header class="masthead"> |
| 144 | + <div class="org">github.com/phys-dev</div> |
| 145 | + <h1>Физика и код</h1> |
| 146 | + <p>Учебные пособия по физике ускорителей, школьной физике и программированию |
| 147 | + в научных исследованиях. Все пособия открыты, собираются автоматически |
| 148 | + из репозиториев и читаются в браузере без установки чего-либо.</p> |
| 149 | + </header> |
| 150 | + |
| 151 | + <section> |
| 152 | + <h2>Физика ускорителей</h2> |
| 153 | + <p class="lede">Три пособия по курсам магистратуры: каждый вопрос разобран в отдельной |
| 154 | + тетради с выводом формул в СГС и расчётом на Python.</p> |
| 155 | + <ul class="books"> |
| 156 | + <li> |
| 157 | + <a class="title" href="https://phys-dev.github.io/collective-effects-book/">Коллективные эффекты в ускорителях</a> |
| 158 | + <p class="about">Кильватерные поля и импедансы, неустойчивости в моделях макрочастиц, |
| 159 | + кинетическое описание через уравнение Власова. Семнадцать вопросов.</p> |
| 160 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/collective-effects-book">collective-effects-book</a></span><span>Jupyter Book</span></div> |
| 161 | + </li> |
| 162 | + <li> |
| 163 | + <a class="title" href="https://phys-dev.github.io/nonlinear-dynamics-book/">Нелинейная динамика в ускорителях</a> |
| 164 | + <p class="about">Параметрический резонанс и адиабатические инварианты, сдвиги бетатронных |
| 165 | + частот, компенсация эффектов встречи, ионное облако вдоль поезда сгустков. Восемь задач.</p> |
| 166 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/nonlinear-dynamics-book">nonlinear-dynamics-book</a></span><span>Jupyter Book</span></div> |
| 167 | + </li> |
| 168 | + <li> |
| 169 | + <a class="title" href="https://phys-dev.github.io/electrical-strength-book/">Электрическая прочность</a> |
| 170 | + <p class="about">Пробой в вакууме, газах и твёрдых диэлектриках, тёмные токи, мультипактор, |
| 171 | + механизмы Таунсенда и стримера, инженерные критерии изоляции. Восемь тем.</p> |
| 172 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/electrical-strength-book">electrical-strength-book</a></span><span>Jupyter Book</span></div> |
| 173 | + </li> |
| 174 | + </ul> |
| 175 | + </section> |
| 176 | + |
| 177 | + <section> |
| 178 | + <h2>Школьная физика</h2> |
| 179 | + <p class="lede">Интерактивные уроки для основной школы по учебнику И. М. Перышкина |
| 180 | + и задачнику А. Е. Марона.</p> |
| 181 | + <ul class="books"> |
| 182 | + <li> |
| 183 | + <a class="title" href="https://phys-dev.github.io/school-phys-book/">Физика 7–9 классов</a> |
| 184 | + <p class="about">Каждый урок содержит теорию, модель, которой можно управлять прямо |
| 185 | + на странице, опыт с измерениями, задачи с разбором и домашнее задание. |
| 186 | + Готов раздел «Тепловые явления» 8 класса, 28 уроков.</p> |
| 187 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/school-phys-book">school-phys-book</a></span><span>Jupyter Book</span></div> |
| 188 | + </li> |
| 189 | + </ul> |
| 190 | + </section> |
| 191 | + |
| 192 | + <section> |
| 193 | + <h2>Программирование и машинное обучение</h2> |
| 194 | + <p class="lede">Для тех, кто пишет код в физических исследованиях: от Linux и Git |
| 195 | + до нейросетей.</p> |
| 196 | + <ul class="books"> |
| 197 | + <li> |
| 198 | + <a class="title" href="https://phys-dev.github.io/soft-dev-book/">Разработка и применение ПО в физических исследованиях</a> |
| 199 | + <p class="about">Linux, Python, Git, тестирование, контейнеры, профилирование |
| 200 | + и оптимизация: как писать надёжный научный код и сопровождать его.</p> |
| 201 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/soft-dev-book">soft-dev-book</a></span><span>mdBook</span></div> |
| 202 | + </li> |
| 203 | + <li> |
| 204 | + <a class="title" href="https://phys-dev.github.io/basic-ml-book/">Базовые методы ИИ в физических исследованиях</a> |
| 205 | + <p class="about">Регрессия, классификация, деревья и случайный лес, кластеризация, |
| 206 | + снижение размерности, нейросети. С практикумом и вопросами для самопроверки.</p> |
| 207 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/basic-ml-book">basic-ml-book</a></span><span>mdBook</span></div> |
| 208 | + </li> |
| 209 | + <li> |
| 210 | + <a class="title" href="https://phys-dev.github.io/ml-recipe-book/">Рецепты машинного обучения</a> |
| 211 | + <p class="about">Двенадцать коротких тетрадей с примерами обучения моделей scikit-learn |
| 212 | + на встроенных датасетах: от линейной регрессии до многослойного перцептрона.</p> |
| 213 | + <div class="meta"><span><span class="k">исходники</span><a href="https://github.com/phys-dev/ml-recipe-book">ml-recipe-book</a></span><span>Jupyter Book</span></div> |
| 214 | + </li> |
| 215 | + </ul> |
| 216 | + </section> |
| 217 | + |
| 218 | + <section> |
| 219 | + <h2>Практикум</h2> |
| 220 | + <p class="lede">Задания выдаются через GitHub Classroom из репозиториев-шаблонов.</p> |
| 221 | + <ul class="practicum"> |
| 222 | + <li> |
| 223 | + <span class="course">Linux</span> |
| 224 | + <span class="tasks"><a href="https://github.com/phys-dev/booting-linux-task">установка системы</a>, |
| 225 | + <a href="https://github.com/phys-dev/linux-structure-task">процессы и потоки вывода</a>, |
| 226 | + <a href="https://github.com/phys-dev/linux-tools-task">инструменты командной строки</a></span> |
| 227 | + </li> |
| 228 | + <li> |
| 229 | + <span class="course">Python</span> |
| 230 | + <span class="tasks"><a href="https://github.com/phys-dev/python-algo-task">эффективный код</a>, |
| 231 | + <a href="https://github.com/phys-dev/markov-chain-task">цепи Маркова</a>, |
| 232 | + <a href="https://github.com/phys-dev/review-code-task">ревью чужого кода</a>, |
| 233 | + <a href="https://github.com/phys-dev/kitty-startup-task">жизненный цикл ПО</a></span> |
| 234 | + </li> |
| 235 | + <li> |
| 236 | + <span class="course">Машинное обучение</span> |
| 237 | + <span class="tasks"><a href="https://github.com/phys-dev/linear-regression-task">линейная регрессия</a>, |
| 238 | + <a href="https://github.com/phys-dev/logistic-regression-task">логистическая регрессия</a>, |
| 239 | + <a href="https://github.com/phys-dev/knn-task">k ближайших соседей</a>, |
| 240 | + <a href="https://github.com/phys-dev/neural-network-classification-task">нейросеть для классификации</a>, |
| 241 | + <a href="https://github.com/phys-dev/kaggle-getting-started-task">соревнование Kaggle</a></span> |
| 242 | + </li> |
| 243 | + </ul> |
| 244 | + </section> |
| 245 | + |
| 246 | + <footer> |
| 247 | + <p>Пособия составил <strong>Федоров Вячеслав Васильевич</strong>, младший научный сотрудник |
| 248 | + Института ядерной физики им. Г. И. Будкера СО РАН.</p> |
| 249 | + <p>Замечания и предложения принимаются через issues и pull requests в репозитории |
| 250 | + соответствующего пособия. Почта для связи: <a href="mailto:slava@fuodorov.ru">slava@fuodorov.ru</a>. |
| 251 | + Материалы пока только на русском языке.</p> |
| 252 | + </footer> |
| 253 | +</main> |
| 254 | +</body> |
| 255 | +</html> |
0 commit comments