CS공부

데이터의 중복을 줄이고, 무결성을 향상시키는 정규화 # Normalization 목적 테이블 간의 중복된 데이터를 허용하지 않기 위함 중복된 데이터를 만들지 않으면, 무결성을 유지할 수 있고 데이터베이스의 저장 용량 또한 효율적으로 관리할 수 있음 - 데이터의 중복을 없애면서 불필요한 데이터를 최소화시킴 - 무결성을 지키고, 이상 현상을 방지 - 테이블 구성을 논리적이고 직관적으로 할 수 있음 - 데이터베이스 구조 확장에 용이 # 정규화 단계 제 1 정규화 -> 제 2 정규화 -> 제 3 정규화 -> BCNF -> 제 4 정규화 -> 제 5 정규화 ... 의 단계 일반적으로 제 3 정규화 또는 BCNF 까지만 하는 경우가 많음 # 정규화 장점 - 데이터베이스 변경 시 이상 현상을 제거할 수 있음 - 정규..
# 테스트 과정 1. 환경 준비 : 테스트 서버 준비, 테스트 앱 배포 준비 2. 단위/통합 테스트 : 단위 테스트(개발 기능). 통합 테스트(전체 프로세스) 3. 시스템 테스트 : 성능 테스트, 스트레스 테스트, 보안 테스트 4. 오픈 준비 : 오류 수정, 전환 계획 준비 # 물리적 테스트 환경 준비 테스트를 할 수 있는 서버가 필요함 - 개발 서버 : 개발을 위해 배포 및 테스트 진행하는 용도 - 테스트 서버 : 테스트를 위한 전용 서버 - 운영 서버 : 최종 운영을 위한 서버 - 스테이징 서버 : 운영 서버에 최종 배포 전 점검용 서버 - 기타 테스트용 HW, SW 시스템 구매 : 개발 현장 상황에 따라서 개발 서버와 테스트 서버를 병행 개발 - 테스트 - 운영 서버 간의 환경은 동일해야 함 (WA..
WEB-APP 관련 필수 지식 # 웹 World Wide Web 의 약자 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간 # HTML HyperText Markup Language 웹에서 정보를 전달하기 위해 만들어진 언어 # 웹브라우저 웹을 통해 전달되는 정보를 보여주는 수단 전달받은 HTML 을 화면에 보여주는 기능 종류별로 다른 특성을 지님 하지만 W3C의 공통 규격을 따름 ex) 익스플로러, 엣지, 크롬, 파이어폭스, 사파리 # 웹브라우저의 역할 1. 사용자의 요청을 받아주는 일 2. 받은 요청을 서버로 전달하고, 서버로부터 결과물을 전달 받는 일 3. 서버로부터 받은 정보를 해석하고, 그려주고, 동작시켜 주는 일 # HTML vs HTML5 HTML의 버전업 -> HTML5 HTM..
외부 시스템 연계 필수 지식 # SSO Single Sign-On - 한번의 인증으로 여러 시스템에 로그인 - 한번의 인증 이후 해당 인증을 인정하는 각 사이트에 별도의 인증 없이 로그인 하는 것 실제 현장에서 내가 만든 시스템과 기존의 시스템의 로그인 연계를 할 때 SSO를 많이 사용함 이러한 상황에서는 SSO 보다는 로그인 연계이지만 실무에서는 SSO 라고 많이 사용함 # REST API - REST 란? Representational State Transfer 의 약자 HTTP를 표준 약속을 따라서, 최대한 활용을 잘 하기 위해 정의된 규약 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것 즉 REST 란, 1. HTTP URI 를 통해 자원을 명시하고 2. HTTP Method (POST..
보안 지식 정보가 얼마만큼 안전하게 관리되는가가 굉장히 중요함 it 보안은 정말 넓은 영역이기 때문에 꼭 알아야 할 부분만 정리해보겠음 # 침입방지 외부에서 들어오지 못 하도록 --> 방화벽 방화벽이란? 서버로 외부에서 함부로 들어오지 못하도록 하는 것 - 외부에서 못 들어오게 하는 벽 - 출입 통제 (허락된 사용자만 들어올 수 있게 함) IP, Port, 도메인 정보를 가지고 침입자인지 아닌지 식별함 방화벽 필요 지식 - 방화벽의 방어 기능은 엄청 많음 방화벽 오픈을 위해서는 입장하려는 해당 서버의 ip / port / 도메인 정보를 전달해주어야 함 # 강탈 방지 정보의 이동 중 빼앗기지 않도록 하는 것 - VPN, 전용선 보호와 자유는 상반 관계임 보안 정책에 따라서 적절한 선택이 필요함 # 분석 방..
도구 및 개발 프로세스 # SDK : software development kit - 프로그램을 개발하기 위한 도구 모음 - 계속해서 버전 업 - 소프트웨어 개발을 위한 도구 모음 # IDE : 작업장 SDK를 이용해서 편하게 개발할 수 있는 환경을 제공해주는 툴 이클립스, 인텔리제이 등 # 라이브러리 : 특정 기능을 제공해주는 프로그램 다른 사람이 이미 만들어 놓은 정보를 가져다 쓸 수 있는 것 # 프레임워크 : 개발을 잘 할 수 있도록 만들어 놓은 공정 -> 구조 + 순서 + 방식 개발 작업 순서 1. 설계 : 코딩, 실제 만들려는 프로그램 코드를 작성하는 작업 2. 조립 : 빌드, 작성된 프로그램 코드가 실행되도록 실행되도록 하는 것(독립화) 컴파일 + 링킹 사람들의 언어로 작성된 코드는 컴퓨터는 ..
개발 기본 구조 프로그램 종류는 웹과 앱이 대부분임 # 웹과 앱의 차이점은 뭘까? 웹 : 서버(실행) -> 브라우저 -> 사용자 브라우저 설치 화면이나 데이터를 한꺼번에 전달하는 방식 처음에 화면과 데이터를 보내놓고 그 후에는 필요한 데이터만 전달하는 방식 앱 : 서버(실행) -> 앱 설치 -> 사용자 개발 구조 알아보기 1. 웹 개발 구조 데이터 베이스에 데이터 저장 -> 정보를 핸들링하는 로직 개발 -> 정보를 표시하는 화면 개발 정보를 핸들링하는 것을 비즈니스 로직 개발 이라고 함 # 화면 랜더링 방식의 차이 SSR vs. CSR # 서버사이드랜더링 SSR 서버 쪽에서 화면 전체를 가지고 오는 것 서버개발자 라는 명칭으로 프론트와 백 동일하게 개발 웹만 개발할 때 주로 진행되는 개발 형식 # 클라이..
# DB Index 목적 RDBMS에서 검색 속도를 높이기 위함 Table의 Column을 색인화 -> 파일로 따로 저장 - 해당 Table의 레코드를 전부 scan 하지 않음 - 색인화된 B+ Tree 구조 Index 파일 검색으로 검색 속도 향상 # Index 과정 Table을 생성하면 MYD, MYI, FRM 3개의 파일이 생성됨 - FRM : 테이블 구조가 저장되어 있는 파일 - MYD : 실제 데이터가 있는 파일 - MYI : Index 정보가 들어가 있는 파일 Index를 사용하지 않는 경우 MYI 파일은 비워져 있음 -> 인덱싱을 하면 MYI 파일이 생성 이후에는 사용자가 SELECT 쿼리로 Index를 사용하는 Column을 탐색 시, MYI 파일의 내용을 검색함 # 단점 - Index 생..
개발자 정지은
'CS공부' 카테고리의 글 목록