전체 글 65

+14 spring boot의 필수 !Lombok application.properties

Lombok 자바 프로젝트를 진행하는데 있어서 거의 필수라고 느껴졌다. 필수적으로 필요한 메서드 / 생성자를 자동생성 해준다. 코드를 절약할 수 있고 편의성 또한 최고였다. package com.sparta.springprepare; import lombok.*; public class Memo { private String username; private final String contents; } 해당 코드 처럼 import lombok을 해서 사용 그러면 해당 필드값의 getter/setter 메서드와 생성자를 자동으로 생성해 준다. 클래스 위에 롬복 @Getter를 추가한 후 컴파일된 코드를 확인해보면 이처럼 직접 작성하지 않은 getUsername(), getContents() 메서드가 자동으로..

TIL 2023.06.25

WIL HTTP 와 MVC패턴이란?

MVC패턴이란? M :: Model V :: View C :: Controller 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리 Model * 데이터와 비즈니스로직을 담당! * 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업 수행 View * 사용자 인터페이스를 담당 * 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현 Controller * model 과 view 사이의 상호작용을 조정하고 제어 * 사용자의 입력을 받아 Model 전달하고, Model의 결과를 바탕으로 View를 업데이트 MVC패턴의 장점 1. 여러개발자가 역할을 나눠 Model, View, Controller 2. 중복코드를 없앨 수 있다. 3. 각 compon..

WIL 2023.06.25

+13 API / RESTful API / Apache Tomcat

API API(application programming interface) :: 다른 소프트웨어 시스템과 통신(소통) 하기 위해 따라야 하는 규칙 API는 개발자들같의 약속같은 개념이다 서로 다른 애플리케이션이 약속한 방식의 API요청을 수행하면 정해진 결과물을 반환하게 된다. RESTful API ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ RESTful API ★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ RESTful API는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처 여기서 아키텍처란? 간단하게 정리하면 목표하는 대상에 대하여 그 구성과 동작 원리, 구성요소간의 고나계 및 시슽 ㅔㅁ..

TIL 2023.06.24

+12 SPRING BOOT / Gradle

Gradle = 빌드 자동화 시스템 자바코드를 자동으로 빌드해줌 Gradle를 사용하면 자바코드를 실행 가능한 jar파일로 만들어줌 build.gradle 외부 라이브러리를 dependencies 에 작성하면 외부라이브러리들을 Gradle이 해당 라이브러리들을 Maven Repository와 같은 외부 저장소에서 자동으로 다운로드 해옴 (편의성 good) Maven Repository = 라이브러리 저장소 쉽게 우리 같은 개발자들이 코드에만 집중할 수있도록 도와주는 코드의 묶음 그럼 Gradle이 다운로드 해온 라이브러리는 어디에서 확인할까? External Libraries

TIL 2023.06.24

+11 (주특기 시작) HTTP란? 무엇일까

오늘부터 시작한 주특기주가 시작이 되었다 3주간 진행되는데 할 양이 어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마어마하게 많다.. 그래서 오늘부터 TIL은 주특기 차에 배우는 내용들을 하나씩 정리를 할 예정이다. 먼저 HTTP란? 통 . 신 . 규 . 약 :: 데이터를 주고 받는 양식을 정의한 통신 규약 중 하나이다. :: 컴퓨터끼리 데이터를 주고 받을 때 정해둔 약속 클라이언트가 서버에 요청(Request)을 한다. 서버는 그 요청을 응답(..

TIL 2023.06.24

+ 10 인텔리제이 디버그 디버깅

디버그 :: 버그를 고친다 는 뜻 :: 프로그램에서 나는 오류를 수정하는 작업 디버깅? :: 프로그래밍 과정에서 발생한 오류를 파악하고 수정하는 일련의 과정 Breaking Point :: Breaking Point 여러개 설정할 수 있따. :: 디버그시 Breaking Point 가 걸린 라인이 호출이 됨 :: 디버그를 할 때, 해당하는 Breaking Point 없으면 로직이 쭉 실행된다. Resume = > 다음 Break Point 로 이동 Step Over => Break 된 지점의 다음 Line으로 이동 Step Into => Break된 라인의 해당하는 로직 내부로 이동 Step Out => Step Into 해서 들어온 지점으로 빠져 나옴 Force Step Into => stepping에..

TIL 2023.06.22

+ 9 자바 인터페이스란? 다형성

정말정말정말정말정말정말정말정말정말정말정말정말정말정말정말정말정말정말중요하다는 자바에 있어서 객체지향에 있어서 빠질 수 없는 개념 인터페이스 다형성 인터페이스란? 클래스에서 메소드를 구현할 수 있도록 강제 할 수 있는 기능 쉽게 말하면 객체의 사용방법을 가이드라인 하는 것! 인터페이스는 추상메서드와 상수로만 이뤄져있다. 그래서 인터페이스로는 인스턴스 사용이 불가!!! + 자바 8부터는 디폴트메서드와 static메서드도 사용가능 인터페이스의 특징 ★ 인터페이스는 interface 키워드를 사용해서 정의한다. ★ 인터페이스는 상수와 추상메서드로만 구성되어 있다. 자바 8부터는 디폴트메서드와 static메서드도 사용가능 ★ 인터페이스 안에 있는 상수는 모두 public static final 타입이다 (생략가능)..

TIL 2023.06.20

+8 자바 Arrays. 대표 메서드

알고리즘을 풀다가 Arrays. ~~ 하는 클래스를 많이 사용하는 개발자분들의 코드를 보았다. 그래서 대표적인 메서드를 정리해보려 한다. ※ Arrays에 정의된 메서드는 모두 static 메서드! statc String toString(boolean[] a) statc String toString(char[] a) statc String toString(short[] a) statc String toString(int[] a) statc String toString(double[] a) 등 기본형 배열과 참조형 배열 별로 하나씩 정의될 수 있음 Int 형 Arrays 클래스 메서드 - copyOf() :: 배열 전체를 복사해서 새로운 배열을 만든다. - copyOfRange() :: 배열 일부를 복사해..

TIL 2023.06.19

230618_WIL_객체지향프로그램이란? + JVM?

JVM? 객체지향 프로그램? 이름은 많이 들어봤다. 하지만 누군가 나에게 객체지향프로그램이 뭐야? JVM이라고 알아? 라고 머리속에 정리되어 있지 않고 어렴풋이 본 기억으로 말문이 막힐 것 같았다. 그래서 오늘 한번 WIL의 첫주제로 써보려 한다. 객체지향 프로그램(Object Oriented Programming = OOP )이란? 위키피디아에 기록된 내용으로는 객체 지향 프로그래밍은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체" 들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (출처: 위키피디아) 객체 / 지향 / 프로그래밍 을 나눠서 ..

WIL 2023.06.18

+7 자바 Calendar 클래스

Calendar 클래스 :: 자바에서 날짜와 시간을 다루기 위해 Date와 함꼐 많이 사용하는 정적클래스 중 하나 :: 위의 클래스를 사용하기 위해서는 import java.util.Calendar 해야함 :: 추상클래스여서 직접 객체를 생성할 수 없고 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야함 Calendar cal = Calendar.getInstance(); getInstancd() 메서드는 calendar클래스를 구현한 클래스의 인스턴스를 반환 필드를 이용해서 get / set 메서드를 통해 값을 가져오거나 설정할 수 있다. 챗지피티가 너무 자세하게 알려주었다... 글을 보면 car객체를 사용하여 get()메서드로 다양한 작업을 수행할 수 있다는 예시를 볼 수 있다. 아래코드는 프..

TIL 2023.06.17