전체 글 (158) 썸네일형 리스트형 [Linux] 리눅스 vi 편집기 자주 사용하는 명령어 단축기 사용법 리눅스 vi 단축키 리눅스 vi편집기에서 기본적으로 자주 이용하는 단축키 모음 파일 열기 vi file : file이란 이름의 파일을 vi편집기로 열기 모드변경 ESC : 입력모드에서 명령모드로 변경 입력하기 i : 커서 앞쪽(왼쪽)에 입력모드 a : 커서 뒷쪽(오른쪽)에 입력모드 o : 다음줄에 입력모드 O : 윗줄에 입력모드 shift + a : 라인 끝에서 입력모드 삭제하기 dd : 커서가 있는 라인의 줄 전부 지우기 x : 커서에 위치가 한 글자 지우기 X : 백스페이스 기능으로 X를 누르면 커서 앞에 있는 글자를 계속 지운다. r : 커서에 위치한 한 글자를 변경(r을 누르고 원하는 문자를 입력하면 커서에 있는 숫자를 변경한다.) 커서이동 h : 왼쪽 이동 j : 아래 이동 k : 위로 이동 l.. [Linux] 리눅스 백업파일 swp 삭제 및 백업파일 생성 막기 리눅스 vi편집기에서 편집 중 예기치 않은 오류가 발생하면서 정상적인 종료가 되지 않을 경우 .swp 확장자의 파일이 생성되는것을 볼 수 있다. 비정상적으로 종료될 경우 파일의 손상을 막기 위해 백업을 하는것과 같다고 볼 수 있다. 이럴 경우 파일에 접근하면 계속 백업 파일이 생성될 수도 있다. 파일을 지우는 방법은 여느 파일을 지우는것과 마찬가지로 지우면 된다. swp는 숨김파일이기 때문에 숨김 파일 보기로 해당 파일을 확인해야 한다. ls -al rm .file.swp 백업파일을 생성하지 않도록 하는 방법도 있다. vi 편집기 설정파일을 열고 set noswapfile을 추가해준다. :wq 명령어로 저장하고 나온다. vi /etc/virc set noswapfile :wq [JAVA] 자바 SWT dialog 실행 중 부모 객체 동기화 Invalid thread access dialog 실행 중 상위 Component 접근 dialog 실행 중 상위 component에 접근하려고 하면 Invalid thread access 에러가 발생한다. Thread가 달라 접근할 수 없다는 에러인 듯 하다. 이럴경우 Display.getDefault().syncExec로 싱크를 맞춰 접근할 수 있는 방법이 있다. private Table tableList; try { dialog.run(true, true, IRunnableWithProgress() { @Override public void run(IProgressMonitor ipm){ Display.getDefault().asyncExec( new Runnable() { @Override public void run() { // 로.. [JAVA] 자바 줄바꿈 엔터 공백 제거방법(엑셀 붙여넣기) 자바 공백 제거 방법 엑셀파일에서 셀을 클릭하고 복사 후 TEXT필드에 붙여넣기 하면 값 뒤에 줄바꿈 처리가 되어 들어오는데 이 때 줄바꿈 밑 공백 제거하는 방법 시스템에 따들 줄바꿈 개행문자 차이 unix > \n mac > \r windows > \r\n 자바 줄바꿈 공백 제거 System.getProperty("line,separator") public void setText(String txt) { String text = txt; text.replace(System.getProperty("line.separator").toString(), ""); } public void setText(String txt) { String text = txt; text = text.replace("\n", "".. [Java] 자바 스레드 생성 상속과 인터페이스를 이용한 사용 방법 Extends 상속을 이용한 스레드 생성 방법 ExtendsThread 클래스에서 Thread를 상속받고 run() 메소드를 오버라이딩한다. ExtendsThreadMain 클래스에서 Thread를 생성하고 start() 메소드를 실행한다. class ExtendsThread extends Thread { pubic void run() { System.out.println("run"); } } public class ExtendsThreadMain() { public static void main(String[] args) { Thread thread = new ExtendsThread(); thread.start(); } } implements 를 이용한 스레드 생성 방법 RunnableThread 클.. Eclipse 이클립스 Git 저장소 clone으로 연결하기 이클립스에서 Git 저장소 연결하기 이클립스 우측 상단의 아이콘 메뉴에서 첫번째 Open Perspective 버튼을 클릭한다. Open Perspective 화면에서 Git을 선택하고 Open 버튼을 클릭한다. Git Repotitories에서 우측 아이콘 세번째 Clone a Git Repository and add the clone to this view 버튼을 클릭한다. Clone Git Repository 화면에서 Git에서 복사한 URL을 입력하면 Git 저장소 정보가 자동으로 입력된다. 제대로 입력됐으면 Next 버튼을 클릭한다. Clone Git Repository 화면에서 Git 저장소가 가지고 있는 branch 목록이 표시된다. Branch를 선택하고 Next 버튼을 클릭한다. Git에.. Junit 4 단위 테스트 라이브러리 이클립스 설치 및 사용법 JUnit은 단위테스트 프레임워크 중 하나로 라이브러리를 설치해서 쉽게 사용할 수 있다. 이클립스에서 JUnit 4 설치 이클립스에서 프로젝트 우클릭 후 Properties를 클릭한다. Properties화면 왼쪽 메뉴에서 Java Build Path를 클릭한다. Java Build Path 화면에서 Libraries 탭을 클릭한다. Libraries 화면에서 오른쪽의 Add Library.. 를 클릭한다. Add Library 화면에서 JUnit을 선택 후 Next 버튼을 클릭한다. JUnit library version에서 JUnit 4를 선택하고 Finish 버튼을 클릭한다. Libraries에 JUnit 4 가 보인다. JUnit 사용법 junit.Test을 import 하고 @Test 애노테이션.. Javascript img src에 이미지가 없어서 엑박뜰때 이미지 안보이게 하기 태그에서 src경로에 이미지가 없어서 이미지가 보이지 않고 엑박이 뜰때 보이지 않게 하는 방법 img태그에 onerror에 display을 none으로 처리하여 안보이게 한다. 이렇게 사용할 경우 icon.png이미지를 찾고 해당 이미지가 없으면 onerror처리를 하기 때문에 화면에 잠시 엑박 이미지가 보이고 사라지는 현상이 발생한다. 이미지 대체하기 onerror에 this.src로 대체할 이미지 경로를 입력한다. [JAVA] CSV 파일 데이터 읽기 Java에서 csv 파일 읽기 csv 파일을 InputStreamReader로 읽은 후 로우별로 ArrayList에 담는다. try { InputStreamReader isr = new InputStreamReader(file.getInputStream()); BufferedReader in = new BufferedReader(isr); // 파일이름 String fileOrgNm = file.getOriginalFilename(); List csv = new Arraylist(); List list = new ArrayList(); while ( (line=in.readLine()) != null ) { String regex = ","; // String regex = "\\^"; int limit.. [Oracle] 오라클 DB LINK 설정하는 방법 tnsnames.ora과 명령어 설정 오라클에서 DB LINK 설정하는 방법 두 가지 사전조건 가상서버와 로컬PC에 오라클을 설치 로컬PC의 방화벽을 해제 특정포트를 열기 위해 인바운드 설정 Windows10 윈도우 컴퓨터 방화벽 간단히 차단 끄기, 차단 해제 Windows10 방화벽 해제 방법 윈도우 방화벽을 설정하는 이유는 외부로 부터의 허용되지 않은 접근을 막아주거나, 내부에서 외부로 유출되는 정보등을 막기 위함이다. 윈도우 방화벽은 기본적으로 ohtanja.tistory.com tnsnames.ora 파일에서 설정하는 방법 CREATE DATABASE LINK DB_LINK CONNECT TO ID IDENTIFIED BY PW USING 'XE' tnsnames.ora를 수정하기 전에 DB_LINK명과 ID PW 그리고 SID를 등.. [Excel] 개발자가 알면 유용한 엑셀 VLOOKUP으로 범위지정하여 같은 값 찾기 EXCEL VLOOKUP Vertical Lookup으로 수직으로 값을 찾으면서 내려간다 해서 VLOOKUP이라 사용한다. VLOOKUP은 프로그래머들이 문서작업할 때 유용하게 사용할 수 있다. 문법 VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) lookup_value : 찾을 값(지정된 범위에서 찾을 값) table_array : 참조범위(절대값 참조할 경우 $를 입력) col_index_num : 열번호(참조범위의 index 번호 / index 번호는 1부터 시작) range_lookup : 일치여부(TRUE : 유사일치 / FALSE : 정확히 일치) 사용법 예제) E열의 test5.jsp, test11.jsp, test12.j.. [Javascript] Chrome, IE 브라우저 종류 확인 navigator userAgent Javascript navigator로 브라우저 구분하기 IE 브라우저 var agent = navigator.userAgent.toLowerCase(); if( navigator.appName == 'Netscape' && navigator.userAgent.search('Trident') != -1 || (agent.indexOf("msie") != -1)) { console.log("Internet Explorer 브라우저입니다."); } Internet Explorer 11 mozilla/5.0 (windows nt 10.0; wow64; trident/7.0; .net4.0c; .net4.0e; .net clr 2.0.50727; .net clr 3.0.30729; .net clr 3.5.307.. [Excel] 여러명이 동시 엑셀 공동 작업을 할 수 있는 파일 공유 설정 엑셀작업을 할 때 한 명이 저장하고 다른사람에 넘겨줄 필요 없이 하나의 엑셀파일을 공유설정을 통해 여러명이 동시에 엑셀작업을 할 수 있다. 우선 엑셀파일을 연다. 상단의 메뉴에서 검토로 이동하면 통합 문서 공유가 나온다. 통합 문서 공유를 클릭하면 아래와 같은 화면이 나온다. 편집/고급 탭이 나오는데 편집의 ㅁ여러 사용자가 동시에 변경할 수 있으며 통합 문서 병합도 가능(A) 를 체크한다. 체크하면 고급탭에서 설정을 변경할 수 있도록 화면이 보여진다. 변경 내용 추적, 변경 내용 업데이트, 충돌 해결 등의 설정을 맞추고 확인 버튼을 클릭한다. 문서 공유를 설정하고 나면 상단의 엑셀 타이틀이 문서 공유 - Excel 에서 문서 공유 [공유] - Excel 로 변경된다. [javascript] 자바스크립트로 label 요소 검색하기(querySelector) Jquery를 사용하지 않고 javascript로 label 요소 접근하기 document.querySelector() 는 문서 안에서 선택자와 일치하는 첫 번째 요소를 접근한다. 일치하는 요소가 없을 경우 null을 반환한다. document.querySelector('label[for="input-text"]') document.querySelector(".input-class"); [Java] cannot convert A of type class java.lang.string to class java.lang.long JAVA + JSP + JSTL 개발 JSP 화면에서 JSTL을 사용하여 를 사용할 때 에러가 발생하여 화면 UI가 전부 로드하지 못하는 에러가 발생했다. 개발자 모드에서 콘솔에 에러는 발생하지 않고 서버에서 cannot convert Y of type class java.lang.string to class java.lang.long 에러가 발생 java에서 model.attribute("use", 'Y'); 'Y'는 char 타입이라 "${use eq 'Y'}" 시 Y를 문자로 인식하지 않아서 발생하는 것 같다. model.attribute("use", "Y")로 변경하면 해결됨 [Javascript] getElementById Chrome 에러 IE7 버전 이전에서 getElementById가 에러없이 잘 동작하지만 Chrome에서 getElementById가 에러가 발생했다면 다음과 같은 에러일 수 있다. IE7 이전 버전에서는 getElementById 를 태그에서 찾을 때 ID와 NAME에서 먼저 찾는 것을 리턴한다. 다시 말하면 태그에 id와 name 둘 중 하나의 값만 있어도 그 값을 리턴받아서 사용한다. 예를 들어보자. input에 id값은 정의하지 않고 name값만 정의할 경우 ie7 이전 버전에서는 getElementById로 찾을 때 input에 id값이 없더라도 name값이 있으면 name의 값을 가져오기 때문에 에러가 발생하지 않는다. document.getElementById("test"); 이전 1 2 3 4 5 6 ··· 10 다음