Задать вопрос
  • Как исправить "ошибку сопоставления групповой политики"?

    @Sashai9
    Можно нечего не меняя поставить эти значения на сервере VPN непосредственно за место установленных:

    ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!

    esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1024,3des-sha1-modp1024,aes128-aes256-sha1-sha256,aes128-sha1,3des-sha1!

    Затем перезапустите сервер
    sudo systemctl restart strongswan-starter
    Ответ написан
    Комментировать
  • Как реализовать деплой nuxt приложения?

    Alex_42
    @Alex_42
    Frontend Dev
    Привет.

    Как залить приложение на сервер? Использовать FTP? Или git push? Или может какой-то сервис Codeship к примеру?
    Как было сказано выше, клонирую с github (потом удобно делать pull при изменении кода)

    Как остановить уже запущенный nuxt-сервер а потом запустить его обратно?
    Приложение нужно запускать, скажем так, в фоновом режиме, для этого использую pm2 на сервере.

    Очередность команд:
    1. Клоним / пулим проект
    2. npm install
    3. npm run build
    4. pm2 start app

    Что бы остановить: pm2 stop app
    Ответ написан
    3 комментария
  • Как в интерфейсе задать структуру объекта, с обязательным ключом и любым количеством другого типа?

    @disappearedstar
    Фронтенд-разработчик
    https://basarat.gitbooks.io/typescript/docs/types/... раздел "Excluding certain properties from the index signature"
    Выглядеть в вашем случае будет так.
    Лучше построить этот объект по-другому:
    {
      system: {
        _about: ...,
        commands: {
          ok: { ... },
          err: { ... }
        }
      }
    }
    Ответ написан
    Комментировать
  • Чем отличается обычная ОС от Серверной?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Некоторый софт требует серверной версии ОС.

    В серверных версиях ОС могут быть компоненты, которых нет в десктопных версиях ОС (и наоборот).

    Серверные ОС обычно имеют более длительный срок поддержки.

    Если взять Windows, то параметры серверных ОС изначально оптимизированы для равномерного распределения ресурсов между задачами, а в настольных - приоритет дается активной задаче, плюс больше памяти выделяется под кеширование дисковых операций. И др.

    Ну и вообще, конкретную ОС надо смотреть.
    Ответ написан
    1 комментарий
  • За счет чего можно добиться вау-эффекта в Landing page?

    @archelon
    тысячи их https://codepen.io/
    Ответ написан
    Комментировать
  • FFMPEG и вывод текущего времени, как сделать?

    Moskus
    @Moskus
    '%{localtime:%X}' или '%{localtime\:%X}' или '%{localtime\\:%X}' (различия только в том, как экранируется двоеточие. А то вы почему-то формат решили за пределы макроса вынести, такого в документации нет и непонятно, откуда вы это взяли.
    Ответ написан
    6 комментариев
  • Что такое aria и role атрибуты?

    @senselessV7
    ...
    Допустим, при взаимодействии с насыщенным интернет-приложением (в терминологии ARIA такие приложения именуются активными) пользователь не просматривает страницу, а прослушивает ее с использованием экранного диктора. При этом программа зачитывает вслух одну часть страницы, а тем временем другая ее часть динамически обновляется. Живые области ARIA подсказывают пользователю, что обновилась часть страницы — та, которая в данный момент находится не в фокусе ...

    ...
    Существуют атрибуты состояния ariadisabled, aria-busy, aria-expanded, aria-hidden и атрибуты свойств, в частности ariadescribedby, aria-haspopup и aria-labelledby, предоставляющие дополнительную информацию о переопределенных элементах. На практике рекомендуется макси-
    мально полагаться на семантические элементы, но если вам непременно требуется использовать конкретный элемент (допустим, древовидное меню) «не по назначению» — прибегайте к ARIA-атрибутам. ...


    Эстель Вейл "Разработка приложений для мобильных устройств"
    Глава 6


    Почитайте, вполне интересно и полезно!
    Ответ написан
    1 комментарий
  • Что такое aria и role атрибуты?

    @cy6eria
    ARIA - это стандарт разработанный для людей с ограниченными возможностями. Эти атрибуты ничего не делают, но позволяют специальным программам (например, экранному диктору) ориентироваться на странице. Подробнее можно почитать тут
    Ответ написан
    1 комментарий
  • Как с помощью css трансформации повернуть так картинку?

    @nvdfxx
    Senior Pomidor developer
    Ответ написан
    Комментировать
  • Как правильно выводить ошибки в Promise?

    filgaponenko
    @filgaponenko
    frontend developer
    Добрый день.
    Брошенные исключения "проваливаются" в catch блок, поэтому правильно ловить ошибки в catch.
    Чтобы решить проблему разделения ошибок для пользователя и всех прочих ошибок могу предложить завести свои ошибки и в catch по типу ошибки определять какая именно реакция системы необходима.

    Вот в нагрузку хорошая статья по промисам, возможно там тоже найдется что нибудь, что натолкнет вас на верное решение.
    Ответ написан
    2 комментария
  • Нужно написать аналог regedit в Windows для курсовой на c++ или c# с графическим интерфейсом. С чего начать? Каие библиотеки и технологии посоветуете?

    GavriKos
    @GavriKos
    Пишется достаточно просто. Все что вам нужно:
    - знание функций, которые позволяют работать с реестром. Они есть по моему в winAPI, ну или гуглятся очень быстро
    - какой то фреймворк для простого формошлепства. Если навыков все равно нет - Qt рекомендую.

    Главное разделите модель, данные и вьюху - не пытайтесь сразу нарисовать дерево реестра напрямую.
    Ответ написан
    1 комментарий
  • Как задать свойство класса экземпляром другого класса, если его значения не известны при инициализации?

    myjcom
    @myjcom Куратор тега C++
    Значения по умолчанию
    class Point
    {
        double x_coord;
        double y_coord;
      public:
        Point(double x = {}, double y = {}) : x_coord{x}, y_coord{y}
        {
        }
    };
    
    class Square
    {
        Point* center_pt;
        double size;
      public:
        Square(double x = {}, double y = {}, double sz = {1}) 
         : center_pt{new Point(x / sz, y / sz)}, size{sz}
        {
        }
        ~Square(){ delete center_pt; }
    };
    
    int main()
    {
      Square sq(10, 10, 2);
      Square sq2();
    }
    Ответ написан
    4 комментария
  • Как задать свойство класса экземпляром другого класса, если его значения не известны при инициализации?

    @Mercury13
    Программист на «си с крестами» и не только
    center_pt = *new Point(x/size, y/size);
    Утечка памяти. Никто в «си с крестами» за вас не будет подчищать все эти new.
    Правильно:
    center_pt = Point(x/size, y/size);
    (Ну и, разумеется, я не понимаю, что значат эти x/size и y/size, но шут с ним.)

    Примерно таким образом и происходит переприсваивание объектов, если им оставили таки операцию =. То есть…
    class Geolocator {
    public:
      Point coords;
      bool isReliable;
    
      Geolocator() : coords(0,0), isReliable(false) {}
    
      void getFromSensor() {
        coords = Point(100, 100);
        isReliable = true;
      }
    };


    Вариант 2. Через указатель, создание и уничтожение. Для простоты не буду это делать «руками», а воспользуюсь указателем единоличного владения unique_ptr.
    class Geolocator {
    public:
      std::unique_ptr<Point> coords;
    
      void getFromSensor() {
        Point pt(100, 100);
        if (coords) {
          *coords = pt;
        } else {
          coords.reset(new Point(pt));
        }
        // а если и операции = у Point нет, то можно
        // coords.reset(new Point(100, 100));
      }
    
      void declareUnreliable() {
        coords.reset();
      }
    };
    Ответ написан
    6 комментариев
  • Как создать виджет сообщества в vk?

    @Gesparo Автор вопроса
    Fullstack разработчик
    Итак, задачу все же удалось решить. Опишу способ решения этой задачи для тех, кто подписался и для тех, кто столкнется с аналогичной задачей.

    Предварительные условия:
    Необходимо создать iframe приложение и добавить его в сообщество. Насколько я понял - это необходимо только для создания ключа ( чтобы можно было управлять виджетом на стороне сервера ) и первоначального добавления виджета на страницу.

    Iframe приложение должно "смотреть" на страницу где будет вот такой вот код:
    index.html:
    <!doctype html>
    <html lang="ru">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    
        <!-- Подключаем jquery -->
        <script src="https://code.jquery.com/jquery-1.12.4.min.js" defer></script>
        <!-- Подключаем VK -->
        <script src="https://vk.com/js/api/xd_connection.js?2"  type="text/javascript" defer></script>	
    	
        <!-- Подключаем скрипт регулировки высоты -->
        <script src="/vk_height.js" defer></script>
    	
    </head>
    <body style='text-align:center;padding-top:50px;' id='body'>
    	<a href="javascript:void(0)" id="set-permission">Создать ключ доступа к виждету сообщества</a>
    	<br>
    	<br>
    	<a href="javascript:void(0)" id="set-widget">Добавить виждет в сообщество</a>
    </body>
    </html>


    vk_height.js:
    // инициализация вк
    VK.init(, function() { 
         console.log('Init successful');
      }, function() { 
         console.log('Error init');
    }, '5.73'); 
    
    // функция дня изменения размера окна в зависимости от содержимого страницы
    function autosize(width) {
        //Проверяем элемент body на наличие.
        if (!document.getElementById('body')) {
            alert('error');
            return;
        }
        // Успешно ли подключен ВК скрипт
        if (typeof VK.callMethod != 'undefined') {
            /*
            Вызываем функцию vk js api для управления окном.
            VK.callMethod('функция', параметры)
            В данном случае у нас - VK.callMethod('изменение_размеров_окна', ширина, высота);
            Так же добавляем еще 60 пикселей что бы было небольшое расстояние.
            */
            VK.callMethod('resizeWindow', 840, document.getElementById('body').clientHeight + 60);
        } else {
            alert('error #2');
        }
    }
    
    $(document).ready( function(){
        //Вызываем функцию регулировки высоты каждые пол секунды.
        setInterval('autosize(607)', 500); 
    	
    	$('#set-permission').on('click', function(e) {
    		e.preventDefault();
    		
    		// запрос прав доступа для дальнейшего обновления данных посредством крона
    		// после запрса создается ключ, который можно посмотреть на странице управления сообществом
    		// его и нунжно будет применить для обновления данных в виджете через сервер
    		// дока прав тут https://vk.com/dev/permissions
    		// дока метода тут https://vk.com/dev/clientapi?f=3.+showGroupSettingsBox
    		VK.callMethod("showGroupSettingsBox", 64);
    	});
    	
    	$('#set-widget').on('click', function(e) {
    		e.preventDefault();
    		
    		// запрос установки виджета
    		// типы виджетов можно глянуть тут https://vk.com/dev/objects/appWidget
    		// как подключить виджет можно глянуть тут https://vk.com/dev/apps_widgets
    		VK.callMethod('showAppWidgetPreviewBox', 'text', 'return {' + 
    			'"title": "Цитата",' + 
    			'"text": "Текст цитаты"' + 
    		'};');
    		
    		// типы событий, генерируемых после выполнения запроса на установку виджета можно глянуть тут https://vk.com/dev/apps_widgets
    		// работа с событиями вк https://vk.com/dev/Javascript_SDK?f=4.1.+VK.addCallback
    		VK.addCallback('onAppWidgetPreviewSuccess', function f(data){ 
    			alert("Виджет успешно добавлен"); 
    		});
    	});	
    	
    });


    После создания данных страниц у вас появится возмжность создать ключ (который будет доступен из управления сообществом) и создание простого виджета

    Серверную часть я полностью описывать не буду и покажу только само тело запроса, главное запросить данные через culr по ссылке https://api.vk.com/method/ (Вот гайд)

    Сам запрос:
    $api = new \App\Api\Main\Vk(['access_token' => 'ключ_корый_мы_сгенерировали_первой_кнопкой']);
        $api->request(
            'appWidgets.update',
            [
                'type' => 'list',
                'code' => '
                    var users = API.users.get({"user_ids": [11111, 22222, 33333]});
                    
                    return { 
                      "title": "Конкурс за призы", 
                      "rows": [
                                  { 
                                      "title": users[0].first_name + " " + users[0].last_name, 
                                      "icon_id": "id11111",
                                      "descr" : "1 место - 2000 баллов",
                                      "button" : "Результаты конкурса",
                                      "button_url" : "https://vk.com/link"
                                  },
                                  { 
                                      "title": users[1].first_name + " " + users[1].last_name, 
                                      "icon_id": "id2222",
                                      "descr" : "2 место - 1890 баллов",
                                      "button" : "Правила и призы",
                                      "button_url" : "https://vk.com/link"
                                  },
                                  { 
                                      "title": users[2].first_name + " " + users[2].last_name, 
                                      "icon_id": "id22222",
                                      "descr" : "3 место - 1890 баллов",
                                      "button" : "Хочу на марафон",
                                      "button_url" : "https://vk.com/link"
                                  }
                             ]
                };'
            ]
        );


    Подробности о теле запроса можно узнать тут
    А как его правильно писать - тут

    Вышенаписанный php код можно добавить в крон, автоматизировать и наслаждаться жизнью. И на последок - вот пример рабочего кода в сообществе (сорян за стили, и некоторые замазанные части, мне лень было делать нормальный скрин):
    5a9e7f04c5275110898228.png
    Ответ написан
    5 комментариев
  • Как поменять местами элементы в мобильной версии?

    adik_zhuman
    @adik_zhuman
    Для этого вам нужно по другому написать html
    На пример
    <div class="cantainer">
    <div class="row">
    <div class="col-7">
    1 блок
    </div>
    <div class="col-5">
    2 блок
    </div>
    <div class="col-7">
    3 блок
    </div>
    <div class="col-5">
    4 блок
    </div>
    </div>

    и будет вам счастья)
    Ответ написан
    5 комментариев
  • Можно ли так писать в js?

    Да, у вас будет локальная переменная функции с именем a и глобальная так же с именем a.
    Ответ написан
    Комментировать
  • Как выравнивать кнопку по центру, а от неё уже расположить текст?

    galkan
    @galkan
    div {
    display: flex;
    justify-content: space-between;
    }
    span {
    flex: 1;
    }
    span:first-child {
    text-align: right;
    }
    Ответ написан
    Комментировать