<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Kurov on Шлакоблог</title><link>https://vodolaz095.ru/tags/kurov/</link><description>Recent content in Kurov on Шлакоблог</description><generator>Hugo -- 0.162.1</generator><language>ru-RU</language><lastBuildDate>Sun, 23 Feb 2020 08:47:27 +0300</lastBuildDate><atom:link href="https://vodolaz095.ru/tags/kurov/index.xml" rel="self" type="application/rss+xml"/><item><title>Как надо программировать на языке Golang</title><link>https://vodolaz095.ru/how-to-program-on-go/</link><pubDate>Sun, 23 Feb 2020 08:47:27 +0300</pubDate><author>Анатолий Остроумов</author><guid>https://vodolaz095.ru/how-to-program-on-go/</guid><description>В глубинах исходных кодов одного из проприентарных продуктов, который я пилю по субботам...</description><enclosure url="https://vodolaz095.ru/images/kurov_go.png" length="" type="image/png"/><media:thumbnail url="https://vodolaz095.ru/images/kurov_go.png" width="1398" height="679"/><media:content url="https://vodolaz095.ru/images/kurov_go.png" medium="image" type="image/png" width="1398" height="679"><media:title type="html">/images/kurov_go.png</media:title></media:content><content type="text/html" mode="escaped"><![CDATA[<p><img src="/images/kurov_go.png" alt="исходный код"></p>
<p>В глубинах исходных кодов одного из проприентарных продуктов, который я пилю по субботам, я нашёл упоминение
Советского бога программирования <a href="/kurov/">А.В. Курова</a>,
который воспитал не одно поколение одарённых (не только в общепринятом смысле) программистов.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-go" data-lang="go"><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">func</span> <span style="color:#a6e22e">TestWorkspace_WriteFile</span>(<span style="color:#a6e22e">t</span> <span style="color:#f92672">*</span><span style="color:#a6e22e">testing</span>.<span style="color:#a6e22e">T</span>) {
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">w</span>, <span style="color:#a6e22e">err</span> <span style="color:#f92672">:=</span> <span style="color:#a6e22e">GetWorkSpaceByID</span>(<span style="color:#a6e22e">workspaceIDForTests</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">if</span> <span style="color:#a6e22e">err</span> <span style="color:#f92672">!=</span> <span style="color:#66d9ef">nil</span> {
</span></span><span style="display:flex;"><span>		<span style="color:#a6e22e">t</span>.<span style="color:#a6e22e">Error</span>(<span style="color:#a6e22e">err</span>)
</span></span><span style="display:flex;"><span>	}
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>, <span style="color:#e6db74">&#34;nobody&#34;</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">User</span>, <span style="color:#e6db74">&#34;wrong user&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>, <span style="color:#e6db74">&#34;unknown&#34;</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">Company</span>, <span style="color:#e6db74">&#34;wrong company&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>, <span style="color:#a6e22e">config</span>.<span style="color:#a6e22e">Config</span>.<span style="color:#a6e22e">Hostname</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">Server</span>, <span style="color:#e6db74">&#34;wrong server&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>, <span style="color:#ae81ff">0</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">DiskUsage</span>, <span style="color:#e6db74">&#34;wrong disk usage&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>, <span style="color:#ae81ff">0</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">NumberOfFiles</span>, <span style="color:#e6db74">&#34;wrong number of files&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>, <span style="color:#e6db74">&#34;0 bytes&#34;</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">HumanizeDiskUsage</span>(), <span style="color:#e6db74">&#34;wrong disk usage in human readable form&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">Equal</span>(<span style="color:#a6e22e">t</span>,
</span></span><span style="display:flex;"><span>		<span style="color:#a6e22e">fmt</span>.<span style="color:#a6e22e">Sprintf</span>(<span style="color:#e6db74">&#34;%s%s&#34;</span>, <span style="color:#a6e22e">config</span>.<span style="color:#a6e22e">Config</span>.<span style="color:#a6e22e">Path</span>.<span style="color:#a6e22e">Workspace</span>, <span style="color:#a6e22e">workspaceIDForTests</span>),
</span></span><span style="display:flex;"><span>		<span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">GetDirectoryPath</span>(),
</span></span><span style="display:flex;"><span>		<span style="color:#e6db74">&#34;wrong directory path&#34;</span>,
</span></span><span style="display:flex;"><span>	)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">FileExists</span>(<span style="color:#a6e22e">t</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">GetMetadataPath</span>(), <span style="color:#e6db74">&#34;metadata file not exists&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">True</span>(<span style="color:#a6e22e">t</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">DoBelongsToUser</span>(<span style="color:#e6db74">&#34;nobody&#34;</span>, <span style="color:#e6db74">&#34;unknown&#34;</span>), <span style="color:#e6db74">&#34;not belongs to user&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">False</span>(<span style="color:#a6e22e">t</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">DoBelongsToUser</span>(<span style="color:#e6db74">&#34;somebody&#34;</span>, <span style="color:#e6db74">&#34;unknown&#34;</span>), <span style="color:#e6db74">&#34;belongs to wrong user&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">False</span>(<span style="color:#a6e22e">t</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">DoBelongsToUser</span>(<span style="color:#e6db74">&#34;nobody&#34;</span>, <span style="color:#e6db74">&#34;Microsoft&#34;</span>), <span style="color:#e6db74">&#34;belongs to wrong user&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">assert</span>.<span style="color:#a6e22e">False</span>(<span style="color:#a6e22e">t</span>, <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">DoBelongsToUser</span>(<span style="color:#e6db74">&#34;somebody&#34;</span>, <span style="color:#e6db74">&#34;Microsoft&#34;</span>), <span style="color:#e6db74">&#34;belongs to wrong user&#34;</span>)
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">err</span> = <span style="color:#a6e22e">w</span>.<span style="color:#a6e22e">WriteFile</span>(<span style="color:#e6db74">&#34;test.txt&#34;</span>, []byte(<span style="color:#e6db74">&#34;this is test.txt file with some data in it. Как говорил мой преподаватель программирования Андрей Владимирович Куров, писать код надо так, чтобы моча ухом шла!&#34;</span>))
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">if</span> <span style="color:#a6e22e">err</span> <span style="color:#f92672">!=</span> <span style="color:#66d9ef">nil</span> {
</span></span><span style="display:flex;"><span>		<span style="color:#a6e22e">t</span>.<span style="color:#a6e22e">Error</span>(<span style="color:#a6e22e">err</span>)
</span></span><span style="display:flex;"><span>	}
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>В тестовый файл пишется эта строка</p>
<pre tabindex="0"><code>
this is test.txt file with some data in it. 
Как говорил мой преподаватель программирования Андрей Владимирович Куров, 
писать код надо так, чтобы моча ухом шла!
</code></pre><p>В общем:</p>
<pre tabindex="0"><code>НЕПЫА́ЙТЕ АДУ́ЙТЕ!
</code></pre><p>(в переводе на Русский язык - &ldquo;не проверяйте, а думайте&rdquo;).</p>
<p>PS: По <code>git blame</code> этот код написал какой-то итальянец по имени Ricardo.</p>
]]></content></item><item><title>Куров</title><link>https://vodolaz095.ru/kurov/</link><pubDate>Sat, 08 Jun 2019 02:06:27 +0300</pubDate><author>Анатолий Остроумов</author><guid>https://vodolaz095.ru/kurov/</guid><description>ПРО́СТО Я АМГЫ́Л Просто я Вам говорил. Крайне неоднозначное выражение. По неопытности можно принять за оправдание.</description><enclosure url="https://vodolaz095.ru/images/kurov.jpg" length="" type="image/jpeg"/><media:thumbnail url="https://vodolaz095.ru/images/kurov.jpg" width="245" height="309"/><media:content url="https://vodolaz095.ru/images/kurov.jpg" medium="image" type="image/jpeg" width="245" height="309"><media:title type="html">/images/kurov.jpg</media:title></media:content><content type="text/html" mode="escaped"><![CDATA[<p><img src="/images/kurov.jpg" alt="Андрей Владимирович Куров - фото из энтих ваших инторнетов."></p>
<p>Андрей Владимирович Куров - преподаватель из МГТУ имени Баумана с очень необычной манерой говорить.
Далее - попытка сделать перевод того, что он говорит.
Информация собрана из открытых источников.</p>
<ul>
<li><code>ЯГУ́/ Я ЖГУ</code>
Я говорю / Я же говорю. Обычно используется в начале или конце предложения, иногда не несёт смысловой нагрузки.</li>
<li><code>Я ГЫЛ</code> Я говорил. Обычно используется в середине предложения, иногда не несёт смысловой нагрузки.</li>
<li><code>ЮРИВТИ́ФЫЧЬ, ЮРДИ́ЧЬ, ЕВТИИ́ЧЬ, ЕБВЗДИ́ЧЬ, БВЗБВЗДИ́ЧЬ,  *****ДИ́ЧЬ.</code>
Преподаватель кафедры ИУ-7 Алексеев Юрий Евтихович. Варианты приведены в порядке возрастания
эмоциональности и уменьшения умственной активности. Последний вариант не поддаётся расшифровке.</li>
<li><code>КЛЫАТУ́РА</code> Клавиатура. Устройство ручного ввода информации в персональный компьютер.</li>
<li><code>КАА́́</code> Когда. Употребляется в начале предложения, иногда не несёт смысловой нагрузки.</li>
<li><code>ДА</code> Когда. Употребляется в конце предложения, иногда не несёт смысловой нагрузки. Бывает частью составных выражений вроде НУДА́, означающего &ldquo;ну когда&rdquo;.</li>
<li><code>В ОБЩА́ГЕ</code> Вообще говоря. Далее обычно следует очередь гласных звуков, количество которых свидетельствует об уровне умственного развития говорящего</li>
<li><code>ПАССА́ЛЬ</code> Pascal. Компилируемый язык программирования, изобретённый Никлаусом Виртом в 1970-м году. Используется в IDE Delphi. Изучается по программе первого курса кафедры ИУ-4 МГТУ имени Н.Э. Баумана.</li>
<li><code>ЙЕНТ</code> End. Оператор конца блока в языке Pascal.</li>
<li><code>ВЫ́НЮ!</code> Выгоню! Восклицание, применяемое в состоянии эмоционального возбуждения. Часто применяется не к месту.</li>
<li><code>CЪЕ́МА</code> Схема. Довольно умное слово.</li>
<li><code>АЛАРИ́ТУМ</code> Алгоритм. Последовательность действий, направленная на получение необходимого результата.</li>
<li><code>ПРОАГАИ́РОАНИЕ</code> Программирование. Процесс создания исходного кода программ, компилируемого в итоговое приложение.</li>
<li><code>ПШВО!</code> Пошёл вон! Обычно следует через несколько минут после слова, указанного в пункте №10.</li>
<li><code>ЩО</code> Ещё. Чаще всего встречается в словосочетании ШОЩО, обозначающем &ldquo;что ещё&rdquo;.</li>
<li><code>АА́ЧЕМ?</code> А зачем? Обычно используется в процессе завала студентов на лабораторных работах или экзаменах.</li>
<li><code>ИЗТОШО́</code> Из того, что. Крайне интеллектуальное выражение.</li>
<li><code>И́ЦА.</code>, <code>КАКЫ́ЦА.</code>,<code>НЕГЫ́ЦА.</code> Говорится, как говорится, не говорится. Вставляется в предложение тогда, когда мозг говорящего не может догнать до смысла говорённого.</li>
<li><code>АЧЁ́ЭТО ТАО́Е?</code> А что это такое? Обычно используется в процессе завала студентов на лабораторных работах или экзаменах.</li>
<li><code>ВЫ́ССИ ЗАО́БКУ!</code> Вынеси за скобку! Применяется тогда, когда преподаватель не хочет принимать лабораторную работу студента в настоящий момент.</li>
<li><code>НЕПЫА́ЙТЕ АДУ́ЙТЕ!</code> Не проверяйте, а думайте! Применяется в случае длительного поиска ошибок в лабораторной работы студентом.</li>
<li><code>АДЕ́ ТЫЭ́ТО ПОЧИТА́Л?</code> А где ты это прочитал? Обычно используется в процессе завала студентов на лабораторных работах или экзаменах.</li>
<li><code>ДУБА́ЙЕР.</code> Дебаггер. Средство отладки программ в IDE.</li>
<li><code>РИИТАТИ́Л.</code> Repeat until. Оператор цикла с постусловием в языке Pascal.</li>
<li><code>ПАГАА́МА</code>,<code>ПАПАГАА́МА</code> - Программа, подпрограмма.</li>
<li><code>СОСАМА́ИЦЫ</code>. Свойства матрицы. Употребляется чаще всего там, где матрицы нету вовсе.</li>
<li><code>АОМЕ́РНЫЙ</code>,<code>ДУМЕ́РНЫЙ</code>. Одномерный, Двумерный. Обычно используется применительно к массивам.</li>
<li><code>ГАДЕО́Б</code>. Гардероб. С наибольшей частотой произносится в первые 15 минут пары.</li>
<li><code>ССАСА́Л</code>. Сказал. Одно из немногих слов, всегда употребляемых там, где надо.</li>
<li><code>СУКИВШКА́Ф!</code> Сумки убрать в шкаф. Обычно находится в одном потоке слов вместе со словом <code>ГАДЕО́Б</code>.</li>
<li><code>НАЧТ</code>. Значит. Чаще всего обозначает начало очередного потока слов.</li>
<li><code>РАССО́ИМСЯ</code>. Расходимся. Последняя фраза на паре.</li>
<li><code>ФУРЫ́ЧЬ</code>. For each. Процедура языка Pascal для работы с множествами.</li>
<li><code>КАДВА́ТАЯ</code>. Квадратная. Чаще всего используется применительно к матрице.</li>
<li><code>БЫКА́ТАЯ</code>. <code>B[k]</code>. Обычно - про элемент множества.</li>
<li><code>ЛОХМА́ТАЯ МА́ИЦА</code>. Лохматая матрица. Матрица, у которой при выводе на экран в виде таблицы получается неровный правый край.</li>
<li><code>ДИНОЗА́УР ПОАГАИ́РОАНИЯ</code>. Динозавр программирования. Программист с опытом работы более 30 лет.</li>
<li><code>СТАРИЧКИ́</code>. Преподавательский состав МГТУ им. Н. Э. Баумана.</li>
<li><code>БОРМО́ЧУТ</code>. Преподают. Обычно используется применительно к СТАРИЧКАМ.</li>
<li><code>ДВО́ИШНИК</code>. Студент кафедры ИУ-4. Надо воспринимать не как характеристику, а как ссылку.</li>
<li><code>КАСТА́ТА</code>. Константа.</li>
<li><code>ПЬЕЭ́ННАЯ</code>. Переменная.</li>
<li><code>ВАРЕ́БЕЛ</code>. Variable.</li>
<li><code>МУ́ЙЕСТВО</code>. Множество. Тип данных, включающий в себя несколько однотипных элементов</li>
<li><code>НУА́ЙТЕ!</code> Ну давайте! Проявление снисходительности и/или доброй воли и/или побуждение к действию.</li>
<li><code>МЕТАБОЩА́</code>. Метод борща. Вольное переименование пузырькового метода сортировки.</li>
<li><code>КАКА́Т</code>. Concat. Функция языка Pascal для строковых переменных.</li>
<li><code>САКА́</code>,<code>ПАСАКА.</code> Строка, подстрока. Тип данных в языке Pascal.</li>
<li><code>РИСА́ЛЬТ</code> Result. Псевдопеременная для записи результата работы функции в языке Pascal.</li>
<li><code>КА́ЧАСТЕ</code> В качестве. Очень высокоинтеллектуальное выражение.</li>
<li><code>ПРО́СТО Я АМГЫ́Л</code> Просто я Вам говорил. Крайне неоднозначное выражение. По неопытности можно принять за оправдание.</li>
</ul>
]]></content></item></channel></rss>