-
10/6 TIL | HTTP 오답노트📝 : CGI, XML, JSON 그리고 생각이 많은 밤📝 기록/매일의 기록 2022. 10. 6. 23:21
월요일에 이어 다시 돌아온 HTTP 오답노트! 어제, 그제는 정해진 분량을 읽지 못해 쪽지 시험 오답노트가 그냥 거의 개념노트 수준이었고.. 오늘 분량은 열심히 읽어서 한 두 문제 빼고는 다 적었다! 👍🏻 그래서 오늘 TIL은 못 적었거나 애매하게 기억났던 문제를 오답노트로 적어보려고 한다!
10. CGI란 무엇인가? 그리고 그 단점과 이를 극복하기 위한 방향에 대해 설명하시오.
CGI란 Common Gateway Interface의 줄임말로, 웹 서버가 클라이언트에서 받은 리퀘스트를 프로그램에 전달하기 위한 구조를 말한다. CGI에 의해 프로그램은 리퀘스트 내용에 맞게 HTML을 생성하는 등으로 동적으로 콘텐츠를 생성할 수 있다.
단점은 CGI는 리퀘스트마다 프로그램을 기동하기 때문에 대량으로 액세스가 있을 때 웹 서버에 부하가 걸린다. 이를 극복하기 위한 방법으로 서블릿이 있는데, 이는 CGI의 문제점을 해결하는 기술로서 서블릿에서는 웹 서버와 같은 프로세스 속에서 동작하기 때문에 비교적 부하를 적게 하여 동작시킬 수 있다.
11. XML을 사용하는 이유를 HTML의 단점과 함께 설명하시오.
XML은 데이터 공유를 용이하게 하는 것이 주목적인 언어로, HTML에 비해서 데이터를 기술하는 것에 특화되어 있다. HTML은 문서의 데이터를 다른 프로그램으로 불러오고 싶은 경우 레이아웃의 특징을 찾아서 텍스트를 추출하는 등의 방법이 있지만, 그 문서의 내용이 변경되어 버리면 불러오기 힘들게 된다. 그렇기에 HTML은 데이터 구조를 기술하기에는 적합하지 않다.
XML은 HTML과 같이 태그를 사용한 트리 구조로 되어 있고 예시는 아래와 같다.
<세미나 번호="01" 이름="XML 강좌"> <장르>언어</장르> <개요>XML 사용법을 배운다.</개요> </세미나>
XML은 트리 구조 이기 때문에 XML은 구조를 해석하고 요소를 뽑아내는 파서 기능에 의해 데이터 추출을 하기가 쉽다. 데이터를 재사용하기 쉽다는 점에서 XML은 인터넷에서 널리 이용되고 있다. 예를 들면, 데이터 교환 포맷으로서 서로 다른 애플리케이션 사이에서 이용되기도 한다.
13. JSON이란 무엇인가?
JSON은 JavaScript Object Notation의 줄임말로, 경량 데이터 기술 언어로서 JavaScript에 있어서 오브젝트 표기법을 바탕으로 하고 있다. JSON 데이터는 단순하고 가볍게, 게다가 문자열을 JavaScript에서 간단하게 읽어올 수 있다는 점에서 당초 XML이 사용되던 Ajax에서 JSON을 널리 이용하게 되었다. 여러 다른 프로그래밍 언어도 JSON을 쉽게 다루기 위한 라이브러리도 충실해졌다.
이때 다룰 수 있는 데이터형은 false, true, null, 오브젝트, 배열, 수치, 문자열 등이 있다.
7주차 학습을 이제 하루 남겨둔 나의 이번 주 기분 점수는 5점 정도라 말할 수 있다. 공부는 나름대로 한다고 하는데 막상 그 구현 플로우들이 납득이 되지 않으니 인출은 더디고.... 모든 개념이 납득이 안된 채로 퀘스트 과제를 5일이란 제한 시간 안에 해내려니까 마음만 조급하고.... 그러니까 오히려 능률은 더 떨어지고....
더군다나 우리 기수는 잘하는 분들이 꽤 계셔서 애초에 과제 목표치도 꽤 높은 편이라 어제 새롭게 요구사항이 추가되었을 때는 솔직히 앞이 까마득하고 한숨만 나왔다 ㅋㅋ 그러니까 현실도피로 과제 말고 HTTP 정리를 더 열심히 하게 되고...(물론 정리도 당연히 해야 하는 일이긴 했지만..)
여러모로 이 난관을 어떻게 헤쳐나갈지 고민이 많다. 귀갓길에 멍 때리면서 씁쓸함을 감출 수 없어 혼자서 막 한탄을 했는데... 사실 이건 빠릿빠릿하게 구현해내지 못하는 나에 대한 아쉬움 때문이다.
홀맨님은 이렇게 가랑이 찢어지면서 해야 남는 게 있다고 하시고, 나도 no pain no gain에 동의는 하지만 문득 이게 과연 gain이 있을지는 갑자기 확 모르겠는 거다. 오히려 당장 주어진 현실을 해결하기 위해서 급급할 뿐 그 과정을 소화하고 있는 거 같다는 생각이 들지 않아서... 하 생각이 많은 밤이군..🥲
'📝 기록 > 매일의 기록' 카테고리의 다른 글
10/8 TIL | 밀린 과제 처리! 그리고 useSyncExternalStore(feat. FEConf 2022) (1) 2022.10.08 10/7 TIL | 투두리스트 완성. 밤샘 후폭풍에 시달린 하루😴 (2) 2022.10.07 10/5 TIL | 잘게 쪼개서 나아가기. (0) 2022.10.05 10/4 TIL | 러닝메이트가 있다는 건 참 좋은 거야..🥹 (feat. 옆자리 쥬쥬) (3) 2022.10.04 10/3 TIL | HTTP 오답노트📝 : Stateless 프로토콜 장단점, 메시지 바디와 엔티티 바디의 차이 (0) 2022.10.03