달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'전체 보기'에 해당되는 글 215건

  1. 2016.04.20 블루스택 버전별 다운(구버전등등)
  2. 2016.04.19 다음 팟 인코더&프리셋
  3. 2016.04.19 oracle 초성검색 function(mssql function 수정)
  4. 2016.04.15 Mysql 초성 검색 function(mssql function수정)
  5. 2016.03.25 정규식(혹은 정규표현식)에 대한 문서들 정리
  6. 2016.03.25 정규표현식(Regular Expression)을 소개합니다
  7. 2016.03.25 input 태그에 숫자만을 입력할 수 있도록 하기
  8. 2016.03.23 2016 블루투스 스마트 시계 c5 방수 손목 스포츠 보수계 스마트 워치 ios 안드로이드 스마트 폰 sim 시계 시계
  9. 2016.03.23 윈도우 7,8 사용자 추적 업데이트 툴들
  10. 2016.03.16 PHP 만나이 계산하기
  11. 2016.02.24 MYSQL 접속 프로그램
  12. 2016.02.24 XAMPP 웹서버
  13. 2016.02.24 대량의 서브도메인생성 DNS 설정
  14. 2016.02.19 windows 10 업데이트 막기(알람 제거)
  15. 2016.02.15 엘리먼트 x,y 위치값 가져오기
  16. 2016.02.12 Eclipse 성능개선 최적화
  17. 2016.02.12 Log4j 로 쿼리 로그 깔금 하게 보기
  18. 2016.01.21 안드로이드 MTP USB 설치 오류
  19. 2016.01.14 Active Directory 도메인, 계정/파일 생성 및 공유 방법
  20. 2016.01.14 Active Directory 도메인에 가입하기
  21. 2016.01.14 Active Directory 도메인 서비스 구축하기
  22. 2016.01.14 윈도우 서버 2008 R2 설치하기
  23. 2016.01.04 윈도우 7 모든 언어팩 모음집(ALL Windows 7 language packs)
  24. 2015.12.31 윈도우 플랫폼 체크
  25. 2015.12.30 Mac Address Changer(맥 어드레스 변경)
  26. 2015.10.06 poi를 이용한 (*.xls, *.xlsx)읽기
  27. 2015.10.06 xlsx 파일(XSSFWorkbook)을 xls 파일(HSSFWorkbook)로 변환하는 메서드.
  28. 2015.09.18 JAVASCRIPT OFFSET(TOP,LEFT)
  29. 2015.09.04 PHP (및 기타 언어)로 일정주기로 실행(스케줄링)
  30. 2015.07.31 JAVASCRIPT 한글 유니코드 변경

그냥 링크를 걸어두면 될걸 가지고 검색하고 들어가겠금 블로그질 해놨네 -_-

 

 

0.10.7 5601 Oct. 08, 2015 4.4.2 DOWNLOAD

 

2.1.16 5938 Mar. 29, 2016 4.4.2 DOWNLOAD

 

 

 

나머지 구하실려면 아래 링크로

 

http://forum.xda-developers.com/wiki/BlueStacks_App_Player

Posted by 타카스 류지
|

다음팟 인코딩 포터블

 

 

DaumPotEncoder_2.1.4.53(포터블).zip

 

DaumPotEncoder_2.1.4.53(포터블).z01

 

 

h.264 352X198.pes

 

저용량 고화질.pes

 

Posted by 타카스 류지
|

MSSQL 쿼리를 MYSQL 로 만들어 수정해보았고 이걸 다시 ORACLE 용으로 변경해보았다..

 

좋네..ㅎ

 

 

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

 

오라클 초성 검색 펑션

 

 

CREATE OR REPLACE
FUNCTION FN_GET_CHOSUNG (STR IN  VARCHAR2)
RETURN VARCHAR2 IS
/******************************************************************************
   NAME        : FN_GET_CHOSUNG
   STR         : 홍길동
   RETURN      : ㅎㄱㄷ
******************************************************************************/

I INT;
J INT;
TMPSTR VARCHAR2(255);
COL1 VARCHAR2(2);

BEGIN
 I := LENGTH(STR);
 J := 1;
 TMPSTR := '';

 WHILE J <= I LOOP
  COL1 := SUBSTR(STR, J, 1);
  TMPSTR := TMPSTR ||
    (
      CASE WHEN COL1 < 'ㄱ' THEN COL1 
      WHEN ascii('ㄱ') <= ascii(COL1) and 
         ascii(COL1)<= ascii('ㅎ') THEN COL1 
      WHEN COL1 < '까' THEN 'ㄱ'
      WHEN COL1 < '나' THEN 'ㄲ'
      WHEN COL1 < '다' THEN 'ㄴ'
      WHEN COL1 < '따' THEN 'ㄷ'
      WHEN COL1 < '라' THEN 'ㄸ'
      WHEN COL1 < '마' THEN 'ㄹ'
      WHEN COL1 < '바' THEN 'ㅁ'
      WHEN COL1 < '빠' THEN 'ㅂ'
      WHEN COL1 < '사' THEN 'ㅃ'
      WHEN COL1 < '싸' THEN 'ㅅ'
      WHEN COL1 < '아' THEN 'ㅆ'
      WHEN COL1 < '자' THEN 'ㅇ'
      WHEN COL1 < '짜' THEN 'ㅈ'
      WHEN COL1 < '차' THEN 'ㅉ'
      WHEN COL1 < '카' THEN 'ㅊ'
      WHEN COL1 < '타' THEN 'ㅋ'
      WHEN COL1 < '파' THEN 'ㅌ'
      WHEN COL1 < '하' THEN 'ㅍ'
      ELSE 'ㅎ'
      END
   );
  J := J + 1;
 END LOOP;

 RETURN TMPSTR;
END;
----------------------------------------------------------------------------

 

 

MYSQL

 

CREATE FUNCTION `chosung`(STR VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
    DETERMINISTIC
BEGIN
 DECLARE I INT;
 DECLARE J INT;
 DECLARE TMPSTR VARCHAR(255);
 DECLARE COL1 VARCHAR(2);

 SET I = char_length(STR);
 SET J = 1;
 SET TMPSTR = '';
  WHILE J <=I  DO
    SET COL1 = SUBSTRING(STR, J, 1);
  SET TMPSTR = CONCAT(TMPSTR,(
                       CASE WHEN COL1 < 'ㄱ' THEN COL1 
                       WHEN ascii('ㄱ') <= ascii(COL1) and 
                              ascii(COL1)<= ascii('ㅎ') THEN COL1 
                       WHEN COL1 < '까' THEN 'ㄱ'
                       WHEN COL1 < '나' THEN 'ㄲ'
                       WHEN COL1 < '다' THEN 'ㄴ'
                       WHEN COL1 < '따' THEN 'ㄷ'
                       WHEN COL1 < '라' THEN 'ㄸ'
                       WHEN COL1 < '마' THEN 'ㄹ'
                       WHEN COL1 < '바' THEN 'ㅁ'
                       WHEN COL1 < '빠' THEN 'ㅂ'
                       WHEN COL1 < '사' THEN 'ㅃ'
                       WHEN COL1 < '싸' THEN 'ㅅ'
                       WHEN COL1 < '아' THEN 'ㅆ'
                       WHEN COL1 < '자' THEN 'ㅇ'
                       WHEN COL1 < '짜' THEN 'ㅈ'
                       WHEN COL1 < '차' THEN 'ㅉ'
                       WHEN COL1 < '카' THEN 'ㅊ'
                       WHEN COL1 < '타' THEN 'ㅋ'
                       WHEN COL1 < '파' THEN 'ㅌ'
                       WHEN COL1 < '하' THEN 'ㅍ'
                       WHEN COL1 <= '힣' THEN 'ㅎ'
                       ELSE COL1
                       END
         ));
      SET J = J + 1 ;
  END WHILE;
  RETURN TMPSTR;
END

 

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

 

 

 

 

 

MYSQL : http://cjbox.tistory.com/111

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

ORACLE - 최근 실행 쿼리 확인하기  (0) 2020.07.30
oracle LISTAGG 사용하기  (0) 2016.04.28
세션 킬(Session Kill)  (0) 2015.02.24
패키지 생성 암호화 CRYPTO  (0) 2015.02.24
oracle 외부접속  (0) 2015.02.24
Posted by 타카스 류지
|

네비게이션 검색을 보면 초성 검색을 하는것을 보고 자료를 찾아보던 중 mssql 로 만든 펑션을 보고 mysql 버전으로 수정하였다.

 

검색시 like 로 검색을 하면은 참 용이하게 쓸거같다.

 

쿼리 : select chosung("메인보드(atx)")

 

결과 : ㅁㅇㅂㄷ(atx)

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

MYSQL

 

CREATE FUNCTION `chosung`(STR VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
    DETERMINISTIC
BEGIN
 DECLARE I INT;
 DECLARE J INT;
 DECLARE TMPSTR VARCHAR(255);
 DECLARE COL1 VARCHAR(2);

 SET I = char_length(STR);
 SET J = 1;
 SET TMPSTR = '';
  WHILE J <=I  DO
    SET COL1 = SUBSTRING(STR, J, 1);
  SET TMPSTR = CONCAT(TMPSTR,(
                       CASE WHEN COL1 < 'ㄱ' THEN COL1 
                       WHEN ascii('ㄱ') <= ascii(COL1) and 
                              ascii(COL1)<= ascii('ㅎ') THEN COL1 
                       WHEN COL1 < '까' THEN 'ㄱ'
                       WHEN COL1 < '나' THEN 'ㄲ'
                       WHEN COL1 < '다' THEN 'ㄴ'
                       WHEN COL1 < '따' THEN 'ㄷ'
                       WHEN COL1 < '라' THEN 'ㄸ'
                       WHEN COL1 < '마' THEN 'ㄹ'
                       WHEN COL1 < '바' THEN 'ㅁ'
                       WHEN COL1 < '빠' THEN 'ㅂ'
                       WHEN COL1 < '사' THEN 'ㅃ'
                       WHEN COL1 < '싸' THEN 'ㅅ'
                       WHEN COL1 < '아' THEN 'ㅆ'
                       WHEN COL1 < '자' THEN 'ㅇ'
                       WHEN COL1 < '짜' THEN 'ㅈ'
                       WHEN COL1 < '차' THEN 'ㅉ'
                       WHEN COL1 < '카' THEN 'ㅊ'
                       WHEN COL1 < '타' THEN 'ㅋ'
                       WHEN COL1 < '파' THEN 'ㅌ'
                       WHEN COL1 < '하' THEN 'ㅍ'
                       WHEN COL1 <= '힣' THEN 'ㅎ'
                       ELSE COL1
                       END
         ));
      SET J = J + 1 ;
  END WHILE;
  RETURN TMPSTR;
END

 

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

 

MSSQL 원본

 

-- 한글인 경우, 자음 추출

-- 한글이 아닌 경우 그대로 출력

CREATE FUNCTION Parse_Str(@STR VARCHAR(255))

RETURNS VARCHAR(255)

AS

BEGIN

 

DECLARE @I INT, @J INT, @TMPSTR VARCHAR(255), @COL1 VARCHAR(2)

SET @I = LEN(@STR)

 

SET @J = 1

SET @TMPSTR = ''

 

        WHILE (@J<=@I)

        BEGIN

               SELECT @COL1 = SUBSTRING(@STR, @J, 1)               

       

               SET @TMPSTR = @TMPSTR +

                       CASE WHEN @COL1 < '' THEN @COL1

                       WHEN ascii('') <= ascii(@COL1) and

                              ascii(@COL1)<= ascii('') THEN @COL1

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 < '' THEN ''

                       WHEN @COL1 <= '' THEN ''

                       ELSE  @COL1

                       END

       

               SET @J = @J + 1

       

        END

RETURN(@TMPSTR)

END

GO

 

 

 

CREATE TABLE [good_table] (

  [good_cd]  [varchar] (13)  COLLATE Korean_Wansung_CI_AS NOT NULL ,

  [good_knm] [varchar] (100)  COLLATE Korean_Wansung_CI_AS NULL,

  [good_knm_sep] varchar(255) NULL -- 자음 추출한 데이터가 저장

 ) ON [PRIMARY]

GO

 

CREATE INDEX IDX__knm_sep ON good_table(good_knm_sep)

GO

 

CREATE TRIGGER TRG_GOOD_TABLE

ON GOOD_TABLE

FOR INSERT, UPDATE

AS

BEGIN

        UPDATE A

        SET good_knm_sep = dbo.Parse_Str(B.good_knm)

        FROM good_table A JOIN Inserted B ON A.good_cd = B.good_cd

END

GO

 

 

--)  '삼성파브' 입력시

INSERT GOOD_TABLE(good_cd, good_knm) VALUES ('12345','삼성파브')

GO

 

SELECT * FROM GOOD_TABLE

/*

good_cd         good_knm       good_knm_sep

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

12345          삼성파브        ㅅㅅㅍㅂ

 

(1 적용됨)

*/

 

 

 

 

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

mysql root 패스워드 분실시  (0) 2019.02.22
MYSQL 접속 프로그램  (0) 2016.02.24
MYSQL DB 덤프 방법  (0) 2010.12.07
Posted by 타카스 류지
|

 

출처 : http://www.hyungjun.kr/227

 

참고 : http://taegon.kim/archives/3937

 

-> http://blog.naver.com/pureb612b?Redirect=Log&logNo=220597602756 

 

 

 

 

 

 

 

 

정규식(혹은 정규표현식)에 대해서 자료를 찾다가 괜찮은 문서들이 있길래 정리해봅니다.

 

1. IBM DeveloperWorks의 Special Issue중에서 초보 개발자 코드 트레이닝,Part 5 : 정규 표현식

2. www.wonchu.net의 자바스크립트 정규식 문서(아래 두개중 어떤 링크를 이용해도 됨.)
http://www.wonchu.net/board.do?method=bview&boardId=003&boardSeq=36 (검색엔진에서 찾은 링크)
http://www.wonchu.net/issue/00336 (게시판에 표시된 링크)

3. [똥싼너구리의 정리노트]라는 스프링노트에 올라온 문서
정규표현식 카테고리

4. [카알의 적당한 인생 이야기]에 올라온 정규표현식 문서
정규 표현식(Regular Expressions) 

 



아래는 [카알의 적당한 인생 이야기]의 내용을 정리한 것입니다.

 

 

(1) ^ (caret) : 라인의 처음이나 문자열의 처음을 표시
$ (dollar) : 라인의 끝이나 문자열의 끝을 표시
. (period) : 임의의 한 문자를 표시
예)
^aaa (문자열의 처음에 aaa를 포함하면 참, 그렇지 않으면 거짓)
aaa$ (문자열의 끝에 aaa를 포함하면 참, 그렇지 않으면 거짓)
^a.c (문자열의 처음에 abc, adc, aZc 등은 참, aa 는 거짓)
a..b$ (문자열의 끝에 aaab, abbb, azzb 등을 포함하면 참)


(2) [] (bracket) : 문자의 집합이나 범위를 나타냄, 두 문자 사이의 "-"는 범위를 나타낸다.
[]내에서 "^"이 선행되면 not을 나타낸다.
이외에도 "문자클래스"를 포함하는 [:문자클래스:]의 형태가 있다. "문자클래스"에는 alpha, blank, cntrl, digit, graph, lower, print, space, uppper, xdigit가 있다.
이외에 [:<:]와 [:>:]는 어떤 단어(숫자, 알파벳, '_'로 구성됨)의 시작과 끝을 나타낸다.
예)
[abc] (a, b, c 중 어떤 문자, "[a-c]."과 동일)
[Yy] (Y 또는 y)
[A-Za-z0-9] (모든 알파벳과 숫자)
[-A-Z]. ("-"(hyphen)과 모든 대문자)
[^a-z] (소문자 이외의 문자)
[^0-9] (숫자 이외의 문자)
[:alpha:] ([A-Za-z]와 동일)
[[:digit:]] ([0-9]와 동일)

(3) {} (brace) : {} 내의 숫자는 직전의 선행문자가 나타나는 횟수 또는 범위를 나타냄
예)
a{3} ('a'의 3번 반복인 aaa만 해당됨)
a{3,} ('a'가 3번 이상 반복인 aaa, aaaa, aaaa, ... 등을 나타냄)
a{3,5} (aaa, aaaa, aaaaa 만 해당됨)
ab{2,3} (abb와 abbb 만 해당됨)
[0-9]{2} (두 자리 숫자)
doc[7-9]{2} (doc77, doc87, doc97 등이 해당)
[^Zz]{5} (Z와 z를 포함하지 않는 5개의 문자열, abcde, ttttt 등이 해당)
.{3,4}er ('er'앞에 세 개 또는 네 개의 문자를 포함하는 문자열이므로 Peter, mother 등이 해당)

(4) * (asterisk) : "*" 직전의 선행문자가 0번 또는 여러번 나타나는 문자열
예)
ab*c ('b'를 0번 또는 여러번 포함하므로 ac, ackdddd, abc, abbc, abbbbbbbc 등)
* (선행문자가 없는 경우이므로 임의의 문자열 및 공백 문자열도 해당됨)
.* (선행문자가 "."이므로 하나 이상의 문자를 포함하는 문자열, 공백 문자열은 안됨)
ab* ('b'를 0번 또는 여러번 포함하므로 a, accc, abb, abbbbbbb 등)
a* ('a'를 0번 또는 여러번 포함하므로 k, kdd, sdfrrt, a, aaaa, abb, 공백문자열 등) doc[7-9]* (doc7, doc777, doc778989, doc 등이 해당)
[A-Z].* (대문자로만 이루어진 문자열)
like.* (직전의 선행문자가 '.'이므로 like에 0 또는 하나 이상의 문자가 추가된 문자열이됨, like, likely, liker, likelihood 등)

(5) + (asterisk) : "+" 직전의 선행문자가 1번 이상 나타나는 문자열
예)
ab+c ('b'를 1번 또는 여러번 포함하므로 abc, abckdddd, abbc, abbbbbbbc 등, ac는 안됨)
ab+ ('b'를 1번 또는 여러번 포함하므로 ab, abccc, abb, abbbbbbb 등)
like.+ (직전의 선행문자가 '.'이므로 like에 하나 이상의 문자가 추가된 문자열이 됨, likely, liker, likelihood 등, 그러나 like는 해당안됨)
[A-Z]+ (대문자로만 이루어진 문자열)

(6) ? (asterisk) : "?" 직전의 선행문자가 0번 또는 1번 나타나는 문자열
예)
ab?c ('b'를 0번 또는 1번 포함하므로 abc, abcd 만 해당됨)

(7) () (parenthesis) : ()는 정규식내에서 패턴을 그룹화 할 때 사용

(8) | (bar) : or를 나타냄
예)
a|b|c (a, b, c 중 하나, 즉 [a-c]와 동일함)
yes|Yes (yes나 Yes 중 하나, [yY]es와 동일함)
korea|japan|chinese (korea, japan, chinese 중 하나)

정규식에서는 위에서 언급한 특수 문자를 제외한 나머지 문자들은 일반 문자로 취급함 
Posted by 타카스 류지
|

 

출처: http://www.nextree.co.kr/p4327/

 

 -> http://blog.naver.com/pureb612b?Redirect=Log&logNo=220597602756

 

정규표현식(Regular Expression)을 소개합니다.

날이 갈수록 개인정보 보호에 관련하여 보안정책을 점진적으로 강화하고 있습니다. 이에 따라 Web에서 회원가입 시 Password 설정을 복잡해진 보안정책에 맞추다 보니 복잡하게 조합해야만 정상적으로 가입을 할 수 있습니다. 이러한 강화된 보안정책 때문에 기존에 사용하던 자신만의 Password를 인위적으로 보안정책에 맞추는 경우가 많을 것입니다. 그러다 보니, 종종 Log-In을 할 때 Password를 잊어버려서 곤란한 상황이 발생하는 경우도 한번쯤은 있었을 것입니다. 일반적으로 이렇게 복잡한 조건이 필요한 경우 사용자에게 입력을 받을 때 여러 가지 조건을 주면서 정해진 규칙 안에서만 입력을 하도록 유도를 하고 있습니다. 이번 프로젝트를 진행하면서 사용자가 입력하여 DB에 형식에 맞도록 저장하기 위해 조건을 주는 부분이 있었는데, 간단하게 해결 하기 위해 정규표현식(Regular Expression)을 사용하였습니다. 이 글에서는 정규표현식을 실제로 사용하면서 필요한 정보들을 초보 개발자의 관점에서 해석하고 실제로 사용하는 과정을 담았습니다.

 

- 정규표현식이란?

 

정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다. 주로 Programming Language나 Text Editor 등 에서 문자열의 검색과 치환을 위한 용도로 쓰이고 있습니다. 입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 다소 복잡할 수도 있지만, 정규표현식을 이용하면 매우 간단하게 표현 할 수 있습니다. 하지만 코드가 간단한 만큼 가독성이 떨어져서 표현식을 숙지하지 않으면 이해하기 힘들다는 문제점이 있습니다.

 

Regular Expression UML

Regular Expression UML

 

- 정규표현식 표현방법

 

정규표현식은 표준인 POSIX의 정규표현식과 POSIX 정규표현식에서 확장된 Perl방식의 PCRE가 대표적이며, 이외에도 수많은 정규표현식이 존재하며 정규표현식 간에는 약간의 차이점이 있으나 거의 비슷합니다. 정규표현식에서 사용하는 기호를 Meta문자라고 합니다. Meta문자는 표현식 내부에서 특정한 의미를 갖는 문자를 말하며, 공통적인 기본 Meta문자의 종류로는 다음과 같습니다.

 

jhkim-140117-RegularExpression-21

 

Meta 문자중에 독특한 성질을 지니고 있는 문자클래스’[ ]‘라는 문자가 있습니다. 문자클래스는 그 내부에 해당하는 문자열의 범위 중 한 문자만 선택한다는 의미이며, 문자클래스 내부에서는 Meta문자를 사용할 수 없거나 의미가 다르게 사용됩니다.

 

jhkim-140117-RegularExpression-19

 

POSIX에서만 사용하는 문자클래스가 있는데, 단축키처럼 편리하게 사용할 수 있습니다. 대표적인 POSIX 문자클래스는 다음과 같으며 대괄호’[ ]‘ 가 붙어있는 모양 자체가 표현식이므로 실제로 문자클래스로 사용할 때에는 대괄호를 씌워서 사용해야만 정상적인 결과를 얻을 수 있습니다.

 

jhkim-140117-RegularExpression-08

 

이밖에도 [:cntrl:] : 아스키 제어문자(0~31번, 127번), [:print:] : 출력 가능한 모든 문자, [:xdigit:] : 모든 16진수 숫자 등이 있습니다.

 

정규표현식을 실제로 사용할 때 언어마다 사용방법이 각각 다릅니다. 진행했던 프로젝트에서는 정규표현식을 JavaScript에서 사용했는데, JavaScript에서 사용하는 방법에 대해서 설명 하겠습니다. 사용하는 JavaScript 버전이 1.1이하 버전일 경우에는 정규표현식을 사용할 수 없습니다. 정규표현식을 사용하는 방법으로는 두 가지가 방법이 존재하며, 첫 번째로는 ‘RegExp’객체를 이용하는 방법이 있습니다. 주로 정규표현식이 자주 변경되는 경우 사용합니다.

두 번째로는 객체초기화(Object Initializer)를 사용하는 방법입니다. 주로 입력된 표현식이 거의 바뀌지 않는 상수 형태의 표현식을 사용할 때 사용합니다.

- Flag의 종류

 

자주 사용하는 Flag는 밑의 3종류가 있으며 Flag를 사용을 하지 않을 수도 있습니다. 만약 Flag를 설정 하지 않을 경우에는 문자열 내에서 검색대상이 많더라도 한번만 찾고 끝나게 됩니다.

 

jhkim-140117-RegularExpression-09

 

이 외에도 공백을 무시하고 주석을 허용하는 x, 개행문자도 포함해서 찾는 s 등 다양한 Flag들이 있습니다.

 

- 정규표현식 실제 적용

 

사용자로부터 값을 입력 받는 부분에서 유효성 체크를 하기 위해 정규표현식을 간단하게 적용한 경우가 있었습니다. 먼저 입력 받은 값은 반드시 한글이 포함되지 않도록 유효성 체크를 하는 부분이 있었습니다. 사용자가 입력한 데이터 중에서 유효하지 않는 데이터를 정규표현식을 이용하여 검색한 뒤 Return하는 방법을 사용하였습니다.

다음으로는 8자리 이하 정수로 이루어진 x, y 좌표를 사용자로부터 입력 받는 경우가 있었습니다. 사용자가 조건에 충족하지 않은 값을 입력할 경우 DB에 적재 할 때나 좌표를 활용할 때 문제가 발생할 수 있기 때문에 유효성 체크가 필요했습니다. 사용자가 값을 입력할 때마다 유효한 값인지 체크를 하고, 잘못된 값을 입력하면 그 값은 Null로 치환을 하는 방법을 사용했습니다. 사용자 입장에서는 유효하지 않은 값을 입력하면 값을 입력하는 순간 아무런 동작을 하지 않은 것처럼 보입니다.

정규표현식으로 조건을 구현하니 매우 간단하게 해결하였습니다. 이 밖에도 Email Check, File 확장자 Check, 주민등록번호 Check, 문자열 공백제거, 문자열 첫 글자 대문자로 치환 등등 정규표현식을 이용하여 다양한 형태의 유효성검사를 구현할 수 있습니다. 정규표현식을 구현하면서 유용한 Utility들이 있습니다. 물론 이러한 Utility들은 Web에서 다양하게 찾아 볼 수 있지만 프로젝트를 진행하면서 유용하게 사용했던 Utility두가지에 대해서 간단하게 소개하도록 하겠습니다. 먼저 사용자가 정규표현식을 작셩하고 직접 원하는 문자열을 Test 할 수도 있고, quality 높은 표현식을 구현하는데 도움을 주는 Utility입니다. 정규표현식에 대해서 지식이 부족한 사용자도 우측의 정규식 표현 Sample과 그에 대한 설명이 자세하게 나와있어서 쉽게 구현할 수 있습니다. 프로그램을 다운받지 않고 Web에서 직접 실행하므로 별다른 설치 없이도 즉시 사용할 수 있는 편리성이 있습니다. 하지만 Web에서 실행하므로 Off-Line에서는 지원이 안되며, 프로그램 내부에서 전체적으로 Font Size가 작다는 단점이 있습니다.

 

http://gskinner.com/RegExr/

 

jhkim-140117-RegularExpression-17

 

두번째 Utility는 표현식을 쉽게 이해할 수 있도록 도식화 하는 Utility입니다. 앞에서 정규표현식 표현방법을 소개 할 때 쉽게 이해할 수 있도록 도식으로 처리한 부분도 이 Utility를 이용하여 직접 구현하였습니다. 이 Utility는 표현식을 구현하기 보다는 복잡한 표현식을 해석하고 이해하는 목적이 가장 알맞다고 생각합니다. 프로젝트를 진행하면서 직접 구현한 표현식이 도식으로 목적에 맞게 구현 되는지 Test 할 수 있습니다. 정규표현식에 대해 어느 정도 지식을 갖추고 있는 사용자들에게 적합하다고 생각합니다. 이 Utility도 앞선 Utility와 마찬가지로 Web에서 별다른 설치 없이 즉시 사용 가능합니다.

 

http://www.regexper.com/

 

jhkim-140117-RegularExpression-18

 

- 글을 마치며…

 

정규표현식은 자주 쓰지 않으면 금방 잊게 되는 수학공식과 같은 존재라고 생각합니다. 정규표현식에 대해서는 오래전부터 접해보긴 했지만, 매번 수박 겉 핥기 식의 학습으로 인해 정규표현식을 접할 때마다 새로운 느낌을 받았습니다. 이번에 정규표현식에 대해 글을 쓰는 목적 중에 하나는 회사 블로그에 글을 올리면서 이러한 얕은 지식을 정리하고 내 것으로 만드는 계기가 되도록 하는 마음으로 선택하였습니다. 이번 프로젝트에는 정규표현식을 다양하게 사용하지 못해서 한정된 부분만 구현하였지만, 기본 표현법만 제대로 익히면 JavaScript 이외에 다양한 정규표현식에서도 쉽게 응용할 수 있다고 생각합니다.

 

- 참조 Site

 

정규표현식 – wiki백과 : http://ko.wikipedia.org/wiki/정규표현식

 

정규표현식의 기본 문법 정리표 : http://blog.daum.net/creazier/15309380

 

정규표현식 사용하기 : http://icoon22.tistory.com/220

 

정규식이란 무엇인가 : http://twinstarbox.tistory.com/entry/Java-정규식이란-무엇인가

 

자바스크립트 정규 표현식 : http://yaku.tistory.com/75

 

Perl 정규표현식, 메타데이타 : http://blog.naver.com/PostView.nhnblogId=turtle1006&logNo=60107758671

 

- 정규표현식 관련 Utility Site

 

정규표현식 Test 및 생성 Util -> http://gskinner.com/RegExr/

 

정규표현식 도식화 표현Util -> http://www.regexper.com/

 

 

Posted by 타카스 류지
|

input 태그에 숫자만을 입력할 수 있도록 하려면1 자바 스크립트의 도움이 필요합니다. 구현이 쉬워 보이지만 다양한 웹 브라우저를 고려하다보면 생각보다 까다롭습니다.

1onkeydown 이벤트 핸들러

input 태그에 onkeydown 속성을 추가합니다.

<input type="text" onkeydown="filterNumber(event);">

filterNumber 함수는 다음과 같습니다.

function filterNumber(event) {
  event.preventDefault(); 1
}

1이 어떤 값도 입력할 수 없도록 합니다.

onkeypress 또는 onkeyup 이벤트 핸들러는 사용할 수 없습니다.

onkeypress 이벤트 핸들러를 사용할 수 없는 이유

onkeypress 이벤트 핸들러를 사용하면 한글을 입력할 수 있습니다. 한글 입력에 대해서는 onkeypress 이벤트 자체가 발생하지 않습니다.

onkeyup 이벤트 핸들러를 사용할 수 없는 이유

onkeyup 이벤트는 글자가 입력된 후에 발생하기 때문에 onkeyup 이벤트 핸들러를 사용하면 모든 글자를 입력할 수 있습니다.

그런데 파이어폭스에서는 한글이 입력되는 문제가 있습니다. 이를 해결하려면 input 태그에 ime-mode 스타일을 추가합니다.

<input type="text" style="ime-mode: disabled;" onkeydown="filterNumber(event);">

2입력이 가능한 키 코드 설정하기

현재까지는 어떤 값도 입력할 수 없습니다. 지금부터는 다음 예외 규정을 filterNumber 함수에 반영하겠습니다.

  • 숫자

  • 단축키

  • 특수 키

숫자 입력 허용

먼저 숫자 입력을 허용합니다. event 객체의 1keyCode 속성으로 사용자가 입력한 키 코드를 알 수 있습니다.

function filterNumber(event) {
  var code = event.keyCode; 1
  if (code > 47 && code < 58) {
    return;
  } 
  event.preventDefault(); 2
}

숫자 0의 키 코드는 48이고, 숫자 9의 키 코드는 57입니다. 따라서 키 코드가 47보다 크고 58보다 작으면 숫자를 입력한 것이기 때문에 2가 호출되지 않도록 반환합니다.

점 입력 허용

정수가 아닌 소숫점도 입력할 수 있도록 점(.)의 입력을 허용합니다.

function filterNumber(event) {
  var code = event.keyCode;
  if (code > 47 && code < 58) {
    return;
  }
  if (code === 110 || code === 190) {
    return;
  }
  event.preventDefault();
}
110은 숫자 패드에 있는 점(.)의 키 코드입니다.

단축키 입력 허용

값을 입력할 때 다양한 단축키를 사용할 수 있습니다.

Ctrl + A

입력한 값을 선택

Ctrl + Z

실행 취소

Ctrl + Y

다시 실행

이런 단축키를 지원하기 위해 Ctrl 또는 Alt 키가 눌러진 상태라면 입력을 허용합니다.

function filterNumber(event) {
  var code = event.keyCode;
  if (code > 47 && code < 58) {
    return;
  }
  if (code === 110 || code === 190) {
    return;
  }
  if (event.ctrlKey || event.altKey) {
    return;
  }
  event.preventDefault();
}

특수 키 입력 허용

마지막으로 왼쪽(←) 또는 오른쪽(→) 방향키와 같은 특수 키 입력을 허용합니다.

function filterNumber(event) {
  var code = event.keyCode;
  if (code > 47 && code < 58) {
    return;
  }
  if (code === 110 || code === 190) {
    return;
  }
  if (event.ctrlKey || event.altKey) {
    return;
  }
  if (code === 9 || code === 36 || code === 35 || code === 37 ||
      code === 39 || code === 8 || code === 46) {
    return;
  }
  event.preventDefault();
}

주요 특수 키 코드는 다음과 같습니다.

표 1주요 키 코드

코드

TAB

9

HOME

36

END

35

LEFT

37

RIGHT

39

BACKSPACE

8

DELETE

46

 


 

출처 :   https://www.3rabbitz.com/blog_ko/a6068a3f953de9d8/10

Posted by 타카스 류지
|
이게 놀라운건 아직 나오지도 않은 아이워치 2 짝퉁 이라네요. 신기 방기 이름도 aiwatch ㅎㅎ

2016 블루투스 스마트 시계 c5 


* 칩: mt2502c, 메모리: 128+64mb
* 지원 gsm sim 카드를
* 블루투스: bt4. 0, compatiable 아이폰 및 안드로이드 전화
* 지원 쿼드 밴드 주파수 GSM 850/ 900/ 1800/ 1900 MHz의
* 1.22 인치 TFT IPS 원형 디스플레이 화면, RGB 240x240 픽셀
* g+f 용량 형 터치 패널
* 스피커: 0815 3in1 상자( 이어폰으로 작동합니다) 방수 구조
* SOS 전화: 지원 10 SOS 번호, 호출합니다 순서대로 받고 때까지 연결
* 세 proofings: 물- 증거, 충격- 증명, 먼지- 증명, 적합한 모든 종류의 스포츠 및 야외 enviorement
보수계* 지원, 칼로리, 도보 거리, 수면 모니터를, 앉아있는 알림,심장 박동 모니터링, 온도 모니터링, 고도 모니터링, 공기 압력 모니터링.
* 지원 UV 모니터링: 외선 요금, 강도 수준을, 배려 조언을
* 스마트 스포티 한 시계 얼굴: 입력하여/ 종료 스마트 watchface 스포티 한, 시스템 켜집니다/ 오프 자동으로 관련 센서
* 지원 슬라이드 바로 가기 기능, 인상 손 시간을 볼, 회전 음소거( 전화/ 알람 시계), 흔들 응답 전화, 회전 페이지를 제스처, 음성 제어, 사용자 정의 시계 얼굴, 환경- 전력 모델
* 블루투스 동기화, 데일 번호, 전화 통화, 응답 전화, 동기화 전화 번호부, 동기화 통화 기록, 음악 제어, 원격 카메라, 전화/ 시계 안티- 잃어버린 상기, 찾을 전화/ 시계.
* SMS, wechat, QQ, 핫 뉴스 푸시 메시지, 기타 실시간 메시지 알림
* 다른 응용 프로그램: 스톱 시계/ 알람 시계/ 달력/ 음악/ 사진/ 비디오/ 파일 관리자/ 계산기
* USB: 방수 미니 USB 4P, 자기 포트( 지원 충전/ 데이터 전송/ 다운로드)
* 전문 스포츠 및 enviorenmental 센서: g- 센서, 심장 박동 센서, UV 센서, baroceptor 센서, 고도 센서, 온도 센서
* 방수: 전문 방수 시계 디자인. 테스트 표준: 아래에 3 배 높은 대기압( 따라 20m 물). 또한 충격- 증명, 먼지- 증명, 모든 종류에 적합한 거친 enviorenment.
* 시계 케이스 소재: 하드 산화 피막 처리 알루미늄 합금 공간 기술
* 시계 끈: 높은- 탄성 의료 사용 실리콘 고무( 스포츠 타입)
* 충전기: 자기 하나를 입력- 바디 충전 도크
* 배터리: 고- 효율 300 MAH 리튬 폴리머 배터리



새로 나왓는데 기능과 디자인 화면 그리고 3g 주파수가 되네요. 유심 따로 구매 해서 전화 할수 있네요. 
중국업체 Goophone, 애플워치 2 클론 스마트워치 ‘Aiwatch C5′ 공개 - 새로운 소식/정보 : aiwatch


 일단 스펙이 너무 자세히 적혀 있네요. 다른 스마트 시계들은 설명이 너무 부실해서 믿음이 안가는데 이건 머 
너무 자세하게 적혀 있어서 믿음이 가네요. 
가격도 적당하고 주파수가 일단 

일단 주파수 가 놀랍네요. 국내 3사 주파수를 모두 다 적용 가능 할거 같네요. 이런 시계가 있다니 신기 현 스마트워치 중에서 제일 괜찬은거 같네요. 일단 사 보고 테스트 해봐야 겠지만 위에 사양 이라면 3사 주파수 가능 하고 전화 가능 할거 같네요. 신기 

SK 

2G : 800Mhz CDMA
3G : 2100Mhz WCDMA
4G : Band5(메인) 850Mhz LTE-FDD
       Band3 1800Mhz LTE-FDD
       Band1 2100Mhz(미사용) LTE-FDD
Wibro : 2300Mhz


KT

3G : 2100Mhz WCDMA
4G : Band3(메인) 1800Mhz LTE-FDD
       Band8 900Mhz LTE-FDD
       Band26 800Mhz(미사용) LTE-FDD
       Band1 2100Mhz(미사용) LTE-FDD
Wibro : 2300Mhz


LGT(VoLTE 기능 지원 필수)

2G : 1800Mhz CDMA
4G : Band5(메인) 850Mhz LTE-FDD
       Band1 2100Mhz LTE-FDD
       Band7 2600Mhz LTE-FDD


Posted by 타카스 류지
|

윈도우 7,8 사용자 추적 업데이트 툴들

필수 삭제 해야 될 업데이트 목록 이네요. 

KB3068708, KB3022345, KB3075249, KB3080149


펌 : http://decompiler.tistory.com/


Posted by 타카스 류지
|

function getManNai($birth_year,$birth_month,$brith_day){
        $birth_year = (int)$birth_year;
        $birth_month = (int)$birth_month;
        $brith_day = (int)$brith_day;

        $now_year = date("Y");
        $now_month = date("m");
        $now_day = date("d");

        if($birth_month < $now_month){
           $age = $now_year - $birth_year;
        }else if($birth_month == $now_month){
         if($brith_day <= $now_day)
          $age = $now_year - $birth_year;
         else
          $age = $now_year - $birth_year -1;
        }else{
           $age = $now_year - $birth_year-1;
        }
        return $age;
}
        
getManNai(1990,01,05);

Posted by 타카스 류지
|

주로 쓰는 프로그램 가벼워서 좋다.

 

HeidiSQL_9.2_Portable.zip

 

HeidiSQL_9.3_Portable.zip

 

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

mysql root 패스워드 분실시  (0) 2019.02.22
Mysql 초성 검색 function(mssql function수정)  (0) 2016.04.15
MYSQL DB 덤프 방법  (0) 2010.12.07
Posted by 타카스 류지
|

XAMPP 웹서버

웹서버 2016. 2. 24. 13:44

 

사용중인 버전 : xampp-portable-win32-1.8.3-5-VC11

 

 

https://www.apachefriends.org/index.html

https://sourceforge.net/projects/xampp/

https://sourceforge.net/projects/xampp/files/?source=navbar



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


php 버전 5.3 이상일 경우 mysqli 사용권장 에러 포스팅 문제 해결


php.ini 설정


error_reporting=E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT


index.php

error_reporting(E_ALL ^ (E_NOTICE | E_DEPRECATED));


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


httpd-vhosts.conf


#가상 호스트 샘플 a.com b.com   root 경로 www 폴더안에 생성 

<VirtualHost *:80>

    ServerAdmin webmaster@pobox.com

    DocumentRoot "C:/xampp/htdocs"

    ServerAlias *.com

     RewriteEngine on

     RewriteCond  %{HTTP_HOST} ^[^.]+\.com$

     RewriteRule  ^(.+) %{HTTP_HOST}$1 [C]

     RewriteRule  ^([^.]+)\.com(.*) C:/xampp/htdocs/$1/$2

    ErrorLog "logs/web_log.log"

    CustomLog "logs/web_log.log" common

</VirtualHost>


#가상 호스트 샘플 a.pobox.comm b.pobox.com   root 경로 www 폴더안에 생성 

#<VirtualHost *:80>

#    ServerAdmin webmaster@pobox.com

#    DocumentRoot "C:/xampp/htdocs/www"

#    ServerName pobox.com

#    ServerAlias *.pobox.com

#     RewriteEngine on

#     RewriteCond  %{HTTP_HOST} ^[^.]+\.pobox\.com$

#     RewriteRule  ^(.+) %{HTTP_HOST}$1 [C]

#     RewriteRule  ^([^.]+)\.test\.com(.*) C:/xampp/htdocs/www/$1/$2

#    ErrorLog "logs/web_log.log"

#    CustomLog "logs/web_log.log" common

#</VirtualHost>


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


httpd-ssl.conf 설정


<VirtualHost _default_:443>


#   General setup for the virtual host

DocumentRoot "C:/xampp/htdocs"

ServerAlias *.com

 RewriteEngine on

 RewriteCond  %{HTTP_HOST} ^[^.]+\.com$

 RewriteRule  ^(.+) %{HTTP_HOST}$1 [C]

 RewriteRule  ^([^.]+)\.com(.*) C:/xampp/htdocs/$1/$2

ErrorLog "C:/xampp/apache/logs/error.log"

TransferLog "C:/xampp/apache/logs/access.log"



Posted by 타카스 류지
|

샘플


<VirtualHost 218.236.58.88> 
    ServerAdmin *** 개인정보보호를 위한 이메일주소 노출방지 ***     // 관리자 이메일 
    DocumentRoot /home/test/www                           // 기본 웹 루트        
    ServerName  test.com                                       // 기본서버명 
    ServerAlias *.test.com                                       // 모든 서브도메인을 Alias로 받습니다.
     RewriteEngine on                                           // RewriteEngine 활성화
     RewriteCond  %{HTTP_HOST}   ^[^.]+\.test\.com$   // 서버명에 서브도메인 정규화로 매치 
     RewriteRule  ^(.+)   %{HTTP_HOST}$1 [C]     // Cond에 해당되는 도메인에 대해서 도메인뒤에 나온 문장 매치
     RewriteRule  ^([^.]+)\.test\.com(.*) /home/test/$1/$2    서브도메인과 해당페이지 매치 
    ErrorDocument 404 /home/test/error/err-404.html 
    ErrorDocument 403 /home/test/error/err-403.html 
    ErrorLog /home/test/web_log/error_log 
    CustomLog /home/test/web_log/access_log common 
</VirtualHost>


출처 : http://sir.kr/pg_tip/14836?sfl=wr_subject%7C%7Cwr_content&stx=DNS


-- 정리 한 내용


#가상 호스트 샘플 a.com,  b.com   root 경로 www 폴더안에 생성 

#<VirtualHost *:80>

#    ServerAdmin webmaster@test.com

#    DocumentRoot "C:/xampp/htdocs"

#    ServerAlias *.com

#     RewriteEngine on

#     RewriteCond  %{HTTP_HOST} ^[^.]+\.com$

#     RewriteRule  ^(.+) %{HTTP_HOST}$1 [C]

#     RewriteRule  ^([^.]+)\.com(.*) C:/xampp/htdocs/$1/$2

#    ErrorLog "logs/web_log.log"

#    CustomLog "logs/web_log.log" common

#</VirtualHost>


#가상 호스트 샘플 a.test.comm b.test.com   root 경로 www 폴더안에 생성 

#<VirtualHost *:80>

#    ServerAdmin webmaster@test.com

#    DocumentRoot "C:/xampp/htdocs/www"

#    ServerName test.com

#    ServerAlias *.test.com

#     RewriteEngine on

#     RewriteCond  %{HTTP_HOST} ^[^.]+\.test\.com$

#     RewriteRule  ^(.+) %{HTTP_HOST}$1 [C]

#     RewriteRule  ^([^.]+)\.test\.com(.*) C:/xampp/htdocs/www/$1/$2

#    ErrorLog "logs/web_log.log"

#    CustomLog "logs/web_log.log" common

#</VirtualHost>



Posted by 타카스 류지
|

 

cmd

 

wusa /uninstall /KB:3035583 

 

해당 업데이트가 제거 된후에

 

제어판 - windows update - 업데이트 확인 클릭

 

설치할 업데이트 선택중 KB3035583 선택 후 업데이트 숨기기 끝

Posted by 타카스 류지
|

function getOffset( el ) {
   
var _x = 0;
   
var _y = 0;
   
while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {

_x += el.offsetLeft - el.scrollLeft;
        _y
+= el.offsetTop - el.scrollTop;
        el
= el.offsetParent;
   
}
   
return { top: _y, left: _x };
}

 

 


var x = getOffset( document.getElementById('yourElId') ).left;

 

 

Posted by 타카스 류지
|

Eclipse 성능개선 최적화

프로젝트가 하나둘씩 쌓여갈 때 마다 이클립스가 느려짐이 심각해집니다.

다양한 기능을 지원하는 만큼 무거운 느낌을 감출 수 없네요. 이클립스의 성능개선을 위해 불필요한 설정을 해제하는 것에 대해 알아보겠습니다.

이클립스 Juno 버젼으로 설정

 

 

eclipse.ini 설정

이클립스 실행 파일안에 같이 존재하는 설정 파일 입니다. 잘못 건들면 실행이 안될 수 있으니 주의 하셔야 해요.

 

메모리 수치는 무조건 높은 게 좋은 것은 아니구요. 본인의 PC에 맞게 적당하게 설정 합니다. 

항상 Xms, Xmx 값만 설정하다가 자세히 알아보니 더 옵션이 많네요.

-Xverify:none 
-XX:+UseParallelGC
-XX:-UseConcMarkSweepGC 
-XX:PermSize=64M
-XX:MaxPermSize=512M  
-XX:MaxNewSize=512M 
-XX:NewSize=128M 
-Xms1024m  
-Xmx1024m

 

소스 자동 폴딩 해제

블록단위로 접혀지는 자동 폴딩을 해제 합니다.  

 

자동 동작하는 코드 자동완성기능 해제

클래스의 변수, 메소드 등을 접근할 때 유용한 기능이지만 자동 동작으로 인해 버벅거리는 원인을 발생하곤 하죠?

이걸 해제한다고 해도 CTRL + SPACE 를 사용해서 동작 시킬 수 있습니다.

 

Spelling 체크 설정 해제

철자체크 기능을 해제 합니다. 좋은 기능이지만 별로 불필요 한 것 같네요.

 

Validation (유효성체크) 설정 해제

Window > Preferences > Validation 

저는 웹 관련된 Validator 만 체크 해놓습니다.

 

작업중이지 않는 프로젝트 닫기

현재 작업 중인 프로젝트외엔 닫아두는 것이 좋습니다.

불필요한 플러그인 삭제

컴퓨터를 사용하더라도 많은 프로그램들이 깔려 있으면 컴퓨터가 느린것처럼 이클립스 또한 사용하지 않는 플러그인들은 제거하는 것이 좋습니다.

Window > Preferences > Install/Update

이클립스의 실행속도 개선

이클립스를 실행 하였을 때 로딩되는 플러그인에 대해 제외 시킵니다.

Autometic Update Off



출처 : http://www.slipp.net/wiki/pages/viewpage.action?pageId=5177633

Posted by 타카스 류지
|
Log4j 설정 참고 자꾸 까먹음


1. log4sql을 다운받는다. 위치는 http://log4sql.sourceforge.net/ 이다.
경로 : http://sourceforge.net/project/showfiles.php?group_id=209296

다운 받아서 lib 에 복사 

아래는 Maven 설정
--------------------
<dependency>
<groupId>log4sql</groupId>
<artifactId>log4sql</artifactId>
<version>7.8</version>
</dependency>
--------------------

2. DB connection정보 변경
ex) jdbc.driverClassName=oracle.jdbc.OracleDriver  ---> jdbc.driverClassName=core.log.jdbc.driver.OracleDriver
DB에 따라서 변경해야하는 드라이버 명은 (http://log4sql.sourceforge.net/) 이곳에서 확인 가능.

기타 log 설정 등은 기존 설정을 사용하되,sql에 관해 로그를 남기던 옵션은 다 해제해 준다.


Posted by 타카스 류지
|
명령 프롬프트(CMD)를 관리자 권한으로 실행해서

net localgroup Administrators "local service" /add

 

명령을 실행하니 잘 이행되었다고 나오고

 

바로 MTP USB 설치후 연결 완료

Posted by 타카스 류지
|

어제 도메인 설정에 대해 모두 마무리 하셨을 것으로 생각하고, 

오늘은 도메인 서비스를 이용해 계정/파일 생성 및 공유에 대해 알아보겠습니다. 

 

 

 

 

먼저, DC1에서 cmd창을 하나 열어줍니다.

Net user test01 P@ssw0rd /add 라는 명령어를 입력합니다. 

그러면 ID - test01 PW - P@ssw0rd라는 계정이 생성됩니다.

 

 

 

 

 

 

cd \  

mkdir c:\SharedFolder                           <--  c드라이브에 SharedFolder 이름으로 폴더 생성

Fsutil file createnew report.txt                   <-- report.txt 파일을 생성

net share SharedFolder=c:\SharedFolder    <-- ShareFolder를 공유 폴더로 설정

 

 

 

 

 

 

 

위에서 설정한 부분이 잘되었는지 확인해 볼게요.

C드라이브에 생성된 SharedFolder, report가 보입니다.

 

 

 

 

 

 

 

 

아까 SharedFolder의 공유가 잘 되었는지를 확인해 보려면

cmd에서 net share라고 입력하면 공유 목록을 보여줍니다.

아래 보면 잘 공유가 되고 있습니다.

 

 

 

 

 

 

 

이제는 SVR1에서 설정을 하겠습니다.

cmd창에서 아래 명령어를 입력해 주세요.

net user buser01 P@ssw0rd /add

 

 

 

 

위에서 생성한 계정으로 접속하기 위해 로그오프를 하겠습니다.

cmd창에서 logoff 입력

​사용자 전환 후 위에서 생성하였던 SVR1\buser01 / P@ssw0rd입력하여 접속합니다.

그냥buser01로 하면 접속이 안되실겁니다. 컴퓨터 풀네임까지 써주셔야 합니다.

컴퓨터 풀네임까지 써야 로그온 대상이 contoso.com에서 SVR1로 바뀌는게 보입니다.

 

 

 

 

 

 

아까 위에 DC1에서 생성하였던 공유 폴더에 접근하겠습니다.

cmd창에서 start \\DC1\SharedFolder를 입력하면

ID/PW를 물어봅니다. test01/P@ssw0rd를 입력 후 확인.

 

 

 

 

 

 

 

 

명령어를 입력하면 폴더가 하나 열립니다.

네 아까 공유하였던 ShareFolder에 접근할 수 있습니다.

 

 

 

 

 

 

 

마지막으로 연동이 잘되는지 확인해 보겠습니다.

DC1에서 Success라는 이름의 폴더를 하나 생성합니다.

 

 

 

 

바로 폴더가 생기는 것을 확인할 수 있습니다. ㅎㅎ

연동은 실시간으로 되므로 기다리지 않아도 되며,

혹시 폴더가 안생겼다면 설정에 문제가 있는 겁니다.

 

 

 

 

 

도메인 서비스를 통해서 가입된 컴퓨터 끼리,

계정과 파일을 공유하는 법을 알아보았습니다.

감사합니다. ^^*

 

 

출처 : http://m.blog.naver.com/kber0407/220210029885

Posted by 타카스 류지
|

안녕하세요~

 

오늘은 어제 만들었던 도메인에 가입을 해볼건데요.

가입하기 전에 설정 먼저 시작하겠습니다.

꾸준히 따라오실 분들은 꼭 아래 처럼 설정해주세요.

 

 

도메인을 시작으로 여러 서비스를 구성하기 위해 4대의 가상 컴퓨터로 진행할 것 입니다.

DC1  - 2008 R2   (어제 도메인을 설치해둔 서버)

SVR1 - 2008 R2

SVR2 - 2008 R2

Client1 - Window 7

 

 

  

 

 

 

 

위에처럼 가상 컴퓨터를 모두 만드셨다면,

이제 네트워크 설정을 하겠습니다.

DC1은 어제 설정은 했으니,

SVR1에 가서 네트워크 어뎁터 2개로 만들고

1번은 Host-only, 2번은 Custom(VMnet2)으로 잡아줍니다.

 

 

 

 

 

 

 

 

 

Ctrl+R 에서 ncpa.cpl을 입력하면 네트워크 설정 창이 열립니다.

아까 위에서 추가한 Host-only/VMnet2 로컬1/로컬2가 보이네요.

아래 처럼 private/public으로 이름을 지정해 주겠습니다.

 

 

 

 

 

private 네트워크 IP를 아래 처럼 설정해 줍니다.

DC1은 10.10.0.10 이므로,

10.10.0.20으로 할당하겠습니다.

 

 

public은 131.107.0.20 /24 DNS는 동일합니다.

아이피를 모두 주었으면 네트워크 설정 창을 닫습니다.​

 

 

 

 

[시작 - 관리도구 - 서버 관리자] 선택

 

 

 

 

 

 

 

 

[오른쪽에 시스템 속성 변경]을 선택하면 창이 하나 나옵니다.

변경 선택

 

 

소속 그룹을 보면 작업 그룹에 체크되어 있는데,

도메인에 체크하고 어제 만들었던 도메인 이름인

contoso.com을 입력 후 확인

 

 

 

 

어제 DC1에서 설정하였던 contoso.com도메인의 계정과 비밀번호를 입력하면 됩니다.​

아이디는 administrator 일 거고 비밀번호 설정해 주신거 입력해 주세요.

 

 

 

 

 

 

ID/PW를 올바르게 입력했다면 아래 처럼 contoso.com 도메인이 시작됩니다.

확인을 누르면 재부팅하라고 합니다. 재부팅을 할게요.

 

 

 

 

 

 

 

 

재부팅을 하였습니다.

눈치 채신 분은 있겠지만,

원래는 컴퓨터 이름만 있었는데,

도메인 가입하고 재부팅 후 이름이 길어졌습니다.

도메인에 가입이 잘 되었다는 의미입니다.ㅎㅎ

 

 

 

 

 

 

 

 

실제로 확인해 보면 아래 처럼 contoso.com 도메인에 잘 가입이 되었네요.

 

 

여기까지 SVR1 네트워크 및 도메인 가입을 모두 끝냈습니다.

​이제 SVR2, Clinet1 2대를 설정해야 하는데요. 설정법은 위와 모두 똑같습니다.

복습한다 생각하고 직접 구성해 보시기 바랍니다.

​네트워크 설정은 아래와 같이 해주세요~

SVR2 -

[Private​]

IP        10.10.0.30

Subnet  255.255.255.0​

DNS     10.10.0.10

[Public]

IP​        10.20.0.30

Subnet  255.255.255.0

DNS     10.10.0.10

 

Cli1 -

IP        10.10.0.40

Subnet  255.255.255.0​

DNS     10.10.0.10

 

 

다음 강좌는 ​도메인에 가입된 컴퓨터/사용자 관리에 대해 알아 보도록 하겠습니다.

감사합니다~ ^^*

 

출처 : http://m.blog.naver.com/kber0407/220209125624#

Posted by 타카스 류지
|

Active Directory 도메인 서비스를 줄임말로

AD 도메인 혹은 도메인 컨트롤러 라고 부르기도 하는데요,

 

이 서비스의 역할은 여러대의 클라이언트를

하나의 중앙 서버에서 관리, 유지, 보수, 정책 등을

통합하여 관리하는 서비스라고 생각하면 됩니다.

 

대부분의 회사에서 이 도메인 서비스를 통해

사내 컴퓨터들을(Client) 제어, 관리하고 있습니다.

 

예를 들어 보면,

회사에 다녀보신 분은 아시겠지만 입사하자 마자 제일 먼저 하는게,

인사팀에서 사원증 발급과 동시에, 인프라 팀에서 도메인 계정을 만들어 줍니다.

그 계정을 통해 접속해서 업무를 보게 되는 것이죠.

계정 비밀번호를 잃어버렸을 때 인프라팀에 문의하는 이유가 바로,

중앙(인프라팀)에서 도메인 서비스를 통해 클라이언트를 관리하고 있기 때문입니다.

 

저도 게임회사에서 2년간 근무했었지만 도메인 서비스에 대해 생소했었는데,

윈도우 서버를 배우면서 아~ 이런거였구나 하고 깨닫게 되었습니다.

서론이 길었는데 도메인 서비스는 그만큼 중요합니다.

윈도우 서버의 도메인 서비스를 구축해 보도록 하겠습니다.

 

 

 

 

 

 

만들기 전에 VMware에서 네트워크 설정이 필요합니다.

상단 메뉴 [VM - Settings] 선택

 

 

 

 

 

 

 

 

네트워크 어댑터를 Host-only, custom(VMnet2) 2가지를 만들어 주세요.

하나만 있어도 상관은 없지만 앞으로 지원해야 할 서비스를 위해 2개를 만들어 놓겠습니다.

 

 

 

이제 윈도우 서버에 들어가서 Ctrl+R을 눌러서 ncpa.cpl을 입력하고 엔터.

그러면 아래 처럼 네트워크 연결 창이 나오는데요.

 

 

 

알아보기 쉽게 로컬 네트워크 연결 1의 이름을 10.10으로 바꾸고,

[오른쪽 마우스 클릭 속성​] -> [IPv4 속성]에서

IP 10.10.0.10 / Subnet 255.255.255.0 / DNS 서버 10.10.0.10으로 설정 후 모두 닫는다.​

 

 

 

 

 

네트워크 설정을 했으니 이제 서비스를 올릴 차례입니다.

Ctrl + R 에서 dcpromo 입력 후 엔터,

잠시 후 도메인 서비스 설치 마법사가 시작됩니다.

고급모드 체크 하지 말고 그냥 다음 눌러줍니다.

 

 

 

포리스트 선택 화면이 나오는데 새로 도메인을 만드는 것이므로​,

아래 새 포리스트에 새 도메인 만들기를 선택 후 다음.

 

 

도메인 이름을 설정하는 부분입니다.

원하는 도메인 이름.com을 하시면 됩니다.

저는 contoso.com으로 만들겠습니다.

입력 후 다음

 

 

 

 

 

 

포리스트 기능 수준을 선택하는 부분입니다.

윈도우 2008R2를 선택 후 다음.

 

 

 

 

추가 도메인 컨트롤러에서 다음 누르면,

아래 처럼 정적 IP할당 선택이 나오는데 "예" 선택면 됩니다.

마찬가지로 다음 부모 도메인에 대한 창도  "예" 선택

 

 

 

 

 

DB, SYSVOL 등 파일 위치를 선택하라는데,

디폴트로 냅두고 다음 선택

 

 

 

 

복원 모드 관리자에 대한 암호를 설정해야 합니다.

윈도우 서버 설치 했을 때 설정했던 암호가 아닌 새로운 암호를 설정하는 것인데,

기억하기 힘들면 똑같이 설정하여도 무방합니다.

설정 후 다음

 

 

 

 

마지막 부분입니다.

이제까지 설정한 부분을 요약하여 보여줍니다.

수정할 부분이 없을 경우 다음을 누르면,

앞에서 설정한 대로 도메인 서비스가 올라옵니다.

 

 

 

설치가 완료되었습니다.

마침을 누르면 재부팅 팝업이 뜹니다.

재부팅을 하시면 정상적으로 서비스 이용이 가능합니다.

 

 

도메인 서비스 설치에 대해 알아보았는데요,

시간이 늦었네요..

내일은 클라이언트에서 오늘 만들었던 도메인 서버에

가입해 보도록 하겠습니다.

 

감사합니다 ^^*

 

출처 : http://m.blog.naver.com/kber0407/220208568809

Posted by 타카스 류지
|

WindowServer R2 설치에 대해 보겠습니다.

 

주로 쓰이는 윈도우 서버는 2003, 2008 이며,

2008의 경우 윈7환경과 거의 같습니다.

VMware에서 설치할 때 가지고 있는 OS에 맞게 버전을 선택해주세요.

 

[Windows Server 2008 R2 선택]

 

 

 

 

 

[필요한 사항 선택 후 다음 선택]
 

 

 

 

 

 

 

 

 

[버전 선택 후 전체설치 선택]

 

 

 

 

[동의 체크 후 다음] 

 

 

 

[사용자 지정 선택]

 

 

 

 

[디스크 선택 후 다음]

 

 

 

 

 

 

[설치 진행 중] 

 

 

 

 

 

 

 

[초기 암호 설정]

 

 

 

 

 

 

[설치 완료]

설치가 완료되면 초기 구성 작업 화면이 보입니다.

닫고 바탕화면을 가보시면 평소에 쓰던 윈도우랑 크게 차이가 없어 보이나,

서버 역할 및 서비스를 지원하는 기능이(도메인, FTP, 웹서버, DNS, DHCP 서버 등등) 많이 있습니다.​

앞으로는 이 기능​들에 알아 보도록 하겠습니다.

​감사합니다. ^^*

 

 

출처 : http://blog.naver.com/kber0407/220205513445

 

Posted by 타카스 류지
|
현재 배포된 윈도우 7 모든 언어팩 모음집입니다.
언어팩 다운로드 링크는 Vistalizator 프로그램을 참고하였습니다.
이 언어팩을 이용하여 윈도우 7의 언어를 바꾸시기를 원하신다면, 이 링크로 들어가주세요.



Here are all windows 7 language packs which have been disseminated.

Origin of links for download language packs is vistalizator.

If you want to change your OS language by using these language packs, please follow this link.

http://gogglestory.tistory.com/3


<주의사항>

블로그에 게시된 vistalizator와 언어팩을 이용하여 컴퓨터 언어를 바꾸신 분들 중,

몇몇 분들이 이상증상을 말씀해주셨습니다.

공통 이상증상은 언어 교체 후 재부팅을 하면, 운영체제 로딩 후 계정로그인 화면에서 검정색 화면과 마우스포인터 외에는 아무것도 나타나지 않는다는 것입니다.

따라서, 이 글을 읽으시고 언어 교체를 하시기 전에는, 시스템 복구섹션을 만들어 두시던지, 시스템이나 중요자료를 백업해 두시길 바랍니다.

이런 증상이 이미 나타나셨다면, 부팅 선택화면에서 시스템복구를 선택하셔서 복구하시기 바랍니다.

이상증상의 원인을 찾게 되면 공지하겠습니다.

 

제 경험과 다른 분들의 경험을 토대로 조합해 보면,

Vistalizator를 이용한 언어 교체는 운영체제 재설치 직후에는 정상적으로 되는 것으로 보입니다.

내용추가)위의 증상을 피하기 위해서는 Vistalizator 실행 시 관리자 권한으로 실행하는 것을 권장합니다.

내용추가)프로페셔널 버전이 아닌 엔터프라이즈와 얼티메이트 버전에서만 언어교체가 가능하다고 말씀해주신 분도 계십니다. 저는 작년에 프로페셔널 버전에서 Vistalizator로 언어교체에 성공한 적이 있는지라, 이 내용은 자세한 확인이 필요할 듯 합니다. 프로페셔널 사용자 분들께서는 사용 시 주의해주세요.

참고하시기 바랍니다.


 

<Warning>

Some people who used vistalizator program and language pack to change their OS language have reported bad symptom.

The symptom is that When they reboot their computers after changing OS language, computer screen only shows black screen and mouse pointer.

So, if you change your language by using program in this posting, you'd better make system recovery section, or backup important files firstly.

If this symptoms have already appeared,  you should recover your computer by selecting 'System recovery' in boot selecting screen.


I think this symptom doesn't appear when changing language immediately after re-installing OS.

Please launch 'Vistalizator' as adminstrator authority.

Be aware of using vistalizator specially if you are using Professional version




참고사항입니다.

글을 읽으시기 전 참고하셔야 할 사항들에 대해 말씀드립니다.

MUI 팩이란? 100% 번역된 언어팩입니다.

partial MUI 팩이란? 80%(Microsoft 에서 발표한 수치에 따르면) 번역된 언어팩입니다.

partial MUI 팩은 아래 사항들이 영어로 표시될 수 있습니다.

다운로드 링크 옆에 *** 표시가 되어있는 언어팩은, Partial MUI 팩입니다.

  • 부트로더
  • 제어판
  • 그룹정책(그룹정책객체)
  • 일부 도움말


NOTE!

MUI stands for Multilingual User Interface.
There are full (100%) and partial (80% according to Microsoft) MUI language packs.
Full languages change entire Windows 7 environment, partial languages lack some localization and the untranslated user interface is always in English, regardless of the original Windows 7 display language:

  • Bootloader: Multi-boot menu, Safe menu options, Memtest
  • Administrative Tools: Task Scheduler, Event Viewer, Services, Advanced Firewall...
  • Group Policy (Windows 7 Professional/Ultimate only)
  • Some help files 
'***' Means 'This is a partial MUI language pack.



(Vistalizator을 사용하시면 쉽게 윈도우 언어를 바꾸실 수 있습니다.)






원하는 언어를 찾고 싶다면 Ctrl + F를 눌러 찾아보세요.

Press Ctrl + F To find language.


윈도우 7 비트를 확인하려면? 

아래 언어팩을 이용해 윈도우 7의 언어를 바꾸려면?

비스타 사용자도 언어를 바꿀 수 있습니다! 방법을 확인하려면?
Vista user can also change OS language! How? Follow this link.


  
좋은  글이라고 생각되신다면 버튼 한 번 꾹- 눌러주세요 ^^
로그인 필요 없습니다~
Please press this button if you think this posting is useful.




윈도우 7 모든 언어팩 모음집(ALL Windows 7  language packs)

윈도우 7 32비트이고, 서비스팩이 설치되어 있지 않을 경우

For Windows 7 32bit, no service pack has been installed.





윈도우 7 모든 언어팩 모음집(ALL Windows 7  language packs)
윈도우 7 32비트이고, 서비스팩 1이 설치되어 있을 경우

For Windows 7 32bit, service pack 1 has been installed





윈도우 7 모든 언어팩 모음집(ALL Windows 7  language packs)

윈도우 7 64비트이고, 서비스팩이 설치되어 있지 않을 경우

For Windows 7 64bit, no service pack has been installed.





윈도우 7 모든 언어팩 모음집(ALL Windows 7  language packs)
윈도우 7 64비트이고, 서비스팩 1이 설치되어 있을 경우

For Windows 7 64bit, service pack 1 has been installed





윈도우 7 모든 언어팩 모음집(ALL Windows 7  language packs)
32비트 립버전 언어팩(서비스팩 설치유무에 영향 안 받음)
LIP LANGUAGE PACKS : For Windows 7 32bit, no service pack and service pack 1


립버전 언어팩에 대해 설명드리겠습니다.

립버전 언어팩은 가장 자주 쓰이는 부분의 인터페이스에 대해서만 번역을 해 놓은 언어팩입니다.

립버전 언어팩은 영어와 스페인어와 같은 부모 언어가 필요한데, 왜냐하면 기초적인 언어만 립버전 언어로 번역되어 있기 때문입니다.

립버전 언어로 번역되지 않은 부분은 부모 언어로 표시되게 됩니다.

립버전 언어팩이 설치되기 전에, 반드시 부모 언어팩이 설치되어야 합니다.


LIP stands for Language Interface Pack.
Windows 7 LIPs provide a translated version of the most widely used areas of the user interface. LIPs require a parent language (like English or Spanish) because only the basic user interface is translated. The parts of the user interface that are not translated into the LIP language are displayed in the parent language. The parent MUI language pack needs to be installed before the LIP can be installed.


  • Afrikaans language(아프리칸스어/현 남아프리카공화국에서 사용됨) - requires English MUI
  • Albanian language(알바니아어) - requires English MUI
  • Amharic language(암하라어) - requires English MUI
  • Armenian language(아르메니아어)- requires English MUI
  • Assamese language(아삼어)- requires English MUI
  • Azeri language(아제르바이잔어) - requires English or Russian MUI
  • Basque language(바스크어) - requires French or Spanish MUI
  • Bengali language(벵골어) - requires English MUI
  • Bengali (Bangladesh) language(벵골어-방글라데시어) - requires English MUI
  • Bosnian (cyrillic) language{보스니아어 - 키릴 문자(러시아어, 불가리아어 및 일부 중부 유럽 국가들의 언어에서 사용하는 알파벳)} - requires English or Croatian or Serbian (latin) MUI
  • Bosnian (latin) language(보스니아어 - 라틴 문자) - requires English or Croatian or Serbian (latin) MUI
  • Catalan language(카탈로니아어) - requires French or Spanish MUI
  • Dari language(다리어 - 페르시아 말의 일종의 아프가니스탄의 Tajik 인이 이용) - requires English MUI
  • Filipino language(필리핀어) - requires English MUI
  • Galician language(갈리시안어) - requires Spanish MUI
  • Georgian language - requires English MUI
  • Gujarati language(구자라트어) - requires English MUI
  • Hausa (latin) language(하우사어 - 아프리카 하우사 민족의 언어로, 지금은 나이지리아, 니제르, 그 외 서부 아프리카 지역에서 통용 언어로 사용됨)- requires English MUI
  • Hindi language(힌디어 - 인도 북부 지역에서 사용되는 인도 공용어의 하나) - requires English MUI
  • Icelandic language(아이슬란드어) - requires English MUI
  • Igbo language(이그보우어 - 나이지리아 서남부에서 사용하는 언어) - requires English MUI
  • Indonesian language(인도네시아어) - requires English MUI
  • Inuktitut language(이뉴잇족의 언어) - requires English MUI
  • Irish language(아일랜드 캘트어) - requires English MUI
  • Kannada language(칸나다어) - requires English MUI
  • Kazakh language(카자흐어 - 튀르크 어군의 일종) - requires English or Russian MUI
  • Khmer language(크메르 어) - requires English MUI
  • Kiswahili language(스와힐리 어) - requires English MUI
  • Konkani language(콩가니아어 - 인도 서부 지방에서 사용되는 인도 유럽 어족 어파의 하나) - requires English MUI
  • Kyrgyz language- requires Russian MUI
  • Luxembourgish language - requires English or French MUI
  • Macedonian language(마케도니아어) - requires English MUI
  • Malay language(말레이어) - requires English MUI
  • Malay (Brunei) language(말레이어 - 브루나이) - requires English MUI
  • Malayalam language(말라얄람어 - 인도 서남부 케랄라에서 사용하는 언어) - requires English MUI
  • Maltese language(몰타어) - requires English MUI
  • Maori language(마오리어) - requires English MUI
  • Marathi language(마라티어 - 인도 서부 마하라슈트라에서 사용하는 언어) - requires English MUI
  • Mongolian (cyrillic) language{몽골어 - 키릴 문자(러시아어, 불가리아어 및 일부 중부 유럽 국가들의 언어에서 사용하는 알파벳)} - requires English or Russian MUI
  • Nepali language(네팔어) - requires English MUI
  • Norwegian (nynorsk) language{노르웨이어 - 뉘노르스크(노르웨이의  두 공용어 중의 하나)}- requires Norwegian MUI
  • Oriya language{오리아어(인도 동부 오리사 지방의 언어)} - requires English MUI
  • Persian language(페르시아어) - requires English MUI
  • Punjabi language(펀자브어) - requires English MUI
  • Quechua language(케추아어) - requires Spanish MUI
  • Serbian (cyrillic) language{세르비아어 - 키릴 문자(러시아어, 불가리아어 및 일부 중부 유럽 국가들의 언어에서 사용하는 알파벳)} - requires English or Serbian (latin) MUI
  • Sesotho language(세스토어 - Sotho의 한 방언으로 레스토의 공용어) - requires English MUI
  • Setswana language(남아프리카에서 넓게 쓰이는 언어) - requires English MUI
  • Tamil language(타밀어) - requires English MUI
  • Tatar language(타타르어) - requires Russian MUI
  • Telugu language(텔구루어 - 인도 남서부 안드라 프라데시에서 사용되는 언어) - requires English MUI
  • Turkmen language(투르크멘어) - requires English or Russian MUI
  • Urdu language(우르두어 - 파키스탄의 공용어이며 인도에서도 널리 사용됨) - requires English MUI
  • Vietnamese language(베트남어) - requires English MUI
  • Welsh language(웨일스어) - requires English MUI
  • Xhosa language - requires English MUI
  • Yoruba language(요루바어어 - 아프리카의 요루바족이 쓰는 언어. 현재 나이지리아의 공식어) - requires English MUI
  • Zulu language(줄루어) - requires English MUI



윈도우 7 모든 언어팩 모음집(ALL Windows 7  language packs)

64비트 립버전 언어팩(서비스팩 설치유무에 영향 안 받음)
LIP LANGUAGE PACKS : For Windows 7 64bit, no service pack and service pack 1


  • Afrikaans language(아프리칸스어/현 남아프리카공화국에서 사용됨) - requires English MUI
  • Albanian language(알바니아어) - requires English MUI
  • Amharic language(암하라어) - requires English MUI
  • Armenian language(아르메니아어) - requires English MUI
  • Assamese language(아삼어) - requires English MUI
  • Azeri language(아제르바이잔어) - requires English or Russian MUI
  • Basque language(바스크어) - requires French or Spanish MUI
  • Bengali language(벵골어) - requires English MUI
  • Bengali (Bangladesh) language(벵골어-방글라데시어) - requires English MUI
  • Bosnian (cyrillic) language{보스니아어 - 키릴 문자(러시아어, 불가리아어 및 일부 중부 유럽 국가들의 언어에서 사용하는 알파벳)} - requires English or Croatian or Serbian (latin) MUI
  • Bosnian (latin) language(보스니아어 - 라틴 문자) - requires English or Croatian or Serbian (latin) MUI
  • Catalan language(카탈로니아어) - requires French or Spanish MUI
  • Dari language(다리어 - 페르시아 말의 일종의 아프가니스탄의 Tajik 인이 이용) - requires English MUI
  • Filipino language(필리핀어) - requires English MUI
  • Galician language(갈리시안어) - requires Spanish MUI
  • Georgian language - requires English MUI
  • Gujarati language(구자라트어) - requires English MUI
  • Hausa (latin) language(하우사어 - 아프리카 하우사 민족의 언어로, 지금은 나이지리아, 니제르, 그 외 서부 아프리카 지역에서 통용 언어로 사용됨) - requires English MUI
  • Hindi language(힌디어 - 인도 북부 지역에서 사용되는 인도 공용어의 하나) - requires English MUI
  • Icelandic language(아이슬란드어) - requires English MUI
  • Igbo language(이그보우어 - 나이지리아 서남부에서 사용하는 언어)
     - requires English MUI
  • Indonesian language(인도네시아어) - requires English MUI
  • Inuktitut language (이뉴잇족의 언어)- requires English MUI
  • Irish language (아일랜드 캘트어) - requires English MUI
  • Kannada language(칸나다어) - requires English MUI
  • Kazakh language(카자흐어 - 튀르크 어군의 일종) - requires English or Russian MUI
  • Khmer language(크메르 어) - requires English MUI
  • Kiswahili language(스와힐리 어) - requires English MUI
  • Konkani language(콩가니아어 - 인도 서부 지방에서 사용되는 인도 유럽 어족 어파의 하나) - requires English MUI
  • Kyrgyz language - requires Russian MUI
  • Luxembourgish language - requires English or French MUI
  • Macedonian language(마케도니아어) - requires English MUI
  • Malay language(말레이어) - requires English MUI
  • Malay (Brunei) language(말레이어 - 브루나이) - requires English MUI
  • Malayalam language(말라얄람어 - 인도 서남부 케랄라에서 사용하는 언어) - requires English MUI
  • Maltese language(몰타어) - requires English MUI
  • Maori language(마오리어) - requires English MUI
  • Marathi language(마라티어 - 인도 서부 마하라슈트라에서 사용하는 언어) - requires English MUI
  • Mongolian (cyrillic) language{몽골어 - 키릴 문자(러시아어, 불가리아어 및 일부 중부 유럽 국가들의 언어에서 사용하는 알파벳)} - requires English or Russian MUI
  • Nepali language(네팔어) - requires English MUI
  • Norwegian (nynorsk) language{노르웨이어 - 뉘노르스크(노르웨이의  두 공용어 중의 하나)} - requires Norwegian MUI
  • Oriya language{오리아어(인도 동부 오리사 지방의 언어)} - requires English MUI
  • Persian language(페르시아어) - requires English MUI
  • Punjabi language(펀자브어) - requires English MUI
  • Quechua language(케추아어) - requires Spanish MUI
  • Serbian (cyrillic) language{세르비아어 - 키릴 문자(러시아어, 불가리아어 및 일부 중부 유럽 국가들의 언어에서 사용하는 알파벳)}  - requires English or Serbian (latin) MUI
  • Sesotho language(세스토어 - Sotho의 한 방언으로 레스토의 공용어) - requires English MUI
  • Setswana language(남아프리카에서 넓게 쓰이는 언어) - requires English MUI
  • Tamil language(타밀어) - requires English MUI
  • Tatar language(타타르어) - requires Russian MUI
  • Telugu language(텔구루어 - 인도 남서부 안드라 프라데시에서 사용되는 언어) - requires English MUI
  • Turkmen language(투르크멘어) - requires English or Russian MUI
  • Urdu language(우르두어 - 파키스탄의 공용어이며 인도에서도 널리 사용됨) - requires English MUI
  • Uzbek (latin) language(우즈베크어 - 라틴문자) - requires English or Russian MUI
  • Vietnamese language(베트남어) - requires English MUI
  • Welsh language(웨일스어) - requires English MUI
  • Xhosa language- requires English MUI
  • Yoruba language(요루바어어 - 아프리카의 요루바족이 쓰는 언어. 현재 나이지리아의 공식어) - requires English MUI
  • Zulu language(줄루어) - requires English MUI 

 

출처 : http://gogglestory.tistory.com

'컴퓨터' 카테고리의 다른 글

윈도우 7,8 사용자 추적 업데이트 툴들  (0) 2016.03.23
windows 10 업데이트 막기(알람 제거)  (0) 2016.02.19
파일 이름 바꾸기  (0) 2015.07.14
VisiPics 중복사진 제거 툴  (0) 2015.07.14
grid kill & grid switch 청소  (0) 2015.07.14
Posted by 타카스 류지
|

public string GetPlatform()
        {
            OperatingSystem osversion = System.Environment.OSVersion;
            string winName = "";


            switch (osversion.Platform)
            {
                case PlatformID.Win32Windows:
                    if (osversion.Version.Major == 4)
                    {
                        switch (osversion.Version.Minor)
                        {
                            case 0:
                                winName = "Windows 95";
                                break;
                            case 10:
                                winName = "Windows 98";
                                break;
                            case 90:
                                winName = "Windows Me";
                                break;
                        }
                    }
                    break;

 

                case PlatformID.Win32NT:
                    if (osversion.Version.Major == 4)
                    {
                        winName = "Windows NT 4.0";
                    }
                    else if (osversion.Version.Major == 5)
                    {
                        switch (osversion.Version.Minor)
                        {
                            case 0:
                                winName = "Windows 2000";
                                break;
                            case 1:
                                winName = "Windows XP";
                                break;
                            case 2:
                                winName = "Windows Server 2003";
                                break;
                        }
                    }
                    else if (osversion.Version.Major == 6)
                    {
                        switch (osversion.Version.Minor)
                        {
                            case 0:
                                winName = "Windows Vista";
                                break;
                            case 1:
                                winName = "Windows 7";
                                break;
                            case 2:
                                winName = "Windows 8";
                                break;
                            case 3:
                                winName = "Windows 8.1";
                                break;
                        }
                    }
                    else if (osversion.Version.Major == 10)
                    {
                        switch (osversion.Version.Minor)
                        {
                            case 0:
                                winName = "Windows 10";
                                break;
                        }
                    }
                    break;
            }//switch QUIT
            return winName;
        }

 

 

Operating system Version number
Windows 10 10.0*
Windows Server 2016 Technical Preview 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5.0

 

 

 

 

 

 

 

 

 

 

Posted by 타카스 류지
|

 

 

간단한 통합 매소드

 

 

nicid : 레지스트리의 폴더 주소(즉 index)

newmac : Mac 어드레스 주소(예 : 00 B0 08 A0 C1 1B)

 

newmac 값이 있을땐 설정 null 일땐 초기화

 

 

using System.Management;

 

 public static bool SetMAC(string nicid, string newmac)
        {
            bool ret = false;
            string baseReg = @"SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\";

            using (RegistryKey bkey = GetBaseKey())
            using (RegistryKey key = bkey.OpenSubKey(baseReg + nicid))
            {
                if (key != null)
                {
                   
                    RegistryKey rk = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002bE10318}\\"+ nicid, RegistryKeyPermissionCheck.ReadWriteSubTree);
                   
                    if (rk != null)
                    {
                        if (newmac != null)
                        {
                            rk.SetValue("NetworkAddress", newmac);
                        }
                        else
                        {
                            rk.DeleteValue("NetworkAddress");
                        }
                       
                        rk.Close();
                    }


                    ManagementObjectSearcher mos = new ManagementObjectSearcher(new SelectQuery("SELECT * FROM Win32_NetworkAdapter WHERE Index = " + nicid));

                    foreach (ManagementObject o in mos.Get().OfType<ManagementObject>())
                    {
                        o.InvokeMethod("Disable", null);
                        o.InvokeMethod("Enable", null);
                        ret = true;
                    }
                }
            }

            return ret;
        }

 

 

 

'Dev Language > C#' 카테고리의 다른 글

외부에서 호스팅업체 MYSQL 접근하기(+ DLL 포함 컴파일)  (0) 2016.10.05
윈도우 플랫폼 체크  (0) 2015.12.31
.NET Decompile (닷텟 디컴파일)  (0) 2015.06.04
엑셀 exprot  (0) 2015.02.24
사운드 플레이,스톱  (0) 2015.02.24
Posted by 타카스 류지
|

 

 

 

 

 

ExcelRead.zip

 

 

// *.xls 파일 가능( - xlsx파일 불가)
HSSFWorkbook workBook  = new HSSFWorkbook(new FileInputStream(new File(filePath)));
HSSFSheet sheet = null;
HSSFRow row  = null;
HSSFCell cell   null;

 

// *.xlsx 파일 가능( - xls파일 불가)
XSSFWorkbook workBook   = new XSSFWorkbook(file);
XSSFSheet sheet = null;
XSSFRow row  = null;
XSSFCell cell = null;

 

// *.xls, *.xlsx 파일 가능
Workbook workBook = WorkbookFactory.create(file);
Sheet sheet = null;
Row   row  = null;
Cell  cell  = null;

 

 


[출처] [Java] POI를 이용한 (*.xls, *.xlsx) 읽기|작성자 마이레몬트리

http://tychejin.blog.me/110182191752

 

Posted by 타카스 류지
|

 /**
  * xlsx 파일(XSSFWorkbook)을 xls 파일(HSSFWorkbook)로 변환하는 메서드.
  * [참조] http://stackoverflow.com/questions/20049922/java-poi-api-convert-from-xlsx-to-xls 
  *
  * @param xssfWorkbook
  * @return
  * @throws Exception
  */
 public static HSSFWorkbook convertXlsxToXls(String filePath) throws Exception {
  
  FileInputStream fis = new FileInputStream(new File(filePath)); 
  XSSFWorkbook xssfWorkbook = new XSSFWorkbook(fis);

     HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
     int sheetCnt = xssfWorkbook.getNumberOfSheets();
     for (int i = 0; i < sheetCnt; i++) {
      Sheet sIn = xssfWorkbook.getSheetAt(i);
      Sheet sIn = xssfWorkbook.getSheetAt(0);
         Sheet sOut = hssfWorkbook.createSheet(sIn.getSheetName());
         Iterator rowIt = sIn.rowIterator();
         while (rowIt.hasNext()) {
             Row rowIn = (Row) rowIt.next();
             Row rowOut = sOut.createRow(rowIn.getRowNum());
 
             Iterator cellIt = rowIn.cellIterator();
             while (cellIt.hasNext()) {
                 Cell cellIn = (Cell) cellIt.next();
                 Cell cellOut = rowOut.createCell(cellIn.getColumnIndex(), cellIn.getCellType());
                 switch (cellIn.getCellType()) {
                 case Cell.CELL_TYPE_BLANK: break;
                 case Cell.CELL_TYPE_BOOLEAN:
                     cellOut.setCellValue(cellIn.getBooleanCellValue());
                     break;
                 case Cell.CELL_TYPE_ERROR:
                     cellOut.setCellValue(cellIn.getErrorCellValue());
                     break;
                 case Cell.CELL_TYPE_FORMULA:
                     cellOut.setCellFormula(cellIn.getCellFormula());
                     break;
                 case Cell.CELL_TYPE_NUMERIC:
                     cellOut.setCellValue(cellIn.getNumericCellValue());
                     break;
                 case Cell.CELL_TYPE_STRING:
                     cellOut.setCellValue(cellIn.getStringCellValue());
                     break;
                 }
                 CellStyle styleIn = cellIn.getCellStyle();
                 CellStyle styleOut = cellOut.getCellStyle();
                 styleOut.setDataFormat(styleIn.getDataFormat());
                 cellOut.setCellComment(cellIn.getCellComment());
             }
         }
        }
    
     return hssfWorkbook;
 }

Posted by 타카스 류지
|
function getOffset( el ) {
     var _x = 0;
     var _y = 0;
     while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
         _x += el.offsetLeft - el.scrollLeft;
         _y += el.offsetTop - el.scrollTop;
         el = el.offsetParent;
     }
     return { top: _y, left: _x };
 }

 

 

var x = getOffset( document.getElementById('div_newPrintCount_' + listIdx) ).left;

Posted by 타카스 류지
|

http://www.cronjobservices.com

 

뭐.. 여기는 대부분 PHP 개발자겠죠? 물론 다른 언어도 해당됩니다.
하지만 웹호스팅을 이용하거나, root 접근이 불가능해 cron job 등이 안되는 환경에서 실행하려면 정말 힘들죠.
그래서 online cron job 서비스가 있습니다.
HTTP GET 요청만 지원됩니다.

안타깝게도 대부분 서비스는 단순 요청만 지원합니다. 쿠키 및 세션 지원, POST 지원 등은 유료에서만 볼 수 있습니다.

1. https://mywebcron-com.loopiasecure.com (무료)
회원제이지만 소셜 연동 가능합니다. 최소 단위는 분으로 지원됩니다.
사용 방법은 간단합니다. 단, 날짜 포멧이 미국식이라는 단점만 빼면 괜찮습니다.
정기적으로 호출할 URL과 주기, 시작시간과 종료시간을 설정하면 땡입니다. pick 으로 날짜를 잡을 수 있습니다.
최대 생성 개수는 모르겠지만, 남용하면 잘릴 수 있으니 다른 사람을 위해 적당히 써주세요.
참고로 User Agent 는 MyWebCron/1.0 (www.mywebcron.com) 으로 잡힌다고 합니다.

2. https://www.setcronjob.com/ (무료, 유료)
회원제이지만 소셜 연동은 가능합니다. 무료 기준으로 설명합니다.
스케줄 실행 개수에 제한이 있으며, 주기에 따라 제한 개수가 다릅니다. 무료 사용자는 30분 단위부터 실행 가능합니다.
실행 시 최대 실행 시간은 15초이며, 최근 5개 실행 내역이 기록되고, 메일링도 지원합니다.

3. http://www.easycron.com/ (무료, 유료)
회원제이며 소셜 연동이 가능합니다. 무료 기준으로 설명합니다.
스케줄 실행 개수는 무제한이지만, 월 200번 지원합니다. 월 단위로 초기화되기 때문에 월마다 관리를 해야 합니다.
최소 실행 가능 주기는 10분이며, 최대 실행 시간은 10초입니다. 2번 실행 실패시 비활성화되며
테스트 가능 횟수는 월 5번입니다. 낮은 우선 순위로 시작하며, 로그와 메일링 서비스를 지원하지 않습니다.

그 외 나머지는 링크 #1을 방문해서 검토 후 사용하시면 됩니다. 별표는 사용자 평가가 아니고 방문 빈도입니다.
PHP에서 스케줄링 작업? 이제 해방하세요.

 

출처 : http://www.phpschool.com/link/tipntech/78304

Posted by 타카스 류지
|
한글 -> 유니코드 결과 :

유니코드 -> 한글   결과 :

 

 

unicode.html

 

Posted by 타카스 류지
|