본문 바로가기

컴퓨터

(98)
[TIL] Spring Boot(intellij) - 예제 만들기 (스프링 핵심 원리-기본편) * 인프런 김영한 강사님의 스프링 핵심 원리 - 기본편 강의 정리 입문 강의를 듣고 정리하는 터라 프로젝트 생성부터 기본 세팅은 생략하고 정리하려 한다. 비즈니스 요구사항 설계 회원 도메인 설계 및 개발 회원 도메인 실행 및 테스트 주문과 할인 도메인 설계 및 개발 주문과 할인 도메인 실행 및 테스트 이렇게 다섯 단계의 프로세스로 진행한다. 우선 사전에 주의할 점은 예제 개발은 스프링의 도움 없이 순수 자바로만 개발하며 아직 데이터베이스를 사용하지 않기 때문에 데이터 메모리를 사용한다. 그리고 상품 등록의 경우 편의를 위해 임의로 등록하는 것으로 한다. 1. 비즈니스 요구사항 설계 회원 api : 회원 가입, 회원 조회 회원은 일반, vip 두 가지 타입 주문과 할인 api : 회원 상품 주문, 할인 정..
[TIL] Spring Boot(intellij) - start2 (스프링 핵심 원리 정리) 인프런 김영한 강사님의 스프링 입문 강의를 듣고 핵심 원리 기본편 강의를 듣기 시작했다. 입문 강의를 베이스로 하여 더 깊게 스프링에 대해 공부해보고자 한다. 강의를 들으며 그냥 받아들이는 것 뿐만 아니라 왜 이렇게 코드를 짜는지에 대해 고민해보며 공부한 내용을 바탕으로 차근차근 정리해나가려고 한다. 완강할 때까지 화이팅!
[python] collections 모듈 - Counter 1. Counter Counter 클래스는 컨테이너 안의 데이터를 편리하고 빠르게 개수를 세도록 지원한다. 예를 들어, 중복된 원소가 있는 배열을 인자로 넘겨주면 각 원소의 그 개수를 사전 형식으로 반환한다. import collections a= [1,1,2,2,3,3,3,3] cnt = collections.Counter(a) print(cnt) # Counter({3: 4, 1: 2, 2: 2}) 2. Counter 클래스 함수 elements() : 값의 요소를 풀어서 순서를 고려하지 않고 반환한다. 원소를 확인하기 위해 리스트로 감싼다. 그렇지 않으면 을 반환한다. import collections a= [1,1,2,2,3,3,3,3] cnt = collections.Counter(a) prin..
[python] 문자열로 된 식을 계산하기 - eval, exec 1.eval() eval()은 파이썬의 내장 함수로 문자열로 이루어진 식을 실행한다. s = '1+2+3' print(eval(s)) # 6 2.exec() exec() '='가 들어간 문자열로 이루어진 '문'을 수행한다. exec()은 변수 선언과 할당이 가능하지만 eval과 달리 결과값을 반환하지 않는다. exec("s=1+2+3") print(s) # 6 print(exec("s=1+2+3")) # None
[python] 알파벳 리스트 만들기 코테 준비를 하며 여러 문제를 풀다보면 특히, 문자열 구현 문제를 풀다보면 알파벳 리스트를 사용해야 하는 경우가 꽤 많다. 하드코딩으로 리스트를 생성할 수도 있는데 너무 번거롭기 때문에 간단한 방법을 정리해 놓으려고 한다. 1. 아스키 코드 변환 이용 alpa=[chr(i) for i in range(ord('a'), ord('z')+1)] 2. string 모듈 이용 from string import ascii_lowercase# ascii_uppercase : 대문자 alpa=[i for i in ascii_lowercase]
[TIL] Spring Boot(intellij) - AOP 1. AOP란? - AOP(Aspect-Oriented Programming)는 부가 기능을 모듈화하여 재사용할 수 있도록 지원함으로써 핵심 로직과 부가기능을 분리할 수 있게 하는 기능이다. - 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) - 공통 기능이 하나의 장소에서 관리되기 때문에 유지 보수에 용이하다. ex) 모니터링, 로깅, 동기화, 오류 처리, 성능 최적화 등 2. memberService에서 회원 조회 시간 측정 로직 추가 [memberService] public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMembe..
[python] 중복 순열과 중복 조합 중복순열(Permutation with repetition) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하면서 중복하여 뽑는 경우의 수 (n의r승) - ex) A,B,C가 있다고 할 때 순서를 고려하면서 2개를 중복하여 뽑는 모든 경우의 수는 다음과 같다. AA AB AC BB BA BC CC CA CB 3**2=9 총 9가지 중복조합(Combination with repetition) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하지 않고 중복하여 뽑는 경우의 수 (n+r-1Cr) - ex) A,B,C가 있다고 할 때 순서를 고려하지 않고 2개를 중복하여 뽑는 모든 경우의 수는 다음과 같다. AA AB BB CC AC CA 4C2 = 4P2/2! = (4*3)/(2*1) = 6 총 6가..
[python] Permutations와 Combinations (순열과 조합) 순열(Permutations) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하여 중복없이 뽑는 경우의 수 (nPr = n! / (n-r)!) - ex) A,B,C가 있다고 할 때 순서를 고려하여 2개를 중복 없이 뽑는 모든 경우의 수는 다음과 같다. AB AC BA BC CA CB 3! / (3-2)! = 6 총 6가지 조합(Combinations) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하지 않고 중복없이 뽑는 경우의 수(nCr = n! / r! (n-r)!) - ex) A,B,C가 있다고 할 때 순서를 고려하지 않고 2개를 중복 없이 뽑는 모든 경우의 수는 다음과 같다. AB AC CA 3! / 2! (3-2)! = 3 총 3가지 python의 순열과 조합 python에서는 순열과..

728x90