<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Программирование | Academic</title>
    <link>https://example.com/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/</link>
      <atom:link href="https://example.com/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/index.xml" rel="self" type="application/rss+xml" />
    <description>Программирование</description>
    <generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Tue, 09 May 2023 16:25:43 +0300</lastBuildDate>
    <image>
      <url>https://example.com/media/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_3.png</url>
      <title>Программирование</title>
      <link>https://example.com/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/</link>
    </image>
    
    <item>
      <title>С&#43;&#43;</title>
      <link>https://example.com/publication/%D1%81&#43;&#43;/</link>
      <pubDate>Tue, 09 May 2023 16:25:43 +0300</pubDate>
      <guid>https://example.com/publication/%D1%81&#43;&#43;/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Декодируем код в текст</title>
      <link>https://example.com/publication/coding/</link>
      <pubDate>Tue, 09 May 2023 12:22:52 +0300</pubDate>
      <guid>https://example.com/publication/coding/</guid>
      <description>&lt;p&gt;Нажмите на кнопку &amp;ldquo;cite&amp;rdquo;, чтобы увидеть код программы.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Сайт</title>
      <link>https://example.com/project/site/</link>
      <pubDate>Tue, 09 May 2023 00:37:45 +0300</pubDate>
      <guid>https://example.com/project/site/</guid>
      <description>&lt;p&gt;Мы можем создать свой сайт с личным хостом. Для этого необязательно обладать навыками программирования, достаточно знать основы линукса. Мы можем взять шаблон с прикрепленного гитхаба и создать свой репозиторий по этому шаблону. После создания, переносим репозиторий на свой пк и проверяем работу сайта на локальной машине. Если сайт запустился, то мы правильно перенесли все данные. Далее мы создаем второй репозиторий и объединяем с предыдущим. Если мы сделали все правильно, мы сможем зайти в интернете на сайт (ссылка на сайт = имя второго созданного репозитория). Если мы все сделали правильно, мы увидим в интернете наш работающий сайт. Далее достаточно просто заполнять его и переделывать под себя. Когда мы изучим все папки, которые находятся в скопированном репозитории, мы сможем понимать как изменять сайт. Как будет выглядеть сайт зависит только от нашей фантазии. Какие будут пункты, как они будут выглядеть и тд, все это зависит только от фантазии. После внесенных изменений, мы переносим на систему гитхаб все изменения, чтобы поменялся сам сайт.
Я считаю, что это очень крутой проект, потому что мы получаем личный хост и сайт за бесплатно. Ну, а если у кого-либо остаются вопросы, всегда можно посмотреть видео по созданию сайта на моем ютуб канале.
GLHF (good luck, have fun).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Научные языки программирования</title>
      <link>https://example.com/post/math/</link>
      <pubDate>Tue, 25 Apr 2023 20:10:53 +0300</pubDate>
      <guid>https://example.com/post/math/</guid>
      <description>&lt;h1 id=&#34;язык-научного-программирования---scientific-programming-language&#34;&gt;Язык научного программирования - Scientific programming language&lt;/h1&gt;
&lt;p&gt;В компьютерном программировании , научный язык программирования может относиться к двум степеням той же концепции.&lt;/p&gt;
&lt;p&gt;В широком смысле научный язык программирования - это язык программирования, который широко используется в вычислительной науке и вычислительной математике .&lt;/p&gt;
&lt;p&gt;В этом смысле C / C ++ и Python можно рассматривать как языки научного программирования. В более строгом смысле научный язык программирования - это язык, который разработан и оптимизирован для использования математических формул и матриц . Такие языки характеризуются не только наличием библиотек, выполняющих математические или научные функции, но и синтаксисом самого языка. Например, ни C ++, ни Python не имеют встроенных типов матриц или функций для матричной арифметики (сложение, умножение и т. Д.); вместо этого эта функция доступна через стандартные библиотеки. Научные языки программирования в сильном смысле включают ALGOL , APL , Fortran , J , Юлю , Maple , MATLAB и R .&lt;/p&gt;
&lt;p&gt;Языки научного программирования не следует путать с научным языком в целом, который свободно относится к более высоким стандартам точности, правильности и краткости, ожидаемым от практикующих научный метод .&lt;/p&gt;
&lt;h1 id=&#34;примеры&#34;&gt;Примеры&lt;/h1&gt;
&lt;h2 id=&#34;линейная-алгебра&#34;&gt;Линейная алгебра&lt;/h2&gt;
&lt;p&gt;Языки научного программирования предоставляют возможности для работы с линейной алгеброй . Например, следующая программа Julia решает систему линейных уравнений :&lt;/p&gt;
&lt;p&gt;A = rand(20, 20) # A is a 20x20 matrix&lt;/p&gt;
&lt;p&gt;b = rand(20) # b is a 20-element vector&lt;/p&gt;
&lt;p&gt;x = A\b # x is the solution to A*x = b&lt;/p&gt;
&lt;p&gt;Работа с большими векторами и матрицами - ключевая особенность этих языков, поскольку линейная алгебра закладывает основу математической оптимизации , которая, в свою очередь, позволяет использовать основные приложения, такие как глубокое обучение .&lt;/p&gt;
&lt;h2 id=&#34;математическая-оптимизация&#34;&gt;Математическая оптимизация&lt;/h2&gt;
&lt;p&gt;В научном языке программирования мы можем вычислять оптимум функции с синтаксисом, близким к математическому языку. Например, следующий код Джулии находит минимум полинома .&lt;/p&gt;
&lt;p&gt;using Optim&lt;/p&gt;
&lt;p&gt;P(x,y) = x^2 - 3x*y + 5y^2 - 7y + 3&lt;/p&gt;
&lt;p&gt;z₀ = [ 0.0&lt;/p&gt;
&lt;p&gt;0.0 ] # starting point for optimization algorithm o&lt;/p&gt;
&lt;p&gt;ptimize(z -&amp;gt; P(z&amp;hellip;), z₀, Newton();&lt;/p&gt;
&lt;p&gt;autodiff = :forward)&lt;/p&gt;
&lt;p&gt;В этом примере используется метод минимизации Ньютона . Современные языки научного программирования будут использовать автоматическое дифференцирование для вычисления градиентов и гессианов функции, заданной в качестве входных данных; ср. дифференцируемое программирование . Здесь для этой задачи выбрана автоматическая прямая дифференциация. Старые языки научного программирования, такие как почтенный Фортран, потребовали бы от программиста передать рядом с функцией, которая должна быть оптимизирована, функцию, которая вычисляет градиент, и функцию, которая вычисляет гессиан.&lt;/p&gt;
&lt;p&gt;Чем больше знаний о функции, которую необходимо минимизировать, тем больше можно использовать более эффективные алгоритмы. Например, выпуклая оптимизация обеспечивает более быстрые вычисления, когда функция является выпуклой, квадратичное программирование обеспечивает более быстрые вычисления, когда функция не более чем квадратична по своим переменным, и линейное программирование, когда функция максимально линейна.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Управление версиями. Git</title>
      <link>https://example.com/post/git/</link>
      <pubDate>Tue, 14 Mar 2023 22:08:06 +0300</pubDate>
      <guid>https://example.com/post/git/</guid>
      <description>&lt;h1 id=&#34;история&#34;&gt;История&lt;/h1&gt;
&lt;p&gt;Разработка ядра Linux велась на проприетарной системе BitKeeper, которую автор — Ларри Маквой, сам разработчик Linux — предоставил проекту по бесплатной лицензии. Разработчики, высококлассные программисты, написали несколько утилит, и для одной Эндрю Триджелл произвёл реверс-инжиниринг формата передачи данных BitKeeper. В ответ Маквой обвинил разработчиков в нарушении соглашения и отозвал лицензию, и Торвальдс взялся за новую систему: ни одна из открытых систем не позволяла тысячам программистов кооперировать свои усилия (тот же конфликт привёл к написанию Mercurial). Идеология была проста: взять подход CVS и перевернуть с ног на голову, и заодно добавить надёжности.&lt;/p&gt;
&lt;p&gt;Начальная разработка велась меньше, чем неделю: 3 апреля 2005 года разработка началась, и уже 7 апреля код Git управлялся неготовой системой. 16 июня Linux был переведён на Git, а 25 июля Торвальдс отказался от обязанностей ведущего разработчика.&lt;/p&gt;
&lt;h1 id=&#34;возможности&#34;&gt;Возможности&lt;/h1&gt;
&lt;p&gt;Система спроектирована как набор программ, специально разработанных с учётом их использования в сценариях. Это позволяет удобно создавать специализированные системы контроля версий на базе Git или пользовательские интерфейсы. Например, Cogito является именно таким примером оболочки к репозиториям Git, а StGit использует Git для управления коллекцией исправлений (патчей).&lt;/p&gt;
&lt;p&gt;Git поддерживает быстрое разделение и слияние версий, включает инструменты для визуализации и навигации по нелинейной истории разработки. Как и Darcs, BitKeeper, Mercurial, Bazaar и Monotone, Git предоставляет каждому разработчику локальную копию всей истории разработки, изменения копируются из одного репозитория в другой.&lt;/p&gt;
&lt;p&gt;Удалённый доступ к репозиториям Git обеспечивается git-демоном, SSH- или HTTP-сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа. Метод доступа по HTTP, несмотря на ряд ограничений, очень популярен в контролируемых сетях, потому что позволяет использовать существующие конфигурации сетевых фильтров.&lt;/p&gt;
&lt;h1 id=&#34;особенности-реализации&#34;&gt;Особенности реализации&lt;/h1&gt;
&lt;p&gt;Ядро Git представляет собой набор утилит командной строки с параметрами. Все настройки хранятся в текстовых файлах конфигурации. Такая реализация делает Git легко портируемым на любую платформу и даёт возможность легко интегрировать Git в другие системы (в частности, создавать графические git-клиенты с любым желаемым интерфейсом).&lt;/p&gt;
&lt;p&gt;Репозиторий Git представляет собой каталог файловой системы, в котором находятся файлы конфигурации репозитория, файлы журналов, хранящие операции, выполняемые над репозиторием, индекс, описывающий расположение файлов, и хранилище, содержащее собственно файлы. Структура хранилища файлов не отражает реальную структуру хранящегося в репозитории файлового дерева, она ориентирована на повышение скорости выполнения операций с репозиторием. Когда ядро обрабатывает команду изменения (неважно, при локальных изменениях или при получении патча от другого узла), оно создаёт в хранилище новые файлы, соответствующие новым состояниям изменённых файлов. Существенно, что никакие операции не изменяют содержимого уже существующих в хранилище файлов.&lt;/p&gt;
&lt;p&gt;По умолчанию репозиторий хранится в подкаталоге с названием «.git» в корневом каталоге рабочей копии дерева файлов, хранящегося в репозитории. Любое файловое дерево в системе можно превратить в репозиторий git, отдав команду создания репозитория из корневого каталога этого дерева (или указав корневой каталог в параметрах программы). Репозиторий может быть импортирован с другого узла, доступного по сети. При импорте нового репозитория автоматически создаётся рабочая копия, соответствующая последнему зафиксированному состоянию импортируемого репозитория (то есть не копируются изменения в рабочей копии исходного узла, для которых на том узле не была выполнена команда commit).&lt;/p&gt;
&lt;h1 id=&#34;архитектура&#34;&gt;Архитектура&lt;/h1&gt;
&lt;p&gt;Нижний уровень git является так называемой контентно-адресуемой файловой системой. Инструмент командной строки git содержит ряд команд по непосредственной манипуляции этим репозиторием на низком уровне. Эти команды не нужны при нормальной работе с git как с системой контроля версий, но нужны для реализации сложных операций (ремонт повреждённого репозитория и так далее), а также дают возможность создать на базе репозитория git своё приложение.&lt;/p&gt;
&lt;p&gt;Для каждого объекта в репозитории вычисляется SHA-1-хеш, и именно он становится именем файла, содержащего данный объект в каталоге .git/objects. Для оптимизации работы с файловыми системами, не использующими деревья для каталогов, первый байт хеша становится именем подкаталога, а остальные — именем файла в нём, что снижает количество файлов в одном каталоге (ограничивающий фактор производительности на таких устаревших файловых системах).&lt;/p&gt;
&lt;p&gt;Все ссылки на объекты репозитория, включая ссылки на один объект, находящийся внутри другого объекта, являются SHA-1-хешами.&lt;/p&gt;
&lt;p&gt;Кроме того, в репозитории существует каталог refs, который позволяет задать читаемые человеком имена для каких-то объектов Git. В командах Git оба вида ссылок — читаемые человеком из refs, и нижележащие SHA-1 — полностью взаимозаменяемы.&lt;/p&gt;
&lt;p&gt;В классическом обычном сценарии в репозитории git есть три типа объектов — файл, дерево и «коммит» (англ. commit — фиксация). Файл есть какая-то версия какого-то пользовательского файла, дерево — совокупность файлов из разных подкаталогов, «коммит» — дерево и некая дополнительная информация (например, родительские коммиты, а также комментарий).&lt;/p&gt;
&lt;p&gt;В репозитории иногда производится сборка мусора, во время которой устаревшие файлы заменяются на «дельты» между ними и актуальными файлами (то есть, актуальная версия файла хранится неинкрементально, инкременты используются только для возврата к предыдущим версиям), после чего данные «дельты» складываются в один большой файл, к которому строится индекс. Это снижает требования по ёмкости хранения.&lt;/p&gt;
&lt;p&gt;Репозиторий Git бывает локальный и удалённый. Локальный репозиторий — это подкаталог .git, создаётся (в пустом виде) командой git init и (в непустом виде с немедленным копированием содержимого родительского удалённого репозитория и простановкой ссылки на родителя) командой git clone.&lt;/p&gt;
&lt;p&gt;Практически все обычные операции с системой контроля версий, такие, как коммит и слияние, производятся только с локальным репозиторием. Удалённый репозиторий можно только синхронизировать с локальным как «вверх» (push), так и «вниз» (pull).&lt;/p&gt;
&lt;p&gt;Наличие полностью всего репозитория проекта локально у каждого разработчика даёт Git ряд преимуществ перед SVN. Так, например, все операции, кроме push и pull, можно осуществлять без наличия интернет-соединения.&lt;/p&gt;
&lt;p&gt;Очень мощной возможностью git являются ветви, реализованные куда более полно, чем в SVN: по сути, ветвь git есть не более чем именованная ссылка, указывающая на некий коммит в репозитории (используется подкаталог refs). Коммит без создания новой ветви всего лишь передвигает эту ссылку на себя, а коммит с созданием ветви — оставляет старую ссылку на месте, но создаёт новую на новый коммит, и объявляет её текущей. Заменить локальные девелоперские файлы на набор файлов из иной ветви, тем самым перейдя к работе с ней — так же тривиально.&lt;/p&gt;
&lt;p&gt;Также поддерживаются субрепозитории с синхронизацией текущих ветвей в них.&lt;/p&gt;
&lt;p&gt;Команда push передаёт все новые данные (те, которых ещё нет в удалённом репозитории) из локального репозитория в репозиторий удалённый. Для исполнения этой команды необходимо, чтобы удалённый репозиторий не имел новых коммитов в себя от других клиентов, иначе push завершается ошибкой, и придётся делать pull и слияние.&lt;/p&gt;
&lt;p&gt;Команда pull — обратна команде push. В случае, если одна и та же ветвь имеет независимую историю в локальной и в удалённой копии, pull немедленно переходит к слиянию.&lt;/p&gt;
&lt;p&gt;Слияние в пределах разных файлов осуществляется автоматически (всё это поведение настраивается), а в пределах одного файла — стандартным трёхпанельным сравнением файлов. После слияния нужно объявить конфликты как разрешённые.&lt;/p&gt;
&lt;p&gt;Результатом всего этого является новое состояние в локальных файлах у того разработчика, что осуществил слияние. Ему нужно немедленно сделать коммит, при этом в данном объекте коммита в репозитории окажется информация о том, что коммит есть результат слияния двух ветвей и имеет два родительских коммита.&lt;/p&gt;
&lt;p&gt;Кроме слияния, Git поддерживает ещё операцию перемещения (англ. rebase). Эта операция есть получение набора всех изменений в ветви А, с последующим их «накатом» на ветвь B. В результате ветвь B продвигается до состояния AB. В отличие от слияния, в истории ветви AB не останется никаких промежуточных коммитов ветви A (только история ветви B и запись о самом rebase, это упрощает интеграцию крупных и очень крупных проектов).&lt;/p&gt;
&lt;p&gt;Также Git имеет временный локальный индекс файлов. Это — промежуточное хранилище между собственно файлами и очередным коммитом (коммит делается только из этого индекса). С помощью этого индекса осуществляется добавление новых файлов (git add добавляет их в индекс, они попадут в следующий коммит), а также коммит не всех изменённых файлов (коммит делается только тем файлам, которым был сделан git add). После git add можно редактировать файл далее, получатся три копии одного и того же файла — последняя, в индексе (та, что была на момент git add), и в последнем коммите.&lt;/p&gt;
&lt;p&gt;Имя ветви по умолчанию: master. Имя удалённого репозитория по умолчанию, создаваемое git clone во время типичной операции «взять имеющийся проект с сервера себе на машину»: origin.&lt;/p&gt;
&lt;p&gt;Таким образом, в локальном репозитории всегда есть ветвь master, которая есть последний локальный коммит, и ветвь origin/master, которая есть последнее состояние удалённого репозитория на момент завершения исполнения последней команды pull или push.&lt;/p&gt;
&lt;p&gt;Команда fetch (частичный pull) — берёт с удалённого сервера все изменения в origin/master, и переписывает их в локальный репозиторий, продвигая метку origin/master.&lt;/p&gt;
&lt;p&gt;Если после этого master и origin/master разошлись в стороны, то необходимо сделать слияние, установив master на результат слияния (команда pull есть fetch+merge). Далее возможно сделать push, отправив результат слияния на сервер и установив на него origin/master.&lt;/p&gt;
&lt;h1 id=&#34;взаимодействие-с-другими-системами-контроля&#34;&gt;Взаимодействие с другими системами контроля&lt;/h1&gt;
&lt;p&gt;В стандартной поставке Git поддерживается взаимодействие с CVS (импорт и экспорт, эмуляция CVS-сервера) и Subversion (частичная поддержка импорта и экспорта). Стандартный инструмент импорта и экспорта внутри экосистемы — архивы серий версионированных файлов в форматах .tar.gz и .tar.bz2&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Язык разметки Markdown.</title>
      <link>https://example.com/post/markdown/</link>
      <pubDate>Tue, 14 Mar 2023 22:08:06 +0300</pubDate>
      <guid>https://example.com/post/markdown/</guid>
      <description>&lt;h1 id=&#34;история&#34;&gt;История&lt;/h1&gt;
&lt;p&gt;Первоначально создан в 2004 году Джоном Грубером[en] и Аароном Шварцем. Многие идеи языка были позаимствованы из существующих соглашений по разметке текста в электронных письмах. Реализации языка Markdown преобразуют текст в формате Markdown в валидный, правильно построенный XHTML и заменяют левые угловые скобки («&amp;lt;») и амперсанды («&amp;amp;») на соответствующие коды сущностей. Первой реализацией Markdown стала написанная Грубером реализация на Perl, однако спустя некоторое время появилось множество реализаций от сторонних разработчиков (см. ниже). Реализация на Perl распространяется по лицензии типа BSD. Реализации Markdown на различных языках программирования включены (или доступны в качестве плагина) во многие системы управления содержимым.&lt;/p&gt;
&lt;h1 id=&#34;примеры-синтаксиса&#34;&gt;Примеры синтаксиса&lt;/h1&gt;
&lt;p&gt;Ниже приведены примеры использования Markdown, однако это далеко не полное руководство. Полное описание языка может быть найдено на официальном сайте[6]. Символы, которые обычно рассматриваются в Markdown как специальные, могут быть экранированы с помощью обратного слеша. Например, последовательность «*» выведет символ «*», а не будет являться признаком начала выделенного текста. Кроме того, Markdown не преобразует текст внутри «сырых» блоков XHTML. Таким образом, в Markdown-документ можно включать секции XHTML, заключив их предварительно в теги уровня блока.&lt;/p&gt;
&lt;h2 id=&#34;текст-с-выделением-или-логическим-ударением&#34;&gt;Текст с выделением или логическим ударением&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;выделение&lt;/em&gt; (например, курсив)
&lt;strong&gt;сильное выделение&lt;/strong&gt; (например, полужирное начертание)&lt;/p&gt;
&lt;h2 id=&#34;программный-код&#34;&gt;Программный код&lt;/h2&gt;
&lt;p&gt;Элементы кода могут быть внутри строки (inline) либо многострочными блоками.&lt;/p&gt;
&lt;p&gt;Внутри строки код выделяется символом &amp;ldquo;`&amp;rdquo; (обратный апостроф).&lt;/p&gt;
&lt;p&gt;Пример кода внутри строки (inline) &lt;code&gt;Hello world!&lt;/code&gt;
Многострочный блок кода обозначается отступом из 4 пробелов или одного Tab.&lt;/p&gt;
&lt;p&gt;Ниже начинается многострочный блок кода&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;!-- Заголовок документа --&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
        &amp;lt;!-- Тело документа --&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Блок кода завершился&lt;/p&gt;
&lt;h2 id=&#34;зачёркнутый-текст&#34;&gt;Зачёркнутый текст&lt;/h2&gt;
&lt;p&gt;необходимо сделать &lt;del&gt;одну&lt;/del&gt; другую вещь&lt;/p&gt;
&lt;h2 id=&#34;списки&#34;&gt;Списки&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;элемент маркированного списка&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;ещё один элемент ненумерованного списка&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;буллеты элементов могут быть разными&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Элемент нумерованного списка&lt;/li&gt;
&lt;li&gt;Элемент №2 того же списка&lt;/li&gt;
&lt;li&gt;Элемент №3 списка — элементы нумеруются по порядку, цифра в начале строки не имеет значения&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;заголовки&#34;&gt;Заголовки&lt;/h2&gt;
&lt;p&gt;Создание заголовков производится путём помещения знака решетки перед текстом заголовка. Количество знаков «#» соответствует уровню заголовка. HTML предоставляет 6 уровней заголовков.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;# Заголовок первого уровня&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;hellip;
&amp;ldquo;### Заголовок третьего уровня&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;hellip;
&amp;ldquo;###### Заголовок шестого уровня&amp;rdquo;
Первые два уровня заголовка также имеют альтернативный синтаксис:&lt;/p&gt;
&lt;h1 id=&#34;заголовок-первого-уровня&#34;&gt;Заголовок первого уровня&lt;/h1&gt;
&lt;h2 id=&#34;заголовок-второго-уровня&#34;&gt;Заголовок второго уровня&lt;/h2&gt;
&lt;h2 id=&#34;цитаты-тег-blockquote&#34;&gt;Цитаты (тег blockquote)&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Данный текст будет заключен в HTML-теги &lt;blockquote&gt;&lt;/blockquote&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;ссылки&#34;&gt;Ссылки&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;http://example.com/&#34; title=&#34;Необязательный заголовок ссылки&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Текст ссылки&lt;/a&gt;
альтернативный способ задавать ссылки если есть повторения&lt;/p&gt;
&lt;p&gt;Где-то среди текста встречается &lt;a href=&#34;http://example.com/&#34; title=&#34;Необязательный заголовок ссылки&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;текст ссылки&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Также ссылка повторяется &lt;a href=&#34;http://example.com/&#34; title=&#34;Необязательный заголовок ссылки&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;пример адреса&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ссылка на &lt;a href=&#34;http://example.net/&#34; title=&#34;Необязательный заголовок ссылки&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;второй&lt;/a&gt; также &lt;a href=&#34;http://example.edu/&#34; title=&#34;Необязательный заголовок ссылки&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bar&lt;/a&gt; ресурсы.&lt;/p&gt;
&lt;h2 id=&#34;изображения&#34;&gt;Изображения&lt;/h2&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-заголовок-изображения&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img src=&#34;http://example.com/&#34; alt=&#34;Alt-текст&#34; loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Заголовок изображения
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1 id=&#34;реализации-markdown&#34;&gt;Реализации Markdown&lt;/h1&gt;
&lt;p&gt;C#[7][8]&lt;/p&gt;
&lt;p&gt;C[9][10][11][12]&lt;/p&gt;
&lt;p&gt;ColdFusion[13]&lt;/p&gt;
&lt;p&gt;Common Lisp[14]&lt;/p&gt;
&lt;p&gt;Go[15]&lt;/p&gt;
&lt;p&gt;Haskell[16]&lt;/p&gt;
&lt;p&gt;Java[17][18]&lt;/p&gt;
&lt;p&gt;JavaScript[19]&lt;/p&gt;
&lt;p&gt;Kotlin[20][21]&lt;/p&gt;
&lt;p&gt;Lua[22]&lt;/p&gt;
&lt;p&gt;newLISP[23]&lt;/p&gt;
&lt;p&gt;Perl[24]&lt;/p&gt;
&lt;p&gt;PHP[25]&lt;/p&gt;
&lt;p&gt;Python[26][27]&lt;/p&gt;
&lt;p&gt;Ruby[28][29]&lt;/p&gt;
&lt;p&gt;Scala[30]&lt;/p&gt;
&lt;p&gt;Tcl[31]&lt;/p&gt;
&lt;h1 id=&#34;расширения&#34;&gt;Расширения&lt;/h1&gt;
&lt;p&gt;Приведённые ниже приложения реализуют Markdown, расширяя его синтаксис дополнительной функциональностью:&lt;/p&gt;
&lt;p&gt;MultiMarkdown (C)[32]&lt;/p&gt;
&lt;p&gt;Text::MultiMarkdown (Perl) модуль, реализующий расширение MultiMarkdown[33]&lt;/p&gt;
&lt;p&gt;PHP Markdown Extra[34]&lt;/p&gt;
&lt;p&gt;python-markdown2 (Поддерживает некоторые расширения PHP Markdown)[27]&lt;/p&gt;
&lt;p&gt;python-markdown (Имеет систему расширений для добавления нового синтаксиса)[26]&lt;/p&gt;
&lt;p&gt;Markout (Java)[35]&lt;/p&gt;
&lt;p&gt;Pegdown (Java)[18]&lt;/p&gt;
&lt;p&gt;Maruku (Ruby)[29]&lt;/p&gt;
&lt;p&gt;Pandoc (Haskell)[16][36]&lt;/p&gt;
&lt;h1 id=&#34;руководства&#34;&gt;Руководства&lt;/h1&gt;
&lt;p&gt;Markdown: Dingus онлайн-конвертер[37]&lt;/p&gt;
&lt;p&gt;Markdown cheat sheet[38]&lt;/p&gt;
&lt;h1 id=&#34;конвертеры&#34;&gt;Конвертеры&lt;/h1&gt;
&lt;h2 id=&#34;из-html-в-markdown&#34;&gt;из HTML в Markdown&lt;/h2&gt;
&lt;p&gt;html2text.py (написано на Python)[39]&lt;/p&gt;
&lt;p&gt;Markdownify (на PHP)[40]&lt;/p&gt;
&lt;p&gt;Make.text — букмарклет, преобразующий любую веб-страницу в Markdown[41]&lt;/p&gt;
&lt;p&gt;XHTML-to-Markdown XSLT (XSLT-таблица стилей, работает только с XHTML)[42]&lt;/p&gt;
&lt;p&gt;Pandoc — написанная на Haskell библиотека по преобразованию различных форматов, поддерживает несколько диалектов Markdown (markdown — диалект от pandoc, markdown_strict — оригинальный Markdown без расширений, markdown_phpextra — диалект
от PHP, markdown_github — диалект от github) может преобразовывать из и в Markdown, HTML, reStructuredText, LaTeX, и другие.[16]&lt;/p&gt;
&lt;h2 id=&#34;другие-форматы-в-markdown&#34;&gt;Другие форматы в Markdown&lt;/h2&gt;
&lt;p&gt;odt2txt (написанный на Python скрипт для преобразования файлов из формата OpenDocument в Markdown)[43]&lt;/p&gt;
&lt;p&gt;word_markdown_macro (макрос Microsoft Word, преобразующий некоторую часть форматирования Word в Markdown)[44]&lt;/p&gt;
&lt;h1 id=&#34;утилиты&#34;&gt;Утилиты&lt;/h1&gt;
&lt;p&gt;Markdown tool (написанный на Python скрипт для загрузки документов Markdown вместе с изображениями)[45]&lt;/p&gt;
&lt;p&gt;Writage - плагин для Microsoft Word, позволяющий конвертировать DOCX документы в формат Markdown и наоборот.&lt;/p&gt;
&lt;p&gt;Веб-приложения, использующие Markdown&lt;/p&gt;
&lt;h2 id=&#34;вики&#34;&gt;Вики:&lt;/h2&gt;
&lt;p&gt;DokuWiki (с помощью плагина)&lt;/p&gt;
&lt;p&gt;ikiwiki&lt;/p&gt;
&lt;p&gt;Oddmuse&lt;/p&gt;
&lt;p&gt;PmWiki (с помощью плагина)&lt;/p&gt;
&lt;h2 id=&#34;блоги&#34;&gt;Блоги:&lt;/h2&gt;
&lt;p&gt;Tumblr — изначально отключён, но можно использовать, включив в настройках.&lt;/p&gt;
&lt;p&gt;scriptogr.am&lt;/p&gt;
&lt;h2 id=&#34;cms&#34;&gt;CMS:&lt;/h2&gt;
&lt;p&gt;Drupal — content-фильтр Markdown[46]&lt;/p&gt;
&lt;p&gt;Magento — с помощью модуля[47]&lt;/p&gt;
&lt;p&gt;Plone — «родная» поддержка в Plone 3&lt;/p&gt;
&lt;p&gt;TYPO3 — с помощью плагина af_markdown[48]&lt;/p&gt;
&lt;p&gt;RadiantCMS — один из видов разметки, доступный «из коробки»[49]&lt;/p&gt;
&lt;p&gt;HTMLy — по умолчанию используется для хранения контента (вместо баз данных) [50]&lt;/p&gt;
&lt;h2 id=&#34;веб-фреймворки&#34;&gt;Веб-фреймворки:&lt;/h2&gt;
&lt;p&gt;Ruby on Rails — требуется установка BlueCloth, Maruku[51]&lt;/p&gt;
&lt;p&gt;Yii — виджет CMarkdown, входит в стандартную поставку фреймворка&lt;/p&gt;
&lt;p&gt;Webasyst — входит в стандартную поставку PHP-фреймфорка в виде плагина к бесплатному приложению «Блог»&lt;/p&gt;
&lt;p&gt;Symfony — требуется установка бандла KnpMarkdownBundle&lt;/p&gt;
&lt;h2 id=&#34;социальные-приложения&#34;&gt;Социальные приложения:&lt;/h2&gt;
&lt;p&gt;Discord — приложение для публичного общения.&lt;/p&gt;
&lt;p&gt;Steemit — социальная сеть, основанная на блокчейне.&lt;/p&gt;
&lt;p&gt;Telegram — популярный кросс-платформенный мессенджер.&lt;/p&gt;
&lt;p&gt;WhatsApp — популярный кросс-платформенный мессенджер.&lt;/p&gt;
&lt;p&gt;Element.io (бывший Riot.im) — защищённый кросс-платформенный мессенджер, работающий по федеративному протоколу Matrix.&lt;/p&gt;
&lt;h1 id=&#34;поддержка-текстовыми-редакторами&#34;&gt;Поддержка текстовыми редакторами&lt;/h1&gt;
&lt;p&gt;Универсальные редакторы: TextMate, BBEdit (с версии 8.6), Vim (с помощью специального пользовательского режима[52], написанного Беном Вильямсом), Emacs(с помощью специального пользовательского режима[53], написанного Джейсоном Блевинсом), TextWrangler, Smultron, Sublime Text, Geany, Atom, Visual Studio Code.&lt;/p&gt;
&lt;p&gt;Редакторы для блогов: Ecto[54], MarsEdit&lt;/p&gt;
&lt;p&gt;Плагины для редактора среды Eclipse от ThinkTank Mathematics[55]&lt;/p&gt;
&lt;p&gt;Плагины для текстового редактора gedit[56]&lt;/p&gt;
&lt;p&gt;Текстовый редактор iA Writer в версии для Mac OS[57] и Android[58].&lt;/p&gt;
&lt;p&gt;Текстовый редактор Markor для Android[59].&lt;/p&gt;
&lt;p&gt;Текстовый редактор ReText для GNU/Linux[60]&lt;/p&gt;
&lt;p&gt;WYSIWYM-редактор Texts для Windows/Mac OS[61]&lt;/p&gt;
&lt;p&gt;WYSIWYM-редактор Typora для Windows, GNU/Linux и Mac OS [62]&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
