<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <meta name="description" content="Блог Боши">
    <meta name="author" content=" bosha " />
    <meta name="copyright" content=" bosha " />

    <link rel="icon" href="https://the-bosha.ru/favicon.ico">

        <link href="https://the-bosha.ru/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Блог Боши Full Atom Feed" />
        <link href="https://the-bosha.ru/feeds/all.xml" type="application/rss+xml" rel="alternate" title="Блог Боши Full RSS Feed" />

        <meta name="google-site-verification" content="bAuMZ1ZmjfubofI-nuhinKULRPYjN_IYq3cqnVOx7lQ">
        <meta name="yandex-verification" content="56040ae25ec17c30">

    <title>Блог Боши</title>


            <!-- Open Graph tags -->
            <meta property="og:site_name" content="Блог Боши" />
            <meta property="og:type" content="website"/>
            <meta property="og:title" content="Блог Боши"/>
            <meta property="og:url" content="https://the-bosha.ru"/>
            <meta property="og:description" content="Блог Боши"/>
                <meta property="og:image"
                      content="https://the-bosha.ru/theme/images/logo-256.png"/>

    <!-- Bootstrap core CSS -->

    <!-- Font awesome -->


    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

    <!-- Fancybox -->

    <!-- pygments theme -->

    <!-- Custom styles for this template -->

        <link rel="stylesheet" href="https://the-bosha.ru/theme/css/packed.css?263e2591">


</head>

<body>

<div class="go-to-top hidden">
    <div class="go-to-top-text">
        <span class="fa fa-chevron-up"></span> Наверх
    </div>
</div>
<!-- Fixed navbar -->
<nav class="navbar navbar-default">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="https://the-bosha.ru"><div class="logo"></div></a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul id="top-navigation" class="nav navbar-nav">
                    <li><a href="https://the-bosha.ru">Главная</a></li>
                    <li><a href="https://the-bosha.ru/archives/">Архив</a></li>
                    <li><a href="https://the-bosha.ru/categories/">Категории</a></li>
                    <li><a href="https://the-bosha.ru/tags/">Теги</a></li>
                    <li><a href="https://the-bosha.ru/contacts/">Контакты</a></li>
                    <li><a href="https://the-bosha.ru/about/">Об авторе</a></li>

            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li>
                    <a data-toggle="tooltip" data-placement="bottom" title="Подписаться на RSS" href="https://feeds.feedburner.com/bosha" target="_blank">
                        <i class="fa fa-rss"></i>
                        <span class="subscribe-text">&nbsp;RSS</span>
                    </a>
                </li>
                <li>
                    <a data-toggle="tooltip" data-placement="bottom" title="Читать в Facebook" href="https://facebook.com/theboshablog/" target="_blank">
                        <i class="fa fa-facebook"></i>
                        <span class="subscribe-text">&nbsp;Facebook</span>
                    </a>
                </li>
                <li>
                    <a data-toggle="tooltip" data-placement="bottom" title="Читать в Twitter" href="https://twitter.com/lin4all/" target="_blank">
                        <i class="fa fa-twitter"></i>
                        <span class="subscribe-text">&nbsp;Twitter</span>
                    </a>
                </li>
                <li>
                    <a data-toggle="tooltip" data-placement="bottom" title="Читать в Google+" href="https://plus.google.com/103358600136902717014" target="_blank">
                        <i class="fa fa-google-plus"></i>
                        <span class="subscribe-text">&nbsp;Google+</span>
                    </a>
                </li>
                <!-- <li>
                    <a data-toggle="tooltip" data-placement="bottom" title="Читать в ВКонтакте" href="#" target="_blank">
                        <i class="fa fa-vk"></i>
                        <span class="subscribe-text">&nbsp;Vk.com</span>
                    </a>
                </li> -->
                <li>
                    <a id="subscribe-mail-link" data-toggle="tooltip" data-placement="bottom" title="Получать новые записи на почту" href="/subscribe-by-email/">
                        <i class="fa fa-envelope"></i>
                        <span class="subscribe-text">&nbsp;Подписка по E-Mail</span>
                    </a>
                </li>
                <li>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </li>
                <li>
                    <a id="search-button" data-toggle="tooltip" data-placement="bottom" title="Поиск по сайту" href="#">
                        <i class="fa fa-search"></i>
                        <span class="subscribe-text">&nbsp;Поиск</span>
                    </a>
                </li>
            </ul>
        </div>
    </div>
</nav>

<div id="subscribe-modal" class="modal fade" tabindex="-1" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-subscribe-block">
                <div class="modal-subscribe-heading">
                    Получайте новые статьи на E-Mail!
                </div>
                <div class="modal-subscribe-body">
                    <ul>
                        <li>Никогда в рассылках не будет никакой рекламы</li>
                        <li>В любой момент можете отписаться от рассылки</li>
                        <li>Я не буду никак и никогда использовать ваш E-Mail</li>
                    </ul>
                </div>
            </div>
            <div class="modal-subscribe-footer">
                <form action="http://feedburner.google.com/fb/a/mailverify" method="post" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=bosha', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow">
                    <div class="form-group">
                        <input name="email" type="email" class="form-control" placeholder="your@email.com">
                        <input name="uri" type="hidden" value="bosha" />
                        <br/>
                        <button class="btn btn-primary" type="submit">Подписаться</button> &nbsp;
                        <button type="button" class="btn btn-link" data-dismiss="modal">Отмена</button>
                    </div>
                </form>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

<!-- Search Modal -->
<div id="modal-search" class="modal fade" role="dialog" tabindex="-1">
    <div class="modal-dialog modal-lg">
        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Поиск по сайту "Блог Боши"</h4>
            </div>
            <div id="google-search-body" class="modal-body">
                <!-- Add the modal body here -->
                <script>
                    (function() {
                        var cx = '015890435827326622109:ccwt-i1cl50';
                        var gcse = document.createElement('script');
                        gcse.type = 'text/javascript';
                        gcse.async = true;
                        gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
                        var s = document.getElementsByTagName('script')[0];
                        s.parentNode.insertBefore(gcse, s);
                    })();
                </script>
                <gcse:search></gcse:search>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" data-dismiss="modal">Закрыть</button>
            </div>
        </div>

    </div>
</div>

<!-- Begin page content -->
<div class="container">

        <div id="content" class="content">
            <div id="side-left" class="col-xs-12 col-sm-8">

        <p>
            <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
            <!-- New | Index - Top -->
            <ins class="adsbygoogle"
                 style="display:block"
                 data-ad-client="ca-pub-5846468049115039"
                 data-ad-slot="7007255708"
                 data-ad-format="auto"></ins>
            <script>
                (adsbygoogle = window.adsbygoogle || []).push({});
            </script>
        </p>


        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2017/01/09/ispolzuem-xfce4-terminal-kak-vypadaiushchuiu-konsol-quake-like/" rel="bookmark" title="Постоянная ссылка на Используем Xfce4 Terminal как выпадающую консоль (quake-like)">Используем Xfce4 Terminal как выпадающую консоль (quake-like)</a>
                </h1>
            </header>
            <section>
                <p>За всё время использования linux, я почти с самого начала <em>"подсел"</em> на так называемые quake-like выпадающие терминалы, и уже просто не могу представить свою повседневную работу за компьютером без выпадающего терминала. Когда пару лет назад я <em>пересел</em> на Xfce4, был приятно удивлён когда обнаружил, что стандартный xfce4-terminal может работать как выпадающий.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2017/01/09/ispolzuem-xfce4-terminal-kak-vypadaiushchuiu-konsol-quake-like/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2017-01-09T16:30:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 09 January 2017</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2017/01/09/ispolzuem-xfce4-terminal-kak-vypadaiushchuiu-konsol-quake-like/#disqus_thread" data-disqus-identifier="ispolzuem-xfce4-terminal-kak-vypadaiushchuiu-konsol-quake-like">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2017/01/04/zapusk-flask-prilozheniia-c-uwsgi-virtualenv-i-nginx/" rel="bookmark" title="Постоянная ссылка на Запуск Flask приложения c uWSGI, virtualenv и nginx">Запуск Flask приложения c uWSGI, virtualenv и nginx</a>
                </h1>
            </header>
            <section>
                <p>В мире python существует довольно много различных приложений <em>"супервизоров"</em> предназначенных для запуска веб-приложений: uWSGI,  gunicorn, gevent, twisted web и т.д. Однако, пожалуй, наиболее производительным и гибким супервизором является uWSGI. В этом посте я расскажу как запустить ваше Flask приложение под <a href="https://uwsgi-docs.readthedocs.io/en/latest/" rel="nofollow">uWSGI</a>. Конечно же, настроим nginx для проксирования запросов и отдачи статического контента.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2017/01/04/zapusk-flask-prilozheniia-c-uwsgi-virtualenv-i-nginx/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2017-01-04T16:00:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Wed 04 January 2017</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2017/01/04/zapusk-flask-prilozheniia-c-uwsgi-virtualenv-i-nginx/#disqus_thread" data-disqus-identifier="zapusk-flask-prilozheniia-c-uwsgi-virtualenv-i-nginx">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/07/04/xfdashboard-dashbord-v-dukhe-gnome-shell-dlia-xfce/" rel="bookmark" title="Постоянная ссылка на Xfdashboard - дашборд в духе gnome shell для xfce">Xfdashboard - дашборд в духе gnome shell для xfce</a>
                </h1>
            </header>
            <section>
                <p><a href="http://xfdashboard.froevel.de/" rel="nofollow"><strong>Xfdashboard</strong></a> - это небольшая программа которая добавляет в Xfce дашборд очень похожий на тот, который в gnome-shell.
При запуске программы слева будет док панель с приложениями, справа миниатюры рабочих столов, сверху строка поиска и основную часть экрана будут занимать миниатюры запущенных на данном рабочем столе приложений.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/07/04/xfdashboard-dashbord-v-dukhe-gnome-shell-dlia-xfce/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-07-04T08:45:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 04 July 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/07/04/xfdashboard-dashbord-v-dukhe-gnome-shell-dlia-xfce/#disqus_thread" data-disqus-identifier="xfdashboard-dashbord-v-dukhe-gnome-shell-dlia-xfce">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/07/01/udaliaem-sluchaino-zakomichennye-privatnye-dannye-iz-git-repozitoriia/" rel="bookmark" title="Постоянная ссылка на Удаляем случайно закомиченные приватные данные из git репозитория">Удаляем случайно закомиченные приватные данные из git репозитория</a>
                </h1>
            </header>
            <section>
                <p>Однажды, работая с git репозиторием вы можете случайно отправить (закомитить) в репозиторий свои личные логины, пароли или SSH ключи.
Конечно, с помощью <code>git rm</code> можно удалить файл, но файл так же будет присутствовать в истории.
К счастью есть утилиты которые позволяют удалить файл из git репозитория полностью.
В это статье описано как использовать <a href="https://rtyley.github.io/bfg-repo-cleaner/" rel="nofollow">BFG Repo-Cleaner</a> и <a href="https://git-scm.com/docs/git-filter-branch" rel="nofollow">git-filter-branch</a> для полного удаления файла из git репозитория.</p>
<p><strong><em>Важно: после того, как файл с приватными данными попал в репозиторий, все данные в нем можно считать скомпроментированными, и необходимо незамедлительно предпринять меры (поменять пароли, и т.д.). Нет возможности проследить успел ли кто либо посмотреть или скачать эти файлы.</em></strong></p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/07/01/udaliaem-sluchaino-zakomichennye-privatnye-dannye-iz-git-repozitoriia/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-07-01T10:16:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Fri 01 July 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/07/01/udaliaem-sluchaino-zakomichennye-privatnye-dannye-iz-git-repozitoriia/#disqus_thread" data-disqus-identifier="udaliaem-sluchaino-zakomichennye-privatnye-dannye-iz-git-repozitoriia">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/06/29/django-delaem-damp-bazy-dannykh-i-vosstanavlivaem-iz-nego-s-dumpdata-i-loaddata/" rel="bookmark" title="Постоянная ссылка на Django - делаем дамп базы данных и восстанавливаем из него с dumpdata и loaddata">Django - делаем дамп базы данных и восстанавливаем из него с dumpdata и loaddata</a>
                </h1>
            </header>
            <section>
                <p>Сколько лет пишу на django, и только недавно внезапно обнаружил, что у неё оказывается есть встроенные стредства для дампа и последующего восстановления схемы базы данных.
Это бывает довольно полезно, когда надо по быстрому кому-то передать дамп с тестовыми данными чтобы воспроизвести проблему, или просто передать фикстуры.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/06/29/django-delaem-damp-bazy-dannykh-i-vosstanavlivaem-iz-nego-s-dumpdata-i-loaddata/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-06-29T10:16:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Wed 29 June 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/06/29/django-delaem-damp-bazy-dannykh-i-vosstanavlivaem-iz-nego-s-dumpdata-i-loaddata/#disqus_thread" data-disqus-identifier="django-delaem-damp-bazy-dannykh-i-vosstanavlivaem-iz-nego-s-dumpdata-i-loaddata">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/06/27/staticheskie-saity-i-forma-obratnoi-sviazi/" rel="bookmark" title="Постоянная ссылка на Статические сайты и форма обратной связи">Статические сайты и форма обратной связи</a>
                </h1>
            </header>
            <section>
                <p>Я люблю статические блогие и веб-сайты. Они простые и быстрые, но это все таки простые статические страницы.
Если с комментариями все довольно просто, и можно использовать disqus, то с формой обратной связи все несколько сложнее.
К счастью и в этом случае можно обойтись без полноценного сервера.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/06/27/staticheskie-saity-i-forma-obratnoi-sviazi/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-06-27T10:16:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 27 June 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/06/27/staticheskie-saity-i-forma-obratnoi-sviazi/#disqus_thread" data-disqus-identifier="staticheskie-saity-i-forma-obratnoi-sviazi">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/06/13/dopolnenie-speeddial2-v-vivaldi/" rel="bookmark" title="Постоянная ссылка на Дополнение Speeddial2 в Vivaldi">Дополнение Speeddial2 в Vivaldi</a>
                </h1>
            </header>
            <section>
                <p>Когда-то давно, ещё до появления <a href="https://the-bosha.ru/2016/05/11/obzor-luchshikh-vozmozhnostei-vivaldi-novogo-brauzera-dlia-prodvinutykh-polzovatelei/" rel="nofollow">браузера Vivaldi</a>, я несколько раз пробовал перейти с Firefox на Chrome.
Eдинственное что мне нравилось в Chrome, и чего не было в Firefox - это дополнение <a href="https://chrome.google.com/webstore/detail/speed-dial-2/jpfpebmajhhopeonhlcgidhclcccjcik" rel="nofollow">Speeddial2</a>.
Недавно Vivaldi обновился до версии 1.2, и в нем появилась возможность задать стороннюю страницу для новой вкладки, и, соответственно использовать Speeddial2.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/06/13/dopolnenie-speeddial2-v-vivaldi/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-06-13T10:30:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 13 June 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/06/13/dopolnenie-speeddial2-v-vivaldi/#disqus_thread" data-disqus-identifier="dopolnenie-speeddial2-v-vivaldi">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/06/03/python-flask-freimvork-pravilnaia-struktura-prilozheniia/" rel="bookmark" title="Постоянная ссылка на Python flask фреймворк - правильная структура приложения">Python flask фреймворк - правильная структура приложения</a>
                </h1>
            </header>
            <section>
                <p>Многие фреймворки диктуют свою структуру приложения при разработке. С одной стороны это хорошо: в больших проектах человеку знакомому с фреймворком будет легче и проще вникнуть в проект. С другой стороны - это накладывает определенные ограничения, и иногда вынуждает использовать методы и паттерны без которых вполне можно было обойтись. Во всех таких фреймворках есть определенные инструменты позволяющие разделять приложение на модули. Во flask так же есть подобный инструмент, и называются он <strong>blueprints</strong>.</p>
<p>Вопреки частому заблуждению, flask прекрасно подходит для больших проектов. В нескольких таких крупных проектах мне даже довелось учавствовать. Поэтому, если вас убеждают, что flask никто не использует <em>не верьте им</em>. Ещё как используют. Flask прекрасный, небольшой фреймворк подходящий для очень широкого круга задач.</p>
<p>В этой статье я расскажу про наиболее популярную, гибкую и правильную на мой взгляд структуру flask приложения.
Используя подобную структуру при разработке, вы сможете построить гибкое и удобное приложение модули которого можно будет с легкостью переиспользовать в других проектах.
Определенно стоит уточнить, что серебряной пули нет, и далеко не всем может подойти такая структура, но если вы не очень хорошо знакомы с flask, то вам определенно стоит как минимум взять её за основу.</p>
<p>Для тех, кто не знаком с Flask - это небольшой фреймворк написанный на языке python c весьма большим сообществом, и множеством модулей на все случаи жизни. В отличии от, скажем, Django, Flask не навязывает определенное решение той или иной задачи. Вместо этого, он предлагает использовать различные сторонние или собственные решения по вашему усмотрению. Я ни в коем случае не хочу сказать, что Django плохой фреймворк. Просто в некоторых случаях Django вынуждает писать много лишнего кода попутно залезая все глубже и глубже во внутренности самого фреймворка. Так что flask - это лишь ещё один инструмент, подходящий под определенные задачи.</p>
<p><strong>Disclaimer:</strong> в этой статье нет ничего принципиально нового и неизвестного. Все это общеизвестные практики, только собранные в одном месте. Эта статья ориентирована в основном на тех, кто не знаком с flask и новичков.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/06/03/python-flask-freimvork-pravilnaia-struktura-prilozheniia/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-06-03T09:16:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Fri 03 June 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/06/03/python-flask-freimvork-pravilnaia-struktura-prilozheniia/#disqus_thread" data-disqus-identifier="python-flask-freimvork-pravilnaia-struktura-prilozheniia">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/06/01/backup-restore-postgresql-bazy-dannykh-s-pg_dump/" rel="bookmark" title="Постоянная ссылка на Backup restore postgresql базы данных с pg_dump">Backup restore postgresql базы данных с pg_dump</a>
                </h1>
            </header>
            <section>
                <p><strong>pg_dump</strong> - это утилита позволяющая делать бэкап базы данных из postgresql. Она сохраняет в файл набор SQL команд которые полностью воссоздают структуру исходной базы данных. Для последующего восстановления из подобного файла достаточно <code>psql</code> которая почти всегда идет в комплекте с самим postgresql.</p>
<p>С помощью <strong>pg_dump</strong>, вы можете сделать бэкап базы данных в текущий момент времени, и в дальнейшнейм развернуть его без каких либо проблем. Для тех, кто раньше работал с mysql, pg_dump может показаться весьма знакомым. С mysql в поставке идет аналогичная утилита под названием <code>mysqldump</code>.</p>
<p>В этой небольшой статье мы рассмотрим несколько полезных примеров использования pg_dump.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/06/01/backup-restore-postgresql-bazy-dannykh-s-pg_dump/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-06-01T09:06:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Wed 01 June 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/06/01/backup-restore-postgresql-bazy-dannykh-s-pg_dump/#disqus_thread" data-disqus-identifier="backup-restore-postgresql-bazy-dannykh-s-pg_dump">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/05/30/tmux-avtozapusk-pri-podkliuchenii-po-ssh/" rel="bookmark" title="Постоянная ссылка на Tmux автозапуск при подключении по ssh">Tmux автозапуск при подключении по ssh</a>
                </h1>
            </header>
            <section>
                <p>У меня часто бывает, что я подключусь к серверу по ssh и запускаю какую либо задачу (копирование, проверки) которая может затянуться. Потом внезапно либо ssh отвалится ибо подключился с ноутбука или, что чаще всего случается - перевожу комп в спячку напрочь забыв про то, что там где-то что-то на сервере выполняется. Выполняемая на сервере задача при этом само собой прерывается. Все это от того, что я забываю запустить tmux при подключении. Чтобы этого не происходило, я настроил автозапуск tmux при подключении по SSH.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/05/30/tmux-avtozapusk-pri-podkliuchenii-po-ssh/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-05-30T09:00:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 30 May 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/05/30/tmux-avtozapusk-pri-podkliuchenii-po-ssh/#disqus_thread" data-disqus-identifier="tmux-avtozapusk-pri-podkliuchenii-po-ssh">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/05/25/vremenno-otkliuchaem-vsplyvaiushchie-uvedomleniia-ubuntu-s-indikatorom-nonotifications/" rel="bookmark" title="Постоянная ссылка на Временно отключаем всплывающие уведомления Ubuntu с индикатором NoNotifications">Временно отключаем всплывающие уведомления Ubuntu с индикатором NoNotifications</a>
                </h1>
            </header>
            <section>
                <p>У меня часто бывает, что во время презентаций или демонстрации экрана у меня внезапно всплывает уведомление поверх всех окон.
Это довольно раздражает, а иногда даже показывает нежелетальную информацию, такую как личную переписку.
К счастью, не меня одного этого беспокоило, и есть небольшой апплет, позволяющий временно отключить всплывающие уведомления в Ubuntu.</p>
<p><a href="https://launchpad.net/nonotifs" rel="nofollow">NoNotifications</a> - это небольшой, простой апплет для панели Ubuntu (Unity) позволяющий временно отключить все уведомления и посторонние звуки в системе.
Апплет крайне полезен во время презентаций, или когда необходимо сосредоточится на работе и все эти уведомления лишь отвлекают.</p>
<p><a href="https://the-bosha.ru/2016/05/25/vremenno-otkliuchaem-vsplyvaiushchie-uvedomleniia-ubuntu-s-indikatorom-nonotifications/ubuntu-applet-nonotifications.png" rel="nofollow">
<div class="content-image-wrapper">
<img alt="Ubuntu NoNotifications апплет" class="content-image" src="https://the-bosha.ru/2016/05/25/vremenno-otkliuchaem-vsplyvaiushchie-uvedomleniia-ubuntu-s-indikatorom-nonotifications/ubuntu-applet-nonotifications.png" title="Ubuntu NoNotifications апплет"/>
<p class="content-image-caption">Ubuntu NoNotifications апплет</p>
</div></a></p>
<p>Индикатор крайне простой, и предоставляет всего две опции:</p>
<ul>
<li><strong>Do Not Disturb</strong>  - которая собственно, отключает все всплывающие уведомления и звуки. Цвет индикатора так же меняется на красный;</li>
<li><strong>Show Notifications</strong> - которая, очевидно, включает все отключенные уведомления и звуки;</li>
</ul>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/05/25/vremenno-otkliuchaem-vsplyvaiushchie-uvedomleniia-ubuntu-s-indikatorom-nonotifications/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-05-25T10:45:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Wed 25 May 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/05/25/vremenno-otkliuchaem-vsplyvaiushchie-uvedomleniia-ubuntu-s-indikatorom-nonotifications/#disqus_thread" data-disqus-identifier="vremenno-otkliuchaem-vsplyvaiushchie-uvedomleniia-ubuntu-s-indikatorom-nonotifications">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/05/23/webtorrent-bittorrent-klient-s-podderzhkoi-dlna-chromecast-i-airplay-pozvoliaiushchii-smotret-video-iz-torrent-faila-bez-skachivaniia/" rel="bookmark" title="Постоянная ссылка на Webtorrent - Bittorrent клиент с поддержкой DLNA, chromecast и Airplay позволяющий смотреть видео из torrent файла без скачивания">Webtorrent - Bittorrent клиент с поддержкой DLNA, chromecast и Airplay позволяющий смотреть видео из torrent файла без скачивания</a>
                </h1>
            </header>
            <section>
                <p><a href="https://webtorrent.io/desktop" rel="nofollow">WebTorrent Desktop</a> - это простой, OpenSource BitTorrent клиент который позволяет просматривать видео-файл из торрента без скачивания.
WebTorrent доступен для Linux, Windows и Mac.</p>
<p><a href="https://the-bosha.ru/2016/05/23/webtorrent-bittorrent-klient-s-podderzhkoi-dlna-chromecast-i-airplay-pozvoliaiushchii-smotret-video-iz-torrent-faila-bez-skachivaniia/webtorrent-desktop-screenshot.png" rel="nofollow">
<div class="content-image-wrapper">
<img alt="WebTorrent Desktop" class="content-image" src="https://the-bosha.ru/2016/05/23/webtorrent-bittorrent-klient-s-podderzhkoi-dlna-chromecast-i-airplay-pozvoliaiushchii-smotret-video-iz-torrent-faila-bez-skachivaniia/webtorrent-desktop-screenshot.png" title="WebTorrent Desktop"/>
<p class="content-image-caption">WebTorrent Desktop</p>
</div></a></p>
<p>Я уже писал о <a href="https://the-bosha.ru/2014/03/24/peerflix-bittorrent-strim-klient-ili-smotrim-video-iz-torrent-fayla-bez-skachivaniya/" rel="nofollow">Peerflix</a>, приложении которое позволяет делать тоже самое, но Peerflix не такой удобный для использования, и заметно уступает даже WebTorrent, у которого тоже только самый необходимый набор функций.</p>
<p>У WebTorrent отсутствует какая-то база данных, или поиск по популярным торрент-трекерам. 
При первом запуске, приложение отображает самые популярные open source видео. Позже там будут отображаться последние добавленные пользователем торренты. 
В самом низу приложения есть поле, на которое можно переместить торрент файл с нужным фильмом, или нажать на него и в диалоговом окне найти и открыть файл.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/05/23/webtorrent-bittorrent-klient-s-podderzhkoi-dlna-chromecast-i-airplay-pozvoliaiushchii-smotret-video-iz-torrent-faila-bez-skachivaniia/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-05-23T09:00:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 23 May 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/05/23/webtorrent-bittorrent-klient-s-podderzhkoi-dlna-chromecast-i-airplay-pozvoliaiushchii-smotret-video-iz-torrent-faila-bez-skachivaniia/#disqus_thread" data-disqus-identifier="webtorrent-bittorrent-klient-s-podderzhkoi-dlna-chromecast-i-airplay-pozvoliaiushchii-smotret-video-iz-torrent-faila-bez-skachivaniia">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/05/18/kak-podkliuchitsia-k-cisco-vpn-s-pomoshchiu-openconnect-alternativa-anyconnect-v-ubuntu-linux/" rel="bookmark" title="Постоянная ссылка на Как подключиться к Cisco VPN с помощью Openconnect (альтернатива anyconnect) в Ubuntu Linux">Как подключиться к Cisco VPN с помощью Openconnect (альтернатива anyconnect) в Ubuntu Linux</a>
                </h1>
            </header>
            <section>
                <p>У cisco есть пакет с клиентом anyconnect для linux. Только совсем не обязательно пользоваться их официальным клиентом, когда можно просто установить пакет из проверенно репозитория, и не захломлятять систему. Так что если вам нужно просто подключиться к cisco vpn под linux, но не критично использование официального cisco vpn клиента, то эта заметка для вас.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/05/18/kak-podkliuchitsia-k-cisco-vpn-s-pomoshchiu-openconnect-alternativa-anyconnect-v-ubuntu-linux/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-05-18T08:45:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Wed 18 May 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/05/18/kak-podkliuchitsia-k-cisco-vpn-s-pomoshchiu-openconnect-alternativa-anyconnect-v-ubuntu-linux/#disqus_thread" data-disqus-identifier="kak-podkliuchitsia-k-cisco-vpn-s-pomoshchiu-openconnect-alternativa-anyconnect-v-ubuntu-linux">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/05/16/zagruzhaem-poslednie-kommentarii-iz-disqus-ispolzuia-jqueryjavascript/" rel="bookmark" title="Постоянная ссылка на Загружаем последние комментарии из Disqus используя jquery/javascript">Загружаем последние комментарии из Disqus используя jquery/javascript</a>
                </h1>
            </header>
            <section>
                <p>Как я уже писал, недавно я переехал с Wordpress на <a href="https://the-bosha.ru/2016/05/04/generator-staticheskih-blogov-pelican/" rel="nofollow">статический генератор блогов Pelican</a>. Так как обработку комментариев на стороне сервера сделать нельзя, я перенес все комментарии в disqus. На старом блоге в боковом меню у меня отображались последние комментарии, и я хотел чтобы после переезда на новую блог платформу они сохранились. К счастью, у disqus есть API с помощью которого можно это реализовать.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/05/16/zagruzhaem-poslednie-kommentarii-iz-disqus-ispolzuia-jqueryjavascript/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-05-16T10:15:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Mon 16 May 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/05/16/zagruzhaem-poslednie-kommentarii-iz-disqus-ispolzuia-jqueryjavascript/#disqus_thread" data-disqus-identifier="zagruzhaem-poslednie-kommentarii-iz-disqus-ispolzuia-jqueryjavascript">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <article role="article" id="">
            <header>
                <h1>
                    <a href="https://the-bosha.ru/2016/05/13/globalnoe-meniu-v-xubuntu-1604-xfce4-s-topmenu/" rel="bookmark" title="Постоянная ссылка на Глобальное меню в Xubuntu 16.04 / Xfce4 с TopMenu">Глобальное меню в Xubuntu 16.04 / Xfce4 с TopMenu</a>
                </h1>
            </header>
            <section>
                <p>Не все пользователи любят окружение Unity, но нельзя отрицать, что многие вещи которые cannonical добавили в unity - действительно удобные, и полезные. Одна из таких полезных и удобных вещей - это глобальное меню. В этой небольшой заметке я расскажу <strong>как добавить глобальное меню в Xubuntu 16.04 / Xfce</strong>. Для добавления глобального меню, будем использовать апплет TopMenu созданный для MATE.</p>
<p><strong>TopMenu</strong> - это апплет для панели, доступный для рабочих окружений MATE, Xfce и LXDE, добавляющий глобальное меню в эти окружения. Он доступен в официальных репозиториях Ubuntu 16.04 и прекрасно работает во всех остальных окружениях, несмотря на то, что создавался изначально для MATE. Есть лишь небольшой нюанс, который необходимо учесть для того, чтобы TopMenu заработал в других окружениях.</p>
<p>Следует обратить внимание, что TopMenu работает только для GTK2 и GTK3 приложений, и не работает для приложений написанных с использованием Qt а так же в LibreOffice, Firefox и Thunderbird.</p>

                <a class="article-readmore-link" href="https://the-bosha.ru/2016/05/13/globalnoe-meniu-v-xubuntu-1604-xfce4-s-topmenu/">Читать дальше&nbsp;&rarr;</a>
                <div class="clearfix"></div>
            </section>
            <footer>
                <div class="post-meta">
                    <time datetime="2016-05-13T09:35:00+03:00"><i class="fa fa-calendar"></i>&nbsp;Fri 13 May 2016</time>
    &nbsp;&nbsp;|&nbsp;&nbsp;<i class="fa fa-comments"></i>&nbsp; <a href="https://the-bosha.ru/2016/05/13/globalnoe-meniu-v-xubuntu-1604-xfce4-s-topmenu/#disqus_thread" data-disqus-identifier="globalnoe-meniu-v-xubuntu-1604-xfce4-s-topmenu">Нет комментариев</a>
                </div>
            </footer>
        </article>

        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
        <!-- New | Index - bottom -->
        <ins class="adsbygoogle"
             style="display:block"
             data-ad-client="ca-pub-5846468049115039"
             data-ad-slot="5390921708"
             data-ad-format="auto"></ins>
        <script>
            (adsbygoogle = window.adsbygoogle || []).push({});
        </script>

        <ul class="pagination">
                <li class="prev disabled"><a href="#">&laquo;</a></li>
                    <li class="active"><a href="https://the-bosha.ru/">1</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/2/">2</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/3/">3</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/4/">4</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/5/">5</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/6/">6</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/7/">7</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/8/">8</a></li>
                    <li class=""><a href="https://the-bosha.ru/page/9/">9</a></li>
                <li class="next"><a
                        href="https://the-bosha.ru/page/2/">&raquo;</a></li>
        </ul>
            </div> <!-- .col-sm-8 -->

            <div id="side-right" class="col-xs-12 col-sm-4">
                <aside class="sidebar">
    <div class="sidebar-container" id="some-custom-id">
        <div class="sidebar-container-heading">
            <span>
                Хорошая реклама
            </span>
        </div>
        <div class="sidebar-container-body">
            <br/>
            <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
            <!-- Index - Sidebar first -->
            <ins class="adsbygoogle"
                 style="display:block"
                 data-ad-client="ca-pub-5846468049115039"
                 data-ad-slot="7146856509"
                 data-ad-format="auto"></ins>
            <script>
                (adsbygoogle = window.adsbygoogle || []).push({});
            </script>
        </div>
        <br/>
    </div>
    <div class="sidebar-container">
        <div class="sidebar-container-heading">
            <span>
                Последние записи
            </span>
        </div>
        <div class="sidebar-container-body">
            <ul>
                    <li><a href="/2017/01/09/ispolzuem-xfce4-terminal-kak-vypadaiushchuiu-konsol-quake-like/">Используем Xfce4 Terminal как выпадающую консоль (quake-like)</a></li>
                    <li><a href="/2017/01/04/zapusk-flask-prilozheniia-c-uwsgi-virtualenv-i-nginx/">Запуск Flask приложения c uWSGI, virtualenv и nginx</a></li>
                    <li><a href="/2016/07/04/xfdashboard-dashbord-v-dukhe-gnome-shell-dlia-xfce/">Xfdashboard - дашборд в духе gnome shell для xfce</a></li>
                    <li><a href="/2016/07/01/udaliaem-sluchaino-zakomichennye-privatnye-dannye-iz-git-repozitoriia/">Удаляем случайно закомиченные приватные данные из git репозитория</a></li>
                    <li><a href="/2016/06/29/django-delaem-damp-bazy-dannykh-i-vosstanavlivaem-iz-nego-s-dumpdata-i-loaddata/">Django - делаем дамп базы данных и восстанавливаем из него с dumpdata и loaddata</a></li>
            </ul>
        </div>
    </div>
<div class="sidebar-container" id="disqus-latest-comments-trigger"></div>                </aside>
            </div> <!-- .col-sm-4 -->
        </div>

</div> <!-- .container -->

<div class="footer">
    <div class="container">
        <div class="row">

            <div class="col-sm-3 col-xs-12">
                <div class="footer-block-container">
                    <div class="footer-block-heading"> <h4> Друзья </h4> </div>
                    <div class="footer-block-body">
                        <ul>
                                <li class="">
                                    <a href="http://linuxnow.ru" target="_blank">
                                        LinuxNow.ru — всё о linux
                                    </a>
                                </li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="col-sm-3 col-xs-12">
                <div class="footer-block-container">
                    <div class="footer-block-heading"> <h4> Страницы </h4> </div>
                    <div class="footer-block-body">
                        <ul>
                                <li><a href="https://the-bosha.ru/about/">Об авторе</a></li>
                                <li><a href="https://the-bosha.ru/archives/">Архивы</a></li>
                                <li><a href="https://the-bosha.ru/contacts/">Контакты</a></li>
                                <li><a href="https://the-bosha.ru/friends/">Друзья</a></li>
                                    <li><a href="https://the-bosha.ru/sitemap/">Карта сайта</a></li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="col-sm-6 col-xs-12">
                <div class="footer-block-container">
                    <div class="footer-block-heading"> <h4> Подписаться </h4> </div>
                    <div class="footer-block-body">
                        <div class="footer-icons">
                            <a href="https://feeds.feedburner.com/bosha">
                                <i class="fa fa-rss"></i>
                            </a>
                            <a title="Читать в Facebook" href="https://facebook.com/theboshablog/">
                                <i class="fa fa-facebook"></i>
                            </a>
                            <a title="Читать в Twitter" href="https://twitter.com/lin4all/">
                                <i class="fa fa-twitter"></i>
                            </a>
                            <a title="Читать в Google+" href="https://plus.google.com/103358600136902717014" target="_blank">
                                <i class="fa fa-google-plus"></i>
                            </a>
                        </div> <!-- .footer-icons -->

                        <div class="footer-icons-email-subscribe">
                            <h4>Получайте новые статьи на E-Mail!</h4>
                            <form action="http://feedburner.google.com/fb/a/mailverify" method="post" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=bosha', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow">
                                <div class="input-group">
                                    <input name="email" type="email" class="form-control" placeholder="your@email.com">
                                    <input name="uri" type="hidden" value="bosha" />
                                    <span class="input-group-btn">
                                        <button class="btn btn-primary follow-by-email-submit" type="submit">Подписаться</button>
                                    </span>
                                </div>
                            </form>
                        </div> <!-- .footer-icons-email-subscribe -->

                    </div> <!-- .footer-block-body -->
                </div>
            </div>
    </div> <!-- .row -->
    <div class="row site-subfooter">
        <div class="col-sm-12 col-xs-12 sub-footer">
            <p>&copy; 2016 - <a href="/about/">Блог Боши</a></p>
        </div>
    </div>
</div> <!-- div.footer -->



    
    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <!-- <script src="/theme/js/jquery.js"></script> -->
    <!-- <script src="/theme/js/bootstrap.min.js"></script> -->

    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <!-- <script src="/theme/js/ie10-viewport-bug-workaround.js"></script> -->

    <!-- <script src="/theme/js/jquery.fancybox.js"></script> -->

    <!-- <script src="/theme/js/jquery.appear.js"></script> -->

    <!-- <script src="/theme/js/scripts.js"></script> -->

    <script src="https://the-bosha.ru/theme/js/packed.js?b41acc03"></script>

    <script>
        $(document).ready(function() {

            function load_latest_comments() {
                $commentDiv = $("#disqus-latest-comments-trigger");

                $.get("https://disqus.com/api/3.0/forums/listPosts.json?forum=thebosha&limit=5&related=thread&api_key=b5u9JXHQDrAtQ3LsNESarbIuZpe4FyotqCKiUF5CkGd1brhvd49JOcA2jHJtj5Gu", function(res, code) {
                    if(res.code === 0) {
                        var result = "";
                        result += '<div class="sidebar-container-heading"><span>Последние комментарии</span></div>';
                        result += '<div class="sidebar-container-body"><ul>';
                        for(var i=0, len=res.response.length; i<len; i++) {
                            var post = res.response[i];
                            var html = "<li><div class='comment'>";
                            html += "<strong>" + post.author.name + "</strong> <i>к посту</i> -  ";
                            post_title = post.thread.title;
                            post_title = post_title.substring(0, post_title.indexOf(' |'));
                            html += "<a href='"+ post.thread.link + "#disqus_thread'>" + post_title + "</a>";
                            html += "</div></li>";

                            result+=html;
                        }
                        result += '</ul></div>';
                        $commentDiv.html(result);

                        // We need to replace #disqus_thread with something else, or when
                        // visitor navigates to end of article where actual comments located
                        // count.js will replace those links also and instead of comment
                        // will be displayed comment count.
                        $('#disqus-latest-comments-trigger a').each(function(idx, elem) {
                            var link = $(this).attr('href');
                            $(this).attr('href', link.replace('#disqus_thread', '#comments'));
                        });

                    } else {
                        console.log("Error while retrieving latest comments from disqus. API limit reached?");
                    }
                });
            }

            // If user stayed on page pretty long (5 sec now) - load latest comments.
            setTimeout(load_latest_comments, 5000);
        });

    </script>
    <script>
        $(function() {

            var searchsubmit = $('#searchsubmit'),
                searchinput = $('#searchinput');

            $(document).on('submit', '#searchform', function(e) {
                e.preventDefault();
                var query = searchinput.val();
                searchinput.val('');
                searchsubmit.prop('disabled', true);
                window.open('http://google.com/search?q=site:the-bosha.ru '+query);
            });

            searchsubmit.prop('disabled', true);
            searchinput.keyup(function() {
                if($(this).val() != '') {
                    searchsubmit.prop('disabled', false);
                } else {
                    searchsubmit.prop('disabled', true);
                }
            });

        });
    </script>

        <!-- Yandex.Metrika counter -->
        <script type="text/javascript">
            (function (d, w, c) {
                (w[c] = w[c] || []).push(function() {
                    try {
                        w.yaCounter320688 = new Ya.Metrika({
                            id:320688,
                            clickmap:true,
                            trackLinks:true,
                            accurateTrackBounce:true,
                            webvisor:true
                        });
                    } catch(e) { }
                });

                var n = d.getElementsByTagName("script")[0],
                        s = d.createElement("script"),
                        f = function () { n.parentNode.insertBefore(s, n); };
                s.type = "text/javascript";
                s.async = true;
                s.src = "https://mc.yandex.ru/metrika/watch.js";

                if (w.opera == "[object Opera]") {
                    d.addEventListener("DOMContentLoaded", f, false);
                } else { f(); }
            })(document, window, "yandex_metrika_callbacks");
        </script>
        <!-- /Yandex.Metrika counter -->

        <script type="text/javascript">
            var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
            document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
        </script>
        <script type="text/javascript">
            try {
                var pageTracker = _gat._getTracker("UA-11676810-1");
                pageTracker._trackPageview();
            } catch(err) {}
        </script>


    <!-- Disqus -->
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'thebosha'; // required: replace example with your forum shortname
        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function () {
            var s = document.createElement('script');
            s.async = true;
            s.type = 'text/javascript';
            s.src = '//' + disqus_shortname + '.disqus.com/count.js';
            (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
        }());
    </script>
    <!-- End Disqus Code -->

</body>
</html>