[주니어 백엔드 개발자가 반드시 알아야 할 실무 지식] 01. 들어가며
·
💻 CS/Common | 일반
[주니어 백엔드 개발자가 반드시 알아야 할 실무 지식] 책을 읽으며 장 별 내용을 정리해보려 합니다.일단 오늘은 들어가며! 책의 구성들어가며느려진 서비스, 어디부터 봐야 할까성능의 핵심 지표인 응답 시간과 처리량성능과 관련된 다양한 주제(커넥션 풀, 캐시 등)이를 통해 응답 시간을 낮추고 처리량을 높이는 방법성능을 좌우하는 DB 설계와 쿼리index에 대한 이해조회 성능을 높이기 위한 몇 가지 방법 소개쿼리 타임아웃을 포함한 몇 가지 주의 사항외부 연동이 문제일 때 살펴봐야 할 것들마이크로서비스(MSA)가 증가하는 환경에서 고려해야 할 내용타임아웃, 재시도, 동시 요청 제한, 서킷 브레이커외부 연동과 DB 연동을 함께 할 때 주의할 점비동기 연동, 언제 어떻게 써야 할까비동기 외부 연동을 위한 5가지 방..
[데이터베이스] DB 연결 정보 톺아보기!
·
💻 CS/Database | 데이터베이스
안녕하세요?오늘은 DB 연결 시 흔히 보는 화면에서 설정할 수 있는 옵션들을 톺아보고자 합니다. 여러 DB 클라이언트 중 PGAdmin4를 기준으로 탭 별로 나눠서 톺아볼텐데,탭 이름과 기능 분류는 조금 달라도 내용은 다 비슷하기 때문에 .. 모두 참고하기 좋을 것 같습니다! 1️⃣ General 탭name: 이 서버 연결을 pgAdmin(DB 클라이언트) 안에서 어떤 이름으로 표시할 지 정하는 값실제 DB 서버 이름 자체가 아닌, 보기 편하려고 붙이는 별칭예를 들어 `local-postgres`, `dev-db`, `prod-readonly` 같은 식server group: 이 연결을 어떤 폴더 그룹 아래 넣을 지 정하는 값예를 들어 `Local`, `Dev`, `Prod` 같은 그룹을 만들어 서버들을..
[Tistory] Notion처럼 백틱(``, backtick)으로 인라인 코드 적용하기
·
🔋 etc.
안녕 안녕~ 노션에 주로 정리하던 습관을 가지고 있는 사람으로서티스토리에 작성할때도 백틱으로 위와 같이 인라인 코드를 입력하고 싶었습니다. 그래서 방법을 찾다가 성공해서, 어떻게 변경하는지 공유하고자 글을 씁니다! 😭 초기 상태먼저, 제 티스토리에 적용된 스킨은 hELLO 티스토리 스킨을 소개합니다.hELLO는 2020년 3월 첫 공개 이후 지금에 이르기까지 티스토리에서 많은 블로거분들께 사랑받은 스킨이 되었습니다. 그 결과 가장 영향력 있는 개발자 커뮤니티인 깃허브에서 약 천 개에 달하는 티pronist.tistory.com이 hELLO 티스토리 스킨입니다. 해당 스킨에서 별도의 설정을 하지 않으면위와 같이 백틱으로 아무리 감싸도 백틱 그대로 출력이 되는 것을 볼 수 있습니다. ☝️ 적용 방법1️⃣..
[CS] 개발자 필수지식: 데이터 교환 형식(JSON, XML)
·
💻 CS/Common | 일반
안녕하세요! 오늘은 데이터 교환 형식과 대표적인 데이터 교환 형식인 JSON과 XML,그리고 그 둘의 차이에 대해 알아보겠습니다. 📀 데이터 교환 형식이란?대표적인 데이터 교환 형식인 JSON과 XML에 대해서 설명하기에 앞서, 데이터 교환 형식이 의미하는 바에 대해 먼저 설명하겠습니다. 웹과 어플리케이션 환경에서 서비스는 단독으로 동작하지 않습니다. 프론트엔드는 서버에 데이터를 요청하고, 서버는 데이터베이스나 외부 시스템과 통신하며, 그 결과를 가공해 다시 클라이언트에게 전달해 화면에 띄웁니다. 이처럼 현대의 서비스는 수많은 시스템이 서로 데이터를 주고 받으면서 동작합니다. 이때 서로 다른 시스템 간에 통신을 할 때 중요한 것은, 각기 다른 언어, 프레임워크 등으로 만들어지며 서로 다른 환경에서 실행..
첫 기업 면접 질문들 및 짧은 후기
·
🚶🏻‍♀️ deVlog
- 가장 자신있었던 과목- 컴구랑 운체 과목에서 뭐 배웠냐- RISC CISC 차이- virtual 메모리 를 활용하는 그 프로세스? + 그 가운데 테이블. 뭐랑 뭐가 매핑되어있는거냐- 아 캐시 미스 어떤 종류 있냐 (머시기 캐시미스?에 대해 설명해봐라 ..근데 처음 들어보는 캐시 미스 종류여서 기억 안 남)- sql문 익숙하냐- (아주 기초적인 질문이에요~) DDL DML- 소팅 알고리즘 생각나는 거 말해봐라- 퀵 소트 설명해봐라 - 학교에서 한 프로젝트 외에 따로 진행한 프로젝트 있냐- 데이터를 어디에 어떤 식으로 적재하고- ai 모델을 돌린다는게 정확히 어떤 걸 얘기하는거냐- ai 써봤다는게 api 불러서 그 반환된 결과를 쓴거져?- gpt api나 dalle api 썼다고 하면 그 api 내부적..
[풀스택서비스네트워킹] Lecture 2. OSI Architecture (L1~L3) (Part.1)
·
💻 CS/Network | 네트워크
Lecture 2. OSI Architecture (L1~L3) - 0306, 0311 | Notion개요esthrelar.notion.site위의 노션 내용이 방대한 관계로, 두 파트로 나눠 발행하겠습니다.해당 게시글에서는, OSI 7 Layer의 2계층, MAC Layer에 대해 다루고 있습니다. 경희대학교 이성원 교수님의 풀스택 서비스 네트워킹 수업을 듣고 정리한 내용으로, 제가 느끼기에 정리에 편한 말투로 진행됩니다. 이제 OSI 7 Layer의 아래쪽에서 쭉 위로 올라간 다음에 이제 새로운 기술들을 쫙 펼쳐나갈 것.이제 osi 7 레이어 중에서 2 계층, 그리고 3계층에 대해 얘기를 할 것.정보가 가라 그래 가지고 가는 건 아니고, 뭐 무선랜이나 이동통신이나 초고속 인터넷(L2)은 특징이 있고,..
[데이터베이스] 2장. 관계 데이터 모델과 제약 조건
·
💻 CS/Database | 데이터베이스
2장. 관계 데이터 모델과 제약 조건 | Notion이제 관계 데이터 모델로 들어가도록.esthrelar.notion.site 2.1 관계 데이터 모델의 개념 2.2 릴레이션의 특성 2.3 릴레이션의 키릴레이션의 키 : 각 tuple을 고유하게 식별할 수 있는 하나 이상의 attribute들의 모임.키의 종류 - 수퍼키, 후보키, 기본키, 대체키, 외래키.수퍼 키 (super key) : relation key의 정의와 동일예) 주민등록번호만으로도 super key지만, 추가적인 attribute들을 더 가지고 있는 것도 super key.후보 키 (candidate key) : 각 투플을 고유하게 식별하는 최소한의 attribute들의 모임.모든 릴레이션에는 최소한 한 개 이상의 후보 키가 존재함. ..
[데이터베이스] 1장. 데이터베이스 시스템
·
💻 CS/Database | 데이터베이스
1.0 데이터베이스 시스템데이터베이스란, 데이터들이 모여있는 어떤 기지를 의미.데이터베이스 관리 시스템(DBMS)란, 데이터베이스를 관리하는 소프트웨어고.예를 들어, MySQL, Oracle, Maria DB, Postgres SQL 등이 DBMS임. 기존의 DBMS들이 처리하기 어려운 데이터 - 빅데이터 - 가 나옴에 따라서, 새로운 종류의 DBMS들이 나오게 됨.빅데이터의 특성 : 볼륨 : 데이터가 많다다양성 : 비정형적인 데이터들의 등장.실시간성 : 데이터를 엄청 빨리 처리해야 하게 됨. 따라서, NoSQL의 등장.SQL은, 기존의 DBMS들에서 사용하던, 데이터를 처리할 수 있는 언어인데, NoSQL은 Not Only SQL의 약자로서 SQL 뿐만 아니라 뭔가 더 할 수 있어야 함. 그래서 Mon..
[풀스택서비스네트워킹] Lecture 1. OSI Architecture (Overall)
·
💻 CS/Network | 네트워크
Lecture 1. OSI Architecture (Overall) - 0304 | NotionIntroductionesthrelar.notion.site Introduction - Computer Network컴퓨터 네트워크 (네트워크 - 연결되어있다)컴퓨터라고 부르는 device를 연결하는 것.전자과에 개설되는 과목은 커뮤니케이션이라고 함.SNS : 소셜 네트워크수업의 초반부에 해당하는 TCP 라든지 .. 기타 등등은, 이 서버와 멍텅구리 데스크탑.간단한 애들을 연결하는 데서 시작함.하지만 서버들이 엄청 확산되고, 더불어서 스마트폰, 워치, 자동차 , IoT 등등 .. 다 네트워크에 붙게됨. → 과거의 통신 방식에 붙지 않던 디바이스들. 새로운 컴퓨터 device들이 나온 것.⇒ 요구사항이 달라짐...
[Git] Github PR 시 Discord 알림 연동하기
·
🔋 etc.
프로젝트 협업 도구로 디스코드, 노션을 사용 중입니다.프로젝트 초기 세팅 과정에서 Github에서 PR을 보낼 시, 따로 연락을 하지 않아도 바로 확인이 가능하게끔하기 위해 Github와 Discord 웹훅(Webhook) 연결을 진행했습니다. 1. Discord에서 Webhook 생성하기먼저 디스코드에서 웹후크를 생성해줍니다.새 웹후크를 누르면 바로 아래 `Captain Hook`처럼 웹 훅이 하나 생성됩니다. 만약 직접 만든 채널이 아니라면, 웹후크 권한이 없을 수 있습니다.그러면 채널 주인장(..) 분께 이렇게 서버 설정에 들어가서, 역할 > 권한 에서 웹후크 관리하기 권한을 달라고 요청하시면 됩니다! 권한이 잘 설정되었다면,이처럼 채널 편집에 들어가서 위처럼 웹후크 생성을 할 수 있습니다. 그럼 ..
[컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커] 1장. 새로운 인프라 환경이 온다
·
🛠️ Infra
on-premise 환경엔지니어가 개발 환경을 만들어 제공하면 사용자(주로 개발자)가 그에 맞는 도구를 모두 설치해야 했던 환경→ 이제 고전적인 인프라 환경이 되었음.→ 이제는 이미 구성된 환경을 사용자가 필요에 따라 선택하고 조합해서 사용할 수 있게 제공되는 서비스로서의 인프라 환경 (IaaS)이 됨.agile 방법론인프라 환경이 빠르게 갖춰지는 만큼, 소프트웨어도 빠르게 개발하고 적용되길 고대하게 되면서 등장.: 일정 주기를 정한 다음에, 해당 주기에 맞춰 요구 사항을 만족하는 프로토타입을 만들고, 이를 개선해 나가며 최종 목표에 접근하는 방식.↔ 폭포수(waterfall) 방법론계획 단계에서 설계와 환경을 완전히 구비한 후 예정된 목표를 달성해나가는 방식→ 이런 애자일 방법론의 시대에 맞춰,사용자가..
[AWS/S3] Spring Boot 프로젝트에 Presigned Url 적용하기
·
🏄 AWS
이번 프로젝트를 진행하면서, AWS S3 Presigned Url을 스프링 프로젝트에 적용해봤습니다!이전에 진행했던 프로젝트에서, S3을 사용해 본 경험이라고는3D object 파일 업로드 후 url 통해서 오브젝트 불러오기 (프로젝트 내부에 두기에 크기가 너무 커서 github에도 잘 안 올라가고, 배포 시 vercel blob storage 서비스에 올렸었는데 트래픽 한도가 금세 초과되어 S3를 사용했었음)팝업 정보 검색/기록 서비스에서 포스터 이미지 업로드 시 S3 사용하기 -> 같이 프로젝트 한 다른 친구가 모든 세팅을 다 해주고, 나는 되어 있는 거 가져다 사용만 했었음이라 사실상 아무것도 모르는 상태였는데, 이번 기회로 직접 세팅 후 적용까지 해 볼 수 있어서 너무 좋은 경험이었습니다 🤩하지..