본문 바로가기

자바43

728x90
반응형
[자바/Java] 주석(Comment) 동영상 설명 5강. 자바에서 주석이란 자바에서 주석이란 프로그래밍을 하는 도중에 메모가 필요한 경우가 있다. 자바에서는 소스 코드 안에 이러한 메모를 할 수 있도록 주석(Comment)을 지원한다. 주석처리한 곳에 기입한 내용은 프로그램 실행과 무관하다. 컴파일 과정에서 해당 내용이 제외된다. 주석이 필요한 경우 프로그램 설명을 소스 코드 안에 글로 남기기 위해서 소스 코드 분석에 용이하도록 소스 코드 안에서 코드를 설명하기 위해서 주석을 선언하는 방법 자바에서 주석을 선언하는 방법은 두 가지가 있다. 한 줄만 주석처리를 하는 '//'와 여러 줄을 주석처리하는 '/* */'가 있다. 문법은 다음과 같다. 한 줄만 주석처리 하기 // 한 줄만 주석처리 합니다. 여러 줄을 주석처리 하기 /* 여러 줄을 주석.. 2023. 1. 5.
[자바/Java] 수행 시간 확인 방법 필요성 프로그램의 느린 부분을 찾고 개선하기 위한 업무를 수행할 때 수행 시간을 확인한다. 코딩방법 아래의 코드처럼 시스템의 시간을 두 번 가져와서 시작시간과 끝시간의 차이를 구해 프로그램의 수행 시간을 확인할 수 있다. long start = System.currentTimeMillis(); ...(처리할 내용) long end = System.currentTimeMillis(); System.out.println((end-start)+" ms"); 코딩 예제 예제 소스: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/system/ProcessingTimeExample.java 실행 결과 위의 예제 소.. 2022. 12. 12.
[스프링] DataSource 스프링 빈을 자바 코드로 생성하기 값을 읽어오는 방식 등의 이유로 DataSource 스프링 빈을 자바 코드로 생성해야하는 경우가 있다. 그런 경우 아래와 같은 소스 코드로 자바 빈을 생성할 수 있다. 예제 소스 연결하고자 하는 데이터베이스 맞춰서 드라이버와 주소, 계정 정보를 수정하여 사용한다. 아래 소스 코드는 스프링 프레임워크 4.0.9에서 동작하는 것을 확인했다. @Bean public DataSource dataSource() { SimpleDriverDataSource dataSourceVideo = new SimpleDriverDataSource(); dataSourceVideo.setDriverClass(org.mariadb.jdbc.Driver.class); dataSourceVideo.setUrl("jdbc:mariad.. 2022. 11. 23.
[IT 용어] 자바(Java) 동영상 설명 [IT 용어] 자바(Java) 정의 자바(Java)는 미국의 선 마이크로시스템즈(Sun Microsystems) 사에서 개발한 객체지향 프로그래밍 언어이다. 역사 자바는 1996년에 정식 버전이 배포되어 현재까지 많이 사용되는 프로그래밍 언어이다. 2010년에 미국의 오라클(Oracle)이 선 마이크로시스템즈를 인수하여 자바의 권리를 오라클이 가지게 되었다. 라이선스 자바 프로그램을 개발하기 위해서는 JDK(Java Development Kit)가 필요한데 JDK는 상업 라이선스인 OracleJDK와 GPL2 라이선스인 OpenJDK 두 가지로 제공된다. 주요 인물 자바와 관련 있는 프로그래머 중 한 명으로 제임스 고슬링(James Arthur Gosling)을 꼽는데 자바를 최초로 개발한 .. 2022. 11. 10.
자바에서 처리를 지연(딜레이, Delay)하는 방법 자바 프로그램의 처리를 지연하는 방법은 아래와 같다. 필자의 경우 스프링 프레임워크 등으로 작성한 자바 프로그램에서 동기 관련 트러블 슈팅 용도로 사용한다. 스레드 클래스 활용 방법 try { Thread.sleep(시간); // 단위 ms } catch (InterruptedException ie) { Thread.currentThread().interrupt(); } 참고문서 [1] "Class Thread", 오라클 JDK 8. @원문보기 2022. 11. 8.
마이바티스에서 프로시저를 호출하는 방법 본 글에서는 티베로(오라클)의 데이터베이스를 사용하는 마이바티스 프로젝트에서 프로시저를 호출하는 것과 프로시저에 값을 전달하고 받는 방법을 소스 코드와 함께 설명한다. 프로시저 작성 예제 아래의 SQL(Structured Query Language)처럼 프로시저를 작성한다. CREATE OR REPLACE PROCEDURE EXAMPLE_PROCEDURE( IN_DATA IN VARCHAR2, OUT_ERROR_CODE OUT NUMBER, OUT_ERROR_MESSAGE OUT VARCHAR2 ) IS BEGIN INSERT INTO EXAMPLE_TABLE(COLUMN) VALUES(IN_DATA); OUT_ERROR_CODE := 0; OUT_ERROR_MESSAGE := '성공'; EXCEPTIO.. 2022. 11. 8.
[자바/JAVA] 'System.out' 표준 출력으로 문자 출력하기 동영상 설명 2강. 'System out' 표준 출력으로 문자를 출력하자 필요성 프로그램이 사용자에게 글자를 보여줘야할 때 자바에서는 'System.out' 이라는 표준 출력 클래스를 활용할 수 있다. 현재 시스템의 출력 환경에 대응하여 출력하므로 편리하다. 코딩 방법 표준 출력 클래스에는 여러 메서드가 있다. 본 글에서는 print(), println(), printf()를 설명한다. 아래와 같이 사용할 수 있다. System.out.print() System.out.print(입력값); System.out.println() System.out.println(입력값); System.out.printf() System.out.printf("형식지정자", 입력값); 코딩 예제 예제 소스: https://g.. 2022. 10. 24.
윈도우에 OpenJDK 8을 설치하자 OpenJDK 8을 사용하는 이유 OpenJDK를 사용하는 이유는 여러가지가 있겠지만 보통은 라이센스 때문이다. 하지만 나처럼 알고리즘 공부 때문에 사용하는 경우도 있다. 특히 SW Expert Academy의 경우 OpenJDK 8를 지원하기 때문에 OpenJDK 8을 사용할 수 밖에 없다. OpenJDK 윈도우 설치 방법 OpenJDK를 설치하기 위해 아래의 주소로 이동하여 윈도우에서 OpenJDK를 쉽게 설치할 수 있도록 빌드해놓은 것을 다운로드 받는다. OpenJDK 윈도우 빌드: https://github.com/ojdkbuild/ojdkbuild 아래의 사진처럼 인스톨러를 다운로드가 완료되면 실행한다. 'Next' 버튼을 누른다. 약관에 동의하고 'Next' 버튼을 누른다. 기본값으로 설치할 .. 2022. 10. 11.
[Java] 표준 출력 사용하기 println(), print(), printf() 동영상 설명 2강. 'System out' 표준 출력으로 문자를 출력하자 개요 자바(Java)에는 표준 출력을 할 수 있는 메서드로 println()과 print(), printf()가 있다. 이 메서드는 System.out 클래스에 있다. 사용 방법은 다음과 같다. 예제 자료: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/io/SystemOutPrintExample.java println() 사용법 println()은 입력된 값에 개행문자가 함께 출력되는 메서드이다. System.out.println("문자열"); System.out.println("문자열"+"문자열"+변수); System.out.p.. 2022. 8. 31.
이클립스에서 'Project Facets'를 강제로 지정하는 방법 이클립스(Eclipse)에서는 아래의 사진처럼 간혹 공식적으로 지원하는 버전이 제한되서 'Project Facets'를 GUI에서 설정하지 못 하는 경우가 있다. 하지만 특정 환경에서 개발을 해야한다면 강제로 설정할 필요가 있다. 그런 경우 아래의 사진처럼 프로젝트 폴더에서 '.settings'라는 폴더로 이동하여 'org.eclipse.wst.common.project.facet.core.xml'을 텍스트 에디터로 열어서 수정하면 된다. 텍스트 에디터로 facet 파일을 열면 아래의 사진처럼 설정들이 나온다. 수정하기 전에 꼭 이클립스를 종료하여야 한다. 2022. 8. 11.
톰캣(Tomcat) 7에서 톰캣 8로 전자정부(스프링) 프레임워크를 포팅할 때 발생하는 오류 기존 프로젝트를 기반으로 새로운 프로젝트를 진행 중인데 고객의 요청에 따라 톰캣(Tomcat) 7에서 톰캣 8로 기준 버전을 올려야 했다. 그랬더니 아래와 같은 오류가 발생하였다. 톰캣 7과 톰캣 8 간에 패키지명 정책이 달라서 발생한 문제였다. 문제 발생 2022-08-08 14:57:12,830 WARN [org.springframework.web.context.support.XmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt org.springframework.beans.factory.BeanCreationException: Error creating bean .. 2022. 8. 8.
자바 프로그래밍 학습을 위해 자바와 이클립스를 설치하자 자바와 이클립스를 설치해야하는 이유 자바 프로그래밍을 공부하기 위해서는 자바(Java)와 이클립스(Eclipse)를 설치해야 합니다. 여기서 말하는 자바는 OracleJDK 또는 OpenJDK를 말하는 것인데 입문자가 본 글을 읽는 것을 생각하여 본 글에서는 OracleJDK를 자바라고 지칭하겠습니다. * JDK는 Java Development Kit의 약자로 자바 개발 도구모음를 말합니다. 현재는 오라클 사가 OracleJDK와 OpenJDK를 모두 관리하고 있지만 OracleJDK의 경우 상업적으로 이용하려는 경우 비용이 발생하는 단점이 있지만 릴리즈 주기가 길고(3년) 오랜 기간 기술 지원을 제공한다는 점이 장점입니다. OpenJDK의 경우 무료로 사용이 가능한 장점이 있지만 릴리즈 주기가 짧고(6.. 2022. 7. 1.
윈도우에 OpenJDK 14를 설치하자 OpenJDK 14를 설치하는 이유 자바8을 기반으로 알고리즘을 구현하는 중에 해설에서 사용된 메서드가 나의 프로그램에서 지원되지 않아서 알아보니 신버전의 자바에 추가된 메서드였다. 확실히 코딩량이 확 줄어드는 효과가 있었고 코딩테스트 플랫폼에서 지원하는 버전이라 OpenJDK 14를 내 컴퓨터에 설치했다. OpenJDK 14 다운로드 OpenJDK의 공식 홈페이지는 https://openjdk.org/ 이지만 여기서 받으면 설치가 아래의 사진처럼 설치가 번거로운 형식을 지원하기에 나는 인스톨러 형식으로 빌드된 것을 다운받아서 설치할 것이다. 윈도우 인스톨러 형태로 빌드되어 있는 것을 아래의 주소에서 받을 수 있다. 아래의 사진처럼 찾아서 다운로드 링크를 누르자. OpenJDK : https://gith.. 2022. 6. 25.
[프로그래머스] 체육복 해설과 자바 소스코드 가장 쉬운 수준의 프로그래머스 알고리즘 문제이다. 하지만 제한사항이 많고 구체적으로 밝혀져 있지 않은 제한사항이 있기 때문에 까다롭다. 문제 내용은 아래의 문제 주소에 가서 확인하면 된다. 문제 주소 https://programmers.co.kr/learn/courses/30/lessons/42862 구체적으로 밝혀져 있지 않은 제한사항 여별의 체육복을 가져온 학생 1명마다 여벌의 체육복은 1벌만 있다. 앞번호의 학생과 와 뒷번호의 학생 모두 여벌의 체육복이 있는 경우 앞번호의 학생으로부터 체육복을 빌린다. 문제 해결 순서 앞번호의 학생으로부터 먼저 체육복을 빌릴 수 있도록 오름차순 정렬한다. 여벌의 체육복을 가져온 학생이 체육복을 도난 당한 경우 여벌의 체육복을 가져오지 않은 것으로 수정한다. 체육복을.. 2022. 6. 8.
[Amazon Linux 2] 자바(Java) 8 설치하는 법 아마존 리눅스 2(Amazon Linux 2)에 톰캣을 설치해야해서 자바(Java) 8을 설치하게 되었다. 여러번 보게 될 것 같아서 여기에 글을 쓴다. 1. 자바 설치 확인 아래의 명령어를 입력하여 그림 1과 같이 자바가 설치되어있는지를 확인한다. 설치되어 있으면 설치했던 방법을 참고하여 삭제한다. java -version 2. 설치가능한 자바 패키지 정보 확인 아래의 명령어를 입력하여 설치가능한 자바 패키지 정보를 확인한다. 그림 2와 같이 'java-1.8.0' 으로 시작하는 패키지가 있으므로 yum 명령어로 설치가 가능하다. sudo yum list | grep jdk 3. 자바 설치 아래의 명령어를 입력하여 그림 3처럼 자바 8을 설치한다. sudo yum install java-1.8.0-op.. 2022. 2. 16.
이클립스로 NS-3 개발하기(1/3) - 이클립스 설치 통합개발환경(Integrated Development Environment, IDE)로 개발하는 것은 생산성을 대폭 향상 시켜준다. 통합개발환경은 버튼 한번으로 빌드와 실행이 가능하고 자동완성 기능 등 다양한 생산성 향상을 위한 도구가 통합되어 있기에 이 시대를 살아가는 개발자들은 다 통합개발환경을 활용하여 개발하고 있다고 볼 수 있다. 마찬가지로 NS-3도 여러 통합개발환경을 통해 개발이 가능하다. 이번 글에서는 개인과 기관 모두 사용료가 무료인 이클립스(Eclipse)를 활용한 NS-3 개발환경 구축을 소개한다. 개발환경 Ubuntu 18.04 OpenJDK 8 Eclipse 2018-09 R 이클립스는 JVM(Java Virtual Machine, 자바가상머신)에서 실행가능하므로 우분투(Ubuntu.. 2020. 12. 7.
자바 프로그래밍이란? 개발사 자바(Java)는 썬 마이크론시스템즈(Sun Microsystems)에서 1995년에 개발된 객체 지향 프로그래밍 언어이다. 제임스 고슬링(James Arthur Gosling)이 고안하였으며 현재 강력한 프로그래밍 언어 중 하나이다. 2010년에 썬 마이크론시스템즈가 오라클에 인수되어 오라클 홈페이지에서 자바 프로그래밍에 필요한 프로그램인 JDK(Java Development Kit, 자바 개발 도구)를 다운받을 수 있다. JDK 종류 JDK는 크게 OracleJDK와 OpenJDK로 구분 가능한데 라이센스 정책이 OpenJDK는 무료이며 OracleJDK의 경우 유료화가 진행되고 있으므로 사용하고자 하는 목적에 따라 구분하여 사용하는 것이 필요하다. 개인이 학습 목적으로 사용하는 것에는 둘 다.. 2020. 12. 5.
[자바/JAVA] 네이버 SMTP를 활용해 메일을 발송해보자 본 글은 2017년 7월 19일 08시 32분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. JAVA 기반의 SMTP 메일 발송 샘플코드를 기록하는 글이다. JavaMail 이라는 라이브러리를 가져다 쓰자 여기에서(https://javaee.github.io/javamail/) 받을 수 있다. 이 라이브러리는 SMTP와 IMAP, POP3을 지원한다. 개발환경 : JDK 1.8.0_111 x64, Windows 7, Eclipse Mars.1 Release (4.5.1), JavaMail 1.6.0 위에 있는 링크에 가서 javax.mail.jar을 받는다. 그 후 이클립스에 프로젝트를 생성하고 SMTP 클래스를 생성한 후 외부라이브러리를 위와 같이 추가한다. package ex.. 2020. 10. 5.
스프링 시큐리티를 쓸 때 한글 관련 인코딩으로 주의해야할 점 스프링 시큐리티(Spring Security)를 쓴다면 주의해야할 것이 있다. 내가 이것 때문에 오랜 시간 삽질을 했었다. 스프링 시큐리티는 ISO/IEC 8859-1 인코딩을 쓰는데 필터 순서를 제대로 안 맞춰주면 스프링 시큐리티의 필터가 먼저 동작하여 인코딩이 의도한 대로 동작하지 않는다. 나는 한글을 사용해야하고 웹프로젝트와 DB 모두 UTF-8로 설정되어 있었기 때문에 UTF-8로 데이터가 통신되어야 하는데 web.xml 설정 파일에서 필터 순서를 잘 못 지정해줘서 데이터가 ISO/IEC 8859-1로 통신되고 있었다. 설정 파일에서 필터는 위에(낮은 라인 번호) 있는 것이 먼저 실행된다. 검색하다보니 정통적으로 실수하는 내용인 것을 알았다. 다시는 실수하지 않기 위해 글을 남긴다. [참조] [1.. 2020. 9. 6.
마인크래프트에서 공지와 귓속말을 하는 플러그인을 만들어 보자 이번 글에서는 마인크래프트 페이퍼(PaperMC) 서버에서 공지와 귓속말을 특정 주기에 따라 반복적으로 하는 플러그인을 만드는 것을 소개합니다. 동영상 설명 마인크래프트에서 공지와 귓속말을 하는 플러그인을 만들어 보자 마인크래프트에서 귓속말은 중요 지금 만들려고 하는 기능은 서버의 이벤트를 필요에 따라서 서버에 접속해 있는 모든 인원 또는 몇 명에게만 알리는 기능을 구현할 때 무조건 쓰이는 기본 기능이므로 매우 중요합니다. 마인크래프트에서 귓속말 플러그인 소스 불러오기 이클립스를 실행하여 아래 주소로 소스코드를 받아옵니다. 이 주소를 복사부터 하자. 이클립스 프로젝트 탐색기에서 오른쪽 버튼을 누르고 'Import'→'Import'로 이동합니다. 소스코드 저장소 주소 : https://github.com/.. 2020. 8. 26.