DevEnjoy

One Step Closer

Author: YongPwi

2017년 회고

2018년 1월 2일 by YongPwi Leave a Comment

2017년에 모했나 생각해보면 별거 없었던거 같다.

상반기에는 힘든 프로젝트로 진심 몸을 갈아서 개발하는,,,

프로젝트를 진행했는데,,,

힘든만큼 얻는 의미있는 프로젝트였으면 좋았겠지만,,,

범위의 문제라 안타까웠다.

그래도 어째저째 마무리하고 생전 처음 미쿡도 가보고

Google I/O도 참석하고 힘든 프로젝트 이후

개인적으로 힐링을 위해 일주간 미국 여행을 다녀왔다.

두렵기도 하고 설레기도 했지만,,,

밋밋한 내 이생에 꽤나 의미있었던 이벤트였다.

하반기는 몇년동안 혼자 고민하던 결혼에 대해서 구체적으로 진행했다.

너무 늦어서 짝꿍한테는 참으로 미안 했지만 내가 끝까지 밀어 붙여서 나름 짧은 시간동안 우리가 원하던 모습에 가장 가까운 모습의 결혼을 위해 힘썼다.

결혼으로 인해 삶의 변화와 개인 공부를 전혀하지 못한 부분도 있지만 그래도 인생의 큰 Todo이기에 만족한다.

조급함만 가득한 일상에 새롭게 마음다잡고 한걸음씩 내딛어 보자

너무 상류에 있는 수질을 기대하고 살았던건 아닌가 싶기도 하고 아직 시간이 더 남았다고 혼자 모른척 하고 싶기도 하다.

기존과는 많은 변화가 있을 2018년이지만 혼자가 아니기에 더 책임감 있는 모습으로 한발씩 전진해보자.

작년엔 책 한권 보지 못했는데 올해는 더 노력하자.

독서, 운동, 개발

화이팅 2018!

Posted in: Talk Tagged: 회고

Spring boot view template(handlebars), static resource 갱신(without server shutdown)

2017년 7월 20일 by YongPwi Leave a Comment

이전까지 spring boot를 사용시에 webapp 폴더를 임의적으로 생성하여 그 하위에 view tempate, static resource를 설정하였다.

하지만 spring boot에서 가이드하는 방식은 resources 하위에 view template과 static resource를 설정하도록 권하고 있다.

그러므로 이전의 war 방식이 아닌 jar를 가이드하고 있기 때문이기도 한듯 싶다.

최근 jar 배포용 application을 만들다 보니 기존 설정 방식을 그대로 사용해서는

문제가 좀 발생하여 수 많은 삽질을 했다.

관련 내용을 차근차근 정리해 볼까 한다.

일단 jar 설정에서는 WEB-INF 하위에 view template이 존재 하지 않아서 매번 서버를 내렸다 올려야 화면 변경 내용이 확인 가능했다.

정말 미친듯이 귀찮다.

상위 방식은 기존 WEB-INF 하위에 view template 파일들이 있었지만

1
2
3
4
5
6
7
8
9
10
11
@Bean
    public HandlebarsViewResolver viewResolver() throws Exception {
        HandlebarsViewResolver viewResolver = new HandlebarsViewResolver();
        viewResolver.setOrder(1);
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".hbs");
        viewResolver.setCache(false);
        viewResolver.registerHelpers(new HandlebarsHelper());
        viewResolver.registerHelpers(StringHelpers.class);
        return viewResolver;
    }

상위 처럼 handlebars의 경우 WebMvcConfigurerAdapter 상속받아서 상위 처럼

1
viewResolver.setCache(false);

설정하면 서버재시작 없이 브라우저 갱신하게 되면 변경 내용을 확인할 수 있었다.

하지만 jar 방식에서는 상위 방식 외에 다른 설정 방법이 필요하다.

– spring boot devtools 의존성 추가

관련 내용을 찾다보니 spring boot devtools 설정으로 해결 가능했다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
dependencies {
        compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-jdbc')
    compile('org.springframework.boot:spring-boot-starter-security')
    compile("org.springframework.boot:spring-boot-starter-web")
    compile('com.github.jknack:handlebars-springmvc:4.0.6')
    compile('org.postgresql:postgresql:9.4-1201-jdbc41')
    compile('org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16')
    compile('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    compile('org.codehaus.jackson:jackson-core-asl:1.9.13')
    compile('com.google.guava:guava:18.0')
    compile('org.modelmapper:modelmapper:0.7.5')

        // spring boot devtools dependency 추가
        compile("org.springframework.boot:spring-boot-devtools")
}

– spring boot 설정 변경( application.properties, application.yml )

운영 서버를 제외한 로컬 환경에만 적용하기 위하여 하위 처럼 설정한다.

1
2
3
4
5
6
7
8
9
// application.yml
spring :
     profiles: local
     devtools:
        livereload:
            enabled: true

// application.properties
spring.devtools.livereload.enabled=true

– IDE(intellij) 옵션 수정

intellij > Help > find action > registry 검색

compiler.automake.allow.when.app.running 체크

intellij > PreFerences > Build, Execution, Deployment > Compiler > Build proejct automatically 체크

상위까지 설정하고 서버 시작하면 그 이후에는 서버 재시작 없이 브라우저 새로고침만으로 view template 변경 적용되는 것을 확인 가능하다.

Posted in: Java, Programing, Talk Tagged: Handebars, JAVA, Spring boot, spring boot devtools

ubuntu에서 mysql 완전 삭제

2017년 7월 12일 by YongPwi Leave a Comment

매번 구글링만 하다가,,,

생각난김에 명령어 정리

1
2
3
4
5
6
7
sudo service mysql stop
sudo apt-get purge mysql-server
sudo apt-get purge mysql-common
sudo rm -rf /var/log/mysql
sudo rm rm -rf /var/log/mysql.*
sudo rm rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
Posted in: MySQL, Programing Tagged: delete, MySQL, ubuntu

2016 회고

2017년 1월 3일 by YongPwi Leave a Comment

2017년이 되어서 2016년의 회고를 쓴다,,,

그만큼 내가 참 게으르다는 증거,,,

2016년은 개인적으로 참 힘든 시기였다,,,

가족들이 아프고,,, 나도 아프고,,,

처음 아프기 시작했던건 나였는데,,,

무슨 이유였는지 모르겠지만 갑자기 난청이 와서 꽤나 당황했다,,,,

한참 스트레스를 받는 시기였기도 했고 과음에 건강관리 못한 나의 잘못이 큰것도 있다,,,

아버지의 사고,,, 동생의 수술,,,

참으로 다사다난한 한해였다,,,

오픈소스 활동을 하면서 오픈프론티어 선정이 되어서 내부 활동을하며 메이저 공간에서 발표도 하고,,,

많은 사람들도 만나며 좋은 자극도 많이 받았다,,,

회사에서는 여러 프로젝트를 진행하며 spring boot를 최대한 활용 하도록 노력한 점,,,

그리고 ci 환경 구축, 그리고 aws로의 이관,,,,

등을 뽑을수 있을거 같다,,,

개발에 대한 부분 보다는 아무래도 환경 및 빌드 배포쪽에 대한 경험이 좀 더 많았던 한해였다,,,

사실 2016년에 tdd를 좀 해보려고 스터디도 2번이나 다니고 했는데,,,

아직까지 실무에 적용할 지식정도를 가지지 못했다,,,이건 좀 참 아쉬운 부분이다,,,

2017년에는 docker와 2016년에 하지 못했던 tdd와 java 기본 그리고 알고리즘 부분에 대해서 학습 하고자 한다,,,

연말에 꽤나 바쁘게 지내서 사실 스트레스도 받고 힘겨웠는데,,,

건강검진 결과까지 좋지 않아서 2017년에는 자기 관리에 필요성도 꼭 추가할 필요가 있다,,,

가진거라곤 몸댕이 하나 있는데 이거마저 문제가 있으면 안되지,,,,

모두 2017년에는 더 나은 한 해가 되길 바란다,,,

Posted in: Talk Tagged: 회고

AWS CodeDeploy 설정

2016년 11월 18일 by YongPwi Leave a Comment

%ec%8a%ac%eb%9d%bc%ec%9d%b4%eb%93%9c2

  • Jenkins gProxyServer – Operation
    • 빌드 성공되면 AWS S3 버킷으로 결과물 업로드
    • Deploy an application to AWS CodeP plugin 사용
    • Deploy an application to AWS CodeDeply 설정값
      • AWS CodeDeploy Application Name : gProxyServer-Operation
      • AWS CodeDeploy Deployment Group : gp-gProxyServer-Operation
      • AWS CodeDeploy Deployment Config : CodeDeployDefault.OneAtATime
      • AWS Region : AP_NORTHEAST_2
      • S3 Bucket : gproxyserver-opertaion
      • Subdirectory : target/gProxyServer – 여기에 설정된 경로를 기준으로 아래 Include Files 를 가지고 온다.
        • appspec.yml 파일은 / 경로에 존재해야 한다. 그걸 고려해서 path를 잡아야 한다.
      • Include Files : **
      • Deploy Revision(radio selected)
      • Use Access/Secret keys – AWS AMI에 jenkins user 정보 등록

        • AWS Access Key : AKIAIKPIIGRGYZE22XFA
        • AWS Secret Key : ewLYt2u0suiYmMSm2uWVM/ueJtNWAZym4/LdLKTm
        • Secret Key 정보는 생성시에면 조회 가능, 분실시 재생성하고 jenkins 옵션에서 Access Key, Scret Key 정보 수정 필요
    • 빌드 및 S3까지는 정상적으로 처리 그러나 deploy 부분은 fail
      • 원인은 아직 못 찾음
      • jenkins 빌드 상태도 fail로 뜨기 때문에 콘솔 상태에서 build 상태와 S3로의 전송 로그를 확인 해야 한다.
  • AWS S3
    • Bucket: gproxyserver-opertaion 사용
    • jenkins에서 빌드가 완료되면 gProxyServer – Operation-896214853180744560.zip 형식으로 zip 파일로 저장
      확장자명 전에 숫자는 유니크 넘버인듯
  • CodeDeploy
    • 아마존 EC2 인스턴스 및 온프레미스에서 실행 중인 application 자동 배포 지원
    • 준비
      • EC2 인스턴스에서 S3에 접근하여 소스 다운을 위한 권한
      • CodeDeploy 서브시 실행 권한
      • 인스턴스에서 실행중인 Agent
      • 소스의 배포 명세하는 appspec.yml


    • IAM Role 생성
      • EC2 인스턴스를 위한 Role
        • Role을 생성하기 이전에 Policy를 먼저 생성한다.
          • Create Policy > Create Your Own Policy 클릭
          • Name : CodeDeploy-EC2-Policy
            Descriptions : Policy 설명을 적는다.
            Policy Document :

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            {
                "Version": "2012-10-17",
                "Statement": {
                    "Effect": "Allow",
                    "Action": [
                        "s3:Get*",
                        "s3:List*"
                    ],
                    "Resource": "*"
                }
            }
        • Create New Role

          • Set Role Name : CodeDeply-EC2
            Next Step 클릭

          • AWS Service Roles 탭 Amazon EC2 클릭

          • Attach Policy : CodeDeploy-EC2-Policy(상위에서 만든 Policy) 체크
            Next Step 클릭

          • Review : 입력한 정보 확인 후 Create Role 클릭

      • CodeDeploy를 위한 Role

        • Create New Role

          • Set Role Name : CodeDeploy-Service
            Next Step 클릭

          • AWS Service Roles 탭 Amazon EC2 클릭

          • Attach Policy : AWSCodeDeployRole 체크
            Next Step 클릭

          • Review : 입력한 정보 확인 후 Create Role 클릭

        • 추가 설정
          • IAM > Roles : 상위에서 만든 CodeDeploy-Service 클릭

          • 두번째 Trust Relationships 탭 선택 Edit Trust Relationship 클릭

          • Policy Document :

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            {
              "Version": "2012-10-17",
              "Statement": [
                {
                  "Sid": "",
                  "Effect": "Allow",
                  "Principal": {
                    "Service": "codedeploy.ap-northeast-2.amazonaws.com" // 환경에 맞는 resion 정보를 입력 해준다.
                  },
                  "Action": "sts:AssumeRole"
                }
              ]
            }
    • CodeDeploy Agent 설치

      • 배포될 EC2 인스턴스에 CodeDeploy Agent 설치

        • 1
          2
          3
          4
          5
          6
          7
          8
          sudo apt-get update
          sudo apt-get install python-pip
          sudo apt-get install ruby
          sudo apt-get install wget
          cd /home/ubuntu
          wget https://aws-codedeploy-ap-northeast-2.s3.amazonaws.com/latest/install
          chmod +x ./install
          sudo ./install auto
      • CodeDeploy 설치 상태 확인

        • 1
          sudo service codedeploy-agent statu
    • 배포 파일 준비

      • appspec.yml

        • AWS CodeDeploy 기본 배포 파일

        • 해당 파일은 압축된 원본 파일의 가장 상위에 존재해야 한다.

        • 1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          version: 0.0
          os
          : linux
          files
          :
            - source
          : /       // 배포될 소스 경로 지정(단일 파일 혹은 디렉토리 지정 가능)
              destination
          : /opt/tomcat-8.5.6/webapps/gProxyServer     // 인스턴스에 배포될 경로 지정
          hooks
          :
            BeforeInstall
          :       // 소스가 배포되기 전에 실행할 스크립트
               - location
          : scripts//stopTomcat.sh
            AfterInstall
          :    // 소스가 배포된 이후에 실행할 스크립트
              - location
          : scripts/reStartTomcat.sh
                timeout
          : 180
    • 배포
      • AWS-Console > CodeDeploy > Get Started Now > Custom Deployment > Skip Walkthrough
        • Create New Application
          • Application Name : gProxyServer-Operation
          • Deployment Group Name : gp-gProxyServer-Operation
          • Search by Tags : EC2 생성할때 입력한 tag 입력 Auto Scaling Group명 입력
            • 해당 Tag 명으로 instance를 찾아서 deploy target을 잡는다.
          • Service Role ARN : IAM에서 CodeDeploy를 위한 Role로 생성하였던 CdoeDeploy-Service Role 선택


      • Deploy New revision 생성
        • Actions > Deploy new revision 클릭
        • Application : CodeDeploy 설정할때 만들었던 Application Name
        • Deployment Group : Application 설정된 Group 리스트가 보인다.
        • Revision Location : S3://생성한 bucket-name/파일위치/파일명(zip, tar, tar.gz)
        • Deployment Config : CodeDeployDefalut.OneAtTime(일반적인 설정 환경에 맞게 선택)
        • Deploy Now 클릭
      • 이슈
        • 생성한 Deploy group으로 새롭게 생성된 S3 빌드 파일을 인식 못하는 버그가 있음
        • Deploy Group 삭제 후 다시 생성할때 변경된 S3 파일 링크 정보를 입력하면 정상 작동
Posted in: AWS, Gitlab, Java, Programing, Ubuntu Tagged: AWS, CodeDeploy

AWS ELB와 Auto Scaling 연동, nginx

2016년 11월 8일 by YongPwi 1 Comment

%ec%8a%ac%eb%9d%bc%ec%9d%b4%eb%93%9c1

    • Webserver(Nginx)
      • IP : 설정 IP
      • Port : 8080
      • AWS ELB를 사용하면 ELB DNS 네임으로 접근 가능하기 때문에 사실 Webserver의 필요성은 높지 않다.
        하지만 도메인 이외의 서비스를 요청하는 회사가 있기 때문에 그리고 ELB는 고정 IP를 사용 불가하다. (2개의 IP를 할당 받으나 동적으로 변경 됨)
      • Nginx의 기능은 javascript api, webservice api 호출시 호출을 AWS ELB로 전달 해준다.
      • Nginx 설정 파일 경로
        • /etc/nginx 하위
          • /etc/nginx/site-enabled/gProxyServer
    • AWS ELB(Elastic Load Balancing)
      • WAS의 부하 분산
      • Nginx, WAS 와 8080 port를 통해서 통신
      • 60초 동안 ping 응답이 없으면 인스턴스 가동 확인 실패로 판단
      • WAS의 상태값에 따른 auto scaling 발동하게 되면 추가 삭제 instance는 자동으로 ELB의 인스턴스로 추가 된다.
      • DNS 주소로 직접 접근 가능
    • AWS Auto Scaling
      • WAS 인스턴스 상태에 따라서 Scaling 조절
      • 1 WAS 80% >= CPU 1분동안 평균 조건을 만족하면 1 WAS를 자동으로 증설
      • 1 WAS CPU 1분동안 평균 >= 20% 조건을 만족하면 1WAS를 자동으로 삭제
      • 추가 증설은 미리 설정해둔 AMI를 이용하여 생성한다.
        • AMI에는 초기 버전의 gProxyServer가 포함되어 있음
        • 기능 개선 및 개발소스 업데이트가 발생하면 Auto Scaling 세팅을 삭제 후 재작성 해야함
          • 이미지 및 초기 설치 script는 수정이 안됨
      • AMI 이용하여 instance 생성시 그룹 codeDeply(배포)를 위해서 IAM role을 CodeDeply-EC2로 설정 해줘야 한다.
      • 설정한 조건에 만족하지 않아서 Instance 즉시 추가, 삭제 가능(Auto Scaling Groups => 하단 메뉴중 Scaling Policies => Actions 메뉴)
Posted in: AWS, Nginx, Programing, Ubuntu Tagged: Auto Scaling, AWS, ELB, nginx, Tomcat, ubuntu

tomcat log time 설정

2016년 11월 8일 by YongPwi Leave a Comment

tomcat 설치 파일 경로로 이동!

나의 경우는 하단의 경로

/opt/tomcat-8.0.30/bin

상위 경로에 setenv.sh 파일이 있는경우 안에 수정 없으면 생성!

1
2
# time setting
export CATALINA_OPTS=-Duser.timezone=Asia/Seoul

상위 코드를 추가해주면 tomcat이 로드될때 setenv.sh 파일의 정보를 읽어서 로드 한다.

timezone 이외 설정들도 넣어서 관리하면 편리!

Posted in: Java, Programing, Ubuntu Tagged: Tomcat

jenkins에서 maven build시 unmappable character for encoding ASCII 에러

2016년 7월 29일 by YongPwi Leave a Comment

jenkins 상에서 maven build 설정 중 error 발생,,,

maven 사용하여 build는 처음이라 삽질 좀 했다,,,

1. build file name
build file name에 버전 정보를 삭제하고 싶은 경우 하단 코드 참고

pom.xml에 설정해주면 된다.

1
2
3
4
5
6
7
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <artifactId>yongpwi</artifactId>
   <build>
      <finalName>${project.artifactId}</finalName>
   </build>
</project>

2. jenkins build시 unmappable character for encoding ASCII error

요건 좀 삽질 했는데,,,

역시나 찾아보니 답은 있음,,,

pom.xml plugin에 encoding 설정을 해주면 해결 가능!

1
2
3
4
5
6
7
8
9
<plugins>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
         <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
</plugins>
Posted in: Java, Programing Tagged: JAVA, jenkins, maven

OS X에서 APP 아이콘 변경

2016년 7월 26일 by YongPwi 1 Comment

OS X 아이콘 변경하게 되면 캐시 때문에 잘 적용이 안된다.

그래서 삽질을 좀 했다…

엄한놈 지우고,,, 엄한 경로에 아이콘 파일넣고,,,

일반적인 아이콘 변경 방법,,,

finder에서 앱 선택 후 마우스 오른쪽 버튼 클릭,,,

그리고 패키지 내용 보기

ScreenShot 163

Contents/Resources/App name.icns

상위 경로에 아이콘 파일이 일반적으로 존재,,,

저 경로에 바꾸고 싶은 아이콘으로 덮어씌우기 하면 된다,,,

혹시 모르니 작업전에 원본 백업은 필수,,,

그리고서 확인하면 적용이 안된다,,,

이럴경우 캐쉬날리는 작업을 해주면 확인 가능

1
2
3
touch /Applications/App.app
touch /Applications/App.app/Contents/Info.plist
killall Dock
Posted in: OS X, Talk Tagged: APP, icon, OS X

2016 Google I/O Keynote 정리

2016년 7월 18일 by YongPwi Leave a Comment
  • 구글플레이를 통해 설치 된 안드로이드 앱 650억개
  • 구글 어시스턴트
    • 개개인 맞춤형 구글 목표
    • 인공지능 자연어 처리 기술, 기계학습등 활용
    • 대화형 음성지원 앱
    • 인물 검색, 영화 예매등 가능
    • 스마트폰, 태블릿, 안드로이드웨어 모두 이용
  • 구글 홈
    • 생활에 접목시킨 기기
    • 구글나우 처럼 음성인식하여 정보 얻을수 있음
    • ‘헤이 구글’을 통해 일정, 메모 등록 및 구글 홈에 연결된 기기 제어 가능
    • 아마존 에코(음성인식 스피커) 대응
  • 알로, 듀오
    • 알로 : 구글 어시스턴트가 포함된 메세징 앱
      • 지난 대화 기반으로 보낼 답변 제안
      • 대화 중 언제든지 채팅봇을 통해 검색결과, 영화 상영 정보 등을 지원 받을 수 있음
    • 듀오 : 고성능 영상통화 앱
      • 발신시 발신자 실시간 영상이 상대방에게 전달, 연결전에 영상 확인 가능(노크노크 기능)
      • 낮은 회선 품질 상태에서도 이용 가능
      • 웹RTC(WebRTC)와 큐익(QUIC) 프로토콜을 지원
      • 통화는 암호화 하여 개인 정보 보호
      • 두 서비스 모두 전화번호 기반 동작, 크로스플랫폼 지원
  • 안드로이드
    • 퍼포먼스(성능) 향상 : 3D 그래픽 API인 Vulkan(벌칸) 통한 게임 성능 향상
    • JIT 컴파일러 적용으로 75% 빠르게 앱 설치
    • 컴파일된 코드 크기 50% 줄어듬
    • 보안 : 저장소 권한 전체가 아닌 특정 폴더 부여 가능
    • 구글플레이에서 앱 게시 전 보안검사 진행 전세계적으로 매일 80억 개 검사
    • 운영체제 : 멀티윈도우 추가
    • 알림카드에서 답장 가능
    • 알림 중요도 추가
    • N으로 시작하는 과자 코드명 모집
  • VR
    • 데이드림 VR 플랫폼 공개
    • 차후 데이드림용 헤드셋, 컨트롤러 출시 예정
    • 가상현실 전용 구글플레이도 개발 중
    • 데이드림레디(daydream-ready) 가상현실 지원 스마트폰 개발중
    • 안드로이드 N 가상현실 모드 탑재
    • 가상현실 모드
    • 헤드트래킹 지원
    • 3D 오디오, 그래픽 지원
    • 대기시간 감소(오큘러스리프트와 동일하게 20ms 이하로 억제), 가상현실 시스템용 UI 포함(가상현실 콘텐츠 체험중전화 이메일 알림 표시)
  • 안드로이드웨어(스마트워치 운영체제)
    • 2년만에 대형 업데이트
    • 2.0 업데이트 이후 스마트폰 없이 안드로이드웨어 독자 사용 가능한 앱 등장 예정
    • 알림 구글 클라우드 메시징, 어카운트매니저 직접 받음
    • UI 개선(새로운 알림기능, 앱 실행기, 새로운 시계 페이스 추가 등)
    • Data Saver : 이동통신 네트워크 데이터 사용량 줄여줌
    • 백그라운드 데이터 사용 중지, 스트리밍 비트레이트 제한, 이미지 품질 감소, 캐싱지연 등 방식 사용
    • 사용자가 어플별 예외 처리하여 백그라운드 데이터 사용 허가
    • JAVA 8 지원
  • 인스턴트 앱
    • 앱 설치하지 않고 앱 일부 실행 가능한 인스턴트 앱
  • 파이어베이스(2.0)
    • 업데이트 이전에는 실시간 DB, 사용자 인증, 호스팅 서비스
    • 통계, 분석, 푸시, 테스트등이 가능한 종합 솔루션
    • 앱 위한 백엔드 서비스
    • 분석기능 초점(앱 사용자 행동 분석하여 앱 활용도 높이고 수익성 극대화)
    • 분석기능은 무료
    • 구글 클라우드 메시징과 통합하여 파이어베이스 클라우드 메시징(FCM) 서비스(무료)
  • 안드로이드 스튜디오
    • 2.2 버전 발표
    • 에뮬레이터 속도 2.1보다 3배 빨라짐
    • 빌드 속도 고속화, 테스트 리코딩 기능(개발자가 앱 체크하는 동시 자동 테스트 보고서 생성) 추가
    • 새로운 레이아웃 디자이너 탑재
    • 안드로이드 N 지원
    • 현재 구글플레이 등록 앱 92% 안드로이드 스튜디오 이용 개발
  • 안드로이드 오토
    • 구글이 인수한 소셜 네비게이션 서비스 웨이즈 기본 탑재
    • USB 연결만 가능했지만 이제는 wi-fi로 차와 핸드폰 연결 가능
    • 최신 자동차가 아니더라도 스마트폰 화면을 이용해서 사용 가능
  • 아라
    • 조립식이 아닌 모듈러 스마트폰으로 변경
  • TPU
    • 머신러닝에 특화된 커스텀 하드웨어
    • tensorflow(인공 지능을 위한 기계 학습 라이브러리)에 최적화
      • 데이터 플로우 그래프를 통한 풍부한 표현력
      • 코드 수정 없이 CPU/GPU 모드로 동작
      • 아이디어 테스트에서 서비스 단계까지 이용 가능
      • 계산 구조와 목표 함수만 정의하면 자동으로 미분 계산을 처리
      • Python/C++를 지원하며, SWIG를 통해 다양한 언어 지원 가능
    • 계산 정밀도는 일반 프로세서 보다 떨어지지만 머신 러닝엔 최적, 트랜지스터 활용율 극대화
    • 기존 컴퓨터 칩보다 10배 높은 전력 효율
    • 알파고에도 TPU 들어감
  • tango
    • 4년간 비밀리에 추진
    • 특수 카메라를 사용해 실제 공간을 실시간 3D영상으로 구현
    • 공간 측량, 직선, 대각선 가능, 사물이 아닌 일반 벽면, 바닥, 천장 작동
    • 구입하고 싶은 가구를 실제 공간에 가상으로 배치 가능
Posted in: Programing, Talk Tagged: Google, I/O, keynote
« 이전 1 2 3 … 6 다음 »

Calendar

6월 2025
일 월 화 수 목 금 토
« 4월    
1234567
891011121314
15161718192021
22232425262728
2930  

Recent Posts

  • ubuntu bastion 설정
  • Spring Boot properties 암호화
  • Git Repository Bitbucket과 Issue Tracker Redmine 연동 설정
  • Spring Security 동일 session 제어
  • Spring @Mock, @Mockbean, @InjectMock

Recent Comments

  • pzotov (Ubuntu 14.04에서 Sonarqube 6.7.1 service 등록)
  • cours de theatre paris (AWS ELB와 Auto Scaling 연동, nginx)
  • bayern munich (IntelliJ EAP Font rendering)
  • camiseta del chelsea (OS X에서 APP 아이콘 변경)
  • cheap football shirts replica (jQuery Ajax에서 json Array 직렬화)

Copyright © [the-year] [site-link].

Powered by [wp-link] and [theme-link].