'ITWeb/개발일반'에 해당되는 글 339건

  1. 2017.08.02 [Tensorflow] tensorflow source build & install on osx 10.12
  2. 2017.07.20 [한글유니코드] 한글자모와 호환용 한글자모 코드
  3. 2017.07.11 [Spring] Spring @Autowired Annotation
  4. 2017.06.14 [ASCII] HTML URL Encoding Reference
  5. 2017.04.18 [Java] Array Value 존재 유무 확인하기
  6. 2017.02.14 [OCR] 이미지에서 텍스트 추출 하기
  7. 2017.02.10 [OSX El Capitan] ulimit 수정
  8. 2017.02.10 [SimpleCaptcha] 초간단 hello world captcha!! 만들어 보기
  9. 2017.02.07 [DL/ML] 딥러닝/머신러닝 관련링크
  10. 2017.02.07 [HttpClient] Timeout 설정 예시

[Tensorflow] tensorflow source build & install on osx 10.12

ITWeb/개발일반 2017.08.02 09:54

설치 하면서 참고 문서니 순서를 정리 하지 않아서 그냥 raw data 만 일단 투척해 봅니다.

그냥 brew install 해서 설치를 해도 되지만 아래와 같은 오류가 발생을 해서 소스 빌드 했습니다.


[오류]

$ python helloworld.py

2017-08-01 17:04:11.721245: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.

2017-08-01 17:04:11.721266: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.

2017-08-01 17:04:11.721270: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.

2017-08-01 17:04:11.721274: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

Hello, TensorFlow!

(tensorflow) imac-2:src henry$ deactivate


[참고문서들]


tensorflow)


bazel)


nvidia)

- cudnn 다운로드를 받기 위해서는 로그인을 하셔야 합니다.


기본 설치 가이드)


$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

$ sudo pip install /tmp/tensorflow_pkg/tensorflow-1.2.1-py2-none-any.whl


# 아래는 six-1.4.1 패키지로 인해서 설치 오류가 발생을 합니다. 이를 회피 하기 위한 옵션 추가 입니다.

$ sudo pip install --ignore-installed six


#!/usr/bin/python

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

print(sess.run(hello))


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[한글유니코드] 한글자모와 호환용 한글자모 코드

ITWeb/개발일반 2017.07.20 18:01

한글 유니코드를 이용해서 한글 자모 분리에 사용하게 됩니다.

일반 한글자모 코드와 호환용 한글자모 코드가 있는데요.


제가 기존에 구현했던건 호환용 코드였습니다.

그러다 보니 자모만 구성된 처리에 있어서 약간의 문제가 있었습니다.

이번에 한글자모 코드로 변경 하면서 혹시라도 필요 하신 분들이 계시거나 제가 기억 못할까봐 기록해 봅니다.


참고문서)

https://namu.wiki/w/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C

https://namu.wiki/w/%ED%95%9C%EA%B8%80%20%EC%9E%90%EB%AA%A8



한글자모 기반 유니코드)


  // {'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'}

  private final char[] CHOSUNG =

    {0x1100, 0x1101, 0x1102, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107, 0x1108, 0x1109, 0x110A, 0x110B, 0x110C, 0x110D, 0x110E, 0x110F, 0x1110, 0x1111, 0x1112};


  // {'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ'}

  private final char[] JUNGSUNG =

    {0x1161, 0x1162, 0x1163, 0x1164, 0x1165, 0x1166, 0x1167, 0x1168, 0x1169, 0x116A, 0x116B, 0x116C, 0x116D, 0x116E, 0x116F, 0x1170, 0x1171, 0x1172, 0x1173, 0x1174, 0x1175};


  // {' ', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'}

  private final char[] JONGSUNG =

    {0x0000, 0x11A8, 0x11A9, 0x11AA, 0x11AB, 0x11AC, 0x11AD, 0x11AE, 0x11AF, 0x11B0, 0x11B1, 0x11B2, 0x11B3, 0x11B4, 0x11B5, 0x11B6, 0x11B7, 0x11B8, 0x11B9, 0x11BA, 0x11BB, 0x11BC, 0x11BD, 0x11BE, 0x11BF, 0x11C0, 0x11C1, 0x11C2};



호환용 한글자모 기반 유니코드)


  // {'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'}

  private final char[] CHOSUNG =

    {0x3131, 0x3132, 0x3134, 0x3137, 0x3138, 0x3139, 0x3141, 0x3142, 0x3143, 0x3145, 0x3146, 0x3147, 0x3148, 0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e};


  // {'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ'}

  private final char[] JUNGSUNG =

    {0x314f, 0x3150, 0x3151, 0x3152, 0x3153, 0x3154, 0x3155, 0x3156, 0x3157, 0x3158, 0x3159, 0x315a, 0x315b, 0x315c, 0x315d, 0x315e, 0x315f, 0x3160, 0x3161, 0x3162, 0x3163};


  // {' ', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'}

  private final char[] JONGSUNG =

    {0x0000, 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f, 0x3140, 0x3141, 0x3142, 0x3144, 0x3145, 0x3146, 0x3147, 0x3148, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e};


※ Java 로 코드 변환 시 낱자로 사용하게 되면 한글자모 기반 유니코드가 아닌 호환용 한글자모 기반 유니코드를 사용하게 됩니다.

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[Spring] Spring @Autowired Annotation

ITWeb/개발일반 2017.07.11 10:56

참고문서)

https://www.tutorialspoint.com/spring/spring_autowired_annotation.htm


@Autowired 를 사용하는 방법에 대해서 기술 되어 있습니다.


1. @Autowired on Setter Methods

2. @Autowired on Properties

3. @Autowired on Constructors


3가지 방법 모두 같은 내용이기 때문에 사용하기 제일 편하신 걸로 사용하시면 되겠습니다.

저는 습관적으로 그냥 2번으로 사용하는 것 같습니다.


누구라도 이해하기 쉬운 예를 들자면.


public class HelloWorldModel {

...

}


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

// HelloWorldModel 이라는 클래스가 있다고 가정하고.


public class HelloWorldApp {

  private HelloWorldModel helloWorldModel;


  public HelloWorldApp() {

    this.helloWorldModel = new HelloWorldModel();

  }

...

}


// 위와 같이 선언한 부분이 아래와 같이 변경이 됩니다.


public class HelloWorldApp {

  @Autowired

  private HelloWorldModel helloWorldModel;

...

}


그냥 아는 것과 설명을 해줘야 할 때는 눈 높이를 맞춰야 하기 때문에 참 어렵내요.

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[ASCII] HTML URL Encoding Reference

ITWeb/개발일반 2017.06.14 17:47

가끔 찾을 때가 있는데 기억을 못해 스크랩 해봤습니다.


원문)


https://www.w3schools.com/tags/ref_urlencode.asp



ASCII Encoding Reference

Your browser will encode input, according to the character-set used in your page.

The default character-set in HTML5 is UTF-8.


Character

From Windows-1252

From UTF-8

space

%20

%20

!

%21

%21

"

%22

%22

#

%23

%23

$

%24

%24

%

%25

%25

&

%26

%26

'

%27

%27

(

%28

%28

)

%29

%29

*

%2A

%2A

+

%2B

%2B

,

%2C

%2C

-

%2D

%2D

.

%2E

%2E

/

%2F

%2F

0

%30

%30

1

%31

%31

2

%32

%32

3

%33

%33

4

%34

%34

5

%35

%35

6

%36

%36

7

%37

%37

8

%38

%38

9

%39

%39

:

%3A

%3A

;

%3B

%3B

< 

%3C

%3C

=

%3D

%3D

> 

%3E

%3E

?

%3F

%3F

@

%40

%40

A

%41

%41

B

%42

%42

C

%43

%43

D

%44

%44

E

%45

%45

F

%46

%46

G

%47

%47

H

%48

%48

I

%49

%49

J

%4A

%4A

K

%4B

%4B

L

%4C

%4C

M

%4D

%4D

N

%4E

%4E

O

%4F

%4F

P

%50

%50

Q

%51

%51

R

%52

%52

S

%53

%53

T

%54

%54

U

%55

%55

V

%56

%56

W

%57

%57

X

%58

%58

Y

%59

%59

Z

%5A

%5A

[

%5B

%5B

\

%5C

%5C

]

%5D

%5D

^

%5E

%5E

_

%5F

%5F

`

%60

%60

a

%61

%61

b

%62

%62

c

%63

%63

d

%64

%64

e

%65

%65

f

%66

%66

g

%67

%67

h

%68

%68

i

%69

%69

j

%6A

%6A

k

%6B

%6B

l

%6C

%6C

m

%6D

%6D

n

%6E

%6E

o

%6F

%6F

p

%70

%70

q

%71

%71

r

%72

%72

s

%73

%73

t

%74

%74

u

%75

%75

v

%76

%76

w

%77

%77

x

%78

%78

y

%79

%79

z

%7A

%7A

{

%7B

%7B

|

%7C

%7C

}

%7D

%7D

~

%7E

%7E

 

%7F

%7F

`

%80

%E2%82%AC



%81

%81

%82

%E2%80%9A

ƒ

%83

%C6%92

%84

%E2%80%9E

%85

%E2%80%A6

%86

%E2%80%A0

%87

%E2%80%A1

ˆ

%88

%CB%86

%89

%E2%80%B0

Š

%8A

%C5%A0

%8B

%E2%80%B9

Œ

%8C

%C5%92



%8D

%C5%8D

Ž

%8E

%C5%BD



%8F

%8F



%90

%C2%90

%91

%E2%80%98

%92

%E2%80%99

%93

%E2%80%9C

%94

%E2%80%9D

%95

%E2%80%A2

%96

%E2%80%93

%97

%E2%80%94

˜

%98

%CB%9C

%99

%E2%84

š

%9A

%C5%A1

%9B

%E2%80

œ

%9C

%C5%93



%9D

%9D

ž

%9E

%C5%BE

Ÿ

%9F

%C5%B8

 

%A0

%C2%A0

¡

%A1

%C2%A1

¢

%A2

%C2%A2

£

%A3

%C2%A3

¤

%A4

%C2%A4

¥

%A5

%C2%A5

¦

%A6

%C2%A6

§

%A7

%C2%A7

¨

%A8

%C2%A8

©

%A9

%C2%A9

ª

%AA

%C2%AA

«

%AB

%C2%AB

¬

%AC

%C2%AC

%AD

%C2%AD

®

%AE

%C2%AE

¯

%AF

%C2%AF

°

%B0

%C2%B0

±

%B1

%C2%B1

²

%B2

%C2%B2

³

%B3

%C2%B3

´

%B4

%C2%B4

µ

%B5

%C2%B5

%B6

%C2%B6

·

%B7

%C2%B7

¸

%B8

%C2%B8

¹

%B9

%C2%B9

º

%BA

%C2%BA

»

%BB

%C2%BB

¼

%BC

%C2%BC

½

%BD

%C2%BD

¾

%BE

%C2%BE

¿

%BF

%C2%BF

À

%C0

%C3%80

Á

%C1

%C3%81

Â

%C2

%C3%82

Ã

%C3

%C3%83

Ä

%C4

%C3%84

Å

%C5

%C3%85

Æ

%C6

%C3%86

Ç

%C7

%C3%87

È

%C8

%C3%88

É

%C9

%C3%89

Ê

%CA

%C3%8A

Ë

%CB

%C3%8B

Ì

%CC

%C3%8C

Í

%CD

%C3%8D

Î

%CE

%C3%8E

Ï

%CF

%C3%8F

Ð

%D0

%C3%90

Ñ

%D1

%C3%91

Ò

%D2

%C3%92

Ó

%D3

%C3%93

Ô

%D4

%C3%94

Õ

%D5

%C3%95

Ö

%D6

%C3%96

×

%D7

%C3%97

Ø

%D8

%C3%98

Ù

%D9

%C3%99

Ú

%DA

%C3%9A

Û

%DB

%C3%9B

Ü

%DC

%C3%9C

Ý

%DD

%C3%9D

Þ

%DE

%C3%9E

ß

%DF

%C3%9F

à

%E0

%C3%A0

á

%E1

%C3%A1

â

%E2

%C3%A2

ã

%E3

%C3%A3

ä

%E4

%C3%A4

å

%E5

%C3%A5

æ

%E6

%C3%A6

ç

%E7

%C3%A7

è

%E8

%C3%A8

é

%E9

%C3%A9

ê

%EA

%C3%AA

ë

%EB

%C3%AB

ì

%EC

%C3%AC

í

%ED

%C3%AD

î

%EE

%C3%AE

ï

%EF

%C3%AF

ð

%F0

%C3%B0

ñ

%F1

%C3%B1

ò

%F2

%C3%B2

ó

%F3

%C3%B3

ô

%F4

%C3%B4

õ

%F5

%C3%B5

ö

%F6

%C3%B6

÷

%F7

%C3%B7

ø

%F8

%C3%B8

ù

%F9

%C3%B9

ú

%FA

%C3%BA

û

%FB

%C3%BB

ü

%FC

%C3%BC

ý

%FD

%C3%BD

þ

%FE

%C3%BE

ÿ

%FF

%C3%BF


URL Encoding Reference

The ASCII control characters %00-%1F were originally designed to control hardware devices.

Control characters have nothing to do inside a URL.

ASCII Character

Description

URL-encoding

NUL

null character

%00

SOH

start of header

%01

STX

start of text

%02

ETX

end of text

%03

EOT

end of transmission

%04

ENQ

enquiry

%05

ACK

acknowledge

%06

BEL

bell (ring)

%07

BS

backspace

%08

HT

horizontal tab

%09

LF

line feed

%0A

VT

vertical tab

%0B

FF

form feed

%0C

CR

carriage return

%0D

SO

shift out

%0E

SI

shift in

%0F

DLE

data link escape

%10

DC1

device control 1

%11

DC2

device control 2

%12

DC3

device control 3

%13

DC4

device control 4

%14

NAK

negative acknowledge

%15

SYN

synchronize

%16

ETB

end transmission block

%17

CAN

cancel

%18

EM

end of medium

%19

SUB

substitute

%1A

ESC

escape

%1B

FS

file separator

%1C

GS

group separator

%1D

RS

record separator

%1E

US

unit separator

%1F



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
tags : ASCII, Encode, URL
Trackback 0 : Comment 0

[Java] Array Value 존재 유무 확인하기

ITWeb/개발일반 2017.04.18 10:38

생각 나지 않을때가 많아서 퍼왔습니다.


Originanl Source)

http://www.programcreek.com/2014/04/check-if-array-contains-a-value-java/


public static boolean useList(String[] arr, String targetValue) {

  return Arrays.asList(arr).contains(targetValue);

}


public static boolean useSet(String[] arr, String targetValue) {

  Set<String> set = new HashSet<String>(Arrays.asList(arr));

  return set.contains(targetValue);

}


public static boolean useLoop(String[] arr, String targetValue) {

  for(String s: arr){

    if(s.equals(targetValue))

      return true;

  }

  return false;

}


public static boolean useArraysBinarySearch(String[] arr, String targetValue) { 

  int a =  Arrays.binarySearch(arr, targetValue);

  if(a > 0)

    return true;

  else

    return false;

}


binary search 가 제일 성능이 좋습니다.

단, 위 코드에서 빠진게 있다면 Arrays.sort(arr) 를 먼저 하고 하셔야 된다는 것입니다.


Arrays.sort(arr);

int a = Arrays.binarySearch(arr, targetValue);

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[OCR] 이미지에서 텍스트 추출 하기

ITWeb/개발일반 2017.02.14 11:22

OCR(Optical Character Recognition) 이라고 해서 이미지 같은 것에서 문자를 인식해서 추출하는 기술 입니다.

제가 하는 업무에 필요해서 "Hello World" 수준의 방법을 기술해 보려 합니다.

왜냐하면 나중에 또 잊어버릴수 있으니까요 ^^;


제가 사용한 내용은 아래와 같습니다.


[참고문서]

http://tess4j.sourceforge.net/

https://github.com/tesseract-ocr/tesseract/wiki


tess4j 는 tesseract-ocr 을 java 모듈에서 사용할 수 있도록 제공해주는 라이브러리 입니다.


우선 가볍게 mac 에서 맛보기를 해보시면 좋습니다.


[Mac OSX 설치 및 CLI 테스트]

$ brew install tesseract


설치 된 경로는 아래와 같습니다.

/usr/local/Cellar/tesseract/3.04.01_2


경로를 알아야 하는 이유는 나중에 traineddata 파일을 올려 두어야 하기 때문에 알아 두시면 좋습니다.

한글 테스트를 위해서는 아래 링크에서 data file 을 다운로드 받으시고 tessdata 로 올려 두시면 됩니다.


[Data Files]

https://github.com/tesseract-ocr/tesseract/wiki/Data-Files


Usage:

  tesseract --help | --help-psm | --version

  tesseract --list-langs [--tessdata-dir PATH]

  tesseract --print-parameters [options...] [configfile...]

  tesseract imagename|stdin outputbase|stdout [options...] [configfile...]


$ tesseract eurotext.png translate -l eng

eurotext.png


The (quick) [brown] {fox} jumps!

Over the $43,456.78 <lazy> #90 dog

& duck/goose, as 12.5% of E-mail

from aspammer@website.com is spam.

Der ,,schnelle” braune Fuchs springt

fiber den faulen Hund. Le renard brun

«rapide» saute par-dessus le chien

paresseux. La volpe marrone rapida

salta sopra i] cane pigro. El zorro

marrén répido salta sobre el perro

perezoso. A raposa marrom répida

salta sobre 0 C50 preguieoso.

translate.txt

 

위 명령어로 돌려 보시면 이렇게 추출이 됩니다.


추가로 ubuntu 에 설치 하는 것도 살펴 보도록 하겠습니다.

저는 아래 문서 보고 설치를 했습니다.


[설치 문서 on ubuntu]

https://github.com/tesseract-ocr/tesseract/wiki/Compiling


설치 시 주의 점은 leptonica 설치를 하셔야 한다는 것입니다.

문서에 "You also need to install Leptonica." 이렇게 있는데도 불구하고 제가 문서를 제대로 안읽고 진행하다 삽질을 ㅡ.ㅡ;


실행 명령어를 그대로 옮겨 놓도록 하겠습니다.


$ sudo apt-get install autoconf automake libtool

$ sudo apt-get install autoconf-archive

$ sudo apt-get install pkg-config

$ sudo apt-get install libpng12-dev

$ sudo apt-get install libjpeg8-dev

$ sudo apt-get install libtiff5-dev

$ sudo apt-get install zlib1g-dev

$ sudo apt-get install libicu-dev

$ sudo apt-get install libpango1.0-dev

$ sudo apt-get install libcairo2-dev


# leptonica 를 다운로드 받으시고 압축을 풉니다.


[설치 문서]

http://tpgit.github.io/UnOfficialLeptDocs/leptonica/README.html#building-on-linux-unix-macos


$ wget http://www.leptonica.org/source/leptonica-1.74.1.tar.gz

$ tar xvf leptonica-1.74.tar.gz

$ cd leptonica-1.74

$ ./configure

$ make

$ sudo make install


$ sudo apt-get install libleptonica-dev


$ git clone --depth 1 https://github.com/tesseract-ocr/tesseract.git

$ cd tesseract

$ ./autogen.sh

$ ./configure --enable-debug

$ LDFLAGS="-L/usr/local/lib" CFLAGS="-I/usr/local/include" make

$ sudo make install

$ sudo ldconfig


$ tesseract -v

tesseract 2f10be5

 leptonica-1.74.1

  libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 : libtiff 4.0.6 : zlib 1.2.8


 Found AVX

 Found SSE


[tess4j 를 이용한 Java 테스트]

HelloTess4j.java

public class HelloTess4j {

public static void main(String[] args) {
String datapath = "src/main/resources";
String testResourcesDataPath = "src/main/resources/test-data";
File imageFile;
ITesseract instance;

instance = new Tesseract();
instance.setDatapath(new File(datapath).getPath());
instance.setLanguage("eng");

try {
ImageIO.scanForPlugins();
imageFile = new File(testResourcesDataPath, "eurotext.png");
String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
System.out.println(e.getMessage());
}
}
}

코드는 tess4j 소스코드 받아 보시면 잘 나와 있습니다.

setLanguage 설정에 오류가 있어서 멀티 lang 설정이 안되는데요. (버그로 등록이 되어 있습니다. - 2017.02.14일 기준)

이 오류가 수정 되면  eng+kor 테스트도 해보시면 좋을 것 같습니다.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
tags : OCR, tess4j, tesseract
Trackback 0 : Comment 0

[OSX El Capitan] ulimit 수정

ITWeb/개발일반 2017.02.10 18:53

아래와 같이 수정 하시면 됩니다.

파일이 없으면 만드시면 됩니다.


$ sudo vi /Library/LaunchDaemons/limit.maxfiles.plist

<?xml version="1.0" encoding="UTF-8"?>  

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"  

        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">  

  <dict>

    <key>Label</key>

    <string>limit.maxfiles</string>

    <key>ProgramArguments</key>

    <array>

      <string>launchctl</string>

      <string>limit</string>

      <string>maxfiles</string>

      <string>524288</string>

      <string>524288</string>

    </array>

    <key>RunAtLoad</key>

    <true/>

    <key>ServiceIPC</key>

    <false/>

  </dict>

</plist>  


$ sudo vi /Library/LaunchDaemons/limit.maxproc.plist

<?xml version="1.0" encoding="UTF-8"?>  

<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  

  <plist version="1.0">

    <dict>

      <key>Label</key>

        <string>limit.maxproc</string>

      <key>ProgramArguments</key>

        <array>

          <string>launchctl</string>

          <string>limit</string>

          <string>maxproc</string>

          <string>2048</string>

          <string>2048</string>

        </array>

      <key>RunAtLoad</key>

        <true />

      <key>ServiceIPC</key>

        <false />

    </dict>

  </plist>


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
tags : capitan, OSX, ulimit
Trackback 0 : Comment 0

[SimpleCaptcha] 초간단 hello world captcha!! 만들어 보기

ITWeb/개발일반 2017.02.10 12:33

일전에 올려던 captcha 관련 링크 참고해서 입맛에 맞는 걸 사용하시면 됩니다.


[관련링크]

http://jjeong.tistory.com/1230


저는 simple captcha 를 이용해서 테스트만 해봤습니다.

아래 테스트 코드 공유 합니다.


[SimpleCaptcha]

http://simplecaptcha.sourceforge.net/


[Maven]

https://mvnrepository.com/artifact/nl.captcha/simplecaptcha/1.2.1


혹시 다운로드가 안되시면 그냥 system path 로 잡아서 올려 주시면 됩니다.


[HelloSimpleCaptch]

public class HelloSimpleCaptcha {
private static final Logger LOG = LoggerFactory.getLogger(HelloSimpleCaptcha.class);

public static void main(String[] args) throws IOException {
File file = new File("/Downloads/hello-simple-capcha.png");
Image image;
Captcha captcha = new Captcha.Builder(200, 50)
.addText()
.build();

ImageIO.write(captcha.getImage(), "png", file);
}
}

너무 쉬워서 뭐라 적을 내용이 없내요. ㅡ.ㅡ;

더 자세한 내용들은 simple captcha 홈페이지를 참고 하시면 됩니다. (또는 구글링 ~)


[Custom]

http://simplecaptcha.sourceforge.net/custom_images.html

http://simplecaptcha.sourceforge.net/custom_audio.html


보셔서 아시겠지만 캡차 이미지 파일로 사용하셔도 되고, 스트림으로 사용하셔도 되고 입맛에 맞게 변환 해서 쓰시면 되겠습니다.

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
tags : CAPTCHA, simple
Trackback 0 : Comment 0

[DL/ML] 딥러닝/머신러닝 관련링크

ITWeb/개발일반 2017.02.07 14:07

모두의 딥러닝/머신러닝 링크 투척.

- https://hunkim.github.io/ml/



텐서플루우 

- https://tensorflow.blog/

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[HttpClient] Timeout 설정 예시

ITWeb/개발일반 2017.02.07 13:41

HttpClient를 사용하면서 간혹 read timeout 이나 connection timeout 등이 발생 할 때가 있습니다.

그럴때 값을 조정해서 사용하시면 됩니다.


- 문서링크

setConnectionRequestTimeout

public RequestConfig.Builder setConnectionRequestTimeout(int connectionRequestTimeout)


setConnectTimeout

public RequestConfig.Builder setConnectTimeout(int connectTimeout)


setSocketTimeout

public RequestConfig.Builder setSocketTimeout(int socketTimeout)



아래 예시는 10초로 설정한 내용입니다.

HttpPost request = new HttpPost(url);


RequestConfig requestConfig = RequestConfig.custom()

  .setSocketTimeout(10*1000)

  .setConnectTimeout(10*1000)

  .setConnectionRequestTimeout(10*1000)

  .build();


request.setConfig(requestConfig);


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

티스토리 툴바