반응형
반응형
반응형

안드로이드와 iOS 앱을 만들수 있는 플러터를 알아보기로 했다.

먼저, 설치 부터 시작!

공식 사이트에서 Get Started 클릭.
※ 한글 사이트도 제공하고 있으니 참고하면 좋을 것 같다.
자신의 OS에 맞게 다운로드 한다.(Windows)


SDK 를 다운받아 원하는 위치에 압축을 풀면 된다.

현재 버전은 3.7.10

 

플러터 명령어를 실행하기 위해 환경 변수 설정!

윈도우 -> 설정
윈도우 - 설정



설정 창에서 "시스템 환경 변수" 검색



시스템 속성 창에서 "환경 변수" 클릭



시스템 환경 변수 추가
환경 변수 창에서 "시스템 변수"의 Path 편집 클릭
환경 변수 편집 창에서 "새로 만들기" 클릭하여 "플러터 SDK 압축 푼 디렉토리\bin" 추가 


cmd 창에서 설치 버전 확인

 

반응형
반응형




Spring Properties 파일 로딩 우선 순위
 - 1이 가장 높음


# ############################ #
# 파일 위치(디렉토리) 우선 순위 설정.
# ############################ #


# default
1. file:./config/
2. file:./
3. classpath:/config/
4. classpath:/


# spring.config.additional-location
# - 기본 spring.config.location 에 추가.
ex) spring.config.additional-location=classpath:/custom-config/,file:./custom-config/
1. file:./custom-config/
2. classpath:custom-config/
3. file:./config/
4. file:./
5. classpath:/config/
6. classpath:/


# spring.config.location(기본값 : classpath:/,classpath:/config/,file:./,file:./config/)
# - 나중에 기술된 위치가 우선 순위가 높음.
# - 디렉토리 / 파일명 모두 명시 가능
# - 디렉토리를 명시 했을 경우 profile 설정 사용 가능.
ex) spring.config.location=classpath:/custom-config/,file:./custom-config/
1. file:./custom-config/
2. classpath:custom-config/



# ############################ #
# 파일명(profiile) 우선 순위 설정.
# ############################ #


# spring.profiles.active 설정.
# - 나중에 기술된 profile(dev) 이 우선순위가 높음.
ex) spring.profiles.active=common,dev
1. application-dev.properties
2. application-common.properties
3. application.properties


# spring.profiles.include 설정.
# - include 된 profile 이 우선순위가 높음.
ex) application.properties 파일 내용(spring.profiles.include=common)
1. application-common.properties
2. application.properties

 

# spring.profiles.active & spring.profiles.include 설정.
# - spring.profiles.active 의 profile 이 우선순위가 높음.
ex) spring.profiles.active=dev

ex) spring.profiles.include=common
1. application-dev.properties
2. application-common.properties
3. application.properties

 

 

# 환경 변수 -Dspring.profiles.active=prd

# vs

# 프로퍼티 spring.profiles.active=dev(application.properties 파일 내용)

# 환경변수의 profile 이 적용된다.

1. application-prd.properties
2. application.properties

 

 

반응형

'프로그래밍 > Spring' 카테고리의 다른 글

Spring logback 설정 우선 순위  (0) 2023.06.09
반응형

java encoding 순서

System.out.println("file.encoding=" + System.getProperty("file.encoding"));
System.out.println("Charset.defaultCharset=" + Charset.defaultCharset());
System.out.println("InputStreamReader.getEncoding=" + new InputStreamReader(new FileInputStream("./PrintCharSets.java")).getEncoding());

 

1. jvm 옵션(OS 환경변수보다 최우선시 적용)

 - java -Dfile.encoding=euckr

2. env LC_ALL

- LC_ALL 이 설정되어 있으면 LC_CTYPE 값도 LC_ALL 값으로 덮어써진다.

3. env LC_CTYPE

- LC_ALL 이 설정 안되어 있으면 개별로 설정된 LC_CTYPE 적용.

4. env LANG

- LC_ALL 과 LC_CTYPE 이 설정되어 있지 않다면 LC_ALL 을 제외한 나머지 LC_* 값은 LANG 값으로 덮어써진다.

- 따라서, LC_CTYPE 은 LANG 값과 같아진다.

 

결국 linux 에서는 jvm 옵션을 설정하지 않으면 locale 명령어의 결과 중 LC_CTYPE 값이 적용된다고 보면 된다.

 

반응형

'프로그래밍 > Java' 카테고리의 다른 글

Java Stream 설명  (0) 2023.05.26
Stream reduce 간단 설명  (0) 2023.05.20
[JAVA] java.lang.UnsatisfiedLinkError: no net in java.library.path  (1) 2021.06.25
Too many open files  (2) 2021.06.14
환경변수 값 읽어오기.  (0) 2021.04.05
반응형
반응형
반응형

 

ANSI Query(SQL)

  • ANSI(American National Standards Institute, 미국 국립 표준 협회)에서 제시한 SQL에 대한 보편적인 문법

Visual Representation of SQL Joins - CodeProject

https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

 


 

오라클 Join 예제.

 

테이블 : T_MEMBER

T_MEMBER 테이블

 

테이블 : T_DEPARTMENT

T_DEPARTMENT 테이블

 


 

Inner Join
-- (교집합) 각 테이블에서 조인 조건에 일치되는 데이터만 가져온다.

(ANSI) SELECT m.*, d.* FROM T_MEMBER m INNER JOIN T_DEPARTMENT d ON m.DEPT_IDX = d.DEPT_IDX;
(Oralce) SELECT m.*, d.* FROM T_MEMBER m, T_DEPARTMENT d WHERE m.DEPT_IDX = d.DEPT_IDX;

Inner Join

 

 

 

Outer Join
-- 조인 조건에 일치하는 데이터 및 일치하지 않은 데이터를 모두 SELECT 한다.
-- 조인 조건에 일치하는 데이터가 없다면 NULL로 가져온다.
-- 주(main) 테이블이 어떤 테이블인지가 중요하다.

 

  • Left Outer Join
(ANSI) SELECT m.*, d.* FROM T_MEMBER m LEFT OUTER JOIN T_DEPARTMENT d ON m.DEPT_IDX = d.DEPT_IDX ORDER BY m.MEM_ID;
(Oralce) SELECT m.*, d.* FROM T_MEMBER m, T_DEPARTMENT d WHERE m.DEPT_IDX = d.DEPT_IDX(+) ORDER BY m.MEM_ID;

Left Outer Join

 

  • Right Outer Join
(ANSI) SELECT m.*, d.* FROM T_MEMBER m RIGHT OUTER JOIN T_DEPARTMENT d ON m.DEPT_IDX = d.DEPT_IDX ORDER BY m.MEM_ID;
(Oralce) SELECT m.*, d.* FROM T_MEMBER m, T_DEPARTMENT d WHERE m.DEPT_IDX(+) = d.DEPT_IDX ORDER BY m.MEM_ID;

Right Outer Join

 

  • Full Outer Join
(ANSI) SELECT m.*, d.* FROM T_MEMBER m FULL OUTER JOIN T_DEPARTMENT d ON m.DEPT_IDX = d.DEPT_IDX ORDER BY m.MEM_ID;
(Oralce) X

Full Outer Join

 

 

Cross Join
-- 두 테이블 조인 시 가능한 모든 경우의 레코드를 SELECT 한다.
-- 경우의 수 : N * M

(ANSI) SELECT m.*, d.* FROM T_MEMBER m CROSS JOIN T_DEPARTMENT d ORDER BY m.MEM_ID, d.DEPT_IDX;
(Oralce) SELECT m.*, d.* FROM T_MEMBER m, T_DEPARTMENT d ORDER BY m.MEM_ID, d.DEPT_IDX;

Cross Join

 

Self Join
-- 테이블이 자기 자신을 마치 다른 테이블처럼 취급하여 조인한다.

(ANSI) SELECT m.*, d.* FROM T_MEMBER m JOIN T_MEMBER d ON m.MEM_ID = d.MEM_ID ORDER BY m.MEM_ID;
(Oralce) SELECT m.*, d.* FROM T_MEMBER m, T_MEMBER d WHERE m.MEM_ID = d.MEM_ID ORDER BY m.MEM_ID;

Self Join

 

 

 

반응형

'Database > Oracle' 카테고리의 다른 글

NLS 파라미터 확인  (0) 2020.11.17
JDBC 오류?? varchar 에 2000byte 이상 insert 하기.  (0) 2011.11.07
캐릭터셋 확인.  (0) 2011.10.20
오라클 구동 방법  (0) 2011.01.05
[Link] hierarchy query  (0) 2010.11.09
반응형

xxxx.bat 파일에 저장 후 관리자로 실행.

 

@echo off
mode con cols=60 lines=40
COLOR 0E

:SEL_NW
echo.     
echo  [네트워크 IP Changer]
echo    1: 집
echo    2: 회사
echo.     
echo    d: 자동설정
echo    q: 종료
echo ----------------------------


SET /P sel=선택하십시오:
IF %sel%==1 (goto NW_HOME)
IF %sel%==2 (goto NW_OFFICE)

IF %sel%==d (goto NW_DHCP)
IF %sel%==q (goto quit)

:NW_HOME
echo 집 네트워크 설정
echo IP: 192.168.5.64
echo 서브넷 마스크: 255.255.248.0
echo 게이트웨이: 192.168.1.1
netsh interface ipv4 set address "이더넷" static 192.168.5.64 255.255.248.0 192.168.1.1
echo DNS1: 192.168.1.29
echo DNS2: 168.126.63.1
netsh interface ipv4 set dns "이더넷" static 192.168.1.29 primary no
netsh interface ipv4 add dns "이더넷" 168.126.63.1 index=2 no
pause
goto SEL_NW

:NW_OFFICE
echo 회사 네트워크 설정
echo IP: 192.168.5.64
echo 서브넷 마스크: 255.255.248.0
echo 게이트웨이: 192.168.1.1
netsh interface ipv4 set address "이더넷" static 192.168.5.64 255.255.248.0 192.168.1.1
echo DNS1: 168.126.63.1
echo DNS2: 8.8.8.8
netsh interface ipv4 set dns "이더넷" static 168.126.63.1 primary no
netsh interface ipv4 add dns "이더넷" 8.8.8.8 index=2 no
pause
goto SEL_NW

:NW_DHCP
echo 자동설정 모드입니다.
echo IP: 자동
echo 서브넷 마스크: 자동
echo 게이트웨이: 자동
netsh interface ipv4 set address "이더넷" source=dhcp
echo DNS: 자동
netsh interface ipv4 set dnsservers "이더넷" source=dhcp
pause
goto SEL_NW

:quit
echo.

 

위 설정은 네트워크의 이름이 "이더넷" 인 경우의 예시임.

 

네트워크 설정 - 샘플.bat
0.00MB

반응형
반응형

https://www.kyungyeon.dev/posts/66

 

Index 생성시 데이터의 중복이 적으면 적을수록 좋다. distinct foo 했을 때 랑 count(*) 가 비슷한 컬럼일수록 Index 효율이 높다.

Index의 손익분기점이라고 표현하는데, 상황에 따라 다르겠지만 보통 전체 데이터의 5~10%정도로 걸러지는 경우 Index를 사용했을 때 좋은 효율을 낼 수 있다.
이 내용은 테이블의 데이터가 100만건 정도일 때 조건이고, 1000만건~ 그 이상 많아진다면 손익분기점은 더 낮아진다. 1000만건 이상인 테이블에서는 보통 5%정도로 걸러져야 효율이 좋다.

그리고 20%가 넘어가는 경우 오히려 Table Full Scan이 더 빠를 수 있다.

그리고 당연하게도 활용도가 높은 즉, 많이 사용되는 컬럼을 Index로 사용하는게 좋을 것이다.

 

반응형
반응형

undefined는 원시값으로, 선언한 후 값을 할당하지 않은 변수 혹은 값이 주어지지 않은 인수에 자동으로 할당됩니다.

var a;

if(typeof a === 'undefined') {
        console.log('a is typeof undefined');
}

if (a === undefined) {
        console.log('a is undefined');
}

 

그렇다면 선언하지 않은 변수는 어떻게 되나???

if (b === undefined) {
        console.log('b is undefined');
}

===> ReferenceError 발생.

 

if (typeof b === 'undefined') {
        console.log('b is typeof undefined');
}

===> 오류 없이 로그 출력.

 

 

결론... typeof 를 사용하자??!!!

typeof를 사용하는 이유 중 하나는 선언하지 않은 변수를 사용해도 오류를 던지지 않기 때문이다.

 

반응형

'프로그래밍 > Javascript' 카테고리의 다른 글

prototype  (0) 2018.12.20
javascript containsAll  (1) 2016.11.04
[jquery] hide, show 함수, visibility 속성  (0) 2016.10.28
jquery crossdomain ajax jsonp  (1) 2015.10.30
한글, 영문 check  (0) 2011.12.27
반응형

// node 버전 확인
$ node -v
v7.3.0

// 캐시 삭제
$ npm cache clean -f

// nodejs 버전관리 플러그인
$ npm install -g n 

// nodejs 업데이트
$ sudo n stable

// n latest  # 최신버전
// n lts     # lts 버전
// n stable  # 안정버전


// npm 버전 확인
$ npm -v
6.14.13


// npm 업데이트(global 경로)
$ sudo npm install -g npm 


// 설치 후 버전 확인.
$ node -v
v14.17.3

$ npm -v
7.20.0

반응형

'프로그래밍 > nodejs' 카테고리의 다른 글

nodejs 설치.  (0) 2020.03.02
package.json 설명 링크.  (0) 2018.09.12
반응형

// replication 생성.
create replication [replication_name] with '[remote_ip]', [remote_port]
from [user.local_table_1] to [user.remote_table_1],
...
from [user.local_table_N] to [user.remote_table_N];


// replication host 추가.
ALTER REPLICATION [replication_name] ADD HOST ‘[remote2_ip]‘, [remote2_port];


// 등록된 호스트 개수, 이중화 테이블 개수 등 이중화 관련 정보
iSQL> SET VERTICAL ON;
iSQL> SELECT * FROM system_.sys_replications_;
REPLICATION_NAME         : REP1  
LAST_USED_HOST_NO        : 23                        // 마지막 Replication host_no
HOST_COUNT               : 2                         // Replication Host 갯수.
IS_STARTED               : 1 
XSN                      : 14919526761 
ITEM_COUNT               : 321                       // Replication Item 갯수.
CONFLICT_RESOLUTION      : 0 
REPL_MODE                : 0 
ROLE                     : 0 
OPTIONS                  : 0 
INVALID_RECOVERY         : 0 
REMOTE_FAULT_DETECT_TIME : 08-JUL-2021 
GIVE_UP_TIME             :  
GIVE_UP_XSN              :  
PARALLEL_APPLIER_COUNT   : 0

1 row selected.


// 원격 서버에 관련된 정보
iSQL> SET VERTICAL OFF;
iSQL> set colsize 15
iSQL> SELECT * FROM system_.sys_repl_hosts_;
HOST_NO     REPLICATION_NAME                HOST_IP                         PORT_NO     
---------------------------------------------------------------------------------------------
23          REP1                            10.1.3.2                        30300       
65          REP1                            10.1.4.2                        30300
2 rows selected.


// 이중화 송신 쓰레드 상태 확인.(active thread 정보)
iSQL> set colsize 15
iSQL> SELECT rep_name, status, net_error_flag, sender_ip, sender_port, peer_ip, peer_port FROM V$REPSENDER;
REP_NAME         STATUS               NET_ERROR_FLAG       SENDER_IP        SENDER_PORT PEER_IP          PEER_PORT   
-----------------------------------------------------------------------------------------------------------------------------
REP1             1                    0                    10.1.3.1         46268       10.1.3.2         30300       
1 row selected.



// Replication 테이블 정보.
iSQL> set colsize 25
iSQL> SELECT REPLICATION_NAME,LOCAL_USER_NAME, LOCAL_TABLE_NAME from SYSTEM_.SYS_REPL_ITEMS_;
...
321 rows selected.

반응형

+ Recent posts