본문 바로가기

JAVA

(7)
#3 h2 데이터베이스 사용해보기 ORM ORM을 사용하면 쿼리 대신 자바 코드로 작성할 수 있다. JPA 란? 스프링부트는 JPA(Java Persistence API)를 사용하여 데이터베이스를 처리한다. JPA는 자바 진영에서 ORM(Object-Relational Mapping)의 기술 표준으로 사용하는 인터페이스의 모음이다. JPA는 인터페이스이다. 따라서 인터페이스를 구현하는 실제 클래스가 필요하다. JPA를 구현한 대표적인 실제 클래스에는 하이버네이트(Hibernate)가 있다. SBB도 JPA + 하이버네이트 조합을 사용한다. h2 데이터베이스 나같은 초보가 연습삼아 하는 프로젝트나 로컬 경로에서 쓰는 경량 데이터베이스 라고 합니다 h2 데이터베이스 실행 방법 1) cmd: 'cd + h2 데이터베이스가 설치된 경로' 를 하..
#2 스프링부트 환경 설정 이 글은 교재 보면서 따라하다가 망한 글입니다04 스프링부트 애플리케이션 개발하기4.1 프로젝트 생성두 가지 방법이 있다.1) 인텔리제이 IDEA 에서 프로젝트를 생성하는 방법 - 얼티밋 버전(커뮤니티 버전은 불가)2) Spring Initializr 를 이용해 생성하는 방법 https://start.spring.io/ (스프링 공식 사이트에서 제공) 난 커뮤니티 버전이라서 2번 방법을 사용해야 한다. 1번 방법에서 설정할 수 있는 항목들Name : 프로젝트 이름Location : 프로젝트를 생성할 위치Language : JVM 상에서 동작하는 언어 (JAVA, Kotlin, Groovy)Type : 빌드 툴  (Maven 또는 Gradle)Group : 프로젝트를 정의하는 고유한 식별자 정보 (기업명이..
#1 스프링부트 공부 시작 스프링부트 핵심가이드 (장정우 지음) 참고하여 쓰는 글입니다. 주의: 개인적으로 공부하며 쓰는 글이라 중간에 느낀점 같은 첨언이 있을 수 있습니다. (쓸데없는말이좀많습니다.) 01 스프링 부트란? 스프링의 핵심 가치 "애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는것" 다음과 같은 방법으로 스프링의 핵심 가치를 구현한다. 1. 제어 역전(IoC) 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것 => 제어 역전을 통해 의존성 주입, 관점 지향 프로그래밍이 가능해짐 ==> 스프링을 사용하면 객체의 제어권을 컨테이너로 넘기기 때문에 개발자는 비즈니스 로직을 작성하는 데 더 집중할 수 있음 2. 의존성 주입(DI) 사용할 객체를 직접 생성하지 않고 외부 컨테이..
[JAVA] 네트워크 프로그래밍 서버 여러 명의 사용자들에게 서비스를 제공하는 컴퓨터 클라이언트 서비스를 요청해서 사용하는 컴퓨터 IP 주소(IPv4) 네트워크에 존재하는 컴퓨터를 유일하게 식별하는 숫자 호스트 이름, DNS, URL DNS(Domain Name System): 숫자 대신 기호를 사용하는 주소 DNS 서버: 기호 주소를 숫자 주소로 변환해주는 서버 URL(Uniform Resource Locator): 인터넷 상의 자원을 나타내는 약속 nslookup 명령어 nslookup naver.com URL(Uniform Resource Locator) 인터넷 상의 파일이나 데이터베이스같은 자원에 대한 주소를 지정하는 방법 Ex) 호스트 이름을 받아서 IP 주소를 반환하는 프로그램을 작성해보자 public class host2i..
[JAVA] 스레드(thread), 람다식(Lambda) 스레드 멀티 스레딩 하나의 프로그램이 동시에 여러 가지 작업을 할 수 있도록 하는 것 각각의 작업이 스레드(thread) 멀티 스레딩의 문제점 여러 스레드들이 같은 데이터를 공유할 때, 동기화 문제 발생 Thread 클래스 EX) Thread 클래스를 상속하는 방법 class MyThread extends Thread {// ① public void run() {// ② for (int i = 0; i { for (int i = 0; i ) 함수몸체로 이용하여 사용 할 수 있습니다. 2. 함수몸체가 단일 실행문이면 괄호{}를 생략 할 수 있습니다. 3. 함수몸체가 return문으로만 구성되어 있는 경우 괄호{}를 생략 할 수 없습니다. 2. () - EX) 그래픽 버전 카운터 만들어보기 스윙 컴포넌트를 ..
[ZetCode 번역] Java Swing을 이용한 Tetris game 만들기 원본 문서 Java Tetris game - creating Tetris game in Java Contents Previous Next Java Tetris last modified January 10, 2023 In this chapter, we create a Tetris game clone in Java Swing. Source code and images can be found at the author's Github Java-Tetris-Game repository. Tetris The Tetris game is one of the mos zetcode.com 실행결과 이 챕터에서는 Java Swing에서 Tetris 게임 클론을 만듭니다. 소스 코드 및 이미지는 저자의 Github Java-..
[JAVA] 제네릭(generic), 컬렉션(collection) 제네릭 프로그래밍 기존의 방법 어떤 객체든 참조할 수 있는 Object 참조 변수를 사용 -> 형변환(Casting) 필요 제네릭을 이용한 방법 클래스에 저장하는 데이터의 타입은 객체 생성 시에 결정된다 제네릭 메소드 : 타입이 결정되지 않음을 나타냄 T : return 자료형, 메소드 사용 시 정해짐 Ex) 정수 배열, 실수 배열, 문자 배열을 모두 출력할 수 있는 제네릭 메소드 printArray()를 작성하여 보자. public class GenericMethodTest { public static void printArray(T[] array) { for (T element : array) { System.out.printf("%s ", element); } System.out.println();..