KDT 수업 63

[HTML] day2: 하이퍼링크/책갈피

인덱스 내 홈페이지 최초의 내 홈페이지에 오신것을 환영합니다 하이퍼 링크 - 다른 페이지 또는 사이트로 연결하는 링크(문자 또는 이미지) 링크에 사용할 문자 또는 이미지 ✔️ 호스팅 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해주는 서비스 FTP(File Transfer Protocol) 클라이언트 - 서버(c/s)용 프로토콜 클라이언트가 파일을 요청하면 서버가 요청된 파일을 제공 클라이언트가 서버로 파일을 전달 주로 대량의 파일을 처리할 때 사용 기본포트: 21 ✔️ 닷홈 호스팅 주의사항 첫페이지는 항상 index.html로 업로드(파일이름 소문자로 꼭 작성하기!) html 디렉토리에 저장해야 함 파일질라 다운로드 FTP 클라이언트 프로그램으로 사용 vscode에 ftp-simple 설..

[HTML] day1: HTML 태그

클라이언트(Client) : 서버로부터 서비스나 데이터를 요청하는 컴퓨터 서버(Server) : 데이터를 포함하거나 네트워크의 다른 컴퓨터에서 액세스하는 기능을 제공하는 컴퓨터 웹표준 웹에서 표준적으로 사용되는 기술이나 규칙 W3C가 권고한 표준안에 따라 웹사이트를 작성할 때 이용하는 HTML, CSS, JavaScript등에 대한 규정 웹접근성 장애인, 고령자 등이 웹사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이해할 수 있도록 보장해주는 것을 의미함 (국가에서 만든 규정집도 존재함!) 마크업 언어 HTML(Hyper Text Markup Language) : Hyper Text(페이지에서 다른 페이지로 이동할 수 있는 것) 기능을 가진 문서를 만드는 언어 CSS, JavaScript(클라이..

28. DB를 이용한 단어장 만들기

26.DAO, DTO, VO 에서 만들었던 단어장 만들기 프로그램을 변형해서 DB에 단어를 저장하는 단어장을 만들어보기 # DTO 역할의 클래스 class Words: def __init__(self, eng, kor, lev=1): self.eng = eng self.kor = kor self.lev = lev def setEng(self, eng): self.eng = eng def getEng(self): return self.eng def setKor(self, kor): self.kor = kor def getKor(self): return self.kor def setLev(self, lev): self.lev = lev def getLev(self): return self.lev import..

KDT 수업/Python 2023.03.22

27. 파이썬과 MySQL 연동

오늘은 jupyter notebook 에서 작성했다 1. mysqlclient 파이썬에서는 MySQL 서버와 통신할 수 있는 파이썬용 데이터베이스 커넥터의 종류가 여러가지 있음 PyMySQL, mysqlclient 가 가장 많이 사용되는 커넥터 사용법은 비슷하나 속도가 빠른 mysqlclient를 권장하고 있음 mysqlclient을 사용하기 위해 설치해준다 !pip install mysqlclient 그다음 import를 써서 MySQL데이터베이스를 불러온다 import MySQLdb db에 연결해준다 # host: IP주소, localhost, 127.0.0.1 # user: 유저, root # password: 비밀번호, 1234 # db: 데이터베이스, kdt db = MySQLdb.connect..

KDT 수업/Python 2023.03.22

26. DAO, DTO, VO

형광펜 쳐둔것만 기억하면 돼요! 1. DAO(Data Access Object) DataBase의 data에 접근하기 위한 객체로 직접 DataBase에 접근하여 데이터를 삽입, 조회, 변경, 삭제 등을 조작할 수 있는 기능 DataBase 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용 ✔️ 비즈니스 로직 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부 데이터의 입력, 수정, 조회, 삭제 및 처리 등을 수행하는 각종 처리를 의미 유저의 눈에는 보이지 않지만, 유저가 원하는 행위를 잘 전달하기 위해 짜여진 코드 로직 2. DTO(Data Transfer Object) 데이터 전송(이동) 객체라는 의미 로직을 가지지 않는 순수한 데이터 객체이며 getter/setter메소드만 가진 클래..

KDT 수업/Python 2023.03.22

인덱스(index)

index 인덱스(index) 테이블의 동작속도(조회)를 높여주는 자료구조 데이터의 위치를 빠르게 찾아주는 역할 MYI(MySQL Index)파일에 저장 인덱스를 설정하지 않으면 Table Full Scan이 일어나 성능이 저하되거나 장애가 발생할 수 있음 조회속도는 빨라지지만 update, insert, delete 의 속도는 저하될 수 있음 MySQL에서는 primary key, unique 제약조건을 사용하면 해당 컬럼에 index가 적용됨 인덱스는 하나 또는 여러 개의 컬럼에 설정할 수 있음 where절을 사용하지 않고 인덱스가 걸린 컬럼을 조회하면 성능에 아무런 효과가 없음 가급적 update가 안되는 값을 설정하는 것이 좋음 order by, group by와 index order by 인덱스..

KDT 수업/MySQL 2023.03.21

트랜잭션(Transaction)

트랜잭션(Transaction) 분할이 불가능한 업무처리의 단위 한꺼번에 수행되어야 할 연산 모음 commit: 모든 작업들을 정상 처리하겠다고 확정하는 명령어로서, 해당 처리과정을 DB에 영구적으로 저장 rollback: 작업 중 문제가 발생되어 트랜젝션의 처리과정에서 발생한 변경사항을 모두 취소하는 명령어 start transaction 블록 안의 명령어들은 하나의 명렁어처럼 처리됨 ... 성공하던지 실패하던지 둘 중 하나의 결과가 됨 문제가 발생하면 rollback; 정상적인 처리가 완료되면 commit; 트랜젝션의 원리 원자성: 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 함 일관성: 트랜젝션의 작업처리 결과가 항상 일관성이 있어야 함 독립성: 어떤 하나의 트랜젝션이라도..

KDT 수업/MySQL 2023.03.21

뷰(View)

View 뷰(View) 데이터베이스에 존재하는 일종의 가상의 테이블을 의미함 실제 테이블처럼 행과 열을 가지고 있지만, 데이터를 직접 저장하고 있지는 않음 MySQL에서 뷰는 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만을 수행함 즉, 뷰를 사용하면 여러 테이블이나 뷰를 하나의 테이블처럼 볼 수 있다! 뷰를 만드는 이유 복잡한 SQL코드를 간결하게 만들기 위해 삽입, 삭제, 수정 작업에 제한 사항을 가짐 특정 사용자에게 테이블 전체가 아닌 필요한 필드만을 보여줄 수 있음 # create view 뷰이름 as 쿼리... use kdt; select * from member; select userid, username, hp, gender from member; #공개하려는거 create..

KDT 수업/MySQL 2023.03.21

Day4: MySQL 사용자 추가하기

1. 사용자 추가하기 MySQL 8.0 Command Line Client 'root' 계정으로 로그인 로컬에서 접속 가능한 사용자 추가하기 create user '사용자명'@'localhost' identified by '사용자 비밀번호'; create user 'apple'@'localhost' identified by '1111'; DB권한 부여하기 grant all privileges on *.* to '사용자'@'localhost'; # 모든 DB에 접근 가능 grant all privileges on 데이터베이스명.* to '사용자'@'localhost'; flush privileges; # 새로운 세팅을 적용함 ✔️ 할당 권한 상세 옵션 create, drop, alter: 테이블에 대한 생..

KDT 수업/MySQL 2023.03.21