• Хочу сделать API, с чего начать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Следует начать с проектирования API. Возмите https://swagger.io/ и набросайте все, что нужно.
    Swagger вам позволяет объединить роутинг, документацию и примеры вызовов в единое целое.
    Кроме этого он позволяет сгенерировать заглушки для разных языков программирования и фреймворков.
    В принципе вы можете найти значительное количество интеграций для разных фреймоворков.

    В целом API лучше делать с помощью фреймворков, поскольку в них уже реализованы тривиальные моменты по безопасности, аутентификации и авторизации. Вы можете использовать микрофреймворки, например тот же Slim. Вы даже можете сгенерировать роутинг для него используя генератор от Swagger.

    В REST есть 6 принципов, прекрасно изложенных в Wiki. В REST нет ничего сложного и особенного. Это просто надстройка над стандартным протоколом HTTP. Именно поэтому нет никаких особенных уроков. Изучите работу HTTP и вы поймете как работает веб в целом и REST в частности.

    По поводу отдельного сервера для API. Есть множество разных подходов. В последнее время все более актуальными становятся Serverless-приложения. Serverless архитектура идеально вписывается в REST. Но думаю для вас это пока рановато и сложновато. Слишком много для начала.

    Логичнее всего держать проект в моно-репозитарии, если он не будет большим. Если вы точно не знаете насколько большим он будет, то можно разбить проект на компоненты и использовать Composer для управления зависимостями (советую полность прочитать эту страницу от корки до корки).

    По поводу best practices есть очень хороший ресурс https://12factor.net/ru/
    Он в целом применяется для всех приложений.

    Запомните: первый блин всегда комом. Прочитайте все ресурсы, которые я привел для вас. В них много ссылок на другие, походите по ним, присмотритесь. Напишите первую версию API так, как вам кажется удобно. Постарайтесь применить практики из статей.
    Вам нужен опыт и вы его не наберетесь, пока не сделаете что-то сами. Вы можете потратить год на чтение, но останетесь на том же месте, с которого начали. А другой человек напишет на коленке API за неделю, а потом перепишет его 20 раз за год и он вам расскажет в 10 раз больше, чем то, что вы изучили за год.
    Дерзайте!
    Ответ написан
    16 комментариев
  • Какие семантические элементы HTML5 нельзя или не рекомендуется использовать на странице больше одного раза?

    MrDecoy
    @MrDecoy Куратор тега HTML
    Верставший фронтендер
    main можно. Главное чтобы видимым был только 1.
    Спека гласит:
    A document must not have more than one main element that does not have the hidden attribute specified.

    Что в переводе:
    В документе не должно быть более одного элемента main, для которого не указан атрибут hidden.

    Что означает, что может быть много main, но все кроме одного должны быть скрыты с помощью атрибута hidden
    Ну и h1 (Как бы можно использовать несколько в разных семантических секциях, но в итоге не особо это пошло и придерживаются правила по старинке. Что не более одного на страницу)
    nav тоже стоит использовать осторожно, если нет понимания как делать правильно, то лучше придерживаться одного на страницу.
    На этом этот список всё.

    header и footer могут использоваться несколько раз, если, скажем, по одному на всю страницу, и далее внутри семантических секций, таких как, например, article.

    Вот в спеке указаны примеры как можно использовать несколько header, nav и footer
    Ответ написан
    Комментировать
  • Как сделать конвертер валют?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    1. Занеси код в CodePen, к примеру.
    2. Суй логи (console.log).
    3. Ты можешь использовать fetch для получения данных.
    4. Проверяй типы (typeof) и попадания в функции.
    Ответ написан
    Комментировать
  • Как реализовать на css такое окно чата?

    Stimulate
    @Stimulate
    могу
    Ответ написан
    Комментировать
  • Как имитировать клик на jQuery/JS?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    setTimeout(function(){
      $('button').trigger('click');
    }, 1000);
    Ответ написан
    7 комментариев
  • Как сделать input нижней линией?

    Pashadip
    @Pashadip
    Веб-разработчик
    input {
    background: transparent;
    border-bottom: 1px solid #fff;
    }
    Ответ написан
    4 комментария