프로젝트 구조

.gradle 그래들 build tool 설정 파일들
.idea git 설정 파일들
build 서버에 올리고 실제로 배포되는 컴파일된 파일들

src/main 프로젝트를 만들고 개발자가 사용하는 java와 정적 파일들의 원본
src/test jUnit 테스트를 위해 사용되는 폴더 같은데 알아봐야함

build.gradle 라이브러리 의존성 주입. maven의 pom.xml과 같은 역할을 한다.

외부라이브러리 위에서 의존성 주입한 dependency들이 여기에 컴파일되서 모여있음




inteliJ 단축키

alt+insert getter,setter,생성자,toString 템플릿 불러오기
alt+enter 라이브러리 import
ctrl+alt+L 정렬



뒤에서 돌아가는 서버 종료
netstat -ano
톰캣이면 8080 서버 포트 번호 쓰는 애 확인
taskkill /f /pid 17204  (pid 입력)



라이브러리에서 의존성 내려받는 언어별 build tool들
- Javascript - npm
- Python - pip
- Java - mavenCentral, jcenter

 

KISS

 

Keep It Simple Stupid !

 

단순하게 만들어라

 

 

YAGNI

 

You Ain't Gonna Need It

 

필요한 작업만 해라

 

 

DRY

 

Do not Repeat Yourself

 

반복하지 마라


1인 개발의 경우 MVC 방식에 따라 쿼리로 DBMS 내용을 가져와 데이터를 준비하는 servlet(model,controller)과 jsp(출력view) 만으로 나눠 서비스를 해도 크게 상관이 없지만, 기업과 같은 다인 개발의 경우 개발자의 역량이나 기업 업무의 파악도에 따라 servlet에서 추가로 특정 업무 서비스(계좌이체 같은)를 담당하는 파트로 나뉜다.

상대적으로 위험도가 적고 코드 수정이 자유로운 입출력부 Controller는 신입에게, 업무 이해도가 높아야 하는 중요 업무 서비스 혹은 신규 서비스 기능 등은 리스크를 감안해 경험이 많은 개발자에게 맡기는 것

처리해야 할 데이터가 많고 보안이 중요하다면 따로 데이터서비스(DAO), 즉 CRUD 업무를 처리해 DBMS 자체적으로 파일을 관리하여 서버에서는 보안을 위해 DB쿼리 사용을 억제하고 정제된 파일을 받아서 쓰기만 하면 되는 DBA를 쓰기도 한다

기업형 개발 업무의 일반적인 형태
사용자 <-> 문서 출력(View) <-> 제어(Controller) <--(Mode)--> 업무 서비스(트랜잭션 처리) <--(Entity)---> 데이터 서비스(DAO) <--(SQL)--> DBMS

(기업 상황에 따라 유동적으로 업무 로직을 합칠 수도, 분할할 수도 있다)



'Development > etc...' 카테고리의 다른 글

inteliJ, gradle, Spring Boot 자잘한 정보  (0) 2022.10.01
소프트웨어 개발 3대 원칙  (0) 2022.08.16
HTML, CSS, JS 유용한 사이트  (0) 2022.07.16

+ Recent posts