스프링 부트(Spring Boot)란?
·
노빠꾸 개발일지/SPRING
🤔 스프링 부트는 스프링 기반으로 독립실행형 애플리케이션을 쉽게 만들 수 있게 해준다. ● 스프링 부트 특징 1. 독립형 Spring 애플리케이션 생성, Tomcat, Jetty 또는 Undertow를 직접 포함(WAR 파일을 배포할 필요 없음) - 별도로 설치된 컨테이너(Tomcat.. 등)로 배포하지 않고 독립실행형(Standalone) 자바 애플리케이션으로 동작한다. 2. 빌드 구성을 단순화하기 위해 독자적인 '스타터' 종속성을 제공합니다. - 스프링부트는 검증된 라이브러리 구성, 의존관계와 적용할 버전, 각 라이브러리의 세부구성과 디폴트 설정을 제공한다. 3. 가능할 때마다 자동으로 Spring 및 타사 라이브러리 구성 4. 코드 생성이나 XML 설정이 필요하지 않다. 참고 : https://sp..
마이크로 서비스 아키텍처(MSA) & 모놀로식 아키텍처 정리
·
노빠꾸 개발일지
이번 피드에서는 마이크로 서비스 아키텍처(MSA)와 모놀로식 아키텍처에 대해 알아보는 피드를 정리해 보겠습니다. 마이크로 서비스 아키텍처(MSA) 와 모놀로식 아키텍처는 상반되는 개념의 아키텍처로 비교하여 알아두면 좋다. 마이크로 서비스 아키텍처(MSA) 마이크로 서비스 아키텍처는 마이크로서비스(Micro Service)라는 작은 단위의 컴포턴트로 구성되어있다. 서비스 전체 기능을 독립된 작은 단위로 나누어 분리하고, 각각의 컴포넌트는 독립된 시스템 형태로 개발하고 운영한다. 장점 1. 하나의 마이크로 서비스는 하나의 비지니스 기능을 담당하므로 다른 마이크로 서비스와 간섭이 최소화 된다. 2. 대용향 데이터를 저장하고 처리하는데, 비교적 자유롭다. 3. 각각의 서비스가 느슨하게 결합되어 있어, 어떤 서비..
[스프링 시큐리티] 스프링 시큐리티 기본
·
노빠꾸 개발일지/SPRING SECURITY
스프링 시큐리티는 인증과 접근제어를 위한 맞춤구성이 가능한 강력한 프레임워크이다. 스프링프레임워크를 사용하고 있다면, 스프링시큐리티를 이용하여 손쉽게 애플리케이션 레벨의 보안을 적용 할 수 있다. 스프링시큐리티에 대한 세부 내용은 아래의 스프링시큐리티 공식URL에서 확인이 가능하다. https://spring.io/projects/spring-security#overview Spring Security Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Sec..
[JAVA] 정적팩토리메서드(Static Factory Method)란?
·
노빠꾸 개발일지/JAVA
이번 피드에서는 정적팩토리메서드(Static Factory Method)에 대해 간단히 정리해 보도록하겠습니다. 정적팩토리메서드란. 간단히 표현하면 객체를 생성하는 역할을 하는 메서드입니다. 객체를 생성하기 위해서는 일반적으로 생성자를 이용하여 생성하는 방식을 많이 알고 사용되고 있습니다. new 키워드를 이용하여 클래스의 객체를 직접 생성하는 방식인데, 정적팩토리메서드를 이용하면 직접 new 키워드를 사용하지 않고 클래스의 객체를 제공받을 수 있습니다. 정적팩토리메서드가 객체를 제공해주기때문에, 해당 메서드를 호출하는 것만으로 객체를 제공받을 수 있게 되는 것입니다. 정적팩토리메서드의 대표적인 예시로는 Optional의 of가 있습니다. Optional클래스에서 of() 메서드를 이용하여 객체를 전달받..
[GITHUB] 깃 저장소(Repository)에 폴더 생성해보기
·
노빠꾸 개발일지/GIT
이번 피드에서는 깃허브를 이용해서 깃 저장소(Repository)에 폴더를 생성하는 방법에 대한 피드를 정리해보겠습니다. 폴더를 여러개 생성하면, 한개의 저장소에서 각각 구분된 미니 프로젝트를 여러를 관리해 볼 수도 있습니다. 한개의 깃 저장소(Repository)에서 여러 프로젝트를 관리하는 방법은 폴더로 구분하는 방법 말고도, 서브트리(subtree)를 이용하여 각각의 독립된 저장소(Repository)를 가진 프로젝트들을 한개의 저장소(Root Repository)에 통합해서 관리하는 방법도 있지만 이번 피드에서는 간단히 한개의 저장소에서 폴더를 생성해서 관리해보는 방법을 정리해보겠습니다. 서브트리 관련해서는 다음에 한번 정리해 보도록 하겠습니다. 우선 깃 저장소(Repository)를 생성해 줍니..
[Intelij] 인텔리제이 파이썬(Python) 기본 세팅해보기
·
노빠꾸 개발일지/Python
이번 피드에서는 인텔리제이에서 파이썬을 사용할 수 있도록 세팅해보는 피드를 정리해보겠습니다. 인텔리제이에서 파이썬을 사용하기 위해서는 플러그인 설치를 해주어야 합니다. 인텔리제이를 실행하게 되면 위와같이 창이 실행되는데, 여기에서 plugins 메뉴를 선택 후, Python을 검색하여. 설치를 진행해주면 됩니다. 설치가 완료된 후, New Project를 이용하여 프로젝트 생성창을 띄워보면 아래와 같이 Language부분에 Python이 추가된 것이 보인다. 이제 인텔리제이를 이용하며 파이썬 프로젝트를 생성하여 작업이 가능해졌다.
[Spring JPA] 스프링부트 + JPA + MySQL 프로젝트 세팅하기 - 1
·
노빠꾸 개발일지/SPRING
이번 피드에서는 Spring Boot(스프링부트)와 JPA, MySQL을 이용하여 프로젝트를 세팅하는 피드를 정리해 보도록 하겠습니다. 개발환경은 Intelij를 이용하여 진행해보겠습니다. 1. 프로젝트 생성 및 모듈 생성 우선 프로젝트를 생성해줍니다. 프로젝트가 정상적으로 생성되었으면, 생성한 프로젝트 하위에 모듈을 생성해 줍니다. 해당 모듈에 스프링 부트 + JPA + MySQL 세팅을 진행 할 것입니다. File -> New -> Module... 메뉴를 선택하여 모듈생성 창을 띄웁니다. Spring Boot를 이용할 것이기 때문에 Spring initializr를 선택해주고, 각각 세팅하고 싶은데로 세팅을 해준다. 여기서는 Maven, JAVA 8, War를 선택하여 진행해 보겠습니다. 값 선택을..
부트스트랩 정리 및 참고할 만한 부트스트랩 추천 사이트
·
노빠꾸 개발일지/JAVA
이번 피드에서는 부트스트랩에 대해 간단히 알아보는 피드를 작성해 보겠습니다. 먼저 부트스트랩에 대해 알아보면, 부트스트랩이란 웹사이트를 쉽게 만들 수 있게 도와주는 HTML, CSS, JS 프레임워크입니다. 예를 들면, 웹 사이트에 노출되는 웹페이지의 전반적인 디자인적인 요소들이 세팅이 되어있는 프레임워크라고 생각할 수 있습니다. 따라서, 부트스트랩을 이용하면, 화면 디자인개발에 많은 신경을 들이지 않고, 개발을 진행 할 수 있게됩니다. 프론트개발자가 아닌경우, 이렇게 화면 디자인 및 구조를 잡고 개발하는 작업은 쉽지 않은 작업인데, 부트스트랩을 적용하면, 이 부분이 비교적 쉽게 해결이 가능합니다. 무료로 제공되는 부트스트랩 데모들을 살펴봐도 퀄리티가 나쁘지 않아 개인용으로도 사용하기 좋습니다. 마지막으..
스프링 DB연동 - Mybatis를 이용하여 Oracle, MySQL, MariaDB 기본세팅
·
노빠꾸 개발일지/SPRING
이번 피드에서는 스프링 환경에서 Mybatis를 이용하여, 대표적인 DB(Oracle, MySQL, MariaDB)에 연결하는 방법을 정리해보겠습니다. 1. pom.xml 필요한 라이브러리 추가하기 우선 제일 먼저 해야할 일은 DB연결을 위한 라이브러리를 추가하는 작업입니다. - 필요한 라이브러리 목록 org.mybatis mybatis 3.5.1 org.mybatis mybatis-spring 2.0.7 org.springframework spring-jdbc 5.3.22 org.apache.commons commons-dbcp2 2.9.0 우선 공통적으로 필요한 라이브러리들은 위와같이 mybatis, mybatis-spring, spring-jdbc, commons-dbcp2이다. pom.xml에 위..
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2
·
노빠꾸 개발일지/JAVA
이번 피드에서는 저번 피드에서 생성한 기본 메이븐 프로젝트에 스프링 기본구조 세팅을 해보는 피드를 정리해 보겠습니다. 이번 피드는 이전 피드에서 생성한 프로젝트를 이용하여 계속 진행하므로 이전 피드를 참고하실분은 아래를 참고해주세요! https://nobacking.tistory.com/105 메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1 이번 피드에서는 메이븐 프로젝트를 세팅하는 피드를 작성해 보겠습니다. 개발툴로는 인텔리제이(Intelij)를 이용하여 진행해 보겠습니다. 1. 프로젝트 생성하기 먼저 프로젝트를 생성해 줍니다. nobacking.tistory.com 1. 스프링 구조 잡기 우선 스프링 구조에 맞게 폴더 및 파일을 생성해 보도록 하겠습니다. 1-1) src/main/java 폴더 생..