본문 바로가기

Study/WEB35

[Spring Boot] Spring Boot에 사용되는 모듈에 대해서 알아보자 Spring Boot Devtools Devtools는 Spring Boot에서 제공하는 개발 편의를 위한 모듈이며, 개발 편의를 위해 제공되는 기능은 크게 5가지 입니다. Property Defaults Automatic Restart Live Reload Globlas Settings Remote Applications Property Defaults 스프링 부트에 지원하는 여러 라이브러리(ex: thymeleaf Template)의 경우 기본적으로 캐싱 기능을 제공하지만, 개발 과정에서는 개발된 내용이 바로 적용되지 않아 비효율적일 수 있습니다. spring-boot-devtools는 기본적으로 이러한 캐싱 옵션을 비활성화함으로써 개발의 편의성을 높여줍니다. 이렇게 제공되는 기본 속성들의 값은 다음.. 2022. 7. 24.
[Spring Boot With Kotlin] Web Server Tutorial (Feat. Intellij) 가장 먼저 jetbrains에서 Intellij IDEA를 설치합니다. 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 상용 버전의 경우 Spring을 바로 설정할 수 있지만 커뮤니티 버전의 경우 https://start.spring.io/ 사이트에 접속하여 Spring 프로젝트를 생성해야만 합니다. 저는 Spring Boot와 Kotlin을 이용하여 웹을 개발할 예정이기 때문에 아래와 같이 설정한 뒤, GENERATE를 이용하여 압축 파일로 저장하였습니다. Project : Gradle Project Language : Kotlin Spring Boot : 2.7.2 Java : 17 Dependencies : Spring.. 2022. 7. 23.
JSP(Java Server page)와 Java Servlet Java Servlet Java를 사용하여 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side Program으로 Java 코드 안에 HTML 코드를 넣어 동적인 웹 페이지를 생성함 JSP(Java Server Page) Java를 기반으로 하는 Sever Side Script 언어로 HTML 코드 안에 Java 코드를 넣어 동적인 웹 페이지를 생성함 JSP의 내부 동작 과정 1. Client에서 hello.jsp 파일을 요청함 2. JSP Container가 hello.jsp 파일을 읽어옴 3. JSP Container가 변환(Gernerate) 과정을 통해 Servlet 파일(helloServlet.java)을 생성함 4. 생성된 Servlet 파일은 .class 파일(helloServl.. 2022. 7. 13.
PHP에서 TCPDF로 HTML 화면을 PDF로 변환하기 TCPDF 설치 명령어 cd /usr/share/php/ wget https://jaist.dl.sourceforge.net/project/tcpdf/tcpdf_6_3_2.zip --no-check-certificate unzip tcpdf_6_3_2.zip 나눔 폰트 설치 명령어 cd /usr/share/fonts/ wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip unzip NanumFont_TTF_ALL.zip -d NanumFont cd /usr/share/php/tcpdf/tools/ ls /usr/share/fonts/NanumFont/* ls /usr/share/fonts/NanumFont/* | xargs -.. 2022. 5. 18.
Wordpress REST API Activation Wordpress 4.4 버전부터 REST API 기능이 Wordpress-core에 내장되어 배포되고 있습니다. Version 4.4 On December 8, 2015, WordPress Version 4.4, named for jazz musician Clifford Brown, was released to the public. For more information on this enhancement and bug-fix release, read the Word… wordpress.org 그러나 Wordpress 설치 후 REST API 기능 사용을 위해 /wp-json/에 접속할 경우 Not Found 화면만이 노출되었습니다. 위와 같은 상황에서 REST API 활성화를 위해 사용하는 방법에 관해.. 2022. 5. 17.
[Kotlin] lazy lazy가 적용된 변수가 실제 사용되는 시점에 초기화를 진행함에 따라 코드의 실행시간을 최적화할 수 있음. 예제 fun main(){ val number: Int by lazy{ println("초기화를 합니다.") 7 } println("코드를 시작합니다.") println(number) println(number) } 예제 결과 2022. 1. 6.
[Kotlin] Data Class 데이터를 다루는데 최적화된 클래스로 equals(), hashcode(), toString(), copy(), componentX() 함수가 자동으로 생성됨. 예제 fun main(){ val a = General("보잉",212) println(a == General("보잉", 212)) println(a.hashCode()) println(a) val b = Data("루다", 306) println(b == Data("루다", 306)) println(b.hashCode()) println(b) } class General(val name: String, val id: Int) data class Data(val name:String, val id: Int) 예제 결과 2022. 1. 6.
[Kotlin] 오브젝트 Object Object로 선언된 객체는 최조 생성 시 자동으로 생성되며, 이후에는 코드 전체에서 공용으로 사용될 수 있음. Companion Object Class 내에 오브젝트가 존재할 경우, 인스턴스끼리 해당 오브젝트를 서로 공유함. 예제 fun main() { println(Counter.count) Counter.countUp() Counter.countUp() println(Counter.count) Counter.clear() println(Counter.count) } object Counter{ var count = 0 fun countUp(){ count++ } fun clear(){ count = 0 } } 예제 결과 Listener 이벤트를 수신해서 출력하는 클래스(EventPrin.. 2022. 1. 6.
[Kotlin] 스코프 함수 스코프 함수 스코프 함수의 경우 별도의 Scope에서 인스턴스의 변수와 함수를 조작할 수 있음. (apply, run, with, also, let) let, also의 경우 Scope 외부에서 동일한 이름의 변수나 함수가 존재할 때를 대비해 it과 같이 사용하기 위해 존재함. 예제 fun main(){ var a = Book("책1",10000).apply{ name = "[초특가]"+name discount() } a.pay() } class Book(var name:String, var price:Int){ fun pay(){ println("${name}의 가격은 ${price}원입니다.") } fun discount(){ price -= 2000 } } 결과 2022. 1. 5.