eclipes4j's 개발은 언제나 즐겁다.

사진보고 얼굴 그려보기

스케치배우기

4B 연필로 신경써가면서 그림을 그리는 것도 좋지만 그냥 쓱싹해서 얼굴 그리는 것도 좋아하다보니, 문화센터 강사님의 방향과는 다르게 그냥 나혼자 끄적이는 스케치도 많아지고 있다.( 이제 3개월이 지났는데 반항인가..? ㅎㅎ) 



누구 사진을 보고 그렸는가는 절대 밝힐 수 없다. 난 일주일에 한번가는 문화센터 왕초보 수강생일 뿐이라고~





취미생활 가져보기!

스케치배우기

약 3개월 전부터 회사 근처의 백화점 문화센터에 연필드로잉 과정을 다니기 시작했다.


뭐, 그전부터 그림에 대한 관심 정도는 있었지만 직접 배우는 건 아마 국딩시절 미술학원 이후 처음 일 거 같다.



아..첨 시간에 눈 그리기는 차마 못 올리겠.. 여튼 몇 주가 지나서 머리카락 그리기 결과는 이렇다.




음 뭔가 비슷하기도 하고 다르기도 하지만..ㅎㅎ


이렇게 실물 데셍(?) 드로잉을 배우면서 집에서  조금씩 짬을내서 카툰도 그려보기 시작.


책보고 따라 그리는데 나름 재밌다는.










Local Docker Elasticsearch 운영 - Spring + High Level Client

Programming!

이전에 설치했던 elasticsearch 가 잘 운영되고 있다면..


http://127.0.0.1:9200/_cat/health

1545724265 07:51:05 docker-cluster green 2 2 10 5 0 0 0 0 - 100.0%



스프링부트로 새로운 프로젝트를 생상한다.

IDEA 도움을 받아 프로젝트 설치 후, build.gradle 파일을 열어보자

buildscript {

ext {

springBootVersion = '2.1.1.RELEASE'

}

repositories {

mavenCentral()

}

dependencies {

classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")

}

}


apply plugin: 'java'

apply plugin: 'eclipse'

apply plugin: 'org.springframework.boot'

apply plugin: 'io.spring.dependency-management'


group = 'com.example'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = 1.8


repositories {

mavenCentral()

}



dependencies {

    //implementation('org.springframework.boot:spring-boot-starter-data-elasticsearch')

    compile('org.elasticsearch.client:elasticsearch-rest-client:6.5.4')

    compile('org.elasticsearch.client:elasticsearch-rest-high-level-client:6.5.4')

    compile('com.google.guava:guava:27.0.1-jre')

    

    

    compile('org.springframework.boot:spring-boot-starter-web')

    compile('org.springframework.boot:spring-boot-configuration-processor')

    compile('org.projectlombok:lombok')

    testImplementation('org.springframework.boot:spring-boot-starter-test')

}


기본적으로 elasticsearch를 지정하면 spring-data 버전이 따라오는데, elasticsearch를 저장소 개념으로 사용한다면 data를 사용해도 되지만 단순히 검색을 사용하는 것이라 개인적인 선호도를 반영해 high level client를 사용하게 되었다.


elasticsearch hlc를 사용하기 위한 설정 코드를 작성한다.

@Configuration

public class ElasticSearchConfiguration {

private static final String HTTP_SCHEME = "http";


@Value("#{'${elasticsearch.hosts}'.split(',')}")

private List<String> esHosts;

@Value("${elasticsearch.port:9200}")

private int port;


@Bean(name = "esObjectMapper")

public ObjectMapper esObjectMapper() {

return new ObjectMapper();

}


@Bean(name = "esRestClientBuilder")

public RestClientBuilder esRestClientBuilder() {

HttpHost[] hosts = esHosts.stream().map(this::makeHttpHost).filter(Objects::nonNull).toArray(HttpHost[]::new);

return RestClient.builder(hosts);

}


@Bean(name = "esHighLevelClient", destroyMethod = "close")

public RestHighLevelClient highLevelClient(@Autowired @Qualifier("esRestClientBuilder") RestClientBuilder esRestClientBuilder) {

esRestClientBuilder.setMaxRetryTimeoutMillis(3000);

return new RestHighLevelClient(esRestClientBuilder);

}


private HttpHost makeHttpHost(String ip) {

return new HttpHost(ip, port, HTTP_SCHEME);

}

}


작성중...