2018년 7월 10일 화요일

[스마트 홈] xiaomi smart ceiling LED 조명에 대해서 알아보자

이번에는 xiaomi smart ceiling LED에 대해서 알아보자

(`18 7월 10일 현재)
제품명
모델
면적
온도
전력
밝기
CRI
비고
Yeelight LED Ceiling Light
Special Edition
YLXD03YL
15sqm
4000K
28W
1800lm
90
색상온도 조절불가
Yeelight LED Ceiling Light
(For Kids)
YLXD02YL
15sqm
2700K
-6500K
28W
1500lm

색상온도 조절가능
Yeelight LED Ceiling Light
YLXD01YL
15sqm
2700K
-6500K
28W
1800lm
95
색상온도 조절가능



* 높은 CRI를 가진 광원 아래에서 색은 풍부하고 더 선명하게 나타난다.
* 크기 : 320x320x73mm

2018년 7월 8일 일요일

[스마트 홈] xiaomi LED bulb 조명에 대해서 알아보자

스마트 홈을 구축하기 위해서 가장 기본이 되는 조명!
조명에도 여러가지 종류가 있지만 xiaomi LED bulb에 대해서 알아보자.

샤오미 홈페이지에서 검색을 해보면 LED bulb는 총 4가지가 있다.
(2018.07.08일 현재)



1)Smart LED Bulb (Color)
2)Smart LED Bulb ( Tunable White )
3)LED Bulb (Color)
4)LED Bulb (White)

이름
모델
밝기
전력
색도
헤더
수명
Smart LED Bulb
(Color)
YLDP06YL
800lm
10W
1700K-6500K
E26 / E27
25000시간
Smart LED Bulb
(Tunable White)
YLDP05YL
800lm
10W
2700K-6500K
E26 / E27
25000시간
LED Bulb
(Color)
YLDP02YL
600lm
(4000K)
9W
1700K-6500K
E26 / E27
25000시간
LED Bulb
(White)
YLDP01YL
580lm
8W
2700K
E26
25000시간

2013년 8월 5일 월요일

[Oracle] 자바에서 오라클 stored procedure 호출해서 배열을 변수로 입력



public HashMap callSP (HttpServletRequest req) throws Exception, SQLException {  
Connection con = null;  
PreparedStatement pstmt = null;  
OracleCallableStatement ps = null;  
ResultSet rs = null;  
HashMap hm = new HashMap();                      /*  변수로 던질 배열 생성
                          1차 배열
                     */
String aSingleArray[] = new String[10]; try { con = DBHandler.getConnection();
String RtnCode = ""; String RtnMsg = ""; String RtnCapno = ""; /* 값을 배열에 넣는다. */aSingleArray[0] = req.getParameter("order_no") == null ? "" : req.getParameter("order_no");aSingleArray[1] = req.getParameter("rtncan_dt") == null ? "" : req.getParameter("rtncan_dt");aSingleArray[2] = req.getParameter("ssLoginId") == null ? "" : req.getParameter("ssLoginId"); con.setAutoCommit(false); // 1차 배열의 경우ArrayDescriptor array_desc = ArrayDescriptor.createDescriptor("VARCHAR_ARRAY", con);ARRAY s_array = new ARRAY(array_desc, con, aSingleArray);
ps = (OracleCallableStatement) con.prepareCall({ call PKG_NAME.PROC_NAME(?,?,?)});ps.setArray(1, s_array);ps.registerOutParameter(2, java.sql.Types.VARCHAR); // codeps.registerOutParameter(3, java.sql.Types.VARCHAR); // msg   ps.execute();    // 실행



/* 다차원 배열일 경우 */ 
/* 선언 */        String[][] addArray = new String [bl_no.length][19];
/* 입력 */addArray[i][0] = bl_no[idx] == null ? "" : bl_no[idx];addArray[i][1] = vOrderNo == null ? "" : vOrderNo;addArray[i][2] = acct_cd[idx] == null ? "" : acct_cd[idx];
/* 준비 & 실행 */ArrayDescriptor descriptor =          ArrayDescriptor.createDescriptor( "MULDIM_ARR", con );
ARRAY array_to_pass =  new ARRAY( descriptor, con, addArray );
ps =           (OracleCallableStatement)con.prepareCall           ( " begin PKG_NAME.PROC_BEGIN(?,?,?,?); end;" );
ps.setString(1, ssLoginId);ps.setArray(2, array_to_pass);ps.registerOutParameter(3, java.sql.Types.VARCHAR );ps.registerOutParameter(4, java.sql.Types.VARCHAR );     ps.execute();


[Oracle] stored procedure 안에서 배열 형태로 파라미터 주고 받기


오라클 stored procedure 안에서 다른 SP를 호출하는 경우임


 PROCEDURE PROC_NAME1 (
  aSingleArray  IN   VARCHAR_ARRAY,
  oRtnCode      OUT  VARCHAR2,
  oRtnMsg       OUT  VARCHAR2
  ) AS
/* 배열을 선언한다 */
aINFArry      VARCHAR_ARRAY   := VARCHAR_ARRAY();
BEGIN

/* 배열의 크기를 선언하고 해당 수 만큼 변수를 넣는다 */
            aINFArry.EXTEND(2);
            aINFArry(1)  := 'VALUE1';
            aINFArry(2)  := 'VALUE2' ;    

/* 다른 프로시저를 호출하고 선언한 배열을 넣는다. */
   PROC_NAME2(aINFArry);
END PROC_NAME1 

2013년 7월 11일 목요일

[Oracle] Row 단위 락 확인 함수

create or replace FUNCTION FUNC_IS_ROW_LOCKED (v_rowid ROWID, table_name VARCHAR2)
   RETURN varchar2
IS
   x   NUMBER;
   PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
   EXECUTE IMMEDIATE    'Begin
                           Select 1 into :x from '
                              || table_name
                              || ' where rowid =:v_rowid for update nowait;
                         Exception
                            When Others Then
                              :x:=null;
                         End;'
   USING OUT x, v_rowid;
   -- now release the lock if we got it.
   ROLLBACK;
   IF x = 1
   THEN
      RETURN 'N';
   ELSIF x IS NULL
   THEN
      RETURN 'Y';
   END IF;
END;

그리고 아래 쿼리로 결과 확인
select FUNC_IS_ROW_LOCKED (vrowid, vtablename) from dual;

출처
http://stackoverflow.com/questions/5172911/showing-rows-that-are-locked-in-oracle

2013년 6월 26일 수요일

Sql Developer 설치 에러

SQL Developer 를 JRE 포함 버전으로 설치하게 되면 다음과 같은 문제를 자주 겪게 된다.
1. msvcr71.dll 를 찾을 수 없다고 에러 나면서 실행이 안되는 경우
해결방법 >>> 다른 컴퓨터에서 DriveName:\windows\system32 밑에서 해당 파일을 카피해서 같은 위치에 복사해 넣는다.
원인 >>> 특별한 원인이 있나 이 사람아 저 파일이 없어서 그렇지. ㅎㅎ
2. 시작 후 연결설정 시 로케일을 찾을 수 없다는 에러
해결방법 >>> 자바환경변수 설정에 아래를 추가한다.
JAVA_TOOL_OPTIONS : -Dfile.encoding=UTF8 -Duser.language=en -Duser.region=US -Duser.country=US

원인 >>> 자바를 설치 안해서 그렇다. 자바를 설치 하면 보통 패스 설정과 로케일 설정이 되는데 sql developer를 JRE 포함버전으로 설치해서 그렇다.(빼먹지 말자)

2012년 7월 24일 화요일

[Oracle] Sql developer 3.1 설치 후 에러

++An error was encountered performing the requested operation:++

++ORA-00604: error occurred at recursive SQL level 1++
++ORA-01882: timezone region not found++
++00604. 00000 - "error occurred at recursive SQL level %s"++
++*Cause: An error occurred while processing a recursive SQL statement++
++(a statement applying to internal dictionary tables).++
++*Action: If the situation described in the next error on the stack++
++can be corrected, do so; otherwise contact Oracle Support.++
++Vendor code 604++


JAVA VM 옵션에서 시간대 설정이 안되어있기 때문임
아래 파일에 아래 옵션을 추가해주면 된다.


file;
D:\oracle\sqldeveloper\ver3.1.07.42\sqldeveloper\bin\sqldeveloper.conf

java VM option;
AddVMOption -Duser.timezone="+07:00"