전체 글
-
[JAVA] Object 클래스의 equals()와 hashCode() 재정의프로그래밍 언어/JAVA 2022. 10. 15. 01:15
자바 면접 질문에 equals와 hashcode의 차이점에 대한 문항이 있었다. 그때 hashCode에 대해 글로만 읽어봤었는데 자바 책 공부를 하다 equals와 hashCode를 목적에 맞게 같이 오버라이딩하는 것을 보고 다시 정확히 정리하기 위해 포스팅을 작성한다. 📑 Object 클래스의 메서드 - equals() 매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean 값으로 알려주는 역할을 한다. public boolean equals(Object obj) { return (this==obj); } 위의 코드는 Object 클래스의 정의되어 있는 equals 메서드의 실제 내용이다. 위 코드에서 알 수 있듯이 두 객체의 같고 다름을 참조변수의 값으로 판단한다. 그렇기 때문에 서로 ..
-
[Spring Boot] HTTP 요청 파라미터, 메시지 ( @RequestParam, @ModelAttribute, @RequestBody, HttpEntity)Back-End/Spring Boot 2022. 10. 14. 21:59
지난 블로그에서 서블릿에서 HTTP 요청, 응답 메시지를 확인하고 전송할 수 있는 법을 알아봤다. 스프링에선 HttpServletRequest, HttpServletResponse 객체 생성 없이 어노테이션을 사용해서 간단하게 클라이언트에서 서버로 데이터를 전달할 수 있다. 그 방법을 알아보려고 한다. https://wonisdaily.tistory.com/119 [Servlet] HttpServletRequest, HttpServletResponse 파헤치기 HttpServletRequest, HttpServletResponse에 대해 알아보기 전 Servlet에 대해 알아보려면 아래 링크 참조! https://wonisdaily.tistory.com/117 [Web] 서블릿(Servlet)이란? (+..
-
[Servlet] HttpServletRequest, HttpServletResponse 파헤치기프로그래밍 언어/JAVA 2022. 10. 11. 15:48
HttpServletRequest, HttpServletResponse에 대해 알아보기 전 Servlet에 대해 알아보려면 아래 링크 참조! https://wonisdaily.tistory.com/117 [Web] 서블릿(Servlet)이란? (+서블릿 컨테이너, 생명주기) 📑 서블릿(Servlet)이란? 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹을 만들 때 다양한 요청(Request)와 응답(Response)이 있기 마련이고 이 요 wonisdaily.tistory.com 📑 서블릿 환경 구현 1. 스프링부트에서 서블릿을 직접 등록해서 사용하려면 @ServletComponentScan 어노테이션을 ServletApplication에..
-
[JAVA ] 직렬화(Serialization)와 역직렬화(Deserialization)프로그래밍 언어/JAVA 2022. 10. 11. 13:47
서블릿에 HttpServletRequest에대해 알아보다 클라이언트에서 서버에 데이터를 전송하는 방법 중 HTTP API를 이용하는 방법이 있다. 이는 HTTP BODY에 메시지를 담아서 요청을 보내는 것인데, JSON 형식을 가장 많이 사용한다고 한다. JSON 형식으로 요청을 보내서 이를 서버에서 helloData.getUsername() 이런식으로 값을 띄워보려고 할때 jackson의 ObjectMapper 클래스를 이용해 json 데이터를 Java 객체로 역직렬화하는 방법을 알게되었다. 그렇다면 직렬화랑 역질렬화가 무엇일까? 📑 직렬화와 역직렬화란? 📌 데이터 직렬화 (java 객체 -> json) : 메모리를 디스크에 저장하거나, 네트워크 통신에 사용하기 위한 형식으로 변환하는 것이다. 📌 데이..
-
[Web] 서블릿(Servlet)이란? (+서블릿 컨테이너, 생명주기)IT/CS지식 2022. 10. 11. 01:02
📑 서블릿(Servlet)이란? 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹을 만들 때 다양한 요청(Request)와 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재한다. 서블릿은 이러한 웹 요청과 응답 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 자바 웹 프로그래밍 기술이다. 서블릿을 지원하는 WAS를 사용하면 서버에서 처리해야 하는 업무가 확연하게 줄어드는 걸 확인할 수 있다. 개발자는 그저 비즈니스 로직만 개발하면 되는 것이다. 서블릿은 자바 클래스로 웹 애플리케이션을 작성한 뒤 웹서버 안에 있는 웹 컨테이너에서 이것을 실행하고, 웹 컨테이너에서는 서블릿 인스턴스를 생성한 후 서버에서 실..
-
[Spring Boot] Bean 생명주기 (Life cycle) 콜백Back-End/Spring Boot 2022. 10. 11. 00:02
📑 스프링 컨테이너 생명주기 스프링컨테이너에 대표적인, 아주 기본적인 생명주기를 살보자면 아래와 같다. 1. ApplicationContext를 이용해 객체를 생성하고 스프링 컨테이너를 초기화 한다 . 2. getBean()과 같은 메서드를 이용해서 컨테이너에 있는 빈 객체를 사용한다. 3. close() 메서드를 이용해 컨테이너를 종료한다. 📌 컨테이너 초기화 작업 : 빈 객체 생성, 초기화 및 의존 객체를 주입 📌 컨테이너 종료 : 빈 객체를 소멸하는 작업 빈 객체의 생명 주기는 객체 생성 -> 의존 설정 -> 초기화 -> 소멸 과정이다. 1. 스프링 컨테이너를 초기화 할 때, 가장 먼저 빈 객체를 생성한다. 2. 빈 객체 생성 후, 의존을 설정한다. 즉) 의존성 주입을 한다. 3. 모든 의존 설정이..
-
[Github] private repository commit 내역 잔디 표시Tools/Git & Github 2022. 10. 9. 22:59
국비를 들으면서 왜 그 수업에만 집중했을까? 진작에 블로그도 운영하고 깃허브 관리도 할걸,, 매일 공부한 내용 깃허브에 업로드할 걸 그런 아쉬움이 든다. 진작 조금이라도 취업에 도움될만한 활동들에 대해 더 생각해볼걸!! 공부한 내용 지금이라도 블로그에 올리고, 깃허브에도 종종 업로드하고 있는데 private repository에 커밋한 내역들은 잔디가 심어질까? 궁금증이 들었다. 📑 기존 상태 확인 컴퓨터로 확인했을 땐 분명 내 계정이니까 잔디가 심어진 걸 확인했는데 로그인 안 된 모바일로 확인해보니 역시나,, 잔디가 보이지 않는다. 이는 간단히 버튼 하나만으로 해결 가능하니 걱정은 노노 😝 📑 잔디 표시하는 방법 나의 깃허브 Overview 아래 보면 contributions 확인이 가능한데, 우측 상..
-
[web] Web Server와 WAS 차이점, 동작과정 알아보기IT/CS지식 2022. 10. 9. 22:30
📑 Static Pages와 Dynamic Pages 웹서버와 WAS의 차이를 알아보기 전에 정적페이지와 동적페이지에 대해 짚고 넘어가려한다. 🎃 Static Pages : Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. 항상 동일한 페이지를 반환한다. ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들이 대표적이다. 🎃 Dynamic Pages : 인자의 내용에 맞게 동적인 contents를 반환한다. 웹 서버에 의해서 실행되는 프로그램을 통해 만들어진 결과물 ex) servlet 📑 Web Server란? 📌 개념 :웹 서버는 소프트웨어랑 하드웨어로 구분되는데 하드웨어는 web 서버가 설치되어 있는 컴..