본문 바로가기

전체 글25

[Spring Boot] API, REST API, RESTful API API네트워크에서 프로그램 간에 상호작용하기 위한 매개체를 말한다. 식당으로 예를 들면, 주방에 요리를 주문하지 않고 점원에게 요리를 주문한다. 그리고 점원은 주방에 가서 해당 요리를 요청한다. 그리고 요리가 완성되면 점원이 손님에게 요리를 전달한다.여기서 손님은 클라이언트, 주방에서 일하는 요리사는 서버라고 생각하면 된다. 그리고 중간에 점원을 API라고 생각하면 된다. 우리가 웹 사이트 주소를 입력해서 '네이버 메인 화면'을 보여달라고 요청한다. 그러면 API는 이 요청을 서버에 준다. 그럼 서버는 API의 요청을 처리해 결과물을 만들고 다시 API에게 전달한다. 그러면 API는 결과물을 브라우저에게 보내주고 우리는 네이버 메인 화면을 볼 수 있게되는 것이다.  REST API 웹의 장점을 최대한 활.. 2024. 12. 11.
[Spring Boot] application.yml과 application.properties 차이점 application.yml과 application.propertiesSpring Boot 프로젝트에서 각종 설정은 application.properties 또는 application.yml 으로 한다. 프로젝트를 생성하게 되면 application.properties가 생성되는데 프로젝트 설정을 application.yml로 하기도 한다. 둘의 차이점은 다음과 같다.  application.propertiesk=value 형태로 이루어져 있다.계층 구조는 키 이름에 .(점)을 사용해서 표현한다.server.port=8080spring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=namespring.datasource.. 2024. 12. 8.
[Spring Boot] IoC와 DI IoC (Inversion of Control)제어의 역전. 다른 객체를 직접 생성하거나 제어하지 않고 외부에서 관리하는 객체를 가져와 사용하는 것이다.public class A { b = new B(); // new 키워드로 클래스 A에서 클래스 B의 객체 생성}------------------------------------------------------------------------public class A { private B b; // 객체 생성X, 받아온 객체를 b에 할당}  DI (Dependency Injection)의존성 주입. IoC를 구현하기 위해 사용하는 방법이다.@Autowired 애너테이션은 스프링 컨테이너에 있는 빈을 주입하는 역할을 한다. 빈은 스프링 컨테이너에서 관리하는.. 2024. 12. 7.
[Chapter 16] 네트워킹 네트워킹(Networking)네트워킹이란, 두 대 이상의 컴퓨어를 케이블로 연결하여 네트워크를 구성하는 것을 말한다.초기의 네트워크는 단 몇 대의 컴퓨터로 구성되었으나 지금은 전 세계의 셀 수도 없을 만큼 많은 수의 컴퓨터가 인터넷이라는 하나의 거대한 네트워크를 구성하고 있으며, 인터넷을 통해 다양하고 방대한 양의 데이터를 공유하는 것이 가능해졌다. 자바에서 제공하는 java.net 패키지를 사용하면 이러한 네트워크 어플리케이션의 데이터 통신 부분을 쉽게 작성할 수 있다.  클라이언트/서버 서버는 서비스를 제공하는 컴퓨터, 클라이언트는 서비스를 사용하는 컴퓨터가 된다.네트워크를 구성할 때 전용서버를 두는 것을 서버기반모델이라고 하고 별도의 전용서버 없이 각 클라이언트가 서버 역할을 동시에 수행하는 것을 .. 2024. 12. 5.
[Chapter 15] 입출력 입출력이란?I/O란 Input과 Output의 약자로 입력과 출력, 간단히 입출력이라고 한다. 입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말한다.예) 키보드로부터 데이터를 입력받음, System.out.println()으로 화면에 출력함 스트림자바에서 입출력을 하기 위해 한쪽에서 다른 쪽으로 데이터를 전달하려면, 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림이라고 한다.14장의 스트림과 같은 용어를 쓰지만 다른 개념이다. 스트림 - 데이터를 운반하는데 사용되는 연결통로 스트림은 연속적인 데이터의 흐름을 물에 비유해서 붙여진 이름이다.물이 한쪽으로만 흐르는 것과 같이 스트림은 단방향통신만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에.. 2024. 12. 4.
[Chapter 14] 람다와 스트림 람다식(Lambda expression)람다식의 도입으로 인해, 자바는 객체지향언어인 동시에 함수형 언어가 되었다. 객체지향언어가 함수형 언어의 기능까지 갖추게 하는 일은 결코 쉬운 일이 아니었을텐데도 기존의 자바를 거의 변경하지 않고도 함수형 언어의 장점을 잘 접목시키는데 성공했다. 람다식이란?메서드를 하나의 '식'으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다.메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수'이라고도 한다.int[] arr = new int[5];Arrays.setAll(arr, (i) -> (int)(Math.random()*5)+1);위의 문장에서 람다식 '(i) -> (int)(Math.random().. 2024. 11. 30.