• Как практиковаться в программировании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Забей на программирование, это не твое.

    Если тебе не интересно работать в консоли, неинтересно с формочками, то может быть, сильно настучав себе на голове ты это и сможешь осилить, и может быть даже сможешь осилить интервью и трудоустройство. Но на работе все равно быстро перегоришь и будешь жить несчастную жизнь.

    Найди ту деятельность, где у тебя глаза горят.
    Ответ написан
    4 комментария
  • Куда мне писать данный код?

    @maximq
    QA Engineer
    Там же снизу написано:
    Я использовал Postman для этой задачи, просто удобнее, когда всё наглядно и с user-friendly интерфейсом

    Эту команду можно импортировать в postman, после установки и запуска postman выбираем File - Import и нажимаем CTRL + V.
    Таким образом будет создан запрос для отправки.

    Что вообще собой представляет эта команда? Выполнив (отправив) этот запрос мы сообщаем телеграму, что необходимо зарегистрировать вебхук, куда ему (телеграму) следует отправлять нам уведомления — на какой сервер. В качестве сервера он принимает значение содержащееся в теле запроса - json объект, где есть ключ url — значение которого (домен API-шлюза) и будет принят для отправки на него уведомлений.

    Учитывая какой вопрос вы задали, предположу что бот у вас будет работать на вашем компьютере, соответственно и сервера то, возможно, нет. Вам нужен другой туториал по разработке бота (не вебхук бот), вот один из хорошо написанных.
    Ответ написан
    1 комментарий
  • Почему global не действует на переменную, инициализированную во внешней функции?

    @Vitsliputsli

    Почему следующий код на PHP печатает 7, а не 12?

    Потому что это не js. А global работает ровно так как описано в доке, по-другому никак, т.к. область видимости работает иначе в языке.
    А делать надо так, чтобы функция внутри себя не обращалась с произвольными данными извне, только с теми, которые вы заранее объявили. Только так можно контролировать код. А значит global не нужен.
    Ответ написан
    Комментировать
  • В чем разница записи массива через указатели?

    @res2001
    Developer, ex-admin
    Приоритет операции * выше, чем у -
    Ответ написан
    Комментировать
  • Что это за файл, и как его удалить?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    1) То, что tcpsvcs.exe - системный процесс, еще не означает, что он не был подменен, в него не инжектирован вредоносный код (в том числе только в оперативке, а не на диске).

    2) Вы установили себе вредоносное ПО. То, подо что оно мимикрирует - не имеет значения. То ли это псевдо-торент, то ли "скачивальщик", то ли показыватель баннеров. Надо понимать - злоумышленникам нужен доступ к вашему ПК и он был получен, при чем с админскими правами. Название компании - это просто для вашего самоуспокоения, дескать это такое своеобразное ПО.

    3) Схема троянского ПО обычно такая: сайт-приманка; "дроп" - компонент который забрасывает на ваш комп
    полезную нагрузку; "троян" - сам компонент зловреда с полезной нагрузкой и удаленным управлением; дальше идет сервис в даркнете по продаже услуг, связанных с зараженными ПК, согласно покупок сервиса - вам будет по необходимости инсталлироваться то вредоносное ПО, на которое есть спрос: кража банковских данных, аккаунтов в соцсетях и мессенджерах, майнинг крипты и т.д.

    4) Ваши действия сейчас не соответствуют угрозе. У вас есть немного форы, пока злоумышленники продают базу в даркнете. Потом ее кто-то купит и начнется веселье. Срочно необходимо:
    а) с чистого устройства немедленно сменить все пароли доступа которые когда либо как угодно были на вашем ПК, в том числе в хранилище гугла. Включить двухфакторку везде, где это возможно.
    б) предупредить всех ваших контактов в соцсетях, мессенджерах и т.д. - что вы взломаны, и денег никому не давать.
    с) обойти все банки, которыми вы пользуетесь - заблокировать все онлайн операции и приложение.
    ... и только уже потом снести систему полностью, включая загрузочные разделы на жестком диске, перепрошить заново BIOS, и ставить винду по новой, с образа MSDN.

    Ну и молиться, что всё обойдется только этим, а легкомыслие - не приведет к действительно серьезному ущербу.
    Ну или быть легкомысленным и дальше, и однажды получите "привет" существенно серьезнее.
    Ответ написан
  • Какие ведутся документы при разработке ПО?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Например, сейчас мне необходимо сделать документ, который будет содержать информацию о том, какие дополнительные функции необходимо реализовать в уже существующем проекте.

    Техническое задание (ТЗ)?
    Ответ написан
    Комментировать
  • Зачем нужен интерфейс, если есть абстрактный класс?

    @Mercury13
    Программист на «си с крестами» и не только
    Разрешите добавить. Интерфейс, грубо говоря,— это абстрактный класс без данных и недописанных функций (каждая или полностью жизнеспособна в какой-то ситуёвине, или нулевая = полностью абстрактная, не путать с пустой). И причины этому две.

    1. Организационная. Говорит программистам: не ставьте тут абстрактный класс, если можно интерфейс. Так кузявее: не стоит подключать большую артиллерию, когда можно обойтись малой кровью.

    2. Техническая. Прикрывает один такой серьёзный жупел, как ромбическое наследование данных. Ромбическое наследование данных бывает двух видов.
    Пусть у нас такое:
    class Grandfather { public: int field; };
    class LeftFather : Grandfather {};
    class RightFather : Grandfather {};
    class Son : LeftFather, RightFather {};

    а) С дублированием, когда у сына два поля field, унаследованное через левого отца и через правого. Достаточно сделать функцию…
    void foo(LeftFather& x) { x.field = 42; }
    Как сохранить синхронизацию для левой и правой ветки наследования?
    б) С общим дедом, когда у сына одно такое поле (через виртуальное наследование Си++). Тут левая и правая ветки могут быть просто не готовы к тому, что поле будет меняться без её ведома.

    Ромбическое наследование функций не так вредно: ведь любая функция, извините, работает с данными. А значит, она или имеет дело с внешними данными (а значит, в обеих ветках сделает одно и то же), или нулевая, или просто комбинация таких же нулевых (InputStream.remainder() { return size() - pos(); }).

    Почему я говорю «в какой-то ситуёвине». Возьмём тот же remainder. Существуют потоки — скажем, закэшированный ввод с внешнего устройства — которые не имеют размера и позиции, но способны иметь остаток. Для каких-то потоков можно написать остаток более эффективный. Но это казуистика.
    Ответ написан
    Комментировать
  • Веб-сервер дома на виндовс для работы с python?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Начните с изучения Django и формирования более конкретных вопросов.
    Ответ написан
    Комментировать
  • На чем создать мобильное приложение?

    @caballero
    Программист
    а заем тут мобильное приложегние?
    сделайте несколько страниц в ERP и пусть работабт с ьраузера
    Ответ написан
    2 комментария
  • Proxmox - это Debian?

    @Drno
    да
    Ответ написан
    Комментировать
  • Как сохранить get параметр при переходе на другую страницу?

    @alexalexes
    Если вы хотите сохранить выбранный населенный пункт в вашем разрабатываемом сайте (интернет магазине), то вам не нужно тянуть этот параметр при каждой ссылке. Вам нужно при выборе города от пользователя получить этот параметр один раз и сохранить его либо в куках $_COOKIE, либо в сессионной переменной в $_SESSION, либо в базе данных в профиле пользователя.
    Далее, при любом обращении к любой странице вашего сайта доставать этот параметр из описанных выше источников и использовать как некую переменную контекста для выбора и формирования контента страницы.
    Ответ написан
    1 комментарий
  • Как установить готовый проект Laravel на VPS-сервер?

    delphinpro
    @delphinpro
    frontend developer
    Подключиться к серверу по ssh
    Если проект в гите, то настроить соединение с гитхабом (гитлабом и т.п.), то есть сгенерить ключи, добавить их в лк гитхаба и протестировать подключение.
    Когда соединение есть, клонировать проект из репы git clone ...
    Если не в репе, то просто залить по ftp файлы проекта
    Далее выполнить установку зависимостей
    composer install
    Смонтировать хранилище
    php artisan storage:link
    Установку зависимостей фронта и его сборку
    npm install
    npm run build

    Отредактировать файл .env, внеся в него необходимые настройки подключения к БД и прочие.
    Выполнить миграции и при необходимости сидирование
    php artisan migrate
    php artisan db:seed

    Первичное развертывание закончено
    Ответ написан
    Комментировать
  • Как исправить create_function на php 8?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    array_walk_recursive(
        $arConfig,
        static function (&$n)
        {
            $n = match($n) {
                "true" => true,
                "false" => false,
                default => $n,
            };
        },
    );
    Ответ написан
    Комментировать
  • Предлагают $8000 за браузерное расширение с аудиторией 120к+, адекватно?

    Noizefan
    @Noizefan
    8 - мало в любом случае, 15-20 по моим грубым, ориентиров по прайсу на такое быть не может, аудитория и специфика бывает разной.
    если есть сайт или возможность управлять этими 125к - им можно предложить продукт за 500, и если хотя бы 16 из них купят - человек отбил вложения. Чуть чуть прикинь и посчитай как можно этот ресурс трансформировать в прибыль, и примерно узнаешь сколько это может стоить.
    Другая сторона - тебе самому этот актив не нужен, извлекать прибыль не хочешь / не умеешь, но считаешь что оно должно стоить дороже предложенного?
    Другой вопрос - вместе с расширением тебе судя по всему придется отдавать аккаунт. Далее загружается обновление или используется какая нибудь уязвимость, и расширение становится разносчиком вредоносного кода, крадет деньги, следит за пользователями. Оно ж еще наверняка дырявый manifest v2?) А ты, получается, не просто соучастник, а аккаунт-то вовсе полностью твой, и вот ты уже закрыл себе въезд в многочисленное количество стран и нажил проблем на задницу за 8000.

    Чо бы я тебе посоветовал - не продавать, а нанять человека и за процент вместе с ним попробовать трансформировать этот актив в прибыль. И сам больше заработаешь, и риск подконтролен тебе.
    Ответ написан
    7 комментариев
  • Как добавить всплывающее окно на сайт 1с битрикс?

    godsplane
    @godsplane
    1. Заходим на https://freelance.habr.com/
    2. Ищем исполнителя
    3. Оплачиваем заказ
    4. Получаем результат
    Ответ написан
    Комментировать
  • Почему одно регулярное выражение для одной и той же строки выдаёт разные результаты?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    JavaScript RegExp objects are stateful when they have the global or sticky flags set (e.g., /foo/g or /foo/y). They store a lastIndex from the previous match. Using this internally, test() can be used to iterate over multiple matches in a string of text (with capture groups).
    Кратко - с опциями g и y объект RegExp сохраняет позицию, с которой продолжает поиск при следующем вызове. У вас одинаковые строки и второй вызов начинает с позиции, на которой закончился первый вызов, то есть уже после '.mp3'.
    Ответ написан
    1 комментарий
  • Какой самый лёгкий и безопасный способ держать пользователя авторизованным?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Опять не подходит потому что куки могут украсть.
    Откуда вы такие специалисты по безопасности беретесь?..

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

    Хранить IP последнего входа в аккаунт? Идея неплохая, но если каким-то магическим образом БД взломают, то все айпи попадут нехорошим людям.
    Оу, вас это больше всего расстраивает? Учитывая что 80% траффика сейчас идет через мобильные сети, айпи будет разниться при каждой сессии авторизации. И в данном случае вероятность такого взлома вы почему-то оцениваете практически как "магию", в то время как доступ к кукам пользователя у вас на уровне "ну, это точно случится, и скорее всего раньше, чем позже, любой может там гулять как у себя дома"...
    Ответ написан
    2 комментария
  • Ошибка Allowed memory size of 4294967296 bytes exhausted (tried to allocate 81920 bytes)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Исправить скрипт, чтобы ему для работы не требовалось 4 Gb оперативки.
    Ответ написан
    1 комментарий
  • Как правильно выбрать фреймворк и яп для проекта, если ты заказчик?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Я думаю, таких фреймворков не существует.
    Дело в том, что ваши требования совершенно уникальные

    1)Нужно будет выполнять много запросов к БД

    На всех остальных сайтах делается один-два запроса в час.

    2)Важная быстрая скорость работы нашего сайта

    Это очень редкое требование, обычно сайту достаточно возвращать ответ в течение получаса

    3)Безопасность от всяческих XSS и SQL атак.

    Это самое сложное. еще не написан фреймворк, который бы писал код за программиста, или хотя бы подчищал за ним баги и уязвимости
    Ответ написан
    Комментировать