Memo
-
Git 기초Memo 2023. 3. 2. 17:16
Git이란? 버전 관리 시스템 중 하나이다. 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료 공개 소프트웨어이다. 특징 - 분산형 관리 시스템이다. - 병렬 개발이 가능하다. - 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식으로 개발을 진행할 수 있다. - 분산 버전관리 시스템이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있으며, 중앙 저장소가 날아가도 복원할 수 있다. - 체계적인 개발이 가능하다. GitHub란? 협업하고 있는 코드를 저장할 서버가 필요하다. 버전 관리 시스템을 지원하는 웹호스팅 서비스의 기능으로, push, pull request 같은 이벤트에 반응하여 자동으로 작업을 실행할 수 있다. 용어 - Repository :..
-
전자정부 SW개발, 운영자를 위한 JAVA 시큐어코딩 가이드Memo 2023. 2. 28. 13:48
소프트웨어 개발 보안이란? '소프트웨어(SW) 개발보안'은 SW 개발과정에서 개발자의 실수, 논리적 오류 등으로 인해 SW에 내포될 수 있는 보안취약점의 원인, 즉 보안약점을 최소화하는 한편, 사이버 보안위협에 대응할 수 있는 안전한 SW를 개발하기 위한 일련의 보안활동을 의미한다. 입력 데이터 검증 및 표현 SQL 삽입 예제 1 예제 2 자원 삽입 예제 1 예제 2 크로스 사이트 스크립트 예제 1 예제 2 운영체제 명령어 삽입 예제 1 위험한 형식 파일 업로드 예제 1 예제 2 신뢰되지 않는 URL 주소로 자동 접속 연결 예제 1 예제 2 SQuery 삽입 예제 1 예제 2 XPath 삽입 예제 1 예제 2 LDAP 삽입 예제 크로스사이트 요청 위조 예제 상대 디렉터리 경로 조작 예제 1 예제 2 절대..
-
스프링 MVC 프로젝트 구조Memo 2023. 2. 14. 19:18
MVC 프로젝트 구조 일반적으로 생성한 스프링 MVC 프로젝트는 크게 자바 파일을 관리하는 서블릿 관련 폴더와 웹 파일을 관리하는 웹 관련 폴더로 구분된다. 서블릿 관련 폴더 서블릿과 관련된 클래스 파일이 생성되면 src/main/java 폴더에 등록하여 관리한다. 보통 자바 클래스 파일들 src/main/java 폴더에 패키지로 생성하여 등록하는데, 개발자가 만든 예외 클래스나 기타 유틸 클래스 파일 등도 src 폴더에 저장한다. 웹 관련 폴더 웹과 관련된 JSP, 리소스, 스프링 MVC 환경 설정 파일, 웹 프로젝트 환경 설정 파일 등이 생성되면 src/main/webapp 폴더에 등록하여 관리한다. - resources폴더는 웹에 관련된 이미지, 자바스크리브, CSS 등 정적 리소스 파일을 관리합니..