분류 전체보기
-
고급 객체지향 프로그래밍(1)객체지향 2020. 1. 17. 21:14
객체지향의 개념을 배워보기에 앞서 객체지향 프로그래밍이 어떻게 생겨나게 되었고 이를 왜 사용하는지에 대해서 알아보자 1.1. 소프트웨어 위기와 객체 기술 소프트웨어 위기는 소프트웨어 기술 발전 속도가 컴퓨터 하드웨어 기술 발전 속도보다 뒤떨어짐으로써 발생되는 문제이다. 즉, 하드웨어 품질은 좋아지면서 가격은 성능대비 낮아지고 있는데, 소프트웨어는 품질이 크게 개선되지 않으면서 오히려 개발 및 운영 비용은 증가하고 있다는 것이다. 소프트웨어 위기의 두가지 원인은 점점 증가하는 소프트웨어 복잡도와 높은 비용이다. 소프트웨어의 개발 요구사항은 복잡해져 가는데, 이 복잡도를 효과적으로 해결할 수 있는 기술이 크게 발전하지 못하면서, 개발 및 운영 비용이 증가하는 것이다. 소프트웨어 위기 문제를 해소하기 위해 개..
-
Lombok 이란CS 지식 2019. 12. 26. 21:46
Lombok 자바 개발자라면 누구나 경험 했을 것이다. 간단한 Class 하나 만드는데 VO, DTO, Entity등의 Class을 만들 때 getter/setter 함수 등을 기계적으로 생성해줘야했다. public class UserVo { private String name; private int age; private String data; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getData()..
-
[SpringBoot] 스프링 시큐리티 적용하기Spring 2019. 12. 24. 11:15
개요 토이 프로젝트를 진행하면서 사용자 권한 관리 기능을 맡게 되었다. 팀원들과 기획을 하는 중에 스프링 시큐리티를 사용하면 사용자 권한 관리 및 보안 등을 별도의 복잡한 로직 없이 간단한 설정으로 빠르게 구현할 수 있다고 하여 이번 프로젝트에 적용해 보았다. 1. pom.xml 스프링 시큐리티를 사용하기 위해서는 pom.xml에 아래와 같이 작성해 주어야한다. org.springframework.boot spring-boot-starter-security 2. 로그인 페이지 해당 사용자의 아이디와 비밀번호를 SpringSecurityConfig에서 구분할 수 있게 각각 id값을 셋팅해주었다. 3. SpringSecurityConfig @Configuration @EnableWebSecurity @Ena..
-
같은 테이블의 컬럼 값을 참조하여 null 값 UpdateDatabase 2019. 12. 24. 10:35
위 그림 처럼 Model 컬럼의 데이터를 Name 컬럼 중에서 데이터가 Null or "" 인 행만 Update하여 동일하게 데이터를 관리하고 싶었다. UPDATE devise a, devise b SET a.name = b.model WHERE a.model = b.model and a.name = ''; 같은 테이블 내에서 Model이란 컬럼을 기준으로 서로 맵핑하여 Model 컬럼의 데이터를 Name 컬럼이 ""인 행만 Update 해줄 수 있도록 해결하였다. 처음에는 반복문과 서브 쿼리문을 사용해 봤지만 많은 제약이 있었다. 이렇게 간단하게 할 수 있었다니 ㅠ
-
JPA란 무엇인가?JPA 2019. 12. 22. 16:15
JPA(Java Persistent API)와 ORM(Object Relational Mapping) JPA란 자바 ORM 기술에 대한 API 표준 명세를 의미합니다. JPA는 ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임워크를 사용해야 합니다. JPA(Java Persistent API) JPA는 ORM 표준 기술로 Hibernate, OpenJPA, EclipseLink, TopLink Essentials과 같은 구현체가 있고 이에 표준 인터페이스가 바로 JPA입니다. RDB 테이블은 객체지향적 특징(상속, 다형성, 레퍼런스, 오브젝트 등)이 없고 자바와 같은 언어로 접..