2017년 7월 12일 수요일

써큘레이터....

얼마전 *대홈쇼핑에서 *국 써큘레이터를 팔아서 구매 했다.

집에 있는 써큘레이터는 전부다 바닥형이라 스탠드 팔길래 바로 구매

집에 있는 보네이도 ( 7년째 사용중 ) 헌터 ( 3년째 사용중) 제품

날씨가 안좋거나 에어컨 돌아갈때는 항상 같이 사용하던 제품들

많이 쓸때는 하루 24시간 내내 틀어 놓을 때도 있다.

믿고 쓰는 써큘레이터..


그러나 그런 믿음을 해치는 사건이 발생한다.

저녁에 하루 사용시간이 5시간 정도? 밖에 안되는 스탠드형 써큘레이터.

사용 5일만에 소리가 나기 시작 한다.

1단, 2단, 3단... 무언가 갈리는 소리? 펜이 돌때 드르륵 드르륵 소리 난다.

처음 증상 발생시 껏다 키면 소리가 안나고는 했는데.

9일째 되는 날은 시끄러워서 잠을 못잘 정도다.



역시 써큘레이터는 좀 연식이 있거나 많이 알아주는 제품 아니면 안되겠다.

스탠드라서 산건디. 아쉽게되었다.

2017년 4월 20일 목요일

ZTE Trek 2 HD K88 Unlocked 8 Android Tablet 구매 후기 FRP의 참된 맛을 보다.

3월에 가성비 극강이라고 불리면서 Ebay 에 Trek 2 가 풀린다.
이에 혹하고 있던 중 지베이에서 10만원 이상 3만원 할인 쿠폰 
지베이를 이용해 3월 23일에 7만 5천원 정도에 구매를 하게 되었다.
지금 중고 나라에 돌아다니는것들 전부 이정도 가격에 구매 한거일 가능성이 크다.
근데 9만원 10만원에 판다. 자유경제 만세.


배송하는 중간 어딘가 불이 났단다. 그래서 늦어진다나??
근데 30일에 구매 한 사람들이 먼저 받기 시작 한다.
배송이 20일 정도 지연되면 대행비 면제가 된다. 아마 그래서 먼저 보냈을 지도 모르겠다.
4월 17일에 드디어 제품을 받았다. 
아싸 땡큐 대행비 환물 무게 신청한거 환불 하면 대략 1만 5천원 정도 환불 받는다.
6만원 정도에 이 제품을 구한거니까 정말 가성비 최고다.



앗 그런데 구글에 로그인이 안된다.
최초 사용자 계정으로 로그인??? 이거 새건데???

머 어차피 새거 같은 중고니 저거 깨고 한번 사용해볼까?? 라는 마음으로.

구글 Bypass FRP lock 을 찾아 동영상이란 동영상은 전부 보고 따라 해본다.
현재 동영상에 나와 있는 것들 아무리 따라 해도 안된다.
이미 다 막혔다.

그래서 나름 착안한게 뚫을 수 있는 부분이 있을꺼다 생각 해보고 다시 시도..



설정 최초 이부분에서 두 손가락으로 꾹 누르고 있으면 접근성 모드가 활성화 된다. 
화면에 오른쪽에서 왼쪽으로 그리는 U 자 제스쳐를 하면 아래와 같이 다중 선택창이 열린다.


App Manager 를 클릭하여 새로운 창이 열린 상태에서 접근성을 일단 종료 한다.

화면에서 C 자 제스쳐를 하게 되면 위와 같은 옵션이 열리게 된다. 왼쪽 상탄을 눌러 잠시 멈춰놓는다.



이제 Google App 에 들어간다.

Notifications 를 터치 한다.

App settings 를 터치한다.
Now cards 를 터치 한다.

Show cards 를 터치 한다.

저기 보이는 검색바에 S만 써도 Settings 창을 열 수 있는 바로가기가 나온다.
어디서 많이 보던 창 아닌가? About 를 터치 한다.

Build number 를 7번 탭 한다.. 근데 개발자 옵션이 설정이 안된다.
막혔다.

Settings 창에서 Home 인가를 터치 하게 되면 일반적으로 우리가 많이 보던 안드로이드 홈을 볼 수 있다.

거기에서는 와이파이 설정만 되면 인터넷도 가능하다.
하지만 그게 다다.
인터넷을 통해 개발자 옵션 Apk 를 다운 받아 설치도 해봤다.
잘된다.

근데 탭 하면 화면이 열리지를 않는다.
구글 FRP 만쉐.
이 이상은 방법이 없어 그냥 포기다. 



결국 지베이를 통한 환불을 하기에 이르러 우체국에 가서 착불로 지베이에 보내버렸다.

이제 끝인가..... 에휴.. FRP 이제 꼼수는 안통하나 보다.


2017년 4월 18일 화요일

javascript Sting format bind

javascript 에서 Object String format {aaa} 조건에 맞게 bind 한다.


"{aaa} 에서 {bbb} 까지 이동 하는데 걸리는 시간은 {ccc} 이다".bind({
                                                                                        aaa: '종로',
                                                                                        bbb: '광화문',
                                                                                        ccc: '10분'
                                                                                 })

인자 중 remove 위치의 값이 false 일 경우 매칭이 되지 않는 값은 삭제 하지 않는다.

기본 값은 true 이며 없을 경우 삭제된다.

String.prototype.bind = function(obj, remove) {
var argobj = obj;
var remove = remove !== false;
return this.replace(/\{\{|\}\}|\{(\w+)\}/g, function(m, n) {
if (m == "{{") {
return "{";
}
if (m == "}}") {
return "}";
}
return typeof argobj[n] == "undefined" ? ((remove) ? '' : m)
: typeof argobj[n] == 'function' ? argobj[n]()
: argobj[n];
});
}

bind 에 대입되는 object 에서 function 값도 처리 될 수 있게 되어 있다.

더 생각 하기 싫어서 그냥 여기까지만 쓴다.

2017년 4월 3일 월요일

아 진짜 멀 사라는거야 말라는거야. 너무하네.

11st 에서 2017년 3월 31일 자정에 단 한켤레 남은

[락포트(남성화)]남성슬립온기능성 트루워크제로 라이트니스 275 싸이즈 제품을 샀다.




판매자는 롯데백화점(lottedep)
상호명은 우리홈쇼핑 이란다.


아무리 가다려도 배송 준비중이다.

31일에 배송이 시작 할 줄 알았다.

만우절에도 배송 시작 할 줄 알았다.

적어도 4월 3일에는 배송이 시작 할 줄 알았다.

문의를 남겼더니


" 안녕하세요.
롯데홈쇼핑 상품담당자입니다.

먼저 당사 이용에 불편 드려 죄송합니다.
주문하신 락포트 남성 슬립온 중 다크 브라운은 현재 품절 및 재입고 일정이 없어 배송이 불가합니다.
매장으로 확인 시 블랙 또는 네이비로 대체 출고 또는 부득이 환불만 가능한 점 양해 부탁드립니다. "


" 오전에 고객님께서 남기신 문의를 보았는데 어느점인지 알수없어 고객센터에 확인요청하였습니다. 고객센터에서 연락이 없었는지요?

몇사이즈를 주문하셨는지는 모르나 245~280 사이즈내에서는 출고가 가능한걸로 전산확인됩니다. 자세한사항은 번거로우시겠지만

고객센터로 연락해보시면 아실수 있을것같습니다. 도움이 되지못하여 대단히 죄송합니다. 즐거운 하루되세요~ "


그리곤.......

제품이 없으니 환불 해주겠단다..

헐..

요즘 구매 하는것들은 국내 구매인데 거의 해외구매 수준으로 배송이 된다.

짜증나게도..


2017년 4월 2일 일요일

대박 . 쿠드기어 ACE 005 ..


날씨가 더워짐에 따라 주머니 갯수가 줄어든다.
해서 찾은 아이템 슬링백
첨에는 샤오미 슬링백을 써볼까 하다가 찾게 된 아이템이 쿠드기어 제품이다.

붉은색 파란색 검정색 3색 스타일 중에 선택한건 무난한 검은색으로.



G9에서 할인 많이 해줄때 바로 잡았다.

하지만 배송 예정일이 계속 변경이 된다.

첨에 G9 CJ몰 담당 콜 센터 전화 걸어 문의 하니 30일 경에 배송 될꺼같단다.

현대 중동점이 담당이란 소리를 들었다.

31일에 쿠드기어에 문의 해봤다 제품이 없냐고.

현재 주문량이 늘어 배송이 어렵단다. 11일에 현대 중동점에 배송 하겠단다.

31일에 중동점 담당자가 무리수를 둔다. 지금 배송 중이란다. 그러면서 송장을 등록.

현재 일자 4월 3일 내 예상에는 11일 이후에 발송이 될거 같은데 ㅋㅋㅋㅋ

현재 G9 에는 품절로 표시된다. 무려 엄청난 시간이 지난 후에 말이다.

3월 23일에 지베이에서 구매한

ZTE Trek 2 HD K88 Wi-Fi GSM AT&T Unlocked 8 Android Tablet Gray 5MP - N

과연 해외 구매가 더 빨리 올것인가.

어떤게 먼저 올까?

2017년 3월 16일 목요일

책 파본??

애들이 좋아 하는 책...
그래서 간혹 사주는데..
간혹가다 이런식으로 책들이 분리가 된다.

이건 파본인가? 아닌가?






2017년 2월 7일 화요일

투휠 호버카트??

요즘 새로운 관심사가 생겼다.

카트... 카트.. 카트...



이렇게 노는 카트..

투휠 보드에 카트를 달아서 쓸 수 있다는데 일반적인 형태는 쿠션이 없다.


엉덩이가 바닥을 느끼며 돌아 다닐듯...

하여 무엇인가 쿠션 있는거 없나?? 열심히 찾아보니..

국내에도 판매하는데가 있다.. 물론 중국산이다.



아.. 참신하다.. 근데 저 쇼바가 내 몸무게를 지탱 할 수 있들까????

맘 놓고 지르다가 투휠 보드를 못타는 사태가 생길지도 모른다.

선천적 몸치인 내가 투휠 보드를 아무 장치 없이 바로 탈 수 있을리 만무하다..


하여 좀 더 찾아 본 결과


이런게 있더라...

지금 구매 하면 한달후는 받을 수 있겠지?? ㅎㅎㅎㅎㅎ


2017년 2월 3일 금요일

AnyEdit tools plugin for Eclipe(CamelCase 자동변경툴)

Eclipse Help

Install new Software

http://andrei.gmxhome.de/eclipse/

맞는 버전 설치 하면 된다.

2017년 1월 23일 월요일

Document 가 Load 된 후에 Script Library ready 상태에서 실행 해야 할때 .


Jquery 의 $.ready 와  같이 Document 가 Load 되었는지 여부 판단 하에 스크립트를 실행 할 수 있다?

    (function() {
        window.d$={};
        d$Handlers = [];
        d$.ready = function ready(handler) {
            d$Handlers.push(handler);
            handleState();
        };
        handleState = function handleState () {
            if (['complete'].indexOf(document.readyState) > -1) {
                while(d$Handlers.length > 0) {
                    (d$Handlers.shift())();
                }
            }
        };
        document.onreadystatechange = handleState;
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
     
        // 새로고침시 스크립트 캐쉬를 지우기 위해 버전을 달아 준다.
        s.src = 'http://localhost:8080/js/code.js?dc=' + Math.random(1);
        var x = document.getElementsByTagName('script')[0];
        x.parentNode.insertBefore(s, x);
    })();

d$.ready(function(){
// code.js 가 Load 된 후 code js 에 선언된 d$ 관련 내용을 이용하여
// 라이브러리가 ready 상태에서 스크립트를 실행 해야 할때.
// 여기에 작성 하면 잘 돌아 간다.
});

2017년 1월 18일 수요일

Java Config에서 파일 업로드 설정.



Servlet3.0 ? Spring 4.3 ? 

무슨 이유인지 모르겠지만 파일 업로드 설정 부분이 바뀐것 같다.
난생 처음 셋팅을 하면서 첨 난관이 많은거 같다.

WebMvcConfigurationSupport 를 상속 받은 ServletContext 영역에 아래의 코드를 넣어 multipart 설정을 한다.



private static final String LOCATION = "C:/mytemp/"; // Temporary location where files will be stored

private static final long MAX_FILE_SIZE = 5242880; // 5MB : Max file size.
private static final long MAX_REQUEST_SIZE = 20971520; // 20MB : Total request size containing Multi part.
private static final int FILE_SIZE_THRESHOLD = 0; // Size threshold after which files will be written to disk
    
    @Bean
    public MultipartConfigElement multipartConfigElement() {
MultipartConfigElement multipartConfigElement = new MultipartConfigElement( LOCATION, MAX_FILE_SIZE, MAX_REQUEST_SIZE, FILE_SIZE_THRESHOLD);
return multipartConfigElement;
   
//     final MultipartConfigFactory factory = new MultipartConfigFactory();
    }
    
@Bean
public StandardServletMultipartResolver multipartResolver() {
return new StandardServletMultipartResolver();
}

톰캣 의 server.xml 에서.

<Context 태그로 시작되는 부분에 allowCasualMultipartParsing = "true"  속성을 추가 한다.

이렇게 해놓고 파일 업로드를 해보면 2097152 파일 사이즈 초과 해서 어쩌고 에러 날때 있다.

그때 프로젝트의 web.xml 에 

<multipart-config>
<!-- 52MB max -->
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>

</multipart-config>     

이거 추가 해준다.

왜 이렇게 복잡하게 설정해야 하는지 모르겟지마는... java 로 설정 바꿀때 web.xml 도 java로 바꿀껄 신경 쓰이는 부분이 많다.

cvc-complex-type.2.4.a: Invalid content was found starting with element 'multipart-config'. One of '{"http://java.sun.com/xml/ns/javaee":init-param, "http://java.sun.com/xml/ns/javaee":load-on-startup, "http://java.sun.com/xml/

 ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-ref}' is expected.

web.xml 에 설정 하고 나서 저런 에러 아닌 에러가 발생 하는데 xsd 포멧에 맞지 않아 그렇다고들 한다.

그냥 실행은 잘 된다. 

그러므로 일단 무시하는 걸로. ~!

2017년 1월 11일 수요일

Spring + MySql + JAVA Config Master / Slave 구조

까먹지 말자 블로그(http://kwon37xi.egloos.com/) 에서 찾아 적용 해보았다.

MySql Master / Slave 구조 설정이 생각보다 쉽지 않았다.

열심히 구글링 한 결과 까먹지 말자 블로그(http://kwon37xi.egloos.com/) 도착해 소스를 발견 하여 적용 해봤는데

잘되는듯 하다.

import javax.sql.DataSource;
import net.sf.log4jdbc.Log4jdbcProxyDataSource;
import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;


/**
 * {@link kr.pe.kwonnam.replicationdatasource.LazyReplicationConnectionDataSourceProxy} 를 통한 리플리케이션 테스트 설정
 * *
 * 동일한 테이블에 동일한 양의 데이터가 들어있지만 쓰기쪽은 write_x 읽기 쪽은 read_x 라는 형태의 name 컬럼 데이터를
 * 가지도록 조작한 두 개의 데이터 소스를 생성한다.
 * <p/>
 * 실전 환경에서는 writeDataSource는 Master DB를, readDataSource는 Slave DB를 바라보는 커넥션 풀이어야 한다.
 */

@Configuration
@ComponentScan
public class ContextDataSource {

@Bean(destroyMethod="close")
public DataSource wirteDataSource(){
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
basicDataSource.setUrl("jdbc:mysql://192.168.0.1/dbName");
basicDataSource.setUsername("daisy");
basicDataSource.setPassword("2016Daisy!");
return basicDataSource;
}

@Bean(destroyMethod="close")
public DataSource readDataSource(){

BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
basicDataSource.setUrl("jdbc:mysql://192.168.0.1/dbName");
basicDataSource.setUsername("daisy");
basicDataSource.setPassword("2016Daisy!");
return basicDataSource;
}
 
    @Autowired
    @Bean
    public DataSource dataSourceSpied(@Qualifier("wirteDataSource") DataSource writeDataSource, @Qualifier("readDataSource") DataSource readDataSource) {
        return new LazyReplicationConnectionDataSourceProxy(writeDataSource, readDataSource);
    }

    @Primary
    @Bean
    public DataSource dataSource(@Qualifier("dataSourceSpied") DataSource  datasource) {
     return new Log4jdbcProxyDataSource(datasource);
    }
}


잘된듯 잘된듯.. 하다. 무엇인가 새로운 벽에 도달 할 것으로 보여진다. 

아.. Query 로그 보기 쉽게 하기 위해 

<dependency>
    <groupId>org.lazyluke</groupId>
    <artifactId>log4jdbc-remix</artifactId>
    <version>0.2.7</version>
</dependency>

DataSource 에 log4jdbc remix 설정

첫 셋팅이다 보니 이상한게 한두개가 아니네. 

갤럭시 기어 S3 프론티어 LTE 번호 변경

기어 S3를 모 나름 한동안 잘 쓰고 있는데 자꾸 이상한 전화가 온다.

문자가 온다.. 머지?? 난 가입도 안했었는데????

어느날 . 송*미 님 기업은행 ~~;;;;

전화 걸어서 아니라고 설명 했는데 승인 문자 외 결제 해야 될 내역 문자는 계속 온다.

광고 전화도 많이 오고..

우와.. 돌아버리겠다. 이 번호 쓰지 말아야 할 번호 인가보다. 줸장..

하여 Tworld 가서 번호 변경 신청을 했다.

원하는 번호를 찾아서 변경 완료~ !

자 이제 기어를 재부팅 하자.

얏호.. 재부팅.. 안되네..

원래 스마트폰도 몇번씩 하니까 한번더. 재부팅.. 아놔.. 왜 안되지...

한 열번은 재부팅 해봐도 안된다. ..

헐....

114 통화 후 알아낸 방법

기어에서 #758353266#646# 번호를 누르면 유심 다운로드가 시작된다.

한참이 걸려서 번호 변경 완료..

자 그럼 잘되나 확인 해볼까? TShare 를 실행~

올~ 역시 안된다.. 안내 문구가 나온다. 스맛폰에 TShare 깔으라고.

깔려 있고 셋팅 끝났는데 안될 경우 지웠다 다시 깔으라고...

번호 한번 잘 못 받았다가 엄청 불편 하다.

광고 문자나 광고 전화가 유난히 많이 올 경우.. 번호를 바꾸시길 강력히 권장한다. !!