Задать вопрос
  • Как вытащить фотографии из документа word?

    @alexalexes
    1. С помощью архиватора открыть docx и распаковать внутренний каталог word\media.
    2. В файловом менеджере, например, в Total commander или в командной строке, пакетно переименовать эти файлы, используя список из этого документа.
    Единственное условие, в документе фотки должны были сохранены последовательно, так же как добавляли строки. Если порядок добавления строк был нарушен, то имена файлов изображений не будут в том же порядке, что и строки.
    Ответ написан
    1 комментарий
  • Как организовать vpn туннели при помощи gsm модемов?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    Скорость необходима на уровне 50 мбит/сек.

    Такая скорость не достижима на 3G. Там теоретическая максимальная 10Мбит/с, в реальности хорошо если 2 будет (в деревне и 1 может не быть).
    Ответ написан
    1 комментарий
  • Как организовать vpn туннели при помощи gsm модемов?

    @Drno
    Роутер кинетик +usb модем. И поднимайте впн

    Ну либо микротики с 2мя симками, если надо резервирование
    Ответ написан
    Комментировать
  • Как организовать vpn туннели при помощи gsm модемов?

    @rPman
    Объединение каналов с целью повышения скорости существует, называется по разному - link aggregation, trunk, linux bonding (последнее - настраивается штатно в любом linux, именно этот вариант я рекомендую, правда возни в этом случае тьма - поднимать vpn, нужен полноценный tap интерфейс, для каждого модема а затем на сервере и на клиенте объединять их в bonding, само собой простым роутером тут не обойдешься).

    Готовые железки обычно предлагают свой vpn (аренда) с таким функционалом, но чтобы купить готовую железку чтобы поднимать свой vpn сервер, я такое не видел.

    Т.е. помимо поиска железки нужно еще проверять, а скорость от их vpn адекватная? 50мбит это очень значительная скорость.

    И самое главное. А еще нужно понять, мобильные провайдеры дают маленькую скорость не потому ли, что у них самих канал узкий, и в этом случае даже объединение нескольких модемов не даст результата (с мизерными шансами можно объединять симки от разных провайдеров, надеясь что они каждый свой канал организуют, но часто бывает что все арендуют канал и железо у кого то одного, даже вышка может быть общей, какой там канал)
    Ответ написан
    Комментировать
  • Как организовать vpn туннели при помощи gsm модемов?

    ValdikSS
    @ValdikSS
    Вам нужен роутер с https://www.openmptcprouter.com/ на двух сторонах туннеля. Либо аппаратный, либо в виде виртуальной машины.
    Ответ написан
    1 комментарий
  • Как записать данные в Mysql JS JSON PHP?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    я не вижу что приходит в $_POST

    Но какого-то чёрта в if смотрю именно в $_POST. Браво!

    UPD#1: https://stackoverflow.com/a/28619101

    А чем fetch не угодил? Или вы по примерам 2010 года учитесь?
    Ответ написан
    7 комментариев
  • Почему модальное окно не открывается с первого раза?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Скорее всего, это из-за конфликта плагинов или плагина и темы, например. Я бы в первую очередь проверил состояние инлайн-стиля всплывающего окна: display: block; или display: none;. Т.е., банально, это может быть перезапись стиля.
    Ответ написан
    1 комментарий
  • Как перенести почту?

    @Drno
    Ну ты можешь поставить на ПК тот же ThunderBird, синхронизировать почту по IMAP и отправить ящик в "архив"
    Далее уже подключить типа "нового пользователя"

    Либо, что логичнее, оплатить хостеру нужное кол Гб
    Ответ написан
    Комментировать
  • Как перенести почту?

    hint000
    @hint000
    у админа три руки
    Может можно как-то развернуть их на локальном компе?
    Легко. Устанавливаете локально почтовый клиент - Mozilla Thunderbird, Outlook, The Bat и т.п., на ваш вкус. Настраиваете поключение к своему ящику на Яндексе по протоколу POP3 и скачиваете всю почту, она будет доступна локально, даже без подключения к сети.
    Ответ написан
    1 комментарий
  • Как удалить все атрибуты type='text/javascript' и type="text/css" из Вордпресс?

    add_action( 'template_redirect', function(){
        ob_start( function( $buffer ){
            $buffer = str_replace( array( 'type="text/javascript"', "type='text/javascript'" ), '', $buffer );
            $buffer = str_replace( array( 'type="text/css"', "type='text/css'" ), '', $buffer );
            return $buffer;
        });
    });
    Ответ написан
    2 комментария
  • Если сделали новый сайт снизиться ли ИКС?

    ИКС зависит в первую очередь от посещаемости и от внешних линков.

    Посещаемость после редизайна обычно не падает, а растет. Падать она может, если трафик был из поиска, url стали новыми, а редиректы по каким-то причинам сделать забыли.

    Внешние линки не зависят от редизайна, как ссылались на страницы, так и продолжат. Опять же нужно убедиться, что все страницы со старого сайта ведут на аналогичные страницы нового сайта. В этом случае вес ссылки не будет уходить "в никуда", а продолжит передаваться сайту.

    То есть вам нужно обеспечить редиректы со всех старых страниц на новые страницы и тогда я не вижу причин для падения ИКС, скорее вырастет.
    Ответ написан
    1 комментарий
  • Как создать универсальный класс для создания формы на JS?

    liqrizz
    @liqrizz
    лол
    fields: {type: TypeEnum; classNames: string[]; id: string}[];
    
    render() {
      const mappedFields: HTMLElement[] = this.fields.map(field => new InputField(field.type, ...field.classNames).render());
      this.element.append(...mappedFields);
      this.element.append(new Button('submit', 'create-car-submit', 'Create', 'btn', 'blue') .render());
    }
    Ответ написан
    Комментировать
  • Как лучше использовать removeEventListener?

    @sergiodev
    По-моему у вас некорректно удаляются listener-ы, т.к. вы связывая метод с this через вызов this.onButtonGarageNext.bind(this) вы тем самым создаёте новую функцию, а в removeEventListener() вы передаете сам метод onButtonGarageNext. Получается, что ничего не удалится, т.к. такая функция не навешана не событие click и listener не найдётся при удалении.

    Нужно где-то запомнить функцию, возвращаемую из bind() и потом передавать её в removeEventListener().

    Насчёт повторяющегося кода - я бы записал ссылки на элементы .top-menu, #btn-garage-next, #btn-garage-prev в какое-нибудь поле класса при инициализации, и потом их переиспользовал в removeListeners(), например:

    this.menuBbtn = document.querySelector('.top-menu');
    this.btnGarageNext = document.querySelector('#btn-garage-next');
    this.btnGaragePrev = document.querySelector('#btn-garage-prev');


    Если вы используете React, то там для этого есть специальный атрибут ref - https://ru.reactjs.org/docs/refs-and-the-dom.html
    Ответ написан
    1 комментарий
  • Как отрабатывает логика скрипта js?

    WblCHA
    @WblCHA
    когда я выношу этот код из функции, удаление срабатывает только 1 раз на том элементе на который я кликаю, почему так происходит?

    Потому что ты вешаешь события только 1 раз при первичном вызове скрипта, а далее ты вызываешь showListFilm, ПОЛНОСТЬЮ перерисовываешь все промо айтемы (включая дивы в них) и всё. Откуда в новых дивах появятся эвенты, если, ты их не создаёшь после перерисовки?
    Ответ написан
    1 комментарий
  • Как в php usort() вывести определенное значение самым первым?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    $array = [
        'Д',
        'А',
        'Б',
        'В',
        'Г',
        'Ж',
        'Ф',
        'Х',
        'О',
        'П',
        'Р',
        'Санкт-Петербург',
        'Т',
        'З',
        'У',
        'Л',
        'Москва',
        'Н',
        'Е',
    ];
    
    $first = [
        'Москва',
        'Санкт-Петербург',
    ];
    
    usort($array, function($a, $b) use ($first) {
        foreach ($first as $item) {
            if ($a == $item) return -1;
            if ($b == $item) return 1;
        }
        if ($a == $b) return 0;
        return $a < $b ? -1 : 1;
    });
    
    print_r($array);


    Элементы, указанные в массиве $first будут выведены в начале списка, и именно в том же порядке что указаны.

    То есть, если задать
    $first = [
        'Санкт-Петербург',
        'Москва',
    ];

    то Питер будет первым.
    Ответ написан
    Комментировать
  • Как в php usort() вывести определенное значение самым первым?

    @d-sem
    function compare ($v1, $v2) {
        if ($v1=='Москва' && $v2='Санкт-Петербург') return -1;
        if ($v2=='Москва' && $v1='Санкт-Петербург') return 1;
        if ($v1=='Москва' && $v2!='Санкт-Петербург') return -1;
        if ($v1=='Санкт-Петербург' && $v2!='Москва') return -1;
        if ($v1!='Санкт-Петербург' && $v2='Москва') return 1;
        if ($v1 == $v2) return 0;
        return ($v1 < $v2)? -1 : 1;
    }
    Ответ написан
    5 комментариев
  • Возможна ли работа в VirtualBox c 2 компьютеров в ЛВС?

    fzfx
    @fzfx
    18,5 дм
    > Возможна ли работа в VirtualBox c 2 компьютеров в ЛВС?
    что имеется под работой в VirtualBox? жать кнопку "запустить виртуальную машину"? штатными средствами вы её можете нажать только на той машине, на которой у вас запущен VirtualBox. ещё можно подключиться к хосту по RDP и запустить на нём VirtualBox. ещё можно использовать удалённый вызов команд через powershell.
    > Задумка такая на сервер разместить виртуальную машину (сам виртуальный диск)
    т. е. виртуальный диск для виртуальной машины разместить на сервере, а саму виртуальную машину - где-то ещё, так? и где именно в таком случае вы собираетесь её держать, если не на сервере? и зачем?
    > и подключаться к нему с компов в ЛВС.
    т. е. к диску? нет, не надо подключаться к диску с компов в ЛВС. выберите один какой-то комп, установите на нём VirtualBox, и подключите в VirtualBox к виртуальной машине виртуальный диск по сети.
    > Необходима работа с Microsoft Access. Возможно ли это?
    Работа с Microsoft Access отношения к VirtualBox имеет довольно слабое. Microsoft Access работает на компах, Microsoft Access работает в виртуалке, лишь бы системные требования соответствовали.
    Ответ написан
    1 комментарий
  • Как настроить контроль и логирование действий пользователя?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Используйте домен всегда. Делайте бэкапы, выделяйте место для версий файлов, что то совсем критичное переносите в sharepoint там есть инструменты просто не разрешающие удалить документ, или не позволяющие идиоту опубликовать своё видение без утверждения. Все это стоит денег но оно себя оправдывает
    Ответ написан
    Комментировать
  • Как сделать выборку из промежуточной таблицы?

    slo_nik
    @slo_nik Куратор тега Yii
    yura_born, ну тогда должно быть как-то так
    Сотрудники:
    id - primaryKey
    name - имя сотрудника
    surname - фамилия сотрудника

    SotrRank
    id - primaryKey
    id_employee - id сотрудника из таблицы Sotrudnik
    id_position - id должности

    RankList
    id - primaryKey
    name - название должности

    Вам надо получить когда и какую должность занимал сотрудник. В модели Sotrudnik делаем связь на SotrRank
    public function getSotrRank()
    {
         return $this->hasMany(SotrRank::class, ['id_employee' => 'id');
    }

    Но так получите только id должности, вместо названия. Поэтому в модели SotrRank делаете связь на RankList
    public function getRank()
    {
         return $this->hasOne(Rank::class, ['id' => 'id_position');
    }

    И выводите в цикле
    // действие
    public function actionSql($code)
        {
            $employee = Sotrudniki::find()->where(['code' => $code])->all();
    
            return $this->render('sql', [
                'employee' => $employee
            ]);
        }
    // вид sql
    foreach($employee as $value){
        echo $value->name; // имя сотрудника
        // ещё один цикл для получения данных по связи SotrRank
        foreach($value as $sotrRank){
        // получить название должности через связь Rank
         echo $sotrRank->rank->name;
        }
    
    }

    Вот как-то так.

    p.s. Обязательно будут ошибки, но Вы их сами исправите, я уверен.
    Ответ написан
    2 комментария
  • Как в ActionColumn добавить свой идентификатор?

    slo_nik
    @slo_nik Куратор тега Yii
    'columns' => [
        // ...
        [
            'class' => ActionColumn::className(),
            'buttons' => [
                'view' => function($url, $model, $key){
                    return Html::a('View', ['sotrudniki/view', 'code' => $model->id);
                }
            ]
        ],
    ]

    До рабочего состояния доведёте сами.
    Ответ написан
    2 комментария