'Study portfolio'에 해당되는 글 43건

[Excel] 수식 값 자동 갱신 끄기

Programming Language

엑셀의 경우, 변경 사항이 발생 하거나 또는 파일 저장 할 때 마다 수식에서 계산되는 값이 갱신 되는데

만약, 수식을 여러 개 설정 한 경우 + 데이터가 많은 경우, 매우 오래 걸려서 작업 속도가 떨어진다.

수식 값 갱신을 수동 처리를 통해서 위와 같은 불편함을 해소 할 수 있다.


* 방법

메뉴 > 수식 > 계산옵션 > 자동->수동으로 변경


모든 작업 후 지금 계산 Icon 클릭 (또는 키보드에서 F9 입력) 하면, 수동으로 수식 값이 갱신 된다!


Excel 2013 기준 화면이며, 버전에 따라서 해당 메뉴의 위치가 다를 수 있습니다.


[오류] Cannot change version of project facet Dynamic Web Module

Web/Spring

Eclipse내 Tomcat에서 돌리려고 하니 



java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

위와 같은 Exception이 발생하면서 tomcat에 project가 deploy 되지 않았다.



Eclipse내 Markers에서 다음과 같은 Error를 확인했다.



Cannot change version of project facet Dynamic Web Module to 2.4

Maven Project 갱신을 위해서 Update Project 진행 후 다음과 같은 Error가 발생되었다.


▶ 해결방안


deployment descripter file(web.xml)를 보면 version=2.4으로 되어있다.



그러나 Project Facets에서는 아래와 같이 Dynamic Web Module Version 2.3 으로 되어있다.

2.3 -> 2.4로 변경하려면 다음과 같이 안된다!!!




그럼 어떻게 변경 가능할까?

해당 project 경로 내에 .settings 로 이동하면 다음과 같은 파일 목록를 찾을 수 있다.




org.eclipse.wst.common.project.facet.core.xml 파일을 연다. 

2.3 -> 2.4 으로 변경한 뒤 Update Project 진행한다.




Project Facets를 보면 2.4 변경되어 있음을 확인 할 수 있다.



Dynamic Web Module의 Version은 톰켓 버전에 따라서 servlet spec version이 다르다. 다음 url에서 확인 후 알맞게 지정하자!

http://tomcat.apache.org/whichversion.html


'Web > Spring' 카테고리의 다른 글

Resolvering Views  (0) 2016.07.14
[STS] encoding 관련 warning 처리  (0) 2015.09.26

[Java] java.lang.NoSuchMethodError 오류분석

Programming Language/Java

java.lang.NoSuchMethodError 오류메시지는 해당 메서드를 찾지 못할 때 발생된다.


본인의 경우는 라이브러리 중 하나의 메소드를 수정한 뒤 test 문제없음을 확인하고

수정된 라이브러리 운영(production)환경으로 반영했다.

그런데, 해당 라이브러리를 사용하는 타 class에서 java.lang.NoSuchMethodError 오류메시지 발생되었는데

Error 발생된 class file도 아무 수정없이 complie해서 운영(production)환경에 반영하니 문제가 사라졌다.



▶ 발생분석

* 현상 오류메시지 예시

java.lang.NoSuchMethodError: biz.com.dao.member.updateUser(Lbiz/com/vo/User;)V


- 해석

biz/com/vo/User 객체 1개를 파라미터로 받고 반환 값은 없는 biz.com.dao.member.updateUser라는 메서드를 찾지 못했다는 의미


* 소스코드 분석

Error가 발생된 (라이브러리를 사용하는)애플리케이션 코드 수정은 없었으며 라이브러리는 integer값을 반환 되도록 변경되었다.


- 라이브러리를 사용하는 애플리케이션 코드

// UserService.java

...

public void change(User user) {

...

member.update(user);

}


- 변경 전 후 라이브러리 소스코드

// Member.java - 변경 후

public int updateUser(User user) {

return member.update(user);

}


// Member.java - 변경 전

public void updateUser(User user) {

member.update(user);

}



▶ 발생예시 분석

라이브러리를 사용하는 애플리케이션 코드를 새로운 라이브러리로 다시 컴파일하지 않았기 때문이다.


라이브러리를 사용하는 애플리케이션 코드는 이전 라이브러리로 컴파일되었으므로, 

반환값이 없는 메서드를 호출하도록 class 파일에 기록되어 있지만, 

새로 변경된 라이브러리에서 반환값이 없는 메서드는 없어지고, integer값을 반환하는 메소드만 존재하기 때문이다.



▶ 결과

Java는 바이트코드를 이용해서 배포되며, 바이트코드는 자바 컴파일러에 의해 작성된다.

라이브러리가 변경 되었다면 이를 사용하는 어플리케이션 바이트코드도 다음과 같이 변경되어져야 하므로

어플리케이션 코드도 함께 반영되어져야한다.


biz.com.dao.member.updateUser(Lbiz/com/vo/User;)V ->  biz.com.dao.member.updateUser(Lbiz/com/vo/User;)I



▶ 참고문헌

http://d2.naver.com/helloworld/1230

[도서리뷰]JAVA PERFORMANCE FUNDAMENTAL

Programming Language/Java


Java 개발자로써 Java Language가 어떻게 Running 되는 지에 대한 호기심과 좀 더 나은 개발자가 되고픈 욕심으로써 작성된 도서 리뷰입니다.


* 도서정보

http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788995765371




[Eclipse] maven build JSP Syntax Validation disabled

Web

Eclipse 에서 Maven Build하면 기본적으로 JSP Syntax Validation 한다.



build 할 때마다 매번 validation 확인하면서 많은 시간을 잡아먹는다!

JSP Syntax Validation disabled 하는 방법은 다음과 같다.


1) Project > Properties > Validation 메뉴이동

2) Enable project specific settings > 체크박스 선택

3) validators 목록 > JSP Syntax Validation > Build > 체크박스 해제




[HTML] <img> usemap Attribute

Web/Web 기초

▶ 개요

아래와 같은 경우 img tag의 usemap 속성을 이용하면 된다.


1) 하나 이미지에서 영역 따라서 각기 다른 link를 설정하고 싶은 경우


2) 이미지 내 일정 영역에 대해서만 link를 설정하고 싶은 경우




▶ 예시

영역모양은 3가지 형태(사각형, 원, 다각형)이다.

영역범위는 왼쪽 상단이 기준좌표(0,0)이며, weight가 X축, height가 Y축이다.


<img src="image.jpg" alt="이미지" usemap="#img_map"/>

<map name="img_map">

<area shape="rect" coords="X1,Y1,X2,Y2" href="./goDownLoad.do" alt="다운받기">

<area shape="circle" coords="X,Y,RADIUS" href="./goDownLoad.do" alt="다운받기">

<area shape="poly" coords="X1,Y1,X2,Y2, ... ,Xn,Yn" href="./goDownLoad.do" alt="다운받기">

</map>


* 위 예시 그림처럼 사각형으로 범위를 지정하고 싶을 경우
1) shape="rect" 으로 지정
2) 시작범위(왼쪽 위) ~ 종료범위(오른쪽 아래) 의 좌표값으로 지정
3) href 속성 처리



▶ 참조

https://www.w3schools.com/tags/att_img_usemap.asp

http://tonks.tistory.com/39




'Web > Web 기초' 카테고리의 다른 글

개행문자(CR, LF) 정리  (0) 2016.12.28
Apache HTTP Server and Tomcat Server 비교  (0) 2016.05.27

windows 10에서 docker 시작하기

Docker

▶ Hyper-V 가상화 기술 지원여부 확인

Hyper-V 요구사항에 맞추어서 환경설정를 잡으면 다음과 같이 표현됩니다.



▶ docker 설치하기

(1) 다음 사이트에 들어가서 docker를 다운로드합니다. 

https://docs.docker.com/docker-for-windows/



(2) 다운로드 후 설치 후 실행하면 다음과 같은 화면이 보이면 설치완료



설치된 docker 버젼을 확인하며,



Hello-world를 실행해보았을때, 다음과 같은 화면이 보이면 문제없다.



Windows 관리도구 > Hyper-V 관리자에서 보면 다음과 같이 가상 컴퓨터가 실행중임을 알 수 있다.





▶ Windows 컨테이너로 변경하기

(1) 바탕화면 아이콘에 있는 고래아이콘에서 Windows 컨테이너로 변경한다.


(2) cmd에서 확인 할 수 있다.




▶ 참조

https://docs.docker.com/docker-for-windows/

https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/quick-start/quick-start-windows-10



'Docker' 카테고리의 다른 글

windows 10 Hyper-V 요구사항  (0) 2017.03.01
윈도우7에서 Hyper-V 가상화 사용  (0) 2017.02.16

windows 10 Hyper-V 요구사항

Docker

▶ Windows 10에 Hyper-V 요구사항

Hyper-V 가상화 기술은 운영체제와 하드웨어 요구사항이 존재합니다.

하드웨어 호환성은 다음과 같이 확인 할 수 있습니다.

cmd.exe 실행 > systeminfo 명령어 입력 > Hyper-V 요구 사항 확인



구누님에게 Hyper-V 요구사항에 맞추어서 환경설정을 잡으면 됩니다.



- 운영체제 요구사항

Windows 10 Professional, Enterprise, Education

+Windows 10 update Version은 14393.222 보다 이후 이어야 합니다.



- 하드웨어 요구 사항

 두 번째 수준 주소 변환(SLAT)을 사용하는 64비트 프로세서

 VM 모니터 모드 확장(Intel CPU의 VT-c)을 지원하는 CPU

 최소 4GB의 메모리

 가상화 기술(virtualization Technology)

 하드웨어 적용 데이터 실행 방지(data execution protection)

 

▶ 참조

https://docs.docker.com/docker-for-windows/

https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/quick-start/quick-start-windows-10




'Docker' 카테고리의 다른 글

windows 10에서 docker 시작하기  (0) 2017.03.01
윈도우7에서 Hyper-V 가상화 사용  (0) 2017.02.16

윈도우7에서 Hyper-V 가상화 사용

Docker

원도우7에서 가상화 환경설정을 하기 위해서 구느님에게 물어보고 열심히 검색한 결과는 다음과 같다.


윈도우7 에서 가상화(Hyper-V) 지원하지 않는다!!!! 

여러 블로그에서 나와있는거는 가상화 관리도구 이다. (즉, 우리가 생각하는 VirtualBox 같은 것이 아님)


▶ Windows Hyper-V 가상화 조건

* OS

Windows Server 2008 R2 64-bit(x64)이상 또는 Windows 8 pro 이상부터 지원한다.


* 하드웨어

하드웨어가 가상화를 지원해야 한다.

그 조건으로는 CPU는 64비트 지원 및 SLAT(Second Level Address Translation)를 지원해야 하며,

하드웨어 가상화를 지원 하며, 하드웨어 데이터 실행 보호(DEP)를 사용해야한다.


- CPU

1) CPU가 64비트부터 지원

2) CPU가 SLAT(Second Level Address Translation)를 지원


CPU가 SLAT를 지원하는가 확인은 MS사에서 확인할 수 있는 Tool를 제공한다.

(링크 >> https://technet.microsoft.com/en-us/sysinternals/cc835722)


(1) 다음프로그램을 다운로드


(2) C:\에서 압축해제 한다.

(3) 커맨드창 실행한다. 이때, 관리자권한으로 실행한다.

    이후, 압축해제 한 폴더로 이동한 뒤

    커맨드 창에 다음 명령어를 입력한다. C:\> CoreInfo.exe -v

     





위와 같이 본인 PC의 CPU가 SLAT를 지원하는 가를 확인 할 수 있다.


메인보드

하드웨어 가상화 지원 및 하드웨어 데이터 실행 보호(DEP)를 사용해야 가상화(Hyper-V)를 사용할 수 있다.

위 설정들은 바이오스 환경에서 변경가능하다.

예를 들어, Docker 실행시 가상화(Hyper-V) 이용하려 할때, 위 설정이 되어 있지 않으면 다음과 같은 오류가 발생된다.


Hardware assisted virtualization and data execution protection must be enabled in the BIOS


bios 환경 설정은 메인보드에 따라 다르므로 먼저, 해당 메인보드가 위 기능을 지원하는지부터 확인 해야한다.

메인보드에 따라서 설정방법이 다르다.

예시화면)



▶ 출처

http://m.blog.naver.com/proglammer/220506164628

http://blog.eairship.kr/83

http://heart4u.co.kr/tblog/395?ckattempt=1

https://blogs.technet.microsoft.com/iftekhar/2010/08/09/enable-hardware-settings-in-bios-to-run-hyper-v/





'Docker' 카테고리의 다른 글

windows 10에서 docker 시작하기  (0) 2017.03.01
windows 10 Hyper-V 요구사항  (0) 2017.03.01

[MSSQL] 테이블 반환 함수(Table-Valued User-Defined Functions)(TVFs)

Database/MSSQL

▶ 개요

테이블 반환 함수는 뷰 대신해서 table 데이터 형식을 반환 할 수 있다.

테이블 반환 함수는 inline TVFs 와 MultiStatement TVFs 으로 구분가능하다.


▶ 구성

1) inline TVFs


CREATE FUNCTION [함수명]

(@_param1 [parameter type], @_param2 [parameter type] ...)

RETURNS TABLE 

AS

RETURN 

(

SELECT *

 FROM [table_1]

WHERE [column_1] = @_param1

  AND ...

);

GO



2) MultiStatement TVFs


CREATE FUNCTION [함수명]

(@_param1 [parameter type], @_param2 [parameter type] ...)

RETURNS [반환할 테이블변수명] TABLE ( column_1 [column_1 type], column_2 [column_2 type] ... )

AS

BEGIN

DECLARE @_var int

...

INSERT [반환할 테이블변수명]

SELECT column_1

, column_2

 FROM [table_1]

WHERE [column_3] = @_param1

  AND ...

RETURN 

END

GO


inline TVFs와 MultiStatement TVFs 차이는 BEGIN ~ END 선언부가 없다.

inline TVFs는 바로 RETURN 절에서 반환 집합을 계산한다.

MultiStatement TVFs는 반환테이블의 정의 및 다중 T-SQL 구문 사용 가능하다.


▶ 뷰, inline TVFs, MultiStatement TVFs 비교



 

Views

 

Inline TVFs

 

MultiStatement TVFs

매개변수 허용여부( Accepts Parameters)

 N

 Y

 Y

Expanded out by Optimiser

 Y

 Y

 N

 Can be Materialized in advance 

 Y

 N

 N

 Is Updatable

 Y

 Y

 N

다중 T-SQL 사용 가능여부
Can contain Multiple Statements)

 N

 N

 Y

 Can have triggers

 Y

 N

 N

 Can use side-effecting operator

 Y

 N

 N



▶ 출처

https://technet.microsoft.com/en-us/library/ms191165(v=sql.105).aspx

http://stackoverflow.com/questions/4960137/table-valued-functiontvf-vs-view

http://www.mssql.org/LectureSQL/02_sql2k/ufn_04.htm