본문 바로가기

개발 새발10

[Java] 자바 배열(array) 프로그래밍에서 같은 타입의 여러 변수를 하나로 묶어 관리할 수 있는 구조를 배열(array) 이라고 한다. 배열을 사용하면 반복적인 변수 선언 없이 데이터를 효율적으로 저장하고 관리할 수 있다.배열은 동일한 타입의 값들만 저장할 수 있다.또한, 배열은 변수와 다르게 메모리상에 연속적인 공간에 저장된다. 이 특징은 배열의 빠른 접근을 가능하게 한다. 배열의 선언자바에서는 배열을 두 가지 방식으로 선언할 수 있다.타입 [] 변수이름; → 배열 선언변수이름 = new 타입[길이]; → 배열 생성(실제 저장공간 생성)// 선언 방식 1int[] numbers;String[] names;// 선언 방식 2int numbers[];String names[];​ 배열의 생성배열을 사용하려면 선언뿐만 아니라 생성(메모.. 2025. 4. 4.
[Spring] 스프링 빈과 의존관계 *인프런 김영한의 스프링 입문 강의를 기반으로 작성되었습니다. 스프링 빈(Bean)이란?스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 스프링 컨테이너가 관리하는 자바 객체를 말하며 하나 이상의 빈(bean)을 관리한다.빈은 인스턴스화된 객체를 의미하며 스프링 컨테이너에 등록괸 객체를 스프링 빈이라고 한다.여기서 스프링 컨테이너란?자바의 객체의 생명주기를 관리하며 생성된 자바 객체들에게 추가적인 기능을 제공하는 스프링 프레임워크의 핵심 컴포넌트즉, 내부에 존재하는 빈의 생명주기(생성, 관리, 제거 등)를 관리하고 생성된 빈에게 추가적인 기능을 제공 지금까지 서비스를 통해서 회원가입, 리포지토리에 저장 및 꺼내오기를 테스트를 통해 제대로 작동하는지 확인했다.이제는 화면을 만들어볼려고.. 2024. 8. 8.
[Spring] 스프링 회원 관리 예제 *인프런 김영한의 스프링 입문 강의를 기반으로 작성되었습니다. 비즈니스 요구사항 정리데이터: 회원ID, 이름기능: 회원 등록, 조회아직 데이터 저장소가 정해지지 않았다는 가상의 시나리오 부여 일반적인 웹 애플리케이션의 계층구조는 아래와 같다컨트롤러: 웹 MVC의 컨트롤러 역할서비스: 핵심 비즈니스 로직 구현리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인: 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계는 아래와 같다아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정개발을 진행하기 위해서 초기 개발 단계.. 2024. 8. 7.
[Spring] 스프링 웹 개발 기초 - 정적 컨텐츠/동적 컨텐츠 *인프런 김영한의 스프링 입문 강의를 기반으로 작성되었습니다. 웹 개발을 하는 3가지 방식은 다음과 같다.정적 컨텐츠 - 서버에서 파일을 있는 그대로 웹 브라우저(클라이언트)로 전달한다.MVC와 템플릿 엔진: 서버에서 프로그래밍을 통해 HTML을 동적으로 바꿔서 보내는 일을 하고, 이를 위해 MVC(Model, View, Controller) 패턴으로 개발하는 경우가 많다.API - 클라이언트 또는 다른 서버와 JSON이라는 데이터 구조 포맷으로 클라이언트에게 데이터를 전달하는 방식을 말한다. 1. 정적 컨텐츠스프링 부트는 정적 컨텐츠 기능을 자동으로 제공한다.스프링부트 프로젝트 내 src/main/resource/static 위치에 hello-static.html 파일을 생성한다.그리고 다음과 같은 코.. 2024. 7. 31.
[Spring] 스프링 프로젝트 생성 우선 자바와 IDE(인텔리제이 또는 이클립스)가 설치되어 있어야 한다.나는 자바 21, 인텔리제이를 사용했다. 스프링 부트 스타터 사이트에 들어가서 스프링 프로젝트를 생성한다.https://start.spring.io/사이트에 들어가면 아래와 같은 화면이 나온다Project는 Gradle - GrovyLanguage는 JavaSpring Boot는 3.3.2 (snapshot은 아직 개발 중이라는 뜻이기 때문에 고르지 않았다)Packaging: Jar를 선택해 주었다. Group: 프로젝트를 생성하는 조직의 이름으로 다른 프로젝트와 구분하기 위해 쓰임Artifact: 프로젝트의 이름Package name: 말 그대로 소스코드의 패키지 이름을 말한다. 이제 GENERATE를 눌러서 프로젝트를 생성하면 된다.. 2024. 7. 9.