소프트웨어 생명주기 (SDLC - Software Development Life Cycle)프로세스요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수모델 종류 (폭프나반)폭포수 모델순차적 접근이해가 용이, 관리가 편리요구사항 변경 어려움프로토타이핑 모델프로토타입 개발요구 분석 용이프로토 타입 폐기 → 비용 증가나선형 모델위험성 감소와 변경에 유연한 대처반복적 모델증분방식으로 병행 개발병행 개발로 일정 단축소프트웨어 개발 방법론종류구조적 방법론정보공학 방법론객체 지향 방법론컴포넌트 방법론애자일 방법론제품 계열 방법론 애자일 방법론특징개발 기간이 짧고 신속피드백을 받아 유동적으로 개발종류XP (익스트림 프로그래밍)5개의 가치와 12개의 실천항목1~3주의 반복스크럼매일 정해진 시간, 장소에서 짧은 시간의..
Spring Security인증(Authentication), 권한 부여(Authorize) 및 보호 기능을 제공하는 프레임워크
시계 방향으로 돌면 외적 결과가 + -> 결과가 + 면, 시계방향 반시계 방향으로 돌면 외적 결과가 - -> 결과가 -면 반시계 방향 평면이라고 가정하면 AB X AC (벡터) = m1n2 - m2n1
Xcode 설치하기 https://developer.apple.com/kr/xcode/resources/ 다운로드 및 리소스 - Xcode - Apple Developer Xcode 다운로드, 도구, 문서, 튜토리얼, 비디오 등 다양한 자료를 찾아보세요. developer.apple.com 다운로드가 완료되면 Hello World 시작은 역시 Hello world https://developer.apple.com/documentation/visionOS/World Hello World | Apple Developer Documentation Use windows, volumes, and immersive spaces to teach people about the Earth. developer.apple...
결론 먼저 def gcd(a, b): while b != 0: a, b = b, a % b return a def lcm(a, b): return a * b // gcd(a, b) test_number = int(input()) for _ in range(test_number): number_1, number_2 = map(int, input().split()) print(lcm(number_1, number_2)) 원리 유클리드 호제법 a > b 일 때, a % b = r 이면 a와 b의 최대 공약수는 b와 r의 최대 공약수와 같다 나머지 정리 a % b = r 이면, a = bq + r (q는 임의의 몫) 만약 d가 a와 b의 공약수 라면, d는 r도 나눌 수 있다 좌변 a % d = 0 우변 bq ..
싱글톤 패턴 클래스의 인스턴스가 1개만 있는 것을 보장하는 디자인 패턴 package hello.core.singleton; public class SingletonService { //1. static 영역에 객체를 딱 1개만 생성해둔다. private static final SingletonService instance = new SingletonService(); //2. public으로 열어서 객체 인스턴스가 필요하면 이 static 메서드를 통해서만 조회하도록 허용한다. public static SingletonService getInstance() { return instance; } //3. 생성자를 private으로 선언해서 외부에서 new 키워드를 사용한 객체 생성을 못하게 막는다. pr..