• Chmod -R 777 / или как я убил систему одной командой?

    @Reversaidx
    Системные права чинятся за пару минут, ставишь виртуалку с такойже ОС, дампишь права(читай getfacl), и расскатываешь права.
    Если есть бекапы сервера то вообще всё замечательно, просто делаешь тоже самое с бекапа
    Ответ написан
    1 комментарий
  • Как подставить скрипт на сайте?

    cjstress
    @cjstress Автор вопроса
    C#
    Все отлично работает при помощи Telerik Fiddler -> вкладка AutoResponder.
    Ответ написан
    Комментировать
  • Покупка доменов напрямую?

    @lehha
    Чтобы покупать домены напрямую у регистратуры, необходимо стать аккредитованным регистратором в нужной доменной зоне. У .RU и .РФ - это Координационный центр (cctld.ru). Для международных зон - ICANN.

    Стоимость в любом случае около 200к рублей только на получение этого статуса, далее миллионы на программное обеспечение/серверы/поддержку/специалистов/защиту.

    Но каждый домен всё-равно стоит денег, даже если покупать напрямую, и у каждой регистратору требуется держать предоплату/депозит приличный.

    Наценка при большом обороте у реселлеров копеечная и нет смысла становиться регистратором. Но регистратор напрямую может давать лучше сервис и услуги, чем через посредника.
    Ответ написан
    4 комментария
  • Как отследить и зафиксировать продажу(услуги) в оффлаине, когда твой сайт был посредником?

    @GilbertAmethyst
    Как вариант:
    Сделать систему, в которой номера автосолонов заменяются на прокладку через ваш колл-центр, в котором звонок автоматически определяется как лид, далее менеджер (или сама CRM, если в ней сделан call-tracking, такая функция сейчас есть в некоторых CRM, таких как Amo) перенаправляет клиента далее. В конце же месяца созваниваться с салонами и сверять данные по количеству лидов и клиентов. Так как клиент звонит вам, то в CRM остаётся его номер. Дабы контролировать надёжность своих салонов обзванивать случайные номера, уточнять прошла ли у них сделка и довольны ли они сервисом. Соответственно если сделка прошла, а у вас нет об этом информации - штраф с салона или его удаление из сервиса.

    Более простых решений, к сожалению не вижу. Может быть разве что передачу денег организовать только через ваш сервис - но тут тоже большие трудности в плане доверия клиента и организации переводов крупных денежных сумм.
    Ответ написан
    3 комментария
  • Как перезапустить службу без ввода пароля?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Раз уж Алексей Черемисин не сподобился.
    В /etc/sudoers добавить строчку:
    <username> ALL=(ALL) NOPASSWD: /bin/systemctl restart <service_name>
    Ответ написан
    Комментировать
  • Почему не работает php код на хостинге?

    1. Запусти robotx.txt - убедись что статика работает
    2. Запусти измененный robotx.txt -убедись что с этого сервера, как ни странно но тоже нужно ;)
    3. Положи phpinfo.php запусти его и убедись что php работает
    4. зайди с консоли mysql -uroot -ppass dbname - убедись что ты можешь войти в бд так же можно ввести show datatables;
    не забудь что отнють не на всех хостингах localhost

    5. создай на движке пустую страничку подключая чисто движок без кода ( исключив этим проблеммы в коде, отсутствие библиотек и версионность php)
    6. Подключай главный шаблонпостеменно следи на каком этапе отвалится ( как правило до этого не доходит)
    7. зайти на тостер поставить чувачку решено ;))
    Ответ написан
    Комментировать
  • Как вытащить файлы из docker?

    vader666
    @vader666
    Посмотреть список работающих контейнеров:
    docker ps
    Подключение к контейнеру:
    docker exec -t -i <container_name> /bin/bash
    Смотрится структура директорий, находится где лежит проект и запоминается его путь. Выходим из контейнера

    Копируем данные из контейнера:
    docker cp <container_name>:<пусть к проекту> <путь куда копируем на текущем сервере>
    Ответ написан
    Комментировать
  • Какой выбрать таскменеджер для одного человека?

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    контролировать время, которое я трачу на те или иные задачи


    С описанием — те, которые опробованы мною.

    • https://Toggl.com — отдельный софт в трее, расширение под хром, приложение на андроид. Интеграция с кучей сервисов (трело, асана и т.д.). Хоткеи тоже есть. Бесплатного тарифа вполне достаточно. автотрекинг
    • https://RescueTime.com - только в автоматическом режиме логирует, в каких приложениях/сайтах проводите время, и выводит подробную статистику. Бесплатного аккаунта хвататет за глаза.
    • https://TimeDoctor.com — платный. Есть отдельный софт в трее, хоткеи. Интеграция с кучей сервисов.
    • https://pomelloapp.com — простой помидоро-трекер, интеграция с трелло. Хоткеи есть, в трее не сидит, простенький бар поверх всех окон
    • https://PomoDoneApp.com — простой помидоро-трекер, интеграция с трелло. Хоткеи есть, в трее показывает таймер с обратным отсчетом времени.
    • https://tmetric.com — простой трекер, интеграция с трелло, есть десктопное приложение, помидорок нет. Хоткеи есть, сидит в трее
    • https://www.timecamp.com — есть куча интеграций, расширение хром, приложение в трее, автотрекинг
    • https://ManicTime.com - мощный стэндалон тайм-трекер. Очень гибкий в настройках, сидит в трее, есть хоткеи, разные типы таймеров. Платный. Статья danila.org.ua/otrabotannyie-chasyi-moy-podhod
    • https://toptal.com/tracker/
    • ○ Grindstone https://www.epiforge.com/grindstone/
    • https://www.primaerp.com
    • https://tahometer.com
    • https://aTimeLogger
    • https://myhours.com
    • https://wakatime.com
    • savemytime.co

    Статьи
    Ответ написан
    1 комментарий
  • Как заблокировать header в nginx?

    sim3x
    @sim3x
    https://www.cyberciti.biz/faq/unix-linux-appleosx-...

    ### case sensitive http user agent blocking  ###
    if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
        return 403;
    }
    ### case insensitive http user agent blocking  ###
    if ($http_user_agent ~* (foo|bar) ) {
        return 403;
    }


    mailman.nginx.org/pipermail/nginx/2007-January/000...
    stackoverflow.com/questions/18970620/nginx-reject-...
    map $http_via $is_not_ok {
        default     "0";
        "~*squid"  "1";
    }
    
    if ($is_not_ok) {
        return 405; 
    }
    Ответ написан
    2 комментария
  • RAID для домашнего ПК?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    RAID для домашнего ПК?
    Это бессмысленная вещь.
    Если мы говорим о зеркале - оно имеет смысл тогда, когда вам нужна непрерывная работа, чтобы в случае отказа диска у вас не остановилась работа, вы бы этого даже не заметили, а пока вы работаете прибежал админ и поменал диск.
    Это задача RAID 1
    Он никаким боком не относится к сохранению информации.

    В то же время, можно собрать зеркало средствами ОС - Win10. Какие подводные камни могут быть в случае такого, полностью софтового массива?
    Есть три типа массива.
    1. Аппаратный - дорого, быстро, не тратятся ресурсы компьютера, но отсутствует гибкость.
    2. Софтовый - бесплатно, не так быстро, тратятся ресурсы ЦП, гибкая вещь.
    3. Софтовый, реализованный средствами мат. платы - это массив сочетающий недостатки первых двух, и не имеющий достоинств. Использовать категорически не рекомендуется.
    Посыпались ошибки после просыпания компа, чекдиск каждый раз,
    Вы целенаправленно уничтожали свои данные?
    Чекдиск это преднамеренное уничтожение всех данных которые ФС считает не совсем корректными - они просто уничтожаются.
    Он нужен для восстановления работоспособности файловой системы. Если на диске есть ценные данные его ни в коем случае не делают.
    Ответ написан
  • Как правильно обрабатывать ошибки и исключения?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если я правильно понял функционал

    class AppException extends Exception {}
    
    class Test{
      public function create(array $data){
        if(empty($data['message'])){
          throw new AppException('Сообщение не может быть пустым');
        }
      }
    }
    
    $test = new Test();
    
    try{
      $test->create(array('message' => 'v'));
      // redirect
    }catch(AppException $e){
      echo $e->getMessage();
    }


    Идея в том, что при использовании исключений, никаких ручных проверок делать не надо. Если исключения не было - значит всё нормально. А если было, то код попросту не будет исполнен.
    Ответ написан
    1 комментарий
  • Как работает fastcgi в php и phpfpm?

    @galliard
    fastcgi - что-то вроде сервера, который слушает определенный сокет. Он держит пул процессов (воркеров), которые принимают запросы, обрабатывают, возвращают ответ и ждут дальше запроса.


    Вот в этой фразе замени fastcgi на php-fpm и будет правильно. А fastcgi - это технология обработки запроса, по которой каждый воркер крутится в бесконечном цикле, обрабатывая в каждой своей итерации по одному запросу.
    Ответ написан
    3 комментария
  • Как установить пачку софта на большое количество ПК?

    @Tabletko
    никого не трогаю, починяю примус
    Можно подготовить установочный образ с установленным софтом и через pxe или wds разлить на компы.
    Ответ написан
    Комментировать
  • Как спарсить значение, используя php?

    lidacriss
    @lidacriss
    wtf
    как вариант - можно втупую регуляркой
    preg_match('#"edge_followed_by":[^"]*?"count":\s*(\d+)#isu', $script, $match);
    var_dump($match);


    или вытащить из скрипта json и распарсить его:
    if (preg_match('#window._sharedData[=\s]+(?P<json>\{.*});<\/script>#isu', $script, $match)) {
        if ($json = json_decode($match['json'], true)) {
            // в вашем случае такой "длинный" путь
    		var_dump($json['entry_data']['ProfilePage']['0']['graphql']['user']['edge_followed_by']['count']);
        } else {
            echo 'не удалось распарсить JSON';
        }
    } else {
        echo 'не удалось вытащить JSON';
    }


    UPD исходя из ваших ответов выше
    $page = file_get_contents('https://www.instagram.com/instagram/');
    // вариант 1
    preg_match('#"edge_followed_by":[^"]*?"count":\s*(\d+)#isu', $page, $match);
    var_dump($match);
    // вариант 2
    if (preg_match('#window._sharedData[=\s]+(?P<json>\{.*});<\/script>#isu', $page, $match)) {
        if ($json = json_decode($match['json'], true)) {
            var_dump($json['entry_data']['ProfilePage']['0']['graphql']['user']['edge_followed_by']['count']);
        } else {
            echo 'не удалось распарсить JSON';
        }
    } else {
        echo 'не удалось вытащить JSON';
    }
    Ответ написан
    1 комментарий
  • Приложения корректировки форматирования кода?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Видимо вам нужно что-то в стиле
    https://clang.llvm.org/docs/ClangFormat.html
    Вам нужно научиться парсить код и красиво его выводить, с расстановкой табов/пробелов/переводов строк и т.д.
    Но как-то сложновато задание для курсовой.
    Ответ написан
    Комментировать
  • Приложения корректировки форматирования кода?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Предлагаю написать обёртку, которая будет вызывать clangformat или что-то подобное. Всё равно разбираться никто не будет :)
    Ответ написан
    Комментировать
  • Где найти WordPress right way?

    @Flying
    Я смог пересилить отвращение к коду Wordpress и начать с ним работать после того как узнал про Timber, всё-таки Twig - это совсем не то что фаршировать куски html :)

    Для формирования интерфейсов (и структур данных) в админке я себя не представляю без ACF. Использую Pro версию т.к. оно того явно стоит, но есть и бесплатная. Более того, в 5-й версии они добавили такую замечательную штуку как Local JSON что делает ACF весьма дружелюбным по отношению к системам контроля версий.

    Для мультиязычности недавно появился developer friendly плагин WP Multilang заточенный в первую очередь под разработчиков. В компании с Loco Translate позволяет весьма удобно работать с мультиязычностью.

    Также обязательно нужно помнить про WP cli, без него разработчику привыкшему к консоли тяжело :)

    Для работы с Composer есть Wordpress Packagist, так что плагины / темы можно ставить прямо через Composer. Я пытался запилить плагин для Composer'а который всем этим делом управляет, но пока качество imho недостаточное для отдачи его в public.

    Также очень рекомендую присмотреться к ребятам из Delicious Brains, у них в блоге немало интересного.

    Поддержка Wordpress есть в PHPStorm, весьма помогает.

    В целом Wordpress, конечно, весьма мутная штука внутри, но обложившись тонким слоем абстракций можно жить относительно комфортно :)
    Ответ написан
    2 комментария
  • Как создать кошелек, получать и отправлять Bitcoin без скачивания блокчейна на Linux?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Использовать апи какого-нибудь сервиса типа платёжного для крипты. Но это вариант не очень для параноиков.

    Использовать кошелек с конфигом prune и не держать 200 гигов на диске.

    Нужен вариант решения на NodeJS, ну или в коммандной строке.

    Использовать кошелек надо в любом случае, а на каком языке вы будете пинать его апи уже без разницы.
    Ответ написан
    1 комментарий
  • Зависит ли оптимизация программ от языков программирования?

    @Zanak
    Давайте по порядку:
    1. Что такое оптимизация программы?
    Есть такое понятие, как алгоритмическая оптимизация. В простых случаях - это, например, вынос присваивания неизменяемого в цикле значения за его рамки, сохранение промежуточных результатов вычислений, при обработке сложного выражения, развертывание цикла, да и много чего еще, что умеют делать современные компилеры с исходниками. Другое дело, что это, в той или иной мере стараются делать все языки, и скриптовые, и компилируемые, ну, может быть кроме асма, там что напишеш, то и получешь, на сколько мне известно.
    Кроме оптимизации алгоритмической, есть еще оптимизация под целевую платформу. Компилируемые в нативный код процессора языки стараются эту оптимизацию делать, но, на сколько глубоко, скорее всего зависит от конкретного языка. Например Цэ может вылизать каждый байт результата компиляции, а Go приходится помнить и про сборщик мусора, и про планировщик горутин, кроме собственно оптимизации целевого кода. Для скриптовых языков об этой оптимизации можно говорить только в случае поддержки ими jit компиляции, что есть не у всех из них.
    2. Деление на высокоуровневые и низкоуровневые языки достаточно условно.
    Первй критерий, который припоминается - это возможность работы с железом напрямую. Во времена DOS это были асм и цэ, хотя, смутно припоминается, что и паскаль и даже бейсик позволяли скинуть значение в порт или прочитать его. Сейчас, в большинстве случаев, ОС работает в защищенном режиме, и пользовательское приложение прямого доступа к железу не имеет. Особняком стоят языки, которые умеют порождать код, стартующий на голом железе, и здесь кроме асма и це можно, к примеру, вспомнить про erlang, который, хоть и скриптовой, но вроде как умеет стартовать без присутствия ОС, ну или новомодный раст, тоже достойный вариант для рассмотреия.
    3. Отличия между языками - это прежде всего по задачам, для которых они предназначены. Например, большинство языков имеет ограниченную точность математики, и для проведения высокоточных расчетов приходится привлекать внешние библиотеки, но есть фортран, который изначально создавался для проведения расчетов, и он прекрасно справляется с этим сам. Другой пример, на асме можно написать текстовый редактор, только это будет долго по времени, в отличии, того же Цэ с плюсами, но если речь зайдет про отладчик программ, то здесь без асма ни как. Ну и на последок, Lua, который популярен у разработчиков игр как встраиваемый в платформу язык, благодаря своей достаточной скорости при небольшом размере среды исполнения.

    Про джаву ни чего сказать не могу, потому как знаком с ней только по продукции jetbrains и на примере эклипса или нетбинса.
    Ответ написан
    Комментировать
  • Рационально ли внедрять зависимости в класс через DI-контейнер, обходя при этом стороной конструктор и сеттеры?

    @Flying
    В целом это считается плохой практикой. Приведу ссылку на соответствующий кусок из документации DI контейнера в Symfony: https://symfony.com/doc/current/components/depende...

    Доставая зависимости непосредственно из контейнера вы лишаете себя массы преимуществ внедрения зависимостей:
    • Страдает тестируемость класса т.к. вы не можете подменить сервисы на нужные вам во время тестов
    • Вы лишаете себя возможности валидации целостности графа зависимостей в случае если используется компилируемый контейнер (как, например, в Symfony)
    • Вы привносите в класс излишнюю информацию о названиях конкретных сервисов которые вы достаёте из контейнера
    • Вам потребуется дополнительно проверять есть ли каждый из сервисов в контейнере и что же именно вы достали из контейнера (через instanceof)


    Уверен что есть и другие факторы, это то что пришло на ум в первую очередь.
    Ответ написан
    Комментировать