전체 글 110

[Spring] Spring Framework란

Frame work란 스프링에 들어가기 앞서, 먼저 프레임워크가 무엇인지 알아야할 것 같다. 사전적 의미로는 "소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경" 이라고 정의가 되어있다. 간단하게 생각해서 어플리케이션(=소프트웨어)을 편리하고 효율적으로 제작하기 위해, 뼈대가 되는 클래스들과 인터페이스로 구성된 일종의 기본 설계 틀이라고 생각하면 된다. Spring Framework란 ? Spring Framework의 정의 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한..

Spring 2023.06.15

[JAVA] Generic

제네릭(Generic)은 직역하자면 '일반적인'이라는 뜻이다. '데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법'이다. 제네릭(Generic)은 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미한다. 한마디로 특정(Specific) 타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입이라는 것이다. Generic(제네릭)의 장점 1. 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다. 2. 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 즉, 관리하기가 편하다. 3. 비슷한 기능을 지원하는 경우 코드의 재사용성이 ..

JAVA 2023.06.14

[JAVA] 예외 처리 (4)

연결된 예외 (chained exception) 한 예외가 다른 예외를 발생시킬 수 있다. 예외 A가 예외 B를 발생시키면, A는 B의 원인 예외 라고한다(cause exception) 👉 왜 예외를 연결하죠? 예외를 연결하는 이유는 여러 가지 예외를 하나의 큰 분류의 예외로 묶어서 다루기 위함입니다. checked exception을 unchecked exception으로 포장(wrapping)하는데 유용하게 사용되기도 합니다 원인 예외를 다루기 위한 메소드 initCause() 지정한 예외를 원인 예외로 등록하는 메소드 getCause() 원인 예외를 반환하는 메소드 // 연결된 예외 public class main { public static void main(String[] args) { try ..

JAVA 2023.06.14

[0613] TIL

항해 2일차.... 오늘 내일 6/13 ~ 6/14 일은 팀 과제가 있다... 숫자 야구 프로그램 만들기이다. 처음에는 어찌 만들지 고민을 많이 했다. 컴퓨터는 0과 9사이의 서로 다른 숫자 3개를 무작위로 뽑아야하는데 이부분에서 생각을 많이 했다... 처음에는 set을 사용해서 랜덤 클래스를 set에 3개 숫자가 들어갈때까지 for문을 돌려야하나 막 엉청 고민했다... 그러다 너무 고민하지 말고 list로 처리했다... 고민끝...깔끔하게 잘 작동한다...ㅎ 너무 생각을 많이 한거같다... 좀 더 머리를 잘 써보자... import java.util.*; public class Main { static int count = 0; //시도 횟수 static List com = new ArrayList()..

TIL/2023 2023.06.14

[JAVA] 예외 처리 (3)

예외 발생과 try-catch, finally 문 예외처리의 흐름 미리보기 📌 예시에서 주의깊게 봐야 할 것 우리가 예외를 어떻게 정의하고, 예외가 발생 할 수 있음을 알리고, 사용자는 예외가 발생 할 수 있음을 알고 예외를 핸들링하는지의 흐름입니다. 예외 정의하기 직접 다음과 같이 우리만의 에러를 정의 할 수 있습니다. class OurBadException extends Exception { public OurBadException() { super("위험한 행동을 하면 예외처리를 꼭 해야합니다!"); } } 클래스를 만들고, 메서드를 만들며 우리의 메서드가 위험하다고 알리기(throw, throws) class OurClass { private final Boolean just = true; // ..

JAVA 2023.06.13

[JAVA] 예외 처리 (2)

예외 클래스의 계층 구조 자바에서는 실행 시 발생할 수 있는 오류를 클래스로 정의 하였다. Object클래스 ==> 최상위 클래스 조상은 Object클래스 이므로 Exception과 Error클래스 역시 Object 클래스의 자손들이다. 모든 예외의 최고 조상은 Exception클래스이이다. Exception 클래스와 그 자손들(RuntimeException 과 자손들 제외) 예외 클래스들은 다음과 같이 두 그룹으로 나눠질 수 있다. Exception클래스와 그 자손들 RuntimeException클래스와 그 자손들 참고 자료 : https://github.com/mingseok/javajungsuk3

JAVA 2023.06.13

[0612] TIL

오늘 부터 항해 99 시작했다.... 앞으로 인생이 어떨지 참... 좋다!ㅋ 오늘 한것은 자바 종합반 3주차 복습 4주차 예외 처리 공부 를했다....ㅋ 뭔가 별로 안한거 같다.. 그리고 9시 이후 스프링 스터디...어렵다 어려워 너무 어렵다 일단 인프런에서 김명환 강의 듣고 있다... 1주차 50프로 듣고 오늘 배운거 스터디 분들에게 이거 배웠다고 말했다... 부끄러웠당ㅋ 너무 어려웡 다들 너무 잘해... 앞으로 더 열심히 해야겠다 블로그 [java] 예외 처리 개념 정리 https://pink-love-princess.tistory.com/55 https://pink-love-princess.tistory.com/57 https://pink-love-princess.tistory.com/58 [spr..

TIL/2023 2023.06.13

[JAVA] 예외처리 (1)

프로그램 오류 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 발생 시점에 따라 '컴파일 에러' 와 '런타임 에러' 로 나눌 수 있다. 컴파일 에러 ==> 컴파일 시에 발생하는 에러 .java => .class 런타임 에러 ==> 실행 시에 발생하는 에러 논리적 에러 ==> 싱행은 되지만, 의도와 다르게 동작하는 것 컴파일 에러 : 컴파일러가 소스코드에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하여 오류가 있는지를 알려준다. 컴파일러가 알려 준 에러들을 모두 수정해서 컴파일을 성공적으로 마치고 나면, 클래스파일이 생성되고, 생성된 클래스 파일을 실행할 수 있게 된다. 런타임..

JAVA 2023.06.12

[Spring] @RequestParam

@RequestParam 어노테이션은 HttpServletRequest 객체와 같은 역할을 한다. HttpServletRequest 는 getParameter() 메소드를 사용했다. 또 다른 방법으로는 @RequestParam으로 받아오는 방법도 있다. 메소드의 파라미터 값에 @RequestParam을 넣어주면 된다. @Controller public class HelloController { @GetMapping("hell-mvc") public String helloMvc(@RequestParam(value = "name") String name, Model model){ model.addAttribute("name", name); return "hello-template"; } } ex) /hell..

Spring 2023.06.12

[0607] 미니 프로젝트 TIL

오늘 부터 항해 99에서 미니 프로젝트를 시작했다. 팀원분들과 미니 프로젝트를 마무리했다... 이전 부터 준비해서 그런지 빨리 완료한거같다.미니 프로젝트가 플라스크라 엉청 좋은 결과물을 원하지는 않았다. 그냥 이번에는 팀원들과 협업하며 깃허브 사용과 의사소통 을 경험하는데에 더 중점을 둔거같다.ㅋ 재미있었다.... [미니 프로젝트] Create 회원가입 기능 게시글을 생성하는 기능 (제목, 주소, 별점, 이미지 URL, 게시글) Read 게시글들을 가져오는 기능 Update 게시글을 수정하는 기능 (제목, 주소, 별점, 이미지 URL, 게시글 변경) Delete 유저가 작성한 게시글을 삭제하는 기능 Wire Frame 도메인설계 유즈케이스 설계 ERD 설계 마무리하며 느낀점 재미있었다...ㅋ 새로운 언어..

TIL/2023 2023.06.07