전체 글12 데미안 저자 : 헤르만 헤세서론작가들은 소설을 쓸 때 자기가 무슨 신이라도 되는 양, 어떤 사람의 인생을 훤히 내려다보고 완전히 파악해, 신이 직접 이야기하는 것처럼 애매한 구석 하나 없이 어디서나 본질을 드러내 묘사할 수 있는 듯 행동한다하지만 나에게는 여느 작가에세 그의 작품이 중요한 것 이상으로 중요하다. 이는 나 자신의 이야기요 한 인간의 이야기이기 때문이다.오늘날 인간이 무엇인지를 아는 사람은 별로 없다. 많은 사람이 그것을 느끼기는 하고, 그로 인해 죽는 것이 좀 수월해진다. 내가 이 이야기를 다 쓰고 나면 좀 수월하게 죽게 될 것처럼.주석 ‘내가 이 이야기를 다 쓰고 나면 좀 수월하게 죽게 될 것처럼.’ 의 의미가 무엇일까? 데미안은 헤르만 헤세가 자신의 일생을 적은 책인 것을 생각하면, 늙은.. 2025. 3. 26. 데이터베이스 트랜잭션 격리수준(Isolation Level)와 문제점 예시 정리 🔎 트랜잭션의 격리수준이란 ?트랜잭션의 4가지 특징, ACID중 고립성(isolation)을 보장하기 위해서는 트랜잭션은 분리 되어야 한다.트랜잭션 격리수준이란 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것이다. 격리수준은 크게 아래의 4개로 나뉜다.READ UNCOMMITTED (커밋되지 않은 읽기)READ COMMITTED (커밋된 읽기)REPEATABLE READ (반복 가능한 읽기)SERIALIZABLE (직렬화 가능) 👉 1. READ UNCOMMITTED (커밋되지 않은 읽기)각 트랜잭션에서의 변경 내용이 COMMIT이나 ROLLBACK 여부에 상관 없이 다른 트랜잭션에서 값을 읽을 수 있다.정합성에 문제가 많음Dirty Read 발생 ❓ Dir.. 2025. 1. 9. 슬로우 쿼리를 잡자! EXPLAIN, EXPLAIN ANALYZE 📑 EXPLAIN 1. explain의 정의explain Plan란 SQL을 수행하기전 데이터를 어떻게 가져올 건지에 대한 실행계획을 의미하며데이터 performance를 확인 하고자 할때 explain Plan 명령어를 사용한다. 2. 사용방법 2.1 ) SELECT 에서 explain 사용하기select explain을 사용하려면 SELECT 키워드 앞에 explain을 붙여주면된다. 간단하게 user라는 테이블과 author이라는 테이블이 있다라고 할때 두 테이블을 조인한 테이블에 대하여 explain을 주었다. 3. 사용 예시사용한 SQL문SELECT recruitment.id AS recruitment_id, company.name AS company_name, recrui.. 2024. 11. 13. DBMS의 핵심? 옵티마이저 옵티마이저(optimizer)란?옵티마이저는 가장 빠르고 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진이다.엥? 그게 뭔데?DBMS에는 개발자가 작성한 SQL을 어떻게 실행할 것인지실행 계획(Execution Plan)을 수립하고 SQL을 실행하게 되는데, 바로 이 실행 계획을 수립을 옵티마이저가 하게 됩니다.개발자가 작성한 SQL을 실행하면 DBMS에서는 옵티마이저를 기반으로 실행계획을 세워서 쿼리를 실행한다. 쿼리 처리 흐름 개발자가 SQL문을 작성하면Parser에서 개발자가 작성한 SQL문을 문법 검사와 구문 분석을 합니다.옵티마이저는 아래서 설명할 두 방법의 플랜을 생성하고, 카탈로그 매니저에 있는 각종 통계정보를 기반으로 비용을 평가하여 최소 비용의 실행 .. 2024. 11. 6. TCP/IP 4계층 모델 정리 💡 계층 구조TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 계층과 많이 비교합니다. 차이점TCP/IP 계층과 달린 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른 다는 것이 다릅니다. 특징이러한 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계되었습니다.TCP 를 UDP 로 변경하였다고 해서 다른 계층을 변경해야할 필요가 없다는 말입니다. 👉 L4 애플리케이션 계층사용 스택 : HTTP, SSH, DNS, SMTP 등역할 : 응용 프로그램(Application)들끼리 데이터를 교환하기 위한 계층으로, 프로그래밍을 하면서 흔히 접하는 여러 서버나 클라이언.. 2024. 11. 4. 테스트 코드를 작성하며 느낀 필요성 ❓ 테스트 코드를 왜 작성해야할까? 나는 학생 개발자이다. 팀원들과 실제 프로젝트 제작하여 학교 학생들에게 실제 서비스한 경험은 있지만, 아무래도 기업에서 진행하는 프로젝트와는 비교적 규모와, 에러 대응 태도 등에서 차이가 날 수 밖에 없다. 어차피 같은 학교 학생들, 선생님들을 대상으로만 진행한 프로젝트이다 보니, 사용에게 문제가 생기면 바로 옆에 있다 보니 불러서 빠르게 해결 할 수 있었고, 에러에 대한 경각심이 줄어들게 되었다 (굉장히 위험) 이러한 이유들로 그동안 테스트 코드의 필요성에 와닿지 못하였다.그렇기에 새로운 프로젝트에서 공부하여 테스트 코드를 적용하며 느낀 점들을 작성하려 한다 🔎 코드의 변경에 따른 문제 방지를 위해테스트 코드는 회귀 버그를 방지할 수 있다.회귀 버그는 이전에 .. 2024. 10. 30. 이전 1 2 다음