CS(13)
-
REST API
REST API는 인터넷 식별자 URI(Uniform Resource Identifier)와 HTTP를 기반으로 하고, 브라우저 간 호환성이 좋은 JSON 형식을 주로 사용. REST의 가장 중요한 특성은 각 요청이 어떤 정보나 동작을 위한 것인지 그 모습 자체만으로 추론이 가능하다. 문서, 그림, 데이터 등의 자원을 이름으로 구분하여 해당 자원에 대한 상태, 정보를 주고받는 것을 의미한다. 또한 HTTP Method를 활용하여 해당 자원에 대한 CRUD를 적용하는 것을 의미한다. 결론: REST API는 HTTP 요청을 할 때, 어떤 URI에 어떤 Method를 사용할지에 대한 개발자들 사이에서 널리 사용되어지는 약속이다. swagger-ui는 REST API를 문서화하는 툴, 프론트엔드와 백엔드가 서..
2022.09.22 -
TDD
오늘 면접봤는데 TDD가 그저 테스트코드 작성이라고 알고있었다. 여차저차 대답은 했다고 생각했는데 또 아니라고 하시니 다음엔 대답할 수 있도록 알아가야겠다. Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 설계 이후 테스트 코드를 작성하는 것이 아닌 테스트 코드를 먼저 작성한 이후에 실제 코드를 개발하여 리팩토링 하는 절차를 따른다. 이러한 이유로 Test First Developement라고도 한다. 디자인(설계) 단계에서 프로그래밍 목적을 반드시 미리 정의하고, 또 무엇을 테스트해야 할지 미리 정의(테스트 케이스 작성)해야만 한다. 테스트 코드를 작성하는 도중에 발생하는 예외 사항(버그, 수정사항)들은 테스트 케이스에 추가하고 설계를 개선한다. 이후 테스트가 통과..
2022.09.22 -
OpenSource
오픈소스 SW : Software의 설계도에 해당하는 소스코드를 인터넷등을 통해 무상으로 공개하는 것, 일반적으로 자유롭게 사용, 복제, 배포, 수정 가능 새로운 Software를 개발하여 발표하면 개발한 Software의 소스코드 또한 오픈소스이다. OSI(Open Source Initiative): 오픈소스 SW의 활성화와 인증 담당 자유로운 재배포의 허가, 파생소프트웨어 배포의 허가, 개인/ 집단의 차별금지, 적용분야 제한의 금지등 10개항목으로 된 기준 오픈 소스는 공개적으로 그 설계에 액세스할 수 있기 때문에 누구나 기술을 수정하고 공유할 수 있는 분산형 프로덕션 모델입니다. 이 용어는 소프트웨어 개발 맥락에서 해당 소프트웨어가 특정 무료 배포 기준을 준수한다는 의미에서 비롯되었습니다. 현재 오..
2022.09.21 -
기본 개발용어 정리하기
디버깅 - 소프트웨어에 발생한 문제의 원인을 찾는 것. 코드의 특정 단계들마다 상태를 확인할 수 있도록 해서 어느 지점에 오류를 발생시키는 요소가 있는지 찾아간다. 컴파일러 전체 파일을 스캔하여 한꺼번에 번역한다. 초기 스캔시간이 오래 걸리지만, 한번 실행 파일이 만들어지고 나면 빠르다. 기계어 번역과정에서 더 많은 메모리를 사용한다. 전체 코드를 스캔하는 과정에서 모든 오류를 한꺼번에 출력해주기 때문에 실행 전에 오류를 알 수 있다. 대표적인 언어로 C, C++, JAVA 등이 있다. 인터프리터 프로그램 실행시 한 번에 한 문장씩 번역한다. 한번에 한문장씩 번역후 실행 시키기 때문에 실행 시간이 느리다. 컴파일러와 같은 오브젝트 코드 생성과정이 없기 때문에 메모리 효율이 좋다. 프로그램을 실행시키고 나..
2022.09.20 -
HTTP
HTTP Hyper-Text Transfer Protocol 웹 브라우저와 웹 서버가 통신할 때 사용하는 규칙 브라우저(클라이언트)와 서버사이의 요청과 응답에 있어서 어떤 정보, 어떤 형식으로 처리할 것인지 규칙 요청 URL, 메서드, 상태코드, 압축방식, 내용형식등 Hyper-Text Transfer Protocol Secure 사용자 컴퓨터와 방문한 사이트 간에 전송되는 사용자 데이터의 무결성과 기밀성을 유지할 수 있게 해주는 인터넷 통신 프로토콜 암호화: 교환되는 데이터를 암호화하여 침입자로부터 보호합니다. 즉, 사용자가 웹사이트를 탐색하는 동안 아무도 대화를 '엿들을' 수 없고 페이지에서 활동을 추적할 수 없으며 정보를 도용할 수 없습니다. 데이터 무결성: 데이터가 전송되는 동안 의도적이든 그렇지..
2022.09.19 -
MVC Pattern
MVC 패턴 Model View Controller Model: 데이터와 관련된 부분 View: 사용자에게 보여지는 부분, 화면을 그리는데 집중 Controller: Model 과 View를 이어주는 부분 / 비즈니스 로직, 내부적 처리에 집중 모델은 컨트롤러와 뷰에 의존 X , Only Data와 관련된 코드 뷰는 모델에만 의존해야하고, 컨트롤러에 의존하면 안 된다. 뷰가 모델로부터 데이터를 받을 때, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다. -> 공통으로 보여주는 부분 = 모델에 의존 X 컨트롤러는 모델과 뷰에 의존해도 된다. 뷰가 모델로부터 데이터를 받을 때, 반드시 컨트롤러에서 받아야 한다. -> (중개자 통해서 받기 / 직접 X) MVC패턴은 하나의 역할들만 담당하여 처..
2022.09.19