전체 글

개발자를 꿈꾸는 비전공자 낙타 github https://github.com/jun9898
·코딩딩/Java
Set List 컬렉션의 객체의 저장순서를 유지하지만, Set 컬렉션은 저장 순서가 유지되지 않는다.인덱스 관련된 메소드가 없다.Set 컬렉션은 인덱스로 객체를 검색해서 가져오는 메소드가 없다. 대신 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자(Iterator) 를 제곡한다. Iterator 메소드 hasNext() : 가져올 객체가 있으면 true를 리턴하고 없으면 false를 리턴한다.next() : 컬렉션에서 하나의 객체를 가져온다.remove() : Set 컬렉션에서 객체를 제거한다. Iterator를 사용하지 않더라고 향상된 for문( value : values ) 을 이용해서 전체 객체를 대상으로 반복할 수 있음. HashSet HashSet은 객체를 저장하기 전에 먼저 객체의 ha..
·코딩딩/Java
Vector ArrayList와 Vector의 차이점은 동기화 여부이다.Vector는 동기화 메소드로 구성되어 있어 멀티 스레드가 동시에 Vector의 메소드들을 실행할 수 없고, 하나의 스레드가 메소드 실행을 완료 해야만 다른 스레드가 메소드를 실행할 수 있음. Vector는 멀티 스레드 환경에서 안전하게 객체를 추가, 삭제할 수 있다 LinkedList LinkedList는 List 구현 클래스이므로 ArrayList와 사용 방법은 동일하나 데이터를 보관하는 내부 구조가 다르다. ArrayList는 내부 배열에 객체를 저장해서 관리하고 (한줄서기) LinkedList는 인접 참조를 링크해서 체인처럼 관리함. (번호표)객체 삭제와 삽입이 일어나는 곳에서는 ArrayList 보다 LinkedList가 더..
·코딩딩/Java
외부에서 객체 필드에 마음대로 접근할 경우 객체의 무결성이 깨질 수 있다. 이를 해결하기 위해 사용하는 메소드가 있다. 인텔리제이의 단축키는 alt + insert이며 Getter and Setter를 선택해서 생성한다. Getter and Setter를 생성할 필드값을 선택해주고 ok를 누르면 해당 필드값에 접근할 수 있는 메소드가 자동 생성된다.
·코딩딩/Java
인텔리 제이 하단의 해당 아이콘을 누르고 Open ideavimrc 선택 해당 옵션을 선택하고 열린 창에 set clipboard+=unnamed 추가해주기
·코딩딩/Java
싱글톤이란 전체 프로젝트에서 하나의 객체만을 생성하고 해당 객체에 접근할 수 static 메소드를 생성해 관리하는것을 의미한다. 싱글톤 기법을 사용하는 이유자바에서 싱글톤 패턴은 하나의 인스턴스만을 생성하고, 어디서든지 그 인스턴스에 접근할 수 있도록 하는 디자인 패턴입니다. 주요한 목적은 다음과 같습니다:단일 인스턴스 유지: 싱글톤 패턴은 애플리케이션 전체에서 오직 하나의 인스턴스만 생성하여 사용합니다. 이는 여러 개의 인스턴스가 생성되는 것을 방지하고, 리소스 낭비를 줄이는 데 도움을 줍니다.공유 리소스 제공: 싱글톤 인스턴스는 여러 객체 간에 공유할 수 있는 중요한 리소스를 나타낼 수 있습니다. 예를 들어, 데이터베이스 연결, 로깅 시스템, 설정 정보 등의 인스턴스를 싱글톤으로 구현하면 애플리케이션..
·코딩딩/Spring
AOP는 모든 메소드의 호출 시간을 측정하거나 회원가입 시간, 회원 조회 시간을 측정할 때 사용된다. AOP를 적용시키면 joinPoint.proceed() 메서드를 사용해 해당 서비스의 프록시를 임시로 생성해서 AOP에 코딩한 작업을 완료한 후 서비스를 실행한다..
·코딩딩/Spring
화면을 만들기 위한 컨트롤러와 뷰 컨트롤러를 설계해보자. 스프링에 @Autowired @Service @Repository 어노테이션을 등록해 각각의 클래스에 의존성을 주입해 상호작용이 가능하도록 만든다. 해당 방법은 컴포넌트 스캔 방식으로 컴포넌트 에노테이션을 사용해 의존성을 주입하는 방법이다. 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때 기본으로 싱글톤으로 등록한다. 자바 코드로 직접 스프링 빈을 등록한 모습 (리포지토리와 서비스 어노테이션을 제거하고 직접 springConfig 클래스로 연결함) 정형화 되지 않거나 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록한다
·코딩딩/Spring
회원가입과 회원 목록을 조회할 수 있는 간단한 웹을 제작해보자 우선 기본적으로 localhost:8080 에 접속했을때 가장먼저 나오는 home 화면을 제작한다. GetMapping / 을 통해 기본 홈화면을 설정해주고 home.html을 출력하도록 코딩한다 다음으론 회원가입 버튼을 눌렀을 때 /members/new를 호출하고 MemberController에 GetMapping으로 /members/createMemberForm을 연결해준다. 그렇게 호출된 /members/createMemberForm 에서 사용자가 입력한 값은 post 방식으로 넘어온다. 이렇게 넘어온 데이터를 PostMapping으로 가져와 저장할 수 있도록 form을 작성해 입력값을 member class 로 저장된 입력값을 memb..
·코딩딩/Spring
이번 실습에서 사용할 데이터 베이스는 H2 데이터 베이스이고 실무에서는 사용되지 않는 교육용 고대 DB라고 한다. 설치 링크 https://www.h2database.com 해당 DB를 설치 후 h2.sh 파일을 클릭해 설치해준 뒤 h2.bat 파일을 실행해 DB를 제어한다 해당 쿼리문을 실행시켜 MEMBER 테이블을 생성해준다. 이제 리포지토리와의 커넥션을 끊고 DB와 연결해주는 코드를 작성해준다. package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; impor..
·코딩딩/Java
1. 학습 목표2. 학습 내용네트워킹네트워킹의 개요클라이언트/서버모델TCP/IP, 소켓, 포트자바에서의 URL(Uniform Resource Locator) 관련 클래스URL 클래스URLConnection 클래스TCP 소켓을 이용한 서버/클라이언트 통신ServerSocket 클래스의 주요 메소드Socket 클래스의 주요 메소드서버/클라이언트간 통신의 순서(TCP)UDP 소켓을 이용한 서버/클라이언트 통신서버/클라이언트간 일방향 통신(UDP)서버/클라이언트간 양방향 통신(UDP)1. 학습 목표 네트워킹의 기본적 개념에 대해 설명할 수 있다.자바에서의 URL 관련 클래스에 대해 설명할 수 있다.TCP 소켓을 이용한 서버/클라이언트 통신의 기본 구조에 대해 이해하고 응용 프로그램을 개발할 수 있다.UDP 소켓..
전낙타
낙타의 코딩일기