반응형

분류 전체보기 145

[Docker] Mac에서 brew로 docker 설치하기

brew cask가 dedeprecated되고 그냥 brew install로 설치할 수 있도록 변경되었습니다.(--cask옵션을 줘도 됩니다.) $ brew install docker docker-machine $ brew install virtualbox -> System Preference > Security & Privacy > Allow $ docker-machine create --driver virtualbox default $ docker-machine env default $ eval $(docker-machine env default) $ docker run hello-world $ docker-machine stop default brew 설치법은 여기에서 확인하실 수 있습니다. 단순히..

DevOps 2020.07.18

[Spring] Spring Framework뼈대

Spring Framework (Core) 프레임워크 전체를 가리키는 동시에 프레임워크의 핵심부분을 가리키기도 합니다. DI를 위한 단독 프레임워크로 개발돼었습니다. DI 기능은 다른 라이브러리와 상관없이 개별적으로 사용할 수 있습니다. Spring AOP AOP(관점 지향 프로그래밍)을 위한 프레임워크입니다. Spring MVC Model-View-Controller 아키텍처를 이용해서 웹 애플리케이션을 개발합니다. Spring Boot Spring MVC와 함께 웹 애플리케이션을 신속하게 개발할 수 있게 도와주는 프레임워크입니다. 애플리케이션 코드를 빠르게 작성할 수 있으며 짧은 코드만으로 주요 기능을 구현할 수 있습니다. Spring Data 데이터베이스 처리를 위한 프레임워크입니다. JPA와 연계..

Spring 2020.07.17

[Java] String.split(".")

문자열을 split(".") 할 때 결과값으로 공백이 나오는 경우가 있습니다. 이는 split() 메서드가 정규식으로 작동하기 때문입니다. 그럼 . 으로 자를 때 어떻게 잘라야 하는지 알아보겠습니다. public class split { public static void main(String[] args) { String str = "dhlee.dev"; String[] arr = str.split("."); System.out.println("split 시작"); for (String s : arr) { System.out.printf("[%s]\t", s); } System.out.println(); System.out.println("split 종료"); String[] arr2 = str.spli..

Java 2020.07.11

[Spring] IoC

IoC(Inversion of Control) 제어의 역전이란 뜻입니다. 초기에는 개발자가 객체를 생성하고 의존관계를 직접 설정하였는데 이를 제어라고 합니다. 이 제어라는 행동을 컨테이너라는 것에 맡기는 것을 제어권이 역전되었다고 합니다. IoC 구현방법에는 DL(Dependency Lookup), DI(Dependency Injection) 2가지가 있습니다. 우선, 일반적인 클래스 호출방식과 IoC를 이용한 클래스 호출 방식의 차이를 도식화하여 알아보고 IoC에 대해 좀 더 자세하게 알아보겠습니다. 클래스 호출 방식 가장 기본적인 클래스 호출 방식 클래스내에 선언, 구현이 다 있기 때문에 다양한 형태로의 변환이 불가능합니다. 인터페이스 호출 방식 구현클래스의 교체 등 다양한 변화가 가능하지만 구현클래..

Spring 2020.07.10

[Java] List 중복 제거하기

List 중복제거 List는 기본적으로 중복을 허용합니다. 하지만 때때로 필요에 따라 List의 중복을 제거해야 할 때가 있습니다. 오늘은 List의 중복을 제거하는 방법에 대해 알아보겠습니다. public class ListDistinct { public static void main(String[] args) { List before = new ArrayList(); before.add("1"); before.add("1"); before.add("2"); before.add("3"); before.add("3"); before.add("4"); before.add("7"); before.add("6"); before.add("6"); before.add("5"); before.add("5"); be..

Java 2020.07.09

[Spring] AOP 구현 - Annotation

지난 시간에는 AOP를 xml 스키마 기반으로 구현해봤습니다. 이번에는 @Aspect 어노테이션을 통해 구현해보도록 하겠습니다. 전의 소스를 대부분 재활용 했습니다. public interface Attendance { public void Attendance(String name); } public class Student implements Attendance { @Override public void Attendance(String name) { System.out.println(name + " 출석"); } } public class Teacher implements Attendance { @Override public void Attendance (String name) { System.out...

Spring 2020.07.09

[Spring] ORM, JPA, Hibernate, Spring Data JPA의 개념

Persistence(영속성) 프로세스가 생성했지만 별개로 유지되는 상태의 특징 즉, 프로그램이 종료되더라도 데이터가 사라지지 않는 특성을 뜻합니다. Persistence Layer Layered Architecture의 구성요소 중 하나입니다. 영구 데이터를 객체화 하며, 영구 저장소에 데이터를 저장, 수정, 삭제하는 계층입니다. 즉, DB, File에 데이터를 CRUD하는 계층입니다. JDBC를 이용하여 직접 구현할 수 있지만 간단하게 Persistence Framework를 이용하여 개발을 합니다. (JDO, Hiberante, Mybatis 등) Layered Architecture Persistence Framework 데이터의 CRUD를 다루는 클래스 및 설정 파일등의 집합입니다. JDBC 프..

Spring 2020.07.08

[Git] commit 날짜 변경

마지막 commit 날짜를 오늘로 설정 git commit --amend --no-edit --date "${date)" 마지막 commit 날짜를 임의의 날짜로 설정 git commit --amend --no-edit --date "Tue 7 Jul 2020 22:43:20 KST" git에는 author(GIT_AUTHOR_DATE, 원래 작업을 수행한 사람)의 시간, committer(GIT_COMMITTER_DATE, 마지막으로 작업을 적용한 사람)의 시간 두 가지의 시간대가 있습니다. author date 설정 GIT_AUTHOR_DATE="Tue 7 Jul 2020 22:43:20 KST" git commit --amend --no-edit committer date 설정 GIT_COMMITT..

Git 2020.07.07