전체 글 141

이클립스 에러 해결 The selected JRE does not support the current compiler compliance level of 16

문제 발생 이클립스에서 JDK1.8을 연결하려고 하니 아래와 같은 에러가 발생한다. (맨 끝자리의 숫자 16은 환경에 따라 바뀔 수 있다.) The selected JRE does not support the current compiler compliance level of 16 해결 방법 알아보니 컴파일러에 설정된 Java 버전과 달라서 나는 오류였다. [Java] > [Complier]를 보면 현재 "16"으로 설정되어 있다. JDK Compliance는 호환되는 JRE를 설치하고 활성화해야 한다. 즉, 설치된 JDK와 컴파일러 버전을 서로 일치시키면 된다. 내 경우 JDK 버전과 동일하게 1.8로 일치시키니 해당 오류 문구가 사라졌다.

윈도우 내 PC가 x86인지 x64인지 확인하는 방법

윈도우에서 설치 프로그램을 다운받을 때 간혹 x64인지 x86인지 묻는 경우가 있다. 보통 컴퓨터인 경우 대부분 x64에 해당한다. 내 PC는 어떤 비트일까? 32bit와 64bit 내 PC가 어떤 비트인지 알아보기 전에 기본적인 구분법을 알아보자. 컴퓨터에서 다루는 bit 단위는 CPU에서 처리하는 데이터의 최소 단위를 말한다. 일반적으로 CPU는 i3 보단 i7 사양이 더 좋다. 숫자가 높을 수록 고사양인 것처럼 32bit 보다는 64bit 가 좋다고 인식하면 된다. 비트가 클수록 한 번에 처리할 수 있는 데이터가 많아지기 때문이다. x86과 x64 윈도우에서 비트를 표기할 때 32비트는 x32, 64비트는 x64로 표기하면 인지하기 쉬울텐데 64비트는 x64로 표기되어 있으나, 32비트는 x32가 ..

자바의 데이터 타입(Primitive type, Reference type)

타입(Data type)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것이다. 자바에서 타입은 크게 기본형 타입과 참조형 타입이 있다. 기본형 타입(Primitive type) 기본형 타입은 아래 표와 같이 총 8개의 타입들이 존재한다. 자바에서 미리 형식을 정의하여 제공하고 있으며, 기본값이 존재하기 때문에 Null 개념이 존재하지 않으므로 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용하면 된다. 기본형 타입은 실제 값을 저장하는 공간으로, 스택(Stack) 메모리에 저장된다. 주로 문법상의 에러(예를 들어 ;을 안붙였다든지)로 빨간 줄이 쳐지는 경우처럼 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러..

Backend/Java 2022.01.31

자바의 구동 원리와 JVM(Java Virtual Machine)

자바 프로그램의 구동 원리 소스코드를 작성한다. (.java 확장자의 소스 파일) 컴파일러(javac.exe)가 바이트코드로 변환한다. (.class 확장자의 클래스 파일) 런처(java.exe)로 자바 가상 머신을 구동시킨다. 자바 가상 머신이 바이트코드를 해석하여 자바 프로그램이 실행된다. 위 순서에서 바이트코드(bytecode)는 자바 가상 머신이 이해할 수 있는 언어로 변환된 코드다. 자바 가상 머신만 설치되어 있다면 바이트코드는 어떤 운영체제에서라도 실행될 수 있다. 자바 가상 머신(JVM) 일반 프로그램은 "운영체제"가 프로그램을 실행시킨다. 반면 자바 프로그램은 운영체제가 JVM을 실행시키면 "JVM"이 프로그램(클래스 파일)을 실행시킨다. 즉, 자바 프로그램의 클래스 파일들은 운영체제에서 ..

Backend/Java 2022.01.26

Git이란? (feat. Git의 브랜치 전략)

버전 관리 시스템은 크게 2가지 방식이 있다. 과거에는 중앙집중식 위주로 버전을 관리하다가, 요새는 분산식으로 많이 이용하는 추세이다. 분산식 버전관리의 대표적인 예가 바로 Git 이다. 중앙집중식 (Central Control System) : CVS, Subversion 분산식 (Dynamic Control System) : Git 중앙집중식은 중앙 서버에서 별도로 파일을 관리한다. 클라이언트는 중앙 서버에서 파일을 받아서 사용(checkout)하는데 만약 중앙 서버가 다운되면 답이 없다(..) 반면 분산식은 클라이언트는 저장소를 전부 복제한다. 그래서 서버가 다운되어도 이 복제물로 다시 작업을 시작할 수 있다. 즉, 클라이언트 중에서 아무거나 골라도 서버를 복원할 수 있다. 게다가 Github 같은..

WebSquare5 유튜브 동영상 출력하기

웹스퀘어에서 유튜브 영상을 재생하기 위해 기능을 구현하다보니 작은 시행착오가 발생해서 이를 기록해두려고 한다. video 태그로 구현 웹스퀘어API 에서는 video 컴포넌트가 명시가 되어있어서 해당 컴포넌트를 사용할 수 있다고 생각했으나, 아직 video 컴포넌트를 정식 지원하지 않는다고 한다. 따라서 해당 object에 직접 접근할 수 없고, $("#video1")와 같이 jQuery 방식을 이용하여 접근해야 한다. var url = "https://youtu.be/dP0hwfPJoa4"; $("#video1").attr("src", url); 유튜브의 단축url로 구현 위와 같이 jQuery 방식으로 구현했는데도 영상이 재생되지 않았다. 찾아보니 유튜브 같은 경우는 iframe을 대신 사용해야 한다..

Frontend/WebSquare 2021.03.25

JavaScript 웹으로 SNS 공유하기 구현 예제(트위터, 페이스북, 카카오톡)

웹에서 SNS로 콘텐츠를 공유하는 기능을 구현해야 할 때가 있다. 트위터, 페이스북, 카카오톡 같은 SNS에서는 이를 공유하는 기능을 제공하고 있다. 이 기능으로 이미지, 링크, 멀티미디어 등 다양한 콘텐츠를 공유할 수 있다. 아이콘 추가하기 이미지 버튼으로 보여줄 아이콘 이미지를 다운로드 받는다. (트위터, 페이스북, 카카오톡의 아이콘 이미지) CSS 추가하기 다운받은 아이콘 이미지를 적용하기 위해 아래 CSS를 추가한다. 각 이미지 버튼에 아이콘을 매핑하는 작업이다. .link-icon { position: relative; display: inline-block; width: auto; font-size: 14px; font-weight: 500; color: #333; margin-right: 1..

Frontend/JavaScript 2021.03.24

JavaScript 텍스트를 클립보드로 복사하는 방법

텍스트 복사하는 기능은 웹으로는 어떻게 처리할까? execCommand 기능을 이용하여 매우 쉽게 구현할 수 있다. JavaScript로 구현하기 let dummy = document.createElement("textarea"); document.body.appendChild(dummy); dummy.select(); // 복사할 URL 선택 document.execCommand("copy"); // 클립보드에 복사 document.body.removeChild(dummy); // 복사한 URL 선택 풀기 alert("URL이 클립보드에 복사되었습니다"); 웹스퀘어에서 구현하기 ibxObj.select(); // 복사할 URL 선택 document.execCommand("copy"); // 클립보드에 ..

Frontend/JavaScript 2021.03.24

WebSquare5 웹스퀘어 시작하기

최근 프로젝트에서 WebSquare를 처음으로 사용하게 되었다. 프로젝트에서 사용하기 위해 WebSquare 공부를 시작하지만, 이 점을 항상 명심하려고 한다. 편하게 제공된 UI 툴을 쓰다 보면, 화면을 찍어내는 느낌과 웹 기술에서 점점 퇴보되가는 느낌을 받는다고 한다. 따라서 회사에서 UI 툴을 쓰더라도, 회사 밖에서 의식적으로 react, vue 등의 기술을 공부하는 습관을 들이자. 지금부터 유튜브 사용자 가이드, API를 통해 WebSquare의 기본적인 사용법을 적어보려고 한다. 웹스퀘어 인스웨이브사에서 만든 웹스퀘어는 웹표준을 따르는 UI/UX 개발툴로 현재 버전 5까지 나와있다. 함께 언급되는 툴로는 투비소프트의 Nexacro, xPlatform, 토마토시스템의 eXbuilder 등이 있다...

Frontend/WebSquare 2019.12.27

Putty로 원격 서버에 접속해서 Tomcat 로그 확인하기(catalina.out)

나는 CentOS 7 서버 내의 Tomcat의 로그를 확인하고 싶었다. 그러기 위해선 원격으로 서버에 접속한 뒤, Tomcat 로그를 담는 catalina.out 파일을 확인해야 한다. 지금부터 Putty를 이용해서 로컬 컴퓨터에서 원격 서버로 접속한 뒤, 톰캣 로그를 확인해보려고 한다. 1. 원격 서버의 IP 주소 알기 먼저, 내가 접속하려는 원격 서버의 IP 주소를 알아야 한다. 서버에서 터미널을 열어 아래 명령어를 치면 해당 서버의 IP 주소가 나올 것이다. ifconfig 2. Putty 설치하기 Putty 프로그램을 이용하여 원격 서버에 접속을 할 것이다. Putty 사이트에서 자신의 운영체제에 맞는 파일을 설치한다. 기본 설치 경로는 C:\Program Files\PuTTY 이다. 설치가 끝나..