전체 글
-
0822. 트랜잭션, 데이터정의어(DDL)DB/Oracle 2023. 8. 22. 17:59
DDL, DCL 파트 왜 테이블은 한 군데에 같이 두지 않고 분리해 둘까? 코드 중복 방지 때문이다. 동일한 코드를 여러 곳에서 중복 사용하면 나중에 수정할 때도 많은 부분을 봐야 한다. 사람인 개발자가 하는 일이라 완벽하게 다 수정하지 못 하는 실수를 할 수도 있다. 삭제도 마찬가지이다. 여기저기서 파일을 덜어내려는 것은 찾기도 힘들기에 관리가 어렵다. 데이터 중복 발생도 이와 같은 이유이며 그러한 경우 RDBMS가 어떤 작업을 하는지 알아보자. 📍트랜잭션 계좌이체 예시 만약 이체 과정(특히 타행이체)에서 네트워크 문제로 돈이 공중분해된다면 좋지 않다. 이를 방지하기 위해 나온 게 트랜잭션(transaction)이다. 더이상 분할되지 않는 최소 수행단위(논리적 실행단위) *SQL문이 여러 줄이지만 실제..
-
0816. 바이트 스트림, 문자 스트림Java 2023. 8. 17. 17:28
바이트 스트림 I/O 장치 CPU와 main memory(MM)를 제외한 모든 컴퓨터의 장치는 입출력(I/O) 장치이다. 마우스, 키보드, 프린터, HDD 등 실제 나오는 건 하위(자식) 클래스 바이트 단위냐 문자 단위냐, 입력이냐 출력이냐 구분. XXX : 대상명 1. InputStream 📍 파일 열기 : open() HDD 위치에 가서 파일을 읽기 위해 연다. 파일 읽기 : read() 파일을 열어 내부 내용을 읽는다. 파일 닫기 : close() 다 읽었으니 파일을 닫는다. 리턴타입별 설명 1.값이 없으면 1byte를 읽음 .2. 실제 읽은 byte 수 3. off(시작 위치)에서 len(길이)만큼 읽어라 (실제 읽은 byte 수) 4. 안 읽을 거니까 닫아라. (연결을 해제하는 정리작업) rea..
-
Lombok과 테스트코드 폴더 만들기Java 2023. 8. 17. 17:28
Lombok 어노테이션 final : 반드시 거기만~ getter랑 setter는 클래스 앞에, 필드 앞에 둘다 붙일 수 있다. 클래스는 모두 getter,setter 추가해라. 일반적인 방법. 필드는 그 필드만. 복합처리 Data 많이 씀. 이하 생략 *단위테스트 제대로 돌아가는지 항상 확인하는 것 실제 코드와 테스트코드는 따로 관리하는 게 좋다. +) junit(제이유닛) 을 사용하면 main을 사용하지 않아도 가능하다. 테스트코드 폴더 만들기 해당 프로젝트 우클릭하고 properties로 들어가서 아래의 창을 연다. [Java Build Path] 선택 [Add Folder] - "Test"입력 *나중에 배포할 때는 제외시킨다. Contains test sources : No 라고 되어있는데 더블클..
-
라이브러리 🌶️Lombok 설치하기 (feat.맥모닝 갈라파고스 VO )카테고리 없음 2023. 8. 11. 12:27
📍Lombok 설치하기 https://projectlombok.org/download Downloadprojectlombok.org*jar : java archive 자바 아카이브 1. 위 링크에서 lombok.jar 파일을 다운로드 *이클립스 설치해 둔 경로에 한글 있으면 어려우니 주의하자. 2. 내가 쓰는 이클립스가 설치된 위치를 확인하고 파워쉘을 열자. lombok 설치파일 실행을 위한 명령어 입력 >>java -jar lombok.jar❗lombok.jar를 다운할 때는 경로를 설정해야 한다. 파워쉘을 열 위치와 같아야 한다. 만약 다른 곳에 다운했다면 C드라이브 User파일에 다시 잘 넣어주자. (나는 march로 한 번 더 나눠서 저렇다) 3. lombok 인스톨러가 실행되면 내가 쓰는 파일을..
-
0809. Java 추상클래스, 인터페이스, 예외처리Java 2023. 8. 10. 09:23
📍추상클래스 Abstract Class 다른 클래스와의 차이점 동물 중에는 조, 곤충, 어류, 포유류 등이 있다. 동물만이라고 칭할 수 있는게 있을까? => 없다. 동물이란 것은 분류하기 위함이고 조류, 곤충, 어류를 지칭하기 위한 "참조" 용도이다. new로 인스턴스를 생성할 필요없다. 즉 참조를 위한 개념이다. 예시에서 Sleep, eat은 자식이 결정한 것이다. 부모클래스의 역할만 하며 단독 객체는 없다. 전략패턴에서 쓰기 위함. ** 추상 클래스의 선언 ** abstract가 붙으면 new 는 못 한다. 그리고 이 부모클래스만의 인스턴스를 만들지 못 한다. (원래는 각 객체로 실행도 되지만 여긴 선언만 할 수 있다) 자식 인스턴스를 참조하기 위한 용도이다. public class PhoneEx {..
-
이클립스 자바 Syntax Coloring element 구성Java 2023. 8. 9. 09:40
더보기 추상 클래스 추상 메서드 호출 주석 요소 참조 주석 Auto(un) boxed 표현식 브라켓 클래스 더 이상 사용되지 않는 구성원 열거형 필드 상속된 필드 상속된 메서드 호출 인터페이스 키워드 '리턴' 반품제외키워드 지역 변수 선언 지역 변수 메소드 선언 행동 양식 숫자 연산자 기타 파라미터 변수 제한된 식별자 정적 필드 정적 최종 필드 정적 메서드 호출 문자열 형식 인수 유형 변수 -- HTML 마크업 연결 기타 태그 -- 여러 줄 주석 한 줄 주석 작업 태그 Abstract Classes 추상 클래스 //크레파스 밝은파란색 Abstract method invocation 추상 메서드 호출 / 민트 Annotation element references 주석 요소 참조 / 붉은핫핑크 + Annot..
-
Git(2) Github 깃허브, 리눅스Git 2023. 8. 4. 15:04
리눅스 Linux 리눅스 환경 : WSL (Window Subsystem for Linux) 윈도우의 가상화 환경을 통해 리눅스를 설치하는 것 브랜치 Branch 나뭇가지. 버전을 여러 개의 흐름으로 관리하는 것 "버전의 분기" 한 서비스에 여러 기능을 합할 때 각각의 맞는 파트에 연결할 수 있다. (ex: 쇼핑몰 - 장바구니 기능 / 주문 기능 ...) 같은 코드를 다르게 수정했을 때 비교 가능 ** 동작 ** 1. 브랜치를 나눈다 2. 각자의 브랜치에서 작업 3. 나눈 브랜치를 필요시 합친다 최초의 브랜치 : main (나무 기둥) 이후 브랜치 : foo(나뭇가지1), bar(나뭇가지2) ⭐HEAD 현재 작업 중인 브랜치 Checkout HEAD를 옮기는 작업 (개발의 작업환경이 바뀌는 행위) 거의 ..
-
깃허브 소스트리 연동Git 2023. 8. 4. 14:07
깃허브 Github 우선 레포지토리를 새로 만들자. 프로필에서 [Repositories] - 초록색 [new] 버튼 사진의 설명에 따라 작성해주자. 새로 만든 repository에 더미 Dummy 파일 생성하기 commit changes 초록 버튼 누르면 커밋된다. 깃허브와 소스트리 연동 HTTPS : 계정, 암호로 연결 SSH : 접속할 PC에서 인증키를 생성해서 등록해야 하므로 보안이 더 강함 (ex: 은행 공인인증서 등) 1. 소스트리를 열어 [도구] - [옵션] - [인증] 계정에서 [추가] - 호스팅 서비스 Github 선택 후 토큰 새로고침 누르면 창이 뜬다. Authorize atlassian 버튼 클릭 confirm 클릭 ※ 이 창은 한 번 연동된 후에는 빈 페이지에 링크(주소창에)만 뜨는..