[디자인 패턴의 아름다움] 3. 설계 원칙1) 단일 책임 원칙클래스와 모듈은 하나의 책임 또는 기능만을 가지고 있어야 한다. 즉, 거대하고 포괄적인 클래스를 설계하는 대신, 작은 단위와 단일 기능을 가진 클래스를 설계해야 한다. 예progfrog.tistory.com✍️ 개요SOLID란, 객체 지향 프로그래밍을 하면서 지켜야 하는 5대 원칙으로 각각 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)의 앞글자를 따서 만들어졌다. SOLID 원칙을 지키면 시간이 지나도 변경이 용이하고, 유지보수와 확장이 쉬운 소프트웨어를 개발하는데 도움이 되는 것으로 알려져 있다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목..
📢 안내강의 관련 게시물은 현재 비공개 상태입니다.섹션 0. 소개강의 소개 & 강의 자료 모든 개발자를 위한 HTTP 웹 기본 지식 | 김영한 - 인프런김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연www.inflearn.com 섹션 1. 인터넷 네트워크인터넷 통신IP(인터넷 프로토콜)PORTDNS👉 https://progfrog.tistory.com/84 섹션 2. URI와 웹 브라우저 요청 흐름URI웹 브라우저 요청 흐름👉 https://progfrog.tistory.com/85 섹션 3. HTTP모든 것이 HTTP클라이언트 서버 구조S..
해당 게시글은 모든 개발자를 위한 HTTP 웹 기본 지식을 수강하며 정리한 내용입니다. 🚀 HTTP 상태코드 소개클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능1xx(Informational): 요청이 수신되어 처리 중2xx(Successful): 요청 정상 처리3xx(Redirection): 요청을 완료하려면 추가 행동이 필요4xx(Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음5xx(Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 만약, 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다면? 👉 클라이언트는 상위 상태코드로 해석해서 처리한다. ex) 299 ▶ 2xx로 생각하고 처리한다. 🚀 1xx - 요청이 수신..
👉 이전글 [도커] 어바웃 가상화 그리고 도커 핵심 정리0. 강추 추천 강의 개발자를 위한 쉬운 도커 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다.progfrog.tistory.com 📌 명령어 정리# 컨테이너에 명령 실행하기docker exec -it postgres /bin/bash# 클라이언트, 서버 버전 및 상태 확인docker version# 플러그인, 시스템 상세 정보 확인docker info# 메뉴얼 확인docker --help# 컨테이너 실행docker run -p 80:80 --name hellonginx nginx# 컨테이너 삭제docker rm hellonginx# 실행 중인 컨테이..
0. 강추 추천 강의 개발자를 위한 쉬운 도커 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근www.inflearn.com 1. 가상화 기술컴퓨터 안에서 또 컴퓨터를 실행하는 기술물리적인 컴퓨팅 환경 내부에서 논리적인 컴퓨팅 환경을 만들 수 있는 기술 가상현실은 실제로 존재하는 현실은 아니지만, 마치 존재하는 것처럼 느껴지고가상 화폐 역시 실제로 눈으로 볼 수 있는 화폐는 아니지만 물건을 구입하는 등 화폐 역할을 수행하는 것처럼가상화 기술은 마치 컴퓨터가 있는 것처럼 만들어주는 기술..! 2. 엔터프라이즈 서버 운영 방식 3가지👉 베어메탈, 하이..
4월에는 퇴사를 했고, 게임 업계에서 서비스 업계로 도메인을 변경해서 이직을 준비하는 과정에서 많은 고민이 들었다. 물론 고민을 하기만 하면 해결이 되는 것이 없다는 것을 알기에 가장 먼저 떠올린 것은 '급할 때 일 수록 기본으로 돌아가자'였다. 가고 싶은 회사들을 살펴보면서 기술 스택들을 확인하고, 그에 맞춰 강의를 듣고, 공부하고, 간단한 프로젝트들을 통해 실습했다. 사실 '백엔드 개발'이라는 결은 같기에, 지금껏 해왔던 업무들과 경험들이 많은 도움이 되었다. 그래도 나름 중견에서 구른 짬밥이 있다 이 말이야~!~! 그 외에도 하루 루틴이 망가지지 않도록 평소 출근 시간에 일어나고, 건강을 위해 삼시 세 끼를 챙겨 먹고, 회사 복지로 누리던 헬스장도 사비로 등록(ㅠㅠ)해서 근손실을 최소화(?)하려고..
📢 안내강의 관련 게시물은 현재 비공개 상태입니다.실습 프로젝트https://github.com/happyprogfrog/jpastudy 섹션 0. 소개강의 소개 & 강의 자료 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 | 김영한 - 인프런김영한 | 스프링 부트와 JPA를 활용해서 API를 개발합니다. 그리고 JPA 극한의 성능 최적화 방법을 학습할 수 있습니다., 스프링 부트, 실무에서 잘 쓰고 싶다면? 복잡한 문제까지 해결하는 힘을 길www.inflearn.com 섹션 1. API 개발 기본1. 회원 등록 API2. 회원 수정 API3. 회원 조회 API👉 https://progfrog.tistory.com/71 섹션 2. API 개발 고급 - 준비1. API 개발 고급 ..
이전글 [JPA] JPQL ①📢 안내해당 글은김영한 님의 JPA 프로그래밍 [8장 프록시와 연관관계 관리, 10장 객체지향 쿼리 언어] 중 일부를 발췌하여 정리한 것입니다. JPQL(Java Persistence Query Language)JPQL은 객체지향 쿼리progfrog.tistory.com 페치 조인(Fetch Join)페치 조인은 SQL에서 이야기하는 조인의 종류는 아니고, JPQL에서 성능 최적화를 위해 제공하는 기능이다.연관된 엔티티나 컬렉션을 한 번에 같이 조회하는 기능인데, JOIN FETCH 명령어로 사용할 수 있다. 엔티티 페치 조인SELECT m FROM Member m JOIN FETCH m.team회원(m)과 팀(m.team)을 함께 조회한다.일반적인 JPQL 조인과는 다르게..
📢 안내해당 글은김영한 님의 JPA 프로그래밍 [8장 프록시와 연관관계 관리, 10장 객체지향 쿼리 언어] 중 일부를 발췌하여 정리한 것입니다. JPQL(Java Persistence Query Language)JPQL은 객체지향 쿼리 언어이며, 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리JPQL은 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다.JPQL은 결국 SQL로 변환된다. 기본 문법과 쿼리 APISELECT문SELECT m FROM Member AS m WHERE m.username = 'Hello'대소문자 구분엔티티와 속성은 대소문자를 구분한다.SELECT, FROM, AS, WHERE 같은 JPQL 키워드는 대소문자를 구분하지 않는다.엔티티 이름JPQL..
조인(JOIN)하나의 테이블에 원하는 데이터가 모두 있으면 좋겠지만, 두 개 이상의 테이블을 엮어야 원하는 결과가 나오는 경우도 많다.일반적으로 관계형 데이터베이스에서는 여러 테이블에 데이터가 분산되어 있고, 이러한 데이터를 효과적으로 검색하고 조작하기 위해 조인을 사용한다. 내부 조인(INNER JOIN)과 외부 조인(OUTER JOIN)내부 조인(INNER JOIN)두 테이블 간의 일치하는 행만 반환하는 조인이다. 즉, 조인 조건에 맞는 데이터만 결과에 포함된다.가장 일반적으로 사용되는 조인!외부 조인(OUTER JOIN)두 테이블을 조인할 때, 한쪽 테이블에 해당 데이터가 없어도 조인 결과에 포함시킨다.LEFT OUTER JOIN왼쪽 테이블을 기준으로 우측 테이블과 조인하여 일치하는 값이 없어도 왼..