Пользователь пока ничего не рассказал о себе

Достижения

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

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

Все теги (71)

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

Все ответы (221)
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Как избежать повтора инклюдов в ООП PHP?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Во первых, в современном коде файлы никто не инклюдит - много лет назад для автоматической загрузки классов придумали https://www.php.net/manual/ru/language.oop5.autolo.... И во всём коде сайта остаётся 2-3 include, один из которых - внутри генрируемого composer'ом автозагрузчика.

    Во вторых, все современные фреймворки имеют единственную точку входа: файл index.php, которому передаются все обращения к сайту. В этом файле производятся подключение конфига, и инициализация фреймворка. После чего управление передаётся роутеру, который разбирает URL запроса и передаёт управление нужному классу-контроллеру.

    В третьих, для автоматического создания объектов с автоматической же передачей конструктору нужных данных (в том числе и конфигурации) и исключения дублирования создаваемых объектов давным-давно придумали контейнеры внедрения зависимостей (DI) https://elisdn.ru/blog/116/psr7-framework-container (советую посмотреть все уроки этого цикла).
    Ответ написан
    23 комментария
  • Хранение деревьев в Mysql какие есть способы?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Существует 4 основных способа хранения деревьев в реляционной БД:

    Adjacency List - описан @Satanpit.

    Matherialized Path - полный путь до узла хранится в виде строки типа 0035.0993.7324.1256 (т.е. узел верхнего уровня содержит строку 0035, узел второго уровня - строку 0035.0993 и т.д.)

    Nested Set - для каждого узла хранятся 2 числа: левый и правый индексы. Причём левый индекс узла меньше левого индекса любого потомка этого узла, а правый индекс соответственно больше.

    Closure Table - отдельно храним данные, отдельно иерархию.

    А ещё есть комбинации этих способов.

    По всем этим способам в рунете (в том числе на хабре) существует большое количество информации.
    Ответ написан
    2 комментария
  • Устарел ли getElementsBy* и чем лучше querrySelector?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Нет, не устарел: да, querySelector и querySelectorAll намного универсальнее (почти jQuery), но из-за своей универсальности могут быть чуть медленеее, чем специализированные getElementsBy*.
    Ответ написан
    6 комментариев
  • Что это была за статья на habrahabr о том, чем лучшие программисты отличаются от остальных?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Хороший программист - это тот, кто может найти эффективное решение поставленной задачи. А то, о чём пишите Вы - это классический карьерист-очковтиратель от программирования.
    Ответ написан
    2 комментария

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

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