반응형

전체 글 88

옵저버 패턴(Observer Pattern)

옵저버 패턴이란? 옵저버 패턴은 신문사와 정기구독자로 이루어지는 신문 구독 서비스에 비유해서 생각하면 됩니다. 즉 옵저버 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신이되는 방식으로 일대다(one-to-many)의존성을 정의합니다. HeadFirst Design Pattern의 예제를 보면 다음과 같이 WeatherData 객체의 상태가 바뀔때 마다 n개의 디스플레이에 업데이트를 시켜주어야 하는 상황을 확인할 수 있습니다. public class WeatherData { private float temperature; private float humidity; private float pressure; public WeatherData(){} p..

Design Pattern 2022.03.14

React Hook을 이용해 API fetch 및 적용 과정에서 발생한 문제 해결

리액트 사용중에 페이지가 렌더링되기 이전에 서버에서 얻은 데이터를 활용해서 페이지를 보여줘야 하는 경우가 생겼습니다. 처음부터 제대로 리액트를 공부하지 않고 실제로 만들어보면서 모르는 것이 있을때 마다 구글에 물어봐서 사용하였습니다. 빠른 시간안에 결과물이 나와야 하는 상황이라 거의 무지성으로 리액트를 시작하게 되었는데요. 프로젝트가 마무리되면 다시한번 제대로 공부해 봐야겠다고 생각했습니다. 우선 제가 구현하고 싶었던 최종 결과는 다음과 같습니다. 페이지를 새로고침 할 때 마다 서버에 api를 요청하여 화면에 뿌려주고 이메일, 매출액, 영업이익, 당기순이익, 기준일자는 onChange를 적용하여 수정이 가능해야 했습니다. useState와 useEffect 활용하기 처음에는 api response를 단순..

React 2022.02.18

React에서 DevExpress를 이용해 Grid Table 생성하기

Typescript와 React로 개발을 하던 도중 Grid Table을 구현해야 할 일이 생겨서 이곳저곳 찾아보다가 오픈소스 DevExpress Grid를 알게 되었습니다. Grid 오픈 소스 종류는 많지만 Typescript로 작업 중이여서 이 라이브러리를 쓰게 되었습니다. 우선 React에서 기본적으로 react-table을 가지고 테이블을 만들 수 있습니다. 한번쯤은 react-table을 이용하여 만들어 보았는 것이 좋을것 같아 사용해봤는데, 내가 느낀 장점??은 Customizing 하기에는 유용할 것 같다. 단점은 한번더 하라면 정중히 거절할것 같다.(물론 어쩔수 없이 하겠지만...) 그래서 이번 포스트에서는 쉬운방법인 DevExpress 오픈소스 라이브러리를 이용하여 Grid 레이아웃으로 ..

React 2022.02.15

Spring Security를 이용한 JWT 인증(1)

웹개발을 할 경우 무조건 처리해야 하는 부분인 회원가입/로그인 인데요. 오늘은 Spring Security를 이용하여 JWT를 생성하고 사용자 인증 처리에 대해 알아보도록 하겠습니다. 회원가입과 로그인의 자세한 내용은 Spring RESTful 회원가입/로그인에서 확인할 수 있습니다. [ Spring Security란? ] Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. Spring Security는 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리하고 있습니다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispat..

Java & Spring 2022.02.09

Spring Data JPA

안녕하세요! Spring Boot로 개발하다보면 DB를 필연적으로 마주치게 됩니다. Spring에서 기본 데이터 저장소의 특수 특성을 유지하면서 데이터 액세스를 위해 Spring Data를 제공하고 있으며 안에는 다양한 모듈이 있습니다. 오늘은 이중에서도 가장 자주 등장하는 Spring Data JPA에 대해 간단히 알아보도록 하겠습니다. (JPA 자체만으로도 양이 방대하기 때문에 극히 일부분만 다루고, 다양한 쿼리 방법에 대해 자세히 설명하도록 하겠습니다.) JPA 란 JPA(Java Persistence API)란 DB 테이블과 자바 객체 사이의 매핑을 처리해주는 ORM이라는 기술의 표준입니다. JPA가 제공하는 API를 사용하면 객체를 DB에 저장하고 관리할 때, 개발자가 직접 SQL을 작성하지 않..

XML vs JSON vs YAML

안녕하세요! 프로그램을 개발하다 보면 .xml, .yml, .json 과 같은 파일들을 많이 발견할 수 있습니다. 그래서 오늘은 XML과 YAML(yml), Json이 각각 사용되는 곳을 알아보고 마지막으로 각각의 사용 방법에 대해 알아보도록 하겠습니다. 1. XML XML은 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어입니다. XML은 EXtensible Markup Language의 약자로, 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡고 있습니다. 우리는 기본적으로 Markup Language로 HTML을 떠올릴수 있습니다. XML의 구조는 HTML과 매우 유사하지만 큰 차이점이 존재합니다. 예를 들면 HTML에서는 미리 약속된 태그..

Dev 2022.02.07

API 설계

안녕하세요! 백앤드 개발을 할때 API설계는 가장 먼저 나와야 하는 필수 요소라고 할 수 있습니다. 오늘은 처음 API를 설계 하면서 발생 했던 문제점과 해결, 그리고 아쉬운점에 대해 정리해보는 시간을 가져보도록 하겠습니다. 1. API란 API란 (Application Programming Interface)약자로 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말합니다. 2. REST API vs SOAP API (1) REST API(Representational State Transfer) REST(Representational State Transfer)는 네트워크를 통해서 컴퓨터들끼리 통신할 수 있게 해주는 아키텍처 스타일입..

Dev 2022.02.07

Spring vs Spring Boot

안녕하세요. 첫 글로 만나뵙는 내용은 "Spring vs Spring Boot" 입니다. Spring Boot로 처음 Backend 개발을 하면서 Spring이라는 거대한 생태계를 이해하지 못한 채 빠르게 프로젝트를 진행하였습니다. 대부분 서칭을 해보면 단순히 Spring Boot가 개발하는데 편리하다., 의존성을 자동으로 주입해준다. 는 등의 내용을 찾아볼 수 있습니다. 그래서 오늘은 Spring vs Spring Boot에 대해 알아보도록 하겠습니다. 1. Spring Spring이란, java 애플리케이션 개발을 위한 전반적인 인프라를 제공해주는 framework입니다. Spring Framework (1) Spring Container Spring framework의 핵식으로 IoC규칙에 의해 애..

Java & Spring 2022.02.07
반응형