• Как правильно делать сборку для snap (snapcraft.yaml)?

    @klirichek
    Полагаю, там должно быть достаточно просто прописать extension (если программа в итоге "общается" с gtk/qt, а не прямо висит на голых иксах). Ну и прописать соответствующий лаунчер (без него обычно бывают разные странные спец. эффекты, вроде невозможности авторизоваться). Что-то вроде:
    apps:
      my-part:
        command: desktop-launch $SNAP/bin/passgen2
        extensions:
          - gnome-3-28
    ...


    Ну и собирать такие вещи лучше итеративно; в процессе придёт понимание, чего не хватает.
    Скорее всего на базе гнома из кучи ваших либ больше ничего не понадобится (т.е. stage-packages может "похудеть" или вообще исчезнуть)
    Запускаем `snapcraft try`. Он проходит по всем стадиям, и готовит папку prime. Дальше подключаем её с помощью `snap try` - получаем гибкий снап, который одновременно и приложение, и папка, куда можно лазить и что-то менять (добавлять/настраивать) прямо на лету. Потом обкатанные настройки прописываем в сам скрипт снапкрафта. Confinement, кстати, изначально лучше поставить devmode. Тогда приложению открыт доступ повсюду. И потом с помощью snappy-debug в параллельной консоли смотреть, куда оно на самом деле лазает, и, соответственно, какие plugs ему надо прописать, чтобы оно успешно взлетело в strict.

    (например, с вашим файлом приложение надо будет вызывать как 'passgen2.my-part' - подозреваю, что вы не этого хотели добиться, и поэтому эта часть будет меняться. А если запускать полный ребилд snapcraft - по каждому чиху - это медленно и грустно).
    Ответ написан
    1 комментарий
  • Как отличить сферическую панораму от простой?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    не факт, что это предусмотрено стандартом — подстрока "panoram" там не встречается.

    Google описывает свой стандарт XMP для сферических изображений Street View, где не предусматривает циллиндрической проекции, только сферическую.
    Ответ написан
    2 комментария
  • Как отличить сферическую панораму от простой?

    @ehs
    Architect / 3d designer
    В сферической панораме должен быть тэг Exif XMP "ProjectionType=equirectangular"
    тогда гугл и фэсбук ее видят как панораму и загружают соответсвующий вьювер.
    Ответ написан
    7 комментариев
  • Как правильно управлять заголовками и мета-тегами в vuejs head, meta, title, etc?

    https://www.npmjs.com/package/vue-meta

    Юзаете:
    main.js
    import Meta from 'vue-meta';
    Vue.use(Meta);


    В роутере у вас каждому роуту соответствует какой-то компонент-страница:

    router.js
    import HomePage from '../components/pages/Home.vue';
    new Router({
        routes: [
          {
            name: 'home',
            path: '/',
            component: HomePage,
          },
    });


    В компоненте описываете нужные мета-данные

    components/pages/Home.vue:
    <script>
    export default {
        metaInfo: {
          title: 'Vue App',
          meta: [
            { vmid: 'description', property: 'description', content: 'Vue App' },
            { vmid: 'og:title', property: 'og:title', content: 'Vue App' },
            { vmid: 'og:description', property: 'og:description', content: 'Vue App' },
          ],
        },
      };
    </script>


    В общем-то в документации всё расписано: https://github.com/declandewet/vue-meta
    С серверным рендерингом так же работает, но там больше заморочек.
    Ответ написан
    1 комментарий
  • Как создать gui приложение на go?

    @zserge
    Для несложного UI, или для сложного если нравится HTML5/CSS можно использовать https://github.com/zserge/webview

    Это тонкая обертка над gtk-webkit, Cocoa-Webkit и MSHTML (IE10-11). Позволяет создать окно с веб-вью на весь экран и использовать JS-биндинги для связи UI с логикой приложения. Можно выполнять произвольный JS-код в UI из Go, и можно вызывать Go-функцию из JS.

    В отличие от Electron, размер бинарников будет около 5-10МБ, и потребляемая приложение память тоже где-то в этих пределах.
    Ответ написан
    3 комментария
  • Как получить ответ в виде массива из базы данных?

    Удобнее всего работать с базой данных в golang с использованием ORM. Например, gorm.
    Ответ написан
    Комментировать
  • Как настроить Workerman для wss соединения?

    @YourQuestion Автор вопроса
    Проблему решил так:
    $context = array(
        'ssl' => array(
            'local_cert'  => 'ssl/server.crt',
            'local_pk'    => 'ssl/server.key',
            'verify_peer' => false,
        )
    );
    
    // Create a Websocket server with ssl context.
    $ws_worker = new Worker("websocket://domain.com:2346", $context);


    1. В директории со скриптом запуска сервера websocket (start.php) создал папку ssl где создал линки server.crt и server.key к реальным файлам сертификата и прописал путь к ним без __DIR__, через __DIR__ почему-то не работало.
    2. В строке js
    $ws_worker = new Worker("websocket://domain.com:2346", $context);
    прописал доменное имя вместо ip.
    Ответ написан
    Комментировать
  • Как обновить пакеты в ubuntu 16.04?

    sim3x
    @sim3x
    Приветствие ссш кешируется, а не создается на лету

    apt-get dist-upgrade не нужно делать каждый раз

    apt-get update
    apt-get upgrade
    apt-get autoremove
    достаточно
    Ответ написан
    3 комментария
  • Composer не видит переменную PATH?

    vangelis83
    @vangelis83
    Начинающий веб разработчик
    У меня была такая проблема. Решил ее следующим образом: в windows 10 есть окно, в котором все пути выводятся в отдельных строках и там же есть кнопки "Вверх", "Вниз". Я путь к php поставил ниже, после пути к файлам composer. И случилось чудо, composer у меня заработал.
    Ответ написан
    4 комментария
  • Почему не устанавливается Postfix?

    verdex
    @verdex Автор вопроса
    Проблема решена
    sudo dpkg --remove postfix
     sudo dpkg --purge postfix

    https://bugs.launchpad.net/ubuntu/+source/postfix/...
    Ответ написан
    Комментировать
  • Что такое запрос PATCH запрос? Как его выполнить средствами PHP?

    Используйте guzzle библиотека позволяет делать все запросы в удобной форме

    $response = $client->get('http://httpbin.org/get');
    $response = $client->delete('http://httpbin.org/delete');
    $response = $client->head('http://httpbin.org/get');
    $response = $client->options('http://httpbin.org/get');
    $response = $client->patch('http://httpbin.org/patch');
    $response = $client->post('http://httpbin.org/post');
    $response = $client->put('http://httpbin.org/put');
    Ответ написан
    3 комментария
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • С чего начать изучение Linux с нуля?

    illuminat17
    @illuminat17
    инженер-системотехник
    Здравствуйте, Vitaminka!
    Я бы Вам посоветовал предпринять следующие шаги.
    1. Установить один из хорошо поддерживаемых дистрибутивов на "компьютер под рукой" (свой домашний, второй свой домашний, виртуалка). На мой взгляд, если Вы сам не сторонник "шоковой терапии", то лучший вариант поставить на второй домашний (тестовый), а если сторонник, то сразу на главный домашний. Из дистрибутивов рекомендую в порядке убывания предпочтения для вашего случая следующий список:
    Ubuntu 16.04
    www.ubuntu.com/download/ubuntu-kylin

    Debian Jessie 8.5
    cdimage.debian.org/debian-cd/8.5.0/amd64/iso-dvd

    OpenSuse
    https://software.opensuse.org/421/en

    2. Как правильно писал Ciscoridze определите себе некую цель. Не общую, типа "хочу в совершенстве изучить Linux", а конкретную. Причём очень важно, чтобы это была действительно интересная для Вас задача и предельно конкретная. Как уже писали "установить свой Web-сервер и опубликовать его в интернете", "автоматизировать отправку СМС сообщений по критическим событиям на ПК и в сети" и т.п.

    3. Хоть нынче это становится не слишком модно, купить бумажную книгу хорошего автора и читать её постоянно. Дело в том, что помимо конкретных знаний, как решить тот или иной вопрос, которые почтит всегда можно найти в интернете, очень важно общее понимание, системное преподнесение материала, а оно возможно как раз из книги или из обучающего курса. Как хороший пример «UNIX и Linux. Руководство системного администратора» (2010) Эви Немет.
    adm-lib.ru/linux-i-drugie-unix/evi-gart-trent-ruko...

    4. Одновременно ос всем этим считаю очень полезным чтение справочника команд прямо в алфавитном порядке. Такие справочники есть в большом количестве. Много чего там будет оставаться для вас совершенно не понятным, но ровно столько же вызовет у вас немой возглас "ах вот как это просто и классно, буду знать!!!". Чтение этого справочника должно стать для Вас многопроходным процессом и со временем количество команд из группы "ничего не понимаю" начнёт существенно убывать.
    5. Очень хорошо бы найти человека, который мог бы Вам подсказывать какие-то вещи, когда у Вас совсем будет уже тупик. Кстати, выбор первого Вашего дистрибутива лучше увязать с тем, какой установлен у него. Это резко повышает эффективность помощи.
    6. Будут моменты, когда "ничего не работает, ненавижу!!! Ничего не получается!!!". Не опускайте руки, не сдавайтесь, решение найдётся. :)
    Ответ написан
    1 комментарий
  • Как проверить на стороне клиента, заблокирован ли сайт?

    @kfuntov
    Проще всего (если это не единственный способ) попробовать подсосать картинку (например логотип).
    Только я не нашёл нормальную картинку на домене fb. Надеюсь вам это удастся.
    $("<img/>")
        .load(function() { console.log("VK works"); })
        .error(function() { console.log("VK closed"); })
        .attr("src", "http://vk.com/images/camera_a.gif");

    P.S. Решение отсюда stackoverflow.com/questions/8571227/use-javascript...
    P.P.S. Если хотите, могу без jQuery переписать
    Ответ написан
    1 комментарий
  • Сокращатель ссылок vk.cc?

    YardalGedal
    @YardalGedal Автор вопроса
    yeah boy
    В 2017-ом году это можно сделать через utils.getShortLink.
    Ответ написан
    Комментировать
  • Можно ли использовать NAS как домашний хостинг?

    @Ethril
    Хощщщу говнобложик на wordpress на домашнем насе Netgear ReadyNAS 104 (на момент покупки 2 года назад был в наших краях самым дешевым, куда можно было сунуть 4 диска). На борту из коробки стоял чуть кастомизированный Debian. Тормозной процик ARM, 512 RAM. Вполне на уровне дешёвенькой VPS.
    Ответ написан
    1 комментарий
  • Можно ли использовать NAS как домашний хостинг?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Можно. Но не нужно.

    Полка рассчитывается сугубо на специфические задачи - раздавать файло. Поэтому полки, даже энтерпрайзные обычно слабее, чем обычные сервера за те же деньги. Меньше памяти, более слабый проц, упрощенная версия линуха. Да, Optware/Entware поставить наверное будет можно. Но это будет тормоооооооооооозить. PgSQL вообще довольно ресурсоемкая штука.
    Ответ написан
    4 комментария
  • Vue.js2 как правильно написать child параметры в router?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    В шаблон компонента Post у вас должен быть вложен <router-view> в который передаются чилдрэны.
    Ответ написан
    5 комментариев