Когда я прочел
этот
пост, я восхитился уровнем сжатия
информации. Сколько всего понаписано
про REST,
на форумах кипят страсти, книги пишут.
А достаточно знать всего-то:
- (Самое главное) При проектировании структуры URL’ов вложить в нее максимальное количество смысла, представляя это как некий язык запросов к вашим данным, читаемый и понимаемый человеком. Например, вместо
http://domain/engine.php?func=123&id=test
для получения данных о пользователе, должно бытьhttp://domain/users/test
. - Максимально полно использовать стандартные команды и коды ответов HTTP. Не только GET и POST, но и, например, PUT, DELETE, OPTION, HEAD, и не только коды ответа 200 и 500, а множество других.
- При проектировании HTTP-ответов следует добавлять в ответ информацию о возможных переходах из текущего состояния сессии в другие состояния.
И эта информация
покрывает суть темы процентов на 80, если
не на все 90% (не упомянут stateless). Ч0тко.
Приблизительно
как и со Scrum,
где тоже достаточно знать не слишком
много всякого, чтобы начать применять
методологию. Почитали про Sprint, Backlog,
ProductOwner и вперед, покорять вершины.
А вот еще пример
резкого сокращения. Сокращаем трудозатраты
на написание TCP/IP серверов
А именно – мы
поговорим об некоторых способах создания
прикладных TCP/IP серверов, крайне редко,
к сожалению, используемых в прикладном
программировании, которые почти не
требуют написания программного кода.
С чего начинает программист, когда перед
ним ставится задача написания TCP/IP
сервера, особенно если это клиент-серверное
TCP/IP приложение для него – хронологически
первое в его биографии? C судорожной
проработки техники написания IP
коммуникаций, сравнения механизмов BSD
socket с механизмами TLI SRV4 и т. д. Далее:
многие часы бдения над инициализацией
socket, установлением соединения … и
отладка, отладка, отладка. С учётом того
обстоятельства, что отладка сетевых
приложений на порядок сложнее локальных,
даже при самом смелом использовании
таких механизмов как BPF (Berkley Packet Filter) и
сетевых сниферов, таких как tcpdump или
wireshark. Не случайно, один из самых известных
программистских анекдотов объясняет
фразу «программировать TCP/IP» как , в
более понятной форма, «писать музыку
для борделя».
...
Давайте
напишем такую простую (проще уже не
бывает) программу (исходный файл mycopy.cc,
исполнимый - mycopy):
#include "common.cc.h" #include "common.c.h" int main( void ) { char buf[ 80 ]; // установить построчный режим ввода, но и это не обязательно… setvbuf( stdout, NULL, _IOLBF, 0 ); // или setlinebuf( stdout ); while( true ) { cin >> buf; cout << buf << endl; } return EXIT_SUCCESS; }
Что
это? Это - полнофункциональный TCP/IP
сетевой эхо-сервер! Не верите?
Как говорится,
не верите — проверьте.
Комментариев нет:
Отправить комментарий