<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Задания для 10-8. ФМЛ №239. 2025/2026</title>
    <description>Задания для 10-8. ФМЛ №239. 2025/2026</description>
    <link>http://polarnick.com/239/2025/index.html</link>
    <atom:link href="http://polarnick.com/blogs/239/2025/feed_ru.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sun, 12 Jul 2026 17:53:14 +0000</pubDate>
    <lastBuildDate>Sun, 12 Jul 2026 17:53:14 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
    
      <item>
        <title>[Конференция] Результаты</title>
        <description>&lt;p&gt;Пожалуйста посмотрите и если в видео нужно что-то убрать или удалить из вашей презентации - сообщите мне (&lt;strong&gt;до вечера вторника 14 июля включительно&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;Так же отправьте мне пожалуйста вашу актуальную версию презентации чтобы я обновил слайды.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=cqNw2uSc2Fk&quot;&gt;Видео со всеми презентациями.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://239.ru/conf-informatics&quot;&gt;Официальные результаты конференции.&lt;/a&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Номер&lt;/th&gt;
      &lt;th&gt;Автор&lt;/th&gt;
      &lt;th&gt;Описание&lt;/th&gt;
      &lt;th&gt;Диплом (степень)&lt;/th&gt;
      &lt;th&gt;Оценка&lt;/th&gt;
      &lt;th&gt;Демонстрация проекта (скриншот+видео)&lt;/th&gt;
      &lt;th&gt;Презентация (pdf-слайды)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;01&lt;/td&gt;
      &lt;td&gt;Кус. Фёд.&lt;/td&gt;
      &lt;td&gt;FRacing&lt;/td&gt;
      &lt;td&gt;1 степень&lt;/td&gt;
      &lt;td&gt;5+&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/d/jqKUeDXODuYzew&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;02&lt;/td&gt;
      &lt;td&gt;Кал. Але.&lt;/td&gt;
      &lt;td&gt;MolChemView&lt;/td&gt;
      &lt;td&gt;1 степень&lt;/td&gt;
      &lt;td&gt;5+&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/cp8DkAnk2mr0EA&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;03&lt;/td&gt;
      &lt;td&gt;Ром. Мак.&lt;/td&gt;
      &lt;td&gt;JOHN WICK&lt;/td&gt;
      &lt;td&gt;1 степень&lt;/td&gt;
      &lt;td&gt;5+&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/VSzxAVGwAFwTaA&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;04&lt;/td&gt;
      &lt;td&gt;Тул. Мар.&lt;/td&gt;
      &lt;td&gt;Colorful Stage&lt;/td&gt;
      &lt;td&gt;1 степень&lt;/td&gt;
      &lt;td&gt;5+&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/Z_lcEphFJVtvlA&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;05&lt;/td&gt;
      &lt;td&gt;Яро. Анн.&lt;/td&gt;
      &lt;td&gt;Spaceball&lt;/td&gt;
      &lt;td&gt;1 степень&lt;/td&gt;
      &lt;td&gt;5+&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/OG2JeiwOSHnUVQ&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;06&lt;/td&gt;
      &lt;td&gt;Жур. Вла.&lt;/td&gt;
      &lt;td&gt;Генерация двухмерного мира&lt;/td&gt;
      &lt;td&gt;2 степень&lt;/td&gt;
      &lt;td&gt;5+&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;07&lt;/td&gt;
      &lt;td&gt;Бар. Ели.&lt;/td&gt;
      &lt;td&gt;BallisticLab&lt;/td&gt;
      &lt;td&gt;2 степень&lt;/td&gt;
      &lt;td&gt;5&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/oSpeztkLPQ6GKg&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;08&lt;/td&gt;
      &lt;td&gt;Неж. Мих.&lt;/td&gt;
      &lt;td&gt;Ninja Survivors&lt;/td&gt;
      &lt;td&gt;2 степень&lt;/td&gt;
      &lt;td&gt;5&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/uMuzTFgmWcrgfQ&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;09&lt;/td&gt;
      &lt;td&gt;Чаг. Тим.&lt;/td&gt;
      &lt;td&gt;Just Shapes&lt;/td&gt;
      &lt;td&gt;3 степень&lt;/td&gt;
      &lt;td&gt;5&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/n3-r7fFRVdpkIw&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;10&lt;/td&gt;
      &lt;td&gt;Хал. Али.&lt;/td&gt;
      &lt;td&gt;Dogs&amp;amp;Cakes&lt;/td&gt;
      &lt;td&gt;3 степень&lt;/td&gt;
      &lt;td&gt;5-&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/t21iWaFGbDxEzQ&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;11&lt;/td&gt;
      &lt;td&gt;Пер. Его.&lt;/td&gt;
      &lt;td&gt;Bombercrab&lt;/td&gt;
      &lt;td&gt;3 степень&lt;/td&gt;
      &lt;td&gt;5-&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/ddRi-td5o2UpxQ&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;12&lt;/td&gt;
      &lt;td&gt;Хал. Уль.&lt;/td&gt;
      &lt;td&gt;Пошаговое построение суффиксного автомата&lt;/td&gt;
      &lt;td&gt;3 степень&lt;/td&gt;
      &lt;td&gt;5&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/JZa1CGFOtCIVsQ&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;13&lt;/td&gt;
      &lt;td&gt;Вес. Алл.&lt;/td&gt;
      &lt;td&gt;Игра Cluedo&lt;/td&gt;
      &lt;td&gt;3 степень&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/6VAy5fpJbhm34g&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;14&lt;/td&gt;
      &lt;td&gt;Кос. Вас.&lt;/td&gt;
      &lt;td&gt;Shark Evolution&lt;/td&gt;
      &lt;td&gt;диплом участника&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/i/PRS3V-aDi2prfA&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;15&lt;/td&gt;
      &lt;td&gt;Мот. Соф.&lt;/td&gt;
      &lt;td&gt;Связаны&lt;/td&gt;
      &lt;td&gt;диплом участника&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://disk.yandex.ru/d/Kiax9_UPcxpcqA&quot;&gt;слайды&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;16&lt;/td&gt;
      &lt;td&gt;Бал. Кир.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;17&lt;/td&gt;
      &lt;td&gt;Бык. Ром.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;18&lt;/td&gt;
      &lt;td&gt;Вел. Пла.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;19&lt;/td&gt;
      &lt;td&gt;Габ. Мар.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;20&lt;/td&gt;
      &lt;td&gt;Жуч. Сав.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;21&lt;/td&gt;
      &lt;td&gt;Кон. Его.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;22&lt;/td&gt;
      &lt;td&gt;Кор. Ник.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;23&lt;/td&gt;
      &lt;td&gt;Мих. Дми.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;24&lt;/td&gt;
      &lt;td&gt;Пог. Ден.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;25&lt;/td&gt;
      &lt;td&gt;Тих. Анд.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;26&lt;/td&gt;
      &lt;td&gt;Фед. Арс.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27&lt;/td&gt;
      &lt;td&gt;Фед. Але.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;28&lt;/td&gt;
      &lt;td&gt;Цыб. Лил.&lt;/td&gt;
      &lt;td&gt;Типовая&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;N/A&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Sat, 11 Jul 2026 21:01:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/07/11/projects_results.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/07/11/projects_results.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>Что такое Coding Agents? Чем важен Feedback Loop?</title>
        <description>&lt;p&gt;&lt;strong&gt;Программирование - В-С-Ё!?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://vkvideo.ru/video-232475999_456239050&quot;&gt;в VK урок&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zPY7Qd7BfO8&quot;&gt;на YouTube урок&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Попробовать бесплатно можно в &lt;strong&gt;ChatGPT Codex&lt;/strong&gt; (даже в бесплатном аккаунте оно работает, просто ограничение на объем запросов - гораздо строже).&lt;/p&gt;

&lt;p&gt;Без VPN можно попробовать в &lt;a href=&quot;https://kodacode.ru/tariffs&quot;&gt;KodaCode&lt;/a&gt; - тоже в бесплатном аккаунте есть сколько-то запросов. Но я не пробовал эту программу.&lt;/p&gt;
</description>
        <pubDate>Mon, 16 Mar 2026 21:01:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/16/code-agents.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/16/code-agents.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Java] Проигрывание звуков (.wav)</title>
        <description>&lt;p&gt;1) Создайте пустой проект (или откройте ваш)&lt;/p&gt;

&lt;p&gt;2) Найдите какой-нибудь &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wav&lt;/code&gt; аудиофайл:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;например вбив в гугл &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mp3 for games&lt;/code&gt; и найдя сайт вроде &lt;a href=&quot;https://www.zapsplat.com/sound-effect-category/game-sounds/&quot;&gt;https://www.zapsplat.com/sound-effect-category/game-sounds/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;когда для подобного сайта вас просят залогиниться - можно сэкономить время найдя сайт на котором выкладывают логины, например вбив в гугл &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;free logins for sites&lt;/code&gt; -&amp;gt; &lt;a href=&quot;https://login2.me/&quot;&gt;https://login2.me/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;скачав &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mp3&lt;/code&gt; надо его преобразовать в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wav&lt;/code&gt; - вбиваем в гугл &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mp3 to wav converter&lt;/code&gt;, находим сайт&lt;/li&gt;
  &lt;li&gt;преобразовали &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mp3&lt;/code&gt; в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wav&lt;/code&gt; (к сожалению mp3 - проприетарный формат, его можно проиграть через javafx, а с этим есть сложности, особенно из-под Swing GUI)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3) Вбейте в гугл &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;java play wav file&lt;/code&gt; и найдите например &lt;a href=&quot;https://stackoverflow.com/questions/2416935/how-to-play-wav-files-with-java&quot;&gt;это&lt;/a&gt; - создайте класс &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MakeSound&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;java.io.File&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;java.io.IOException&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javax.sound.sampled.AudioFormat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javax.sound.sampled.AudioInputStream&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javax.sound.sampled.AudioSystem&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javax.sound.sampled.DataLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javax.sound.sampled.LineUnavailableException&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javax.sound.sampled.SourceDataLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MakeSound&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;BUFFER_SIZE&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;128000&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;File&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;soundFile&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;AudioInputStream&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;audioStream&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;AudioFormat&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;audioFormat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;SourceDataLine&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;cm&quot;&gt;/**
     * @param filename the name of the file that is going to be played
     */&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;playSound&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;

        &lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;strFilename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;soundFile&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;File&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;strFilename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;printStackTrace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
            &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;audioStream&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;AudioSystem&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getAudioInputStream&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;soundFile&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;printStackTrace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
            &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;audioFormat&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;audioStream&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getFormat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;

        &lt;span class=&quot;nc&quot;&gt;DataLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;Info&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;info&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;DataLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;Info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;SourceDataLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;audioFormat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;SourceDataLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;AudioSystem&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;audioFormat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;LineUnavailableException&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;printStackTrace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
            &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;printStackTrace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
            &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;

        &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nBytesRead&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kt&quot;&gt;byte&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;abData&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;byte&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;BUFFER_SIZE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nBytesRead&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;nBytesRead&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;audioStream&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;abData&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;abData&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;IOException&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;printStackTrace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
            &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nBytesRead&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;nd&quot;&gt;@SuppressWarnings&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;unused&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nBytesWritten&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;abData&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nBytesRead&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;drain&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;sourceLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;4) Из &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Main&lt;/code&gt; класса проиграйте звук:&lt;/p&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Main&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Start...&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;MakeSound&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;playSound&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;bip.wav&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;

        &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;main() finished!&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;5) Обратите внимание что вызов проигрывания музыки - блокирующий, пока файл не проиграется до конца - код не пойдет выполняться дальше.
Другая сторона этой проблемы - невозможно проиграть два аудиофайла одновременно, но решение есть!&lt;/p&gt;

&lt;p&gt;6) Нужно выполнить этот код из другого потока, тогда основная программа продолжит исполнение команд дальше - а аудиофайл проиграется из метода &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;playSound(...)&lt;/code&gt; выполняемого параллельно - в параллельном вычислительном потоке:&lt;/p&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Main&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Start...&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Thread&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;MakeSound&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;playSound&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;bip.wav&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;audio file finished!&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;}).&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;

        &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;main() finished!&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Заметьте что теперь &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;main() finished!&lt;/code&gt; печатается в консоль сразу после начала проигрывания музыки (не дожидаясь ее окончания), а это значит что основная программа продолжает выполняться независимо от проигрывания звука, ведь этим занимается специально созданный независимый поток.&lt;/p&gt;
</description>
        <pubDate>Mon, 16 Mar 2026 21:01:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/16/projects-wav.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/16/projects-wav.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Конференция] Положение о проекте, критерии, документация</title>
        <description>&lt;h1 id=&quot;документы&quot;&gt;Документы:&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;/static/2023/03/kriterii_for_project.pdf&quot;&gt;Критерии оценивания проекта&lt;/a&gt; (здесь в т.ч. рассказано про отчет)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;/static/2023/03/check_list_for_project.pdf&quot;&gt;Чек-лист оценивания проекта&lt;/a&gt; (кроме этого - еще раз проверьте что вы правильно прочитали условие задачи!)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;/static/2023/03/school_project.pdf&quot;&gt;Положение о проекте&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Обязательно обратите внимание на критерии и чек лист! Особенно на секцию “Реализация программы” и “Оформление презентации” в чек-листе оценивания проекта.&lt;/p&gt;

&lt;p&gt;Если вы делаете &lt;strong&gt;типовой проект&lt;/strong&gt; - обязательно так же обратите внимание на секцию “Оформление отчета” в чек листе!&lt;/p&gt;

&lt;p&gt;Критерии и чек листы - то как будут оцениваться &lt;strong&gt;типовые проекты&lt;/strong&gt;. Творческие проекты оцениваются жюри на конференции и формально все эти критерии не требуются, но многие из них (в первую очередь про перезентацию) - это хороший ориентир “как сделать хорошо”.&lt;/p&gt;

&lt;h1 id=&quot;ключевые-моменты&quot;&gt;Ключевые моменты&lt;/h1&gt;

&lt;p&gt;К защите творческого проекта требования слабее чем к типовому проекту (геометрии), в частности не требуется “документация”, достаточно предоставить:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Презентацию (рекомендую использовать &lt;a href=&quot;http://slides.google.com/&quot;&gt;Google презентации&lt;/a&gt;, &lt;strong&gt;обязательно pdf-формат&lt;/strong&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Дополнительный плюс если исходники опубликованы на &lt;strong&gt;github&lt;/strong&gt; (&lt;a href=&quot;/blogs/239/2024/school239_108_2024_2025/2024/10/13/github.html&quot;&gt;инструкция&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Еще дополнительный плюс если на &lt;strong&gt;gtibhu&lt;/strong&gt; опубликован запускаемый &lt;strong&gt;jar-файл&lt;/strong&gt; (&lt;a href=&quot;/blogs/239/2018/school239_105_2018_2019/2019/04/15/jar-packaging.html&quot;&gt;инструкция&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;В организационном плане:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Вам надо будет презентовать проект примерно за &lt;strong&gt;пять минут&lt;/strong&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Все будет проходить в &lt;strong&gt;апреле&lt;/strong&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Сначала с помощью презентации рассказываете &lt;strong&gt;что за проект&lt;/strong&gt; вы хотели сделать&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Затем рассказываете как реализовали интересные детали, какие были сложности, что получилось в итоге&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Запускаете и &lt;strong&gt;демонстрируете результат проекта&lt;/strong&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Отвечаете на вопросы комиссии&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Качество кода в случае творческого проекта на оценку не влияет&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Mon, 09 Mar 2026 22:02:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/conference-docs.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/conference-docs.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Презентация] Где рисовать иллюстрации для презентации</title>
        <description>&lt;h1 id=&quot;в-какой-программе-рисовать-иллюстрации&quot;&gt;В какой программе рисовать иллюстрации?&lt;/h1&gt;

&lt;p&gt;1) Если вы привыкли и много рисовали в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Photoshop&lt;/code&gt; или другой программе, то возможно это лучший вариант - т.к. за счет опыта вы этот инструмент используете быстро и эффективно&lt;/p&gt;

&lt;p&gt;2) Если нужна какая-то специализированная иллюстрация вроде UML-диаграммы - то можно поискать онлайн редактор по запросу вроде &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;UML diagram editor&lt;/code&gt; и сделав там нужную иллюстрацию - вытащить ее ввиде картинки&lt;/p&gt;

&lt;p&gt;3) В целом в будущем если вам надо много рисовать (например для презентаций или лекций) - мне удобно и нравится использовать планшет (я использую &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XP Pen Deco 01 v2&lt;/code&gt; + &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft Whiteboard&lt;/code&gt; как программу рисования)&lt;/p&gt;

&lt;p&gt;4) В остальных случаях я использую &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Paint.net&lt;/code&gt; т.к. это простая и приятная программа в которой есть поддержка слоев и есть фигуры вроде прямых/стрелочек/прямоугольников и т.п.&lt;/p&gt;

&lt;h1 id=&quot;paintnet&quot;&gt;Paint.net&lt;/h1&gt;

&lt;p&gt;Скачать &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Paint.net&lt;/code&gt; можно &lt;a href=&quot;https://www.getpaint.net/download.html&quot;&gt;здесь&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ниже есть общие идеи о самых удобных на мой взгляд инструментах:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Использование слоев&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Выделение прямоугольником и волшебной палочкой&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Рисование кисточкой и рисование геометрии (прямоугольники/овалы)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Рисование прямых, горизонтальных/вертикальных прямых и стрелочек&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Как откатить назад случайное изменение&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Как сохранить результат&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;использование-слоев&quot;&gt;Использование слоев&lt;/h1&gt;

&lt;p&gt;В &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Paint.net&lt;/code&gt; есть поддержка слоев, это очень удобный инструмент позволяющий разбить вашу картинку на логические слои, например на:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Фоновая картинка (например просто заливка одним цветом)&lt;/li&gt;
  &lt;li&gt;Система координат (оси, подписи X и Y)&lt;/li&gt;
  &lt;li&gt;График одной функции&lt;/li&gt;
  &lt;li&gt;График другой функции&lt;/li&gt;
  &lt;li&gt;Текстовые комментарии с указанием мест интереса (например точки пересечения графиков)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Почему это удобно? Представьте что вы почти все нарисовали, но поняли что график одной из функций надо сдвинуть чуть левее. Если все объекты находятся в одном слое - выделить и сдвинуть график функции не затронув остальные объекты невозможно. Но благодаря тому что график функции находится в отдельном своем слое - то вам достаточно выбрать этот слой, выделить весь график и сдвинуть только его, не затрагивая другие слои.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_01_layers.png&quot; alt=&quot;Paint.net окно управления слоями&quot; /&gt;&lt;/p&gt;

&lt;p&gt;1) Сняв/нажав эту галку вы выключите/включите отображение слоя (может быть удобно временно визуально спрятать слой)&lt;/p&gt;

&lt;p&gt;2) Этой кнопкой можно добавить новый слой для нового логического объекта&lt;/p&gt;

&lt;p&gt;3) Этой кнопкой слой можно удалить целиком если стало ясно что этот слой с данными оказался не нужен&lt;/p&gt;

&lt;p&gt;4) Этой кнопкой слой можно скопировать если хочется например сделать копию графика но немного сместить его вниз/вбок&lt;/p&gt;

&lt;p&gt;5) Эта кнопка вклеивает слой намертво в слой ниже (т.е. объединяет их в один слой)&lt;/p&gt;

&lt;p&gt;6) Слои рисуются один поверх другого, поэтому между ними важен порядок - эта кнопка позволяет поднять слой выше на поверхность&lt;/p&gt;

&lt;p&gt;7) Эта кнопка опускает слой ниже (глубже)&lt;/p&gt;

&lt;h1 id=&quot;инструменты-выделение&quot;&gt;Инструменты: выделение&lt;/h1&gt;

&lt;p&gt;Представим что мы нашли классную картинку с машинкой и хотим использовать ее в игре, но в этой картинке фон оказался не прозрачным а каким-то серым:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_02_car_with_bg.png&quot; alt=&quot;Машинка на непрозрачном фоне&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Обратите внимание на выделенные красным прямоугольником четыре инструмента слева:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Выделение прямоугольником&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Выделение произвольной формой (так называемое лассо, нужно просто очертить контур мышкой)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Выделение овалом&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Выделение волшебной палочкой&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Давайте выделим все пиксели фона и удалим их чтобы добиться прозрачного фона. Для этого нам пригодиться волшебная палочка, выбрав ее и кликнув на фон мы выделим все пиксели похожие по цвету и смежные с пикселем клика:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_03_car_with_bg_2.png&quot; alt=&quot;Выделение фона волшебной палочкой&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Обратите внимание что выделилась так же часть пикселей самой машины (рядом с фарой сверху слева и на багажнике снизу).&lt;/p&gt;

&lt;p&gt;Это можно поправить ослабив чувствительность волшебной палочки - просто сдвиньте Tolerance волшебной палочки к меньшему значению (см. на скрине сверху):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_04_car_with_bg_3.png&quot; alt=&quot;Выделение фона волшебной палочкой с правильным Tolerance&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Теперь когда выделены только пиксели фона - нажмите кнопку &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Delete&lt;/code&gt; и теперь фон прозрачный и осталось только сохранить в формате &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;png&lt;/code&gt; (но не &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jpeg&lt;/code&gt; т.к. в нем не сохраняется прозрачность):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_05_car_with_bg_4.png&quot; alt=&quot;Машинка на прозрачном фоне&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;инструменты-рисование&quot;&gt;Инструменты: рисование&lt;/h1&gt;

&lt;p&gt;Базовые инструменты рисования:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_06_drawings.png&quot; alt=&quot;Paint.net базовые инструменты рисования&quot; /&gt;&lt;/p&gt;

&lt;p&gt;1) Кнопка заливки позволяет по клику заполнить все пиксели в выделенной зоне одним выбранным цветом. Например если вы хотите залить весь фон одним цветом - выделите его (прямоугольником или волшебной палочкой) и кликните этим инструментом заливки (предварительно выбрав нужный цвет).&lt;/p&gt;

&lt;p&gt;2) Кисточка позволяет рисовать (с произвольной толщиной - выбор толщины вверху - &lt;strong&gt;Brush size&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;3) Карандаш не очень удобен, но он позволяет нарисовать тонкий контур&lt;/p&gt;

&lt;p&gt;4) Иногда удобно добавить текст - например чтобы подписать оси на графике или что-то еще&lt;/p&gt;

&lt;p&gt;5) Удобно рисовать разные геометрические примитивы - прямоугольники, овалы&lt;/p&gt;

&lt;h1 id=&quot;инструменты-как-рисовать-прямые-и-стрелки&quot;&gt;Инструменты: как рисовать прямые и стрелки&lt;/h1&gt;

&lt;p&gt;Чтобы нарисовать стрелку нужно выбрать инструмент рисования геометрических примитивов и дальше настроить:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_07_line_arrow.png&quot; alt=&quot;Paint.net рисуем стрелку&quot; /&gt;&lt;/p&gt;

&lt;p&gt;1) Выбираем инструмент рисования прямых и кривых&lt;/p&gt;

&lt;p&gt;2) Указываем толщину нашей прямой&lt;/p&gt;

&lt;p&gt;3) Указываем форму начала, середины и конца нашей прямой - благодаря этому мы можем превратить ее в стрелку или даже двустороннюю стрелку&lt;/p&gt;

&lt;p&gt;Обратите внимание что иногда вам может быть нужно нарисовать строго горизонтальную или вертикальную прямую - в таком случае пока вы зажали мышку чтобы указать начало и конец прямой - зажмите &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SHIFT&lt;/code&gt;, тогда прямая будет “приклеиваться” в горизонтали/вертикали (и другим направлениям с шагом в 15 градусов).&lt;/p&gt;

&lt;h1 id=&quot;как-откатить-назад&quot;&gt;Как откатить назад&lt;/h1&gt;

&lt;p&gt;Если вы случайно нарисовали что-то не то:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Z&lt;/code&gt; отменит последнее действие (можно нажимать несколько раз)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Y&lt;/code&gt; обратно выполнит только что отмененное последнее действие (т.е. по сути движение по изменениям вперед в будущее, т.е. удобно когда вы случайно отменили действие через &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Z&lt;/code&gt; и теперь передумали)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;как-сохранить-результат&quot;&gt;Как сохранить результат&lt;/h1&gt;

&lt;p&gt;Не забывайте сохранять результат:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_08_save.png&quot; alt=&quot;Paint.net Save as&quot; /&gt;&lt;/p&gt;

&lt;p&gt;1) Используйте либо &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.pdn&lt;/code&gt; формат если вы может быть захотите продолжить работу над картинкой позже - это формат который поддерживается только в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Paint.net&lt;/code&gt; и в таком случае в файле будет сохранено разделение картинки на слои, так что позже можно будет продолжить работу со слоями независимо&lt;/p&gt;

&lt;p&gt;2) Либо если вы уже хотите сохранить результат для вставки в презентацию или игру - сохраните в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.png&lt;/code&gt; (если есть текст или прозрачность) либо в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.jpg&lt;/code&gt; (потеряется прозрачность и вокруг текста могут появиться шумы, зато размер файла гораздо меньше)&lt;/p&gt;

&lt;p&gt;Поэтому если у вас больше одного слоя и вы сохраняете в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.png&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.jpg&lt;/code&gt; - то появится предупреждение что картинка будет &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Flatten&lt;/code&gt;, т.е. расплющена - т.е. все слои будут объединены в один:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/paint_net_09_flatten_warning.png&quot; alt=&quot;Paint.net Save as&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 09 Mar 2026 21:05:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/presentation-images.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/presentation-images.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Презентация] Примеры как часто стоит улучшить слайд</title>
        <description>&lt;p&gt;Основная идея:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Слушают ваш рассказ (текст и слова доносятся голосом)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Слайды помогают легче/правильнее понять ваш рассказ благодаря визуальному сопровождению&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Отсюда вывод - текста на слайдах почти не должно быть, т.к. слушатели и так слышат текст.&lt;/p&gt;

&lt;p&gt;Максимум что можно себе позволить на слайдах кроме картинок и иллюстраций - тезисный текст разбитый на пункты.&lt;/p&gt;

&lt;p&gt;При этом все что можно объяснить и донести до зрителя через визуал - лучше показывать без текста (например геометрические иллюстрации - отличная идея).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_07.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_02.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_06.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_08.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_04.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_01.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_09.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/presentation_improvement_03.png&quot; alt=&quot;Пример как можно улучшить слайд&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 09 Mar 2026 21:04:40 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/presenations-examples.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/presenations-examples.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Презентация] Как сделать хорошую презентацию</title>
        <description>&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://vkvideo.ru/video-232475999_456239049&quot;&gt;в VK урок&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/FW59CxgpKyY?si=mW9oqAIudI9P2lMI&quot;&gt;на YouTube урок&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;что-должно-быть-в-презентации&quot;&gt;Что должно быть в презентации?&lt;/h1&gt;

&lt;p&gt;Если вы делаете типовой проект - то делаете презентацию по &lt;a href=&quot;/static/2023/03/check_list_for_project.pdf&quot;&gt;чек-листу оценивания проекта&lt;/a&gt; (секция &lt;strong&gt;Оформление презентации&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;Если вы делаете творческий проект - тоже самое, делаете презентацию по этому чек-листу, но вам еще важнее чем в типовых проектах сделать так, чтобы любой человек с улицы понял что у вас за проект - т.е. вы должны &lt;strong&gt;понятно&lt;/strong&gt; рассказать о чем он. Презентация - визуальный способ сопроводить ваш рассказ и сделать его гораздо понятнее благодаря картинкам/иллюстрациям/скриншотам. От вас не требуется выполнения полного перечня слайдов (как того требуют от типовых проектов) - но это хороший ориентир и подсказка “как сделать хорошо”.&lt;/p&gt;

&lt;h1 id=&quot;1-формулы-должны-быть-красивыми&quot;&gt;1) Формулы должны быть красивыми&lt;/h1&gt;

&lt;p&gt;Все математические формулы должны быть красивыми. Я для этого использую &lt;strong&gt;&lt;a href=&quot;https://latex.codecogs.com/eqneditor/editor.php&quot;&gt;удобный сайт&lt;/a&gt;&lt;/strong&gt; на базе языка разметки latex (он в т.ч. используется для написания научных статей и многих других задач верстки документов, и хотя в целом он очень неприятен - для формул он подходит хорошо). Затем эту картинку с формулой можно вставить в слайды как обычную картинку. Пример:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/04/latex_formulas.png&quot; alt=&quot;Пример красивой latex-формулы&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;2-не-должно-быть-много-текста&quot;&gt;2) Не должно быть много текста&lt;/h1&gt;

&lt;p&gt;Не должно быть слайдов где очень много текста. Пример ужасного слайда:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/03/slides_01_bad_slide_too_much_text.jpg&quot; alt=&quot;Плохой слайд где очень много текста&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Когда такой слайд показывается публике - любой слушатель &lt;strong&gt;испугается&lt;/strong&gt;, у любого глаза начнут разбегаться, слушатель начнет пытаться судорожно понять куда же смотреть, забудет слушать рассказчика, потеряет нить презентации и захочет лишь сбежать или выставить вам мало баллов.&lt;/p&gt;

&lt;h1 id=&quot;3-визуальное-сопровождение-рассказа&quot;&gt;3) Визуальное сопровождение рассказа&lt;/h1&gt;

&lt;p&gt;Слайд должен &lt;strong&gt;визуально иллюстрировать и сопровождать&lt;/strong&gt; ту небольшую часть рассказа которая сейчас произносится.&lt;/p&gt;

&lt;p&gt;Например вы начали рассказывать про врагов в вашей игре - пчел, которых главный персонаж (медведь) очень боится - в этот момент покажите слайд где показано как выглядят эти пчелы, тогда ваш рассказ сразу будет легко воспринимать + слушатели лучше поймут что у вас в игре происходит:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/03/slides_04_good_slide.jpg&quot; alt=&quot;Хороший слайд показывающий врагов - пчел&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Если у вас есть какой-то алгоритм - например алгоритм по которому делает коды компьютерный-противник (т.е. искусственный бот) - обязательно изложите этот калгоритм так чтобы понял человек со стороны, который о вашем проекте ничего не знает. Сопроводите этот рассказ иллюстрациями - например скриншотами нескольких разных ситуаций в которых бот ходит так или сяк. Чтобы слушатели лучше поняли и прочувствовали о чем идет речь.&lt;/p&gt;

&lt;h1 id=&quot;4-каждый-слайд-должен-быть-с-картинкой&quot;&gt;4) Каждый слайд должен быть с картинкой&lt;/h1&gt;

&lt;p&gt;Звучит как странное правило, но это хороший ориентир. Даже в конце презентации на слайде “Спасибо за внимание, вопросы?” - стоит добавить картинку, например:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;скриншот с игрой&lt;/li&gt;
  &lt;li&gt;вашу фотографию&lt;/li&gt;
  &lt;li&gt;что-нибудь красивое - например Единорога:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/static/2023/03/slides_05_finishing_slide.jpg&quot; alt=&quot;Пример финишного слайда с картинкой&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;5-разбивка-тяжелых-слайдов-на-этапы&quot;&gt;5) Разбивка тяжелых слайдов на этапы&lt;/h1&gt;

&lt;p&gt;В идеале тяжелых слайдов с большим объемом информации быть не должно. Но если это кажется неизбежным, то можно подавать такую информацию хотя бы поэтапно.&lt;/p&gt;

&lt;p&gt;Например представьте что хочется рассказать математическую модель про хранение персонажа ввиде прямоугольника (ширина и высота) + координаты персонажа (\(x\), \(y\)) + скорость. Расскажите это поэтапно в несколько слайдов! Каждый следующий слайд - пусть просто &lt;strong&gt;визуально добавляет&lt;/strong&gt; то что вы начали в этот момент рассказывать:&lt;/p&gt;

&lt;video autoplay=&quot;&quot; muted=&quot;&quot; loop=&quot;&quot;&gt;
    &lt;source src=&quot;/static/2023/03/slides_02_video.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;Т.е. вы пролистываете эти 4 слайда один за другим &lt;strong&gt;по мере того как рассказываете&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;1) Математической моделью персонажа игрока является прямоугольник некоторой ширины и высоты&lt;/p&gt;

&lt;p&gt;2) У персонажа хранятся две переменные - координаты угла прямоугольника (&lt;em&gt;хорошо было бы их и на рисунке справа добавить&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;4) Чтобы описать движение персонажа - есть две переменные хранящие проекцию вектора скорости на обе оси (&lt;em&gt;хорошо было бы этот вектор и его проекции тоже на рисунке нарисовать - это отлично бы сопроводило рассказ визуальной интуитивной подсказкой&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;5) Для того чтобы движение персонажа было плавным - важно двигать персонажа каждый раз на вектор скорости домноженный на прошедшее с предыдущего кадра время&lt;/p&gt;

&lt;h1 id=&quot;как-сделать-такие-слайды&quot;&gt;Как сделать такие слайды?&lt;/h1&gt;

&lt;p&gt;1) Сделать полный слайд со всеми этапами (пусть есть &lt;strong&gt;5 этапов&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;2) Сделать его копии (через &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+C&lt;/code&gt; + &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+V&lt;/code&gt; в секции слева) так чтобы этот слайд повторился &lt;strong&gt;5 раз&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3) В каждой копии удалить лишнее этапы:&lt;/p&gt;

&lt;video autoplay=&quot;&quot; muted=&quot;&quot; loop=&quot;&quot;&gt;
    &lt;source src=&quot;/static/2023/03/slides_03_video.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;Если же хочется сделать такие картинки, то я использую для этой задачи &lt;a href=&quot;https://www.getpaint.net/download.html&quot;&gt;Paint.NET&lt;/a&gt; - он простой и удобный и в нем есть &lt;strong&gt;слои&lt;/strong&gt;, они позволяют рисовать поверх, а затем “прятать” то что было нарисовано сверху. Это позволяет мне нарисовать слой за слоем все иллюстрации, а затем сохранить все поэтапные версии иллюстрации и положить их на слайды.&lt;/p&gt;

&lt;h1 id=&quot;примеры-презентаций&quot;&gt;Примеры презентаций&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/static/2021/04/projects/presentations/Point-and-Click%20detective.pdf&quot;&gt;Пример презентации_про_расследование&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/static/2021/04/projects/presentations/ted_presentation.pdf&quot;&gt;Пример_презентации_про_медведя&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://disk.yandex.ru/i/k7oS3iBI2d4daQ&quot;&gt;Пример_презентации_с_208_слайдами&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/static/2021/04/projects/presentations/geom_presentation.pdf&quot;&gt;Пример_презентации_типового_проекта&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 09 Mar 2026 21:03:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/presentations.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/03/09/presentations.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Java] Многопоточность, race condition, atomics</title>
        <description>&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://vkvideo.ru/video-232475999_456239045&quot;&gt;в VK урок&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/YCiWc3dSHbU?si=wLJUSW6vzz0vj_ph&quot;&gt;на YouTube урок&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Темы урока:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;преждевременные оптимизации кода - часто бывают вредны&lt;/li&gt;
  &lt;li&gt;как ускорить расчеты с помощью многопоточности и многоядерности?&lt;/li&gt;
  &lt;li&gt;Java - Thread - Runnable: запуск и join&lt;/li&gt;
  &lt;li&gt;ошибка гонки потоков (race condition)&lt;/li&gt;
  &lt;li&gt;атомарные операции&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 24 Feb 2026 21:02:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/02/24/multithreading-atomics.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/02/24/multithreading-atomics.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Java] Как запаковать программу в запускаемый .jar файл, Continuous Integration (CI)</title>
        <description>&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://vkvideo.ru/video-232475999_456239045&quot;&gt;в VK урок&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/Vs6OLUv7e5Q&quot;&gt;на YouTube урок&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Чтобы Java-проект легче было запускать на любом компьютере (например отправить другу который не занимается программированием) - удобно было бы упаковать проект в самодостаточный запускаемый по двойному клику файл.&lt;/p&gt;

&lt;p&gt;В случае Java чаще всего используют .jar файл, который является .zip архивом внутри которого скомпилированные классы (код), все ресурсы (картинки, музыка и т.п. вашего проекта), а так же манифест в котором указано какой класс запускать для начала работы программы (обычно это Main класс с main-функцией).&lt;/p&gt;

&lt;p&gt;Обсудим что такое Continuous Integration, который позволит нам бесплатно на GitHub Actions организовать автоматическую сборку проекта в .jar файл после каждого Commit+Push.&lt;/p&gt;

&lt;h2 id=&quot;установить-java-на-уровне-операционной-системы&quot;&gt;Установить Java на уровне операционной системы&lt;/h2&gt;

&lt;p&gt;Для того чтобы компилировать &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.java&lt;/code&gt; исходники нам нужно &lt;strong&gt;JDK&lt;/strong&gt; (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Java Development Kit&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Для того чтобы запускать скомпилированные java-программы нам нужна &lt;strong&gt;JVM&lt;/strong&gt; (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Java Virtual Machine&lt;/code&gt;), это что-то вроде интерпретатора, благодаря тому что java-программы исполняются на ней - они универсальны и работают на любых операционных системах (windows/linux/macos). Нужно лишь чтобы была установлена виртуальная машина Java (JVM).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JVM&lt;/strong&gt; является частью &lt;strong&gt;JDK&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Вероятно вы уже установили &lt;strong&gt;JDK&lt;/strong&gt; в рамках &lt;strong&gt;IDEA&lt;/strong&gt; - вы можете узнать путь к такой JDK обратив внимание при запуске программы в IDEA на эту строку - это путь к JVM (java.exe) внутри JDK:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2026/01/jvm_path_in_idea.png&quot; alt=&quot;Как найти путь к JVM в IDEA&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Но чтобы при двойном клике на java-программе (.jar который мы соберем) он автоматически запускался - надо чтобы про JVM знала не только IDEA, но и вся операционная система. Самый простой способ это сделать - установить JDK самому:&lt;/p&gt;

&lt;p&gt;1) гуглим например “jdk windows”&lt;/p&gt;

&lt;p&gt;2) скачиваем &lt;a href=&quot;https://www.oracle.com/java/technologies/downloads/#jdk25-windows&quot;&gt;windows -&amp;gt; x64 Installer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) устанавливаем&lt;/p&gt;

&lt;p&gt;После этого попробуйте запустите терминал (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Win -&amp;gt; cmd -&amp;gt; Command Prompt -&amp;gt; Enter&lt;/code&gt;) и проверьте что java (JVM) и javac (java compiler) запускаются (спросим у них их версию например):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2026/01/cmd_java_javac.png&quot; alt=&quot;Как проверить что java и javac работают в терминале&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;как-собрать-jar-файл-через-cmd-скрипт&quot;&gt;Как собрать .jar файл через .cmd скрипт&lt;/h2&gt;

&lt;p&gt;1) Нужно написать скрипт который будет автоматически компилировать все исходники (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.java -&amp;gt; .class&lt;/code&gt;), класть рядом с ними картинки, писать рядом манифест (указывающий что Main класс содержит main-функцию), запаковывать все это в .jar файл&lt;/p&gt;

&lt;p&gt;2) Обновить код загрузки картинок - он должен быть теперь не через &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ImageIO.read(new File(&quot;data/box.png&quot;));&lt;/code&gt; а через &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Obstacle.class.getResourceAsStream(&quot;/data/box.png&quot;)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Но чтобы выяснить как это выглядит - можно попросить помочь нейросети, &lt;a href=&quot;https://github.com/PolarNick239/JavaShooter/commit/7cf3488178bbcd1c3738af0e82e4babf95f6cf75&quot;&gt;вот мой промпт, скрипт и изменения в коде&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;что-такое-jar-файл&quot;&gt;Что такое .jar файл&lt;/h2&gt;

&lt;p&gt;.jar файл - это просто .zip архив, поэтому переименуйте его расширение сделав так чтобы название файла заканчивалось на .zip и взгляните что внутри:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2026/01/inside_jar_zip_archive.png&quot; alt=&quot;Пример .jar файла с MANIFEST.MF внутри&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;ci-как-собирать-jar-файл-автоматически&quot;&gt;CI: как собирать .jar файл автоматически&lt;/h2&gt;

&lt;p&gt;Давайте теперь используем Continuous Integration (CI) - GitHub Actions.&lt;/p&gt;

&lt;p&gt;Сделаем так чтобы при каждом Commit+Push сервер github автоматически запускал наш .cmd скрипт и делал доступным по ссылке .jar файл - для этого нужно закоммитить &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.github/workflows/build-jar.yml&lt;/code&gt; файл - см. &lt;a href=&quot;https://github.com/PolarNick239/JavaShooter/commit/4e76c3df3b7a66a1388d53300679669a48d506fb&quot;&gt;мой коммит с промптом и этим .yml файлом&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;как-скачать-собранный-jar-файл&quot;&gt;Как скачать собранный .jar файл&lt;/h2&gt;

&lt;p&gt;Откройте CI нажав на зеленую галочку рядом с коммитом:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2026/01/open_ci_for_commit.png&quot; alt=&quot;Как открыть CI у commit-а&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Теперь скачайте автоматически собранный .jar файл (это удобно например чтобы запустить старую версию - привязанную к старому &lt;strong&gt;commit-у&lt;/strong&gt;):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/2026/01/how_to_download_ci_jar.png&quot; alt=&quot;Как скачать автоматически собранный .jar файл&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 27 Jan 2026 21:02:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/01/27/build-jar-with-continuous-integration.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/01/27/build-jar-with-continuous-integration.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
    
      <item>
        <title>[Проект] Запишите примеры диалогов с LLM, запишите примеры генерации изображений</title>
        <description>&lt;p&gt;Представьте что вы члены жюри, и вам хочется понять - автор проекта просто взял за проект то что сгенерировала LLM/БЯМ и по сути подчинился ее воле, или же сам был автором проекта, сам был &lt;strong&gt;творцом&lt;/strong&gt; которые и исправлял ошибки LLM, и направлял ее, и формулировал ей задачи?&lt;/p&gt;

&lt;p&gt;Что бы стоило добавить в презентацию из этих соображений?&lt;/p&gt;

&lt;p&gt;А как передать слушателям информацию о том как далеко вы зашли за первый месяц без LLM? (закладывая фундамент)&lt;/p&gt;

&lt;h2 id=&quot;сохраните-скриншоты-результата-перед-использованием-llm&quot;&gt;Сохраните скриншоты результата перед использованием LLM&lt;/h2&gt;

&lt;p&gt;Запишите в каком состоянии был проект перед тем как вы начали использовать LLM, может запишите какие классы у вас были, сохраните скриншоты и видео как выглядел проект.&lt;/p&gt;

&lt;p&gt;Это сильно поможет донести до жюри четкое понимание как велась разработка, какие были промежуточные состояния.&lt;/p&gt;

&lt;h2 id=&quot;запишите-хотя-бы-один-два-пример-диалога&quot;&gt;Запишите хотя бы один-два пример диалога&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Пример 1&lt;/strong&gt; (упрощенный и укороченный, лучше записывайте целиком скопировав, потом перед презентацией упростите)&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;автор: попросил добавить в код такую-то фичу
deepseek: изменил код
автор: 1) зачем флаг такой-то, если есть сякой-то
автор: 2) не нужно останавливать все такие-то объекты, если всего лишь один объект ушел за экран
автор: 3) теперь, если то-то и в то же время нажать и удерживать то-то, то звук длинного нажатия не будет воспроизводиться у того-то
deepseek: слушаюсь, о, Мудрый Повелитель! Все исправлено!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Пример 2&lt;/strong&gt; (укороченный, но лучше записывайте прямо все промпты):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;автор: просил дипсик добавить в проект характеристики силы/ловкости/мудрости из Dungeon &amp;amp; Dragons + бросок кубика
deepseek: добавил в код, но все характеристики отобразил выводом в консоль а не в GUI окне с графикой
автор: решил реализовать визуализацию в GUI сам, заодно разобраться что написал deepseek
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Главное сохраните какие-нибудь случаи которыми вы были довольны! Перед презентацией окажется что вы не можете найти, или не помните хороший пример! Недопустите этой трагедии!&lt;/p&gt;

&lt;h2 id=&quot;запишите-хотя-бы-один-два-примера-как-создавали-графику&quot;&gt;Запишите хотя бы один-два примера как создавали графику&lt;/h2&gt;

&lt;p&gt;Сохраните ваши промпты (и входные изображения если есть) чтобы &lt;strong&gt;продемонстрировать и наглядно показать&lt;/strong&gt; как вы создавали графику.&lt;/p&gt;

&lt;p&gt;Например, это может выглядеть как я это делал в статье &lt;a href=&quot;https://polarnick.com/blogs/239/2025/school239_108_2025_2026/2025/12/14/how-to-generate-graphics-with-ai.html&quot;&gt;Как использовать нейросети для графики.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Главное сохраните какие-нибудь случаи которыми вы были довольны! Перед презентацией окажется что вы не можете найти, или не помните хороший пример! Недопустите этой трагедии!&lt;/p&gt;
</description>
        <pubDate>Mon, 19 Jan 2026 21:02:39 +0000</pubDate>
        <link>http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/01/19/fix-best-case-of-talking-with-llm.html</link>
        <guid isPermaLink="true">http://polarnick.com/blogs/239/2025/school239_108_2025_2026/2026/01/19/fix-best-case-of-talking-with-llm.html</guid>
        
        
        <category>blogs</category>
        
        <category>239</category>
        
        <category>2025</category>
        
        <category>school239_108_2025_2026</category>
        
      </item>
    
    
  </channel>
</rss>
