카카오톡 메시지로 수능이벤트? 인지 뭔지로 카카오톡미니C+피규어를 49,000원에 판다고 광고톡이 왔다.


음... 전에도 구매할까 고민하다가 말았는데, 이참에 한번 써보자는 마음에 구매 진행.


목요일 오후늦게 주문하고 화요일에 배송도착했다.




박스를 열어보니 스피커본체박스와 피규어박스가 따로 들어있다.





내가 선택한 피규어는 후드라이언...





본체박스 안에는 스피커와 전원아답터(5V 2.4A)+케이블(USB Type-A to USB Type-C), 안내책자





이렇게 접어서 스피커 옆에 두면 사용법을 익히는 동안에는 도움이 될 것 같다.




조립..?



전원연결



카카오미니 전원 연결하고... 헤이카카오 앱 설치도 해두고... 

휴대폰은 블루투스 연결로 스피커를 찾는다.





집에 있는 Wi-Fi를 설정해주면 찾아서 연결한다.


이 과정에서 내 특유의 공유기 설정 때문에 조금 해맸다... 계속 연결 실패...


내 잘못인지 확인이 안되는데 Wi-Fi 5G는 안되는 듯 했다.





우여곡절끝에 Wi-Fi 2.4G 로 연결. 이것도 두세번 실패 하다 성공했다.


보이스 프로필 등록(주인 인식???), 사용자 확인 코드 등 앱애서 설정하고... 간단하게 테스트.


질문은

- 지금 서울 날씨 어때? <- 서울의 지금 날씨를 응답

- 미세먼지는? <- 서울의 지금 미세먼지를 응답

- 내일 날씨는? <- 서울의 내일 날씨를 응답

- 미세먼지는? <- 서울의 내일 미세먼지를 응답


사람과 대화하듯이, 주어 빼먹고 보내도 잘 응답 하는 것 같다.


질문은

- 데스파시토 틀어줘

- 노래 꺼

- ...

- 몇 시야?

- 아까 노래 이어서 틀어줘 <- 아까 재생한 데스파시토를 이어서 재생


물론 아래와 같은건 부족하다... (당연한가??...)


질문은

- 실검 알려줘 <- 1위부터 5위까지 응답

- 조성환이 누구야? <- 누구인지 응답

- 왜 실검 1위야? -> "제가 할수 있는 일이 아니에요."


더 알고 싶다면 PC or 휴대폰으로 검색해봐야겠구나....


나름 인식도 잘 되고 잘 알아듣는다. 


큰 바램(?) 인지 모르겠으나, 인터스텔라에 나오는 로봇 타스처럼 농담도 주고 받을 수 있는 스피커가 되었음 좋겠다. 


쿠퍼: 유머감각 75%

타스: 적용완료, 자폭장치 가동 10, 9, .

쿠퍼: 60%으로 낮춰

타스: 60% 적용완료, 똑똑

쿠퍼: 55%로 낮출래?


ps. 포터블팩(휴대를 위한 외장배터리), 리모콘(헤이카카오 라고 부르지 않고 리모콘을 누르고 명령입력 기능, 재생, 정지, 볼륨조절) 은 별도 구매품이다.


소니 카메라 센서 클리닝 (남대문점)

일상사 2018. 11. 20. 20:45 Posted by AstinLen



일년에 한번 킬까 말까 하는 카메라 Sony A6000가 있는데(워낙 휴대폰 카메라가 편해야지?)


그래도 이왕 있는 미러리스 카메라 써볼까 하고 찍어봤더니... 뭔가 이상하다.





뭔기 지문같은것도 보이고 먼지도 살살 보인다. 허허....


에어블로어로 해결이 안된다.


인터넷 검색해보니 소니 남대문 알파서비스센터가 친절하고 잘해준덴다.




와... 집에서 멀지만 가보기로 했다.





쓸모없는 사진 3장 투척.


조금 해맸다. 출입구가 정말 골목의 한 구석에 있는 느낌이다. (비록 도로변이더라도)


그 계단을 걸어 3층까지 가면 도착.



금요일 오후반차 쓰고 간 것인데, 오후 1시반쯤... 3명 정도 대기하고 있었다.(이미 접수를 한듯한)


5분정도 기다리니 내 접수 차례가 되어 카메라 보여주고 센서 클리닝 받으러 왔다고 했다.


10분? 20분? 기다리고 나니 기사님이 완료되었다고 카메라를 돌려주셨다. 비용은 없음.



카메라로 찍은 센터 사진... 막 찍었다.





집에 와서 확인해보니 서비스 잘 받은듯!




SanDisk Ultra USB 3.0 Flash Driver 32GB CZ48

Benchmarking 2018. 10. 14. 00:25 Posted by AstinLen

행사에 갔다가 사은품으로 USB를 받아왔다.

SanDisk Ultra USB 3.0 Flash Driver 32GB 라네? 모델명은 CZ48.



과연 얼마짜리 사은품일까.. 대충 검색해보니 작성일 기준 최저 5000~8000원짜리 였다.

저렴한 사은품용 USB...


성능 테스트를 해보았다. 완전히 새것이라 점차 사용하다보면 성능이 조금 떨어질 것으로 예상한다. 여하튼 CrystalDiskMark 으로 측정.


측정 PC는 Intel i5-4460, 삼성 DDR3 16GB, 삼성 SSD 840 PRO, Windows 10 64bit.


USB 3.0이니 USB 3.0 슬롯에 연결하고 테스트 했다.



...8천원에 큰 기대는 안했다. 그래도 나름 Read 성능은 선방. Write는... 그냥저냥 아쉬운수준.

랜덤엑세스 부분은 아주 쥐약이다.(4KiB 들...)


다음으로는 USB 2.0 슬롯에 연결하고 테스트를 하였다.



USB 3.0 슬롯 대비, Read는 1/3, Write는 1/2이 되었다. 


... 그냥 윈도 설치용 USB로 쓸만하겠다.



첨언.


Seq Q32T1: 순차적으로 Quene 32개, Thread 1개라는 의미를 가진다. 하나의 쓰레드로 32개의 대기열을 가진 순차 Read/Write.


4KiB Q8T8: 랜덤하게 Queue 8개, Thread 8개라는 의미를 가진다. 8개의 쓰레드로 8개의 대기열을 가진 랜덤 Read/Write.


4KiB Q32T1: 랜덤하게 Queue 32개, Thread 1개라는 의미를 가진다. 1개의 쓰레드로 32개의 대기열을 가진 랜덤 Read/Write.


4KiB Q1T1: 랜덤하게 Queue 1개, Thread 1개라는 의미를 가진다. 1개의 쓰레드로 1개의 대기열을 가진 랜덤 Read/Write. 가장 낮은 성능이 나오겠다.

오랜만에 Visual Studio 설치하고 Console 프로그램을 작성해봤다. 빈 c 파일이니깐...


#include "stdio.h"

void main(void)
{
	printf("Hello!\n");
}


아주 단순한 출력부터 해보았다.

얼래.. 아무키나 누르세요를 하지 않는다. 실행하자마자 바로 종료.


인터넷 좀 찾아보니 서브시스템 설정을 해주어야 한다.


프로젝트 -> 속성에 들어가서 아래와 같이 설정

여하튼 하위 시스템에 콘솔(/SUBSYSTEM:CONSOLE) 이라는 놈이 들어가야 한다.



그리고 확인 누른다음 F5를 누르면?



전에 비해 뭔가 말이 많아졌지만 여하튼 원하던 결과다.

자취방에서 사용하는 의자의 가죽상태가 많이 안좋아졌다.

몇 달 그냥 쓰다가, 가죽 부스러기 같은것이 하도 떨어져 관리상의 이유로 가죽교체를 단행하였다.




준비물 

인조가죽, 타카, 타카심, 의자다리에서 시트부분을 분리할 육각렌치 or 드라이버, 가죽 자를 가위



가죽은 인터넷쇼핑몰에서 1야드(91cm, 폭142cm)가 기본단위로 판매되어 1야드만 구매했다.

타카, 타카심은 다이소에서 6천원 주고 구매했다. 

렌치나 드라이버, 가위는 집에 있던 것을 사용했다.



나는 드라이버는 필요가 없다. 의자 구조상 육각렌치로 의자의 시트부분을 분리할 수 있게 되어 있다.


이렇게 4개가 있었는데...

이 의자의 1개의 나사부분이 헛돈다. 고정해주는 너트에 해당하는 부분이 같이 움직여서 결국 분리하지 못했다. 완전히 분리되어야 작업이 수월하다.


여하튼, 의자 다리부분과 시트부분이 분리를 못한 상태로 작업하게 되었다.

기존에 있는 가죽은 제거하기로 했다. 이미 막혀있는 타카심들을 일자드라이버를 이용해서 제거 해주었다.



이전의 가죽을 제거하려다보니 시트스펀지까지 같이 제거되었다.

제거된 가죽의 크기만큼 새 가죽을 가위로 잘랐다. 가죽이 한참 남는다. 

구 가죽에서 스펀지를 제거한 상태이다.



의자 위에 스펀지를 다시 올리고 자른 가죽을 올려보았다. 대충 맞는것같다.



이제 고정한다. 의자의 밑판은 플라스틱판이다. 저 플라스틱판에 가죽을 고정해야 한다.

타카로 팍팍 찍어야 한다.



아주 못났다.

의자의 앞면에 해당하는 부분에는 주름을 최소화 하고 측면이나 후면으로 대부분 주름을 모아놨다. 타카도 플라스틱판과 가죽을 잘 고정하지 못하고 흔들리는 상태에서 박다보니 한쪽 심은 덜 박힌다든지 그런 모습이 보여서 아주 지저분하다. 그래서 물량공세...




완성~




하나 더 작업해야 한다. 그 의자의 다리부분과 시트부분이 분리되길 꼭 기대한다. 

안그러면 가죽도 정리못하고, 타카도 엉망진창이다. 소요시간은 뻘짓(나사가 안풀린다든지... 등등) 으로 약 2시간 소요되었으나, 의자의 다리와 시트부분만 분리된다면 30~40분이면 할 수 있을것같다.

iperf 사용법

사용법 2017. 9. 12. 12:45 Posted by AstinLen

Ubuntu에서 iperf에서 주로 사용하는 명령을 정리


도움말 보기

iperf --help

 Usage: iperf [-s|-c host] [options]

       iperf [-h|--help] [-v|--version]


Client/Server:

  -f, --format    [kmKM]   format to report: Kbits, Mbits, KBytes, MBytes

  -i, --interval  #        seconds between periodic bandwidth reports

  -l, --len       #[KM]    length of buffer to read or write (default 8 KB)

  -m, --print_mss          print TCP maximum segment size (MTU - TCP/IP header)

  -o, --output    <filename> output the report or error message to this specified file

  -p, --port      #        server port to listen on/connect to

  -u, --udp                use UDP rather than TCP

  -w, --window    #[KM]    TCP window size (socket buffer size)

  -B, --bind      <host>   bind to <host>, an interface or multicast address

  -C, --compatibility      for use with older versions does not sent extra msgs

  -M, --mss       #        set TCP maximum segment size (MTU - 40 bytes)

  -N, --nodelay            set TCP no delay, disabling Nagle's Algorithm

  -V, --IPv6Version        Set the domain to IPv6


Server specific:

  -s, --server             run in server mode

  -U, --single_udp         run in single threaded UDP mode

  -D, --daemon             run the server as a daemon


Client specific:

  -b, --bandwidth #[KM]    for UDP, bandwidth to send at in bits/sec

                           (default 1 Mbit/sec, implies -u)

  -c, --client    <host>   run in client mode, connecting to <host>

  -d, --dualtest           Do a bidirectional test simultaneously

  -n, --num       #[KM]    number of bytes to transmit (instead of -t)

  -r, --tradeoff           Do a bidirectional test individually

  -t, --time      #        time in seconds to transmit for (default 10 secs)

  -F, --fileinput <name>   input the data to be transmitted from a file

  -I, --stdin              input the data to be transmitted from stdin

  -L, --listenport #       port to receive bidirectional tests back on

  -P, --parallel  #        number of parallel client threads to run

  -T, --ttl       #        time-to-live, for multicast (default 1)

  -Z, --linux-congestion <algo>  set TCP congestion control algorithm (Linux only)


Miscellaneous:

  -x, --reportexclude [CDMSV]   exclude C(connection) D(data) M(multicast) S(settings) V(server) reports

  -y, --reportstyle C      report as a Comma-Separated Values

  -h, --help               print this message and quit

  -v, --version            print version information and quit


[KM] Indicates options that support a K or M suffix for kilo- or mega-


The TCP window size option can be set by the environment variable

TCP_WINDOW_SIZE. Most other options can be set by an environment variable

IPERF_<long option name>, such as IPERF_BANDWIDTH.


Report bugs to <iperf-users@lists.sourceforge.net>


iperf 버전확인

iperf -v

iperf version 2.0.5 (08 Jul 2010) pthreads 


클라이언트 모드(-c)에서 순차적으로 양방향(-r), 시간은 2초(-t 2)

iperf -c 서버주소 -r -t 2

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

------------------------------------------------------------

------------------------------------------------------------

Client connecting to 192.168.100.194, TCP port 5001

TCP window size: 83.9 KByte (default)

------------------------------------------------------------

[  5] local 192.168.100.102 port 53864 connected with 192.168.100.194 port 5001

[ ID] Interval       Transfer     Bandwidth

[  5]  0.0- 2.0 sec  15.4 MBytes  63.8 Mbits/sec

[  4] local 192.168.100.102 port 5001 connected with 192.168.100.194 port 49153

[  4]  0.0- 2.0 sec  16.6 MBytes  69.2 Mbits/sec
















char buffer[30];

char len;

... (buffer, len에 값 설정)

buffer[len] = '\0';

 

와 같은 코드로 작성할 경우 len의 값이 음수가 될 수 있기 때문에 경고 문구가 발생

len을 unsigned형으로 해야 안나타날듯 하다.

 

VirualBox에서 vdi파일 크기 줄이기

Programming Info 2014. 3. 24. 08:21 Posted by AstinLen

제가 사용하는 Windows환경에서 VirualBox를 활용하여 Ubuntu를 사용하는데 실 용량은 7.9GB입니다.

VirualBox에서 해당 가상머신의 디스크를 동적확장저장소로 지정해놓았으나, 실제 HDD에서 사용하는 공간이... 20GB 가까이 되다보니 128GB짜리 SSD가 부담됩니다. 거의 2배 가까이 뻥튀기 되었네요.

이에 실 용량으로 줄이는 방법을 알아보았습니다.


그림1. 20GB 가까이 되는 가상머신의 디스크(동적확장저장소 방식)

 
그림2. 실제 차지하는 공간(7.9GB)

Ubuntu뿐만 아니라 그 외 리눅스 시스템에서는 대부분 적용될 것으로 보입니다.

1. Ubuntu Terminal에서 아래와 같이 명령을 내립니다. 1번째 명령에서 시간이 조금 걸립니다.


    sudo dd if=/dev/zero of=/bigemptyfile bs=4096k
    sudo rm -fr /bigemptyfile

만약 Windows 가상머신이라면 cmd창에서  

    sdekete -z      <= 해보진않았습니다.

2. 가상머신을 종료합니다.

3. Windows의 cmd를 실행시켜 아래와 같이 명령을 내립니다. 마찬가지로 시간이 조금 걸립니다.


     vboxmanage.exe modifyhd 경로/파일명.vdi --compact

이 명령의 경우 vboxmanage가 있는 경로에서 실행해야 합니다. 기본적으로 C:\Program Files\Oracle\VirtualBox와 같은 경로에 위치합니다. vdi 파일은 C:\abc.vdi라고 가정하면...
예시

    cd C:\Program Files\Oracle\VirtualBox
    vboxmanage.exe modifyhd C:\/abc.vdi --compact

결과는


그림3. 10GB정도로 줄어든 vid 파일

 

이상입니다.

이런쪽 내용은 잘 모르지만 커멘드로만 봐서는 가상머신HDD에 있는 쓰레기 데이터를 0으로 쓴 다음 해당 부분을 잘라내는 것같습니다. 리눅스에서 2개 명령중 1번째 명령만 내리면 HDD 사용률이 100%가 되버립니다. 필히 2번째 명령 내려주세요.

C, C++ 컴파일 에러 메시지

Computer Language/C 2013. 8. 1. 08:49 Posted by AstinLen

- expected specifier-qualifier-list before 'type'
type이 소스코드 내에 정의되지 않았다. 정의해달라.

- expected '=', ',', ';', 'asm' or '__attribute__' before 'type'
? 내 코드에선 왜 발생하는지 원인분석 불가.. 미해결...
 -> 내 코드에선 pthread.h 를 사용했을 때 발생한 문제인데.. gcc 옵션에서 -lpthread 라는 옵션을 주면 된다고 함.

오늘은 간단합니다.

안드로이드 가상기기에서 Hello World 출력하겠습니다.

순서는
1. 안드로이드 프로젝트 생성
2. 가상기기에서 실행

 

 

1. 안드로이드 프로젝트 생성

(1) eclipse를 실행시킨 후 File → New → Android Application Project를 선택합니다. 

 

(2) 프로젝트 네임 / 어플리케이션 네임을 정해주시면 됩니다. 저는 hello라고 정했습니다. 그리고 Next
- Application Name : 실행되는 어플리케이션의 실제 이름
- Project Name : 이클립스에서의 이름
- Package Name :  패키지의 이름
- Minimum Required SDK : 어플리케이션이 돌아가는 기준이 되는 최소한의 OS SDK
- Target SDK : 개발할 기준이 되는 OS SDK
- Compile With : 컴파일러 할 기준이 되는 OS SDK

 

(3) 특별한것 없이 일단 Next를 합니다.
- Create custom launcher icon : 어플리케이션의 아이콘 설정 여부 : 4번에서 설명
- Create activity : 액티비티에 대한 설정 여부 : 5번에서 설명
- Mark this project as a library : 해당 프로젝트가 라이브러리 프로젝트인지를 정합니다.
- Create Project in workspace : 프로젝트 저장위치를 결정합니다. 체크하면 워크스페이스안에 생성이 되고 아니라면 개인이 설정한 위치에 저장됩니다.

 

(4) 아이콘 설정하는 페이지입니다. 여기도 Next로 넘어갑니다.
- 3번의 Create custom launcher icon을 체크해서 나타납니다.
- 프로그램의 아이콘에 대한 전반적인 부분을 설정할 수 있습니다.

 

(5) 액티비티를 설정하는 부분입니다. 여기도 일단 Next!
- 3번의 Create Activity를 체크해서 나타납니다.
- 어떤식으로 페이지를 만들 것인지에 대한 것입니다. 큰 신경안쓰셔도 되요.

 

(6)  5번에서 Blank Activity를 선택했기에 나타나는 페이지 입니다. 별다른 설정없이 Finish 눌러서 완료!
- Activity Name : 액티비티 이름입니다. 처음 만들어지는 페이지이니 main이 되겠죠
- Layout Name : 말 그대로 레이아웃 이름입니다.
- Navigation Type : 네비게이션 타입으로 여러 페이지를 만들때 사용합니다. 지금은 필요없으니 None!

 

(7)  드디어 프로젝트 하나를 만들었습니다!

 

2. 가상기기에서 실행

그럼 이제 실행을 시켜야 합니다.

그전에 한가지 팁을 알려드리자면.. 가상기기를 키는 것 조차.. 매우 오래 걸렸습니다.

제 기준에서는 몇분 걸렸네요.. 그런고로.. 개발하는 동안에는 가상기기를 끄지 맙시다..

켜둔상태로 계속 컴파일 하면서 실행을 할 수 있어요

 

(1) 가상기기 ON

Window → Android Virtual Device Manager을 선택합니다.

차례대로 클릭합니다. 

 

기다립니다.

가상기기가 나타났습니다. 부팅이 완료될때까지 기다립니다.

부팅이 완료되었습니다. 저는 2분 걸렸네요.. 여러분들은 어떠신가요..^^

 

(2) 컴파일하여 Hello World 출력 하겠습니다

Run → Run 하면 됩니다.

...

조금 기다려보면

 나타납니다...

 

혹시 안되시는 분들 계시다면.. 가상기기를 잠김모드에서 풀어보세요.. 실행되어 있는 상태일 것입니다.

그래도 안되어 있다 하시면

확실한건 아니지만 해보시길..^^;

 

이상입니다!