본문 바로가기

분류 전체보기77

[백준 / Java] 2477. 참외밭 문제 풀이1. 클래스, 변수 선언 및 입력 받기Line이라는 클래스를 선언해줍니다.Line 클래스에는 선의 길이와 방향이 들어갑니다. static ArrayList lines; static class Line { int len; int direction; Line(int direction, int len) { this.len = len; this.direction = direction; } } K = Integer.parseInt(br.readLine()); for(int i=0; i 2. 가로, 세로에서 가장 긴 변 구하기입력으로 들어오는 도형은 항상 ㄱ 을 회전시킨 모양이므로, 큰 직사각형에서 작은 직사각형이 빠진 모양입니다.따라서 큰 직사각형의.. 2024. 5. 28.
Beyond SW 7기 2주차 회고록 부제: 난 대학시절 블로그를 전공했단 사아실벌써 2주차가 끝났다니.. 시간이 어떻게 가는건지 모르겠을 정도로 빠르게 지나가는 것 같습니다.2주차 회고록 시작합니다!🍀 좋았던 점레디스 배우면서 기존 프로젝트에 적용할 포인트를 생각한 점레디스를 배우면서 제가 하고 있는 프로젝트에 적용할 포인트가 많다고 느꼈습니다.수업에서 들은 내용들을 앞으로 제 프로젝트에 반영해 보려고합니다.레디스로 재고 관리: 현재 제 프젝에서는 재고를 그냥 MariaDB에 저장해놓고 있습니다. (MVCC니까 트랜잭션 걸고 동시에 업데이트하면 나중에 고친애가 롤백되니까 그냥 놔둔 상태입니다.) 하지만 레디스로 재고관리를 하는게 훨씬 성능이 좋고 거의 동시에 주문을 해도 하나가 롤백되는 경우가 없으니 사용자 경험에도 더 좋을 것 같아 레.. 2024. 5. 26.
[Beyond SW / 7일차 복습 - 2] 정규형, DB Dump 실습 정규화정규화란 관계형 스키마를 더 좋은 구조로 정제해 나가는 과정입니다.이 포스트에서는 1, 2, 3차 정규형에 대해서만 다뤄보고자 합니다.  1차 정규화(도메인 분해)모든 컬럼이 하나의 값만 갖도록 데이터베이스가 설계되어 있다면, 그 설계는 1차 정규형이라고 합니다.즉 아래와 같은 설계는 1차 정규화가 되지 않은 것입니다.사진 출처: https://www.youtube.com/watch?v=FYDHJbIwm5Y이런 경우, topic 테이블과 tag 테이블을 따로 분리하고, topic과 tag 사이에 정션 테이블(교차 테이블)을 추가해줌으로써 하나의 컬럼이 하나의 값만 가지도록 풀어줄 수 있습니다.  2차 정규화(부분 종속 제거)기본키가 아닌 모든 속성이 기본키에 완전 함수 종속된 상태를 의미합니다.즉,.. 2024. 5. 26.
[Beyond SW / 7일차 복습 - 1] 데이터모델링 데이터모델링데이터 모델링이란 구축할 DB 구조를 약속된 표기법에 의해 표현하고 설계해 나가는 과정을 의미합니다.데이터모델링의 단계개념적 데이터 모델링논리적 데이터 모델링물리적 데이터 모델링개념적 데이터 모델링다이어그램을 통해 데이터베이스 구조를 시각화이 단계는 추상화된 DB 구조를 그리는 것이므로 생략이 가능합니다.사각형: 엔터티원: 속성마름모: 관계논리적 데이터 모델링구체적으로 데이터베이스를 설계합니다.각 데이터의 타입, 관계, key 등을 지정합니다.erd cloud, draw.io, mysql 워크벤치 등의 툴을 써서 ERD를 그릴 수 있습니다.엔터티: (엄밀히 말하면 다르지만,) DB의 한 테이블을 엔터티라고 생각하면 됩니다.ERD: 엔터티 간의 관계를 표현하는 다이어그램입니다.DB 설계에서 가장.. 2024. 5. 22.
Beyond SW 7기 1주차 회고록 부제: 전공자가 MariaDB에 enum타입이 있다는 것을 처음 알았다면 믿으시겠나요..Beyond SW 7기 1주차가 끝났습니다.입과 인터뷰한게 엊그제 같은데 시간이 정말 빠르네요.그럼 1주차 회고록 시작합니다!🍀 좋았던 점Beyond SW 캠프에 대해대면 부트캠프인 것이게 정말 큰 장점인 것 같습니다.아직 질문을 드린 적은 없기는 하지만 질문도 바로바로 드릴 수가 있고, 실습 중에 뭔가 이슈가 생기면 강사님께서 엄청 잘 도와주셔서 모든 수강생이 진도를 잘 따라올 수 있습니다.그리고 확실히 대면이다 보니, 같은 기수분들과 빨리 친해질 수 있는 것 같습니다.아직 1주차라 조용한 편이긴 하지만, 다음주? 다다음주?에 첫 팀플이 시작되면 다른 분들과 더 많이 얘기하고 더 많이 친해질 수 있을 것 같습니다... 2024. 5. 19.
[DBMS] 트랜잭션 격리 레벨(isolation level) 트랜잭션 격리 레벨이란?트랜잭션 격리 레벨(isolation level)이란 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것입니다.즉 다르게 말하면 ⭐️여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것입니다.트랜잭션의 격리 수준에는 아래 4가지가 있습니다.READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSERIALIZABLE아래로 갈수록 트랜잭션 간의 고립 정도가 높아지고 성능이 떨어집니다.일반적으로 READ COMMITED나 REPEATABLE READ 중 하나를 사용한다고 합니다.(대표적으로 mysql, mariadb는 REPEATABLE.. 2024. 5. 18.