Контакты
Местоположение
Россия, Новосибирская обл., Новосибирск

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (28)

Лучшие ответы пользователя

Все ответы (51)
  • Как правильно сделать такой запрос средствами laravel?

    DB::table('products')
       ->select(['products.id', 'categories.category_filter_by'])
       ->join('categories_relationship', 'products.id', '=', 'categories_relationship.object_id')
       ->join('categories', 'categories.category_id', '=', 'categories_relationship.category_id')
       ->get();
    Ответ написан
  • Как сделать sql dump в папку с локалхоста перед коммитом в windows?

    Павел, я предложу вам совершенно иной вариант. ;)
    Очевидно, что содержимое базы у вас используется для тестирования. Вы хотите в любой момент получить базу с консистентными и знакомыми вам данными, чтобы продолжать работу.
    Я не знаю используете ли вы какой-то фреймворк или нет, но если вы делаете сайт не совсем уж на коленке, то посмотрите документацию по слову Seed.
    Предложение состоит в следующем - написать сидер, который будет наполнять вашу базу консистентными данными. Вы будете точно знать что в БД все хорошо и станете добавлять в сидер новые данные по ходу развития проекта.
    Таким образом вам не нужен будет дамп, т.к. в любой момент вы можете создать консистентную базу с нуля.
    В качестве примера ссылка на доку Laravel: https://laravel.com/docs/5.7/seeding
    Ответ написан
  • Как организовать социальную аутентификацию через Socialite(Laravel)+JWTAuth+Vue.js без редиректа с API-сервера?

    Работает у меня такая схема и в Ionic и в NativeScript.
    В общем схема везде одинаковая.
    Ionic:
    На Laravel нужен Socialite, на клиенте что-то в соответствии с фреймворком. Я использовал ng2-ui-auth. Еще вам нужно установить плагин InAppBrowser.
    Последовательность такая:
    1. В своем приложении вы жмете на кнопку "Войти через GitHub"
    2. Открывается InAppBrowser окно входа GitHub (в урле передается clientId вашего приложения и redirectUri, за это отвечает ng2-ui-auth).
    2а. Обратите внимание что redirectUri из запроса должен быть идентичен Authorization callback URL в настройках вашего приложения на сайте GitHub (Settings / Developer settings / OAuth Apps) и в случае Cordova должен быть равен "localhost:3000".
    3. GitHub авторизирует вас по логину/паролю, спросит разрешения передавать данные Приложению и редиректит страницу на redirectUri добавляя к нему токен.
    4. ng2-ui-auth перехватывает обращение к localhost:3000 (это делается с помощью JS, тут нет никакого локального сервера), достает токен и пересылает его на конечный url (указывается для каждого провайдера в настройках ng2-ui-auth).
    4а. Вот этот конечный url должен быть адресом вашего backend'а, а именно метода, который с помощью Socialite будет запрашивать данные пользователя у GitHub.
    5. С помощь Socialite вы получаете данные о пользователе у GitHub. Создаете пользователя в Laravel, если его нет, и делаете любые другие необходимы действия.
    6. Используя данные пользователя с помощью jwt-auth создаете jwt-токен и возвращаете его клиенту (в пункт 4).
    7. На клиенте запоминаете jwt-токен и тот факт, что пользователь аутентифицирован. Из ответа можете достать email (если вы его передали) и где-нибудь отобразить.
    Все!

    С NativeScript все абсолютно аналогично (там на клиенте я использую nativescript-oauth2) за исключением одного: в NS нет webview, поэтому перехват redirectUri выглядит по-другому:
    1. В Authorization callback URL на GitHub вы пишите что-то вроде blablabla://auth (вместо blablabla какая-то длинная уникальная строка - urlScheme).
    2. Эта urlScheme также пописывается в настройках nativescript-oauth2 и в App_Resources/Android/src/main/AndroidManifest.xml в виде intent-filter
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="blablabla" />
    </intent-filter>

    Приложение перехватывает обращение к этой уникальной urlScheme и дальше все продолжается согласно списка.
    Ответ написан
  • Какой выбрать фреймворк для разработки 2D мобильных игр?

    Godot - реальный конкурент Unity.
    Бесплатный. Поддерживает 2D и 3D. Скрипты можно писать на разных языках, в том числе C#. Язык по умолчанию GDScript - похож на Python.
    Собственное IDE доступно для всех платформ.
    Очень хорошо организован внутри.

    Если кто хочет попробовать 2D в действии, вот моя головоломка: (начиная с версии 3.0 использован Godot). Можно скачать через Google Play.
    Ответ написан
  • Как правильно сконфигурировать Mailer для отправки почты на VPS?

    У меня работает так:
    MAIL_DRIVER=mail
    и убедитесь что $msg_from = 'secret_login@mail.ru'; - существующий ящик.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (9)