전체 글
-
HTTP method 공부 (HEAD,TRACE,OPTIONS)공부일기장 2023. 7. 25. 23:47
HEAD - GET METHOD 와 동일하다 - get과 다르게 서버에서 리턴할때 header값만 보내준다. - header를 체크하기 위해 사용한다. - resource를 가져오지 않고도 서버를 체크할수있다. - 객체가있는지 확인할수있다. response에서 상태값을 체크하여 - 헤더를 확인하여 resource가 수정되었는지 체크할수있다. TRACE - 클라이언트에서 서버까지 가는 과정들에 대한 정보를 알수있다. - 요청이 프록시에서 다른 어플리케이션으로 가면서 어떤 영향을 끼치는지 알수있다. OPTIONS - 서버에게 어떤 method를 지원하는지 요청할수있다.
-
jvm ,바이트코드,inbound,outbound,downstream공부일기장 2023. 7. 18. 23:12
클래스 로더 -> 메모리에 쌓임. 바이트 코드조작 클래스 로더에서 클래스를 메모리에 할당하고 , 할당된 메모리에 있는 클래스 바이트 코드를 조작하여 값을 변경할수있다. 힙 - 자바 객체를 생성하여 저장하는곳 메소드 - 클래스 기반 데이터를 통해 클래스 이름 , 정보등을 저장 스택 - 함수 호출 스택을 담당하는곳 Inbound,outbound - 전송 방향에 대한 설명을 나타낸다. Inbound -> to the origin server 서버방향으로 전송하는것 outbound -> back to the user agent 유저 클라이언트로 돌려보내는거 Downstream-> 모든 http message는 downstream 이다?? request message 이든 response message이든 dow..
-
20230716 - jvm , 전략패턴 기본 공부 복기,http fragment,path,query??공부일기장 2023. 7. 16. 22:41
jvm... 메모리 스택 - 자바 함수가 스택에 쌓여 실행된다 (에러가 뜰때 여러개의 함수 에러가 뜨는것을 볼수있다.) , 쓰레드마다 런타임 스택을 만든다. PC - 힙 - 객체 들을 저장하는 공간이다.. 메소드 - 클래스 수준의 정보를 저장한다. (클래스 이름,부모 클래스 이름,메소드 ,변수) 전략패턴 중요내용 캡슐화 - 변환 되는 내용들을 캡슐화한다. 구성 - 클래스 안에 클래스를 사용하는것 (상속아님) 두 클래스를 합치는것 예를들어 오리 클래스에서 행동 클래스를 사용하여 유연성을 확장시키기 위함. url#fragment 여기서 fragment는 서버에서 url데이터를 가져온후 브라우저에서 fragment를 해석한다. path avriable /users/123 query string /users?i..
-
Spring boot에서 AWS S3에서 받은 파일들을 Zip파일로 압축후 response하기 (in memory)Spring 2023. 5. 23. 09:59
스트림 InputStream,OutputStream 프로세스가 데이터의 도착지라면 입력스트림(inputstream),프로세스가 데이터의 출발지라면 출력 스트림(OutputStream) 이라고 불린다. 기준은 항상 프로그램이다. JAVA의 스트림 JAVA의 스트림은 바이트 기반 스트림,문자 기반 스트림이 존재한다. 바이트 기반 스트림 : 문자,그림,영상등 다양한 형태의 데이터를 주고 받을수 있다. 문자 기반 스트림 : 오직 문자만 주고 받을수 있도록 설계됨. JAVA에서 InputStream은 바이트 기반 입력 스트림 최상위 추상 클래스이고,OutputStream은 바이트 기반 출력 스트림 최상위 클래스이다. 이들의 하위 클래스는 XXXInputStream,XXXOutputStream 이라는 네이밍을 가진..
-
TDD - 왜 사용하는가?개발방법론/TDD 2023. 4. 27. 23:21
tdd.. tdd ... tdd...!!! 개발한지는 5년차이지만.. 5년동안 테스트코드를 제대로 작성한적이없었다! 테스트코드는 나의 사수뿐만아니라 동료개발자 그리고 나도.. 테스트코드를 작성하는거에 대한 귀찮음과 왜하는지에 대한 이해가 부족했기에.. 하지만 어느날 어느 한 사건으로 인해 나는 깨달음을 얻었고 테스트코드를 짜야한다고 동료들에게 설파하였지만.. 당장에 개발진척을 위해 나의 말은 당당히 무시되었다.. 그렇다면 왜! 어느 이유에서 나는 테스트코드를 짜야 한다고 생각했을까? 일단 내가 깨달은것은 런타임에러를 잡기위해서이다.. 내가 맡은 프로그램은 고객사에 따라 많은 커스텀기능들이 필요하고 고객들이 일주일마다 말이 변해서 기능을 계속 수정해야되는 상황이 발생했다. 이때 나는 테스트코드를 작성하지 ..