본문 바로가기
728x90
반응형

Java&Spring21

[ Java ] BufferedReader , BufferedWriter ,StringTokenizer BufferedReader - Scanner 와 유사 - 버퍼를 이용해서 읽는 함수, Scanner 보다 빠른 속도 - 버퍼가 가득차거나, 개행문자가 나타나면, 버퍼의 내용을 한번에 전송함 - String 으로 고정되어 입력 받음 , 데이터 가공이 필요함 ※ 예외처리 필요함 main 클래스 옆에 throw IOException를 작성해야함 또는 try&catch 를 활용하여 예외처리도 가능 import java.io.* BufferedReader br = new BufferedReader(new InputStreamReader( System.in)); String s = bf.readLine(); // Stirng int i = Integer.parseInt(bf.readLine()); //Int Buf.. 2023. 8. 6.
[Spring] AOP 관점지향 프로그래밍 AOP 에 대해서 자세하게 알아보겠습니다. AOP란? Aspect -Oriented Programming 관점 지향 프로그래밍 - 문제를 바라보는 관점을 기준으로 프로그래밍 하는 기법을 말한 다. 핵심 로직을 구현한 코드에 공통 기능 관련 코드가 포함되어 있지 않기 때문에 적용해야 할 공통 기능이 변경되더라도 핵심 로직을 구현한 코드를 변경할 필요가 없다. 단지 공통기능 코드를 변경 한 뒤 핵심 로직 구현 코드에 적용만 하면 된다. 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍입니다. 스프링의 IoC가 결합도와 관련된 기능이라면 AOP는 응집도와 관련된 기능이라고 할 수 있다. AOP 용어 • Aspcet : 반복되어 사용되는 로직, 여러 객체에 공통으로 적용되는 공통 관심 사항 • ta.. 2023. 4. 4.
[Spring] spring? Spring 핵심 기능 1. The IoC Container 2. Resources 3. Validation, Data Binding, and Type Conversion 4. Spring Expression Language (SpEL) 5. Aspect Oriented Programming with Spring 6. Null-safety 7. Logging The IoC Container IoC (Inversion of Control) "전통적인 제어 흐름에 비추어볼 때, 제어 흐름을 반대로 뒤집은 것" - Wikipedia 제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 라이브러리를 사용할 때는 내 코드가 .. 2023. 4. 4.
[Java&Spring] opp 정렬체 구현 bubble sort란? - 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 - 인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다. 선택 정렬과 기본 개념이 유사하다. =>여러가지 자료형을 정렬하고 싶고, 정렬한 것을 비교하기 위해 제네릭 타입을 사용하겠습니다. H-jin789/java-practice1: java-oop (github.com) GitHub - H-jin789/java-practice1: java-oop java-oop. Contribute to H-jin789/java-practice1 development by creating an account on GitHub. github.com 의존성 주입(Dependency injection) 방법으로 bubb.. 2023. 3. 27.
[JAVA기초] JAVA란? 프로그래밍 이란? 프로그래밍: 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가는한 기계어로 만드는 일 컴파일러 : 기계어로 바꾸어 주는 프로그램 ( ex. 자바 컴파일러, gcc ) 자바 프로그래밍 자바의 역사 : 1991년 제임스 고슬링을 비롯한 선 마이크로 시스템스 연구원들이 처음 개발 가전, 휴대용 장치에 사용되는 소프트웨어 언어로 개발됨. 안정성이 중요 자바 프로그래밍의 특징 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다. 객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다. 프로그램이 안정적이다. 풍부한 기능이 제공되는 오픈 소스이다. 객체 지향 프로그래밍이 무엇인가? 프로그램의 구현을 시간의 흐.. 2023. 3. 13.
todo 리스트 만들기 3 - model,repository model은 todo 리스트에 들어갈 뼈대를 생성해주는 것이다. 1. model package 생성 2.todoEntity package org.example.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Generated; import lombok.NoArgsConstructor; import javax.persistence.*; @Data @Entity @NoArgsConstructor @AllArgsConstructor public class TodoEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nu.. 2023. 1. 27.
todo 리스트 만들기 2 intellij - gradle 로 기본틀 만들기 의존성은 아래의 링크를 들어가서 필요한 depedency를 찾아서 가져옵니다. https://mvnrepository.com/ plugins { id 'org.springframework.boot' version '2.4.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-rest' -> rest api 를 구현하기 위한 라이브러리 implementation 'org.springframework.boot:spring-boot-s.. 2023. 1. 27.
To-Do list 만들기 1 1. 필요한 내용 구상하기 필요 기능 1 todo 리스트 목록에 아이템을 추가 2 todo 리스트 목록 중 특정 아이템을 조회 3 todo 리스트 전체 목록을 조회 4 todo 리스트 목록 중 특정 아이템을 수정 5 todo 리스트 목록 중 특정 아이템을 삭제 6 todo 리스트 전체 목록을 삭제 2. API 스펙 구상하기 method endpoint 기능 request response POST / TODO 아이템 추가 { "title" : " 자료구조 공부하기 " } { " id " : 17, "title" : "자료구조 공부하기", "order" : 0, "completed":false, "url":"http://localhoost:8080/17" } GET / 전체 todo 리스트 조회 [ { "i.. 2023. 1. 26.
Java_Generics(지네릭스) Generics(지네릭스) - 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 - 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 버너로움이 줄어든다. * 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환 되어 발생할 수 있는 오류를 줄여준다는 뜻이다. 타입 안정성을 제공한다. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다. 예)메서드타입 Object NewProduct{ Object item; void setItem(Object item){this.item = item;} Object getItem(){return item.. 2022. 8. 5.
Java_Collections 컬렉션 동기화 - 멀티 쓰레드 프로그래밍에서는 하나의 객체를 여러 쓰레드가 동시에 접근할 수 있기 떄문에 데이터의 일관성을 유지하기 위해서 공유되는 객체에 동기화(Synchronization)이 필요하다. List syncList = Collections.synchronizedList(new ArrayList(...)); 변경불가 컬렉션 - 컬렉션에 저장된 데이터를 보호하기 위해서 컬렉션을 변경할 수 없게, 즉, 읽기전용으로 만들어야 할 때가 있다. Static Collection unmodifiableCollection(Collection c); static List unmodifiableList(List list); '싱글톤 컬렉션 ' - 단 하나의 객체만을 저장하는 컬렉션을 만들고 싶을 경우 사용... 2022. 8. 5.
728x90
반응형