| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- Selection Sorting
- 혼자 공부하는 C언어
- 이스케이프 문자
- C programming
- 윤성우의 열혈 자료구조
- Algorithm
- Graph
- R
- coding test
- insertion sort
- s
- Stack
- 메모리구조
- stream
- C 언어 코딩 도장
- 윤성우 열혈자료구조
- list 컬렉션
- Serialization
- 알기쉬운 알고리즘
- 이것이 자바다
- JSON
- datastructure
- buffer
- Today
- Total
목록Computer Science (90)
Engineering Note
OCP(Open Closed Principle): 개방-폐쇄 원칙은 소프트웨어 구성요소(클래스, 모듈, 상수 등)는 확장에는 개방적이어야 하고, 수정에는 폐쇄적이어야 한다는 원칙입니다. 즉, 기존의 코드를 변경하지 않고도 시스템의 기능을 확장할 수 있어야 합니다.OCP를 적용하면, 기존 코드를 변경하지 않고도 새로운 기능을 추가할 수 있습니다. 이는 유지보수성과 재사용성을 향상시키는데 도움이 됩니다. 구현 방법: OCP를 적용하기 위해선 다형성을 활용하는 것이 일반적입니다. 인터페이스나 추상 클래스를 사용하여 확장 가능한 부분을 정의하고, 구체적인 구현은 별도의 클래스에서 제공하는 방식입니다. public interface PaymentMethod{ void pay(amount);}public clas..
DIP(Dependency Injection Principle): 의존성 역전 원칙은 객체지향 소프트웨어 설계원칙인 SOLID 원칙 중 하나로, 어떤 모듈이 다른 모듈에 의존해야할 때 구체화(구현)가 아니라 추상화(인터페이스)에 의존하도록 설계하는 원칙(추상클래스나 인터페이스에 의존하도록 설계) DIP의 구현 방법: 의존성 역전 원칙을 구현하는 방법에는 인터페이스나 추상 클래스를 사용하여, 구현 세부 사항에 대한 의존성 대신 추상화에 의존하도록 할 수 있습니다. public interface DataRepository{ void save(Object object);}public class FileDataRepository implements DataRepository{ public void save..
FLUSH와 COMMIT 차이구분FLUSHCOMMIT역할메모리의 변경 사항을 DB 트랜잭션 버퍼에 동기화(SQL 전송)현재 트랜잭션 내의 모든 변경 사항을 DB에 영구적으로 확정영구성일시적(트랜잭션 버퍼에 존재, Rollback 가능)영구적(DB에 최종 반영, Rollback 불가)가시성(다른 트랜잭션)일반적으로 보이지 않음(트랜잭션 고립 유지)보이게 됨(트랜잭션 완료 및 고립 해제)트랜잭션 종료 여부트랜잭션 유지트랜잭션 종료자동 실행COMMIT 시 내부적으로 포함되어 자동 실행수동으로 호출하거나, 설정에 따라 트랜잭션 종료시 자동 실행됨
학습을 위해 인프런 강의를 듣다가 h2 데이터베이스 접속 방법이 매번 헷갈려서 정리해두려고 작성한 글이다. 1.H2 다운로드 및 실행방법 1-1. H2 데이터베이스 엔진 DBMS를 다운로드 한다.https://www.h2database.com/html/main.html 1-2. 다운로드 하고 압출을 풀어주면 안에 bin 디렉터리가 있는데 그 안에 h2.sh 파일이 있다. 1-3. h2.sh 파일의 권한을 준다. 'chmod 755 h2.sh`. 권한 변경 후 실행(터미널에서 './h2.sh ' 입력)하면 브라우저에 h2데이터베이스 접속을 위한 웹 콘솔이 열린다. 1-4. h2 데이터베이스는 메모리모드와 파일모드가 있는데, 데이터를 유지하기 위해서 파일모드로 실행하고 싶으면 파일 모드로 실행하면 된다. ..
INNER JOIN과 LEFT JOIN, 뭐가 다를까?회원 테이블과 게시글 테이블을 조회할 때, "게시글을 쓴 회원만" 볼 것인가, "게시글 안 쓴 회원도" 볼 것인가의 차이입니다. JOIN의 정식 명칭INNER JOIN = JOIN (정식 명칭)LEFT OUTER JOIN = LEFT JOIN (정식 명칭) 실무에서는 JOIN, LEFT JOIN으로 줄여서 많이 씁니다.INNER JOIN: 교집합만 조회언제 사용? 두 테이블에 모두 존재하는 데이터만 필요할 때예시 상황회원 3명이 있습니다: SELECT * FROM member; 이 중 김철수, 이철수만 게시글을 작성했습니다: SELECT * FROM board; INNER JOIN 실행SELECT *FROM member m JOIN board..
MySQL로 데이터베이스를 연습하면서, 게시판 프로젝트로 데이터베이스를 설계하고 SQL로 직접 테이블을 조작해보면서 에러가 발생했다.실행 쿼리INSERT INTO likes (member_id, content, comemnt_id) values(1, "내용", 100) Error Code: 1054. Unknown column 'content' in 'field list' 에러메세지cannot add or update a child row: a foreign key constraint 에러 원인 분석 첫 번째 원인좋아요 like 테이블에 데이터를 넣으려고 했는데 like 테이블의 부모 comment_id 부모 PK값이 없어서 발생한 오류다. 두 번째 원인content 컬럼 - likes 테..
프로젝트에서 JPA를 사용하면서 기본적인 쿼리도 같이 익혀야 겠다고 생각해서 정리하고 있습니다. JPA가 대부분 해주지만 문제를 파악하거나 직접 DB에 접근해서 문제를 해결해야할 일도 있기 때문에 SQL도 같이 익혀두는 과정도 필요하다고 생각합니다. 기본적인 게시판의 테이블을 설계해보고 workbench에서 쿼리문을 실행해보면서 SQL을 정리하고 있습니다. 오늘은 DDL을 연습했습니다.CREATE DATABASE blog_test;use blog_test;-- 1. Member 테이블 (회원)CREATE TABLE member ( member_id BIGINT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(100) UNIQUE, name VARCHAR(50)..
WHERE- 특정한 조건만 조회하는 SQL 문법- WHERE와 같이 사용하는 관계 연산자 : >, =, =- 두 가지 이상의 조건을 만족하는 결과를 원할 때 : ANDWHERE 조건절에 조건을 세분화하기 위한 문법BETWEEN ~ ANDIN()- OR 조건을 여러개 쓰는 대신 IN으로 OR조건 표현- 경기/전남/경남 사는 회원 조회 => SELECT * FORM MEMBER WHERE ADDRESS IN('경기', '전남', '경남')LIKE- 문자열의 일부 글자 검색- %와 같이 사용- _와 같이 사용 ----- ORDER BY- 결과의 정렬 위한 SQL문법- ASC 기본값 = 오름차순, 오름차순은 작은 숫자가 가장 위로 온다. row 값이 점점 커진다. 날짜를 기준으로 생각하면 날짜가 빠른순서가..