본문 바로가기

전체 글487

C++ 문법 공부 - 할당 연산자(Assignment Operator) 연산자(Operator)는 뭔가 계산을 하기 위해서 사용되는 기호입니다. 모두가 잘 알고 있는 사칙연산인 더하기(+), 빼기(-), 곱하기(*), 나누기(/)가 그 예가 되겠습니다. (곱하기, 나누기 기호는 컴퓨터 프로그래밍에서는 수학에서 배운것과는 다른 기호인데, 키보드로 입력하기 쉬운 기호를 사용하는 것입니다.) 이 글에서 알아보게 될 할당 연산자는 위의 사칙연산과 같은 연산의 결과를 저장하기 위해 사용되는 연산자입니다. 할당 연산자를 대입 연산자라고도 부릅니다. 할당 연산자를 나타내는 기호는 하나의 등호(=)를 사용합니다. 수학에서는 같다는 의미인데, 컴퓨터 프로그램에서는 같다는 의미가 아니라 할당 연산자로 사용됩니다. a = 2 + 3; 위 처럼 사용해서 2와 3을 더한 결과를 변수 a 에 저장(.. 2018. 4. 17.
Spring Tool Suite에서 Organize Imports 단축키 Ctrl+Shift+O가 동작 하지 않을 때 자바소스에서 다른 패키지의 클래스를 사용하기 위해서 import 를 사용하게 됩니다. 개발중에 이것저것 import 하다 보면 나중에 사용되지 않는 import 가 생깁니다. 이것을 한번에 정리해주는 기능이 Eclispe의 Organize Imports 입니다. 메뉴에서 Source -> Organize Imports (Ctrl + Shift + O)를 선택하면 사용하지 않는 import 를 자동으로 제거해 줍니다. 이 기능은 현재 java 파일 소스가 선택된 상태에서 실행을 하면 현재 소스에만 적용이되고 프로젝트를 선택한 상태에서 실행을 하면 프로젝트내의 모든 java 파일에 대해서 실행이 됩니다. STS(Spring Tool Suite)도 이클립스를 기반으로 Spring Framework를 사용하기 .. 2018. 4. 17.
내가 메이븐(Maven) (빌드 툴, 의존성 관리도구)을 사용하는 이유 메이븐(Maven)은 빌드 툴이자 의존성 관리도구 입니다. 나는 이것을 자바를 사용하는 웹 프로젝트에만 사용합니다. 다른 프로젝트에는 사용해 본적이 없습니다. 전에는 이클립스를 이용해서 자바 웹 프로젝트를 만들때 프로젝트 위저드의 "Dynamic Web Project" 템플릿을 사용해서 생성을 해서 사용을 했었습니다. 이때 프로젝트 폴더의 구조는 아주 직관적인 구조였습니다. 단순했다고 할 수 있겠습니다. 이 경우 필요한 라이브러리(jar 파일)들은 /WEB-INF/lib 폴더에 넣어서 컨텍스트 전용으로 배포할 것과 WAS 에서 제공되어질 것을 직접 수동으로 관리를 하였습니다. 프로젝트가 오래되어 질수록 문서가 잘 정리되어 있지 않으면 라이브러리 버전 관리가 잘 안되는 경향이 있었습니다. 요즘은 형상관리도.. 2018. 4. 17.
Eclipse 선택된 변수들이 반전 표시가 안될 때 Eclipse 사용시 소스에서 변수를 더블클릭해서 선택하면 동일한 변수들이 모두 반전되어 표시됩니다. 어느날 갑자기 이 기능을 동작하지 않는것입니다. 쓸때는 아무 생각없이 그냥 사용하던 기능인데, 갑자기 안되니까 매우 불편한것 같습니다. 다시 반전 표시가 되도록 하려면 방법은 두 가지가 있었습니다. 1. Eclispe 툴바에서 Toggle Mark Occurrences (Alt+Shift+O) 아이콘을 눌러 기능을 켭니다. 2. 메뉴에서 Window -> Preferences 를 선택합니다. Preferences 창에서 Java -> Editor -> Mark Occurrences 를 선택합니다. 필요한 항목에 체크를 하고, "Apply" 버튼을 누른후 "OK" 버튼을 누릅니다. 왜 갑자기 기능이 동작을.. 2018. 4. 17.
전자정부 표준프레임워크 - JUnit 4 Test Case 생성하기 전자정부 표준프레임워크 Portal 템플릿 사이트에 컨트롤러를 테스트하기 위한 테스트 케이스를 추가해 보겠습니다. 1. src/test/java 폴더에 테스트 케이스가 들어갈 패키지를 생성합니다. 이 예제에서는 com.tistory.pentode.test로 만들었습니다. 2. 위에서 만들 패키지에 마우스 오른쪽 키를 눌러 New -> JUnit Test Case를 실행합니다. 3. Junit Test Case 생성창에서 클래스명을 ControllerTest 라고 입력하고 Finish 버튼을 누릅니다. 4. JUnit 4 라이브러리를 build path 에 추가할지 물어 봅니다. "Perform the following action"을 선택해서 빌드 패스에 추가합니다. "OK" 버튼을 누릅니다. 5. po.. 2018. 4. 12.
ArrayList 정렬(Sort) 하기 ArrayList에 포함된 요소들을 정렬하는 방법을 알아보겠습니다. 대부분의 웹 애플리케이션들은 데이터베이스에서 정렬된 데이터를 조회하여 ArrayList에 담아서 사용하므로 ArrayList 자체를 정렬할 일은 잘 없습니다. 하지만 가끔씩 리스트를 직접 정렬해야 할일이 생깁니다. ArrayList 를 정렬하는데는 Collections.sort() 메소드를 사용합니다. 이 sort() 메소드의 인자로 정렬할 리스트를 넘기게 되는데, 오버로딩된 두 가지 버전의 메소드가 있습니다. 첫 번째는 하나의 인자를 받는데, Comparable 인터페이스를 구현하고 있는 요소를 가지는 리스트를 인자로 주게 됩니다. 두 번째는 두개의 인자를 받는데, 첫 번째 인자는 리스트 객체이고, 두 번째 인자는 리스트내의 각 요소를.. 2018. 4. 12.
Oracle XE 컴퓨터 이름(Hostname) 변경후 접속 안될 때 Oracle XE가 설치된 컴퓨터의 이름을 변경한 후 데이터베이스에 접속이 안될 때 처리 방법입니다. 다음 폴더에서 두 개의 파일내에 컴퓨터 이름을 수정합니다. oraclexe\app\oracle\product\11.2.0\server\network\ADMIN 수정할 파일 입니다.* listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = PENTODE)(PORT = 1521)) ) ) * tnsnames.ora XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PEN.. 2018. 4. 12.
jQuery 플러그인 4 - 년도 select 박스 만들기 웹페이지에서 간단한 년도 선택상자(select 박스, 콤보 박스, 드롭다운 리스트)를 jQuery 플러그인으로 만들어 보겠습니다. 달력까지 제공되는 자바스크립트로된 UI 들이 많이 있지만, jQuery 플러그인 연습도 해볼겸 간단하게 사용할 수 있는 년도 선택상자를 만들어 봅니다. 보통 자바스크립트로 UI 를 만들때 요소를 사용해서 만들어질 곳을 표시하고, 스크립트에서 동적으로 태그를 교체하여 생성을 합니다. 이번 예제에서는 간단히 하기 위해서 요소를 직접 사용하여 내용을 동적으로 채울 수 있도록 합니다. 즉, 모양을 바뀌지 않는다는 것입니다. 요소의 옵션을 년도로 간편하게 채울 수 있는 초 간단 플러그인이 되겠습니다. * 기본적인 기능은 2010년을 시작 년도로하고, 마지막 년도는 현재년도 + 1 년까.. 2018. 4. 12.
휴가가 끝나가는 오후 - feat. 텃밭 이제 휴가가 하루 남았습니다. 휴가의 정석 방콕을 실천하다 너무 침대와 하나가 되는것 같아 텃밭을 잠시 둘러 보았습니다. 휴가 내내 날은 계속 흐린데, 비는 부슬부슬 몇 번 오는 정도네요. 밤에 한번 많이 왔다고 하는데, 해갈에는 부족한것 같습니다. 창고 구석에서 잘 자라고 있는 트리안 입니다. 처음에는 집안 생활을 좀하였는데, 진딧물이 너무 많아서 바깥으로 나가게 되었습니다. 사진상으로도 새순쪽에는 진딧물이 많이 붙어 있는게 보입니다. 오른쪽에는 개미가 진딧물에게서 단물을 받아 먹고 있는게 보이네요. 무슨 생태 학습장 같습니다. 개미가 진딧물 잡아먹는 무당벌레를 쫓아주는 것만 있으면 교과서 될 것 같습니다. 심은지 4년차 되는 대추나무 입니다. 계란만한 대추가 열린다는 묘목을 샀는데, 그냥 좀 큰 대추.. 2018. 4. 12.
무더운 여름 일요일 점심은 쫄면 날도 덥고 시원한게 먹고 싶어서 오랜만에 쫄면을 먹기로 했습니다. 양념장은 만들어 본적도 없으므로 모두 포함되어 있는 시판 제품으로 선택, 야채만 썰어 넣어서 비벼 먹으면 되는걸로 선택했습니다. 선택한 제품은 오뚜기 생쫄면 4인가족 세트, 태양초 양념 비빔장 포함이고, 야채 고명 별첨 입니다. 이제 야채를 준비합니다. 들깻잎 입니다. 밭에 한 포기 있는 들깨에서 따 옵니다. 이건 씨가 흘러서 저절로 자란 것인데, 이번에 새로 옮겨 심을 들깨는 아직 어려서 잎을 딸 수 가 없습니다. 요즘 날이 가물어서 저녁에 들깨에 물을 줘야 겠습니다. 하늘은 흐린데 비는 오지 않는군요. 위쪽 지방에는 물난리가 가서 난리인데, 여기서 가물어서 야채들이 말라들어가서 문제네요. 다음은 상추를 준비 합니다. 여름 상추라 좀 씁.. 2018. 4. 12.
Windows 10에서 hosts 파일 수정하기 hosts 파일을 문자로된 이름을 숫자로 된 IP 주소로 매칭 시켜 주는 정보를 담고 있는 파일입니다. 우리가 인터넷상의 서버에 접속하기 위해서 주로 사용하는 이름은 offbyone.tistory.com 과 같은 도메인 주소입니다. 이 도메인 주소를 사용하여 서버에 접속하는 과정에너 DNS 서버라고 불리는 서버들을 이용해 도메인 주소에 짝지워진 IP 주소를 찾아서 실제 통신은 IP 주소를 가지고 하게 됩니다. (실제는 MAC(Media Access Control) Address 라는 이더넷 어댑터에 할당되어 있는 물리주소도 관여를 하게됩니다.) hosts 파일을 이 DNS 와 동일한 작업을 수행합니다. 파일내에 그룹웨어 호스트가 groupware 192.168.0.50 처럼 지정 되어 있다면, 이 서버에.. 2018. 4. 12.
이미지 슬라이더 - bxSlider 사용법 홈페이지에 이미지를 바꿔가며 보여주는 이미지 슬라이더는 아주 많이 사용되는 아이템입니다. bxSlider는 자주사용되는 기능도 거의 지원하고, 요즘 핫한 반응형도 지원하고, MIT 라이센스로 배포되므로 부담없이 무료로 사용할 수 있습니다. bxSlider 의 타이틀이 반응형 jQuery 컨텐츠 슬라이더(The Responsive jQuery Content Slider) 인 것에서 알 수 있듯이 bxSlider는 jQuery 플러그인으로 작성되어 있습니다. 필요하다면 소스를 직접 수정하거나 기능을 확장하는 것도 그렇게 어렵지 않습니다. 또한 이미지를 바꿔가며 보여주는것 뿐만아니라 웹 페이지상에 보여지는 어떤 요소든지 바꿔가며 보여줄 수 있습니다. 그러니까 컨텐츠 슬라이더라고 하는것 같습니다. 다음 사이트에.. 2018. 4. 12.
Windows에 버전이 다른 Tomcat 추가 설치하기 기존의 Tomcat 6 이 설치되어 있는 상태에서 tomcat 7 을 추가로 설치해 보겠습니다. Tomcat은 서비스 설치파일이 아니라 zip 파일로 된 배포본을 다운로드 받습니다. 여기서는 32-bit 윈도우용 바이너리 파일인 apache-tomcat-7.0.79-windows-x86.zip 파일을 사용해서 설치합니다. 자신의 시스템에 맞는 설치본은 사용하면 되겠습니다. 1. 다운로드 받은 파일을 압축을 풀어서 설치할 위치에 복사합니다. C:\util\apache-tomcat-7.0.79 폴더로 복사했습니다. 이 폴더 아래에 bin, conf등의 폴더 및 파일들이 들어 있습니다. 자신의 환경에 맞는 위치에 설치하면 되겠습니다. 2. 기존의 tomcat 과 다른 포트를 사용하도록 사용되는 포트를 변경합니.. 2018. 4. 12.
구글 크롬 브라우저 오프라인 설치파일 다운로드하기 구글 크롬(Google Chrome)은 설치페이지에서 "Chrome 다운로드" 를 클릭하여 설치하게되면 서비스 약관에 동의하고 다운로드가 되지 않고 바로 설치가 되어 버립니다. 웹으로 직접 설치가 안되는 다른 컴퓨터에 크롬 브라우저를 설치하기위해서 설치파일을 다운로드 하기 위해서는 오프라인 다운로드 링크를 따라 들어가서 설치 프로그램을 저장하여야 합니다. 오프라인 다운로드 링크로 들어가면 그냥 설치 페이지와 화면 모양이 똑 같습니다. 잘못들어온게 아닌가 하는 생각이 들 수 도 있는데, 그냥 진행을 하시면 됩니다. 마지막에 "동의 및 설치" 버튼을 눌러도 이번에는 그냥 설치되지 않고, 저장 할 수 있습니다. 구글 크롬 브라우저의 오프라인 설치 파일을 다운로드 받는 방법을 알아보겠습니다. 크롬 고객센터의 C.. 2018. 4. 12.
아이폰 이모티콘 키보드 삭제하기 iOS 8부터인가 이모티콘(emoticon)을 입력할 수 있는 키보드가 추가 되었습니다. 한영 전환시 종종 이모티콘 키보드로 변경이 되어 불편할 때가 있습니다. 이 이모티콘 기능이 주로 iMessage 에서 사용되지 않을까 생각되는데, 활성화 되는 조건도 잘 모르겠습니다. 이모티콘 또는 스티커는 앱 내에서만 사용하지, 시스템 키보드로는 전혀 사용하지 않는 기능이라 제거하기로 했습니다. 설정을 열어서 "일반" 항목을 찾아 탭합니다. "일반" 에서 "키보드"를 탭합니다. "키보드" 에서 다시 "키보드" 를 탭합니다. 현재 설치되어 있는 키보드 목록이 보입니다. 이중에 이모티콘 키보드도 있습니다. 이모티콘 키보드를 삭제하기 위해서 우측 상단의 "편집" 을 탭하거나, 목록에서 "이모티콘" 부분을 좌측으로 스와이.. 2018. 4. 12.