• Установка и настройка OpenVPN сервера с помощью docker-compose

    • Tutorial


    Всем привет, последнее время все сложней чувствовать себя комфортно в интернете, большинство полезных ресурсов недоступны рядовому пользователю. В эти темные времена — VPN единственное стабильно работающие решение для обхода любых ограничений в сети.


    OpenVPN одна из самых популярных программ для организации VPN туннеля, а docker-compose отличный инструмент для установки и настройки программ с помощью одного docker-compose.yml файла.


    В статье я расскажу как быстро и просто настроить OpenVPN сервер на собственном VPS используя docker-compose. За основу возьмем образ kylemanna/docker-openvpn.


    Заинтересовавшихся прошу под кат.

    Читать дальше →
  • От поиска к исследованию документов в сетевых шарах и файловых помойках


      В предыдущей статье мы рассказали про наш open-source продукт для поиска данных по шарам и файло-помойкам. С тех пор мы доработали продукт и значительно усовершенствовали поиск, добавив именованные сущности, теги, статистику по запросу и структуру папок. Эти улучшения позволяют переходить от поиска к анализу данных, в статье рассмотрим все это подробней.

      Читать дальше →
    • Поиск документов в сетевых шарах и файловых помойках

        Помойка


        Почти каждый из нас когда-либо работал в компании, где есть всеми ненавистная "файлопомойка" — шара с тысячами документов без какой-либо структуры. И наверняка у каждого был момент, когда ему нужно было что-то в этой помойке отыскать. "А Василич этот отчёт на шару кидал в прошлом месяце, глянь там" — слышали мы от коллеги, а тот самый Василич на вопрос "А в какой папке?" конечно же отвечал "А х… не помню, в общем, сам ищи". И мы погружались в многочасовой ад — бродили по папкам с документами из 90-х, фотографиями котов, договорами вперемешку с анекдотами и прочим шлаком в надежде найти заветный документ.

        Читать дальше →
      • Запускаем свой блог на Ghost с помощью docker-compose

        • Tutorial

        Ghost + Docker
        Ghost это очень мощная и в то же время лаконичная платформа для блогинга, а docker-compose прекрасный инструмент для установки и конфигурирования программ с помощью одного .yml файла. В этой статьей я хочу коротко рассказать о том как мы быстро настроили блог для нашего проекта с помощью docker-compose.


        Начнем!

        Читать дальше →
      • Зачем мы создали замену старым системам поиска по документам

          С конца 2000-х мы занимались автоматизацией процессов в службах безопасности крупных компаний. Почти во всех компаниях одной из ключевых задач безопасности была проверка потенциальных клиентов и контрагентов на благонадёжность. Проверка включала в себя регулярный поиск информации о компаниях или людях в огромном массиве текстовой информации. Массив этот представлял (и по-прежнему представляет) собой несколько десятков миллионов документов в разных форматах и из разных источников. Это могли быть справки, отчеты, выписки в форматах pdf, doc, xls, txt, иногда сканы в тех же pdf, tiff и пр. В целом, задача быстрого поиска информации о какой-либо компании или человеке в этом массиве данных критически важна для любого бизнеса.


          Мы прошли долгий путь от использования dtSearch до полноценного собственного решения. В этой статье хотим поделиться нашим опытом.

          Читать дальше →
        • Поиск по большим документам в ElasticSearch


            Продолжаем цикл статей о том, как мы постигали ES в процессе создания Ambar. Первая статья цикла была о Хайлайтинге больших текстовых полей в ElasticSearch.


            В этой статье мы расскажем о том как заставить ES работать быстро с документами более 100 Мб. Поиск в таких документах при подходе "в лоб" занимает десятки секунд. У нас получилось уменьшить это время до 6 мс.


            Заинтересовавшихся просим под кат.

            Читать дальше →
          • Настраиваем приватный Docker-репозиторий

            • Tutorial

            Docker одна из горячих тем в разработке. Большинство новых проектов строится именно на Docker. Как минимум, он отлично зарекомендовал себя для распространения ПО, например, наша система поиска по документам Ambar устанавливается с помощью docker-compose.


            В начале работы над Ambar мы использовали публичный docker-репозиторий, но с ростом проекта и появлением enterprise версии мы задумались над созданием собственного приватного репозитория. В данной статье мы поделимся своим опытом развертывания селф-хостед репозитория: пошагово опишем весь процесс, попытаемся обойти все подводные камни.

            Читать дальше →
          • Хайлайтинг больших текстовых полей в ElasticSearch

              В декабре 2016 года мы с товарищем начали заниматься новым проектом — системой сбора-индексации-поиска по документам. Система построена вокруг ElasticSearch (далее — ES), который мы используем как основной движок для полнотекстового поиска.


              Ценными данными, приобретенными в ходе работы над проектом мы бы хотели поделиться с читателями в цикле статей про ES. Начнём с основы любого поисковика — подсветки результатов поиска (далее — хайлайтинг).


              Правильная подсветка результатов поиска едва ли не самый важный критерий эффективности поисковой системы для пользователя. Во-первых, видна логика включения документа в результаты поиска, а во-вторых, подсветка блока найденного текста даёт возможность быстро оценить контекст найденного попадания.


              Одним из ключевых требований к нашей поисковой системе была возможность быстро и эффективно работать с большими файлами (более 100 Мб). В статье мы расскажем как добиться высокой производительности от ES при хайлайтинге больших полей документа.


              На скриншоте ниже показано как работает подсветка результатов поиска в нашем проекте.


              Пример результатов поиска с хайлайтом

              Читать дальше →
              • +12
              • 5.6k
              • 5
            • Так ли хорош React Native?

                React Native React Native довольно новая технология которая с первого взгляда кажется серебряной пулей для многих начинающих разработчиков. В статье я хочу развеять этот миф и рассказать что же именно не так с React Native и почему стоит подождать прежде чем его использовать.

                И так по порядку, я Full-stack разработчик. Использую последний стандарт javascript на фронетнде и бэкенде. Опыта разработки мобильных приложений нет, но есть 5 лет опыта разработки высоконагруженных проектов на node.js, asp.net mvc. Опробовать React Native я решил при создании простого мобильного приложения — клиента LessPass для Android.
                Читать дальше →
              • Пять советов тому кто публикует свой .Net проект на GitHub

                  GitHub Octocat Professor

                  Статья рассчитана в первую очередь на новичков и тех кто только собирается опубликовать свой первый проект на GitHub. Те у кого уже есть опубликованные проекты также могут почерпнуть что-то полезное и написать свои лучшие практики в комментариях. В статье представлены пять простых советов как улучшить ваш GitHub проект.

                  Читать дальше →
                • Используем highcharts.js для создания графиков на стороне сервера

                  • Tutorial
                  highcharts-on-a-server
                  Сегодня мы поговорим об использовании highcharts.js графиков на стороне сервера. Весь код будем писать на С#, обойдемся совсем без javascript. В результате получим файл с графиком, который можно будет сохранить на диск или например приложить к письму.

                  Беглый поиск хороших бесплатных .net библиотек для создания графиков не увенчался успехом. Лучшей из всех найденных библиотек была ms-chart, но судя по отсутствию обновлений и хорошей документации сама Microsoft ее давно забросила.

                  Выбор пал на highcharts.js — очень гибкая библиотека для построения графиков, которая широко применяется на фронтенде.
                  Читать дальше →
                • Интегрируем Webpack в Visual Studio 2015

                  • Tutorial
                  Webpack + VS

                  В статье я расскажу как сделать работу с webpack из Visual Studio удобнее, а именно: автоматический запуск webpack при открытии проекта, бандлинг при изменении файлов и оповещение об ошибках на рабочем столе.
                  Читать дальше →
                  • +13
                  • 24.4k
                  • 6
                • Отправляем сообщения в Telegram из C#

                  • Tutorial
                  TLSharp rocks!

                  С# — развитый язык с большим количеством библиотек, но среди них нет ни одной работающей реализации Telegram API. Эту ситуацию я хочу исправить с помощью своей небольшой библиотеки TLSharp. В статье будет много кода и один котик.
                  Читать дальше →