
문제: (동물은 10번씩 울음) 1마리 동물은 2마리 동물이 모두 울고 나서 마지막에 울게 하기 for문, 쓰레드 배열 길이만큼 반복 if문 i = 0 threads[0].start() "꼬끼오~" 10번 false i = 1 threads[1].start() "꿀꿀" 10번 true threads[1].join() "꼬끼오~", "꿀꿀" 동시에 나옴. join() 걸려서 threads[1] 끝나고 나서 다음 start() 실행. join() 다음에 start() 실행하는 것은 나중에 실행됨. i = 2 threads[2].start() "꽥꽥!!" 10번 true threads[2].join() "꽥꽥!!" 10번 따로 나중에 실행됨. ★join() : 사용한 객체의 쓰레드가 모두 종료되어야 다른 쓰레..

987654 ==> 987,654 로 만들어주는 메소드 EX. 6819 ==> 6,819 매개변수 data = 6819 받아올 매개변수가 int라면 정해져있다면 String 타입으로 형변환해서 받아와야 함. for문에서 data의 길이만큼 반복해주기 if문에서 ","추가 조건 걸어주기 > 3자리마다 "," 추가 되어야 함.(i = 0부터 시작이니까 data길이로는 i+1번째임) i % 3 == 0 >> 3으로 나눈 나머지가 0인 경우(3의 배수만 true) > 0번째에는 "," 추가되지 않아야 함. (순서) 1 2 2-1 5 3 4 for문 if문 result result = data.charAt(data.length() -1 - i ) + result; i = 0 false 9 (4-1-0 = 3)번째..
■DCL(Data Control Language) : 데이터 제어어 - GRANT : 권한 부여 - REVOKE : 권한 해제 -------------------------------------------------------- ■VIEW 기존의 테이블은 그대로 놔둔 채 필요한 컬럼들 및 새로운 컬럼을 만든 가상 테이블. 실제 데이터가 저장된 것은 아니지만 VIEW를 통해서 데이터를 관리할 수 있다. 주소를 참조하고 있다. 참조형, 기존 테이블(실제 데이터)은 참조, 주소는 공유함, 원본 데이터 수정 삭제 가능, RESULT 테이블로 짜집기해서 VIEW -독립성 : 다른 곳에서 접근하지 못하도록 하는 성질 -편리성 : 긴 쿼리문을 짧게 만드는 성질 -보안성 : 기존의 쿼리문이 보이지 않는다. CREATE..
같은 컬럼일 경우, BETWEEN : AND IN : OR 우선순위 : OR보다 AND가 먼저, AND보다 IN이 먼저 ■TCL(Transaction Control Language) : 트랜잭션 제어어 ■트랜잭션 하나의 서비스를 구현하기 위해서 작성했던 쿼리들의 묶음(쿼리가 하나일 수도 여러개 일수도 있음), 하나의 단위 하나의 작업 단위 여러 개의 SQL문의 묶음 1.COMMIT 모든 작업(트랜잭션)을 확정하는 명령어 2.ROLLBACK 이전 커밋 시점으로 되돌아가는 명령어 DDL 복구 안됨 : TRUNCATE, DROP DML 복구 됨 : DELETE TCL은 DML과 관련됨. AUTO >> 자동으로 커밋되도록 설정 ** TRUNCATE는 테이블 내용을 전체 삭제하므로, DELETE보다 빠르게 처리할..
무결성 데이터에 결함이 없어야 함. 데이터의 정확성, 일관성, 유효성이 유지되는 것. 정확성 : 데이터는 애매하지 않아야 한다. 일관성 : 각 사용자가 일관된 데이터를 볼 수 있도록 해야 한다. 유효성 : 데이터가 실제 존재하는 데이터여야 한다. 1.개체 무결성 개체는 하나의 테이블을 의미함 모든 테이블은 PK로 선택된 컬럼을 가져야 한다. 2.참조 무결성 두 테이블의 데이터가 항상 일관된 값을 가지도록 유지하는 것. 3.도메인 무결성 도메인은 컬럼. 컬럼의 무결성. 컬럼의 타입, NULL값의 허용 등에 대한 사항을 정의하고 올바른 데이터가 입력되었는 지를 확인하는 것. 모델링(기획) : 추상적인 주제를 DB에 맞게 설계하는 것. 어플리케이션 기획 안에 모델링이 포함되어 있음. 테이블을 짜야지 모델링 할..
■DB(Database) 데이터가 모여 있는 기지. 추상적인 용어. ■DBMS(Database Management System) DB를 관리할 수 있는 구체적인 시스템 오라클, 마리아DB, MySQL, MS-SQL, MongoDB, ... 오라클 : 대기업, 대규모 프로젝트, 비쌈, AS 엄청남, 괴물단체 MySQL : 무료, 첫째딸 마리아DB : 둘째딸, MySQL과 명령어 똑같음. MS-SQL : 오래된 프로젝트 MongoDB : single page application(spa) 채팅, SNS 많이 쓰임. 1등, 스키마가 없음(NO-SQL). 텍스트로 데이터 교환 회사가 커져서 스키마를 만듦 >> 몽구스 ■오라클 DBMS 버전 i : internet g : grid(실무에서 80%) c : clou..
■date, calendar date > 내부API(sql, util / 주로 util 사용) pattern -> (개발자들) 약속 (패키지 : dateTest) ■파일 입출력(Java Application 관점) 자바입장(관점)에서 보기 java -> txt : 출력 / txt -> java : 입력 ■Stream 데이터가 전송될 때 필요한 연결통로 (byte(0,1)로 변환해서) 출력 시 byte 변환 방식 -> encoding 방식 / 도착지에서 decoding encoding, UTF-8 전 세계에서 많이 사용 완성형(MS949), 조합형(효율적, UTF-8, 가변형) ■stream 개별처리(byte로 보냄) buffer 임시저장공간(일괄처리를 위한)(완성된 문자나 문자열을 보냄), stream ..
쓰레드가 동시에 있으면 제어할 수 없음. 하나하나의 쓰레드가 들어와야 제어권이 부여됨 멀티 쓰레드로 구현했는데 여러개가 있으면 오류 생김 >>하나씩 접근해야 해. 동기화! 내가 쓰레드를 제어하기 위해서 사용 wait을 쓰려면 동기화를 해야 함. 패턴 설계할 때 쓰는 거구나~ 내가 쓰는 코드는 다른 사람도 쓰니까~ 약속한 설계 방식이구나~ 싱글톤패턴 무조건 객체는 단 한 개, 그걸 돌려서 쓰자 다른 곳에서 생성자를 만들지 못하게 해줌. 객체는 무조건 한 개만 만들고 돌려 쓴다. 쓰레드가 멈췄을 때(join,wait,sleep) 쓰레드를 멈출 수 있다 멈추고 싶을 때 오류 걸려서 catch로 탈출한다. -------------------------------------------- Thread 종료 방법 1..
■프로그램 : 소스코드로 잘 짜여진 틀 : 실행되지 않은 상태. ■프로세스 : 실행된 프로그램. ■쓰레드 : 프로세스 처리 경로. 서버에 관련된 내용을 이해하기 위함 실무에서 잘 쓰진 않지만 알고는 있어야 : 프로세스 안에서 처리하는 경로의 갯수 ■단일 쓰레드(경로가 1개 / 비효율적), 멀티 쓰레드(경로가 여러 개) - 단일 쓰레드(싱글 쓰레드) 처리 경로를 한 개만 가지고 있기 때문에 직렬적이다. 동시에 많은 양을 처리하기 힘들기 때문에 상대적으로 비효율적이다.(하나씩 처리) 하지만 하나의 작업에 문제가 발생하더라도 다른 작업에는 영향을 끼치지 않는다.(각각의 작업이 독립적) 따라서 안정성이 보장되고 설계 시 멀티 쓰레드에 비해 쉽다. - 멀티 쓰레드(다중 쓰레드) 하나의 프로세스를 동시에 처리하는 ..