목록분류 전체보기 (63)
쏭의 개발 블로그

1. MyBatis 객체지향 언어 Java의 관계형 데이터베이스 프로그래밍을 더 쉽게 할 수 있도록 도와주는 개발 프레임워크 쿼리 기반 웹 어플리케이션을 개발할때 가장 많이 사용되는 SQL Mapper 프레임워크 커스텀된 SQL, 저장된 프로시저, 고급매핑을 지원하는 지속적인 프레임워크 SQL Mapper를 통해 자바의 메서드와 SQL을 맵핑 시켜줌 정적인 SQL문을 동적으로 바꿔줌 sql문에서 작성했던 INSERT INTO table_name(name) VALUES(values) 를 이용해 작성 values에서 #{컬럼명} 을 이용하여 변수를 불러옴 MyBatis 특징 1. 쉬운 접근성과 코드의 간결함 JDBC의 많은 기능을 MyBatis가 제공 복잡한 JDBC 코드를 걷어내며 깔끔한 소스코드를 유지가..
TCL(Transaction Control Language) 트랜잭션을 제어하는 명령어 1. ROLLBACK 보류중인 모든 데이터 변경사항을 폐기. 현재 트랜잭션 종료 직전 commit 직후 단계로 회귀 2. COMMIT 보류중인 모든 데이터 변경사항을 영구적으로 적용. 현재 트랜잭션 종료 3. SAVEPOINT rollback할 포인트 지정 단계별 특징 1. COMMIT전/ROLLBACK전 이전 데이터 상태 복구(ROLLBACK)가능 현재 사용자 : SELECT - FROM으로 DML 작업 결과 확인 가능 다른 사용자 : COMMIT 전 DML 작업결과 확인 불가 행 잠금 : 다른 사용자가 영향을 받는 행의 데이터 변경 불가 2. COMMIT 후 보류 중인 변경사항들을 확정, 영구적용 → DB에 저장 ..
1. DDL CREATE CREATE TABLE EMPLOYEE{ NAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, SUPER_SSN CHAR(9), DNO INT NOT NULL, PRIMARY KEY(SSN) ); CREATE TABLE DEPARTMENT( DNAME VARCHAR(15) NOT NULL, DNUMBER INT NOT NULL, MGR_SSN CHAR(9) NOT NULL, PRIMARY KEY(DNUMBER), UNIQUE(DNAME) ) CREATE TABLE DEPT_LOCATION( DNUMBER INT NOT NULL, DLOCATION VARCHAR(15) NOT NULL, PRIMARY KEY(DNUMBER,DLOCATION), FO..

1. 블록체인 클래스 구조 (1) blockchain 클래스 생성 import datetime import hashlib import json class Blockchain: def __init__(self): self.chain=[] # chain이라는 인스턴스 변수가 리스트에 할당 # 가장 처음 블록인 제네시스(genesis)블록을 생성해주기 위해 proof=1, previous_hash='0'이라는 인수 사용 self.create_block(proof=1, previous_hash='0') # create_block 메소드 호출 def create_block(self,proof,previous_hash): block={ # json으로 구조화된 block 생성 'index':len(self.chai..

1. 블록체인이란? 데이터 분산 처리 기술 네트워크에 참여하는 모든 사용자가 모든 거래 내역 등의 데이터를 분산, 저장하는 기술 블록 : 개인과 개인의 거래(P2P)의 데이터가 기록되는 장부 이러한 블록들은 형성된 후 시간의 흐름에 따라 순차적으로 연결된 chian구조를 가지게 됨 P2P(Peer to Peer) 네트워크를 통해서 관리되는 분산 데이터베이스의 한 형태 거래 정보를 담은 장부를 중앙 서버 한 곳에 저장하는 것이 아니라 블록체인 네트워크에 연결된 여러 컴퓨터에 저장 및 보관하는 기술 2. 블록체인의 특징 탈중앙화 분산화 암호화 익명성
1. Git 버전 관리 프로그램 오픈 소스 버전 관리 시스템(VCS : Version Control System) 로컬에서 버전 관리 소프트웨어 개발 및 소스 코드 관리에 이용 💡 git은 본인 코드와 수정 내역을 기록, 관리하도록 돕는 버전 관리 프로그램 로컬에서 프로젝트의 기록을 스스로 관리하도록 해줌 git을 통해 브랜치 생성, 이전 브랜치로 복구, 삭제, 병합이 가능 로컬 저장소를 사용하므로 다른 개발자와 실시간으로 작업 공유 불가능 2. Github 버전관리, 소스코드 공유, 분산 버전 제어 등이 가능한 원격 저장소 Git Repository를 위한 웹 기반 호스팅 서비스 클라우드 서버를 사용하여 로컬에서 버전 관리한 소스코드를 업로드하여 공유 가능 분산 버전 제어, 엑세스 제어, 소스 코드 관..

형상관리 소스의 변화를 끊임없이 관리하는 것 소스를 버전 별로 관리할 수 있어 개발 시 실수로 소스를 삭제하거나 수정하기 이전으로 돌아가야되는 경우 유용하게 사용됨 팀 프로젝트에서 누가 무엇을 어떻게 수정했는지도 알 수 있기 때문에 코드를 병합하거나 수정된 소스를 추적하는데에도 쓰임 형상관리툴의 종류 Client/Server : Subversion(SVN), CVS, Perforce, ClearCase, TFS 분산저장소 : Git, Mercurial, Bitkeeper, SVK, Darcs Folder 공유 : RCS, SCCS 1) SVN(Subversion) 한 저장소(Repository)를 가지고 모든 개발자가 동시에 작업을 수행한 뒤 개발 종료 후 그 저장소를 가지고 배포 2000년에 CVS를 ..

1. 정규화(Normalization) 관계형 데이터베이스의 설계에서 데이터 중복을 최소화 하기 위해 데이터를 구조화하는 프로세스 목표 중복 최소화 (minimize redundancy) 무결성을 유지, 이상현상(anomaly)를 방지 이상현상(anomaly) 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 종료 삽입 이상(insert anomaly) : 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입 갱신 이상(update anomaly) : 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상(delete anomaly) : 튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 정규화의..