API URI 고민을 해보자 리소스란? 회원을 등록하고 수정하고 조회하는게 리소스가 아니다. 미네랄을 캐라 한다면 미네랄이 리소스다! 즉, 회원이라는 개념 자체가 리소스다. 그럼 리소스를 어떻게 식별하는게 좋을까? 회원을 등록, 수정, 조회를 모드 배제하고 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI에 매핑 /members/{id} 형식으로 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용을 권장한다. URI는 리소스만 식별한다! 즉 리소스와 해당 리소스를 대상으로하는 행위를 분리한다. 리소스 = 명사 // 행위 = 동사 (GET,POST,,,) 참고강의) https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8..
HTTP로 어떤 일을 할 수 있는지 클라이언트 서버 구조 stateful,stateless(무상태) 비연결성 HTTP 메시지 순서대로 알아볼 것이기 때문에 먼저 HTTP에 대해 알아보자! HTTP란? hyper text transfer protocol의 약자로, 무언가 링크를 걸어 전달할 수 있는 html같은 문서를 전달하는 프로토콜 이었다. 요즘에는 html뿐만 아닌 음성, 영상, 파일 ,JSON , 심지어 서버간에 데이터를 주고 받을 때도 대부분 HTTP를 사용한다. HTTP의 역사 ~~ 1.1 버전으로 1997년에 나온 이것은 가장 많이 사용하며 우리에게 가장 중요한 버전이다. RFC2068(1997) -> RFC2616(1999) -> RFC7230~7235(2014) 우리는 이 버전에 대해 알아..

URI (uniform resource identifier) 란? 리소스를 식별하는 통합된 방법이라고 해석할 수 있다. URI의 뜻 Uniform : 리소스 식별하는 통일된 방식 ReSource: 자원, URI로 식별할 수 있는 모든 것(제한없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL: Uniform Resouce Locator / 리소스가 있는 위치를 지정 URN: Uniform Resouce Name / 리소스에 이름을 부여 URI는 로케이터 locator 이름 name 또는 둘 다 추가로 분류할 수 있다. 그러나 이름을 구현하면 리소스 매핑이 되어있어야하는 단점이 있기에 URN 보다 URI를 사용한다. 이제부터 설명한다면 URI를 URL에 통합시켜 설명하겠다. 프로토콜 =..

인터넷에서 어떻게 통신이 일어나는지 보며 IP, TCP, UDP, PORT, DNS에 대해 알아볼 것이다. 왜 우리는 웹사이트를 그냥 만들고 싶을 뿐인데 네크워크 공부를 해야하는가? 웹 http도 네트워크 망안에서 이뤄지기 때문에 알 필요가 있다 클라이언트가 서버 옆에 그냥 붙어있다면 보낸뒤에 그냥 받으면 될텐데, 우리는 지구 저 반대편 친구에게도 메시지를 보내는 현시대를 살고 있기에, 중간 인터넷망을 알고있어야한다. 그럼 우리는 공부하기에 앞서 컴퓨터와 컴퓨터간의 소통은 어떤 규칙과 방법을 통해 통신이 일어날까? 일단 IP 부터 알아보자. IP 란? internet protocol 로 주소를 의미한다. 데이터 통신은 지정한 ip 주소를 통해 해당 데이터 전달하지만 그냥 전달하는 것이 아닌 페킷이라는 통..

https://programmers.co.kr/learn/courses/30/lessons/43165?language=python3 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 ..

자바는 1996년 1월에 공식 발표한 객체지향 프로그래밍 언어다. 자바의 가장 큰 특징으로는 운영체제에 독립적이라는 것인데, 이는 운영체제의 종류에 관계없이 실행이 가능하기 때문에 프로그램을 변경하지 않고도 실행이 가능하다(나중에 알게될 JVM이란 녀석이 도와준다) C++의 장점을 채택, 잘 사용되지 않는부분은 과김히 제외 시켜 간결한 표현이 가능하다. 자바는 풍부한 클레스 라이브러리를 통해 단순히 이 클레스 라이브러리만을 잘 활용해도 강력한 기능의 자바 프로그램을 작성할 수 있다. 자바의 특징에대해 크게 알아보겠다. 1. 운영체제에 독립적이다. (자바 가상머신 JVM을 통해 운영체제가 이해할 수 있도록 변환하여 전달한다. 그렇기에 아무 운영체제에서도 다 작동 할 수 있는것!) 2. 객체지향언어이다. (..