본문 바로가기

반응형

Web Dev/Java Spring

(10)
JAVA의 빌드와 실행 그리고 빌드툴에 대한 기초 지식 빌드(Build) 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 SW 가공물로 변환하는과정 독립 SW 가공물 = Artifact 빌드 세분화 1) 소스코드를 컴파일 한다. 2) 테스트 코드를 컴파일한다. 3) 테스트 코드를 실행한다. 4) 테스트 코드 리포트를 작성한다 5) 기타 추가 설정한 작업들을 진행한다. 6) 패키징을 수행한다. 7) 최종sw 결과물(Artifact)를 만들어 낸다. 실행 (Run) 내가 작성한 코드( 혹은 테스트 코드)를 컴파일을 거쳐 , 작동시켜 보는 것 독립 SW 가공물이 나올수도 있고, 나오지 않을 수도 있다. 주의 : 인터프리터 언어는 컴파일이 필요 없다. 위의 과정을 수동으로 할 수는 없다. 빌드 툴 (Build tool) 1. 소스코드의 빌드 과정을 자동으로 처리해..
JVM JRE JDK 개발하기 전에 좀 알고 가자 Java 언어 를 컴퓨터가 어떻게 인식하는지 ? 컴퓨터는 기본적으로 0 과 1의 숫자 밖에 모르는 기계이다. 그러면 사람이 쉽기 적을 수 있게 개발된 코딩 언어는 컴퓨터에게 다시 전부 0과 1이라는 숫자로 변경해줘야 한다. 코딩 언어를 -> 0과1로 변경해주는 과정을 [ 컴파일 ] 이라고 한다. 0과 1의 코드는 바이트 코드(바이너리 코드) 라고한다. [컴파일] 해주는 프로그램을 [컴파일러] 라고 한다. 해당 바이트 코드의 경우 운영체제 마다 조합이 다르다. C 언어는 운영체제에 맞는 컴파일러가 따로 존재한다. 자바는 좀 다른데 자바 컴파일러는 한개만 존재한다. 한개의 컴파일러에서 바이너리 코드를 변환하면 운영체제와 코드 사이에는 JVM 이라는 것이 존재한다. Window JVM , Mac JVM , L..
Visual Studio Code + Java 17 + Gradle + Spring boot 환경설정 [리눅스OS 기반] 저는 우분투 리눅스 OS 환경에서 개발하여 Java 버전 변경이 쉽습니다. 이처럼 우선 저는 java 버전을 17 로 맞춰 줬습니다. VSCode에서 자바 프로젝트를 할 수있게 되었는데 최신 자바 버전인 17 , 21 만 사용이 가능합니다. 리눅스 자바 버전 변경 명령어 sudo update-alternatives --config javac sudo update-alternatives --config java JAVA_HOME 경로 변경 // 경로 확인 echo $JAVA_HOME // 버전이 없다면 설치 sudo apt update sudo apt install openjdk-17-jdk // 경로 변경 echo 'export JAVA_HOME=/usr/lib/jvm/java-17-oracle' >> ..
dpkg: 종속성 문제로 jdk-17의 구성이 차단되었습니다: jdk-17 패키지는 다음 패키지에 의존: libc6-x32: 하지만: libc6-x32 패키지는 설치하지 않았습니다. 이 오류는 `jdk-17` 패키지가 `libc6-x32` 패키지에 의존하고 있지만, 시스템에 `libc6-x32` 패키지가 설치되어 있지 않기 때문에 발생합니다. 이러한 종속성 문제는 종종 패키지 설치를 방해하는 일반적인 문제입니다. 해결 방법은 `libc6-x32` 패키지를 설치하거나, `jdk-17` 패키지가 `libc6-x32` 패키지를 필요로하지 않도록 하는 것입니다. `libc6-x32` 패키지를 설치하려면 다음 명령어를 사용합니다: sudo apt-get install libc6-x32 만약 이미 설치되어 있다면, 최신 버전인지 확인할 수 있습니다. `jdk-17` 패키지가 `libc6-x32` 패키지를 필요로 하지 않도록하려면, 다른 버전의 JDK를 설치하거나, 필요에 따라 `jdk-17` ..
Java Spring 프레임워크 Controller에서 함수에 스케줄링 작업 하는 벙법 (10분에 한번씩 작동) 자바 컨트롤러에서 사용하는 함수를 10분에 한번씩 서버가 작동하는 동안 자동으로 실행 되도록 하고 싶다면 Java Spring 프레임워크에서 스케줄링 작업을 처리하기 위해 스케줄러를 사용할 수 있습니다. 가장 일반적으로 사용되는 스케줄러는 Spring의 @Scheduled 어노테이션을 사용한 스케줄링입니다. 이것을 이용하면 주기적으로 메소드를 실행할 수 있습니다. 이때 @Scheduled 어노테이션을 사용하려면 다음의 단계를 따르면 됩니다. 프로젝트에 Spring 스케줄링을 위한 의존성을 추가해야 합니다. Spring Boot를 사용한다면 이미 내장된 스케줄러가 포함되어 있습니다. 스케줄링할 메소드를 작성하고 @Scheduled 어노테이션을 사용하여 주기를 설정합니다. 예를 들어, 10분마다 실행되어야 ..
Java 백엔드에서 JSON을 위한 Jackson 라이브러리 사용하는 방법에 대하여 https://www.lesstif.com/java/java-json-library-jackson-24445183.html Java Json library jackson 사용법 2.7 버전부터는 JDK 7 이상이 필요하며 JDK6 을 지원하는 마지막 버전은 2.6.7.1 임 www.lesstif.com Jackson 라이브러리는 Java 객체와 JSON 데이터 간의 변환을 쉽게 수행할 수 있도록 도와주는 라이브러리 중 하나입니다. 이것은 매우 일반적인 작업으로, Java 객체를 JSON 문자열로 직렬화하거나, JSON 문자열을 Java 객체로 역직렬화하는 데 사용됩니다. Jackson 라이브러리는 JSON 데이터를 파싱하고, 생성하고, 조작하는 다양한 기능을 제공하며, Java의 POJO(Plain Ol..
Java Backend 개발 : WEB-ZIN 웹진 관리자 zip 파일 업로드 시스템 구축 방법 - 업로드 시 자동으로 파일 압축 풀기 및 업로드 우선 이와 같은 폴더를 생성해줍니다. 각 버전에 맞는 폴더가 구성 되어 있어야하고 또 추후에 새로운 웹진을 등록할 수 있어야 합니다. 해당 웹진을 서버에 올릴려면 링크에 따라 해당 버전 웹진을 띄워 줄 수 있는 Url이 필요합니다. 웹진Contorller package joonho.controller.user; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import koddi.controller.CommonController; @Contro..
<% out.println(readonly); %> 해당 코드는 서버단에서 데이터를 전송했을 경우에 readonly 값이 설정 되는 것인가 ? 예, 맞습니다. 코드는 서버 단에서 데이터를 전송하여 readonly 값이 설정되는 것입니다. 서버 측 코드()는 JSP에서 사용되는 Java 코드로, 클라이언트의 요청을 처리하고 해당 요청에 따른 동적인 데이터를 생성하여 웹 페이지에 출력하는 데 사용됩니다. 이 코드는 서버에서 실행되며, 그 결과가 클라이언트(웹 브라우저)로 전송되어 렌더링됩니다. 따라서 코드는 서버에서 readonly 변수의 값을 출력하여 클라이언트로 전송합니다. 이 값은 클라이언트 측에서는 JavaScript 등으로 해당 값을 읽어서 웹 페이지의 동작에 영향을 줄 수 있습니다. 서버에서 readonly 변수에 어떤 값을 할당하느냐에 따라 입력 필드가 읽기 전용으로 설정되는지 여부가 결정됩니다. 예를 들어, 서버에서 readonly ..

반응형