2021-03-25

windows 10 환경에서 ReactJS 개발환경 설정 - markdown 형식 문서

 #ReactJS  


## 개발환경 설정 


### nodejs 설치 



공식사이트에 들어가서 nodejs 를 아래 사이에서 다운 받아 설치


- nodejs 공식사이트 접속 : [NodeJS org](https://nodejs.org/ko/download/) 


- [zip] 파일 받아서 설치시 

- 임의의 폴더에 압축 해제. 

- cmd 창에서 해당 경로로 이동. 

- 이동된 디렉토리에서 아래 명령어 실행 

   

```linux   

# npm -v 

# node -v

```


- 정상 작동 확인시 환경변수 등록하여 어느 디렉토리에서 실행해도 작동하도록 설정. 


- npm을 이용하여 create-react-app 설치  

아래 명령어를 이용하여 create-react-app 을 로컬에 설치 

  


```linux

# npm install -g create-react-app

```

- 개발 디렉토리 지정  

아래 명령어를 이용하여 create-react-app 을 이용하여 로컬에 개발디렉토리 지정  

설정하고자 하는 디렉토리로 이동 (ex : d:\dev\workspace\react-app\ ) 후에 아래 명령어를 입력하여 실행. 

```linux

# create-react-app .

```



### visual sourcecode 설치  


공식사이트에 들어가서 visual sourcecode 를 아래 사이에서 다운 받아 설치


- visual source code  공식사이트 접속 : [code.visualstudio.com](https://code.visualstudio.com/) 


- [zip] 파일 받아서 설치시 

- 임의의 폴더에 압축 해제. 

- cmd 창에서 해당 경로로 이동. 

- 이동된 디렉토리에서 아래 명령어 실행 


### react build 


```linux

# npm run build 

```


### react 배포 


- react 실행하기 위한 서버 install 


```linux

# npm install -g serve

```


### react app 실행 


```linux  

 # npx serve -s build   => build 로 생성한 것을 docRoot 으로 설정. 

```


 


2021-03-12

Mysql/MariaDB 대용량 데이터 import 하기

1. command 명령 프롬프트에서 mysql/mariadb 로그인

D:\eGov_3.6_DEV\bin\mariadb-10.2.6-winx64>bin\mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 23
Server version: 10.2.6-MariaDB-log mariadb.org binary distribution

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

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

MariaDB [(none)]> help load
Many help items for your request exist.
To make a more specific request, please type 'help <item>',
where <item> is one of the following
topics:
   LOAD DATA
   LOAD INDEX


2. import 하고자 하는 DB로 변경

MariaDB [(none)]> use skb_mss;  <== 해당 db로 이동
Database changed

3. *.csv/*.log 파일의 내용을 읽어서 로딩
// 파일에서 데이터 읽어서 로딩하기.
// 아래 문장의 내용
// input 파일명 : d:\aapl2.csv  입력 테이블명 : aapl
// 컬럼 구분은 ','
// 줄 끝은 '\n'
// 첫줄은 header 이므로 무시
MariaDB [skb_mss]> load data local infile 'd:\\aapl2.csv' into table aapl columns terminated by ',' lines terminated by '\n' ignore 1 lines;
Query OK, 1243 rows affected, 2471 warnings (0.04 sec)
Records: 1243  Deleted: 0  Skipped: 0  Warnings: 2471

mysql startup, stop 파일 생성


startup_mysqld.bat 내용
.\bin\mysqld --character-set-server=utf8 --explicit-defaults-for-timestamp &


stop_mysqld.bat 내용
.\bin\mysqladmin -u root -p shutdown

Notepad++ 에서 Camel case 변환

 Notepad++ Camel case 변환하기


1.. 변환하고자 하는 문자열을 소문자 변환

2. 찾기 팝업에서 아래 명령어로 변환. (하단에 정규표현식 체크 설정)

Find => [_]{1,1}([a-z])

Replace => \U$1

2018-09-16

[JAVA]Base64 Encode => Base64 Decode 하여 파일생성하기(inputstream, byte[]를 통한 파일 전달에 사용가능)

* Base64 Encode => Base64 Decode 하여 파일생성하기 Apache commons codec 에서 제공하는 Base64 En Decoding 사용했습니다. ----------------------------------------------------------------------------- package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.commons.codec.binary.Base64; public class ImgTest { public ImgTest(){ try { File imgFile = new File("D:\\test.jpg"); // 이미지 파일을 byte[] 로 읽어온다. FileInputStream fis = new FileInputStream(imgFile); byte[] b = new byte[fis.available()]; fis.read(b); // 읽어온 이미지 파일의 바이너리 데이터를 base64로 인코딩한다. byte[] encoded = Base64.encodeBase64(b); // byte[] 형태의 base64 데이터를 String으로 변환. String base64Str = new String(encoded); System.out.println(base64Str); // 디코딩 작업. byte[] decoded = Base64.decodeBase64(encoded); File base64ToImgFile = new File("D:\\test2.jpg"); FileOutputStream fos = new FileOutputStream(base64ToImgFile); fos.write(decoded); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ } } public static void main(String[] args) { new ImgTest(); } }
************************************


https://stackoverflow.com/questions/17506428/convert-base64-string-to-image-in-java

[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 함수를 사용하여 미리 "," 를 제거하고 연산작업을 수행해야 된다. 

2015-06-11

Java / Mybatis ] Mapped Statements collection does not contain value for XXX

Mapped Statements collection does not contain value for XXX 라는 오류가 뜨는 경우 원인은 다음과 같다.

1. MyBatis Config에 Mapper가 정의되어있지 않거나 철자를 틀리게 적은 경우
2. 같은 이름의 Namespace가 존재하는 경우
3. MyBatis Config에는 자신이 원하는대로 제대로 적었으나 해당 Mapper의 NameSpace에 다르게 적은 경우

위의 사항을 확인하기 바랍니다. 

2014-08-23

MiPlatform 동영상강좌 리스트(youtube 게재 리스트)

MiPlatform 동영상강좌 리스트입니다.  (Youtube)


[MiPlatform] Chapter1. RIA, X-Internet 및 MiPlatform 개요-1
http://www.youtube.com/watch?v=VilRxH9UgMg

[MiPlatform] Chapter2. 기본환경설정 
http://www.youtube.com/watch?v=2X4P_13AVk0

[MiPlatform] Chapter3. 기본화면 개발_base_hello 
http://www.youtube.com/watch?v=JrYbsgCYey8

[MiPlatform] Chapter3. 기본 화면개발-base_menu
http://www.youtube.com/watch?v=dQTEONETEP4

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 1
http://www.youtube.com/watch?v=EBRBG-lItAE

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 2
http://www.youtube.com/watch?v=T4sy_Vul64o

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 3
http://www.youtube.com/watch?v=Ea9gDhjmUiM

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 4
http://www.youtube.com/watch?v=OcrgAv4SLRs

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 5
http://www.youtube.com/watch?v=5bZcqfTEsXM

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 6
http://www.youtube.com/watch?v=0ks2_P4VsbM

[MiPlatform] Chapter3. 기본 화면개발-base_sawon 7
http://www.youtube.com/watch?v=00wcK7AnqGk

[MiPlatform] Chapter4. Service개발 및 화면연계(JSP,ASP) 1
http://www.youtube.com/watch?v=m1LJQUK6W5M

[MiPlatform] Chapter4. Service개발 및 화면연계(JSP,ASP) 2
http://www.youtube.com/watch?v=j84a9gXNc5U

[MiPlatform] Chapter4. Service개발 및 화면연계(JSP,ASP) 3
http://www.youtube.com/watch?v=K5nbv-DblbU

[MiPlatform] Chapter4. Service개발 및 화면연계(JSP,ASP) 4
http://www.youtube.com/watch?v=doil0t9SLNE

[MiPlatform] Chapter4. Service개발 및 화면연계(JSP,ASP) 5
http://www.youtube.com/watch?v=h3EdUWZ-Irc

[MiPlatform] Chapter5. 상세환경설정
http://www.youtube.com/watch?v=RtIzhn-ZNfg

[MiPlatform] Chapter6. Component별 주요기능(list)
http://www.youtube.com/watch?v=b4RbuIWsR3c

[MiPlatform] Chapter6. Component별 주요기능(image)
http://youtube.com/watch?v=88jSIlYdwPc

[MiPlatform] Chapter6. Component별 주요기능(division)
http://youtube.com/watch?v=XtVmzr7zQw8

[MiPlatform] Chapter6. Component별 주요기능(button)
http://youtube.com/watch?v=mf_A4OrmZ9k

[MiPlatform] Chapter6. Component별 주요기능(go)
http://www.youtube.com/watch?v=JycH1tTT1TQ

[MiPlatform] Chapter6. Component별 주요기능(maskedit)
http://www.youtube.com/watch?v=Szr1cYy1RbU

[MiPlatform] Chapter6. Component별 주요기능(edit)
http://www.youtube.com/watch?v=5vWH99zDXwQ

[MiPlatform] Chapter6. Component별 주요기능(check)
http://www.youtube.com/watch?v=NC7cglBY1jQ

[MiPlatform] Chapter6. Component별 주요기능(combo)
http://www.youtube.com/watch?v=S-3WTZPJZDo

[MiPlatform] Chapter6. Component별 주요기능(calendar)
http://www.youtube.com/watch?v=-Rv3Rcie-4A

[MiPlatform] Chapter7. 고급기능 및 Tip-1
http://www.youtube.com/watch?v=sD1OXJpKB2A

[MiPlatform] Chapter7. 고급기능 및 Tip-2
http://www.youtube.com/watch?v=lhUmfDUKN7w

[MiPlatform] Chapter7. 고급기능 및 Tip-3
http://www.youtube.com/watch?v=P40NncCVHP4

[MiPlatform] Chapter8. 운영
http://www.youtube.com/watch?v=U9NoxA0WbN4

[MiPlatform] Chapter9. Local DB연계
http://www.youtube.com/watch?v=nedEQsLVHbI

[MiPlatform] Dataset_처리
http://www.youtube.com/watch?v=Ih1hTOo2RpA

[MiPlatform] Dataset1
        http://www.youtube.com/watch?v=zpkaXBb_iUk

[MiPlatform] Dataset2
http://www.youtube.com/watch?v=ubuHWfjEyVg

[MiPlatform] Dataset3
http://www.youtube.com/watch?v=2aoz0YaWsfc

2014-03-14

[DB2]SQL0803N One or more ...SQLSTATE=23505 오류메시지 확인하기

참조URL : http://www.dbforums.com/db2/997011-sql0803n-one-more-sqlstate-23505-a.html


IBM DB2 사용시 아래와 같은 오류메시지를 만나는 경우 오류내용 확인하기
=================
unique constraint or unique index identified by "1" constrains table "schema.table_name" from having duplicate values for the index key..

SQLCODE=-803, SQLSTATE=23505

---
상단과 같은 메시지를 맞닥트리게 되는 경우 아래의 쿼리로 해당 내용을 확인하기 바람.

SELECT *
FROM SYSCAT.INDEXES
WHERE IID = 1
AND TABSCHEMA = 'schema'
AND TABNAME = 'table_name'
;

위의 쿼리결과의 COLNAMES, UNIQUERULE 컬럼의 내용을 확인한 뒤, 인덱스가 중복되는지 확인하는 쿼리를 사용하여 점검한다.

SELECT table_name의 컬럼들, count(*) as qty
from table_name
group by table_name의 컬럼들
having  count(*) > 1
order by qty
;

위의 쿼리 결과에서 나오는 값은 중복된 인덱스를 가진 결과값이므로 해당 데이터를 보정해야 된다.

2014-03-07

Spring MVC/ Tomcat] SpringFramework MVC 사용시 view -> controller 로 파라미터 전달시 한글이 깨지는 경우에 해결책.

문서작성 참고 : http://springmvc.egloos.com/513986

SpringFramework MVC 사용시 view -> controller 로 파라미터 전달시 한글이 깨지는 경우에 해결책.

1. HTTP - POST
   web.xml 에 CharacterEncodingFilter 를 추가한다.
    <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>/*</url-pattern>
    </filter-mapping>

2. HTTP - GET
Eclipse-tomcat 개발환경에서 한글이 깨지는 경우 tomcat의 server.xml 에 아래 항목에  URIEncoding="UTF-8" 를 추가한다.
*** 아래는 Tomcat 7.x 의 server.xml 기준.

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>


<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

2014-01-13

DB2] DB2에서 특정 컬럼명을 가지고 있는 테이블 리스트 찾기.

IBM DB2 에서 특정 컬럼명을 가진 테이블 리스트를 구하는 방법.

1.
select * 
from syscat.columns 
where colname = '확인할컬럼명' -- 컬럼명은 대문자
;

2.
select * 
from syscat.columns 
where remarks like 'comment한 이름' -- 컬럼명은 대문자
;

1. 은 컬럼명을 알 때 사용 가능하고, 2. 는 테이블 생성시 remarks 에 코멘트를 달아 놓은 경우에 해당 작업으로 확인이 가능하다.

** 해당 스키마를 알면 해당 스키마에서만 찾고자 하는 컬럼명을 사용하는 테이블을 조회가 가능하다.

2013-12-18

Mysql/Mariadb] MariaDB 5.5.34 zip 파일 설치하기.

mysql 과 쌍둥이 Database 인 MariaDB 설치하기.

1. mariadb download
   https://downloads.mariadb.org 에 접속해서 해당하는 버전을 다운로드(zip 파일)
   ** 현재 안정화 버전은 5.5.34(mysql 5.5에 대응) , 베타버전은 10.6 beta(mysql 5.6에 대응)를 테스트 중.
       
2. download 된 zip 파일을 압축해제 한다.

3. 압축이 풀린 디렉토리를 설치하고자 하는 곳으로 옮긴다.
    ex) c:\maraidb-5.5.34

4. my-innodb-heavy-4G.ini 을 my.ini로 복사

5. my.ini 파일 편집

[client]

default-character-set = utf8

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



# innodb

innodb_data_home_dir = "c:/maraidb-5.5.34/data/"


[mysqldump]
default-character-set = utf8




[mysql]
default-character-set = utf8

5. mysql 실행
c:/maraidb-5.5.34/bin/mysqld


**  mysql을 윈도우 서비스로 등록

mysqld --install 서비스명.


6. mysql 에 root user로 접속
c:/maraidb-5.5.34/bin>mysql -u root -p
Enter password:   <== 엔터키 입력하고 넘어간다

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

MariaDB [(none)]> use mysql <== db 변경
Database changed

7. mysql DB의 user 테이블의 내용 확인
MariaDB [mysql]> desc user; <== user 테이블의 구조 확인

8. root user의 비밀번호 변경 및 적용
MariaDB [mysql]> update user set password=password('변경할비밀번호') where user='root';  <== 비번 변경
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

MariaDB [mysql]> flush privileges; <== 적용
Query OK, 0 rows affected (0.00 sec)

2013-12-03

javascript/SmartClient] RichTextEditor 사용하기.

RichTextEditor를 사용하기 위해서는 아래와 같은 선언문을 포함한 뒤.

<SCRIPT SRC=isomorphic/system/modules/ISC_RichTextEditor.js></SCRIPT><SCRIPT>isc._lastModule='RichTextEditor';</SCRIPT>

------------

isc.VLayout.create({
   membersMargin:5,
   members:[
       isc.RichTextEditor.create({
           autoDraw:false,
           ID:"contentEditor",
           height:155,
         
           overflow:"hidden",
           canDragResize:true, showEdges:true,

            // Standard control group options include
            // "fontControls", "formatControls", "styleControls" and "colorControls"
            controlGroups:["fontControls", "formatControls", "styleControls", "colorControls"],
            value:''
       })
       ]
});

와 같이 선언을 하여 사용한다.

(참조 URL : http://www.smartclient.com/docs/9.0/a/system/reference/SmartClient_Explorer.html#RichTextEditor
)

위의 RichTextEditor 를 DynamicForm 에 붙여서 사용하기 위해서는
DynamicForm에서 사용하고자 하는 field의 타입을 'canvas'로 선언해서 사용하면 된다.

추가적으로 해당 RichTextEditor 에서 사용하고자 하는 font를 더 추가하고자 하는 경우,

isomorphic/system/modules/ISC_RichTextEditor.js 파일의 82 line부근의 fontControls이 정의된 곳에 추가하고자 하는 Font 를 추가하면 된다.
추가하는 형식은 "font":"font 라벨(콤보에 표시되는 값)" 으로 "," 로 구분하여 추가하면 된다.

2013-10-27

재부도 전경


주말에 간 제부도전경. (파노라마 사진).
시원하고 좋은 날...
좋았다..