반응형

equals와 equalsIgnoreCase 둘다 문자열을 비교하는 메소드이다.

둘 다 문자열을 비교하지만 차이점을 알아보자.

 

equals

문자열을 대소문자 구분한다.

equalsIgnoreCase 

문자열을 대소문자 구분하지 않는다.

 

String str1 = "abc";
String str2 = "ABC";

if(str1.equals(str2)){
	system.out.println("같다");
}else{
	system.out.println("다르다");
}

if(str1.equalsIgnoreCase(str2)){
	system.out.println("같다");
}else{
	system.out.println("다르다");
}

 

위와 같이 코드를 작성하면 결과 값으로

 

다르다

같다

 

가 출력된다.

반응형

'개발 > Java' 카테고리의 다른 글

[Java] jxls multiple 엑셀 인쇄 영역  (0) 2020.01.30
[Java] 자릿수 채우기  (0) 2020.01.02
[Java] Json to map,Json 변환  (0) 2019.04.11
[Java] md5 암호화 초기화  (0) 2019.04.10
[Java] Java 한글 인코딩 해결,  (0) 2019.04.09
반응형

Json 을 map 또는 vo객체로 변환하기 위해서는 Jackson라이브러리를 사용해야된다.

 

pom.xml 에서 아래의 코드를 추가하거나

https://mvnrepository.com/  메이븐레파지토리 홈페이지에서 jackson 라이브러리를 찾아서 사용해도 된다.

 

<dependency> 
  <groupId>org.codehaus.jackson</groupId> 
  <artifactId>jackson-mapper-asl</artifactId> 
  <version>1.9.13</version> 
</dependency>

 

jackson 라이브러리가 추가됬으면 사용 방법은 간단하다.

 

Json to Map 이다.

ObjectMapper mapper = new ObjectMapper(); 

String json = "{ \"test1\" : \"테스트1\" , \"test2\" : \"테스트2\" }"; 
Map<String, Object> map = new HashMap<String, Object>(); 

map = mapper.readValue(json, new TypeReference<Map<String, String>>(){}); 

System.out.println(map.get("test1"));
System.out.println(map.get("test2"));

 

위와 같이 코드를 작성하면 sysout 으로 찍히는 값은 

테스트1

테스트2

 

가 결과로 나온다.

 

Map to String 이다. (String 이긴하지만 json String으로 반환된다.)

우선 map을 다시만들어서 넣을수도 있지만.... 게으르니 위의 map을 이용해서 json string 으로 반환되는 예제이다.

 

ObjectMapper mapper = new ObjectMapper(); 

String json = "{ \"test1\" : \"테스트1\" , \"test2\" : \"테스트2\" }"; 
Map<String, Object> map = new HashMap<String, Object>(); 

map = mapper.readValue(json, new TypeReference<Map<String, String>>(){}); 

System.out.println(map.get("test1"));
System.out.println(map.get("test2"));

System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(map));

 

위와 같이 코드를 작성하면 sysout 으로 찍히는 값은 

 

테스트1

테스트2

 "test1" : "테스트1",  "test2" : "테스트2"}

 

가 결과로 나온다.

반응형

'개발 > Java' 카테고리의 다른 글

[Java] 자릿수 채우기  (0) 2020.01.02
[Java] equals,equalsIgnoreCase 차이점  (0) 2019.04.11
[Java] md5 암호화 초기화  (0) 2019.04.10
[Java] Java 한글 인코딩 해결,  (0) 2019.04.09
[Java] String을 Url 인코딩,디코딩 하기  (0) 2019.04.05
반응형

Java에서 md5로 비밀번호를 입력하였는데 회원이 초기화를 원하거나 혹은 초기화를 해야될 경우

 

이 경우는 비밀번호찾기 메뉴를 통해 인증 후에 초기화를 할때 예를들어 "1234"를 md5로 변경후에 db에 업데이트 하는것이 좋은방법이다.

하지만 해당 메뉴를 사용하지 못하거나 테스트로 비밀번호를 변경하고자할때

"1234" 를 md5로 변경하면

"81dc9bdb52d04dc20036dbd8313ed055"

이다.

다수의 회원의 비밀번호를 초기화하거나 테스트용 db에 입력할때 사용하기 편리하다.

반응형
반응형

자바 한글 깨짐 현상 해결방법.

 

String text = request.getParameter("text");
text = new String(text.getBytes("8859_1"),"euc-kr");

 

text라는 파라미터로 받을시에 인코딩이 깨질때 

위와 같이 해결하면 된다.

 

전자정부프레임워크 혹은 스프링을 사용한다면

web.xml 에서 특정 url로 가는 패턴을 모두 encoding될 수 있도록 encodingFilter를 사용할 수 있다.

 

<filter>
	<filter-name>encodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	<init-param>
		<param-name>encoding</param-name>
		<param-value>utf-8</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>encodingFilter</filter-name>
	<url-pattern>*.do</url-pattern>
</filter-mapping>

 

 

반응형
반응형

Mysql 위도 경도 값 받아서 반경 몇 키로 이내에 데이터가 있는지에 대한 쿼리입니다.

 

예를들어서 값으로 위도(Latitude) 와 경도(Longitude) 의 값을 받아서 반경 몇키로이내에 나의 DB의 지도데이터를 조회할 수 있는 쿼리입니다.

 

값으로 받아오는 값을 lat,lon 으로 두겠습니다.

그리고 DB안에 있는 값은 예를 들어

NAME LATITUDE LONGTITUDE
삼성역 37.5088652 127.060955

으로 가정한다.

 

 

그리고 값으로 받아오는 값 lat=37.5611326, lon=127.033311으로 가정하겠습니다.(이값은 왕십리역입니다)

 

 

select ID,CAST_TIME,(6371*acos(cos(radians(lat))*cos(radians(LATITUDE))*cos(radians(LONGTITUDE)-radians(lon)) 
+sin(radians(lat))*sin(radians(LATITUDE)))) AS distance
from TEST
having distance < 300
order by distance DESC;

 

으로 데이터를 검색하면

 

결과

distance가 해당 이미지 결과로 나온다. 단위는 km이다.

 

having distance < 300 
order by distance DESC

는 생략해도 상관없다.

 

다만, 예를들어 ~~km이내의 지역을 검색하고 싶을 경우 사용하면 된다.

 

실제로 왕십리역과 삼성역간의 직선거리는 아래의 이미지와 같다.

직선거리

 

얼추 비슷하게 6.31km가 나오는데 이거는 제가 지도에서 너무 대충 찍어서 거리를 재봤기때문에 오차가 약간 있습니다.

 

반응형
반응형

Java에서 String으로 받아온 url 값을 인코딩하는 방법.

String str = URLEncoder.encode(String s, String enc);

String s 에는 인코딩할 url을 넣어주면 되고, String enc 에는 인코딩될 charset(예-"UTF8") 을 넣어주면된다.

 

 

Java에서 String으로 받아온 url 값을 디코딩하는 방법.

String str2 = URLDecoder.decode(String s, String enc);

String s 에는 디코딩할 url을 넣어주면 되고, String enc 에는 디코딩될 charset(예-"UTF8") 을 넣어주면된다.

반응형
반응형

아파치(apach) 재시작하는 방법

 

아파치 중지

# apachectl stop

아파치 시작

# apachectl start

 

위와 같이 했을때 안되는 경우는

 

아파치 중지

# /etc/rc.d/init.d/httpd stop

아파치 시작

# /etc/rc.d/init.d/httpd start

 

으로 실행하면된다.

 

해당 아파치를 중지 및 실행할때 ps -ef | grep apach 로 확인 가능하다.

 

반응형
반응형

ssl인증서 적용하는 방법.

 

<VirtualHost *:443>
	ServerName "아래 지정한 서버 인증서에 포함된 DNS Name 중에 있어야 함 " 
	SSLEngine on
	SSLProtocol all -SSLv2 -SSLv3 또는 TLSv1 TLSv1.1 TLSv1.2 (서버 환경에 따라서 선택적 적용)
	SSLCertificateKeyFile /인증서파일경로/개인키 ex. domain_xxxxx.key.pem
	SSLCertificateFile /인증서파일경로/서버인증서 ex. domain_xxxxx.crt.pem
	SSLCertificateChainFile /인증서파일경로/체인인증서ex. chain-bundle.pem
	SSLCACertificateFile /인증서파일경로/루트인증서 ex. AddTrustRoot.crt
</VirtualHost>

* 루트/체인 인증서는 상품별로 차이가 있으므로, 발급 완료시 첨부된 파일 내역에서 확인 가능합니다. 
* chain-bundle.pem 은 체인인증서가 여러개인 경우 1개 파일로 통합한 PEM Text 파일입니다.
* CSR 자동 생성 이용시, 개인키에는 패스워드가 지정되지 않습니다. (별도 지정 필요시 변환 매뉴얼 참조)
* 예제에 포함되어 있지 않은 나머지 Property 는 공식 매뉴얼 또는 현재 서버 설정값을 사용하시기 바랍니다. (/conf/extra/httpd-ssl.conf 참조)

 

<VirtualHost *:443>
  ServerName "아래 지정한 서버 인증서에 포함된 DNS Name 중에 있어야 함 " 
  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3 또는 TLSv1 TLSv1.1 TLSv1.2 (서버 환경에 따라서 선택적 적용)
  SSLCertificateKeyFile /인증서파일경로/개인키 ex. domain_xxxxx.key.pem
  SSLCertificateFile /인증서파일경로/서버+체인 PEM 통합된 파일 ex. domain_unified.pem
  SSLCACertificateFile /인증서파일경로/루트인증서 ex. AddTrustRoot.crt
</VirtualHost>

* 루트/체인 인증서는 상품별로 차이가 있으므로, 발급 완료시 첨부된 파일 내역에서 확인 가능합니다. 
* domain_unified.pem 은 서버인증서와 체인인증서 PEM 을 Text 편집기로 통합한 파일입니다. (직접 만들어야 함) 
* 통합된 domain_unified.pem 파일을 Text 편집기로 열어서, PEM 내용간 구분되어 있는지 꼭 확인해야 합니다.
* CSR 자동 생성 이용시, 개인키에는 패스워드가 지정되지 않습니다. (별도 지정 필요시 변환 매뉴얼 참조)
* 예제에 포함되어 있지 않은 나머지 Property 는 공식 매뉴얼 또는 현재 서버 설정값을 사용하시기 바랍니다. (/conf/extra/httpd-ssl.conf 참조)

 

 

conf파일을 작성한 후에는 아파치 재가동을 해야되는데 conf파일이 잘못됬을 수도 있으니 아래 명령어로 확인한다. 

/usr/sbin/apachectl configtest 

명령어 실행후 Syntax OK가 나오면 정상이고, 아니면 출력되는 에러를 보고 수정하고 재가동하면 된다.

 

 

 

참조 사이트 : https://www.securesign.kr/guides/Apache-SSL-Certificate-Install

 

Apache SSL 인증서 설치/설정/적용 가이드 - SecureSign

SSL 인증서 보안서버 설치/적용/구축 가이드. 웹서버 SSL 적용. OpenSSL, Apache w/mod_ssl 활용. CSR 생성, 개인키(Private Key) 생성, VirtualHost 적용. 트러뷸슈팅, 기술자료

www.securesign.kr

 

 

반응형
반응형

리눅스 cpu 및 메모리 사용량 확인하는 방법.

 

리눅스에서는 윈도우에서 작업관리자로 프로세스를 확인하는 것과 비슷한 명령어인 'top'이 있다.

해당 OS에서 사용하는 서버 및 디바이스의 cpu및 메모리, 기타 등등을 확인할 수 있다.

기본 실행 방법은 아래와 같다. 해당 명령어는 아무디렉토리에서 사용가능하다.

$ top

 

해당 명령어 실행 후에는 실시간으로 바뀌는 값을 확인할 수 있다.

그만 보고 다른 작업을 할때에는 Ctrl+c 를 누르면 명령어 창으로 돌아갈 수 있다.

 

결과로 나오는 각항목의 의미.

 

PID : 프로세스 ID

USER : 프로세스를 실행시킨 사용자 ID

PR : 프로세스의 우선순위

NI : NICE 값. 마이너스를 가지는 nice value는 우선순위가 높음.

VIRT : 가상 메모리의 사용량(SWAP+RES)

RES : 현재 페이지가 상주하고 있는 크기(Resident Size)

SHR : 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합.

S : 프로세스의 상태 (S:sleeping, R:running, W:swapped out process, Z:zombie )

%CPU : 프로세스가 사용하는 CPU의 사용율

%MEM : 프로세스가 사용하는 메모리의 사용율

COMMAND : 실행된 명령어

 

반응형

'개발 > Linux' 카테고리의 다른 글

wget: command not found  (0) 2019.11.25
CentOS DVD, Everything, Minimal ISO 차이  (0) 2019.11.25
rpm curl (35) ssl connect error  (0) 2019.11.20
[Linux] tomcat 켜기,끄기,재가동  (0) 2019.04.03
[Linux] 리눅스 서버 시간 확인  (0) 2019.03.26
반응형

Linux에서 tomcat 서버 끄기

 

cd 톰캣설치경로/bin

./shutdown.sh

 

또는

 

service tomcat stop

 

Linux에서 tomcat 서버 켜기

cd 톰캣설치경로/bin

./startup.sh

 

또는

 

service tomcat start

 

Linux에서 tomcat 서버 재가동

위에서와 같이  ./shutdown.sh 후에 ./startup.sh 하기.

 

또는

 

service tomcat restart

 

반응형

+ Recent posts