본문 바로가기

👩‍💻TIL66

[소프트웨어공학] 모듈, 결합도와 응집도- 좋은 소프트웨어 설계의 시작 [소프트웨어공학] 모듈, 결합도와 응집도- 좋은 소프트웨어 설계의 시작 1. 모듈과 모듈화 먼저 모듈화란 소프트웨어를 각 기능별로 나누는 것을 의미한다. 그리고 그 결과로 각 기능별로 분할된 것을 모듈이라고 한다. 2. 모듈에게 중요한 것은 바로, 독립성! 좋은 모듈화는 용도에 맞게 잘 구분된 기능을 가진 독립적인 모듈로 나누는 것이다. 모듈의 독립성을 판단하는 것은 결합도와 응집도가 있다. 💡 결합도란? 모듈과 모듈간의 상호 의존도! 💡 응집도란? 모듈 내부의 기능적인 집중도! 개별 모듈은 독립적으로 자신에게 주어진 기능만을 수행하고 명확한 결과값을 내 놓아야 하고 👉모듈 내부의 높은 응집도 다른 모듈에 의존성이 높아선 안된다. 👉모듈 간의 낮은 결합도 따라서, 응집도는 높을 수록, 결합도는 낮을 수록.. 2020. 6. 19.
[Python] 완전 초보를 위한 파이썬(3) : 함수 알아보기 [Python] 완전 초보를 위한 파이썬(3) : 함수 알아보기 1. 내장 함수(built-in function) - 대표적으로 len, sum, range 등이 있음 - len: 입력된 값의 길이(length)를 계산하는 함수 - sum : 입력된 값의 합을 계산하는 함수 - range : 정수를 입력받으면 리스트를 생성하는 함수 2. 사용자 정의 함수 선언 형태는 아래와 같습니다. def 함수이름(매개변수) : 함수의 내용 return 리턴값 - 정의를 위해 def 키워드 사용 (definition) - 파라미터 정의 (함수에 입력으로 전달하는 값을 의미, argument 또는 parameter라고 함) 💡 함수의 이름정의(naming)는 중요하다 : 어떤 기능을 하는 함수인지 이름을 보고 알 수 있.. 2020. 6. 2.
[Python] 완전 초보를 위한 파이썬(2) : 반복문(Loop) 알아보기 [Python] 완전 초보를 위한 파이썬(2) : 반복문(Loop) 알아보기 💡 반복문(loop)이란? 이름 그대로 반복적인 작업을 가능하게 해주는 구문입니다. 비슷한 작업이 여러 번 반복되는 것을 한 줄 한 줄 작성하지 않고, 반복문을 통해 간결하게 표현할 수 있습니다. 파이썬에서는 조건문이 참인지 거짓인지에 따라 반복을 진행하는 while문과 리스트(list)나 튜플(tuple)과 같은 컬렉션 타입의 요소들을 하나씩 가져오며 반복을 수행하는 for문이 존재합니다. 예를 들어, 1~10까지 반복하여 출력해야 하는 상황이 있다고 가정합니다. 이때, 반복문을 사용하지 않을 경우에는 아래와 같이 작성해야 할 것입니다. print(1) print(2) print(3) print(4) print(5) print.. 2020. 6. 2.
[Python] 완전 초보를 위한 파이썬(1) : 조건문 알아보기 [Python] 완전 초보를 위한 파이썬(1) : 조건문 알아보기 💡 조건문(Condition Statements)이란? 예를 들어, 가서 사과가 있다면 사과를 2개 사오라라는 문장에서는 조건은 사과가 있다면 이 될 것이며, 실행되는 결과는 사과를 2개 구입하는 것 이 될 것이고, 중학생이면 영화 요금이 5000원이고, 고등학생이면 6000원이고, 성인이면 7000원이다. 여기서는 조건은 중학생/고등학생/성인이 되고, 실행되는 결과는 각각 5000/6000/7000 원이 될 것입니다. 이런 식으로 조건문이란 조건의 결과에 따라서 실행되는 결과를 정해주는 것을 말합니다. 💡 조건문 사용하기 파이썬에서는 조건문에 if, elif, else를 사용합니다. 먼저, 조건이 하나 주어졌을 경우 if를 사용하여 아래.. 2020. 6. 2.
[Jupyter Notebook] 주피터 노트북 테마/폰트 변경하기 [Jupyter Notebook] 주피터 노트북 테마/폰트 변경하기 기본 주피터 노트북 배경과 폰트가 마음에 들지 않아 변경을 하였다. 나중에 다른 테마나 폰트로 바꾸고 싶어질 수 있을 것 같아 블로그에 정리를 해두려고 한다. 1. 먼저 anaconda prompt 를 실행한다. 2. prompt 창에서 아래 명령어를 통해 주피터 노트북의 테마를 설치한다. pip install jupyterthemes 💡 prompt창에서 실행가능한 명령어 목록들 참고 : https://github.com/dunovank/jupyter-themes/blob/master/README.md options arg default Usage help -h -- List Themes -l -- Theme Name to Instal.. 2020. 6. 1.
[Spring Security] 스프링시큐리티 시작하기 /기본세팅 [Spring Security] 스프링시큐리티 시작하기 /기본세팅 💡 스프링 시큐리티 시작하기(기본세팅) 1. dependency 추가 org.springframework.security spring-security-web 4.2.2.RELEASE org.springframework.security spring-security-config 4.2.2.RELEASE dependencies { compile 'org.springframework.security:spring-security-web:4.2.2.RELEASE' compile 'org.springframework.security:spring-security-config:4.2.2.RELEASE' } 버전은 사용하는 프로젝트에 맞게 바꿔주시면 됩니다.. 2020. 5. 15.
[DevOps]CI/CD (지속적 통합/지속적 제공) 개념과 과정/ 툴 별 장단점 비교 [DevOps]CI/CD (지속적 통합/지속적 제공) 개념과 과정/ 툴 별 장단점 비교 애플리케이션 개발은 보통 혼자 모든 기능을 개발하기보다 여러 개발자들이 동일한 애플리케이션의 각기 다른 기능을 맡아 동시에 작업하게 된다. 만약 이러한 상황에서 개발자들이 자신의 로컬환경에 작업하여 완전히 개발이 끝날 때까지 중앙 저장소로 올리지 않는다면, 개발이 종료된 후 전체 코드를 통합하고 배포하는 정말 쉽지않을 것이다. (프로젝트의 규모가 클 수록, 개발과정이 길수록, 많은 개발자들이 함께할 수록 어려움은 클 것이다.) 실제로 현대적인 애플리케이션 개발에서는 이렇게 진행하는 경우는 거의 없을 것이다. git과 같은 형상관리 툴을 사용하여 중간중간 커밋과 머지를 통해 코드를 병합하는 과정을 거칠 것이다. 그러나 .. 2020. 5. 15.
[Spring Security] 스프링시큐리티의 기본 개념과 구조 [Spring Security] 스프링시큐리티의 개념/시작하기 /기본세팅 💡 스프링시큐리티(Spring Security)란? 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. 즉 인증(Authenticate, 누구인지?) 과 인가(Authorize, 어떤것을 할 수 있는지?)를 담당하는 프레임워크를 말합니다. 스프링 시큐리티에서는 주로 서블릿 필터(filter)와 이들로 구성된 필터체인으로의 구성된 위임모델을 사용합니다. 그리고 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있습니다. 기본용어 접근 주체(Principal) : 보호된 리소스에 접근하는 대상.. 2020. 5. 12.
[자바/JAVA] toString()과 String.valueOf()의 차이점 비교 [Java] toString()과 String.valueOf()의 차이 비교 Object 형태의 값을 String 형태로 변환할 때 많이 사용하는 것이 toString() 혹은 String.valueOf() 메소드이다. 두 메소드 모두 값을 String으로 변환한다는 점에서 비슷하지만, 변경하고자 하는 Object가 null인 경우에는 차이가 있다. 💡 Object가 null일때? toString() - Null PointerException(NPE)을 발생 - 대상 값이 null이면 NPE를 발생 -> Object에 담긴 값이 String이 아니여도 출력 String.valueOf() - "null"이라는 문자열로 처리 - 파라미터가 null이면 문자열 "null"을 만들어서 반환한다-> 항상 Stri.. 2020. 5. 8.
[자바/JAVA ] 자바에서 세션(Session) 사용법 간단정리 자바에서 세션(Session)을 사용하는 방법 - 기본적으로 자주 사용하는 것만 간단하게 정리 💡 세션값 설정하기 session.setAttribute("설정한 세션아이디", 세션에 넣을 값); session.setAttribute("user_id", user_id); 💡 세션유지시간 설정하기(초 단위) session.setMaxInactiveInterval(30*60); // 60분동안 세션을 유지하고 싶다면, 60 * 60으로 설정 session.setMaxInactiveInterval(-1); // 세션의 시간을 무한대로 설정 💡 세션에 저장된 값 가져오기 session.getAttribute("user_id"); 💡 세션값 삭제 session.removeAttribute("user_id"); se.. 2020. 5. 7.