본문 바로가기

공부50

[SQLite] 파이썬 데이터베이스 기본 연동, 테이블 생성, 데이터 삽입 SQLiteDatabaseBrowserPotable 다운로드 하기(https://portableapps.com/apps/development/sqlite_database_browser_portable) db browser실행 DB생성 & Auto Commit conn = sqlite3.connect('본인디렉터리의절대경로/resource/database.db', isolation_level=None) #파이썬 데이터베이스 연동하기 import sqlite3 #DB생성 & Auto Commit conn = sqlite3.connect('본인경로/python_basic/resource/database.db', isolation_level=None) DB브라우저에서 열기 만든 데이터베이스를 선택해 줍니다. 커.. 2021. 11. 4.
[Python] 모듈과 패키지 1. 모듈 파이썬 모듈은 전역변수, 함수등 을 모아둔 파일 입니다. 2. 패키지 패키지는 모듈을 디렉토리형식으로 구조화한 것입니다. 모듈들을 넣어둔 디렉토리명이 패키지명이 됩니다. 패키지 만들기 디렉토리를 하나 생성합니다. pkg디렉토리 안에 fibonacci.py로 피보나치 수를 계산하는 모듈을 하나 만들었습니다. 만든 모듈 사용해보기 pkg 패키지 디렉토리안에 fibonacci 라는 모듈명으로부터 Fibonacci클래스를 import하는 모습입니다. 결과가 잘 출력됩니다. 테스트2 import pkg.calculations as cal 혹은 from pkg.calculations import div as d 등 모두 가능 파이썬 빌트인 함수 확인해보기 (import없어도 자동으로 사용 가능) __in.. 2021. 11. 3.
[Python] 가상환경 설정 및 패키지 설치하기 (WSL) 가상환경(Virtual Environments)이란? 자신이 원하는 환경을 구축하기 위해 필요한 모듈만 담아 놓는 공간이다. 각 모듈은 다른 모듈에 대한 의존성(dependency)이 다르기 때문에 설치하다보면 충돌이 날 수도 있습니다. 따라서 각 프로젝트 별로 별개의 가상환경을 만들어놓고 사용해야 함. 가상환경 생성방법 파이썬 2에서는 virtualenv 라는 외부 패키지를 사용해서 가상 환경을 구성했지만, 파이썬 3.3 부터 venv 모듈이 내장되기 때문에 별도 패키지 설치없이 파이썬만 설치되어 있으면 바로 가상 환경 구성이 가능하게 되었습니다. 프로젝트 폴더에 들어간다. python -m venv '가상환경이름' 을 입력한다. 잠시 기다리면 .venv라는 이름의 가상환경 폴더가 생성됨. 가상환경 활.. 2021. 11. 1.
[13] 소프트웨어 개발 보안 구축 (소프트웨어 개발 보안 설계) SW개발 보안의 3대 요소 (기/무/가) 3대 요소 설명 기밀성(Confidentiality) 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 무결성(Integrity) 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 가용성(Avaliaility) 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성 SW개발 보안 용어 (자/위/취/위) 자산(Assets): 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상(예: 서버의 하드웨어, 기업의 중요 데이터) 위협(Threat): 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나.. 2021. 10. 12.
[12] 서버 프로그램 구현 (개발 환경, 형상 관리, 모듈) 개발 도구의 분류 (빌/구/테/형) 빌드 도구: 작성한 코드의 빌드 및 배포를 수행하는 도구 구현 도구: 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구 테스트 도구: 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 형상 관리 도구: 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 서버 하드웨어 개발환경 구분 설명 웹 서버 HTTP를 이용한 요청/응답을 처리 웹 상의 정적 콘텐츠(CSS, Javascript, Image)를 처리 웹 애플리케이션 서버 동적 콘텐츠(Servlet, JSP)를 처리하기 위해 사용 주요 제품으로 Tomcat, Weblogic, Jeus, Resin 등 존재 데이터베이스 서버 데이터의 수집, 저장을 위한 용도로 사용 연계되.. 2021. 10. 10.
[11-1] 절차형 SQL 절차형 SQL: 절차형 SQL이란? 일반적인 개발 언어처럼 SQL언어에서도 절차 지향적인 프로그램이 가능하도록 하는 트랜잭션 언어이다. 절차형 SQL 종류 프로시저(Procedure): 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합 사용자 정의함수(User-Definde Function): 일련의 SQL처리를 수행하고, 수행결과를 단일 값으로 반환할 수 있는 절차형 SQL 트리거(Trigger): 데이터베이스 시스템에서 삽입, 삭제, 갱신 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL 프로시저의 구성 (디비컨SET) 선언부(DECLARE): 프로세스의 명칭, 변수와 인수 그리고 그에 대한 데이터 타입을 정의하는 부분 시작/종료부(BEGIN/END): 프로시저의.. 2021. 10. 9.
[11] SQL응용 -데이터베이스의 기본 (DDL, DML, DCL) 트랜잭션(Transaction): 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위이다. 트랙잭션 특성 (A/C/I/D) 특성 설명 주요기법 원자성(Atomicity) 분해가 불가능한 작업의 최소단위 연산 전체가 성공 또는 실패 하나라도 실패할 경우 전체가 취소되어야 하는 특성 Commit/Rollback 회복성 보장 일관성(Consistency) 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 하는 특성 무결성 제약조건 동시성 제어 격리성(Isolation) 트랜잭션이 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가능한 특성 Read Uncommit.. 2021. 10. 8.
[10] 프로그래밍 언어 활용 ,포인터, 오버로딩, 오버라이딩 포인터(Pointer) 변수의 주솟값을 저장하는 공간이다. int a = 10; int*b = &a; //*b는 데이터가 들어갈 공간 //&a는 주솟값 데이터 타입 뒤에 *를 붙이면 주소를 저장하는 포인터 변수라는 의미이고, 일반 변수명에 &를 붙이면 해당 변수명의 주소값이다. 주소에 해당하는 값을 가리킬 때에는 *를 사용한다. int a = 10; int* b = &a; printf("%d %d", a, *b);//b가 가리키는(*) 값은 a이므로 *b == a이다 //&a는 주솟값 포인터 선언시 *의 위치는 관계 없음(int*a, int *a, int * a) 자바 자료형 HashSet: 중복된 원소를 허용하지 않는 집합(Set)의 성질을 가진 클래스; 순서가 중요하지 않음 ArrayList: 크기가.. 2021. 10. 6.
[9] 인터페이스 구현 인터페이스 산출물: 인터페이스는 크게 사용자 인터페이스(User Interface)와 시스템 인터페이스(System Interface)로 구분된다. 소프트웨어 개발 단계별 인터페이스 산출물 구분 설명 분석 단계 인터페이스 요구사항을 통한 인터페이스 정의서 작성 명세 단계 인터페이스 정의서에 따라 인터페이스 명세서 작성 설계 단계 인터페이스 명세에 따라 설계 단계를 통해 구체적인 인터페이스 설계서 작성 상세 기능별 인터페이스 명세서 주요 항목 (아/명/오/개/ 전/후/파/반) 주요 항목 설명 인터페이스 ID 인터페이스를 구분하기 위한 식별자 인터페이스 명 해당 인터페이스를 나타내는 고유 명칭 오퍼레이션 명 해당 인터페이스의 세부 동작 명칭 오퍼레이션 개요 해당 인터페이스의 세부 동작 프로세스에 대한 세부 .. 2021. 10. 4.
[8] 연계 데이터 구성, 연계 메커니즘, EAI / ESB 연계 요구사항 분석: 서로 다른 두 시스템·장치·소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정이다. 요구사항 분석 기법 및 분석 참고 문서 구분 주요 내용 설명 분석 기법 인터뷰 사용자 면담을 통해 연계 요구사항 도출 체크리스트 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등의 기준에 대한 점검을 통한 분석기법 설문지 서비스 활용 목적에 따라 연계 필요 데이터 식별 및 연계 주기 등을 설문지를 통해 분석하는 기법 델파이 기법 전문가의 경험적 지식을 통한 분석 기법 브레인스토밍 소속된 인원들이 자발적으로 자연스럽게 제시된 아이디어 목록을 통해 분석하는 기법 분석 참고 문서 코드 정의서 공통 코드 정의서 테이블 정의서 데이터 모델링 정의서, 테이블/프로세스 연관.. 2021. 10. 3.
[7] 물리 데이터 저장소 설계, 데이터베이스, 데이터 마이닝 물리 데이터 모델링: 논리모델을 적용하고자 하는 기술에 맞도록 상세화해 가는 과정이다. 물리 데이터 모델링 변환 절차 개체를 테이블로 변환: 일반적으로 테이블과 개체 명칭을 동일하게 하는 것을 권고 속성을 컬럼으로 변환: 개발자와 사용자 간 의사소통을 위해 표준화된 약어를 사용하도록 권고 UID를 기본키로 변환: 개체의 UID에 해당하는 모든 속성에 대해 기본키로 선언 관계를 외래키로 변환: 외래키 명은 기본키 이름을 그대로 사용하나 다른 의미를 가질 경우 변경 가능 컬럼 유형과 길이 정의: 적절한 유형을 정의하고, 데이터의 최대 길이를 파악하여 길이를 설정 반 정규화 수행: 시스템 성능 향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합하는 반 정규화를 수행 참조무결성 제약조건 릴레이션과 릴레이션.. 2021. 10. 1.
[6] 데이터 입출력 구현(논리 데이터 저장소) 데이터 모델(Data Model): 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다. 데이터 모델 절차 (개/논/물) 개념적 데이터 모델 현실 세계에 대한 인식을 추상적 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델 주요 산출물로는 개체관계 다이어그램이 있음 논리적 데이터 모델 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델이다. 논리적 데이터 모델링에서 정규화를 수행 물리적 데이터 모델 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 일련의 데이터 모델 성능 측면에서 반 정규화를 수행 논리적 데이터 모델링 종류 관계.. 2021. 9. 29.