포스트464 [Java] Java Reflection 소개 및 사용법, 예제 자바 리플렉션(Java Reflection)은 구체적인 클래스의 타입을 알지 못하는 상황에서그 클래스에 구현되어 있는 메소드와 필드 등의 정보, 즉 클래스의 구조를 확인할 수 있도록 자바가 제공해주는 API다. 리플렉션은 자바에서 제공해주는 API이기 때문에 별도의 jar 파일을 포함하거나 Maven 의존성을 추가하지 않아도 사용할 수 있다. 일반적으로 자바 리플렉션은 많이 사용되지는 않는다. 다만 프레임워크(Frame Work) 소프트웨어를 작성하거나 IDE 같은 소프트웨어를 작성하는 경우 사용자가 나중에 어떤 타입의 클래스를 사용할지 소프트웨어를 작성하는 당시에는 알지 못하는 경우가 많이 있다. 이 때, 런타임에 사용자가 넘겨준 클래스의 정보를 분석해서 동작할 수 있도록 리플렉션을 이용해 코드를 작성.. 2022. 8. 12. [Hadoop] 하둡 스트리밍(Hadoop Streaming)이란? 하둡 스트리밍(Hadoop Streaming)은 하둡과 함께 배포되는 유틸리티다. 하둡에서 MapReduce(이하 MR) 작업을 실행하기 위해서는 기본적으로 자바 언어를 이용해야 한다. 하지만 하둡은 하둡 스트리밍을 통해서 자바 이외에 파이썬이나 루비, Bash 스크립트 등으로도 MR 작업을 생성하고 실행할 수 있게 해준다. 하둡 스트리밍 동작 방식 하둡 스트리밍은 유닉스 스트림을 이용해 자바가 아닌 프로그램 혹은 스크립트가 MR 작업으로 동작하도록 해준다. 즉, 표준입력(stdin)과 표준출력(stdout)을 통해 입출력을 하는 프로그램과 스크립트는 하둡 스트리밍을 통해 MR의 Mapper 혹은 Reducer로 사용할 수 있다. 하둡 스트리밍은 다음과 같이 동작한다. 하둡 스트리밍 유틸리티는 Mappe.. 2022. 8. 2. [Eclipse] Java Compiler Warning 안나오게 하기 이클립스를 비롯한 다양한 IDE 들은 소스코드를 분석해서 컴파일 에러 혹은 경고 문구를 에디터에 표시해준다. 이 중 경고 문구는 잠재적으로 버그를 발생시킬 수 있는 코드를 확인시켜주기 때문에 왠만하면 경고문구에 해당하는 내용은 해결해주는게 좋다. 이클립스 역시 컴파일러 경고 문구를 에디터 창에 노란색 밑줄로 표시해준다. 예를 들어 Serializable 인터페이스를 구현하는 클래스가 serialVersionUID 필드를 포함하고 있지 않은 경우에는 경고 문구를 표시해준다. 그와 동시에 이클립스는 경고를 해소할 수 있는 방법을 제안해준다. 하지만 과유불급이라고 너무 상세한 경고 체크는 에디터에 너무 많은 노란색 밑줄을 띄우게 된다. 이클립스가 띄워준 경고이지만 사용 패턴을 엄격하게 컨트롤 할 수 있는 경우.. 2022. 7. 28. [Maven] Maven으로 테스트 케이스 실행하는 방법 메이븐 프로젝트에 정의되어 있는 테스트 케이스는 다음 명령으로 실행할 수 있다. $ mvn test 메이븐의 test 페이즈를 이용해 target/test-classes에 컴파일 되어 있는 Unit 테스트 클래스들을 실행하고, 실행 결과물을 target/surefire-reports 디렉토리에 생성한다. 만약 전체 테스트의 실행 대신 일부 테스트 파일에 있는 테스트 케이스들을 테스트해보고 싶으면 다음과 같이 실행하면 된다. $ mvn -Dtest=테스트클래스 test $ mvn -Dtest=테스트클래스1,테스트클래스2 test 이렇게 실행하면 테스트클래스에 정의되어 있는 테스트 케이스들만 실행한다. 프로젝트 전체 테스트 케이스 중 일부가 실패해서 반복적으로 실행해야할 경우 유용하다. 만약 특정 테스트클래.. 2022. 7. 25. [Windows] Visual Studio Code 설치 Visual Studio Code(이하 VSCode)는 Microsoft에서 오픈소스로 개발중인 에디터 소프트웨어다. Microsoft가 무료로 공개한 이래 점점 인기가 많아져 아마도 가장 많은 개발자들이 사용하고 있는 통합 개발환경이자 에디터가 아닐까 싶다. 개발 PC를 Windows 10으로 변경한 이후 새롭게 윈도우 기반으로 개발환경을 구축하고 있는데, 이 참에 VSCode를 설치해서 빡세게 사용해보자. 목차 Visual Studio Code 다운로드 Visual Studio Code는 공식 홈페이지에서 다운로드 파일을 받을 수 있다. (링크 : Visual Studio Code 홈페이지) 'Download for Windows' 버튼을 누르면 현재 배포되어 있는 VSCode의 Stable 빌드 버.. 2022. 7. 24. [Windows] VIM 설치하기 리눅스 서버 환경을 사용하다보니 간단한 텍스트 에디팅은 vim으로 하는게 편하다. 로컬 개발환경은 Windows 10을 사용하는데 윈도우는 vim을 기본제공하지 않기 때문에 불편하다. 윈도우에 vim을 설치해서 불편함을 해소해보자. VIM 설치 VIM 설치 파일 다운로드 페이지로 들어가자. (https://www.vim.org/download.php) 그러면 첫 화면에서 ‘PC: MS-DOS and MS-Windows’ 링크를 찾아볼 수 있다. 클릭하자. 그러면 화면이 아래쪽으로 내려가는데 gvim90.exe 같은 링크가 있을 것이다. 클릭하면 설치 파일이 다운로드 된다. 다운로드한 파일을 실행시키면 언어 선택을 하는 창이 나오는데 English를 선택하면 되고, 우리에게 익숙한 인스톨 실드 창이 나온다.. 2022. 7. 23. [IntelliJ] 터미널 탭에서 ESC 키 누르면 포커스 아웃되는 현상 해결 IntelliJ를 이용해 개발을 하다보면 터미널(Terminal) 탭을 이용해 쉘 명령을 사용하는 경우가 있다. 가끔씩 git 명령을 터미널에서 실행하는 경우가 있는데, IntelliJ의 GUI 환경보다 git 명령어를 직접 입력하는게 편한 경우가 있기 때문이다. 문제는 개발환경을 윈도우로 옮기면서 터미널 탭을 사용할 때마다 자꾸 포커스가 에디터로 이동하는 현상이었다. git 명령에서 커밋 로그를 수정하는 등 vi 에디터를 쓰는 경우가 있는데 ESC 키만 누르면 포커스가 소스코드를 편집하는 에디터로 옮겨가는 것이었다. 이 때문에 소스코드에 ":wq" 문자가 계속 쓰여지는 등 짜증나는 상황이 발생했다. 문제해결 IntelliJ의 설정을 변경하면 이런 문제를 해결 할 수 있다. Settings > Tools.. 2022. 7. 14. [SourceTree] 한글에서 영어로 언어 설정 변경 윈도우 환경에서 소스트리를 사용해 git 명령을 사용하려고 새로 설치를 했다. 그랬더니 기본 언어 설정이 한글이어서 원래 쓰던 영어 버전의 이름을 찾아보기 힘들었다. 그래서 소스트리의 언어 설정을 한글에서 영어로 바꾸기로 했다. 우선 [도구] - [옵션] 메뉴로 들어간다. [옵션] 창의 '일반' 탭에서 'Repo Settings' 영역의 '언어: ' 항목을 클릭하면 사용할 수 있는 언어 목록을 볼 수 있다. 기본적으로 '자동'이 선택되어 있는데 아마 운영체제의 어떤 설정을 따라가는 모양이다. 한글 윈도우니까 한글이 나오겠지 뭐.. 이걸 English 로 변경한다. 변경하고 '확인' 버튼을 누른다음 소스트리를 재시작하면 메뉴들이 영어로 변경된다. 2022. 7. 6. [WSL] pip install 명령이 먹통인 경우 해결 방법 윈도우에서 WSL2 환경으로 파이썬 개발을 하다보면 새로운 모듈을 설치해야할 경우가 있다. 이 때, pip install 명령을 사용하게 되는데 먹통이 되는 경우가 있다. $ pip install requests ^CTraceback (most recent call last): File "/usr/bin/pip", line 11, in load_entry_point('pip==20.0.2', 'console_scripts', 'pip')() File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 73, in main command = create_command(cmd_name, isolated=("--isolated" in cmd_ar.. 2022. 7. 5. 이전 1 ··· 12 13 14 15 16 17 18 ··· 52 다음