Tech Planet 2016

 

TOPIC

— Chat bot

— Deep Leaning

— AI

 

 

 

알리바바

  • 사용자 물품 추천
  • 챗봇 
  • 그리디 알고리즘의 헛점
  • 잘 대답할 수 있는 대상에 대한 매칭

 

IBM

  • 인지시스템 (왓슨)
  • 학습 데이터
    • 트레이닝
  • 유스케이스
  • 질문에 대한 2,3개 단어로 대답
  • 원문을 분석후 필요한 문장을 추출, 추론(!)
  • 활용부문
    • 대상에 따른 차등광고
    • 챗봇과 상호작용 시 톤(분위기?)을 읽어서 활용
    • 기계번역
    • 등등..
  • Bluemix cloud.
  • NL Classifier
    • 대화로 클래스 다이어그램? 을 만듬
    • ex ) 패스워드를 어떻게 바꿀수있을까? 패스워드가 기억나지 않는다 ? >> 의도는 패스워드 리셋
  • 대화를 통한 동기를 파악
  • 주변의 단어를 살펴본다 >> 딥 러닝 을 통해서 classifier
  • 단어 분류 , 의미단위 , 파싱 (누가누구에게)
  • 적용 : 금융사 . 보험사(자동차) . 뉴스 분석 , 
  • 분석과 동시에 케이스 추가
  • 9개어 언어 지원 (12월말 한국어 추가예정)

 

 

11:20

Python Eco System. - 김영근 

 

파이썬 소개 ?

1989 Guido van Rossum 크리스마스에 만듬.. (솔로부대의 힘) 1991에 최초버전 릴리즈

멀티 패러다임

  • 객체지향, 함수형
  • 9만개이상의 라이브러리
  • 영상부문(디즈니), 교육 (영국 파이썬미니보드),  제조업 (디링크, 필립스) , 게임(이브,문명,몬스터슈퍼리그(스마트스터디)) 

 

왜?

  • 빠르게빠르게 , 쉽게 , 
  • 마이크로 서비스에 좋다. (API, 운영툴)
  • ORM << 게임에서는 좋지 않다.
  • 파이썬2?? >> 파이썬3 써라.

 

12:50

블록체인 기반 IoT와 커머스의 미래 이진석 / CTO, 블로코

 

적용 부문

  • 사람이 하기 힘든(위험한) 일의 인력 대체 (석유 시추, 연구 등 )

 

IoT

  • 클라우드와 항상 연관 . 
  • 스마트 허브
    • 스마트폰, 피씨 등 스마트기기 =(연결 홈서버)= 공기청정기, 에어컨, 보일러, 세탁기 , 냉장고 등 
  • 문제점
    • 프라이버시 (감시)
    • 기업 혹은 해커의 무차별 정보 수집
    • 데이터 저장의 문제 , 차량의 경우 130TB/Year
    • 클라우드에 대한 지나친 의존
      • 설계의 문제다
    • 분산 시스템 
      • 구축에 제한적이다. 
      • 트렌젝션, 정합성에 대한 문제
  • 블록 체인
  • 분산네트워크 구축에 대한 해답이 될 수도 있다.
  • 각 장치가 노드
  • 서로 발견/신뢰/식별(고유성)
  • 각자가 서버 연할 (ex. TeleHash 서로 인식, 각자 서버 알고리즘)
  • 데이터가 연결 구조로 구성
  •  

 

디지털 커런시

  • Heritage of Blockchain
  • 비트코인
  • 디지터 컴페어
  • 스마트 코인
  • 활용
  • 스마트 카 - 할부금을 안냈을때 시동 제한 등

 

지금까지는 서로 믿지 못하는 주체들이 권위와신뢰를 주장하는 써드 파티에 의존했으나

블록체인이 적용되면 더이상 필요가 없게 된다. (서로간에신뢰)

 

13:40

어떻게 Spark은 대세가 되었나

2009년 시작 > 2010 오픈소스 > 2014 1.0 릴리즈 > 2016.07 2.0 릴리즈 

 

빅 데이터 를 관리하기 위한 프레임 워크

수많은 데이터를 여러대의 컴퓨터를 이용하여 빠르게 분석

 

대부분의 설정이 자동으로 됨

 

인메모리 컴퓨팅 엔진

SQL , 스트리밍, 머신러닝, R 등 확장성이 좋다.

 

기존 - HDD 읽기 > 연산  > HDD 쓰고

개선 - HDD 읽기 > 연산 > 인메모리 > HDD 쓰기

 

중간 고장 ? 시 계보를 이용하여 고장난 부분만 처음부터 다시 한다.

 Spark의핵심 ? RDD 탄력있는 데이터 셋

 

Scala, Python, Java 지원 

기존의 Hadoop MapReduce 에 비해 간단

 

Spark Shell  을 지원하여 데이터 탐색에 편함

 

확장성

Spark Sql, Spark Streaming MLLib Spark R Apache Zeppelin 등 

'근황' 카테고리의 다른 글

삼성 240 qhd 모니터 s32bg650  (0) 2023.01.26
2014 JCO . Java Conference  (0) 2014.02.04
제 13회 한국 자바 개발자 컨퍼런스 (13/02/23)  (0) 2013.02.21
갤넥 젤리빈 GPS 문제  (0) 2012.10.12
신기한글자  (0) 2012.04.03
function changeSelectToInput($id) {
$id.replaceWith($('<input />').attr({
type: 'text',
id: $id.attr('id'),
name: $id.attr('name'),
value: $id.val(),
class: 'readonly',
readonly: 'readonly'
}));
}


$(window).scroll(function () {
var scrollHeight = $(document).height();
var scrollPosition = $(window).height() + $(window).scrollTop();
if ((scrollHeight - scrollPosition) / scrollHeight != 0) {
bottom();
} else {

top();

}



  • 주요 주제

    1. tomcat 9 (2017 예정 java 9과 함께)
    2. Spirng 5.0 (2016.11 예정)
      1. 4.3 은 6월에 나왔음
  • Spring F/W 5

    1. 발표자
      1. 이창제
    2. 주요 업그레이드 항목
      1. JDK 8 +
      2. Servlet 3.1 +
      3. JMS 2.0
      4. JPA 2.1
      5. JUnit 5

    3. 특징
      1. JDK8
        1. 람다, 스트림 >> 언어의 패러다임 이 바뀌고 있다. (적응하자)
        2. JDK 6,7 은 사용 불가할것 (그만쓰자)
      2. Core Container
        1. Bean 디텍션, 생성 강화
          1. 기존 싱글쓰레드의 Bean 검색 > 멀티쓰레드 방식으로 바뀜 (빌드가 빨라질거다)
      3. Java9
        1. JigSaw (직쏘?) 알아볼것
        2. String Compact 개선
        3. GC 개선
    4. 마이크로 서비스화에 대해
      1. 전통적 스케일 방식이 바뀐다.
      2. 멀티쓰레드 > 프로세싱 > 레이턴시 확장
      3. 쓰레드풀 방식의 쓰레드 관리의 한계점
      4. Application Handling
      5. 부하에는 로드밸런싱 방식의 해결이 더 적합하다고 판단
      6. 부하에는 클라우드 서버의 레이턴시를 확장함으로 해결 (컨테이너 방식  ex.도커)
  • Spring Boot 1.4

    1. 발표자 
      1. pivotal 부장
    2. 써야하는 이유
      1. 웹 어플리케이션을 만들기 위해 했던 많은 수작업을 자동으로 수행해 준다.
        1. 수작업 - 웹어플리케이션 어노테이션 설정 (~ProjectWebApplicationConfig.java 등), 서버 관련 설정 등
        2. 자동 - 어노테이션 기반 (찾아보자.)
    3. 1.4 의 달라진점
      1. 테스트가 강화 되었다. '@SpringBootTest 어노테이션. '@SpringRunner | '@WebMVCTest (도메인마다 어노테이션 이름이 달라짐), 
      2. '@EnableCache('캐쉬명') Caffein 프로젝트 기반 캐시 라이브러리 제공, 쉽게 쓸 수 있다.
      3. 이스터에그? - web 리소스 최상단에 banner.jpg or png 를 넣으면 ASCII 코드 방식으로 바꿔서 콘솔에 출력해 준다.
      4. build_info 라는 곳에 빌드 정보를 자동 생성 할 수 있다. 
  • React Program. with Spring

    1. Reactive program
      1. 비슷한 패러다임 - RxJava (Netflix) Akka
      2. 기존에는 다중 처리방식에는 thread 기반으로 처리했다.
      3. 쓰레드풀 방식에는 한계가 있다. 
      4. 비동기 방식으로 해결 하자. (Async)
      5. Pool 방식에서 Data 방식으로 해결을 해보자 라는 관점에서 출발
      6. Publisher < back pressure > Subscriber
        1. 뒷단이 받을 수 있을 만큼만 보낸다.
      7. ex1) Flux . '[0..N] 끊임없는 데이터
        1. account 정보를 Alert 라는 객체로 기대하며 id 를 보냈을때 완료 시 bodyStream 에 보낸다. 라는 정도의 이해.
      8. ex2) Mono. '[0..1] 이거나 아니거나
        1. error 일경우 , 비었을 경우 등의 처리를 callback 방식으로 처리 하는 것 을 볼 수 있다.



    2. 프로그램의 관점이 바뀐다.
      1.  Pull -> Push
        1. 데이터를 당겨 온다는 개념 > 데이터를 밀어준다는 개념 (참조하고있는곳에)
        2. 데이터의 흐름과 변화를 전달하는 하나의 개념
      2. 기존에는 있지 않았나? ex. future 메소드
        1. future.get() >> 이 자체도 비동기 방식이다.
      3. Stream방식의 데이터 처리 방식에 따라 관점이 바뀌게 되었다.
      4. 싱글쓰레드로 잘쓰는게 멀티쓰레드 보다 빠르다.
      5. 퍼포먼스를 중히 여기는 프로그래머는 기계?에 동점심을 가져야 한다.
      6. Non Blocking Event Driven
      7. 콜렉션 단위의 처리에 좋을 듯 하다.
    3. 데이터 흐름의 방식
      1. 기존 - return rep.findOne(id);
      2. 변경1 - Future<User> findOne(id);
      3. 변경2 - ComPletableFuture<Void> save(user).callBack(~).onError(~).onComplete(~); 
    4. 장점
      1. 응답성 / 장애대응 / 확장성 / 메시지 기반
    5. 필요한 인식 
      1. Circuit Breaker 디자인 패턴 
        1. 한 서비스를 호출하는데 시간이 허용 범위 이상으로 많이 걸릴 경우 끊어서 장애 대응
        2. 처리하지 못하는데 쓰레드만 쌓일 경우 처리하는 방식
        3. ex. 코레일 예매시스템. 
    6. 확인 필요
      1. LMAX 방식( 림구조) - 버퍼를 만들어서 바로 사용 
        1. 싱글쓰레드 방식의 처리
      2. log4j2가 LMAX방식으로 사용한다.
    7. 생각해봐야 할점
      1. 프로그램의 끝은 어떻게?
        1. 어떤 방식으로 끝내든 마지막에 신청한 사용자는 받지 못하게 될 것이다. 이 경우 끝은 어떻게 낼까?


    8. Q&A
      1.  왜 node js 를 안쓰나?
        1. 그럴거면 node js 세미나를 가던지... 우리는 문제를 스프링 기반으로 해결하고자 하는 방향의 관점에서 본다. 


  • $('.numbersOnly').keyup(function () {
    this.value = this.value.replace(/[^0-9\.]/g, '');
    });


    input 클래스 선언 후 사용 .


    숫자를 제외한 입력은 삭제된다. 

    'javascript' 카테고리의 다른 글

    select box 를 input 으로 변경  (0) 2016.10.05
    jQuery 화면 끝단, 이벤트  (0) 2016.09.26
    datepicker 한글로 띄우기  (0) 2016.07.15
    jQuery select 생년월일 option tag 만들기  (0) 2016.03.25
    javascript 문자열 체크  (0) 2016.03.22
    $('input[datepicker="on"]').datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: 'yy-mm-dd',
    prevText: '이전 달',
    nextText: '다음 달',
    monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
    monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
    dayNames: ['일', '월', '화', '수', '목', '금', '토'],
    dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
    dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
    showMonthAfterYear: true,
    yearSuffix: '년',
    onSelect: function () {
    },
    beforeShow: function (textbox, inst) {
    setTimeout(function () {
    inst.dpDiv.css({
    top: 50,
    marginLeft: textbox.offsetWidth + 'px'
    });
    }, 0);
    }
    });


    'javascript' 카테고리의 다른 글

    jQuery 화면 끝단, 이벤트  (0) 2016.09.26
    입력 폼 숫자만 받기  (0) 2016.09.05
    jQuery select 생년월일 option tag 만들기  (0) 2016.03.25
    javascript 문자열 체크  (0) 2016.03.22
    jquery 엔터키 이벤트로 받아 처리  (0) 2016.02.04

    #!/bin/sh


    table_list=“{tables}”

    for table in $table_list ; do

     mysqldump --single-transaction -u{remote} -p{pwd} -h{ip} $table > ${table}.sql

     {mysqlpath/}mysql -u{local} -p{pwd} -h{localhost} {table} < ${table}.sql

    done

    'linux' 카테고리의 다른 글

    grep 여러 키워드 찾기  (0) 2019.05.09
    vi 공백제거 :g/^$/d  (0) 2017.08.09
    bad superblock on /dev/sdb1  (0) 2014.11.19
    top 5초마다 프로세스 사용량 파악  (0) 2014.02.11
    원격지에 열려있는 포트 확인  (0) 2014.01.23

    for (var i = $.datepicker.formatDate('yy', new Date()); $.datepicker.formatDate('yy', new Date())-LIMIT < i; i--) {

    $('#select').append($('<option>', {text: i, value: i}));
    }


    'javascript' 카테고리의 다른 글

    입력 폼 숫자만 받기  (0) 2016.09.05
    datepicker 한글로 띄우기  (0) 2016.07.15
    javascript 문자열 체크  (0) 2016.03.22
    jquery 엔터키 이벤트로 받아 처리  (0) 2016.02.04
    javascript 쿠키에 저장, 불러오기  (0) 2015.12.29

    if ($.trim(msg)) {
    alert('message exist');
    return;
    }


    객체지향적 사고와 설계를 해야하는 이유는 사용자(관리자)의 서술적인 니즈를 비즈니스에 맞는 모델링을 하기위한 최적의 방법이기 때문이다.


    1. 객체지향 사물의 분류
      1. 사물(Things)은 곧 객체이다.
      2. 사물에는 형태를 가진 것과 개념만 존재하는 것으로 분류할 수 있다.
      3. 소프트웨어 분석 설계 구현을 한다는 것은 실세계의 사물을 가상세계의 사물로 전환 하는 것이다.
      4. 객체 모델링, 데이터 모델링도 다 사물들을 관리하는 기준에 맞춰 분류하는 것이다.
      5. 타입, 클래스는 객체 즉 사물을 분류했을 때 정의하는 것에 지나지 않는다.
    2. 사물을 어떻게 분류할 것인가?
      1. 책을 예시로 보면 책은 객체이다. 책에 대한 정보만 관리하는 것은 개념 객체이고 책의 실물을 관리하는 사물을 관리하는 객체가 구별되어 관리되어야 한다. 
      2. 책이라는 객체가 책 정보에 대한 분류 기준으로 도서문헌상의 분류 규칙을 따르므로 다양한 분류체계를 관리하는 객체도 발생할 수 있다.
      3. 사물은 단순이 존재한다고 하나의 객체만은 아니다.
      4. 보는 관점, 각 비즈니스 도메인별로 차이가 발생하므로 사물의 분류 기준을 비즈니스 에 맞춰 모델링이 되어야 한다.

    출처(http://www.slideshare.net/dahlmoon/20160131)

    + Recent posts