'분류 전체보기'에 해당되는 글 108건

  1. 2018.05.24 시큐어 코딩 가이드 참조
  2. 2017.02.07 [오라클] 통계정보 조회 및 통계 갱신
  3. 2016.12.06 갤럭시 펌웨어 구해서 갤럭시s7 LGU+ 기기로 SKT로 사용하기
  4. 2016.12.01 tibero JOB 등록 및 해제
  5. 2016.07.08 이미지에서 색상 추출 샘플
  6. 2016.04.07 웹스크래핑 - cheerio
  7. 2016.04.07 [춘식이의 코드이야기] 10분만에 따라하는 웹사이트 긁어오기
  8. 2016.04.07 자바에서 jpeg 이미지(사진) 사이즈 조절하기
  9. 2016.03.03 오라클 order by 정렬순서(한글,영어,숫자)
  10. 2016.02.12 월-일요일 기준 주차 시작/마지막날짜
  11. 2016.02.12 현재날짜의 년도/주차/시작일/종료일
  12. 2015.12.22 window.open 팝업창 중앙에 보이기
  13. 2015.11.25 대용량 엑셀다운로드 참고
  14. 2015.11.03 JAVA에서 10만건 엑셀을 읽어서 DB에 넣어주고 싶습니다.
  15. 2015.09.21 input text or textarea 한글 or 영어 기본 세팅하기

시큐어 코딩 가이드 참조

|

http://hubless.net/220817376176

And

[오라클] 통계정보 조회 및 통계 갱신

|
-- 해당 스키마에 해당하는 테이블과 테이블 스페이스 조회
SELECT OWNER, TABLE_NAME, TABLESPACE_NAME FROM DBA_TABLES WHERE OWNER = '스키마명';

-- 해당 스키마에 해당하는 테이블의 통계정보 조회
SELECT TABLE_NAME, NUM_ROWS, CHAIN_CNT, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, AVG_ROW_LEN FROM DBA_TABLES WHERE OWNER = '스키마명';

-- 해당 스키마에 해당하는 인덱스의 통계정보 조회
SELECT TABLE_NAME, INDEX_NAME, STATUS, NUM_ROWS, LEAF_BLOCKS, BLEVEL FROM DBA_INDEXES WHERE OWNER = '스키마명';

-- 테이블의 통계정보 갱신
EXEC DBMS_STATS.GATHER_TABLE_STATS('스키마명', '테이블명');

-- 스키마안의 모든 세그먼트에 대한 통계정보 갱신
EXEC DBMS_STATS.GATHER_SCHEMA_STATS('스키마명');

-- DBMS_STATS 패키지로 갱신되지 않는 테이블 통계 정보 갱신
ANALYZE TABLE 스키마명.테이블명 COMPUTE STATISTICS;
-- DBMS_STATS 패키지로 갱신되지 않는 테이블 통계 정보 갱신(쿼리 생성)
SELECT 'ANALYZE TABLE 스키마명.' || TABLE_NAME || ' COMPUTE STATISTICS;' FROM DBA_TABLES WHERE OWNER = '스키마명';

-- DBMS_STATS 패키지로 갱신되지 않는 인덱스 통계정보 갱신
ANALYZE INDEX 스키마명.인덱스명 VALIDATE STRUCTURE;
SELECT NAME, BLOCKS, LF_ROWS, DEL_LF_ROWS FROM INDEX_STATS;
-- DBMS_STATS 패키지로 갱신되지 않는 인덱스 통계정보 갱신(쿼리 생성)
SELECT 'ANALYZE INDEX 스키마명.' || INDEX_NAME || ' VALIDATE STRUCTURE;' FROM DBA_INDEXES WHERE OWNER = '스키마명';

And

갤럭시 펌웨어 구해서 갤럭시s7 LGU+ 기기로 SKT로 사용하기

|

http://m.blog.naver.com/chan408/220800723496

 

 

And

tibero JOB 등록 및 해제

|

-- JOB의 조회

SELECT * FROM USER_JOBS;


-- JOB의 등록

EX 1)


DECLARE

job_no number;

BEGIN

DBMS_JOB.SUBMIT(job_no,'update  arreo_sms set snd_msg =''test''

where cmp_msg_id =''001'';', SYSDATE,

'SYSDATE + 1');

END;


EX 2)

DECLARE

X number;

BEGIN

DBMS_JOB.SUBMIT(X,'MERGE INTO TB_SDR_SDREPORT_BPLC A

USING (SELECT BPLC_ID, PROCESS_YM_WEEK, CLOS_SE_CODE

       FROM TB_TMP_NEXTWEEK_REPORT

       WHERE CONF_YN = ''Y'') B

ON (A.BPLC_ID = B.BPLC_ID

AND  A.PROCESS_YM_WEEK = B.PROCESS_YM_WEEK

AND  A.CLOS_SE_CODE = B.CLOS_SE_CODE)

WHEN MATCHED THEN 

UPDATE SET REPORT_AT =''N'', UPDUSR_ID = ''JOB44'', UPDT_DT =SYSDATE, UPDT_IP =''127.0.0.1''

WHERE REPORT_AT = ''T'';', SYSDATE,

'NEXT_DAY(TRUNC(SYSDATE),''토'')');

END;


// DBMS_JOB.SUBMIT(잡넘버,PROCEDURE 내용, 최초실행시간,실행주기);

// WHAT 내용안에 PROCEDURE로 등록 된 내용이 아닌 직접 쿼리를 입력시 ' -> '' 로 변경 하여야 한다.


-- JOB의 변경

EXECUTE DBMS_JOB.NEXT_DATE(잡넘버, TRUNC(SYSDATE)+1+1/24/60);

COMMIT;


-- JOB의 삭제

EXECUTE DBMS_JOB.REMOVE(잡넘버);

COMMIT;


-- JOB의 정지

EXECUTE DBMS_JOB.BROKEN(잡넘버,FALSE);

COMMIT;


-- JOB 실행

EXECUTE DBMS_JOB.RUN(잡넘버);

COMMIT;


-- 날짜 계산 표시


 Description

Date Expression 

 Now

SYSDATE 

 Tomorrow/ next day

SYSDATE + 1

 Seve days from now

SYSDATE + 7 

 One hour from now

SYSDATE + 1/24 

 Three hours from now

SYSDATE + 3/24 

 An half hour from now

SYSDATE + 1/48 

 10 minutes from now

SYSDATE + 10/1440 

 30 seconds from now

SYSDATE + 30/86400 

 Tomorrow at 12 midnight

TRUNC(SYSDATE + 1) 

 Tomorrow at 8 AM

TRUNC(SYSDATE + 1) + 8/24 

 Next Monday at 12:00 noon

NEXT_DAY(TRUNC(SYSDATE),'MONDAY')+12/24

 First day of the month at 12 midnight

TRUNC(LAST_DAY(SYSDATE)+1) 

 The next Monday, Wendesday or Friday at 9 a.m

TRUNC(LEAST(NEXT_DAY(sysdate,''MONDAY'' ), 

NEXT_DAY(sysdate,''WEDNESDAY''), 

NEXT_DAY(sysdate,''FRIDAY'' ))) + (9/24)

 

 

And

이미지에서 색상 추출 샘플

|

이미지에서 색상 추출 샘플

 

http://lokeshdhakar.com/projects/color-thief/

 

And

웹스크래핑 - cheerio

|

http://cheeriojs.github.io/cheerio/

https://github.com/cheeriojs/cheerio

 


참고 : http://mudchobo.tistory.com/563

And

[춘식이의 코드이야기] 10분만에 따라하는 웹사이트 긁어오기

|
http://codenamu.org/2014/11/13/scrape-webpage-for-10-minutes

 

And

자바에서 jpeg 이미지(사진) 사이즈 조절하기

|

출처 : http://sexy.pe.kr/tc/642

[JAVA] 자바에서 jpeg 이미지(사진) 사이즈 조절하기


스윙을 공부하다가 이미지 다루는 일이 자주 생겨 공부할 겸 포스팅 하게 되네요~


1. 파일에서 이미지 불러오기
Image orginalImage = ImageIO.read(new File("사진파일명.jpg"));

2. 이미지 사이즈 수정
Image resizeImage = originalImage.getScaledInstance( 넓이, 높이, Image.SCALE_SMOOTH); //속도보다 이미지 부드러움 우선
(SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH 중에 선택)

3. 결과물을 옮길 이미지 생성
BufferedImage newImage = new BufferedImage( 넓이, 높이, BufferedImage.TYPE_INT_RGB );

4. 생성한 이미지에 크기 수정된 이미지 그리기
Graphics g = newImage.getGraphics();
g.drawImage(resizeImage, 0, 0, this);
g.dispose();

5. 새로 생성한 이미지를 파일로 저장하기
ImageIO.write(newImage, "jpg", new File("새 사진파일명.jpg"));


#사용된 패키지
java.awt.Image, java.awt.image.BufferedImage, javax.imageio.ImageIO, java.io.File, java.awt.Graphics

 

And

오라클 order by 정렬순서(한글,영어,숫자)

|

출처 : http://www.gurubee.net/m/article/66519

 

ㄱㄴㄷㄹ..... 순으로 order by 를 하려고 하는데요...

그렇게 할 경우 영어가 우선순위가 되는데 

혹시 ㄱㄴㄷㄹ순으로 나오되 영어는 뒤에 나오게 하려면 어떻게 해야하나요

  • 아발란체 (4,916:Lv47) [2016년 01월 15일 14시]

    WITH T AS (
      SELECT 'ㄱ' AS val FROM DUAL UNION ALL
      SELECT 'ㄴ' FROM DUAL UNION ALL
      SELECT 'ㄷ' FROM DUAL UNION ALL
      SELECT 'A' FROM DUAL UNION ALL
      SELECT 'B' FROM DUAL
    )  
    SELECT * FROM T ORDER BY CONVERT(val, 'ISO2022-KR')

    답글

  • 개꿈 (95:Lv9) [2016년 01월 15일 14시]

    와우~ 감사합니다 아발란체님~^^

  • 대한민국만세 (150:Lv11) [2016년 01월 15일 14시]

    지원하지 않는 캐릭터셋이라고 하는데요 ㅜㅜ

    오라클 11버전이고 토드에서 실행했습니다.

  • 대한민국만세 (150:Lv11) [2016년 01월 15일 15시]

    1
    2
    3
    4
    5
    6
    7
    8
    WITH T AS (
       SELECT 'ㄱ' AS val FROM DUAL UNION ALL
       SELECT 'ㄴ' FROM DUAL UNION ALL
       SELECT 'ㄷ' FROM DUAL UNION ALL
       SELECT 'A' FROM DUAL UNION ALL
       SELECT 'B' FROM DUAL
     
     SELECT * FROM T ORDER BY CASE WHEN VAL >'Z' THEN '0' ELSE '1' END ;

     

    답글

  • jkson (1,133:Lv33) [2016년 01월 15일 15시]

    아발란체님 꺼 잘 되는데 이상하네요.

    대문자 Z보다 소문자 z가 더 클걸요? 그리고 영문끼리, 한글끼리 order by 먹히게 하려면

    ORDER BY CASE WHEN VAL >'Z' THEN '0' ELSE '1' END 뒤에 val 추가하셔야할 것 같아요. 

    그렇다고 하더라도 'AA'., 'A가' 라는 데이터가 있다면 의도한 바는 'A가'가 먼저나오는 것인데 'AA' 가 먼저 나오게 될 것 같아요.

     

    구글링 해보니..

     

    한글, 영문, 숫자에 대한 정렬 알고리즘
     
    오라클에서 제공하는 order by 에 대힌 default 정렬 순서
     => 숫자 > 영문 > 한글
     
    order by convert (컬럼명, 'VN8VN3')
     => 숫자 > 한글 > 영문
     
    order by convert (컬럼명, 'US8ICL')
     => 한글 > 영문 > 숫자
     
    order by convert (컬럼명, 'ISO2022-KR')
     => 한글 > 숫자 > 영문
     
    order by convert (컬럼명, 'UTFE')
     => 영문 > 한글 > 숫자
     
    이라고 하네요.

 

And

월-일요일 기준 주차 시작/마지막날짜

|

:REGDATE - 20160117

 

SELECT :REGDATE,
    TO_CHAR( TO_DATE(:REGDATE,'YYYYMMDD') ,'YYYY-IW') AS YW
  , TO_CHAR( TO_DATE(:REGDATE,'YYYYMMDD') +( 1 - TO_CHAR(TO_DATE(:REGDATE,'YYYYMMDD') - 1, 'D') ), 'YYYY-MM-DD') AS START_DATE
  , TO_CHAR( TO_DATE(:REGDATE,'YYYYMMDD') +( 1 + 6 - TO_CHAR(TO_DATE(:REGDATE,'YYYYMMDD') - 1, 'D') ), 'YYYY-MM-DD') AS END_DATE
FROM DUAL

 

 

 

And

현재날짜의 년도/주차/시작일/종료일

|
SELECT
    TO_CHAR(SYSDATE,'YYYY') AS year        /*년도*/
  , TO_CHAR(SYSDATE,'WW')   AS week_seq /*주차*/
  , TO_CHAR(trunc(SYSDATE,'D'),'YYYY/MM/DD')   AS start_date /*시작일*/
  , TO_CHAR(trunc(SYSDATE,'D')+6,'YYYY/MM/DD') AS end_date   /*종료일*/
FROM DUAL

 

And

window.open 팝업창 중앙에 보이기

|

전용뷰어 보기

window.open 팝업창 중앙에 보이기

 

window.open(
         팝업url,
        "팝업창이름",
        "width="+w+",height="+h+",top="+TopPosition+",left="+LeftPosition+", scrollbars=no");

 

 

var w = 880;
var h = 580;
  
var LeftPosition = (screen.width - w) / 2 ;
var TopPosition = (screen.height - h) / 2 ;
 
window.open("fileList.do?,"filePop","width="+w+",height="+h+",top="+TopPosition+",left="+LeftPosition+", scrollbars=yes");}

 

And

대용량 엑셀다운로드 참고

|
http://mycup.tistory.com/171

 

http://blog.naver.com/anabaral/130190317041

And

JAVA에서 10만건 엑셀을 읽어서 DB에 넣어주고 싶습니다.

|

제목: JAVA에서 10만건 엑셀을 읽어서 DB에 넣어주고 싶습니다. - 초보 - 20
분류: 질문
이름: 시그시끄 ( 포인트:7535, 가입일:2012-03-30 )


등록일: 2014-11-19 10:58
조회수: 3579 / 추천수: 1




이 글(사진)을 추천 하신분들(1명)
익명할래요

    현재 구현하고 싶은것은 엑셀의 내용을 DB에 저장하는 것입니다.

    POI 를 이용해서 몇천건 정도의 엑셀은 1~2분내에서 읽고 DB에 저장까지 됩니다.


    그런데 문제는 엑셀에 10만건 가량의 row가 있을때는 heap memory error 가 뜨네요 ㅠㅠ

    이클립스 메모리도 늘려줘봤는데 읽을 수가 없네요.


    XML로 파싱을 하든가. 객체에 바인딩해서 처리하려고 해도 먼저 엑셀을 읽어야 파싱을 하든 뭘 할텐데, 메모리 에러만 뜰 뿐 진행을 할 수가 없네요. 아직 CSV는 알아보지는 않았지만 만약 CSV로 읽을 수 있다면 그 방법이 최선일까요?

    개발자분들의 조언 부탁드립니다.

    읽어주셔서 감사합니다!!
    [ 주소복사 http://www.ppomppu.co.kr/zboard/view.php?id=developer&no=14020 ]

    추천 1

    다른 의견 0

    추천 elf2lf
    데이터가 어떤지 잘 모르겠지만
    힙 에러라
    데이터가 안되면 가상 메모리 사용하면 될텐데
    직접 컨트롤이 안되는 자바의 문제인것 같네요
    C로 하면 메모리 지정해서 확인할 수 있을텐데
    C를 이용해서 해보시고 가능하면 C로 DLL을 만들어서 사용하면 어떨까요
    2014-11-19
    11:04:24

    [덧글]

    추천 시그시끄
    답변 감사드립니다.
    C로 DLL 만드는것 까지는 아직 제가 부족하네요.
    시간 날 때 한번 찾아보겠습니다.
    2014-11-19
    12:06:21

    [덧글]

    추천 추억만이
    아래쪽에 내려가다보면 해당 내용이 있는 것 같네요
    http://www.coderanch.com/t/424181/open-source/Read-xls-xlsx-file-format
    2014-11-19
    11:20:43

    [덧글]

    추천 시그시끄
    읽어보겠습니다. 감사합니다.
    2014-11-19
    12:06:47

    [덧글]

    추천  메뉴
    액셀 임포트 작업이 빈번하게 있나요?
    2014-11-19
    11:19:55

    [덧글]

    추천 시그시끄
    임포트 작업이라는게 INSERT 하는 부분 말씀하시는건가요?
    2014-11-19
    12:09:43

    [덧글]

    추천 LECHUCK
    아마도 POI에서 엑셀의 모든 데이터를 메모리에 올린 다음 작업을 하기 때문에 그런거 같은데요.
    먼저 이클립스 메모리가 아니라 애플리케이션 실행시 JVM에 넘겨줘야하는 -Xmx 옵션을 사용해서 메모리를 늘려줘 보시구요.
    그래도 메모리 부족이 뜬다면 모두 메모리에 올리기에는 전체 데이터가 너무 크기 때문에
    csv 파일로 해서 블럭단위로 읽으면서 DB에 추가하면 될 거 같습니다.
    아니면 xml로 한다면 DOM 대신 SaxParser를 사용해야겠죠.
    2014-11-19
    11:25:17

    [덧글]

    추천 시그시끄
    SaxParser로 파싱하려면 먼저 엑셀을 읽어야 되지 않나요?
    2014-11-19
    12:06:26

    [덧글]

    추천 귀린.
    원하시는 답변이 아니긴 한데 엑셀 몇천건을 임포트 하는데 1~2분이나 걸리나요? 1,2초면 끝나는데..
    뭔가 소스도 다시 한번 봐야 될듯 한데요..설마 쿼리문을 계속해서 돌리면서 추가하는건 아니죠?
    2014-11-19
    11:28:55

    [덧글]

    추천 시그시끄
    흠 지금 1000건씩 나눠서 ibatis 배치로 쿼리 돌리고 있는데 문제가 있는건가요?
    2014-11-19
    12:05:20

    [덧글]

    추천 토루토루
    윗분 말씀대로 이클립스 메모리 말고 run 실행 설정에서 -Xmx 옵션으로 메모리 설정하시면 될 듯 합니다.
    그리고 단순 DB Insert 라면 건별로 업데이트 하지 마시고 addBatch 이용해서 최소 천건단위로 insert 하세요.
    10만건을 정해진 시간(예 : 5초 이내) 안에 처리해야 되는게 아니라면 위 내용만으로도 작업에는 큰 문제 없어 보입니다.
    2014-11-19
    11:54:40

    [덧글]

    추천 시그시끄
    만약 10만건을 5초 이내에 올려야 되는 상황이 되면 다른 방법을 써야 하나요?
    댓글 읽고 갑자기 궁금해지네요
    2014-11-19
    12:09:08

    [덧글]

    추천 1 귀린.
    대용량 업데이트를 이용해야죠.. 검색해보니 나오네요.참고해보세요.
    http://fruitdev.tistory.com/111
    2014-11-19
    14:35:59


    추천 토루토루
    사실 addBatch를 이용하여 대용량 처리를 하더라도 특정 시간안에 모든 작업을 처리해야 되는경우에는
    싱글 스레드로 실행시 어느정도 한계가 있습니다. (제 생각)

    저의 경우 대용량 처리를 할때에는 멀티스레드로 데이터의 각 범위를 정해서 addBatch를 이용하였습니다.
    2014-11-19
    18:19:01


    추천 봄-봄
    DB에 맞는 loader 프로그램을 내부에서 호출해서 쓰세요.
    2014-11-19
    12:33:43

    [덧글]

    추천 추억만이
    이게 가장 현실적이고 가장 빠르고 가장 최고의 정답..
    2014-11-20
    12:35:16

    [덧글]

    추천 현자
    트랜잭션은 어떻게 되나요?
    트랜잭션을 개별 단위로 처리 하면 메모리 문제가 수월하긴 합니다만
    트러블 슈팅이 좀 난감해지죠.
    2014-11-19
    13:22:23

    [덧글]

    추천 익명할래요
    2년전인가.. 신입때

    파일로된 190만 라인, 100~150MB 짜리의 텍스트 파일을 DB 인서트 한적있었는데.

    저도 같은 증상 있었습니다.

    파싱 완료 -> 인서트 하는 과정에서

    파싱하다보니 변수에 데이터를 담아야 하는데 점점 많아 지면서

    힙스페이스 오류가 나는 상황이었는데요.

    1000건씩 파싱 -> 인서트 반복해서 해결했네요.

    saxparser도 찾아보니

    라인별 파싱이라고 하는데요.

    같은 방식으로 진행하면 되지 않을까 합니다.
    2014-11-19
    13:34:17

    [덧글]

    추천 푸우날쎄
    이전 프로젝트 중에 하루 교통카드데이터(서울기준, 일 하루 약 이천만건)를
    일주일 치 정도 한번에 올린적이 있었는데,
    그 때는 CSV 파싱 오픈 소스 이용해서, 읽어 들이고, 만건씩 AddBatch 사용해서
    커밋 했었습니다. 2천 만건 기준으로 약 6분 정도 소요되었던 것으로
    기억합니다.
    2014-11-19
    15:02:29

    [덧글]

    추천  달팽달팽
    java nio 써서 버퍼사이로 끊어서 리드하세요

     

     

    http://www.ppomppu.co.kr/zboard/view.php?id=developer&no=14020

    And

    input text or textarea 한글 or 영어 기본 세팅하기

    |

    input text or textarea 에 입력시 style을 통해 간단하게 기본 입력 언어를 설정 할 수 있다.

     

    ============================================= Example ==========================================

    input text : <input type="text" style="ime-mode:active" /> //한글 기본 세팅

    textarea : <textarea style="ime-mode:active" ></textarea> //한글 기본 세팅

     

    [ime-mode 속성]

    1. auto : 한/영전화

    2. active : 한글기본, 한/영전화

    3. inactiva : 영문기본, 한/영전환

    4. disabled : 영문기본, 한/영전화 안됨

     

    And
    prev | 1 | 2 | 3 | 4 | ··· | 8 | next