2018-09-16

[JAVA] String to byte[] convert (String <-> byte[] 변환)

java 에서 String 과 byte[] 간 변환방법



String test = "this is example"; byte[] strbytes = test.getBytes(); // byte[] 로 변환 String s = new String(strbytes); // byte[] => String 으로 변환

2018-07-10

[pom.xml]org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

출처]http://lime-it.tistory.com/36

STS 설치 이후 처음으로 스프링 부트 프로젝트를 생성하였는데 생성하자마자 오류가 등장하였다.

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

검색해도 한글로 된 답변도 없고 이것저것 도전해보다가 돌고 돌아 쓸만한 답변 하나 찾아서 해결했다.

위 오류는 Maven에 update project를 해도 해결이 되지 않는데

해결책으로는 두가지 방법이 있다.

1. 버전 다운그레이드
버전을 다운그레이드 할 경우 오류는 사라지지만 권장하지 않는 방법


2. 이클립스에서 m2e 확장 기능을 설치하는 것
Help -> install New Software 에서
https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
or
http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
둘 중 선택해서 검색하여 m2e 확장기능을 설치후 재 시작하게 되면 오류는 해결된다.


참고한 자료 출처 : https://stackoverflow.com/questions/37555557/m2e-error-in-mavenarchiver-getmanifest

2018-07-03

MySQL/MariaDB/SQL] MariaDB 10.2.16 zip 으로 설치 및 설정하기(서비스 등록 제외)

mariadb 설치 및 설정 하기.

1. https://downloads.mariadb.org/mariadb/+releases/ 에서 mariadb 10.2.16 다운로드 (x64버전, zip 파일)
2. D:\DB\mariadb-10.2.16-winx64 로 압축 파일 해제
3. 도스 명령창 실행
4. D:\DB\mariadb-10.2.16-winx64\bin 디렉토리로 이동
5. mysqld 실행
5.1 localhost 에서 접속 가능하게 설정 작업 및 비번 설정 작업
### mysql에 root 사용자로 접속
### 최초 실행이라 비번이 설정되어 있지 않음
D:\DB\mariadb-10.2.16-winx64\bin> mysql -u root

### mysql db 사용
MariaDB [(none)]> use mysql
Database changed
MariaDB [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)


### mysql db 의 user 테이블에 등록된 host, user 정보 확인
MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost |      |
| localhost | root |
+-----------+------+
4 rows in set (0.00 sec)


### root 사용자에게 모든 ip 로 부터 접속할 권한 부여 및 접속 비번 설정
MariaDB [mysql]> grant all privileges on mysql.* to 'root'@'%' identified by '사용할비밀번호';
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | root |
| 127.0.0.1 | root |
| ::1       | root |
| localhost |      |
| localhost | root |
+-----------+------+
5 rows in set (0.00 sec)


### user 테이블에 등록된 사용자 정보 확인 : root 사용자의 비번이 설정되어 있지 않음
MariaDB [mysql]> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root |                                           |
| 127.0.0.1 | root |                                           |
| ::1       | root |                                           |
| localhost |      |                                           |
| %         | root | 인코딩된 비밀번호                         |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)

### user 테이블의 초기 등록된 사용자에 대한 비번 설정
MariaDB [mysql]> update user set password = PASSWORD('사용할비밀번호');
Query OK, 4 rows affected (0.02 sec)
Rows matched: 5  Changed: 4  Warnings: 0


### user 테이블의 초기 등록된 사용자에 정보 확인
MariaDB [mysql]> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | 인코딩된 비밀번호                         |
| 127.0.0.1 | root | 인코딩된 비밀번호                         |
| ::1       | root | 인코딩된 비밀번호                         |
| localhost |      | 인코딩된 비밀번호                         |
| %         | root | 인코딩된 비밀번호                         |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)

### 권한 적용.
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)


### mysql 빠져 나가기
MariaDB [mysql]> \q
Bye

### mysql 접속확인 : 비번 적용된 버전으로...
D:\DB\mariadb-10.2.16-winx64\bin>mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.2.16-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> \q
Bye

6. mysql 수동으로 실행 스크립트 생성
D:\DB\mariadb-10.2.16-winx64\ 경로에 mysqld_start.bat 파일 생성 후 아래의 명령어를 적용 후 저장 한다.

#----------------
bin\mysqld --defaults-file=my.ini --console --explicit_defaults_for_timestamp &
#----------------

7. my.ini 파일 생성
### D:\DB\mariadb-10.2.16-winx64\my-large.ini 파일을 my.ini 로 복사
D:\DB\mariadb-10.2.16-winx64> copy my-large.ini my.ini


8. my.ini 파일 내용 수정 
########
아래의 내용을 각 항목별로 추가한다. (character-set을 utf8로 설정 작업)
[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8

[mysql]
default-character-set=utf8

9. 6에서 생성한 .bat 파일을 실행시켜 mysql DB server 를 실행시킨다.

10. character-set 적용과 data db 저장 디렉토리 확인

### mysql 접속
D:\DB\mariadb-10.2.16-winx64\bin>mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.2.16-MariaDB-log mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

### mysql character-set 정보 확인
MariaDB [(none)]> show variables like 'c%';
+--------------------------+----------------------------------------------+
| Variable_name            | Value                                        |
+--------------------------+----------------------------------------------+
| character_set_client     | utf8                                         |
| character_set_connection | utf8                                         |
| character_set_database   | utf8                                         |
| character_set_filesystem | binary                                       |
| character_set_results    | utf8                                         |
| character_set_server     | utf8                                         |
| character_set_system     | utf8                                         |
| character_sets_dir       | D:\DB\mariadb-10.2.16-winx64\share\charsets\ |
| check_constraint_checks  | ON                                           |
| collation_connection     | utf8_general_ci                              |
| collation_database       | utf8_general_ci                              |
| collation_server         | utf8_general_ci                              |
| completion_type          | NO_CHAIN                                     |
| concurrent_insert        | AUTO                                         |
| connect_timeout          | 10                                           |
+--------------------------+----------------------------------------------+
15 rows in set (0.00 sec)

### mysql data 관련 정보 확인
MariaDB [(none)]> show variables like 'd%';
+-----------------------------+------------------------------------+
| Variable_name               | Value                              |
+-----------------------------+------------------------------------+
| datadir                     | D:\DB\mariadb-10.2.16-winx64\data\ |
| date_format                 | %Y-%m-%d                           |
| datetime_format             | %Y-%m-%d %H:%i:%s                  |
| deadlock_search_depth_long  | 15                                 |
| deadlock_search_depth_short | 4                                  |
| deadlock_timeout_long       | 50000000                           |
| deadlock_timeout_short      | 10000                              |
| debug_no_thread_alarm       | OFF                                |
| default_master_connection   |                                    |
| default_regex_flags         |                                    |
| default_storage_engine      | InnoDB                             |
| default_tmp_storage_engine  |                                    |
| default_week_format         | 0                                  |
| delay_key_write             | ON                                 |
| delayed_insert_limit        | 100                                |
| delayed_insert_timeout      | 300                                |
| delayed_queue_size          | 1000                               |
| div_precision_increment     | 4                                  |
+-----------------------------+------------------------------------+
18 rows in set (0.00 sec)


11. mysql client 툴 다운로드 (HeidiSQL)
mysql client 툴인 HeidiSQL 을 아래 경로에서 다운로드 한다. (x64버전, portable 버전)

https://www.heidisql.com/download.php?download=portable-64

12. 다운로드 받은 HeidiSQL 을 압축 해제 및 실행
    압축 해제된 경로에서 heidisql.exe 파일을 실행 후 접속 정보 입력 후, 사용하면 된다.

2018-05-16

d3 - 시각화 자바스크립트 라이브러리

D3(Data-Driven Documents 를 표방해서 D3라 한다고 하는 듯)은
강력한 시각화 자바스크립트 라이브러리 이다.


이는 https://d3js.org/ 에서 확인 가능하고

d3를 wrapping 하여 좀더 정형화 한 것 중에 하나가 C3(http://c3js.org/) 라고 하는 것도 있다.



2016-03-25

한글[HWP] 메뉴바와 도구모음 사라지는 경우 대처법



1. HWP가 설치된 폴더에   HNC / Hwp60 / HncSetup.exe 를 실행합니다.
2. 한글 2004 기본 설정이 실행됩니다.
3. 한글 2004를 처음 실행 상태로 되돌림  을 클릭합니다
4. 완료를 클립합니다.
5. 정상 작동된 한글 2004를 확인


참조 URL ::   http://happyjung.com/bbs/board.php?bo_table=lecture&wr_id=660

2015-09-22

DataBase] Oracle 테이블에 대한 정보 조회 쿼리

-- 테이블에 대한 컬럼명, 컬럼 타입, 컬럼 길이, 코멘트 보는 쿼리.
SELECT T.TABLE_NAME, T.COLUMN_NAME, T.DATA_TYPE, T.DATA_LENGTH, C.COMMENTS
FROM ALL_TAB_COLUMNS T JOIN ALL_COL_COMMENTS C
    ON T.TABLE_NAME = C.TABLE_NAME
        AND T.COLUMN_NAME = C.COLUMN_NAME
WHERE T.TABLE_NAME = 'TABLE_NAME'
;

2015-06-15

Javascript ] 1000단위 comma(",") 관련 함수 및 숫자 판별 함수


참조 URL :: http://blog.munilive.com/javascript-comma-uncomma/


//콤마찍기
function comma(str) {
    str = String(str);
    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
}

//콤마풀기
function uncomma(str) {
    str = String(str);
    return str.replace(/[^\d]+/g, '');
}

//input box에서 사용자 입력시 바로 콤마를 찍어주기 위한 함수
function inputNumberFormat(obj) {
    obj.value = comma(uncomma(obj.value));
}


========================================================================

참조 URL :: http://mwultong.blogspot.com/2007/01/isnum-isnumeric-isnumber-javascript.html

// 입력 문자가 숫자인지 판별하는 함수
function isNumber(s) {
  s += ''; // 문자열로 변환
  s = s.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
  if (s == '' || isNaN(s)) return false;
  return true;
}



위 comma 함수를 사용하여 input box 에 1000단위 콤마표시를 사용하면서 입력문자가 숫자인지 validation 을 하거나 숫자 연산이 필요한 경우 uncomma 함수를 사용하여 미리 "," 를 제거하고 연산작업을 수행해야 된다.