인기 글

Tools

[mermaid-js] 다이어그램을 markdown으로 쉽게. GitHub으로 간편하게.

🥸 서론 이번 프로젝트를 진행하면서 항상 그렇듯 ERD (Entity Relationship Diagram) 을 작성했습니다. 기존에 제가 사용해왔던 ERD 작성 툴은 2가지가 존재했습니다. ERD Cloud eXERD eXERD 는 유료버전이며, ERD 를 수정 및 보는 사람은 프로그램을 설치 해야한다는 단점이 존재하여 사이트 형식인 ERD Cloud 를 선택했습니다. 하지만 ERD Cloud 에도 단점이 존재했는데요, 바로 회원가입을 해야하고, 사용자 측면에서는 접근성이 떨어진다는 점입니다. 이번 프로젝트는 public 프로젝트이기 때문에 개발자 외에도 ERD 또한 공유하는 것이 목적이었고, 빠른 접근성을 원했습니다. 그렇게 해서 알게 된 다이어그램 mermaid js 에 대해서 공유하려 합니다. 🤪..

Java

[Java] Random보단 SecureRandom 를 사용하자.

🙄서론 Random을 사용하다가 소나큐브에서 Critical 버그가 발생했다. 그 후 알아본 내용을 정리해본다. 😉본론 - 에러 메세지 (번역은 구글번역을 통해 되었기 때문에 오역이 있을 수 있습니다..) "Random" objects should be reused "랜덤" 객체는 재사용되어야 한다. Random 값이 필요할 때마다 새 개체를 만드는 것은 비효율적이며 JDK에 따라 임의의 숫자가 생성되지 않을 수 있습니다. 효율성과 임의성을 높이려면 단일 Random을 만든 다음 저장하고 다시 사용하세요. Random()생성자는 별개의 값마다에 씨앗을 설정하려고 시도합니다. 그러나 시드가 무작위로 또는 균일하게 분포 될 것이라는 보장은 없습니다. 일부 JDK는 현재 시간을 시드로 사용하므로 생성 된 숫자..

Java

[Java] Optional – orElse() vs orElseGet() 차이점 알고 쓰자.

* 2022.03.01 내용 수정 - orElse() 를 사용하는 경우 추가 - orElse() orElseGet() 작동원리 수정 😉서론 자바 8부터 지원하게 된 optional은 NullPointerException 에 대한 문제를 해결하기 위해 나왔습니다. 하지만 그런데도 null이 발생할 수 있고, null 체크를 해야만 하는 경우가 빈번합니다. 그러므로 null일 시 default 값을 넣어줄 수 있는데 그중에서 orElse()와 orElseGet() 이 존재합니다. 이를 그냥 이것저것 사용할 수도 있지만, 알고 쓰는 것과 모르고 쓰는 것은 천지 차이기 때문에 한 번 정리해보았습니다. 🤔둘의 차이? public T orElse(T other) public T orElseGet(Supplier

나는리뷰어다2023

보이지 않는 위협 - 사이버 보안

23년 8월 출간된 즉 한 달전에 나온 책인 만큼 코로나, 비트코인, 러시아와 우크라이나 전쟁, CHAT GPT 등 최신 이슈를 소재로 하여 책을 풀어가는 게 책 읽는 내내 흥미를 자극시켰다. 저자가 실리콘밸리와 한국을 넘나들며 다양한 경험을 한 만큼 두 나라의 사이버 범죄의 실제 사례들을 번갈아가며 이야기해준다. 미국 사례들을 통해 왜 미국이 IT 강국이고, 미국 대통령들이 사이버 보안 지원에 아낌없이 하는지를 설명하는 반면, 우리나라 사례들을 통해 숨기기 바쁜 정치적 문제, 의사결정, 수평적인 보고 체계, 책임회피를 위한 증거임멸 등 아쉬운 대처에 대한 사례들을 통해 아쉬운 경험들을 설명하면서 잘못된 점을 짚어주는 게 우리나라 발전을 위한 따끔한 쓴소리로 느껴졌다. 현대에 들어서 모든 것들이 컴퓨터이..

최신 글

AI

컴퓨터 비전이란? 주요 개념과 과제 정리

Computer Vision(컴퓨터 비전)?Computer + Vision의 합성어로, 시각 데이터를 처리·이해하는 분야를 뜻한다.카메라와 센서가 인간의 눈 역할을 한다면, 컴퓨터 비전은 이러한 시각 데이터를 처리·해석하는 인지 능력이다.AI가 컴퓨터에 “생각”을 부여한다면,컴퓨터 비전은 컴퓨터가 보고 관찰하며 이해하도록 만드는 기술이라고 할 수 있다.컴퓨터 비전의 주요 과제Classification (이미지 분류)Object Detection (객체 탐지)Image Segmentation (이미지 분할)Semantic SegmentationInstance SegmentationPanoptic Segmentation 1. Classification (이미지 분류)이미지를 클래스(범주)별로 분류하는 작업이..

DevOps

비공개 Github Repository SSH로 clone

✨ 서론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..

나는리뷰어다2024

네트워크 인프라 자동화 리뷰

저자 :맷 오스왈트 , 제이슨 에델만 , 크리스티안 아델 , 스콧 S. 로우번역 :이주호출간 :2024-08-10페이지 :984 쪽리뷰를 신청할 때 책 제목이 흥미로워서 신청했다.막상 받으니 1000 페이지 가량의 두꺼운 책이라 놀랐지만, 필요한 부분만 골라 읽어봤다. 이 책은, 제목대로 네트워크 엔지니어가 읽으면 도움이 될 만한 내용이었다.백엔드 개발자가 읽기에는 다소 생소한 용어들이 많았지만, 네트워크, 리눅스 역사나 클라우드 개념을 훑어보기엔 재밌었다.  이 책은 정말 많은 걸 담으려고 한 게 느껴졌다.네트워크 엔지니어와 개발자 모두에게 도움이 되고 싶었던 느낌이랄까?기초부터 심화까지 많은 부분을 담으려고 하다보니 1000페이지 가량의 두꺼운 책이 탄생했고, 처음부터 끝까지 보기엔 힘든 책이었다.파..

나는리뷰어다2024

개발자를 위한 최소한의 실무 지식 (리뷰)

2023년에 이어 2024년도 한빛미디어의 서평단이 되었다. 감사한 마음을 담아 작년보다 더 나은 리뷰를 쓸 수 있도록 노력해야겠다. 한줄평: 실무에서 사용될 다양한 키워드들을 빠르게 습득할 수 있는 책 책에서 독자 방향을 취준생 ~ 1~2년 차 신입 개발자로 잡았는데, 개인적으로 취준생 ~ 입사 신입 때 읽기 좋은 책이었다. 부제로도 나와있듯 40가지 핵심 기술에 대해서 설명하다보니, 한 기술에 대해 깊이 설명하기 보다는 핵심을 잘 짚어주는 느낌이었다. 이 책에서 좋았던 점은 아래와 같다. 1. 다양한 분야를 설명한다고 해서 결코 깊이가 얕지 않다. 2. 다양한 키워드를 짚어준다. 3. 용어에 대한 설명이 매력적이었다. 1. 다양한 분야를 설명한다고 해서 결코 깊이가 얕지 않다. 핵심적인 키워드들을 잘..

Hyo Kim
일단은 내 이야기