전체 글 140

자바의 데이터 타입(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

노트쓰기로 당신의 천재성을 끌어내세요.

1. 노트는 정자체로 쓰세요. 생각이 폭주할 수록 천천히 또박또박 쓰세요. 2. 노트는 반드시 다시 보세요. 더 새로운 생각이 탄생합니다. 3. 처음 20%를 단숨에 몰아쓰세요. 그러면 끝까지 쓸 확률이 높아집니다. 4. 큰 노트도 좋지만, 작은 수첩이 좋습니다. 더 꼼꼼하게 생각을 담을 수 있습니다. 천재는 새로운 시대를 열어가는 사람이고, 일등은 시대에 적합한 사람이다. 천재는 노트가 만들었다. 출처 : 이재영 교수님 - 세바시 890회

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 이다. 설치가 끝나..

아나콘다, 텐서플로, 케라스 설치후 주피터 노트북 실행하기

최근 머신러닝에 접할 일이 생겨 배운 것을 기록해보려고 한다. 지금부터 아나콘다, 텐서플로, 케라스를 순서대로 설치하고 주피터 노트북을 이용하여 간단한 예제를 실행해보려고 한다. 아나콘다 설치(Anaconda) 최신 버전: 3.7 설치한 아나콘다 버전 : 4.5.4 설치한 아나콘다 속 파이썬 버전 : 3.6.5 파이썬에는 다양한 라이브러리가 존재한다. 파이썬에서 딥러닝을 실행할 때 필요한 라이브러리가 있는데 아나콘다를 좀 더 쉽게 접근할 수 있다. 보통 일반적인 파이썬은 기본적으로 패키지 관리 시스템인 pip만 포함하고 있지만, 아나콘다는 딥러닝에 용이한 것들이 포함되어 있고 파이썬도 내장되어 있다. 즉, 아나콘다는 아래처럼 파이썬(내장) + 유명한 패키지들을 함께 설치할 수 있도록 합쳐놓은 것이다. 아..