Ответы пользователя по тегу Веб-разработка
  • Как интегрировать существующий блог на Wordpres в веб приложение на Nuxt.js?

    neuotq
    @neuotq
    Прокрастинация
    У вас два варианта.
    1. Использлвовать REST API от вордпресса, плюс есть различные тематические плагины отдельно и API эндпоинты у разных популярных крупных плагинов.
    2. Если на одном сервере и тп, делать прямые запросы к БД в самом NUXT допустим через Prisma
    Ответ написан
    1 комментарий
  • Почему парсер останавливается на определённом количестве фото?

    neuotq
    @neuotq
    Прокрастинация
    Как я понял быстро глянув исходники, он просто берёт выдачу из поиска Яндекс картинок, парсит html, потом берёт данный из data поля. Так вот, на первой странице результатов и будет 30 штук. А далее нужно нажимать кнопочку либо скроллить если браузер и делать запрос на следующую страницу.
    Нужно переписать решение на запрос через json.
    Можно в ручную в браузере поэкспериментировать и выловить базовые параметры. В ответе json они дают и количество страниц, так что можно спокойно по ним идти.
    Форкните срипт перепишите под себя
    Ответ написан
    Комментировать
  • Какое задать значение max-width для адаптации под телефон?

    neuotq
    @neuotq
    Прокрастинация
    Советую все брейкпоинты самому по минимуму придумывать, а брать у лидеров:
    https://getbootstrap.com/docs/5.1/layout/breakpoints/
    https://tailwindcss.com/docs/responsive-design
    Изучи какие они используют, смело бери их к себе в проект.
    Ну и конечно же лучше идти снизу вверх, те по умолчанию у тебя мобильная вёрстка, в брейкпоинтах пишешь то, что отличается у тех кто больше.
    Ответ написан
    Комментировать
  • Если тратить по 8-10ч в день на программирование, возможно ли дорасти до уровня middle разрб?

    neuotq
    @neuotq
    Прокрастинация
    Ключевое отличие миддл от джуна - опыт коммерческой разработки, хорошо если над продуктом и в команде. Нередко даже у джуна может быть более высокий общий уровень хардскилов чем у хорошего мидла.
    Тоже касается и сеньоров и тп.
    Поэтому начните с фриланса, пытайтесь найти заказы не мелкие, а средние, большие.
    Ищите, где можно устроится интерном/джуном парттайм в команду.
    Ответ написан
    3 комментария
  • Можно ли вначале сделать фронтенд на React Next, а потом добавить бэкенд на Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Да конечно, абсолютно нормально так делать. Можно использовать разные техники чтобы замокать API, от простых быстро запущенных ответов заглушек на бекенде, до всяких инструментов вроде https://restapify.vercel.app/ который поможет быстро всё сделать.
    Главное вы в проекте должны утвердить сам API, методы, ендпоинты и тп и тд,
    Ответ написан
    Комментировать
  • Надо ли конвертировать картинки в webp?

    neuotq
    @neuotq
    Прокрастинация
    Если у вас огромный трафик и стоит задача решить проблему снижения объемов то да. Нужно думать как генерировать webp, с учетом обратной совместимости и тп. Сейчас ему на смену готовится выйти еще больше оптимизированный AVIF(он на основе нового видео формата), который скорее всего его победит, как более универсальный и менее привязанный к Google.
    А так помним. Любая работа это деньги и время. Может вам лучше вложить это в другие, более важные для вашего проекта направления?
    Ответ написан
    Комментировать
  • Какие актуальные книги есть по веб-разработке(или старые но информативные).И что читать(по вебу) в 2020?

    neuotq
    @neuotq
    Прокрастинация
    Начните с
    Идеальный программист. Как стать профессионалом разработки ПО, Роберт Мартин
    Не заставляйте меня думать. Веб-юзабилити и здравый смысл, Стив Круг .
    Это вне контекста веб, не веб. Но сильно поможет выстроить мозги и понять цели задачи. Не становясь обычным отрешенном условным скрипт-кидди
    Ответ написан
    Комментировать
  • Граница между front-end и back-end?

    neuotq
    @neuotq
    Прокрастинация
    Чтобы там не говорили, бэкэнд может оставаться полностью черным ящиком только для верстальщика, ито с оговорками.
    Фроентэнд разработчик, даже с джун уровня, уже активно работает с получением отправкой данных, интерактивными интерфейсами и тп. Понимать как и почему некоторые штуки там работают нужно. Хорошо даже уметь быстро что-то простое сделать. Я не говорю становится фулстеком в полном смысле этого слова, НО. По хорошему: фронтендер мидл и выше уровня можно с натяжкой назвать фулстеком, просто с большим перекосом на фронт часть.
    Просто даже серверлесс направление, заставляет в той или иной степени понимать процессы происходящие на той стороне.
    Ну и в любом случае, в случае активной практики и развития, вы сами столкнётесь с тем, что иногда нужно даже лезть и писать какие-либо свои простые скрипты.
    Отмечу отдельно, это не значит что нужно с головой падать, пытаться стать фулстеком. знать всё и тп. Нет, я имею ввиду что понимание работы бекенда, а значит и умение делать некоторые вещи, должны будут и прийдут при активной работе и роста вас как специалиста.
    Это же касается тех же софт скилз и менеджерских умений.
    Ответ написан
    1 комментарий
  • В чем суть serverless подхода?

    neuotq
    @neuotq
    Прокрастинация
    Начну с того, что если вы таки активный разработчик и не очень можете понять этот принцип, возможно он вам просто не нужен. И это не значит что вы плохой разработчик, просто не пересекались с таким видом проблем.
    Что касается serverless, название больше отражает не факт отсутствия сервера и работы с ним как таковым, а скорее еще меньше возни с настройкой и поддержкой серверного окружения (даже меньше чем с докером после того как все настроено и поднято). Те это следующие шаг после условных микросервисов.
    Его часто удобнее называть функция как услуга, так как де факто часто реализуется запуск именно функции по запросу.
    Если кратко описать для чего это нужно, то представим себе что у нас есть микросервис у которого затраты на содержания его постоянного аптайма как то слишком велики относительно времени работы/потребления ресурсов в живую. Да и в целом сервис выходит как то слишком микро даже для микросервиса.
    Вот тут мы и придумываем такую штуку, которая будет ОЧЕНЬ быстро(относительно старта минимальной виртуалки/образа и чего другого) запускаться, быстро делает свою маленькую работу и выключается.
    Из ключевых особенностей отмечу что функции должно быть в целом пофиг на своего состояние, она не знает изначально о предыдущем запуске и тп(те быть stateless). Все что нужно приходит в запросе.
    Ври значит если у вас есть задача, которая удовлетворяет этим условиям, можно использовать этот удобный сервис и для масштабируемости, и для экономии и для кучи других фич.
    Примеры:
    ресайз изображений.
    Генератор статистических сайтов(через админку производим обновление статистических файлов, это бывает не часто).
    Чат боты
    Разные спец информеры с определенной логикой.
    И тд и тп, что хорошо ложится в определенную относительно простую функцию с простым входом данных(или без) и простым результатом работы.
    В целом это решение не панацея, более того нужно четко понимать насколько выгодно/невыгодно переделывать на серверлесс платформы свою функцию, ведь мы точно жертвуем той же производительностью(помним что сервис не висит и не ждет нас постоянно, а пусть и очень быстро, но запускается), понижается прозрачность исполнения и усложняется отладка и прочее.
    Но в любом случае, достаточно часто плюсы перебивают минусы, популярность у этого принципа есть. люди активно пользуются, так что много шишок уже набито, в целом зрелая штука.
    А и да, насчет конкретного вашего вопроса.
    PHP AWS Lambda нативно не поддерживает, все через костыли, впрочем с почти вменяемой производительностью.
    И так как все таки AWS Lambda все же ближе к самому популярному нынче принципу serverless - функция как сервис, я не уверен что это правильная идея будет запускать атм Ларавел.
    Те мы имеем минусы: отсутствие нативной поддержки PHP и такие заточенность под что-то простое, в итоге .. ну не знаю.
    Я думаю плюшки serverless в виде нет мороки с настройкой сервера/облака можно решить многими другими сервисами. Впрочем может быть это будет не так выгодно в вашем случае, нужно исходить и рассчитывать по вашему сценарию работы вашего приложения. А потом решать, что лучше подходит.
    Ответ написан
    1 комментарий
  • Почему когда используют Docker для поднятия окружения, создают по контейнеру на каждый сервис а не всё в одном контейнере?

    neuotq
    @neuotq
    Прокрастинация
    Вы совсем не понимаете Докер. У него основная концепция - один сервис/приложение - независимое окружение.
    Для чего это сделано? Прежде всего безопасность и облегчение развертывания приложения.
    Любой администратор линукс (ну и других) систем знает, какого это поддерживать сервер одновременно в актуальном состоянии и нужные версии ПО, библиотеки которых часто между собой конфликтуют, нужно проводить танцы в бубном для того чтобы нужные библиотеки были там те, в другом месте другие. Далее возня с правами, кто под кем запускается, что может, дыры в самом ПО, когда из-за этого будет угроза другим частям системы. Ну и простота настройки, одним одни параметры, другим другие.
    Докер позволяет решить эти и кучу других проблем, каждый докер образ это грубо говоря максимально минимизированный образ ОС с установкой только необходим библиотек для конкретного сервиса (например mysql), запускается независимо. Таким образом у себя на сервисе вы имеете возможно спокойно, без затрат умственных ресурсов поднять кучу версий например mysql или php. Да и просто разные программы/сервисы которые могут с друг другом конфликтовать, теперь не будут мешать.
    У вас есть свои заготовки образов, либо вы берете готовый рецепт и работаете.
    Далее тестирование/разработка значительно упрощается, так как организовать условия максимально приближенные к боевым теперь легче.
    Далее можно создавать проверенные системы развертывания, снова таки каждый образ под свои задачи и тд и тп.
    Короче говоря да, у докера есть свои минусы, но одновременно это значительный прогресс и облегчения прежде всего работы которая касается улосноый Devops части в разработки ПО, значительно автоматизируются и упрощаются многие штуки.
    Так же советую потратить время и посмотреть запись введение в Докер от Хекслет Кирилла Мокевнина. Там небольшие проблемы бывают со звуком, сам вебинар 2 часа, но советую потратить время, он именно рассказывает проблематику, которая привела людей к изобретению Докера и этой концепции.
    Ответ написан
    2 комментария
  • Какой плагин для Lazyload вы используете?

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

    neuotq
    @neuotq
    Прокрастинация
    XML и JSON прежде всего конечно же служат для описания данных и чаще всего сегодня служат передачи/хранения их в удобном читаемом виде.
    XML по сравнению с html позволяет создавать более строгие и форматы + не будет лишнего для четкого, легкого и однозначного парсинга на любых платформах, в свое время даже создавался формат xHTML как попытка принести ясность и жесткие правила в html, но все же html5 его похоронил, хотя многие его и сегодня используют.
    JSON - взлетел на фоне взлета популярность веб в целом и JavaSript в частности, несмотря на все плюсы XML, он все же был часто избыточным для и тяжелым для парсинга, поэтому легкий и удобные JSON быстро набрал популярность, для js он дефакто изначально является нативным и бытсро получил полную поддержку во многих языках программирования и в базах данных(в качестве типа поля).
    Короче говоря ключ успеха - легкость(он всегда легче весит соответсвующего xml), простота парсинга - залог успеха.
    Есть еще YAML - можно сказать расширения JSON, удобен для конфигурирование приложений, настроек и тп
    Но все же везде есть свои недостатки, так что возможно в ближайшем будущем, вместе с развитием веб технологий и JavaScript мы будем иметь другую популярную штуку.
    Ответ написан
    Комментировать
  • Как развернуть копию сайта на https и копии домена?

    neuotq
    @neuotq
    Прокрастинация
    А в чем проблема создать тестовый домен, привязать его к нужному серверу и взять бесплатный сертификат на https://letsencrypt.org/ .
    А далее уже можно ограничить доступ и определенным ip к своему серверу и тд и тп.
    PS и если у тебя протокол, да и имя домена так сильно влияет на работу - это повод найти огрехи в структуре проекта, по хорошему в движке должен быть механизм которые сам правильно генерирует url для ассетов и роутов.
    Ответ написан
  • Кто нужно знать для создания сайта "Конструктор"??

    neuotq
    @neuotq
    Прокрастинация
    Легче всего будет быстренько пройтись по туториалам React/Vue, понять принцип компонентов, ну а далее набросать простенький базовый редактор добавления заранее готовых компонентов, с каким-нибудь базовым редактированием данных, а далее грубо говоря сам конструктор запоминает в БД только список используемых компонентов + данные.
    В целом создание таких штук как полная копия uKIT не сложно, но таки займет приличное количество времени, в основном на создания всей сложной библиотеки доступных компонентов, и рюшечек со свистелками, но я думаю для курсовой можно и простенький вариант придумать.
    PS можно конечно же и jquery использовать, но там выйдет больше кода/библиотек, всякой каши, да и плюс легче будет сделать что-то типа WYSIWYG редактора (типа ckeditor). Так конечно тоже можно сделать кучу "красоты", но...
    Короче советую все же взять react/vue и писать на современном js.
    Ответ написан
    3 комментария
  • Как решить проблему задвоения аккаунтов при регистрации и входе через соц. сети?

    neuotq
    @neuotq
    Прокрастинация
    Если регистрация с email адресом, то по возможности вытаскивать email из соц сетей и автоматически привязывать у пользователя эту соц сеть. Если соц сеть не дает email, то при первом входе насильно требовать завершения регистрации через указания email, далее проверяется есть ли этот пользователь уже в базе - тогда говорим нужно авторизоваться и после логина привязываем соц сеть, если такого email нет, то регистрируем нового пользователя с записью этого email в качестве основного + привязка соц сети + пароль(уже по желанию).
    Ответ написан
    2 комментария
  • Знает кто небольшую книгу по php?

    neuotq
    @neuotq
    Прокрастинация
    Lopez - Learning PHP 7 (есть в Вк документах).
    Ну и конечно же PHP Right way
    Ответ написан
  • Как правильно составить структуру урлов веб-сайта (блога или интернет-магазин)?

    neuotq
    @neuotq
    Прокрастинация
    Итак, в /routes/web.php :
    //Главная
    Route::get('/', 'FrontController@index')->name('front.index');
    //Здесь выводим список постов
    Route::get('/posts', 'FrontController@showPosts')->name('front.posts');
    //Здесь показываем конкретный пост, если у тебя имяя не уникальное, то тогда лучше используй id
    Route::get('/posts/{post_name}', 'FrontController@showPost')->name('front.show_post');


    Где-то в /app/Http/Controllers/FrontController.php
    public function showPost($post_name)
        {
        $post = Post::where('name', $post_name)->first();
       return view('front.post',compact(['post']));
    }


    Это пример конечно "грязный" , но суть +/- такая. Так же можно добавлять в роутере условия для дополнительной фильтрации, к примеру если ты будешь делать урл типа : example.com/post-1 , то:
    //Здесь показываем конкретный пост, если у тебя имяя не уникальное, то тогда лучше используй id
    Route::get('/post-{post_id}', 'FrontController@showPost')->name('front.show_post')->where(['post_id'=>'[0-9]+']);;

    После этого кода, что-то типа example.com/post-rtata - уже вернет 404. А вообще читай документацию
    Ответ написан
    Комментировать
  • Как сделать переадресацию?

    neuotq
    @neuotq
    Прокрастинация
    Самый тупой и простой способ, после проверки авторизации(не знаю как у тебя через куки например), ставить хэдер:
    header("Location: https://example.com/login");
    Короче там адрес куда перенаправить бразуер. Важно только чтобы не было никакого другого вывода, либо тегов до выполнения этой команды. Короче говоря важно чтобы передача хэдера в бразуер юзеру шло первой.
    Ответ написан
  • Ребят нужны те кто с опытом, никак не могу определится писать на чистом или фреймворке PHP?

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