본문 바로가기

Programming/Java9

유저와 웹의 통신은 어떻게 이루어지는가? https://www.youtube.com/watch?v=hJHvdBlSxug 1. 유저가 브라우저(혹은 다른 웹 프로그램)를 통해 데이터 전송을 요청함 (Request) ex. 브라우저를 통해 웹페이지의 도메인 주소(Domain name)를 입력했고 웹페이지를 불러오는 것을 요청한다고 예를 들어 보자. 2. 그러면 브라우저는 해당 주소가 만약 https://www.naver.com 과 같은 도메인 이름(Domain name)이라면 IP주소로 바꾸기 위해 DNS서버에 또 요청을 보내게 된다. 그러면 DNS서버는 해당 도메인 이름에 맞는 IP주소를 연결해서 해당 웹페이지의 서버에 데이터 전송을 요청하게 된다. 3. 그러면 서버에서는 해당 요청을 수신해서(Receive) 처리하고 결과를 전송한다. (Resp.. 2022. 2. 5.
[JAVA] concurrentmodificationException 발생 Iterator를 사용했더니 나온 에러. import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class IteratorTest { public static void main(String[] args) { List list = new ArrayList(); // Iterator it = list.iterator(); 이렇게 쓰면 concurrentmodificationException 발생 list.add("Hello"); for(Iterator iterator = list.iterator(); iterator.hasNext();){ String value = iterator.next(); // value .. 2022. 2. 1.
[JAVA] REST 와 REST API의 차이와 간단하게 이해하기 REST는 Representational State Transfer 의 약자이다. 한국어로 해석해보자면, '상태 전달의 추상적(대표적) 인 모형' 이란 뜻 정도 되겠다. 자세히 풀어서 설명하자면, 'Represent'라는 영어단어는 '~을 대표하다' 라는 뜻을 가지고 있다. 즉 representational이란 뜻은 state transfer(상태의 이동 혹은 상태가 이동하는 것)에서 대표적인 성질만을 뽑아낸 다는 것을 뜻한다. 예를 들자면 돌맹이를 대표하는 성질은 딱딱함, 깃털 같은 경우에는 가벼움 등이 있겠다. 이걸 보니 abstract가 생각나는데, 실제로 representational이 abstract와 비슷한 의미이다. 이렇게 영어를 알고 보니 REST가 뭐하는 놈인지 이해하기가 훨씬 쉬워진다... 2022. 1. 27.
[JAVA] URI와 URL의 차이 간단하게 이해 URI는 URL을 포함하는 상위 개념 URI의 I는 Identifier (식별자) 라는 단어이다. 말 그대로 파일이 어떤 파일인지, 사람으로 따지자면 누구인지 식별해주는 주민등록증 같은 것으로, 파일이 어떤 파일인지 식별해준다는 뜻이다. URL의 L은 Locator (위치를 가르키는 것) 라는 단어이다. 파일이 어디에 있는지, 사람으로 따지자면 gps상에서 현재 있는 위치를 보여주는 것과 비슷한 것으로, 파일이 어디에 있는지 가르킨다는 것이다. URI는 설계 규약이 있으며, 안지킨다고 통신이 불가능한 것은 아니다. 하지만 통신은 의사소통과 같은 것이니까 잘 대화하기 위해서는 규약을 최대한 지키는 것이 좋다. 2022. 1. 27.