• Чем отличаются web маршруты от api в Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Так как создание API достаточно популярная задача, для удобства разработчика,, минификации доп проверок и лишнего кода их вынесли как отдельную сущность. Через файлы конфигурации выходит легко разграничить Middlware, аутентификации и тп, да и в целом разделения логики работы приложения стало легче.
    Ах ну и да, по умолчанию у api отключены функции состояния приложения(грубо говоря сессии и ко), которые в случае API не нужны, так как здесь не непосредственное юзер обращается, а некое приложение клиент, которое на себя берет все мороку по передачи и поддержки состояний, если это необходимо.
    Ответ написан
    Комментировать
  • Почему не работает битбакет?

    neuotq
    @neuotq
    Прокрастинация
    Если ты в Крыму, то он блокирует доступ с большинства крымских ip. Используй VPN
    Ответ написан
  • Есть какое-то полезное применение для ASIC USB-свистка?

    neuotq
    @neuotq
    Прокрастинация
    Можно создать на них обучающую платформу про блокчейн, прям полного цикла. Создать свою валюту, показать майнинг, прям рассказать и в живую показать создание новых валют, передачу между кошельками, алгоритмы и тд тп. Записать ролики, выложить на youtube.
    Сейчас есть много разных обучающих штук, но в виде эмуляции, не интересно.
    А так можно создать свой методический курс, продавать даже.
    Ну а из пассивных, можно условно говоря участвовать в "биткоин лотерее", погугли на этот счет в английском инете.
    Ответ написан
    Комментировать
  • Можно ли ограничить количество значений input datalist'ом?

    neuotq
    @neuotq
    Прокрастинация
    Советую взглянуть на Select2, в целом хороший плагин для похожих целей.
    Насчет исправления опечаток тут сложнее, нужно писать свою логику нечеткого поиска(либо искать готовые решения), это достаточно серьезная задача и скорее всего ее нужно будет подбивать под ваш конкретный случай.
    Хотя конечно можно обойтись тупым простым алгоритмом в который будет хард код с забитыми самыми популярными опечатками и автоматическим поиском альтернатив при нулевом результате после ввода пользователя, но опять таки, городов много, варианты на многие сочетания обязательно найдутся.
    Ответ написан
    Комментировать
  • Как генерировать количество блоков в зависимости от val?

    neuotq
    @neuotq
    Прокрастинация
    В цикле в переменную собираешь нужное количество содержимого, потом добавляешь во внутреннее содержание целевого блока:
    ***
    //Лучше скешировать, чтобы меньше было обращений к DOM
    var count = $val1.val();
    var imgs = '';
    for (var i = 0; i < count; i++) {
                    imgs = imgs + '<img src="img.jpg" alt="">';
                }
     $(id блока).html(imgs);
    Ответ написан
    Комментировать
  • Не запориться ли жесткий диск?

    neuotq
    @neuotq
    Прокрастинация
    Так как устройство механическое причина щелчка может быть что угодно, вполне возможно так и должно быть. Ну и конечно в современных жестких дисках уже давно есть защита от физического повреждения при аварийном отключении питания. Ну и тем более вы выключаете компьютер правильно, а значит головки успевают вернуться на место.
    Короче говоря если есть беспокойство, проведите все тесты вроде S.M.A.R.T. Так же можно погуглить похожие жалобы на щелчки на вашей модели диска (не забудьте так же проверить англоязычные запросы), вполне возможно это норма. Лично я не раз встречал различные "страшные" звуки от ЖД.
    Ответ написан
    Комментировать
  • Как выполнить событие при повторном нажатии клавиши?

    neuotq
    @neuotq
    Прокрастинация
    Кстати, все эти состояния тд, одна из причин зачем придумали Ангуляры, Реакты и тд.
    А вам можно посоветовать например проверять значение 'wdth.style.width' перед его установкой.
    Добавьте условие, если 50%, то вы ставите 80% и наоборот.
    Ответ написан
    3 комментария
  • Как понять докер, если ничего не понятно?

    neuotq
    @neuotq
    Прокрастинация
    С Докером все просто, нужно только немного повернуть устоявшуюся логику в мозгах.
    Основная суть и идея это запуск каждого приложения (php, mysql и тд) в своем контейнере. При этом сам php будет думать что запущен как всегда в обычной полноценной ОС. Поэтому контейнер собирают так, чтобы удовлетворить минимальные требования программы которую он будет содержать.
    Вот так ты и запускаешь кучу контенейров и у тебя выходит сухогруз(у докера там кит) с контейнерами. Зачем это все? Для облегчения администрирования и обновления ПО, а так же для минимизации издержек при глюках/падения какой-либо программы.
    Все контейнеры максимально независимы друг от друга, при этом есть механизм когда контейнер завист от другого. Например контейнер phpmyadmin, нет смысл запускать без контейнера mysql или mariadb, работать он не будет.
    Общение происходит в основном через сеть, поднимается внутренняя сеть. Так же конечно через диск, все предусмотрено.
    Когда все сделано как нужно, с системного администратора снимается гигантский труд по отслеживанию обновлений, совместимости этих обновлений и тд.
    Нужна тебе версия php5.6, запустил коннтейнер с ней, нужна php7.1, запустил его, при этом не нужно никаких приключений с обновлением кучи пакетов, возможных конфликтов с другими нужными программами и тд.
    Так же удобно решаются вопросы масштабирования, появляются мелкие удобные бонусы по дополнительной автоматизации , уменьшаются риски падения ОС в целом, падает если что только контейнер и тд и тп, в результате есть реальная возможность даже небольшим проектам добиться у себя около нулевого даунтайма.
    Вот еще послушай Кирилл Мокевнин из Hexlet пытается понятным языком рассказать что это и зачем. И кстати он делает упор на понимания зачем понадобилось думать и какие проблемы решали когда пришли к Докеру, это ключ к пониманию всего другого.
    PS кстати и сам Hexlet крайне советую, они наверное лучшие в рунете для начинающих программистов
    Ответ написан
    1 комментарий
  • Как проверить get параметр в роуте?

    neuotq
    @neuotq
    Прокрастинация
    Итак начнем, в первом случае
    Route::get('catalog/{mode?}', 'CatalogController@index');
    у тебя все же используется переменная в качестве параметра роутера(пути), знак вопроса говорит нам о том что он опционален, может быть, а может и не быть. Ну и да по факту это часть get запросов.
    Далее, в целом читать это.
    Можешь воспользоваться хелпер функцией request():
    Где-то в теле контроллера SettingController, в теле метода index
    ***
    $mode = request()->mode;
    ***

    А вообще зачем тебе так?
    Ответ написан
    2 комментария
  • Как бы вы решали данную задачу (ротация рекламы двух типов)?

    neuotq
    @neuotq
    Прокрастинация
    Используй куки.
    База данных и прочее нужны только для дополнительной аналитики, поэтому если нужно можешь и ее прикрутить.
    А так пиши в куки количество просмотров заказной рекламы, а при заходе пользователя в зависимости от значения выбирай что показывать.
    Ответ написан
    2 комментария
  • Как сделать 3 различных группы пользователей в Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Если вас беспокоит конкретно Passport, то можно пойти путем ввода системы ролей для пользователей.
    Есть например интересный пакет для организации ACL https://github.com/spatie/laravel-permission , тогда все пользователи будут в одной таблице, а далее вы просто распределяете роли и/или права каждому пользователю.
    Ответ написан
    Комментировать
  • Ребят нужны те кто с опытом, никак не могу определится писать на чистом или фреймворке PHP?

    neuotq
    @neuotq
    Прокрастинация
    Если вы при использовании фреймворка будете понимать как он работает, то это ничего страшного и даже хорошая практика. Тот же Laravel полный opensource, используешь какую либо часть, всегда можно начтаь изучать сам код непосредственно, читать документацию, блоги разработчиков, где и почему какие практики были использованы, а почему не были.
    Короче говоря в любом случае все зависит от вас и вашего желания учится. Бери фреймфорк, строй сайт, видишь интересный инструмент, интересно как он работает можно идти в код посмотреть.
    В большинстве ныне популярных фремфорках кодстайл на уровне, заодно и пркоачается этот навык.
    Кстати, можешь попробовать начать подключать к своему проекты компоненты того же Symfony(он и в Laravel активно используется), и потихоньку заменять ими свои велосипеды, благо у Symfony все устроено так что почти все можно использоваться независимо друг от друга, чем пользуются множество крупных php проектов.
    Ответ написан
    2 комментария
  • Как на одной linux-машине запустить несколько сервисов, но так, чтобы каждый сервис имел уникальный ip?

    neuotq
    @neuotq
    Прокрастинация
    Все правильно что вы хотели пойти оп пути с Докер, советую все же изначально потратить на него время, зато в будущем сэкономите с лихвой. То что каждая штука ставится со свой Java это мелочь, более того даже плюс, если в будущем у каждой из штук будут различные требования к ней.
    Короче говоря, советую один раз заморочиться, поставить и настроить Docker, поднять все вам нужные сервисы, поднять так же докер Nginx, настроить там обработку ваших внутренних доменн имен чтобы ссылались нанужный сервис, а в локальной сети либо поднять свой ДНС, либо у каждого прописать в hosts соответсвие домена (например upsource) и айпишника вашей линкс машины. Ну а если она в интернете, то легче будет через поддомены сделать.
    Короче говоря, путь с Докером на сегодняшний момент абсолютно верный и сэкономит вам в будущем огромное количество времени поддержки и развития ваших штук.
    Ответ написан
    Комментировать
  • Какой язык программирования учить для успешного поиска работы за рубежом?

    neuotq
    @neuotq
    Прокрастинация
    На самом деле любой, нов последние месяцы в развитых странах с высоким доходом резко набирает популярность Пайтон (ну да это косвенные данные от Стаковерфлоу). Это не значит что начав с ним придешь к успеху, все же слишком много других параметров. Область применения например, в отличии от PHP, который в основном используется в вебе, Пайтон широко используется в разных местах.
    Ну а в целом, все же нужно выбирать исходя из своих способностей/желаний направление, а уэе затем лучший язык программирования(и другие иснтрументы) для этого направления.
    Ну например любишь Большие Данные(Big Data), там ка краз таки Пайтон имеет сильные позиции(даже сильнее более подходящего R), так уж сложилось что под Пайтон было написано огромное число библиотек + он дефакто стандарт в западных ВУЗах, вот и вышло что легче и быстрее стартануть в этой области с ним.
    Короче к чему я это, успешным можно стать в любой области с любым языком программирования, главное будь профи в этом деле.
    Ответ написан
    Комментировать
  • Как настроить HTTP заголовки Last-Modified и If-Modified-Since в блоге на Laravel?

    neuotq
    @neuotq
    Прокрастинация
    В ларавел есть удобный инструмент , поэтому цепляйте ко всем ответам все что вам требуется.
    Эти заголовки обычно используются для кеширвоания, так что возможно вам стоит изучить возможности кеширования что предоставляет сам Laravel, чтобы не городить свои велосипеды.
    Ответ написан
    Комментировать
  • Как кастомизировать повторяющиеся блоки в Pug?

    neuotq
    @neuotq
    Прокрастинация
    Добавлять переменную с идентификацией страницы, и ставить класс в зависимости от значения переменной, а потом проверять, типа того:
    li(class=(page === "woohoo" ? "active" : ""))
    Ответ написан
    3 комментария
  • Легально раздобыть и пользоваться Windows 98 сегодня - реально?

    neuotq
    @neuotq
    Прокрастинация
    Авторское право как я понимаю действует ~50лет, те пиратить пока что нельзя. а купить можно на авито продают, амазоне, да на многих площадках легко найти лицензионные диски, даже не распакованные.
    Ответ написан
    3 комментария
  • Объясните как команда работает через Git?

    neuotq
    @neuotq
    Прокрастинация
    Советую пройти бесплатный курс от Хекселета по гит, они там хорошо объясняют не только основы, но и отвечают на вопрос зачем это все придумано.
    Ответ написан
    Комментировать
  • Почему письма с сайта, приходящие на Gmail попадают в спам?

    neuotq
    @neuotq
    Прокрастинация
    Причин может быть множество. Но начать нужно с правильной настройки своего мэйл сервера(либа выбрать хороший сторонний сервис, который возьмет заботы на себя, например mailgun или mailchimp).
    Самые базовые вещи что должны быть это:
    SPF-запись - реестр серверов которые будут отправлять почту с вашего адреса, таким образом получатель будет знать что отправитель вы(или ваш сервер), а не кто-то другой со своего сервера отправил.
    DKIM-подписи - это специально разработанный формат цифровой подписи чтобы защитится от спам рассылок, опять таки его цель борьба с ложными отправителями, те чтобы спамер не притворялся кем-то другим(грубо говоря).
    Вот эти две базовые вещи которые позволят снизить до минимума шанс попадания письмо в спам с первичной нейтральной/белой репутацией у сервисов типа mail.ru/gmail и тд. А дальше уже начинают играть роли иные факторы: как часто получатели сами отправляют ваши письма в спам, содержание рассылок, наличие кнопки отписаться(это прежде всего актуально для одинаковых писем отправляемых тысячам получателей), и тд и тп.
    Ответ написан
  • Почему при сортиртировке именованная функция быстрее чем анонимная?

    neuotq
    @neuotq
    Прокрастинация
    Потому что при каждой итерации цикла анонимная функция создается заново, те это каждый раз новый независимый объект Closure.
    Ответ написан
    5 комментариев