Database - Index
DB에서 자료를 검색하는 두 가지 방법
FTS(Full Table Scan)
Index Scan
Index
특정 컬럼을 선택하여 indexing 하면 그 컬럼을 기준으로 정렬된 하나의 테이블이 생김(자원 소모)
새로 생긴 테이블은 기존 테이블의 block(데이터가 저장되는 최소 단위) 주소를 가짐. ( 1 block = n x rows)
Index 설정 팁
조건(where)절에 자주 등장하는 컬럼
order by 절에 자주 등장하는 컬럼(인덱스는 정렬되어 저장되므로)
여러 컬럼을 조합해서 만들 수도 있음
Index 단점select는 빨라지지만 insert나 update는 느려진다.기존 테이블 뿐 아니라 index 테이블에도 insert, update 해야 하고,어느 자리에 insert할지 찾아야 하고, 정렬된 상태를 유지해야 하기 때문
Index 손익분기점Index되는 각각의 양이 테이블이 가지고 있는 전체 데이터 양의 10에서 15프로 일때 이득이고,그 이상일 떈 풀 ...
Database - Transaction
트랜잭션
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위
한꺼번에 모두 수행되어야 할 일련의 연산들
하나의 트랜잭션은 Commit되거나 Rollback된다.
성질Atomicity(원자성)
트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
Consistency(일관성)
트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
Isolation(독립성,격리성)
둘 이상의 트랜잭션이 동시에 실행되는 경우 하나의 트랜잭션 실행 중에 다른 트랜잭션이 끼어들 수 없다.
수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
Durablilit ...
Database - View
View
database의 select문을 저장한 object
쿼리문에서는 테이블처럼 사용할 수 있음
CREATE OR REPLACE VIEW VIEW_NAME AS“SELECT문”
DROP VIEW VIEW_NAME
전공 기초 - 서버
전산 용어 정리 - 서버CI/CD
Continuous Integration (CI): 개발자를 위한 자동화 프로세스. 코드 변경 사항을 자주 병합하여 문제를 조기에 발견하고 해결.
Continuous Delivery (CD): 코드 변경 사항이 자동으로 테스트되고 릴리스 파이프라인을 통해 프로덕션 환경으로 배포되는 프로세스.
Continuous Deployment: 코드 변경 사항이 자동으로 프로덕션 환경에 배포되는 단계.
Redis와 MemcachedRedis
메모리 뿐 아니라 디스크에도 데이터를 기록하여 유사시 데이터를 복구할 수 있다.
String, List, Set, Sorted sets, Hash 등의 데이터 포맷 지원.
한 개의 키에 저장할 수 있는 용량이 Redis는 512MB, Memcached는 1MB.
Redis는 싱글 스레드이다. 스냅샷을 뜰 때 자식 프로세스를 만들어 새로 변경된 메모리 페이지를 복사해서 사용한다.
Memcached
DB/A ...
◆협업 프로젝트◆ 드리머리
드리머리드리머리는 고려대학교 스타트업의 이름이자, 동시에 헤어 뷰티 O2O 플랫폼의 이름.
드리머리의 고객회원은 머리를 무료에 가까운 가격으로 시술받고(모델 역할)예비 디자이너는 고객(헤어 모델)을 대상으로 서비스를 제공하며 경력을 쌓을 수 있다
현황2019년 12월 기준서비스런칭 4개월 차에 월 방문 고객수 6만명, 월 예약수 1000건이 발생하고 있다.
링크www.dreamary.net(현재 서비스 중이므로 직접 들어가 보는 것을 추천)
기간
제작기간2019.07 ~ 2019.08
운영기간2019.08 ~ 현재
소개경쟁력예비 디자이너가 단순 아마추어들이 아니다.
드리머리에서 말하는 예비 디자이너는 정식 미용자격증 취득 후(미용자격증을 취득하면 누구나 개인 미용실을 개업할 수 있다.)준오헤어, 박준헤어 등의 대형 프랜차이즈에서 수 년간 배운 디자이너를 말한다.
사용기술
사용 기술
호스팅
AWS
OS
Ubuntu
Client
ReactJS (Typescri ...
전공 기초 복습 - NW, OS, SWE 등..
전공 기초 복습을 위한 정리OSI 7계층7계층 – 응용 계층(Application)
사용자가 컴퓨터와 응용프로그램을 통해 직접 작업하고 상호작용하는 계층.
웹 브라우저, HTTP, FTP, WWW, Telnet, SMTP, POP.
6계층 – 표현 계층(Presentation)
데이터의 형식을 정의.
응용프로그램 형식 <=> 네트워크 형식 변환.
JPEG, TIFF, GIF(그래픽 포맷), MPEG, QUICKTIME(동영상 포맷), MIDI(음악 포맷), RTF, ASCII, EBCDIC(텍스트 포맷) 등을 지정.
데이터 압축(compression), 암호화(Encryption).
5계층 – 세션 계층(Session)
서로 다른 단말기 간 통신을 위해 세션을 맺음.
네트워크 연결 간 성립(Establishment), 제어와 운영(Manage and Control), 연결의 종료(Terminate)를 담당.
운영 체제(OS).
4계층 – 전송 계층(Trans ...
◆개인 프로젝트◆ 토론판
토론판토론 플랫폼이다.2017~2018에 막 유행하던 조합인 express.js + mongoDB로 개발했고,프론트 서버를 따로 두지 않고 server-side rendering으로 진행했다.
운영 플랫폼(서비스 종료)PC, Mobile 반응형 : www.toronpan.netAndroid : 마켓 링크Git : Github
사용 기술
사용 기술
호스팅
iwinv(국산 클라우드 업체)
OS
Ubuntu,
Client
ejs rendering (Bootstrap4)
Server
Express.js, socket.io
Database
MongoDB(Mongoose)
기간
운영기간2019.04.29 ~ 2020.01.13
제작기간2018.09 ~ 2019.04
아래 사진들은 iwinv에서 실제 서버를 임대하고 도메인을 구입해 연동한 기록이다.
소개개발 동기
토론 플랫폼의 필요성을 느낌
다음 아고라가 2019년 1월부로 폐쇄한다고 하여, 유저 흡수 가능성 높 ...
전공 기초 - 자바
본 페이지는 면접 준비를 위해 다양한 블로그를 참고했습니다.
객체지향 프로그래밍 언어객체지향 프로그래밍이란 현실 세계의 개체 모델을 바탕으로 프로그램을 구조화하고 개발하는 기법이다. 함수와 메서드가 비슷하다. 객체 간의 메시지 교환을 이용한 모델이다. 상속, 추상화, 캡슐화 등의 특징을 활용한다. 구조적이고 재활용 가능한 모듈화로 생산성과 유지보수 효율성을 높인다. 대표적인 언어로는 SmallTalk, C++, C#, .NET, 자바, 파이썬 등이 있다.
객체와 클래스객체객체(Object)는 ‘사물’을 의미한다. 사물은 속성(Attribute)과 행위(Behavior)로 설명할 수 있다.
클래스와 인스턴스클래스(Class)는 속성이 같은 객체들을 대표하는 개념이다. 예를 들어, 소나무는 클래스가 된다. 각각의 소나무들은 소나무 클래스의 인스턴스(객체)이다.
클래스는 객체를 정의하는 틀이다. 필드(속성)와 메서드(행위)로 구성된다.
인스턴스는 클래스에서 생성한 객체다. 고유한 상 ...
ubuntu
찾기find [경로][옵션] [파일명]
find / -name ‘*.png’
최상위 디렉토리, (root)에서 부터 검색을 해서 확장자가 png로 끝나는 모든 파일을 찾는다.
find / -name ‘afreeca*‘
afreeca로 시작하는 모든 파일을 찾는다.
find / -name ‘1676075537’
이름이 ‘1676075537’인 모든 파일을 찾는다.
find -name ‘fileName’
경로를 생략하고 명령어를 입력하면 해당 디렉토리에서부터 그 하위 디렉토리까지 찾는다.
삭제rm [option][foldername]옵션은 아래 세가지를 이어붙여서 사용
r : 파일 디렉토리 함께 삭제하기
f : 파일 유무와 상관없이 삭제하기
v : 어떻게 완료되었는지 설명하기
방화벽방화벽 룰 설정파일1/etc/iptables/rules.v4
방화벽 룰 저장1netfilter-persistent save
설정 완료 후 재시작1netfilt ...
◆협업 프로젝트◆ 오늘부터투게더
오늘부터투게더무료 소개팅+미팅 어플리케이션(안드로이드)이다.매칭 알람, 실시간 채팅 등 기본적인 기능과 더불어전문 디자이너를 섭외하여 세련된 디자인을 갖추었다.
PC, Mobile 반응형 : www.toronpan.netAndroid : 마켓 링크Git : Gitlab
기간
제작기간2018.08 ~ 2018.11
운영기간2018.11 ~ 2019.02
사용기술
사용 기술
호스팅
개인 서버
OS
Ubuntu
Web Server
Apache
Web Application Server
Tomcat
Server
JSP, PHP
Client
Android Java
Database
Google Firebase, MariaDB
협업 내용
개발자 3인 + 디자이너 1인
기획이나 디자인 방향은 팀원 4명이 회의를 통해 결정
본인은 톰캣(JSP), MariaDB를 사용해 rest API 서버 개발
안드로이드 스튜디오를 사용해 프론트 일부 개발
