반응형

사진 백업 때문에 한참 고민을 많이 했다. 어떻게 관리를 해야 가장 편할까. 

먼저 사진을 찍는 기기를 생각했다. 핸드폰은 2개 (내꺼, 와이프꺼) 그리고 미러리스 카메라. 이렇게 총 3개의 기기를 통해서 사진을 찍는다. 

그래서 사진을 백업을 할때 하드디스크에 미러리스 폴더 하나, 내꺼 핸드폰용 폴더, 와이프꺼 폴더 이렇게 각각 만들어서 사진을 나눠서 보관했다. 그렇다 보니 미러리스는 그렇다 치더라도 핸드폰에서 옮길때 컴퓨터에 연결하는게 좀 귀찮았다. 그리고 결정적으로 가장 큰 문제는 와이프와 내가 공유한 파일들이 중복해서 올라가는 거였다. 그래서 한곳에 보관을 하면 정말 좋을것 같다는 생각을 많이 했다. 

처음에는 구글 클라우드를 생각했다. 1년에 1TB 사용하는데 10만원 조금 안되는 가격이었다. 한참을 고민을 했다. 이걸 쓸까 말까. 그렇게 고민을 하던 차에 오피스365 Home 버전을 1년 구독하면 1TB OneDrive용량을 준다는 것을 알게 되었다. 그래서 구글클라우드와 OneDrive두개 사이에 고민을 하다가 가격면에서 더 저렴한 OneDrive를 쓰기로 했다. 오피스365 home을 5만원 초반으로 구매를 했으니 구글 클라우드에 비해서 반값정도 된다. 거기에다 오피스도 쓰니깐 일석 이조이다. 인터넷 찾아보면 그래도 평은 드롭박스 > 구글클라우드 > 원드라이브..등등 순으로 나오긴 하던데 일단 결정은 OneDrive로 했다. 



인터넷 찾아보면 이렇게 패키지 상품으로 보내주는게 아니라 KEY 만 보내주는 경우도 있는데 난 이렇게 패키지 상품으로 구매를 했다. 그리고 또 내가 고려했던게 PC/Mac 및 태블릿 5대 공유라는 점이었다. 그래서 내가 사용을 하면서 사용자를 추가를 하면 다른 PC 에서도 동일하게 사용을 할수가 있다. 전주 집에 있는 PC 에 설치를 해도 괜찮다는 것이다. 그리고 그렇게 추가 설치할때마다 OneDrive 1TB를 준다. 완전 이득이다. ^^



패키지 포장과 내용물은 지난번 샀던 크롬캐스트 포장하고 거의 비슷한것 같다. 아니면 요즘은 다들 이렇게 나오는건지는 잘 모르겠다. 패캐지상품을 샀다고 실제 미디어가 들어있는것은 아니다. 저렇게 카드같이 생긴거에 제품 코드가 적혀있다. 그래서 그 코드가지고 오피스365를 설치하면된다. 





같이 들어있는 설명서에도 써있지만 office.com/setup 에 가서 로그인을 하면 저렇게 제품키를 입력하라고 나온다. 그럼 패키지 안에 있는 제품키를 넣으면 된다. 


그러면 저렇게 나오는데 자동갱신을 할건지 안할건지 물어본다. 난 일단 자동갱신을 안했다. 갱신비용도 저렇게 119000원인데 그냥 내가 제품을 구매해서 다시 입력하면 자동갱신이 되기 때문이다. 그래서 내년쯤 해서 날짜 만료되기 전에 구매를 해서 갱신을 할 예정이다. 그리고 자동갱신을 하게되면 카드정보를 넣는것 같았기 때문에 안했다. 귀찮아서.



이렇게 하면 끝나고 다운로드해서 설치를 하면 된다. 요즘은 대부분 인터넷을 통해서 설치가 되기때문에 시디 넣고 하던 옛날보다는 훨씬 간편해졌다. 



이렇게 하고 나서 OneDrive에 가서 저장소 용량을 보니 저렇게 1TB로 변경되어있다. 이제 일단 기존에 있던 사진 자료들을 잘 정리해서 올려놓고 핸드폰에 있는 사진들을 어떤 방법으로 옮기고 백업을 할지 고민을 해봐야겠다. 


728x90
반응형
반응형

예전부터 꼭 사야지사야지 마음먹었던 레고가 있었는데 그게 바로 10247 대관람차였다. 나오자 마자 사고 싶은 마음은 굴뚝 같았지만 계속 미뤘었다. 그렇게 미루다 보니 최근 들어서 레고를 할인해서 판매를 많이 해서 이제는 가격이 좀더 떨어지기를 기다렸다. 좀더 떨어질거야~ 하면서. 그리고 이번에 레고 사기 전까지는 항상 사기만 하고 조립을 안했었다. 그래서 지금 쌓여있는 레고가 10개는 넘어간다. 그런데 이제 지후도 좀 크고 해서 같이 큰 레고를 맞춰보는것도 좋겠다라는 생각을 했다. 그리고 특히 이 대관람차는 좋아할것 같았다. 그래서 이번 내 생일에 나에게 주는 선물겸 해서 구입을 해서 바로 뜯어서 지후랑 같이 조립을 했다.





우선 상자에 써있듯이 블록 개수는 2464pcs 이다. 기존에 지후랑 같이 조립하던 레고하고는 차원이 다른 개수이다. 일부러 작은것만 사서 조립한 의도도 있긴 하다. 왜냐.. 내 Creator Expert 시리즈는 소중하니깐. ^^;; 그런데 아쉬운것은 아직 파워펑션을 구입하지 못했다. 파워펑션을 구입해서 설치를 하면 대관람차를 자동으로 회전시킬 수 있다. 그런데 아직 그것까지는 구입을 하지 못했다. 조립은 설명서에도 나와있지만 저 비닐 봉지에 있는 번호 순서대로 조립을 하면 된다. 번호는 총 1번에서부터 4번까지 있다. 오랜만에 조립을 하다보니 처음에는 뭐부터 해야할지 나도 헷갈렸다. 



1번 블럭을 조립한 모습이다. 피규어가 이렇게 3개 있고 대관람차의 제일 아래 부분을 조립을 하게 된다. 아직까지는 크게 관람차라고 하기에는 좀 부족해 보인다. 그런데 조립을 직접 해보면 알겠지만 이 부분이 대관람차에서는 가장 중요한 역할을 하는 부분이다. 왜냐하면 이 밑판 아래에 대관람차가 회전할 수 있는 모든 장치들이 숨어있기 때문이다. 그래서 톱니같이 생긴 블럭도 많이 들어가고 회전을 위한 블럭들이 많이 들어간다. 



이 사진을 보면 차이점이 있다. 왼쪽 사진은 중간에 판이 둥그렇게 되어있고 오른쪽은 조금 각이 져있다. 



사진에 보이는 저 노란 블럭을 위 아래로 움직이면 톱니바퀴가 돌아서 저 판들이 움직인다. 대 관람차가 돌아갈때에는 왼쪽처럼 둥글게 해야 하고 사람들이 내릴때에는 오른쪽처럼 판판하게 만들어서 사람들이 내리게 된다. 그리고 옆에 있는 하연 기둥같이 생긴것은 잡고 돌리면 뱅글뱅글 돌아가는데 나중에 다 완성하고 난 후에 저걸 돌리게 되면 대관람차가 돌아가게 된다. 여기까지가 1번 비닐 봉지에 있는 블럭을 조립한 결과이다.





이제 2번 블럭들을 조립을 했다. 2번 비닐봉지에 있는 블럭들은 관람차의 뼈대와 주변 환경을 꾸미게 되어있다. 가장 크게 보이는 것은 대 관람차를 달수있는 기둥이 생겼다. 



그리고 이렇게 피규어들도 늘어났다. 



저 아이스크림 파는 가게는 특히 마음에 들었다. 왜냐하면 전체적으로 구조물이 좀 딱딱해 보였는데 저 아이스크림 가게 하나로 크게 달라진 느낌이 들었다. 


그리고 관람차를 컨트롤 하는 장소와 벤치와 나무들. 특히 나무와 작은 꽃들이 중간중간 놓여있고 벤치가 놓여있어서 놀이공원 분위기가 더 나는것 같다. 



이제 완성된 모습이다. 3번과 4번 을 모두 조립하면 드디어 대관람차의 모습을 볼 수 있다. 위에서 말한 장치를 손으로 돌리면 실제로 잘 돌아간다. 



이렇게 피규어를 태워서 보면 어렸을때 동물원에 있던 대관람차가 생각이 난다. 저 오른쪽 피규어가 든것은 내가 좋아하는 프레즐. 저런 새심한 아이템이라니. 이러니 레고를 안좋아 할수가 없다. 


조립은 다 했지만 몇가지 추가해야 될 작업이 있다. 바로 파워펑셔을 구매해서 손으로 돌리는게 아닌 자동으로 돌아가는 대관람차 모습을 도영상을 담는것이다. 조만간 공홈에서 구입을 해서 설치를 한 후에 작동을 시켜봐야겠다. 오랜만에 대형 레고를 조립하면서 그동안 잊고있었던 레고의 손맛을 느끼게 되었다. 하나하나 조립하면서 느껴지는 손맛이란 정말 안해본 사람은 모른다. ^^ 기존 모듈러에 비해서 반복 작업이 좀 많고 동작을 위한 조립이 많아서 많은 부분 조립을 내가 했지만 그래도 같이 지후와 조립을 해서 재미있었다. 다른 어려운 부분 말고 저 관람카트 만드는 것을 좋아할거라 생각을 했는데 예상이 맞았다. 색깔도 눈에 띄고 실제 모양이 나오니깐 조립하면서 더 좋아했다. 이제 다음 조립은 무엇을 할지 생각을 해봐야겠다.


728x90
반응형

'Enjoy Life > Lego' 카테고리의 다른 글

[60107] 레고 사다리 소방차  (0) 2017.12.25
[70911]레고 펭귄맨의 아틱롤러  (0) 2017.10.12
[31058]레고 크리에이터 힘센 공룡  (0) 2017.02.11
[40125]레고 산타의 방문  (0) 2016.10.25
[40153]레고 생일케익  (0) 2016.05.11
반응형

공부하면서 만든 Oauth Server에 대한 테스트를 Postman으로는 했는데 실제로 Client Code가 필요하게 되었다. 


2017/09/04 - [Development/Java] - [Spring Boot]Oauth server 적용해보기


테스트만 할 경우에는 Postman만 써도 상관이 없지만 실제 Client 가 호출을 하려면 code가 필요하다. 그래서 여기저기 구글링을 해가면서 찾아봤다. 


우선 Oauth Token을 발급 받기위한 코드가 필요하다. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public String getOAuth2Token(String username, String password) {
        final String CLIENT_ID = "myclient";
        final String CLIENT_SECRET = "secret";
        final String GRANT_TYPE = "password";
        final String SERVER_URL = "http://localhost:" + port;
        final String API_OAUTH_TOKEN = "/oauth/token";
 
        String clientCredentials = CLIENT_ID + ":" + CLIENT_SECRET;
        String base64ClientCredentials = new String(Base64.encodeBase64(clientCredentials.getBytes()));
 
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        headers.add("Authorization""Basic " + base64ClientCredentials);
 
        MultiValueMap<StringString> parameters = new LinkedMultiValueMap<>();
        parameters.add("grant_type", GRANT_TYPE);
        parameters.add("username", username);
        parameters.add("password", password);
 
        HttpEntity<MultiValueMap<StringString>> request = new HttpEntity<>(parameters, headers);
 
        @SuppressWarnings("rawtypes")
        ResponseEntity<Map> response;
 
        URI uri = URI.create(SERVER_URL + API_OAUTH_TOKEN);
        response = restTemplate.postForEntity(uri, request, Map.class);
        return  (String) response.getBody().get("access_token");
    }
cs


위에 작성된 메소드를 보면 파라메터로 id, password를 받게 되어있다. 이건 실제 사용자의 id, password를 넣으면 된다. 그리고 그 이외에 필요한 정보들은 final 상수로 정의를 해놓았다. 다만 Testcase로 작성 하다 보니 port 는 Random하게 들어간다. 호출 형태는 Postman에서 작성했던 것을 그대로 Code로 옮긴걸로 생가하면 된다.  저렇게 호출을 하게되면 결과값으로 access_token값을 받게된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Test
public void getOAuth2TokenTest(){
    Assert.assertNotNull(accessToken);
}
 
@Test
public void getTestWithAccessToken(){
    final String SERVER_URL = "http://localhost:" + port;
    final String API_URL = "/private?access_token={access_token}";
 
    ResponseEntity<String> responseEntity = restTemplate.getForEntity(
            SERVER_URL + API_URL,
            String.class,
            accessToken);
 
    Assert.assertEquals("private", responseEntity.getBody());
}
cs


이렇게 받은 access_token을 실제 API 에 넣어서 보내주면 전에 글에서 postman  으로 실행했던 것과 동일한 결과를 얻을 수 있다.

위에 작성된 소스 코드는 https://github.com/blusky10/study_spring 에 가서 OauthServiceTest.java파일을 보면 확인 할 수 있다.


728x90
반응형
반응형

Spring Boot Project에 OauthServer를 설정해보았다.

 

소스는 https://github.com/blusky10/study_spring 의 simple-spring-oauth 브랜치를 다운로드 받으면 된다.

 

 Client 는 private이라는 api에 접근하기 위해서 oauthserver 에 token 발급 요청을 한다.

발급된 token을 가지고 private이라는 api에 접근한다.

(Client 는 미리 등록되어있다고 가정한다. 따라서 Client를 Oauth서버에 등록하는 과정은 생략된다.)

 

1. 먼저 ResourceServer를 설정한다. ResourceServer는 Resource Owner의 정보를 가지고 있는 서버를 의미한다. 

 

1
2
3
4
5
6
7
8
9
10
11
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter{
 
    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/private").authenticated();
    }
}
cs

 

"/" 주소로 오는 url은 모두 허용하게 되지만 "/private"으로 접근 되는 url은 인증이 필요하다. 

 

2. 두번째로 Authserver를 설정한다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@Configuration
@EnableAuthorizationServer
public class AuthServerConfig extends AuthorizationServerConfigurerAdapter {
 
    @Autowired
    private AuthenticationManager authenticationManager;
 
    @Override
    public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
        security.checkTokenAccess("isAuthenticated()");
    }
 
    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory().withClient("myclient")
                .authorizedGrantTypes("client_credentials""password")
                .authorities("ROLE_CLIENT""ROLE_TRUSTED_CLIENT")
                .scopes("read""write""trust")
                .resourceIds("oauth2-resource")
                .accessTokenValiditySeconds(500)
                .secret("secret");
 
    }
 
    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints.authenticationManager(authenticationManager);
    }
}
cs

 

중간에 보이는 client를 설정하는 부분을 보면 "myclient"는 client의 이름을 나타낸다. 그리고 secret은 client에게 발급되는 비밀번호이다. Facebook 과 같은 곳에서 인증을 하게 되면 client를 따로 등록하게 되는데 이때 등록을 하게 되면 Client 고유의 비밀번호를 발급받게 된다. 이 번호는 절대로 노출되어서는 안된다. 지금 내가 만드는 서버는 myclient라는 client가 등록되어있고 그 client 에게 발급된 비밀번호는 secret이라고 생각하면 된다.

접근할수 있는 client의 role은 "client" 이다.

 

 

 

3. AuthenticationManager를 이용해서 userDetailService를 재정의 해준다. 

 

1
2
3
4
5
6
7
8
9
10
    @Autowired
    public void authenticationManager(AuthenticationManagerBuilder builder, AccountService accountService) throws Exception{
 
        builder.userDetailsService(new UserDetailsService() {
            @Override
            public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
                return new CustomUserDetails(accountService.get(username));
            }
        });
    }
cs

 

 

 

 

 

 

 

여기에 Parameter로 받는 AccoutService는 사용자를 조회하는 서비스이다. 그런데 여기에서 UserDetailServiced의 loadUserByUsername 메소드는 UserDetails 를 리턴해야 하기 때문에 UserDetails를 재정의 해줘야 한다. 그게 바로 CustomUserDetails 이다. accountService.get(username) 하면 Account 객체를 리턴해주고 그 Account 객체가 가지고 있는 정보를 UserDatails 에 셋팅해준다.

 

4. CustomUserDetails

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class CustomUserDetails implements UserDetails {
 
    private String username;
    private String password;
    Collection<extends GrantedAuthority> authorities;
 
    public CustomUserDetails(Account account) {
        this.username = account.getLoingId();
        this.password = account.getPassword();
 
        List<GrantedAuthority> authorityList = new ArrayList<>();
        for (Role role : account.getRoles()){
            authorityList.add(new SimpleGrantedAuthority(role.getName().toUpperCase()));
        }
 
        this.authorities = authorityList;
    }
    // Getter, Setter 생략
}
cs

 

Custom UserDetails 생성자에서 받은 Account 객체로 username, password, Role 정보를 설정해준다. 

 

이제 Test를 해보자.

 

인증이 필요없는 URL

 

인증이 필요한 URL

 

인증이 필요없는 URL 은 상관 없지만 /private으로 호출을 하면 error 가 나온다. 인증되지 않은 User가 접근을 했기 때문이다.

 

 

/oauth/token URL 로 인증토큰 발급 요청을 한다. 이때 필요한 것이 clientid 와 secret 이다. 내가 위에서 설정한 client id 와 secret을 써준다.

 

 

그리고 Body 에는 grant_type, username, password 를 넣어준다. 

 

 

request를 보내면 이렇게 access_token을 발급 받을 수 있다. 

 

 

이제 발급 받은 Access_token을 private url 뒤에 넣어서 보내면 위에 그림처럼 private이라는 메세지를 볼수 있다. 

 

 

간단한 예제를 만들어 봤다. 좀더 자세한 내용을 보려면 좀더 공부를 해야하고 이론적인 부분도 상당히 많이 알아야 할것이다. 

 

이예제는 아래 Youtube 동영상을 보면서 따라서 만들어본 예제이다. 

 

 

728x90
반응형
반응형


한빛 리더스 활동이 마감되고 새롭게 시작된 "책 읽는 프로그래머" 에서 기존 OB 멤버들을 대상으로 리뷰 이벤트를 했다. 한빛리더스 14기가 예상보다 빨리 끝나서 좀 아쉬웠는데 이렇게 이벤트가 진행이 되서 좋았다. 내가 선택한 책은 "창의적은 문제 해결 능력을 키워주는 IT 퍼즐" 책이다. 총 65개의 퍼즐 문제를 풀어보는게 이 책의 내용이다. 간단한 문제들을 통해서 알고리즘에 대한 내용도 책에 포함되어있다. 먼저 퍼즐을 풀어보고 퍼즐을 풀기 위한 원리에 대해서 알아보고 또 그것을 실제 소프트웨어에 어떻게 적용되는지 스크래치를 이용해서 만들어보는것 까지 하나의 사이클로 되어있다. 



문제에 대해서는 바로바로 다음장에 답이 나와있다. 보통은 이런 문제를 푸는 내용의 책에서는 답은 맨 뒷부분에 따로 나와있는데 이 책은 문제 다음에 바로 나온다. 그래서 그부분이 살짝 아쉬운 부분이었다. 무심코 넘겼는데 답이 먼저 눈에 들어와 버리는 경우가 생길수 있기 때문이다. 일단 답이나 단서가 눈에 들어오고나면 거기에 대해서 계속 신경이 씌여서 더 다양한 생각을 하지 못하게 된다. 그래서 답은 책 뒤에 따로 나왔으면 더 좋았을것 같다.



각각 퍼즐, 사고력UP, 프로그래밍 파트를 선택해서 볼수 있도록 색깔로 표시를 해놨다. 앞에서 말했듯이 퍼즐은 실제 문제를 푸는 부분이고 사고력UP 은 문제에 필요한 원리에 대해서 알수 있는 영역이다. 그리고 프로그래밍은 실제 문제 푸는것을 구현해 보는 영역이다. 



어린이와 청소년들이 좀더 쉽게 이해하고 재미있게 접근 할수 있도록 그림을 많이 이용해서 설명을 해주고 있다. 사고력 UP 에서 나오는 내용들은 알고리즘 관련 내용도 있지만 컴퓨터 프로그래밍에 필요한 기초적인 수학 내용도 담고 있어서 컴퓨터 기본 지식을 쌓는데 도움이 될것 같았다. 물론 초등학생한테는 좀 어려울것 같고 중고등학생 정도 되면 학교 수학시간에 배우는 부분과 겹치는게 있어서 좀더 관심을 갖을것 같다. 

그리고 스크래치 프로그램은 관심은 있었는데 아직 해보지는 않았다. 한번 해봐야지 라고 생각만 하고 미뤄둔게 계속 시간만 지나고 있다. 이 책에 나오는 내용들을 직접 만들어 보면 내용을 이해하는데 더 도움이 될것 같다. 


http://cafe.naver.com/scratchprogramming


그리고 이 책에 궁금한 점이나 도움을 받아야 할 부분이 있다면 이렇게 카페가 개설되어있어서 도움을 받을 수 있다. 또 책 이외에 다른 내용들도 많이 있어서 들어가서 보면 공부하는데 도움이 된다. 


퍼즐 문제를 다룬 책이지만 "사고력UP" 같은 내용은 컴퓨터, 수학 에 대한 기초지식에 도움이 되서 교양서적으로 생각해도 될 정도이다. 한번에 쭉 읽어야 된다는 부담감도 없고 잠깐 시간이 있을때 퍼즐 하나 풀어보면서 머리를 식힐수 있는 재미있는 책이다. 


728x90
반응형
반응형


한빛 미디어에서 진행하는 나는 리뷰어다 7월 이벤트에 당첨되어 리뷰를 쓴다. 

여러개의 책이 있었는데 무슨 책을 고를까 고민을 했다. 3권을 고를수 있었는데 프로그래밍 관련 책 2권과 육아서적(?) 1권을 골랐다. 당첨은 3권중 어떤 책이 올까 궁금했었는데 당첨 내역에 "굴리굴리 프렌즈와 함께하는 그림찾기" 라고 되어있어서 "프로그래밍 책은 피했구나" 라는 생각을 했다. 이 책을 선택한 이유는 지후하고 같이 해볼수 있을것 같아서 였다. 책 구성이나 내용에 대해서는 미리 알아보지는 않았다. 그래서 "그림찾기" 라고 되어있어서 숨은그림 찾기 책인가 보다 라는 추측만 했다. 책 표지와 뒷변은 위와 같이 생겼다. 굴리굴리가 캐릭터 이름인줄 알았는데 작가의 닉네임이었다. 앞 표지에 보면 김현(굴리굴리) 라고 되어있다. 홈페이지도 있다. http://www.goolygooly.com 에 가보면 작가에 대한 정보를 더 많이 알수 있다. 

이책에 나오는 굴리굴리의 프렌드들은 로이(표지의 노란 오리), 데이지(돼지), 루피(표지의 파랗게 생긴애), 포비(표지에 녹색 개구리)가 나온다. 꼭 이 4개의 캐릭터만 나오는것은 아니고 아기자기한 소품과 같은 그림들로 책 한페이지 한페이지가 채워져있다. 



책 내용을 살펴보면 이렇게 2개의 페이지에 걸쳐서 그림이 그려져 있다. "그림찾기" 이긴 하지만 내가 생각한 숨은 그림 찾기만 있는것은 아니었다. 그점이 이 책의 중요한 특징이라고 생각이되었다. 숨은 그림 찾기는 너무 흔하다. 그런데 이 책에서는 다양한 방법으로 그림을 찾도록 유도하고 있다. 이렇게 그림을 찾긴 하지만 1개가 아닌 여러개를 찾는 방법이 그중 하나이다. 실제로 지후랑 같이 책을 볼대 숨은 그림 찾는 페이지보다는 이렇게 그림을 개수만큼 찾는 페이지를 더 관심있어 했다.  



다음은 조각을 구성하는 페이지 이다. 난이도가 어려운것은 아닌데 이런 방법으로 그림을 찾는것을 처음 해보는 지후에게는 좀 어려웠다. 유형을 살펴보니 실제로 틀린 그림 찾는 페이지하고 위에서 설명한 개수만큼 동일한 그림을 찾는 페이지를 제일 관심있어했다. 이 외에도 그림은 갖지만 색깔만 달리해서 그림을 찾는유형도 있다. 아마도 전에 해본것에 대해서는 익숙해서 좋아하는데 처음 본것에 대해서는 생각을 더 해야 된다는것에 대해서 부담을 느끼는것 같았다. 아직 모든 페이지를 같이 해보지는 못했지만 그래도 한페이지 한페이지 같이 해나가면 아이가 생각하는데에 많은 도움이 될것이라 생각이 된다. 


728x90
반응형
반응형

결혼할 때 구입한 스마트 TV에 갑자기 유투브 앱이 사라졌다. 처음에는 오류인줄 알았는데 인터넷을 검색해 보니 그게 아니었다.


http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&oid=468&aid=0000291826&sid1=001


플래시 기반의 앱에 대해서 유투브에서 지원을 중단한다고 결정을 했다. 내가 쓰고 있는 스마트 TV도 마찮가지로 기존 플래시 기반 유투브 앱이 설치되어있었는데 더이상 지원을 안한다니 앱 자체를 지워버린 것이다. 모델 자체가 사양을 따라갈수도 없고 제조사에서 업데이트할 생각도 없기 때문에 더이상 스마트 TV 가 스마트하지않게 되었다. 많은 기능을 쓰지는 않았지만 그래도 유투브는 자주 이용을 했는데 더이상 이용할수가 없다니.

그래서 여기저기 검색을 해본 결과 ChromeCast를 많이 사용한다는 글들이 발견되었다. 그래서 나도 구입을 하기로 결정했다.

ChromeCast2와  ChromeCast Ultra가 있는데 당연히 Ultra가 신제품이다. 아직 국내에는 정식 발매가 되지 않아서 이건 직구를 해야 한다. 차이점은 4K를 지원하는것. 그런데 우리집 TV는 4K를 지원하지 않는다. 그래서 ChromeCast2를 사기로 결정했다.





포장은 간결하고 깔끔 하다. 복잡한 포장도 없고 위에 사진에서 보는 것처럼 제품의 특징과 호환 목록에 대해서 간단히 확인할 수 있도록 써 있다.



제품 설명서는 이게 전부이다. TV를 사더라도 이것보다 설명서가 두꺼울 텐데 이건 달랑 이 종이 하나이다. 사실 종이도 아니고 포장  열면 뚜껑에 써있다. 나같은 경우도 전자제품 설명서를 잘 읽는 편이 아니어서 설명서가 두꺼우면 짐만 됐는데 이렇게 포장과 함께 넣어놓으니 좋은것 같았다.



구성품은 ChromeCast 본체와 전원케이블 2개가 전부다. 뒷면 사진은 없는데 뒷면을 보면 저 납작한 케이블이 HDMI 케이블이어서 TV와 연결을 할 수있다. 그리고 중간에 자석이 있어서 TV와 연결을 하더래도 달랑달랑 매달려 있는게 아니라 안정감 있게 TV와 잘 붙어있다. 




 


구글 home 어플을 아이폰에 설치하고 TV에서는 외부입력중 ChromeCast와 연결돤 외부 입력을 선택한다. Chromecast를 꼽아놓은 외부입력 에는 저렇게 Chromecast라고 표시가 되어있다.



진행을 하게 되면 스마트 폰에는 왼쪽처럼 나오고 TV에는 오른쪽처럼 나온다.


 


화면에 코드가 표시가되고 표시되었는지 확인을 한다. 



마지막으로 업데이트가 진행이 된다. 이때 업데이트가 시간이 걸린다. 걸려봤자 3분정도. 도중에 한번 리붓을 한다. 이렇게 하고 나면 설치가 완료된 것이다. 그리고 이제부터는 오른쪽 사진에 보이는 네모 표시만 있으면 모두 Chromecast 와 연결해서 볼수 있다. 지금 유투브 앱과 와챠 앱은 되는것을 확인 했다.



이건 내가 오늘 와챠앱을 통해서 봤던 썸머워즈를 실행시켰을때 핸드폰의 모습이다. Chromecast로 보더라도 핸드폰은 다른 것을 할수 있다. 마치 음악앱을 실행시키고 화면을 닫더라도 백그라운드에서 실행이 되는것과 유사하다.


이렇게 해서 그렇게 비싸지 않은 가격으로 구형 스마트 TV 를 좀 쓸모있게 만들어놨다. 앞으로 유용하게 잘 써먹을수 있을것 같다.


728x90
반응형

'P's Life' 카테고리의 다른 글

2017년 블로그 결산  (0) 2018.01.10
Office 365 1년 구독!  (0) 2017.10.01
Starcraft Remaster. 추억을 떠올리며.  (0) 2017.08.10
철권7 일반판 예약후 수령!!!  (0) 2017.06.04
다시 찾은 즐거움.  (0) 2017.04.25
반응형

내가 스타크래프트를 처음 했을때가 언제였더라? 중학교때였나??? 스타크래프트가 나오고 PC 방이 처음 생기면서 학교 끝나고 동네 PC 방을 돌아다니면서 한참 게임을 했었다. 특히 PC방 새로 오픈하는 곳은 당일 무료로 게임을 할수 있어서 친구들하고 같이 많이 찾아다녔다. 그랬던 그 게임이 이번에 리마스터가 되서 다시 나왔다. 

실제로 예전에 했던 버전이 최근에 무료로 풀려서 한번 해봤는데 그래픽이 정말 한숨이 나올정도였다. 어렸을때 게임할때는 전혀 몰랐었는데 지금에서 보니 유닛의 그래픽이 현저히 떨어졌다. 심지어 와이드는 지원하지 않아서 컴퓨터 모니터를 다 채울수도 없었다. 그랬던 것을 블리자드가 왠일로 리마스터링을 했다. 예약판매 한지는 꽤 됐고 어제 제품을 받았다. 그리고 지금은 PC 방에 한해서만 게임을 할 수 있다. 처음에 바로 할 수 있는 줄 알고 설치하는 방법 찾다가 한참을 헤맸다. 일반 사용자들은 15일부터 할수 있다. 



초회 한정판 패키지는 일반 디지털 판보다 만원 정도 비싼데 그 값어치는 하는것 같다. 옛날 나왔던 모양과 비슷하게 패키지는 포장이 되어있다. 전면부에 저그, 프로토스, 테란 유니의 그래픽이 전보다 나아진게 보인다. 그리고 구성품에 대한 설명들이 써있다. 



그리고 이건 게임 쿠폰과 마우스 패드이다. 마우스 패드는 소장용으로 고이 모셔둬야겠다. 원래 이런것은 쓸려고 사는게 아니라서. ^^ 그리고 게임쿠폰은 3개가 들어있는데 내가 하는 게임들은 아니다. 이왕 줄거면 오버워치나 하나 껴줄것이지. 생각해보면 하나 포함시켜도 좋았을텐데 없어서 아쉬웠다. 말도 많고 탈도 많긴 하지만 요즘 그래도 잘 나가는 게임이라서 안준건가...





내용물을 열어보면 저렇게 다시 포장이 되어있다. 아래는 메뉴얼이고 위에는 실제 제품의 디지털 코드와 엽서가 들어있다. 내용물이 흔들리지 않게 고정시켜놓고 저렇게 따로 포장도 되어있어서 블리자드에서 포장에 신경을 좀 쓴것 같다.


 


포장을 보면 지갑 살때 해주는 포장과 비슷하게 생겼다. 



포장 안에는 저렇게 2가지가 들어있는데 스타크레프트 디지털 코드가 써있는 카드와 엽서이다. 옆서는 지금 사진에서 펼쳐보이지 않아서 그런데 생각보다 많이 들어있다. 마우스패드하고 엽서만 하더라도 만원 값은 충분히 한다. 그리고 저 스타크래프트 KEY CARD 가 맘에 들었다. 사진이어서 잘 보이지는 않지만 글씨가 프리즘처럼 빛이 난다. 그래서 고급스러움을 더했다. 



그리고 이렇게 소소하게나마 한국 팬들을 위한 편지글이 적혀있다. 20년동안 관심을 가져줘서 고맙다 정도의 내용인듯 하다. 내가 게임을 많이 사보지는 않았지만 이렇게 편지가 들어있는 것은 처음인것 같다. 




마지막으로 매뉴얼이다. 일부만 찍었는데 각 게임 유닛과 각 종족에 대한 설명들을 볼 수 있다. 


위에 있는 블리자드의 편지에서도 볼수 있듯이 20년이 넘은 게임이다. 그런데도 지금까지 인기가 있고 사람들이 기억하고 있다. 그런 게임들이 과연 얼마나 될지. 정말 스타크래프트는 명작중에 명작이다. 블리자드가 리마스터 하는데 얼마나 많은 노력을 들었는지는 모르겠지만 적당한 가격에 좋은 제품을 내놓은것 같다. 리마스터 나온다고 기사가 떴을때 3만원 이하면 사야겠다라고 생각하고 있었는데 초회 한정판 가격이 딱 3만원이어서 1분도 망설이지 않았다. "이건 구매각이다!!" 


바로 집에서 할수는 없고 15일까지 기다려야 하는게 좀 아쉽긴 하지만 그래도 새로운 모습의 스타크래프트를 할 생각을 하니 설레인다.!



728x90
반응형
반응형


한빛 미디어 "나는 리뷰어다" 에서 "아마존 웹 서비스 인 액션" 을 보내줬다. 실제로 회사에서는 업무와 직접 연관이 없어서 사용을 못해봤지만 항상 써봐야겠다는 생각 하고 있었다. 그런데 실제로 어떻게 쓴는 건지도 모르고 겨우 알고 있는것은 무료 계정을 만드는 정도밖에 몰랐다. 덕분에 예전에 아마존 세미나 가서 받았던 100달러 크레딧도 하나도 안쓴채 그대로 계정에 남겨져 있었다.


이 책 덕분에 현재는 AWS 에 내가 만들어 놓은 우분투 서버가 돌고 있다. 그안에 뭔가를 만들어서 운영중이지는 않지만 지금은 주로 우분투에 설치 되어있는 DB를 쓸일이 있어서 심심치 않게 사용을 하고 있다. 


2017/06/17 - [Development/AWS] - [AWS]AWS 에 가상서버 만들기

2017/06/20 - [Development/AWS] - [AWS]AWS 가상 서버에 고정 공인 IP 주소 할당하기

책을 보면서 따라해보면 실습도 어렵지 않게 할 수 있다. 

책은 AWS 에 대한 설명부터 시작해서 서버 사용, 운영하기, 배포, 보안 설정, DB, 아키텍쳐 설계에 이르기까지 AWS를 이용해서 할수 있는 많은 내용들이 담겨져 있다. 




위 사진은 실제 책 내용에 들어있는 그림이다. 실습을 진행하면서 쉽게 따라 할수 있도록 그림에도 화살표 표시를 해놓았다. 가끔 컴퓨터 관련 책들을 읽다 보면 글과 그림이 같이 나오는데 글의 내용이 그림의 어느 부분을 가르키고 있는지 찾기가 힘들때가 있다. 다행스럽게도 이 책에서는 화살표 표시를 해줘서 실습을 혼자서 진행하는데 무리가 없다.



그리고 "클린업" 이라는 중요한 코멘트가 각 실습의 끝네 나온다. 이 "클린업" 이라는 코멘트는 실습에 사용한 AWS 인스턴스를 초기화 시킨다던지 제거 한다던지 하는 내용을 담고 있다. 내가 가입 되어있는 페이스북 SNS 에 가끔씩 AWS 를 사용하다가 요금 폭탄을 맞았다는 사람들의 글을 올라온다. 나같은 무료 계정을 사용하고 있기 때문에 1년간 무료로 사용할 수 있지만 이 무료가 모두 다가 무료가 아니다. 일정 범위내에서 사용을 해야 무료이고 무료의 범위를 넘어간 사용량에 대해서는 당연히 과금이 들어간다. 그렇기 때문에 저 "클린업" 이라는 코멘트는 이책을 보고 실습을 하면서 비용이 발생하지 않도록 방지하는데 꼭 필요한 요소이다. 그리고 실습내용에 앞서서 현재 실습 내용은 무료범위에서 가능하다라든지, 이번 실습은 무료 범위를 벗어난다라든지 요금에 관련된 주의 사항이 항상 써있다. 내가 AWS 관련 책들을 많이 읽어보지는 않았지만 이 부분이 이 책의 큰 장점이 아닐까 생각이 된다. 


지금은 많은 부분을 다양하게 사용하고 있지는 않지만 앞으로더는 더 자주 다양한 방법으로 사용하게 될것 같다. 그래서 이 책은 AWS 를 활용하기 위한 가이드 북으로 딱 좋다고 생각이 된다. 

728x90
반응형

+ Recent posts