본문 바로가기

분류 전체보기

(79)
[스프링 부트 기초] RESTful Controller 0. RESTful이란? RESTful 이란 Representational State Transfer(REST) 아키텍처 스타일을 따르는 웹 서비스로서 분산 하이퍼미디어 시스템을 위한 자원(URI)의 표시, 행위(HTTP Method)를 정의한다. RESTful 한 웹 서비스는 이러한 REST 아키텍처 스타일을 따르며, 각 자원에 대한 고유한 URI를 정의하고 해당 자원의 CRUD(Create, Read, Update, Delete) 작업을 HTTP Method를 통해 처리할 수 있는 웹 서비스를 말한다. 스프링에서는 @RestController 어노테이션을 사용하면, 해당 클래스가 RESTful 웹 서비스를 제공하는 컨트롤러임을 나타낸다. 이 클래스에서 정의된 각각의 메소드들은 URI, HTTP Met..
[자바 기초] 자바 클래스 package com.myspring.week01; public class Course { private String title; private String tutor; private int days; // 기본생성자 public Course() { } // 생성자 public Course(String title, String tutor, int days) { this.title = title; this.tutor = tutor; this.days = days; } // Setter, Getter public void setTitle(String title) { this.title = title; } public void setTutor(String tutor) { this.tutor = tutor; }..
[스프링 오류] Spring Boot 빌드 오류 원인 > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.5. ... project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.5 Caused by: org.gradle.internal.component.NoMatchingConfigurationSelectionException: No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.5 was found. The consumer was configured to find a runtime of a libra..
[스프링 부트 기초] 프로젝트 셋팅하기 0. 스프링이란? - 스프링 부트와의 차이 스프링은 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크로서 엔터프라이즈급 어플리케이션 개발에 사용됩니다. 스프링은 의존성 주입(DI), Aspect Oriented Programming, 데이터 엑세스, 웹 프레젠테이션 계층, 보안 등 다양한 기능을 제공합니다. 스프링 부트는 스프링 기반의 프로젝트로서 개발과 배포를 더욱 간단하게 도와주는 도구입니다. 스프링부트는 스프링의 다양한 설정을 자동으로 처리하고, 내장형 서버(embedded server)를 제공하여 별도의 웹 서버 없이 어플리케이션을 실행할 수 있습니다. 또한 스프링부트는 간단한 설정 만으로도 어플리케이션의 성능 모니터링, 로깅, 보인 등 다양한 기능을 제공합니다. 스프링과 스프링부트의 가장 큰 ..
[Docker] 도커 입문 0. 배경 우리가 사용하는 웹 어플리케이션은 서버에서 동작합니다. 서버는 우리가 작성한 코드가 실제로 실행되는 컴퓨터입니다. 작성한 코드를 실행하기 위해서는 다양한 작업을 해주어야 하는데 os 설치, 실행환경 세팅, 어플리케이션 코드(빌드) 다운로드, 라이브러리 다운로드 등등의 과정이 필요합니다. 또한 서버를 운영하는데에도 여러 작업들이 필요합니다. 보안 결함이 없어야 하고, 필요할 때 새로운 코드나 라이브로리 추가가 가능해야 합니다. 만약 많은 수의 요청을 처리하는 서비스가 있다고 한다면 부하를 분산하고 운영을 원활하게 하기위해 많은 수의 서버를 운영해야 합니다. 이 여러대의 서버 컴퓨터의 운영을 쉽게 하기위해 스크립트를 작성해 사용합니다. 서비스를 운영하다보면 많은 요청이 들어옵니다. 예를들어 - u..
웹 개발 플러스 4 - 회원가입, 로그인 기능 추가하기 0. 프로젝트 셋팅 - 보안, 로그인, 암호화 기능의 필요성 : 주소만 알면 누구나 들어와 내용을 추가/수정/삭제가 가능합니다. 이를 방지하기위해 비밀번호를 입력해야만 내용을 볼 수 있는 식으로 보안을 강화할 수 있습니다. 여러 사람들이 한 서비스를 이용해야 하며 공개된 내용이 달라져야 한다면 로그인 기능이 필요합니다. - 패키지 설치 : flask, pymongo, pyJWT 1. Bulma 로 웹사이트를 꾸미기 Bulma는 미리 정해진 클래스를 가져다 쓰는 무료 CSS 프레임 워크입니다. Bulma는 Bootstrap과 달리 순수 CSS 프레임워크이기 때문에 기능을 직접 구현해야 하지만 더 자유롭게 커스터마이징이 됩니다. 또한 커서, 테마, 플러그인 등 많은 부분이 개발되어 있고 질문과 답, 예시를 ..
[로그인/ 회원가입] 아이디 비밀번호 필터링 적용하기 회원 가입 기능을 구현할 때 입력 받은 값들이 형식에 맞는지 필터링을 해야합니다. 예를들어 아래와 같은 조건들을 적용해야 합니다. 아이디 : "영문과 숫자, 일부 특수문자(._-)만 사용가능, 2-10자 길이. 영문 무조건포함" 비밀번호 : "영문, 숫자는 1개 씩 무조건 포함, 일부 특수문자 사용가능, 8-20자 길이" 비밀번호 확인 : 비밀번호와 일치 이러한 복잡한 조건을 확인할 때는 '정규 표현식(Regular Expression)을 이용해 형식을 확인하고 결과를 참 거짓으로 반환하는 것이 좋습니다. function is_nickname(asValue) { var regExp = /^(?=.*[a-zA-Z])[-a-zA-Z0-9_.]{2,10}$/; return regExp.test(asValue)..
JQuery로 토글 기능 구현하기 토글 기능이란? 한 페이지 안에서 여러 기능을 구현하고 싶을 때 보이지 않던 클래스를 보이게 했다가 다시 보이지 않게 할 수 있습니다. 예를들어 로그인/ 회원가입을 한 페이지 안에서 구현을 하고자 한다면 다음과 같은 요소들을 구현해야 합니다. 이 때, 파란색 요소는 로그인 시 숨기고, 초록색 요소는 회원가입 시 숨겨야 합니다. 주황색인 주황색 도움말 요소들도 회원가입할 때에만 나타나야 합니다. 먼저 로그인 화면에서만 보여야 하는 기능들을 제외한 나머지에는 "is-hidden" 클래스를 적용합니다. Bulma에서는 해당 클래스를 이용해 요소를 숨길 수 있습니다. .is-hidden { display: none!important; } 이 클래스를 로그인 화면에서 숨겨야 할 요소에 붙여줍니다. 이제 숨겨져 있..