공부/CS 기초이론 (14) 썸네일형 리스트형 소수점 표현시 주의점과 Java의 BigDecimal 사용 컴퓨터는 2진수를 사용하기때문에 소수점을 표현하는데는 한계가 있고 오차가 발생한다. 돈과 관련된 도메인에서는 이는 매우 치명적이며 주의해야한다. public class Test { public static void main(String[] args) { double a = 0.1; double b = 0.2; double c = 0.3; System.out.println(a + b); System.out.println(a + b == c); } } 0.30000000000000004 false 정확한 소수점 계산들을 사용하기 위해서는 각 언어에서는 이를 지원해주는 라이브러리들이 있다. - Java : math.BigDecimal - JS : Big.js 라이브러리 - python : import deci.. [JAVA / Spring] DI의 구현 방법 DI(Dependency Injection)을 구현하는 방법에는 아래의 3가지 방법이 있다. 1. Field Injection 2. Setter Injection 3. Constructor Injection 1. Field Injection(필드 주입) @Service public class ExampleServiceImpl implements ExampleService { @Autowired private SampleService sampleService; @Override public void exampleMethod() { sampleservice.sampleMethod(); } } 변수 선언부에 @Autowired 어노테이션을 붙인다. 2. Setter Injection @Service publi.. [Web] REST API 규칙 REST API 규칙 URL Rules 1. 마지막에 "/"를 붙이지 않는다. http://www.example.com/api/products/ (X) http://www.example.com/api/product (O) 2. 소문자를 사용한다. http://www.example.com/api/Users/UserLogin (X) http://www.example.com/api/users/userlogin (O) 3. '_' 대신 '-'를 사용한다. http://www.example.com/api/users/user_profiles (X) http://www.example.com/api/users/user-profiles (O) 4. 컨트롤 자원을 의미하는 동사는 사용할 수 있다. http://www.ex.. [Web] URI, URN, URL 구분하기 URI URI (Uniform Resource Identifier) 는 URL (Uniform Resource Location)과 URN (Uniform Resource Name)의 상위 개념이다. URI ⊃ URL, URN URI 는 HTTP에서 리소스 식별을 위한 것이다. URN 과 URL URN (Uniform Resource Name) - URN은 특정 네임 스페이스에서 이름으로 리소스를 식별하는 URI이다. 예시 : urn:isbn:{ISBN 숫자} urn:uuid:{범용 고유 식별자} 인터넷 상에서 어떤 자원을 식별할 때 사용하며, 다양한 분야에서 이용하고 국제적으로 표준화 되어있다. URL (Uniform Resource Location) URL의 구성 protocol - 일반적으로 웹은 h.. [Web] REST에 대해 간단 정리 REST란 - Representational State Transfer의 약자로, API 작동 방식에 조건을 거는 소프트웨어 아키텍처이다. - REST는 통신을 관리하기 위한 지침으로 만들어졌다. - REST 아키텍처 스타일을 따르는 API를 REST API 라고 한다. - REST 아키텍처를 구현하는 웹서비스를 RESTful API라고 한다. - RESTful API는 시스템끼리 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다. - REST API와 RESTful API의 차이는 REST 규칙을 더 잘지켰을 때 RESTful API 라고 한다. REST 아키텍처 스타일의 원칙 - 균일한 인터페이스 - 무상태 무상태(Stateless)란? 클라이언트-서버 관계에서 서버가 클라이언트의 상태를 보존하지.. [Web] HTTP Method HTTP Method는 클라이언트와 서버 사이간 요청과 응답 데이터를 송수신하기 위해 약속해놓은 수단이다. HTTP Method 의 종류 - GET - POST - HEAD - PUT - DELETE - OPTIONS - CONNECT - TRACE GET Method 데이터 요청시 사용 - URL에 쿼리 스트링을 붙여 전송한다. - 캐시됨 (같은 데이터 요청 시 캐시에 저장한 값을 사용해 속도 향상) - 브라우저 기록에 남음 - URL에 정보가 담기기 때문에 민감한 정보를 사용하면 안된다 - 길이 제한이 있다. (URL 길이는 브라우저 마다 다르나 약 2천자까지) - 일반적으로 데이터 요청시에만 사용한다. POST Method 리소스 생성/업데이트시 사용 - 캐시되지 않음 - 브라우저 기록에 남지 않음.. [JAVA / Spring] Controller, Service, Repository 스프링에서는 일반적으로 MVC(Model - View -Controller) 패턴을 사용한다. MVC패턴을 사용함으로 사용자의 인터페이스로부터 비지니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. 즉, 서로 분리되었기 때문에 각각의 역할에 집중하여 개발할 수 있음을 의미한다. MVC에서의 각각의 역할은 다음과 같다. Model - 어플리케이션이 어떤 일을 해야할지 정의한다. 데이터베이스와 연결하여 사용자에게 입출력하게 될 데이터를 다룬다. View - 사용자들이 시각적으로 보는 부분이다. Controller - 사용자들이 보는 페이지와 데이터처리 중간에서 제어자의 역할을 한다. 그리고 스프링에서는 하나.. [JAVA / Spring] Entity, DTO, VO Entity - 비지니스 로직과 데이터베이스를 연결하는 역할로, 데이터의 저장 및 검색을 위해 사용한다. public class EntityExample { private Long id; private String name; private Integer age; public EntityExample(Long id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } public Long getId() { return id; } public String getName() { return name; } public Integer getAge() { return age; } public void setAge(Integer .. 이전 1 2 다음