• Какой посоветуете план обучения Go?

    @iburanguloff
    Fullstack web developer
    Рекомендую для начала взять книгу Донована - Язык программирования Go и повторять описанные примеры, затем реализовать свой собственный проект - например микросервис авторизации и аутентификации или систему распределенного кеша - по мере реализации своего кода будут возникать вопросы, которые реально нужны в продакшне. Это была программа "вката" у меня. Вообще чем больше практиковаться, тем лучше
    Ответ написан
    Комментировать
  • Как преобразовать стандартный массив в следующий формат?

    @iburanguloff
    Fullstack web developer
    Массив в PHP - это структура данных ключ-значение. Массив не может быть просто 121257, 121257a, 121257b, 121257c, 121257d, 121257e, у каждого значения должен быть ключ. Когда ключи идут по порядку начиная с 0 бывает что ключи не упоминают, однако они все равно есть. Чтобы их увидеть например можно вывести список элементов массива:
    foreach ($my_arr as $key => $value) {
    echo $key + ' - ' + $value + "\n";
    }


    Этот код будет в цикле foreach обходит массив $my_arr и присваивает переменным $key и $value соответственно ключ и значение и передавать их в стандартный вывод.
    Ответ написан
    Комментировать
  • Как с помощью telegram-bot-api получить два значения?

    @iburanguloff
    Fullstack web developer
    В цикле for-range с использованием каналов при каждой итерации будет получаться только одно значение из канала. Чтобы получить несколько значений, нужно вручную производить присваивание их переменным, а цикл использовать другой, например обычный for. Примерно такой цикл результат должен вас устроить:
    for {
    		upd1 := <-updates
    		upd2 := <-updates
    		upd3 := <-updates
    		
    		...
    		
    		
    		if upd1.Message != nil {
    			command1 := upd1.Message.Text
    			...
    		}
    		if upd2.Message != nil {
    			command2 := upd2.Message.Text
    			...
    		}
    	}


    Здесь стоит обратить внимание на updN := <-updates - эта инструкция позволяет вручную вычитывать из канала данные.
    Еще лучше использовать updN, ok := <-updates - в этом случае переменная ok будет принимать булево значение, которое будет равно false в случае закрытия канала. Рекомендую изучить go channels, чтобы это не вызывало затруднений, т.к. в языке Go это один из основоплагающих инструментов для работы с горутинами. Ну и break в цикле нужно не забыть
    Ответ написан
    Комментировать
  • Как принудительно закрыть соединение без ожидания полного ответа запроса?

    @iburanguloff
    Fullstack web developer
    Для этого отлично подойдут контексты (пакет context) в связке с функцией http.NewRequestWithContext, который принимает контекст одним из параметров. В момент, когда вы поймете, что запрос следует прервать - можно отменить контекст и соединение прервется. Например функция context.WithCancel создает контекст и возвращает кроме него еще функцию, вызвав которую контекст можно закрыть
    Ответ написан
  • Что за одинарные кавычки и как они преобразуются в число?

    @iburanguloff Автор вопроса
    Fullstack web developer
    Ответ написан
    Комментировать
  • Проблема при запуске ubuntu, что делать?

    @iburanguloff
    Fullstack web developer
    62ac2ea4bdb03782477224.png

    62ac2ec18fa36837651445.png

    В консоли пишем команду и открываем файл blacklist на редактирование
    nano /etc/modprobe.d/blacklist.conf
    В открывшемся файлe добавляем строку
    blacklist i2c-piix4
    Нажимаем Ctrl+S (сохранить)
    Нажимаем Ctrl+X (закрыть)
    Перезагружаем машину
    Вуаля, Ubuntu грузится обратно :)

    Взято отсюда c правками - https://zen.yandex.ru/media/id/5ec1740672423a6de38...
    Ответ написан
    4 комментария
  • Laravel. Как сделать корректное определение IP?

    @iburanguloff
    Fullstack web developer
    Вероятнее всего - дело в провайдере, именно он отвечает за внешний IP адрес, можно попробовать зайти на сайт например спидтеста несколько раз и проверить постянный ли IP. Если IP тот же, то вероянее дело в хостере.
    Ответ написан
  • Как установить React js в Laravel без laravel artisan?

    @iburanguloff
    Fullstack web developer
    А что вы подразумеваете под интегрировать? Если у вас есть готовый проект на react, вся задача сводится к тому, чтобы скомпилированный скрипт попадал в папку public/front в директории laravel, чтобы можно было его прикрепить к шаблону. Самый простой вариант - просто создать директорию в директории ларавеля и перенести весь проект react туда, и настроить в нем место вывода скомпилированного файла. Я не разбираюсь в реакте, но работать должно так. Если сборка через web-pack, то настройка вывода делается в webpack.config.js
    Ответ написан
    Комментировать
  • Как настроить php artisan в laravel?

    @iburanguloff
    Fullstack web developer
    Вероято дело в версии PHP, в новой версии методы из логов считаются устаревшими и не рекомендованы к использованию. В php.ini можно отключить вывод предупреждений
    Ответ написан
    Комментировать
  • Vagrant (Homestead) - Laravel. Почему npm run dev выдает ошибку?

    @iburanguloff
    Fullstack web developer
    Очевидно - проблема в коде. При выполнении npm install выполняется установка пакетов, а при npm run dev - выполняется сборка, на этапе которой и выбрасывается необработанное исключение. В вашем случае в файле events.js на строке 291. Рекомендую зайти и посмотреть что там. Проблема тут вовсе не в правах и подобном, проблема в коде
    Ответ написан
    Комментировать
  • Как совместить файлы на php с базами данных с сайтом на Vue.js?

    @iburanguloff
    Fullstack web developer
    Связующим мостом может послужить API между ними - Veu.js будет выполняться видимо в браузере, а PHP на сервере. Нужен сервер, который будет обрабатывать запросы, приходящие от Vue.js и передавать в работу в php. Тот получив запрос, определяет исходя из полученных данных что требуется сделать - внести данные в бд, либо наоборот прочитать их, и затем возвращает ответ обратно. В каком формате передавать данные и как их обрабатывать - это все уже зависит от фантазии
    Ответ написан
    Комментировать
  • Как настроить роутинг Laravel + Vue 3?

    @iburanguloff
    Fullstack web developer
    Все очень просто - если вы реализуете приложение SPA, то нужно, чтобы при запросе на людой адрес бекэнд laravel возвращал нужный вам шаблон, делается это обычно так:

    Route::get('/{any?}', function () {
            return view('spa');
        })->where('any', '.*');


    Все дело в том, что при вводе адреса в адресной строке laravel ищет маршрут, и не найдя его возвращает ошибку 404.
    Ответ написан
    Комментировать
  • Как сделать Validator unique при мягком удалении?

    @iburanguloff
    Fullstack web developer
    Unique - предполагает, что в БД установлен соответствующий ключ, и все данные этого поля уникальны. Во избежание ошибок - лучше не завязываться с deleted_at. Если у вас есть много старых записей, которые могут мешать - есть пакет Quicksand который помогает гибко работать с мягко удаленными записями в БД
    Ответ написан
    Комментировать
  • Какой тип поля надо указать чтобы создать список выбора в базе из 2 значений для поля?

    @iburanguloff
    Fullstack web developer
    В базе данных есть типы такие как ENUM - типы столбцов, в которых выбирается значение только из нескольких конкретно установленных. Но в сообществе разработчиков использование типа ENUM в БД не приветствуется, соответсвующая информация легко гуглится. Лучше сделать тип поля в БД - varchar и по умолчанию задать необходимое значение. Это делается в миграциях https://laravel.com/docs/9.x/migrations. Для удобства работы с моделью - проверку можно легко реализовать в ацессорах https://laravel.com/docs/9.x/eloquent-mutators#def...
    Ответ написан
    Комментировать
  • Что делать если не видно шаблон в laravel?

    @iburanguloff
    Fullstack web developer
    Из того что я вижу - делаю вывод, что проблема в строке view('Admin::Dashboard.index'), думаю верное будет view('Admin.Dashboard.index'). Если работаете в IDE PHP Storm или Intellij Idea Ultimate - есть дополнения, помогающие в этом автодополнением. В поиске дополнений достаточно написать Laravel - это очень облегчает разработку
    Ответ написан
  • Как указать дополнительное условие при аутентификации?

    @iburanguloff
    Fullstack web developer
    Если авторизацию проводится самостоятельно, то через Auth::attempt можно передать массив с необходимыми параметрами, а не только например email и паролем. Если логика сложнее - то лучше вынести это в отдельный middleware
    Ответ написан
  • Почему laravel не хочет запускать локальный хост localhost:8000?

    @iburanguloff
    Fullstack web developer
    На каждый requires ext-{extname} нужно установить пакет php-{extname}, вместо {extname} вставить из лога название, например mbstring. Эти ошибки значат, что у вашего PHP нет необходимых дополнений, необходимых для работы laravel. Так же можно запустить composer install --ignore-platform-reqs - это заставит composer игнорировать требования устанавливаемого проекта. Если порт не открывается - возможно другая программа слушает уже его, можно либо отключить ее, либо поднимать сервер на другом порту
    Ответ написан
    Комментировать