java 문자열 공백 제거

 

문자열에 포함되어 있는 모든 공백 제거

String str = "...";

str = str.replaceAll(" ", "");

 

위의 방법으로 제거되지 않는 공백 제거

IDEOGRAPHIC SPACE 라 불리는 유니코드 \u3000

HTML 표현으로는  

폰트 지원이 없으면 눈에 보이지 않는(display 되지 않는) 코드로만 존재하는 공백 등등

String str = "...";

str = str.replaceAll("\\p{Z}", "");

 

문자열의 앞과 뒤에 있는 공백 제거

String str = "...";

str = str.trim();

 

문자열의 앞과 뒤에 있는 일반적이 않은 공백 제거(위 방법으로 제거되지 않을 때)

String str = "...";

str = str.replaceAll("(^\\p{Z}+|\\p{Z}+$)", "");

 

출처: https://puttico.tistory.com/72

 

java 문자열 공백 제거

문자열에 포함되어 있는 모든 공백 제거 String str = "..."; str = str.replaceAll(" ", ""); 위의 방법으로 제거되지 않는 공백 제거 IDEOGRAPHIC SPACE 라 불리는 유니코드 \u3000 HTML 표현으로는   폰..

puttico.tistory.com


replace,  replaceAll  의 차이 

 

String replace(CharSequnce target, CharSequence replacement)

String replaceAll(String regex, String replacement)

 

replace는 첫번째 인자값을 보시면 문자열이 들어간다.

replaceAll은 첫번째 인자값에 정규식이 들어간다. 

 

 

String str = "testa1testbccc2testccc3";
  str = str.replaceAll("[^0-9]", "");
  
  System.out.println(str); //123

'JAVA' 카테고리의 다른 글

JAVA Encoding 모음  (0) 2021.05.16
java 이모티콘 제거  (0) 2021.01.17
[JAVA/자바] 메모리 구조(static, stack, heap)  (0) 2020.12.27
문자열 형변환 String.valueOf(), toString(), (String)  (0) 2020.12.15
java (jar, library 다운로드)  (0) 2020.11.29

var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다.

    var name = 'bathingape'
    console.
log(name) // bathingape

   var name = 'javascript'
   console.log(name) // javascript

 

변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다.

이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다.

 

 

let 은 변수에 재할당이 가능하다.

    let name = 'bathingape'
    console.
log(name) // bathingape

let name = 'javascript'
    console.
log(name)
   
// Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'react'
    console.
log(name) //react

 

 

const는 변수 재선언, 변수 재할당 모두 불가능하다.

    const name = 'bathingape'
    console.
log(name) // bathingape

const name = 'javascript'
    console.
log(name)
   
// Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'react'
    console.
log(name)
   
//Uncaught TypeError: Assignment to constant variable.

 

 

출처: https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

var, let, const 차이점

JavaScript에서 변수 선언 방식인 `var, let, const` 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, `var`는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. 변수를 한 번 더 선언했음에도 불구하

velog.io

 

  document.onmousedown = function leftClick() {

  var target = window.event.srcElement.id;

   if (target) {

             alert("클릭감지");

  }
 };

'JavaScript' 카테고리의 다른 글

자바스크립트 객체(생성, 접근, 삭제)  (0) 2021.08.09
javascript 문자열, 숫자 형변환  (0) 2021.05.16
javascript 현재 날짜 구하기  (0) 2021.05.16
자바스크립트의 변수  (0) 2021.01.17
JavaScript 공부  (0) 2020.10.27

mybatis.org/mybatis-3/ko/index.html

 

MyBatis – 마이바티스 3 | 소개

Copyright © 2009–2020MyBatis.org. .

mybatis.org

마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇 가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다.

마이바티스는 JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신해준다.

마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있다.

 


parameterType="smartView.ai.viewModelList.model.ViewModelListVO"

resultType="int"   ,resultType="map"

resultMap="ViewModelListVO-result"

 

 

parameterType        구문에 전달될 파라미터의 패키지 경로를 포함한 전체 클래스명이나 별칭

resultType              구문에 의해 리턴되는 기대 타입의 패키지 경로를 포함한 전체 클래스명이나 별칭. collection                            경우 collection 타입 자체가 아닌 collection 이 포함된 타입이 될 수 있다. resultType이나                              resultMap을 사용하라.

resultMap               외부 resultMap resultMap의 참조명. 결과 맵은 마이바티스의 가장 강력한 기능이다. resultType이나                              resultMap을 사용하라.


예시 1

 

 

<select id="selectViewModelList" parameterType="map" resultType="map">

파라미터 타입이 map이고 리솔트타입이 map이라는 것은

 

    <!-- <resultMap id="ViewModelListVO-result" type="smartView.ai.viewModelList.model.ViewModelListVO">

        <result property="projectNm" column="PROJECT_NM" javaType="java.lang.String" />

        <result property="regId" column="REG_ID" javaType="java.lang.String" />

        <result property="regDt" column="REG_DT" javaType="java.lang.String" />

    </resultMap> -->

이렇게 이름을 선언해줄 필요도 없고

 

impl에서

List<Map<String, Object>> projectList = dao.selectList("ViewModelList.selectViewModelList", paramMap);

파라미터타입으로 map 받는다는 것이고

리솔트타입으로 map으로 준다는 것이다  Map<String, Object> 이거보이지?

 

 <select id="selectViewModelList" parameterType="map" resultType="map">

        SELECT D.PROJECT_NM AS projectNm

   jsp쪽에서는 AS 만든 projectNm 이름을 쓰게 되겠지

 

이렇게 되면 VO 타지 않는다.

 


예시 2

 

 

<select id="selectViewModelListCnt" parameterType="smartView.ai.viewModelList.model.ViewModelListVO" resultType="int">

파라미터 타입이 VO이고 리솔트타입이 int라면

 

VO 만들어야하고

 

  <resultMap id="ViewModelListVO-result" type="smartView.ai.viewModelList.model.ViewModelListVO">

        <result property="projectNm" column="PROJECT_NM" javaType="java.lang.String" />

        <result property="algorithmNm" column="ALGORITHM_NM" javaType="java.lang.String" />

        <result property="nodeNm" column="NODE_NM" javaType="java.lang.String" />

        <result property="regId" column="REG_ID" javaType="java.lang.String" />

        <result property="regDt" column="REG_DT" javaType="java.lang.String" />

    </resultMap

이렇게 선언을 해주고

 

impl에서는

int cnt = dao.selectOne("ViewModelList.selectViewModelListCnt", sViewModelListVO);

파라미터타입으로 sViewModelListVO

리솔트타입으로 int 준다.

 

<select id="selectViewModelList" parameterType="smartView.ai.viewModelList.model.ViewModelListVO" resultMap="ViewModelListVO-result">

SELECT D.PROJECT_NM

AS 써줄 필요가 없는게 resultMap에서 이름 property 선언해줬다

 

resultMap안에 type 선언되있기때문에  resultType 굳이 안적어도된다

'SQL' 카테고리의 다른 글

자주 사용하는 sql 쿼리  (0) 2021.06.02

 

# Xshell 이란?

텔넷/ SSH 프로토콜로 리눅스 원격 호스트에 접속할 수 있는 윈도우용 터미널 에뮬레이터

국내 기업에서 개발된 프로그램으로 제품 한글화는 물론이고 ssh 접속 시 유니코드(utf-8)지원으로 한글로 설정된 리눅스에도 문제없이 접속 할 수 있다.

 

텔넷? - 인터넷을 통해 원격 호스트 컴퓨터에 접속할 때 지원되는 인터넷 표준 프로토콜(멀리 떨어진 곳 컴퓨터를 마치 자신의 PC를 사용도록 해주는..)

SSH? - Secure Shell Protocol, 컴퓨터와 컴퓨터가 네트워크를 통해 서로 통신할 때 보안적으로 안전하게 통신하기 위해 사용되는 프로토콜

 

인지하기 쉬운 인터페이스에 터미널을 사용하면서 유용할만한 부가적인 기능들이 많이 있어서 putty 대체 프로그램으로도 적합하다. 

 

# xshell 특징

- ssh1,ssh2,telnet,rlogin,serial,ftp,sftp 터미널 연결 지원

- ssh의 다양한 사용자 인증 지원 (public key/ keyboard interactive / gssapi/ pkcs#11)

- 접속 기록을 세션 파일로 저장하영 다중 파일 관리

- xmodem/ymodem/xmodem 지원

- 스크립팅 지원 (javascript/vbscript/python)

- 여러 세션에 동시 문자열 보내기 /global input

- 탈착이 가능한 탭 기반의 인터페이스

- 터널링 및 프록시 기능

- X11 포워딩  (xmanager 사용 시) 기능

- 커미널 키 매핑/ 프로그램 키 매핑 기능 

- 터미널 하이라이트 (특정 키워드에서 서식 적용)

 

      • 시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다.
      • 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안젂하지 못한 네트워크에서 안젂하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용.

 

 

출처: https://coding-sojin2.tistory.com/entry/Xshell-%EC%9D%B4%EB%9E%80

 

Xshell 이란?

# Xshell 이란? 텔넷/ SSH 프로토콜로 리눅스 원격 호스트에 접속할 수 있는 윈도우용 터미널 에뮬레이터 국내 기업에서 개발된 프로그램으로 제품 한글화는 물론이고 ssh 접속 시 유니코드(utf-8)지

coding-sojin2.tistory.com

 

 

'용어정리' 카테고리의 다른 글

컴포넌트(Component)  (0) 2021.02.01
jdk, jre  (0) 2021.01.17
간단한 단어 정리  (0) 2020.07.14

JRE란?
먼저 JRE는 Java Runtime Environment의 약자로 자바 프로그램을 실행시켜주는 환경을 구성해주는 도구다. 즉 JAVA를 개발할 필요는 없는데, 실행은 시켜줘야 하는 경우에는 꼭 JRE가 있어야 한다. 반면 JAVA 개발시 꼭 필요한 것이 있는데 그것이 바로 JDK다.

JDK란?
JDK는 Java Development Kit의 약자로 말그대로 자바 개발시 필요한 툴킷을 제공하는 도구모음이다. 개발하려면 당연히 실행도 시켜야 하므로 JDK 안에는 JRE가 포함되어 있다. 



사용자 입장에서 요약하자면 
JAVA로 만들어진 프로그램을 실행만 시킬 것이라면  JRE만 설치하면 되고
JAVA 개발자라면 JDK를 설치하면 된다.

'용어정리' 카테고리의 다른 글

컴포넌트(Component)  (0) 2021.02.01
Xshell  (0) 2021.01.17
간단한 단어 정리  (0) 2020.07.14

m.blog.naver.com/heartflow89/220954420688

 

[JAVA/자바] 메모리 구조(static, stack, heap)

이번 글은 자바(JAVA)를 사용하는 입장에서 알아야 할 메모리 구조 및 특징에 대해서 알아보려고 한다....

blog.naver.com

 

크롤링을 하는데 크롬 바이너리를 찾을 수가없다고 한다.

 

 

해결책:

 

 

 Chrome 84에서 85 버전으로 업데이트되었습니다이 업데이트는 크롬이 설치된 위치를 "C : \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe"에서 "C : \ Program Files \ Google \ Chrome \ Application \ chrome.exe"로 변경했습니다.

 

출처: <https://developercommunity.visualstudio.com/content/problem/1170486/selenium-ui-test-can-no-longer-find-chrome-binary.html>

 

 

 

버전 업 되면서 Chrome파일의 경로문제이다. 위치 맞춰주자 

+ Recent posts