• Как отобразить все реквесты через джаваскрипт?

    @Valera221
    Делаю сайты
    Используй библиотеку jQuery - ajax и конкретно тебя должно интересовать https://api.jquery.com/jquery.ajax/#:~:text=Save%2....
    $.ajax({
      method: "POST",
      url: "some.php",
      data: { name: "John", location: "Boston" }
    })
      .done(function( msg ) {
        alert( "Data Saved: " + msg );
    });

    Делаешь файлик .php например, он обрабатывает пост данные и отправляет их в базу данных,
    в url даешь на него ссылку.
    в файле напиши php

    $name = $_POST["name"];
    $location = $_POST["location"];
    var_dump($name, $location);


    и в переменной msg ты увидишь эти переменные

    Либо вот такой запрос на чистом JS

    fetch ("some.php",{
    body: "name=" + encodeURIComponent("John") + "&location=" + encodeURIComponent("Boston")
    cache: "default",
    headers: {'Content-type': 'application/x-www-form-urlencoded; charset=utf-8'},
    method: "POST",
    mode: "cors"
    }).then( (response) => {
      if (response.status !== 200) {           
        return Promise.reject();
      }
      return response["text"]();
    }).then(msg=>{
    alert( "Data Saved: " + msg );
    })
    Ответ написан
    2 комментария
  • Как устроен докер при развертывании?

    папочки vendor и node_modules отсутсуют, точно так же, как и файл .env

    Во время сборки контейнера тебе надо делать npm install/npm ci и прочее, чтобы выкачать зависимости и собрать все артефакты.
    С .env аналогично - ты должен явно его скопировать внутрь контейнера, во время сборки (а лучше оставить пространство для настроек и использовать переменные среды, ИМХО).

    Попробуй поискать на гитхабе, как другие люди деплоятся в докером - уверен, примеров таких не мало.
    Ответ написан
    3 комментария
  • Как вернуть ошибку?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    On Laravel side:
    return response('Something went wrong', 500)->header('Content-Type', 'text/plain');
    Ответ написан
    Комментировать
  • Как вернуть ошибку?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Есть 2 подхода
    Все ошибки кэтчить и отдавать 200 статус
    И обрабатывать модель в которой есть сообщение об ошибке и статус
    Второй смотреть статус ошибки и выводить ответ уже на клиенте
    Ответ написан
    Комментировать
  • Как правильно передавать параметры при новом создании экземпляра?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Такое, конечно, можно сделать через статическое свойство со списком экземпляров класса, но зачем нужен такой изврат? В каких реальных целях его применять?
    class A
    {
        private static array $instances = [];
        public readonly int $value;
      
        public function __construct(?int $value = null)
        {
            if ($value !== null) {
                $this->value = $value;
                static::$instances[] = $this;
            }
        }
    
        public function summ(): int
        {
            return array_reduce(
                static::$instances,
                fn($acc, $cur) => $acc + $cur->value,
                0
            );
        }
    }
    
    new A(2);
    new A(3);
    $summ = (new A())->summ();
    print $summ; // 5
    Ответ написан
    Комментировать
  • Что лучше: очередь запросов или один, но большой?

    rakot
    @rakot
    В большинстве случаев этот вопрос — экономия на спичках.
    В данном случае большой запрос будет простым и выполнится легко, значит будет быстро.
    Много мелких запросов, скорее всего вообще не дойдут до базы, а результат будет взят из кеша, а значит тоже будет выполнен быстро.

    Делайте так, как вам удобно, а желание оптимизировать приберегите для мест, где это действительно нужно.
    Ответ написан
    Комментировать
  • Как правильно сделать сохранение "глобальной переменной"?

    @rPman
    Может сначала задачу свою озвучишь?

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

    Так же тестировать такой код сложнее, ведь если поведение класса определяется только его внутренним состоянием, это состояние проще симулировать.

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

    iMedved2009
    @iMedved2009
    Не люблю людей
    Singleton - тоже плохая практика

    class Single
    {
        public array $data = [];
        public static $instance;
    
        PRIVATE function __construct()
        {
        }
    
        public static function getInstance()
        {
            if (empty(self::$instance)) {
                self::$instance = new Single();
            }
            return self::$instance;
        }
    
        public function __get(string $key)
        {
            return $this->data[$key]??null;
        }
    
        public function __set(string $key, $value)
        {
            $this->data[$key] = $value;
        }
    }
    
    class A
    {
        public static function tryW()
        {
            Single::getInstance()->some = 1;
        }
    }
    
    class B
    {
        public static function tryR()
        {
            var_dump(Single::getInstance()->some);
        }
    }
    
    $a = new A();
    $a->tryW();
    
    $b = new B();
    $b->tryR();
    Ответ написан
    2 комментария
  • Как можно попрактиковать "интеграцию с API"?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Сразу спрашивать какой их интересует. Application Programming Interface
    Это практически все внешние продукты.

    Впрочем читайте
    https://aws.amazon.com/ru/what-is/api/#:~:text=API...

    https://en.wikipedia.org/wiki/API.
    Ответ написан
    Комментировать
  • Как можно попрактиковать "интеграцию с API"?

    ddv88
    @ddv88
    Binance Futures
    Под "работой с стронними апи" подразумевается не то что кажется.
    Запросы через курл любой кодер сможет сделать.
    Суть в понимании устройства как минимум REST и SOAP.
    Умение читать и составлять схемы в Swager или иной динамической документации.
    Понимание как обрабатывать приходящие данные и главное где хранить.
    У многих платежных систем есть очень хитровыдуманные алгоритмы авторизации и токенизации данных. Нужно иметь представление о том, с чем ты можешь столкнуться например реализуя оплату через блокчейн или P2P шлюзы.

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

    pLavrenov
    @pLavrenov
    Разработка сайтов
    Популярная задача на интеграцию с платежной системой.

    Апи тиньков банка

    Надо сделать:
    Добавление заказа в базу данных
    Оплата заказа
    Подтверждение оплаты через колбэк

    Единственный минус нужен тестовый терминал как все это проверить.
    Ответ написан
    Комментировать
  • Как можно попрактиковать "интеграцию с API"?

    Newto
    @Newto
    На самом деле интересный вопрос. Я вот, за всё время свой работы, интегрировал сайты со множеством сторонних систем по REST API. Потом, как-то на собеседовании, на вопрос типа "что вы знаете о REST API", на серьёзных щах, ответил, "да практически всё" и начинал перечислять всякие банки, платёжки, сервисы доставки и т.п. с которыми делал интеграцию. Как вам и написал キム ファイブプラス выше, у некоторых из них были весьма "хитровыдуманные" алгоритмы, одна только интеграция с ЕСИА чего стоила... Однако потом меня спросили: "а как бы вы сами осуществили API в каком-либо сервисе?"... И тут весь мой опыт предыдущих интеграций мне не особенно то и помог, т.к. осуществлять приём ответов откуда-то там -- это одно, а их отдавать и грамотно обрабатывать -- это совсем другое. Поэтому мой совет такой: для опыта интеграции ищите "openapi" у различных сервисов, интегрируйте себе на сайт, если он у вас есть, платёжку от QIWI, например (там есть работа от физ лица). А так же напишите собственное API. Скачайте программу postman, посмотрите какие бывают методы авторизации. Попробуйте реализовать парочку из них, и сделайте грамотную обработку входящих данных, а так же ответ на них, в стандартном json-e.
    Ответ написан
    Комментировать
  • Как разные ОС влияют на производительность?

    ValdikSS
    @ValdikSS
    Если вы устанавливаете ОС на жесткий диск (а не на SSD), то какая-то разница в производительности будет из-за физического расположения раздела на диске. Чем ближе раздел к началу диска (внешняя часть блина), тем быстрее скорость и время доступа (задержки). Чем ближе к центру, тем медленнее.
    Ответ написан
    2 комментария
  • Как разные ОС влияют на производительность?

    @Nikita1244
    Anonymous
    На производительность процессора, ОЗУ, и других компьютерных комплектующих, кроме диска, не влияют. На диск влияет, потому что если на нём будет мало памяти - он будет медленнее работать.
    При использовании одной ОС, другие "спят". Не может быть так, чтобы все три ОС работали на компьютере, но вы работали только в Ubuntu. И они ничего о друг друге не знают. Проще говоря, они сами по себе, только GRUB знает о них, потому что находит записи в UEFI(BIOS)
    Ответ написан
    Комментировать
  • Как разные ОС влияют на производительность?

    Единовременно же работает только одна ОС, а все остальные мёртвым грузом лежат на диске.
    Так что никакого влияния не будет.
    Ну и да SSD, когда занято более 80% начинают работать медленнее.
    Ответ написан
    1 комментарий
  • Как в phpstorm изменить размер шрифта в окне кода?

    SnaIP
    @SnaIP
    Front-end разработчик
    alt+ctr+s Появится окно, затем Editor->color & fonts
    Ответ написан
    4 комментария
  • Как отключить "связь" с проектом в гитхаб/битбакет?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Отключить связь локальной и внешней ветки. Эта связь у каждой ветки своя.
    git branch --unset-upstream [локальная_ветка]

    Удалить псевдоним адреса внешнего репозитория от которого мы клонировались
    git remote remove origin

    Ну либо через меню Git — Manage Remotes...
    625df2f6011dd404569686.png

    В принципе достаточно последней команды.
    Если удалить origin, то очищаются и все связи между ветками, в которых упоминался origin.
    Ответ написан
    Комментировать
  • Как выучить javaScript для бекенда?

    kirbi1996
    @kirbi1996
    Это нужно будет в случае если на тебя как на Бэка повесят админку, иногда бывает если админка простая ее вешают на бэков, если не ошибаюсь у вас есть коробочные решения для этого и вот тут иногда нужно знать js чтобы где то подправить функционал
    Ответ написан
    1 комментарий
  • Почему не работает связь многие ко многим?

    ig0r74
    @ig0r74
    MODX-разработчик
    Рабочий вариант (скорее всего здесь у тебя перепутаны местами category_id и post_id):
    public function products(): BelongsToMany
    {
        return $this->belongsToMany(Product::class, 'category_product', 'category_id', 'product_id');
    }

    Миграция:
    Schema::create('category_product', function (Blueprint $table) {
        $table->primary(['category_id', 'product_id']);
        $table->foreignId('category_id')->nullable();
        $table->foreignId('product_id')->nullable();
    });

    И еще классы, должны именоваться в единственном числе Post, а не Posts. Таблицы во множественном - тут верно.
    Ответ написан
    Комментировать