본문 바로가기

Back-End

(60)
[DB]데이터베이스 기본 이론 및 설치 데이터베이스 데이터베이스를 사용하는 이유 우리가 웹을 개발할 때 데이터베이스를 사용해서 입력된 정보들을 저장하게 되는데, 파일이 아닌 데이터베이스를 주로 사용하는 이유를 알아보자. [ 파일에 데이터를 보관하는 문제점 ] 같은 내용의 데이터가 중복 저장 저장공간의 낭비, 일관성과 무결성을 유지하기 어려움 응용프로그램이 데이터파일에 종속적 원래는 없던 컬럼을 추가하기 위해 파일시스템을 수정하면 응용프로그램도 수정해야함 데이터파일의 공유, 보안, 회복 기능이 약함 DBMS는 위 문제를 해결하기 위해 등장한 데이터를 통합하여 저장하고 관리하는 시스템이다. 별도의 파일로 관리되던 데이터를 하나로 통합하여 관리하면서 응용프로그램을 대신해서 데이터를 검색, 삽입, 수정할 수 있는 기능을 하게되었다. 응용프로그램들은 ..
[Python] 파이썬 실습2 - 회원전용 도서관리 키오스크 만들기 : 회원 번호는 문자열 무엇이든 상관없이 등록 : 서비스 종료 시 프로그램 자체 종료 [서비스 이용을 위한 회원 인증] 1. 회원번호 등록 2. 회원 인증 3. 서비스 종료 : 도서 정보 : 도서번호, 도서제목, 재고권수 : 도서 상태 확인 : 특정 도서에 대한 정보 조회(도서번호, 도서제목, 현재권수/전체권수) [도서 서비스 메뉴] 1. 도서 입고 2. 도서 대출 3. 도서 반납 4. 도서 상태 확인 5. 도서 전체 목록 확인 6. 도서 서비스 종료(회원 인증 메뉴로 갑니다.) 저번에 한 코드를 더 발전시켜보았다. 1. 유저정보 등록 함수 : user_register() - user_id 값 입력 - users 리스트 생성 후 값 넣기(append) 2. 유저인증 함수 : user_check() - 입..
[Python] 파이썬 알고리즘 - 이터레이터(Iterator), readLine(), nextLine() 이터레이터(Iterator) 파이썬에서 반복 가능한 객체(클래스)를 표현하는 데 사용되는 인터페이스 __iter__() : 이터레이터 객체 자체를 반환 __next__() : 다음 요소를 반환, 더 이상 반환할 요소가 없으면 raise StopIteration 예외를 발생시켜 순회를 종료 이터레이터는 init() 함수와 next() 함수를 이용하여 반복(Iterator)을 수행함 이터레이터 기능은 반복문(for or while)을 사용해야만 작동하는 기능 최초 __iter__() 함수를 호출하고, 출력 시 __next__() 함수가 한번씩 수행하면서 값을 반환받아서 출력함 한번 반환된 후 메모리는 초기화되며, 다음 반복시 다시 메모리 사용 메모리를 효율적으로 활용할 수 있음 java의 readLine()..
[Python] 파이썬 알고리즘 - 제너레이터(Generator) 제너레이터(Generator) 함수를 이용해서 이터레이터(반복)의 기능을 구현 이터레이터와 동일하게 호출 시점에만 메모리를 사용하고 사용이 끝나면 소멸된다. 반환할 때 사용하는 명령어는 return이 아닌, yield를 사용한다. 이터레이터와 동일하게 전체 또는 next() 한건씩 출력 가능 메모리를 효율적으로 쓰고 싶을 때 사용(보통 시스템 구축할 때 많이 사용) 이터레이터(클래스 기반), 제너레이터(함수 기반) def simple_generator(): ### 첫번째 반환할 값 yield 1 ### 두번째 반환할 값 yield 2 ### 세번째 반환할 값 yield 3 제너레이터 전체 출력하기 - 제너레이터에서는 함수를 객체로 인지하고 사용한다. - 함수를 생성한다는 의미 ..
[Python] 파이썬의 기초 - 매개변수, 기본값(default) 1. 위치 매개변수를 사용하는 함수 매개변수 : 어떤 값이 들어갈지 모르는 변수 인자 : 함수안에 들어가는 값 a는 첫번째 위치에 들어가는 위치매개변수 b는 두번째 위치에 들어가는 위치 매개변수 def function1(a, b): print(a, b) function1(1 , 2) 결과 1 2 2. 기본값(default) 정의 매개변수를 사용하는 함수 단, 기본값이 첫번째 매개변수 자리에 오면 오류!!! 둘 다 기본값이면 상관 없음. def function2(a, b=3): print(a, b) function2(5) 결과 5 3 3. 키워드 정의 방식(함수 호출 방식) : 이때는 매개변수 위치 바뀌어도 적용 def function3(a, b): print(a, b) function3(a=3, b=5)..
파이썬 실습2 - 도서 입고/대출/반납 관리를 위한 키오스크 만들기 (데코레이터) class 클래스 명: def decorator_function1(): def wrapper(): @decorator_function1 def 매입함수 def decorator_function2(): def wrapper(): @decorator_function2 def 대출함수 def decorator_function3(): def wrapper(): @decorator_function3 def 반납함수 class LibraryKiosk: #초기생성자 def __init__(self): #books는 맴버변수 self.books = {} print('클래스 생성 되었습니다.') #------------------------------------------------------- ..
[Python] 파이썬 알고리즘 - 유니코드, 클로저(closure), 데코레이터 컴퓨터의 기본저장단위 : 바이트(Byte) = 8bit * 따라서 1Byte에는 1bit는 0,1 두가지 값을 포함하므로 총 2^8(=256)개의 값 저장 가능 * 문자인코딩(Encording) : 문자나 기호의 집합을 컴퓨터에 저장하거나, 통신목적으로 사용하는 경우 부호로 변환 아스키 (ASCII) 미국에서 정의한 부호체계의 표준 아스키코드는 8비트를 모두 사용하는 것이 아니라 7bit(128개)의 값만 사용 나머지 1비트는 통신에러 검출을위해 사용하기 때문이다 = Parity Bit 이는 '영문 키보드'로 입력할 수 있는 모든 가능성을 담았지만, 다른 언어를 표현하기에는 부족 따라서 8bit를 모두 사용한 ANSI코드 출현 하지만 전 세계 문자를 정의하기엔 부족하여 등장한 것이 Unicode다. 유니..
[Python] 파이썬 실습 - 도서 입고/대출/반납 관리를 위한 키오스크 만들기 고객정보 관리 시스템에 이어 두번째 실습은 도서관리 프로그램이다. 주어진 조건은 다음과 같았다. [미션] - 도서 목록 : 새로운 책이 도서관에 [입고]되었을 때 프로그램 작성 - 도서 대출 : 도서 목록에서 임의 책을 빌리고자 할 때 [대출] 프로그램 작성 - 도서 반납 : 대출한 도서를 [반납]하고자 할 때 프로그램 작성 - 상태 확인 : 대출하고자 하는 도서가 도서 목록에 있는지?(생략) - 종료하기 : 종료하기에 대한 프로그램 작성 - 도서 입고/대출/반납/종료 중 원하는 것을 선택했을 때 위 내용 수행합니다. - 프로그램을 종료하기 전까지는 위 내용은 누구든지 서비스를 받을 수 있도록...반복 실행 - 도서에 대한 확인 값은 자유롭게 정의하셔서 진행 [조건] - class 생성하여 처리 내가 적..