개발 - 고급 7

네이밍 컨벤션

1. java naming Convention 1.1.공통 대소문자가 구분되며 길이에 제한이 없다. 예약어를 사용해선 안된다. 숫자로 시작하면 안된다. 특수문자는 _ $ 만 사용 가능 ps. 구글 컨벤션에선 $ 쓰지 말라고 했던 거 같음 PascalCase, camelCase 사용 반의어는 반드시 대응하는 개념으로 사용 반의어 영어 반의어 한글 get set 받다 받다 add remove 추가 제거 create destroy 창조 파괴하다 start stop 시동 정지 insert delete 삽입 삭제 increment decrement 증가 감소 old new 구 신 begin end 시작 끝 girst last 기어, 먼저, 처음 마지막 up down 위 아래 min max 최소 최대 next pr..

java 컨벤션 가이드 - google

1. 코딩 컨벤션 종류 goole java 컨벤션 가이드 오라클 java 컨벤션 가이드 네이버 java 컨벤션 가이드 참고 - sql 컨벤션 오라클 SQL & PL/SQL Optimization 1.1 IntelliJ 적용 하기 기본적으로 IntelliJ용으로 셋팅이 되어있다. 네이버 컨벤션 포맷 구글 켄벤션 포맷 위 링크에서 IntelliJ용 xml 포맷터 다운로드 IntelliJ IDEA - Preferences > Editor > Code Style Scheme 우측 톱니바퀴 > Import Scheme > IntelliJ IDEA code style XML 클릭 다운로드 받은 XML 포맷터를 찾아서 적용 2. 소스 파일 기본 사항 소스파일 .java 클래스파일 .class 바이너리 파일 컴파일러 ..

Git commit 컨벤션 및 템플릿

1. Git Commit 컨벤션 커밋 메시지는 제목, 본문, 꼬리말 3가지 파트로 나뉘고 각 파트는 빈줄을 두어서 구분 # git commit type(옵션): ["해시태그"issueNumber -] Subject # -> 제목 : 최대 50글자, 마침표 X, 영문 표기시 동사원형, 첫char 대문자 body(옵션) # -> 본문 : 어떻게 X, 무엇을 왜 O , 75자 남기지 말 것 footer(옵션) # -> 꼬리말 : issue tracker ID를 명시하고 싶은 경우 작성 # 예시 Feat: "추가 로그인 함수" 로그인 API 개발 Resolves: #123 Ref: #456 Related to: #48, #45 1.1. 제목 1.1.1. 타입 태그와 제목으로 구성, 태그는 영어로 쓰되 첫문자는 ..

2. Adapter : 사이에 끼워 재사용

1. Adapter 패턴 재사용성 향상 종류 상속 사용 : class에 의한 패턴 포함관계 사용 : instance에 의한 패턴 - 이게 더 유연, 많이 사용. 데코레이터 패턴과 같이 사용 가능해짐 java는 다중 상속이 안되기 때문에 포함 관계를 이용해서 해결한다. Wrapper 패턴이라고도 불린다. 2. 구현 코드 3. 장점 왜 그냥 프로그래밍하면 되지 adapter 패턴 같은 걸 생각해야하냐? 이미 존재하는 class를 이용하는 경우 (재사용하고 싶을 때) 해당 패턴 사용시 빠르게 필요 메서드 사용이 가능해짐 그리고 이미 존재하는 것이라 검증되 됨 주의 보통 우리는 기존 클래스 소스를 만져서 수정을 한다. 하지만 그렇게 하면 동작 테스트가 이미 끝난 기존 클래스에 손을 댔으니 수정한 후에 다시 테스..

1. Iterator - 처리를 반복한다.

1. Iterator 패턴 for문의 int i를 추상적으로 일반화 한 것 종류 Iterator 향상된 for문 iterator를 가지고 있는 type 배열 : hasnext()가 없다. 대신 향상된 for문으로 사용 Collection : 향상된 for문 사용 가능 직접 Iterator 패턴 구현 2. 실제 구현 코드 // github 링크 현재 코드가 문제가 있음 BookShelfIterator가 BookShelf를 땡겨서 쓰는 것이 아니고 BookShelf에게 시켜야된다. 이게 과제 : 뭔가 중간에 관리해주는 친구가 필요 3. 해당 패턴 장점 왜 Iterator와 같이 번거로운 방식을 사용? 구현과 분리하여 반복할 수 있기 때문 bookShelf 구현체가 변경이 되어도 while loop는 정상 동..

0. UML 및 기초

1. UML 시스템 개발을 위한 시각적인 설계 표기 UML은 표준화된 모델링 언어 : 시각화, 명세화, 구축, 문서화 언어이다. 2. UML 다이어 그램 유스 케이스 클래스 순차 통신 활동 상태 컴포넌트 배치 패키지 3. 객체 지향 모델링 모델링 : 개발하고자 하는 프로그램을 시각적으로 표현한 것 객체 지향 모델링 : 객체 지향 시스템을 가시화하고 명세화, 문서화 하는 것이 목적인 모델링 소프트웨어 모델링 : 실제 생활에 일어나는 일을 소프트웨어적으로 모델링한 것 시스템 설계 시, 중요점 : 신뢰성, 확장성(유지보수) 4. 객체, 클래스, 메시지 메시지 객체간의 협력하기 위한 상호작용 수단 한 객체가 다른 객체에게 작업을 요청하는 신호 객체 1가지의 역할만 가지고 변하는 것과 변하지 않는 것을 분리시켜야..

JAVA 자료구조

최신 JAVA 구현 자료구조론 한정란 저자의 최신 JAVA 구현 자료구조론 도서를 읽고 학습한 내용 기록 출처 : 최신 JAVA 구현 자료구조론 - 한정란 학습 구성 자료(=data)의 특성마다 해당 자료에 맞는 자료 구조들이 존재 ex) 대기자 명단 자료, 동물 목록 자료, 아이디 비밀번호 자료, 괄호 개수 체크하는 자료(괄호라는 자료를 준다.) 등등 헤당 자료에 맞는 자료구조를 선택 ex) list, set, map, stack, queue, deck, linked, ... 자료를 통해서 원하는 결과 도출 알고리즘 이용 : 명령문을 사용해서 결과를 도출 ex) for, if, while, 람다식, break문 결론 자료구조는 정형화된 틀이 존재. 알맞는 자료 구조를 사용해서 효율적으로 프로그램 성능을..