전체 글 175

TOC Fundamentals, Regular Languages

알파벳알파벳(Σ): 문자열을 구성하는 기본 기호 집합으로, 항상 유한하고 비어 있지 않아야 함.예시: 영어 알파벳(52개), 이진 숫자(0, 1) 등.형식 언어: 알파벳에서 생성되는 문자열의 집합으로, 규칙(문법)에 따라 정의됨.ASCII 코드: 컴퓨터가 문자를 처리하기 위해 사용하는 숫자 코드 체계.의의: 형식 언어와 알파벳은 계산 이론에서 언어와 오토마타를 다룰 때 기본적으로 사용됨.문자열문자열(String): 알파벳(기호 집합)에서 기호들을 순서대로 배열한 것.예: 알파벳 {0, 1} → 문자열 0, 01, 1010 등.문자열의 길이: 문자열에 포함된 기호의 개수.예: 011의 길이 = 3, 빈 문자열(ε)의 길이 = 0.빈 문자열(ε):기호가 전혀 포함되지 않은 문자열.빈 문자열은 **ε(엡실론)..

Spring Boot Starter Data JPA 추가, 그리고 H2 데이터베이스 활용

지금까지는 데이터베이스가 없어 프로그램을 재시작하면 그동안 했던 데이터가 모조리 사라졌다. 이걸 방지하기 위해서 H2라는 데이터베이스를 사용할 것이고, 이것과 프로그램이 통신할 수 있도록 JPA를 사용할 것이다. 언제나처럼 pom.xml에서 의존성을 추가해보자. ```org.springframework.bootspring-boot-starter-data-jpa com.h2databaseh2runtime``` 이걸 추가하고 실행해보면 h2 데이터베이스와 관련한 로그가 여럿 떠있는 걸 확인할 수 있다. 로그를 보면 H2 콘솔을 다루기 위해 /h2-console에 들어갈 수 있고, 데이터베이스는 jdbc:h2:mem:으로 시작하는 url을 통해 접속할 수 있음을 알 수 있다. 이 url은 계속 변하기 때문에,..

todolist 정리하기

이제부터 투두리스트의 코드를 정리하고, 또 외관을 개선하고자 한다. 가장 먼저 url 입력 없이 클릭만으로 페이지를 옮겨다닐 수 있도록 메뉴를 추가하려고 하는데, 그전에 jsp 프래그먼트에 대해서 알아보고 넘어가려고 한다. 우리가 지금까지 작성한 여러 파일을 보면 공통적으로 들어가는 코드가 있다. 이런 걸 특정 파일에 담아서 그 파일의 경로와 이름을 작성하는 걸로 해당 코드를 작성하는 걸 대체할 수 있다. 이를 jsp 프래그먼트라고 한다. 이를 이용해서 우리는 메뉴 코드를 해당 파일에 담아서 코드를 좀더 간단하게 만들 수 있다. 일단은 이전에 했던 것처럼 코드를 작성하고, 그 뒤에 위에서 설명한 걸 적용할 것이다. 추가할 메뉴 코드는 아래와 같다. ```https://courses.in28minutes...

Spring Security를 이용한 로그인 구현

이전까지 우리는 애플리케이션 제작 방법과 과정을 이해하기 위해 직접 로그인 논리를 작성했다. 그때 글 중간에 실제로는 이렇게 안 하고 프레임워크에서 제공하는 기능을 이용하여 구현한다고 말한 적이 있을 것이다. 이제 그렇게 할 것이다. Spring Security라는 걸 이용할 건데, 이걸 위해서 우리가 그동안 코드를 어느정도 정리해야 한다. 일단 LoginController에 가보자. ```@Controller@SessionAttributes("name")public class LoginController { AuthenticationService authenticationService; public LoginController(AuthenticationService authenticationServic..

todolist CRUD 기능 구현하기

먼저 CREATE, 그러니까 투두를 추가하는 기능을 먼저 구현해보자. 버튼을 만드는 코드는 딱히 어렵지 않다 `Add Todo`를 버튼이 있으면 좋겠다~ 하는 위치에 추가해주면 된다. 디자인이 별로다 하면 이전 게시글에서 배웠던 부트스트랩을 사용할 수 있다. `Add Todo`와 같이 사용할 수 있다. 부트스트랩에 관한 정보는 Introduction · Bootstrap v5.0 (getbootstrap.com)에서 확인할 수 있다. 모르는 게 있으면 저기서 찾아보자. TodoController에 가서 버튼을 클릭했을 때 작동할 논리를 만들어보자 ```@RequestMapping(value="add-todo", method=RequestMethod.GET)public String showNewTodoPa..

webjars를 통해 bootstrap 활용하기

활용하기 위해서는 언제나처럼 pom.xml에 의존성을 추가해야 한다.```org.webjarsbootstrap5.1.3org.webjarsjquery3.6.0``` 위는 Bootstrap, 아래는 JQuery 의존성이다. 버전을 붙인 이유는, bootstrap과 같은 정적 콘텐츠의 경우 spring-boot-starter-parent에 의해 버전 관리가 되지 않기 때문이다. 그래서 우리가 버전을 지정해주어야 한다. 이제 의존성을 추가했으니, jsp에 경로와 파일명을 추가해주자. 경로는 외부 라이브러리 카테고리에서 확인 가능하다. ``` ... ``` 이제 bootstrap을 이용해서 jsp 파일을 꾸며보자. bootstrap에서는 모든 컨텐츠를 안에 넣고, class="container"를 써주는 게 ..

카테고리 없음 2025.01.26