성능 체크하는 방법1. EXPLAINEXPLAIN SELECT문;EXPLAIN SELECT * FROM customers; SELECT 앞에 EXPLAIN을 붙이면 데이터를 얼만큼 찾아보고 찾아냈는지, 찾아본 데이터의 수가 총 몇 개인지 설명해준다. LIMIT이나 WHERE를 사용해도 전체 데이터를 조회한다.=> 조건이 맞는지 안 맞는지 마지막 데이터까지 확인해보기 때문에, 어떤 조건을 달아도 결국 데이터를 다 찾아보게 된다. 2. 프로파일링 (profiling)SET profiling = 1; # profiling 기능 켜는 설정SELECT * FROM customers WHERE country = 'USA';SELECT * FROM post WHERE createdAt > '2024-12-02';..
CS
[Level 1] - 조건에 부합하는 중고거래 댓글 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 22년 10월에 작성된 글을 조회하는 것이기 때문에 WHERE 절에 LIKE로 2022년 10월을 넣어주고,댓글 작성일 기준으로 오름차순, 작성일이 같다면 게시글 제목을 기준으로 오름차순 하라고 했기 때문에ORDER BY 댓글 작성일, 게시글 제목 으로 정렬 우선순위를 지정해준다.SELECT USED_GOODS_BOARD.TITLE, USED_GOODS_BOARD.BOARD_ID, ..
ERD 확인하기1. 데이터베이스 - 테이블 잘 있나 확인 2. 데이터베이스 간 관계 확인 (ERD) Database - Reverse Engineer Stored Connection 에서 선택 - next ERD 뽑을 schema 선택 - 계속 Next 누르기 ERD 나오는 거 확인 SQL Query 연습쿼리 한 줄만 조회하고 싶을 때 = Ctrl + Enter 기본 SELECT 문법SELECT 속성,,,, FROM 테이블 이름;SELECT * FROM customers;SELECT * FROM customers;SELECT customerNumber, customerName, country FROM customers; WHERE - 특정 조건에 맞는 데이터 조회SELECT 속성,,, FRO..
워드프레스 서버더보기워드프레스란?사용자가 전문적인 기술 지식 없이도 웹사이트에서 콘텐츠를 생성, 관리 및 수정할 수 있도록 도와주는 콘텐츠 관리 시스템 소프트웨어워드프레스 & nginx 설치워드프레스는 php로 이루어져 있기 때문에 php를 설치해줘야 한다.apt updateapt install -y php-imagick php8.1-fpm php8.1-mbstring php8.1-bcmath php8.1-xml php8.1-mysql php8.1-common php8.1-gd php8.1-cli php8.1-curl php8.1-zipsystemctl restart php8.1-fpmapt install -y nginx status로 돌아가는지 확인syetemctl status php8.1-fpm 웹..
sql 연습을 위한 sample 데이터 준비1. 리눅스 컴퓨터에서 파일 받아온 후 ls로 파일이 잘 받아와졌는지 확인wget [SQL 파일 링크] 2. sql 파일에 있는 것들을 한 번에 실행mariadb -u root -p 3. 테이블 있나 확인 후 권한 부여mariadb -u root -pshow databases;GRANT ALL PRIVILEGES ON [DB 이름].* TO '[사용자 이름]'@'%';FLUSH PRIVILEGE; 4. 윈도우 MySQL Workbench에서 들어온 거 확인classicmodels 디비와 테이블들이 잘 들어와있는 것을 확인할 수 있다. MySQL Workbench - SQL 실습실습하기 전 어떤 데이터베이스를 쓸 것인지 선택해야 한다. 여기서 내가 쓰고 싶은..
정규화란?: 이상 문제(anomaly)를 해결하기 위해 속성 간 종속 관계를 분석하고 릴레이션을 분해하는 과정: 릴레이션의 속성, 객체, 관계를 파악하여 데이터의 중복성을 최소화하는 과정 이상 문제 (anomaly): 속성 간에 존재하는 여러 종속 관계를 하나의 릴레이션에 표현함으로 인해 발생하는 현상: 데이터를 DB 테이블에 CUD 할 때 생기는 문제삽입 이상 : 데이터를 저장할 때 원하지 않는 정보가 함께 삽입되는 경우삭제 이상 : 튜플을 삭제함으로써 유지되어야 하는 정보까지도 연쇄적으로 삭제갱신 이상 : 중복된 튜플 중 일부의 속성만 갱신시킴으로써 정보의 모순성 발생 정규화 과정함수적 종속: 어떤 릴레이션에서 속성들의 부분 집합을 x, y라고 할 때, 특정 튜플에서 x의 값이 y의 값을 함수적으로..
DBMSDBMS란?: 모든 프로그램들이 데이터베이스를 공유할 수 있도록 관리해주는 소프트웨어응용 프로그램과 데이터베이스의 중재자응용 프로그램과 데이터 간에 상호 의존 관계 문제를 해결DBMS 필수 기능어떤 DB 서버 프로그램을 쓰던지 이 기능은 무조건 있다. 1. 정의 (DDL)데이터의 형태, 구조, 데이터를 저장하는 것에 관한 내용CREATE, ALT, DROP2. 조작 (DML)데이터를 조작(검색, 갱신, 삽입, 삭제)SELECT, INSERT, DELETE, UPDATE3. 제어 (DCL)데이터의 정확성과 안전성을 유지하는 기능GRANT, REVOKE 스키마DB의 구조에 대한 정의 및 제약 조건 등을 기술한 것서버 프로그램마다 다를 수 있다형식, 구조를 갖춰서 저장한다. DB 설계 과정요구 분석 -..
데이터베이스데이터란?: 현실의 무언가로부터 측정한 값. 어떻게 가공하느냐에 따라 달라질 수 있다. 데이터베이스란?: 데이터를 표 형태로 저장한 파일운영체제의 파일 시스템은 하드 디스크의 특정 주소에 어떤 데이터를 저장헀는지 관리해주는 것이다.=> 데이터베이스도 저장되는 '파일'이기 때문에, 하드디스크에 저장되어 있는 파일이다. 데이터베이스의 특징1. 자료 추상복잡한 자료를 쉽게 사용할 수 있다.개념화, 사물의 공통 성질을 추출한다.2. 자료 독립자료와 프로그램의 독립성을 유지한다.파일과 파일을 이용하려는 프로그램 사이에는 어떠한 연관성도 없다.한글 파일을 열려면 한컴 오피스를 깔아야 한다. => 종속되어 있음.DB는 종속되어 있지 않다.어떤 클라이언트든 DB 파일을 볼 수 있다.데이터가 변경되어도 프로그..
객체 지향이란?: 현실 세계의 무언가를 컴퓨터 세계로 옮겨 만든 것 (= 객체)현실 세계의 무언가를 개발에 사용할 수 있도록 정형화추상화 = 정형화 = 공통사항 객체는 속성과 기능으로 이루어져 있다. 객체 설계 단계현실 세계 -> 요구사항 분석 -> 객체 식별 -> 객체 간의 관계 정의 -> UML 다이어그램 -> 메모리 객체지향 프로그래밍 특징1. 추상화불필요한 세부사항은 제거하고 공통적인 부분들만 추출하여 표현하는 것 2. 캡슐화서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것캡슐화를 하는 이유데이터 보호 (외부로부터 클래스에 정의된 속성과 기능들을 보호)데이터 은닉 (내부의 동작을 감추고 외부에는 필요한 부분만 노출)더보기자바에서 캡슐화를 구현하기 위한 방법 1..
형상 관리란?: 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것 계획 -> 분석 -> 설계 -> 구현 -> 시험 -> 유지보수1. 계획타당성 분석경제적, 기술적, 법적프로젝트 계획서 작성프로젝트 범위, 자원 점검(HW 사양, OS 버전, 사용할 SW), 인원, 예산, 일정 등팀 구성민주적(=분산형), 중앙집중형, 혼합형, 계층개발 비용 산정프로젝트 스케줄링소작업 분해 -> WBS (마인드맵) -> CPM (가장 안 좋은 케이스 찾기) -> 최소 비용 산정 -> CPM 수정 -> 간트 차트 2. 분석요구사항 분석 3. 설계아키텍처 설계인프라 : 시스템 아키텍처프론트엔드 : UI/UX 설계도, SW 아키텍처백엔드 : API 명세서, ERD, SW 아키텍처 4. 구현 5. 시험TDD 6. 유지보수개발이..