반응형

Back-end 75

URI, URL에 기본 개념 및 URL 문법

김영한님의 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 듣고 작성한 글입니다. URI(Uniform Resource Identifier) URI의 풀네임을 해석하자면, Uniform: 리소스 식별하는 통일된 방식 Resouce : 자원, URI로 식별할 수 있는 모든 것 Identifier : 다른 항목과 구분하는데 필요한 정보 URI : identifier URL : locater - 리소스가 있는 위치를 지정 URN : name - 리소스에 이름을 부여 URL 문법 scheme : //[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com:443/search?q=hello&hl=ko 프로토콜 : https , http,..

Back-end/HTTP 2022.03.21

인터넷 네트워크 용어 간단 정리

인터넷 네트워크에서 자주 나오는 용어들에 대한 정리를 간단히 해봤다. IP (인터넷 계층) - 패킷 단위로 데이터를 전달한다. - 데이터를 전달하기 위한 주소라고 생각하면 된다. - 인터넷 망에다가 내 IP주소, 목적지 IP를 패킷에 넣어서 던지게 되면 목적지에 도달함 - 비연결성 : 목적지에 받아야 하는 IP에서 정상적으로 받은지 확인 못함 (연결에 대한 체킹을 못함) - 비신뢰성 : 내가 던진 패킷을 중간에 사라지거나, 여러개를 순차적으로 보냈는데 순서대로 받은지 알 수 없음 - IP는 어러개의 어플리케이션이 다 같은 IP에서 실행 되기 때문에 어플리케이션 당 구분을 짓기 힘들다. (PORT의 존재 이유) - 패킷 소실 : 클라이언트가 인터넷에 던진 패킷이 소실됨 - 패킷 순서 문제 발생 : 클라이언..

Back-end/HTTP 2022.03.19

[Spring] 인텔리제이(IntelliJ) Preferences 초기 세팅 - IntelliJ에서 빌드하도록 설정방법

인텔리제이에서 Preferences 초기 세팅 방법 1. 왼쪽 상단에 IntelliJ IDEA 클릭> Preferences 클릭 2. gradle 메뉴에 들어가서 아래와 같이 세팅 변경을 합니다. - Build and run using 을 IntelliJ IDEA 로 변경한다. - Run tests using 을 IntelliJ IDEA 로 변경한다. - 이렇게 세팅을 하게되면, gradle로 설정했을 때 보다 빠른 빌드가 가능하다.

Back-end/Spring 2022.03.02

[Spring] Spring 프로젝트 생성(Spring boot)

spring 프로젝트 생성 방법에 대해서 알아보겠습니다. 1. Spring 사이트 접속 : https://start.spring.io 2. spring initializr에서 원하는 옵션을 선택 한 후 generate 클릭 저는 honey라는 이름으로 Gradle Project, Java언어, 스프링부트 2.6.4 버전 선택해서 프로젝트를 생성하겠습니다. 3. generate로 생성된 알집을 풀어줍니다. 4. 인텔리제이를 실행하고 'Open'을 눌러서 프로젝트 실행을 하면됩니다. 5. gradle을 다운로드 하는 것을 확인할 수 있습니다. 6. gradle 다운 완료 후, main>java>hello.honey>HoneyApplication에서 Run 실행 - 실행 완료된 것을 밑에 창에서 확인할 수 있..

Back-end/Spring 2022.03.02

객체 지향 프로그래밍의 꽃 : 다형성 (feat. 역할과 구현)

인프런 김영한 '스프링 핵심 원리' 강의 내용을 정리한 것이고, 디테일한 내용은 강의를 듣는 것을 추천합니다. 객체지향의 꽃은 다형성이라고 생각합니다. 스프링에서 가장 중요하게 사용하고 있는 다형성을 역할과 구현을 통해서 쉽게 요약해봤습니다. 1. 객체지향 프로그래밍의 '지루한' 설명 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) - 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 객체지향 언어의 특징에서의 지루한 설명에는 항상 '유연하고 변경에 용이' 라는 키..

Back-end/Spring 2022.03.02

[Spring] Spring이란 무엇일까?

겨울이 끝나고 봄이 온다(?) 라는 의미로 스프링이 탄생한다. 과거 자바(겨울) - 자바당의 정파 기술은 EJB(Enterprise Java Beas) - 금융권, 아키텍터 들이 많이 사용하고 있었다. - EJB를 가지고 영업을 많이 했었다. - 단점 : 진짜 어렵고 복잡하고 느림 현재 자바(스프링) 스프링이 없던 시절에 좋은 객체 지향을 하려고 OCP, DIP 원칙을 지키면서 개발을 해보니, 너무 할일이 많았다. (배보다 배꼽이 커지는 일 발생함) 그래서 프레임워크로 만든게 스프링 프레임 워크 (👉🏻OCP, DIP 원칙에 대해서 알아보는 글) 1. 스프링 - 로드존스가 만듦(2002) - EJB 컨테이너를 대체함 - BeanFactory, ApplicationContext, POJO, 제어의 역전, 의..

Back-end/Spring 2022.02.28

객체지향 언어 : SOLID

인프런 김영한님 강의를 듣고 정리했습니다. 강의의 내용에 비하면 많이 부족한 내용이지만 복습차원에서 작성했습니다. 객체 지향 언어 특징 SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP 단일 책임 원칙 Single responsibility priciple - 변경이 있을 때 파급효과 적게 하는 것 OCP 개방-폐쇄 원칙 Open/closed principle - 변경은 하지 않고 확장을 하는 방식 LSP 리스코프 치환 원칙 Liskov substitution principle - 인터페이스의 기능을 구현체에도 기능을 맞춰야함 ISP 인터페이스 분리 원칙 Interface segregation principle - 기능에 맞게 클래스를 잘 분리해야한다. DIP ..

Back-end/Spring 2021.11.08

혼자만의 스프링 부트 특징 일기

새로운 프로젝트에서 스프링 부트를 사용한다고 했다. 프로젝트 투입되기 전에 빠르게 공부해야만 했다. 스프링 부트는 뭘까? 스프링은 뭘까? 에 대해서 작성해본다. 스프링에 관한 간단한 인강과 서적들을 통해서 한번 완강/독 을 해봤는데, 쉽지만은 않았다. 스프링 부트 - 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 - 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 - Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 - 손쉬운 빌드 구성을 위한 starter 종속성 제공 - 스프링과 3rd parth(외부) 라이브러리 자동 구성 - 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공 - 관례에 의한 간결한 설정 스프링 부트가 무슨 언어인줄 ..

Back-end/Spring 2021.11.08

[Spring] 스프링부트 테스트 케이스 실행하는 법(IntelliJ)

Member Repository 클래스를 만들고, 변수와 메서드를 구현했다. 해당 클래스가 잘 만들었는지 테스트를 해보기 위해서, 테스트 케이스를 만들어 실행해보자. 1. MemoryMemberRepository 클래스 구현 먼저, 클래스를 구현해야한다. Member에 관한 정보들을 담아 두는 클래스를 만들어 보자. MemoryMemberRepository public class MemoryMemberRepository implements MemberRepository{ private static Map store = new HashMap(); private static long sequence = 0L; @Override public Member save(Member member) { member.se..

Back-end/Spring 2021.10.27
반응형