Programming 321

9. 스프링(spring)/ JUnit test

# JUnit 자바용 단위 테스트 프레임워크로서, 스프링(Spring) 프로젝트에서 테스트를 작성하고 실행하는 데 사용됩니다. JUnit은 테스트 주도 개발(Test-Driven Development, TDD) 및 애자일 개발 방법론에서 널리 사용되는 도구로, 코드의 품질과 안정성을 향상시키는 데 도움을 줍니다. JUnit을 사용하면 개발자는 각각의 메서드 또는 클래스 단위로 테스트를 작성할 수 있습니다. 테스트 케이스를 작성하여 코드의 기대 동작을 정의하고, JUnit을 실행하여 코드가 기대한 대로 동작하는지 확인할 수 있습니다. JUnit은 다양한 어노테이션을 제공하여 테스트를 작성하고 실행할 수 있도록 지원합니다. 스프링에서 JUnit을 활용하는 경우, 주로 스프링 컨텍스트의 빈(Bean)을 테스트..

우분투(ubuntu)/ 특징

# 우분투(Ubuntu) 가장 인기 있는 리눅스 배포판 중 하나로, 데스크톱, 서버, 클라우드 환경 등 다양한 용도로 사용할 수 있습니다. 다음은 우분투에 대한 간단한 설명입니다: 1. 오픈 소스 운영 체제: - 우분투는 오픈 소스 운영 체제로서, 소스 코드를 누구나 확인하고 수정할 수 있습니다. 이는 개발자들 사이에서 협력과 개선을 촉진하며, 보안 및 안정성에 도움이 됩니다. 2. 사용자 친화적인 인터페이스: - 우분투는 사용자 친화적인 데스크톱 환경을 제공합니다. GNOME 데스크톱 환경을 기본으로 사용하며, 직관적인 UI와 편리한 응용 프로그램을 포함하고 있습니다. 3. 다양한 소프트웨어 지원: - 우분투는 다양한 소프트웨어를 지원합니다. 웹 브라우저, 오피스 스위트, 멀티미디어 도구, 개발 도구,..

임베디드(embedded)

# 임베디드 (Embedded) 컴퓨터 시스템의 일부로 특정한 기능을 수행하는 컴퓨터 시스템을 의미합니다. 임베디드 시스템은 주로 특정한 장치나 제품 내부에 포함되어 있으며, 일반적인 운영 체제와는 다르게 특정한 작업에 특화된 운영 체제를 사용합니다. 임베디드 시스템은 다양한 분야에서 사용되며, 일상 생활에서 우리가 흔히 접하는 많은 제품들에 적용되어 있습니다. 예를 들면, 스마트폰, 가전제품, 자동차, 로봇, 의료 기기, 산업 제어 시스템 등이 임베디드 시스템의 일부입니다. 임베디드 시스템은 보통 작고 저전력이며, 특정한 환경에서 안정적으로 동작해야 합니다. 이러한 특징은 임베디드 시스템이 주어진 작업에 특화되어 있고, 효율적으로 동작해야 함을 의미합니다. 임베디드 시스템은 다양한 하드웨어와 소프트웨어..

C언어 포인터(pointer)에 관하여

# 포인터 다른 변수의 메모리 주소를 저장하는 변수로, `&`는 주소 연산자(Address-of Operator)이고, `*`는 역참조 연산자(Dereference Operator)입니다. 1. & (주소 연산자: Address-of Operator): - `&`는 변수의 주소를 가져오는 역할을 합니다. - 변수 앞에 `&`를 붙여 사용합니다. - 예시: int num = 42; int *ptr = # 위의 예시에서 `&num`은 변수 `num`의 주소를 가져옵니다. 이를 포인터 변수 `ptr`에 저장할 수 있습니다. (주소는 0x7fff5fbff82c 이런 형식임) 2. * (역참조 연산자: Dereference Operator): - `*`는 포인터가 가리키는 주소에 저장된 값을 참조합니다. ..

Programming/etc 2023.07.18

10. 스프링(spring)/ VO클래스와 DAO클래스

스프링에서의 VO 클래스와 DAO 클래스는 데이터베이스와 관련된 작업을 수행하는 데 사용되는 클래스입니다. 각각의 역할과 기능을 살펴보면서 비교해보겠습니다. VO 클래스 (Value Object): - VO 클래스는 값 객체로서, 데이터를 담는 용도로 사용됩니다. - 주로 데이터베이스의 레코드와 매핑되는 필드들을 가지고 있습니다. - 일반적으로 데이터의 저장과 전달을 목적으로 하며, 데이터에 접근하기 위한 getter와 setter 메서드를 가지고 있습니다. - 데이터베이스의 테이블과 1:1로 매핑되는 경우가 많습니다. - 비즈니스 로직을 포함하지 않으며, 단순히 데이터를 저장하고 전달하는 역할을 수행합니다. - 예를 들어, 사용자의 정보를 담는 UserVO 클래스는 사용자의 아이디, 이름, 이메일 등의..

2. 스프링(spring)/ IoC와 의존성 주입

# IoC (Inversion of Control) 제어의 역행 스프링의 IoC (Inversion of Control)는 객체 간의 의존성을 관리하기 위한 디자인 패턴입니다. 이 패턴은 개발자가 객체를 생성하고 관리하는 것이 아니라, 프레임워크가 객체의 생성과 관리를 대신 맡아서 처리합니다. 이를 통해 객체 간의 결합도를 낮출 수 있고, 유연하고 확장 가능한 애플리케이션을 구축할 수 있습니다. 일반적으로 개발자는 객체를 생성하기 위해 `new` 키워드를 사용하고, 객체 간의 의존성을 직접 관리합니다. 그러나 스프링에서는 IoC 컨테이너라는 역할을 하는 컨테이너가 객체의 생명주기를 관리하고, 객체 간의 의존성을 자동으로 해결해줍니다. 스프링 IoC의 핵심은 빈(Bean)입니다. 빈은 스프링이 관리하는 객..

5. 스프링(spring)/ 버전 호환 설치 및 설정(2023.기준)

# 자바 계열이 버전 관리는 주의해야 하는 부분이다. *단순히 이클립스 자바를 사용할 경우 권장버전. eclipse(4.21): https://www.eclipse.org/downloads/packages/release/2021-09/r 1. 이클립스 - JDK 이클립스 4.6부터는 JDK 8 이상 이클립스 4.17부터는 JDK 11 이상 이클립스 4.25부터는 JDK 17 이상 2. Spring(이클립스 기반) - JDK 3. 아파치 톰캣(서버) - JDK: # 파일 다운로드 2023.07.17 기준으로 본다면, 권장사항으로는 따라서 3.9.18 스프링 프레임 워크 기준으로 사용하면, boot(2.7)와 legacy(mvc) 지원. Spring Tool3.9.18(압축파일): https://downlo..

자바(java)/ 람다식(lambda)

# 자바 람다식(lambda): Java 8부터 도입된 기능으로, 함수형 프로그래밍 스타일을 지원하는 것이 주요 목적입니다. 람다식은 익명 함수의 형태로, 메서드의 매개변수로 전달하거나 변수에 할당할 수 있습니다. 이것은 코드를 더 간결하고 가독성 있게 만들어주며, 병렬 처리와 다양한 자바 라이브러리와 API와 통합할 때 매우 유용합니다. 람다식의 구조는 다음과 같습니다: (매개변수) -> { 실행 코드 블록 } - `(매개변수)`: 람다 표현식에서 사용할 매개변수를 정의합니다. 매개변수가 없을 경우, 빈 괄호 `()`를 사용합니다. - `->`: 람다 화살표 연산자로, 매개변수와 실행 코드 블록을 구분합니다. - `{ 실행 코드 블록 }`: 람다 표현식에서 실행될 코드 블록을 정의합니다. 예시 코드를 ..