🥸 서론 이번 프로젝트를 진행하면서 항상 그렇듯 ERD (Entity Relationship Diagram) 을 작성했습니다. 기존에 제가 사용해왔던 ERD 작성 툴은 2가지가 존재했습니다. ERD Cloud eXERD eXERD 는 유료버전이며, ERD 를 수정 및 보는 사람은 프로그램을 설치 해야한다는 단점이 존재하여 사이트 형식인 ERD Cloud 를 선택했습니다. 하지만 ERD Cloud 에도 단점이 존재했는데요, 바로 회원가입을 해야하고, 사용자 측면에서는 접근성이 떨어진다는 점입니다. 이번 프로젝트는 public 프로젝트이기 때문에 개발자 외에도 ERD 또한 공유하는 것이 목적이었고, 빠른 접근성을 원했습니다. 그렇게 해서 알게 된 다이어그램 mermaid js 에 대해서 공유하려 합니다. 🤪..
😮서론 스택이 필요해서 사용하려고 하던 중 소나린트에서 Stack 대신 Deque를 사용하는게 좋다는 안내가 나왔고, 왜 그런지 알아보려 한다. 😎본론 스택(Stack)이란? - 자료구조의 하나로서 후입선출(Last In First Out)를 의미한다. - 후입선출이란 마지막에 들어온 데이터가 가장 먼저 나가는 방식을 의미한다. - 자바에서는 Stack을 class 형태로 지원해주고 있다. 반대개념 큐(Queue) - Queue의 경우는 선입선출(First In First Out)를 의미한다. - 선입선출이란 처음에 들어온 데이터를 가장 먼저 내보내는 방식을 의미한다. - 자바에서 Queue는 인터페이스로 구현이 되어 있어 보통 LinkedList를 사용해서 구현하곤 한다. 그럼 Deque란? - 자바 ..
🙄서론 Random을 사용하다가 소나큐브에서 Critical 버그가 발생했다. 그 후 알아본 내용을 정리해본다. 😉본론 - 에러 메세지 (번역은 구글번역을 통해 되었기 때문에 오역이 있을 수 있습니다..) "Random" objects should be reused "랜덤" 객체는 재사용되어야 한다. Random 값이 필요할 때마다 새 개체를 만드는 것은 비효율적이며 JDK에 따라 임의의 숫자가 생성되지 않을 수 있습니다. 효율성과 임의성을 높이려면 단일 Random을 만든 다음 저장하고 다시 사용하세요. Random()생성자는 별개의 값마다에 씨앗을 설정하려고 시도합니다. 그러나 시드가 무작위로 또는 균일하게 분포 될 것이라는 보장은 없습니다. 일부 JDK는 현재 시간을 시드로 사용하므로 생성 된 숫자..
😎 서론 사내 모든 프로젝트에서는 데이터베이스에 값을 저장할 때 아이디를 유니크한 값으로 자동생성해주는 로직을 만들어 별도로 태운 후 save()를 하게 된다. 결국 이로 인해 처음 INSERT를 하기 위해서 save를 보낸 모든 데이터 또한 SELECT를 꼭 호출하고, INSERT를 호출하게 되는 문제가 있다. 이는 데이터가 많으면 많을 수록 성능저하에 큰 문제가 있기에 이 로직을 파악하고 성능개선하는 방법을 공유해본다. 😉 본론 ⏳ save() 로직 파악하기. SimpleJpaRepository 클래스에 있는 save()메소드는 아래와 같이 동작을 한다. @Transactional @Override public S save(S entity) { Assert.notNull(entity, "Entity ..
Computer Vision(컴퓨터 비전)?Computer + Vision의 합성어로, 시각 데이터를 처리·이해하는 분야를 뜻한다.카메라와 센서가 인간의 눈 역할을 한다면, 컴퓨터 비전은 이러한 시각 데이터를 처리·해석하는 인지 능력이다.AI가 컴퓨터에 “생각”을 부여한다면,컴퓨터 비전은 컴퓨터가 보고 관찰하며 이해하도록 만드는 기술이라고 할 수 있다.컴퓨터 비전의 주요 과제Classification (이미지 분류)Object Detection (객체 탐지)Image Segmentation (이미지 분할)Semantic SegmentationInstance SegmentationPanoptic Segmentation 1. Classification (이미지 분류)이미지를 클래스(범주)별로 분류하는 작업이..
✨ 서론GitHub 리포가 비공개일 경우, SSH를 추가해 clone 받는 방법을 정리합니다.🫡 본론1. EC2 인스턴스에 SSH 키 생성ssh-keygen -t ed25519 -C "your_email@example.com"2. SSH 에이전트 실행 및 키 추가# SSH 에이전트 시작eval "$(ssh-agent -s)"# SSH 키 추가ssh-add ~/.ssh/id_ed255193. GitHub 공개 키 추가# 공개 키를 출력cat ~/.ssh/id_ed25519.pub위 명령어의 출력값을 복사한 후, GitHub에 로그인하여 아래와 같이 진행합니다.GitHub의 우측 상단에서 Profile Picture를 클릭하고 Settings로 이동.SSH and GPG keys로 이동.New SSH Ke..
저자 :맷 오스왈트 , 제이슨 에델만 , 크리스티안 아델 , 스콧 S. 로우번역 :이주호출간 :2024-08-10페이지 :984 쪽리뷰를 신청할 때 책 제목이 흥미로워서 신청했다.막상 받으니 1000 페이지 가량의 두꺼운 책이라 놀랐지만, 필요한 부분만 골라 읽어봤다. 이 책은, 제목대로 네트워크 엔지니어가 읽으면 도움이 될 만한 내용이었다.백엔드 개발자가 읽기에는 다소 생소한 용어들이 많았지만, 네트워크, 리눅스 역사나 클라우드 개념을 훑어보기엔 재밌었다. 이 책은 정말 많은 걸 담으려고 한 게 느껴졌다.네트워크 엔지니어와 개발자 모두에게 도움이 되고 싶었던 느낌이랄까?기초부터 심화까지 많은 부분을 담으려고 하다보니 1000페이지 가량의 두꺼운 책이 탄생했고, 처음부터 끝까지 보기엔 힘든 책이었다.파..
2023년에 이어 2024년도 한빛미디어의 서평단이 되었다. 감사한 마음을 담아 작년보다 더 나은 리뷰를 쓸 수 있도록 노력해야겠다. 한줄평: 실무에서 사용될 다양한 키워드들을 빠르게 습득할 수 있는 책 책에서 독자 방향을 취준생 ~ 1~2년 차 신입 개발자로 잡았는데, 개인적으로 취준생 ~ 입사 신입 때 읽기 좋은 책이었다. 부제로도 나와있듯 40가지 핵심 기술에 대해서 설명하다보니, 한 기술에 대해 깊이 설명하기 보다는 핵심을 잘 짚어주는 느낌이었다. 이 책에서 좋았던 점은 아래와 같다. 1. 다양한 분야를 설명한다고 해서 결코 깊이가 얕지 않다. 2. 다양한 키워드를 짚어준다. 3. 용어에 대한 설명이 매력적이었다. 1. 다양한 분야를 설명한다고 해서 결코 깊이가 얕지 않다. 핵심적인 키워드들을 잘..