보충반 수업
import java.util.*;
public class prac02 {
public static void main(String[] args) {
//삼항 연산자
int h=19;
String result1 = h<12?"오전":"오후";
System.out.println(result1);
Scanner sc = new Scanner(System.in);
System.out.println("알파벳을 입력하세요: ");
char alpha = sc.nextLine().charAt(0);
//char type을 스캔으로 받고 싶으면 내장함수 charAt을 사용하여 할수 있다. ()안은 인덱스
int ialpha = (int)alpha;
System.out.println(ialpha); //아스키 코드값 출력.
String str = "안녕하세요";
System.out.println(str.charAt(1));
int a = 10;
int b;
//후위 연산자
b=a++; //우선순위가 높습니다.
System.out.println(b); //10
System.out.println(a+" "+b); //11 10, b의 값은 10이 들어가 있는 상태.
//전위 연산자
b=++a; //연산자 우선순위가 낮습니다.
System.out.println(b); //12
System.out.println(a+" "+b); //12 12
//배열
int[] num=new int[5];
num[0]=3;
num[1]=11;
num[2]=22;
num[3]=33;
num[4]=44;
System.out.println(num[num.length-1]);
String[] seasons={"봄","여름","가을","겨울"};
System.out.println(Arrays.toString(seasons));
System.out.println(seasons[seasons.length-1]);
//List
//1.순서 중요
//2.같은 자료형만
//3.add, get, remove, size
List<String> fruits = new ArrayList<>();
fruits.add("감");
fruits.add("사과");
fruits.add("배");
fruits.add("감");
fruits.add("사과");
System.out.println(fruits);
for (String fruit : fruits) {
System.out.println(fruit);
}
fruits.remove(0);
System.out.println(fruits.get(0));
}
}
//실습
//랜덤으로 정수10개 저장
//최소값을 찾아주세요.
Random random = new Random();
int[] randoms = new int[10];
int find=0;
for(int i=0; i<randoms.length;i++){
randoms[i]=random.nextInt(Integer.MAX_VALUE-1); //#1
if(find<randoms[i]){
find=randoms[i];
}
}
for(int i:randoms){
if(i<find){
find=i;
}
}
System.out.println(Arrays.toString(randoms));
System.out.println(find);
#1 : random값이 () 안에 아무것도 입력 안 할 시, 음수가 나온다. 저거 말고 양수가 나오게 하는 방법은 없나..?
2-2 RDBMS
정보를 저장하고 관리하는 영역
RDBMS(Relational DataBase Management System)은 컴퓨터에 정보를 저장하고 관리하는 기술.
성능/관리 면에서 매우 고도화된 엑셀이라고 생각하기.
- RDBMS의 종류
- MySQL
- PostgreSQL
- Oracle Database
- 각 제품 간 차이가 크지 않아서 사실 어떤 걸 사용하든 좋습니다. 유료인 Oracle을 제외하고 보통 MySQL, PostgreSQL 중에서 많이 고르는 편인데, 우리는 실제 배포 시 MySQL을 사용합니다.
- 우리가 사용할 RDBMS
- H2
- In-memory DB의 대표 주자인 H2
- 인메모리 DB란 서버가 작동하는 동안에만 내용을 저장하고, 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스
- 개발 시. 무거운 DB를 만들어할 시 시간낭비가 많으므로 가볍게 사용하기 좋음
- MySQL
- MySQL은 우리가 서비스를 배포할 때 사용할 데이터베이스
- AWS RDS 라는 서비스를 사용
- 스프링과 궁합이 좋음
- H2
- H2 웹콘솔 띄워보기
- src > main > resources > application.propertiesjava 폴더 : 코드
- resources : 그 외 설정

//resources 폴더, 웹 콘솔 설정하기
spring.h2.console.enabled=true //스프링의 h2DB의 웹콘솔을 보여줘.
spring.datasource.url=jdbc:h2:mem:testdb //스프링의 데이터소스를 H2를 쓸거야.
localhost:8080 내 컴퓨터 8080방에 스프링 서버가 띄워져 있어.
에러 페이지 뜨는 것 자체가 돌아가고 있다는 것.
웹 콘솔 보기
localhost:8080/h2-console → Connect → 웹 콘솔 실행 완료.
RDBMS는 고도화된 엑셀.
엑셀 파일 = DB
시트 = 테이블
한 행 = 데이터
조회= SQL


CREATE TABLE IF NOT EXISTS courses (
id bigint(5) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
tutor varchar(255) NOT NULL,
PRIMARY KEY (id)
);
/*
CREATE TABLE : 테이블을 만들어라
IF NOT EXISTS courses : courses 의 테이블이 존재 안 하면
3개의 열로 구성 (id, title, tutor)
NOT NULL : 값이 비면 안 된다.
bigint() = Long
varchar()= String
PRIMARY KEY (id) : 구분할수 있는 키. (다른 것도 가능하나 중복되므로 id사용)
AUTO_INCREMENT : 순차적으로 자동으로 id 부여 1, 2, 3, ...
INSERT INTO courses (title, tutor) VALUES
('웹개발의 봄, Spring', '남병관'), ('웹개발 종합반', '이범규');
/*
INSERT INTO courses : courses 에 데이터를 넣어 달라.
(title, tutor) : 괄호 쌍에 맞게 넣어 달라.
VALUES ('웹개발의 봄, Spring', '남병관'), ('웹개발 종합반', '이범규');
그 값.
값이 2개라 Updata count:2
SELECT * FROM courses;
/*
조회
* = 전체
*/
이런 SQL 짜는 게 따로 있지만, 실제로 사용하는 일은 별로 없고
Spring Data JPA 가 java명령어를 SQL로 번역해줌.


위의 건은 저녁시간 때 태훈님이랑 이야기하다가 여쭤봤었는데, MAC에서는 잘 돌아갔다.
그냥 OS차이로 그런 걸로 하고 넘어가기로..
스프링 프로젝트 만들 때마다, 빌드 시스템 관련 에러가 뜨는데.. 별 것 안 했는데.. 프로젝트 생성하는데만 1시간씩 날아가버린다. 어질어질..
지웠다 다시 만들었다를 반복하다 보니, 초기 설정할 때 5가지 개발 툴 설정을 하라는데 그게 자동으로 외워졌다 ^^ ;;..
물론 그것들이 정확히 무엇을 뜻하는지는 모르지만..
진짜 진도를 이렇게 나가고 있는데, 우리 팀 이번 미니 프로젝트 어떻게 될지 걱정된다. 3명은 다 같이 허우적대고 있고,
태훈님은 작은 수술이 있으셔서 병원 다녀오셔야하고, 철심 빼는 거라고 가능한 참여하신다는데 무슨 소린가 싶다.
맘 같아서는 신경쓰지 말고 푹 쉬다고 오시라고요. 소리치고 싶은데, 마음과 비례하지 않는 실력이라 죄송합니다..
갑신님................ 헤헤헿... 헿.. 헿... 쓰면서 생각하니 또 정신줄이 가출하려 한다.
뭐라도 해야 하는데...
'TIL' 카테고리의 다른 글
| 22.12.20_TIL_내배캠 (0) | 2022.12.21 |
|---|---|
| 22.12.19_TIL_내배캠 (0) | 2022.12.20 |
| 22.12.14_TIL_내배캠 (0) | 2022.12.15 |
| 22.12.13_TIL_내배캠 (0) | 2022.12.13 |
| 22.12.12_TIL_내배캠 (0) | 2022.12.13 |