CS 지식/▷ Software Engineering
-
(4) MVC 패턴CS 지식/▷ Software Engineering 2021. 10. 5. 00:54
1. MVC 패턴이란? 1-1) 정의 MVC패턴은 디자인패턴 중 하나 - 자주 사용되는 기준을 3개(Model, View, Controller)로 분리하여 개발하여 유지보수 및 가독성을 높이는 것 - 비지니스 처리 로직 + 사용자 인터페이스 요소로 분리하여 개발 a) 디자인 패턴이란? 디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것 ex) Build Pattern, Factory Pattern, Strategy Pattern, Observer Pattern... 내글 참조 : https://korshika.tistory.com/37?category=9..
-
(3) 테스트 주도 개발(TDD)CS 지식/▷ Software Engineering 2021. 8. 15. 12:14
1. TDD란? 1-1) 정의 테스트 주도 개발, 테스트가 개발을 이끌어 나가는 것 1-2) 기존 방식과의 대비 (a) 기존 보통 설계(디자인)을 한 이후, 코드 개발과 테스트 과정을 거치게 됨 (b) TDD 설계(디자인)을 한 이후, 테스트 과정을 먼저 작성한 이후 코드를 개발하고 다시 디자인을 수정하는 리팩토링 과정을 수행하며 개발을 하는 것 (c) 디자인 위에서 언급된 디자인은 여러 예시가 있지만 DDD(Design Driven Desgin/Developent) 등이 있음 추가 참조 : https://ppiyo5.tistory.com/21 도메인 주도 설계(Domain Driven Development) 이해 * 도메인 주도 설계(Domain Driven Development) 도입 배경 Befor..
-
(2) 시큐어 코딩CS 지식/▷ Software Engineering 2021. 8. 8. 23:42
1. 시큐어 코딩이란? 1-1) 정의 안전한 소프트웨어 개발을 위해, 소스코드 등에 존재할 수 있는 잠재적 보안 약점을 제거하는 것 1-2) 사례 SQL 인젝션 취약점으로 개인유출 사고 발생 URL 파라미터 조작 개인정보 노출 무작위 대입공격 기프트카드 정보 유출 2. SQL 인젝션 내글 참조: https://korshika.tistory.com/162?category=970464 (3) SQL Injection 1. SQL Injection이란? 1-1) 정의 해커에 의해 쿼리문이 서버영역까지 그대로 전달되어 비정상적인 명령을 실행시키는 공격 기법 1-2) 공격 방법 (a) 인증 우회 참조 6-1)에 Authentication 이후 Authorized되어 korshika.tistory.com 3. GE..
-
(1) 클린코드와 리팩토링CS 지식/▷ Software Engineering 2021. 8. 4. 18:33
1. 클린코드란? 1-1) 정의 클린코드는 가독성이 높은 코드, 잘 읽히는 코드 1-2) 구현 방법 네이밍이 잘 되어야 함 오류가 없어야 함 중복이 없어야 함 의존성을 최대한 줄여야 함 클래스 혹은 메소드가 한가지 일만 처리해야 함 1-3) 예시 public int AAA(int a, int b){ return a+b; }public int BBB(int a, int b){ return a-b; } (a) 문제점 (1) 함수 네이밍 : 무슨 역할을 하는 함수인 지 알 수 있는 이름을 사용 (2) 함수와 함수 사이의 간격 : 간격을 나누지 않으면 시작과 끝을 구분하는 것이 매우 힘들고, 결과적으로 잘 읽히지 않음 (b) 개선후 public int sum(int a, int b){ return a+b; } ..