핌이의 일상

Programming 16

좋은 모듈, 나쁜 모듈 (결합도와 응집도 / 시간적, 우연적 응집도의 차이)

나쁜 모듈 : 결합도가 강함. 내부에 직접 영향 1. 내용 결합도 class PaymentProcessor: def process_payment(self, amount): #여기서는 결제 처리에 관련된 코드가 포함되어 있음 pass class Order: def __init__(self, payment_processor def checkout(slef, amount): #결제 프로세서의 메서드로 직접 호출하여 결합도가 높음 self.payment_processor.process_payment(amount) ==> 만약 Payment Processor의 구현이 변경되면 Order 클래스도 변경해야 할 가능성이 높다. ==> 해결 : 의존성 주입(Dependency Injection)과 같은 설계패턴을 사용..

Programming/Python 2024.04.08

오라클 | INSERT INTO, SELECT * FROM

오라클 | CREATE TABLE (tistory.com) 오라클 | CREATE TABLE CREATE TABLE 학생 ( 학번 NUMBER(7), 이름 VARCHAR2(20) NOT NULL, 학년 NUMBER(1), 신청과목 VARCHAR2(20) NOT NULL, 연락처 VARCHAR2(20), CONSTRAINT pk_student PRIMARY KEY (학번) ) 주어진 SQL 문은 Oracle 데이터베이스에서 "학생" pimgrim.tistory.com (위의 링크와 이어지는 내용) INSERT INTO 학생 VALUES (9816021, '한국산', 3, '경영학개론', '050-1234-1234'); 주어진 SQL 문은 "학생" 테이블에 새로운 학생 정보를 삽입하는데 사용됩니다. 여기서 ..

오라클 | CREATE TABLE

CREATE TABLE 학생 ( 학번 NUMBER(7), 이름 VARCHAR2(20) NOT NULL, 학년 NUMBER(1), 신청과목 VARCHAR2(20) NOT NULL, 연락처 VARCHAR2(20), CONSTRAINT pk_student PRIMARY KEY (학번) ) 주어진 SQL 문은 Oracle 데이터베이스에서 "학생" 테이블을 생성하는데 사용됩니다. 각 열은 학생의 정보를 나타내며, "학번" 열이 기본키(primary key)로 설정되어 있습니다. 여기서 사용된 제약 조건과 데이터 유형은 다음과 같습니다: 학번 (학번): 숫자형 데이터 유형(NUMBER)을 사용하며, 최대 7자리의 숫자를 저장할 수 있습니다. "학번" 열은 기본키(primary key)로 설정되어 있으며, 각 학생을..

연산자 ‘/’와 ‘%’ 정리

연산자 '/'와 '%'에 대한 설명 5를 예로 들어보겠습니다. 0 1 2 3 4 5 6 7 8 9 /5 = 0 0 0 0 0 1 1 1 1 1 %5 = 0 1 2 3 4 0 1 2 3 4 위의 표를 보면 알 수 있듯이, 5보다 작은 정수는 5로 나눌 수 없기 때문에 몫은 0, 나눠지지 못한 값은 그대로 %의 값이 된다. 또한, 연산자에게 % 란 상쇄 후 남은 값을 뜻한다. 5과 동일한 5를 나누면 몫은 1, 남은 값은 0이 된다. 5보다 큰 정수를 나누면 해당 정수가 나오는 5의 배수가 나오며, 연산 과정 후 남은 값이 %의 결과가 된다. a b일때, ..

Python | 1. 번호 입력받고 인덱싱 값 출력하기

def osi(user): osi7 = ['Physical(물리)', 'Datalink(데이터링크)', 'Network(네트워크)', 'Transport(전송)', 'Session(세션)', 'Presentation(표현)', 'Application(응용)'] if 1 > user > 7: print("The OSI Model has only 7 layers.") else: print(osi7[user-1]) def execute(): osi(int(input("Enter a number between 1 and 7: "))) print("The program has ended.") exit() try: execute() except ValueError: print("Please enter a valid..

Programming/Python 2024.02.26

[요약 정리] API 해킹의 모든 것 -이 책에 대하여

API에는 너무 많은 정보가 있어서 지켜야합니다. 낡은 버전은 매일 바꿔야하고, 버그를 잡아야 합니다. 악의적인 사용자로부터 API를 지켜야만 개인정보 등의 중요한 내용을 지킬 수 있습니다. API의 취약점은 각양각색입니다. 개발 프로세서에 API의 보안 문제를 요구하는 경우가 많습니다. 따라서 기능 테스트 + 단위 테스트 + 보안 테스트 세 가지가 필요합니다. 보안 테스트는 1년에 한두 번 테스트하는 것으로는 충분하지 않습니다. 판올림마다 실무 서버로 이동하기 전에 모든 것을 검증해야 합니다. API (Applicatio Programming Interface) 웹 트래픽의 대부분을 차지합니다. 여러 애플리케이션이 통신할 수 있게 하는 기술입니다. 다른 애플리케이션을 모듈로 가져와 이용하게 해줍니다. ..

[Git] vscode에서 커밋

Git에서 커밋을 만들 때 커밋 메시지를 작성하는 것은 중요합니다. 커밋 메시지는 코드 변경사항에 대한 설명을 담고 있어 나중에 코드를 이해하거나 협업할 때 도움이 됩니다. 만약 커밋 메시지가 비어있다면, Git이 해당 커밋을 취소하도록 설정되어 있습니다. 커밋 메시지를 작성하려면 다음 단계를 따르세요: 1. **커밋 명령어 실행:** git commit -m "여기에 커밋 메시지 작성" 2. **Visual Studio Code에서 커밋:** - Visual Studio Code의 Source Control 패널에서 커밋할 파일을 스테이징하고, 커밋 메시지를 작성하세요. 3. **커밋 메시지 작성 규칙:** - 일반적으로 커밋 메시지는 간결하고 명확하게 작성해야 합니다. 첫 줄에는 요약적인 내용을 적고..

반응형