2016년 12월 12일 월요일

Visual Studio 2005 디버깅 안 될 때




Visual studio 2005 디버깅 안 될 때.

디버깅을 했을 때,  중단점 모양이 느낌표, 노란색 동그라미가 되며
중단점(Breakpoint)에서 안 걸리고 통과되는 오류.


메뉴바에서

프로젝트(P) - 속성(맨 하단) - 구성 속성 - 링커 - 디버깅 - 디버그 정보 생성 : 예(/DEBUG) 로 체크.

프로젝트(P) - 속성(맨 하단) - 구성 속성 - C/C++ -> 최적화 -> 최적화 : 사용 안함 (/Od)로 체크.

도구(T) (Tools) – 옵션 – 디버깅 – 일반 – 소스 파일이 원래 버전과 정확하게 일치해야 함. 체크 해제.

해결.

2016년 12월 9일 금요일

[ mi band 2 ] 샤오미 미밴드2 실시간 심박수




mi band 2
샤오미 미밴드2  실시간 심박수 가능 업데이트


선요약 : 미밴드2 2016.11.01 업데이트로 실시간 심박수 측정 가능!


많은 고민이 있었다. 
스마트밴드 제품들이 그렇게 많지는 않으나, 각 제품 별로 기능 및 디자인이 제 각각이기에.

스마트밴드 디자인, 얇기, 가격대, 기능, 제공하는 어플 UI, 어플 기능, 아이폰 연동 등등
나름 내 성에 차기 위해 이것 저것 따져가며
열심히 포스팅 된 구글 검색을 해보고, 네이버 검색으로 스마트밴드도 둘러보며 고민을 하던 중
결국 제풀에 지쳐 에누리 1위인 샤오미 미밴드2를 지르기로 결정했다.

사실 미밴드2가 출시됐을 때부터 '이거네' 하며 장바구니에 넣어놨지만, 
왜인지, 나만 알고 있던 것이 인기가 많아지면 괜히 싫어지는 근본없는 변덕 때문에 
결국 살거면서 이리저리 후기 둘러보며 고민했던 것 같다. 

디자인 면에선 '모토360', '직토 워크'가 참 땡겼는데, 내가 필요한 거에 비해 굳이 가격이 높았고, 소니 제품들도 디자인 괜찮았는데 보면 볼수록 딱히 가격 대비 별로였고,
막판에 땡겼던 건 '인바디밴드'. 디자인도 예쁘고 기능도 괜찮.
이럴수가 인바디를 재기 위해 보건소를 갔었는데 그것을 지원한다니.
이정도 기능에 이정도 가격이면 투자해볼까 고민하다가 일단 스마트밴드를 사용한 적이 한번도 없고,
대륙의 실수인 샤오미 제품도 써보고 싶었기에 '미밴드2'로 결정했다. 
써보고 괜찮으면 '인바디밴드'로 넘어가리.

가성비 좋은 미밴드2를 뽑고 집에서 뜯었을 때, 포장이 애플처럼 심플하고 깔끔하게
잘 되어있었다. 

뜯으면서 예감이 좋았고, 생각보다 얇았으며, 어플 설치하면서 '워 잘 샀다 잘 샀다 깔깔깔 잘 샀다' 한 거 같다.




뿌듯.
내가 필요했던 핵심 기능은 심박수, 수면패턴, 간단한 화면 표시였다. 
이 두 가지 기능만 필요했기에 '미밴드2'를 구입하기엔 딱이었다. 

우선 내가 이 글을 포스팅하는 이유는 이번에 업데이트 된 실시간 심박수 때문이다.
미밴드2에 관련된 포스팅은 다른 블로그에 상당히 잘 정리되어 있다. 
상세한 기능은 타 블로그에서 확인하면 될 것이다.

'미밴드2' 심박수 기능이 필요했던 이유는
유산소 운동을 할 때, 심박수를 140 이상 유지해야 20분 이후부터 체지방이 연소되기 시작하는데, 그 확인을 위해서 였다. 

그러나.

저 동그란 센서를 누를 때만 심박수를 측정했고.. 
즉 심박수 기능을 작동 시켜서 실시간 내 심장 박동 수를 확인 시켜주지는 않았다. 
내가 원하는 건 심박수 140 유지하며 뛰다가 그 이하로 떨어지면 좀 더 속도를 올리거나 해서 140을 유지하는 거였는데 말이다. 



Mi 피트 : 미밴드2 공식 어플 
Mi HR   : 내가 원했던 실시간 심박수 기능을 제공.

Mi HR 라는 어플이 내가 원하는 기능을 제공하고 있었다. 하지만 어플의 이벤트에 따라 미밴드2가 제어가 잘 안 됐고(stop을 눌러도 안 꺼짐), 연결도 잘 안 될 때가 있으며, 무엇보다 심박수가 꽤나 정확하지 않았다. 






서두가 길었다. ----------------------------------------




그러다 오늘.
2016.11.01 Mi피트 공식 어플의 업데이트가 이루어졌다.

즉슨, 실시간 심박수 기능을 추가한 것!




왼쪽 상단에 사람 뛰는 아이콘이 있는데 바로 이것이다. 실시간 심박수!

눌러서 확인해보면 딱 내가 원하는 기능이 있다.




시작 누르기 전 잠시 설정을 둘러보자.



텍스트 음성 변환은 필요 없어 껐고, 뭐 대충 저런 설정이 있고
이제 뒤로 가서 시작을 눌러보면




이렇게 얼마나 달렸는지 시간, km가 나오고
제일 중요한 실시간 심박수가 나온다. 위에 88이라고 나와있다. 

우측 하단에는

동그란 지도가 있는데 클릭하면
현재 자기 위치를 지도에서 볼 수 있다. 





일시정지를 3초간 눌러주면 저런 화면이 보이며 종료할지 계속할지 선택하면 된다.
어플 UI도 참 깔끔하게 잘 되어있다.


휴대폰 화면이 아닌, 미밴드2 화면 자체만으로 심박수를 실시간으로 확인할 수 있으면 참 좋았을 아쉬움이 남지만
그래도 휴대폰 어플을 통한 이런 확인도 상당히 만족한다.

미밴드2가 어플 UI도 괜찮고, 생각보다 얇았으며, 내가 필요한 기능이 딱 있어
상당히 만족 중이다. (특히 이번 업데이트로, 특히 가성비)

실시간 심박수 측정 기능이 이제 제공되니, 이걸로 고민하는 사람이 있다면
지르면 될 거 같다. 


기타 사항 
미밴드2 는 아이폰 용은 카카오톡 알림 기능을 제공하지 않는다. 
미밴드2 는 아이폰 용은 카카오톡 알림 기능을 제공한다. (업데이트 됨) - 2017.01.11 수정
미밴드2 는 메세지 내용을 화면으로 확인할 수 없고 진동으로 알려주기만 한다.
미밴드2 는 전화가 왔을 때 진동으로 알려주는 기능이 있다.


+ 2017.01.11 추가
미밴드2 에 '스레드밀' 기능이 추가 되었다. 
2016.11.01 실시간 심박수를 측정할 수 있는 기능이 추가(조깅용) 되었는데,
그 이후로, 런닝머신(트레드밀) 버전으로 실시간 심박수를 측정할 수 있는 기능이 추가되었다.




visual studio2005 _debugger_hook_dummy = 0 error 에러





  visual studio 2005 에서 

 _debugger_hook_dummy = 0 error 

 프로그램이 죽는 부분의 에러가 저 메세지라면

 Microsoft Visual Studio 2005 Standard Edition Service Pack 1 를 설치하니,

 해결 되었다. (하아.. 겨우 해결)

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

에서 다운을 받거나 구글에서 Microsoft® Visual Studio® 2005 Team Suite Service Pack 1 를 검색하여 다운 받는다. 

서비스팩 1을 다운 받아 설치할 때
-------------------------------------
업그레이드할 프로그램이 없거나 업그레이드 패치에서 다른 버전의 프로그램을 업데이트하므로,
Window Installer 서비스에서 업그레이드 패치를 설치할 수 없습니다. 업그레이드할 프로그램이
사용자 컴퓨터에 있고 올바른 업그레이드 경로인지 확인하십시오.
-------------------------------------
라는 경고창이 뜨며 설치가 안될 경우 문제 :
-> 만약 영문 Visual Studio 2005를 설치했는데 한글 Service Pack 1을 설치하려고 시도하면 위와같은 에러 메시지를 만날 수 있다.


설치된 Visual Studio 2005에 맞게 다운 받아 설치하였더니 설치 되었고,
설치된 환경에서 컴파일을 하였더니 문제 없이 잘 되었다. 

2016년 12월 7일 수요일

[Linux] Window server 2012 R2, Linux Cent OS 7 듀얼 부팅.set root\



도움을 받은 사이트

설치는 위 사이트에서 순차적으로 따라하면 된다.

요약 :
1. Window server 2012 R2를 설치한다.
2. Disk Management / 축소할 디스크 우클릭 / Shrink Volume
3. 용량 줄인 디스크를 선택하여, Linux Cent OS 7 설치.
4. 컴퓨터가 부팅되었을 때, 부팅 선택하는 부분이 Linux 밖에 안보인다.
5. vi /boot/grub2/grub.cfg
————————————————————–
menuentry “Window server 2012 R2″{
set root='(hd0,1)’
chainloader +1
}
————————————————————–
추가.
재부팅하면 보인다.



2016년 11월 13일 일요일

[Ubuntu] 우분투 메일 보내기




[Ubuntu] 우분투 이메일 보내기

시스템에 오류가 생기거나, 특이사항 발생 시, 내가 알 수 있는 방법이 뭐가 있나.. 
생각해보니 이메일(문자는 안 되고)이 있었다. 

이메일 서버를 구축함에 있어 postfix를 많이 사용하는 것 같았다. 
내 도메인을 이용한 메일서버, 클라이언트까진 필요 없고, 
기존에 있던 구글 이메일을 이용하여, 명령어 한 줄로 이메일 날리는.. 간단한 기능이 필요했다. 


sudo apt-get install mailutils libsasl2-2 ca-certificates libsasl2-modules
sudo apt-get install postfix

// 쭉쭉 설치해준다. 

중간에 뭔가 묻는 게 나오는데 , Internet Site 선택.

  
// 도메인 적으라고 하는데, 나는 iptime 공유기에서 제공해주는 도메인을 적었다.



sudo vi /etc/postfix/main.cf
------------------------------------------------------------------ 수정해준다.
relayhost = [smtp.gmail.com]:587
--------------------------------------------------------------------------------
// relayhost : relay를 하게 될 SMTP 서버를 추가하는 기능이란다.

--------------------------------------------------------- 맨 밑에 추가해준다.
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
--------------------------------------------------------------------------------
// smtp_sasl_auth_enable : SMTP의 SASL 인증 여부를 설정
// smtp_sasl_password_maps : SMTP 비밀번호 설정
// smtp_sasl_security_options : 인증 옵션. noanonymous 로 설정하면 익명 사용자가 접근할 수 없다고 한다. 
// smtp_tls_CAfile : SMTP TLS에 사용할 Certificates 파일을 지정한다고 한다. 
// smtp_use_tls : SMTP 보안 프로토콜을 TLS로 사용하는지 여부를 설정
:wq



sudo vi /etc/postfix/sasl_passwd
-----------------------------------------------------------------------
[smtp.gmail.com]:587    example@gmail.com:비밀번호
-----------------------------------------------------------------------
// example@gmail.com : 자신의 구글 이메일
// 비밀번호 : 자신의 구글 이메일 비밀번호
:wq



sudo chmod 400 /etc/postfix/sasl_passwd
// sasl_passwd 파일 권한 변경

sudo postmap /etc/postfix/sasl_passwd
// Postfix 설정 업데이트



cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem
// 인증서 오류를 회피하기 위한 명령어라고 한다.


cp /etc/ssl/certs/Thawte_Premium_Server_CA.pem /etc/postfix/cacert.pem
TLS 설정을 위한 서버의 Certificates 파일을 지정한 곳에 복사. 


sudo /etc/init.d/postfix reload
// Postfix 재시작




완료.

테스트를 해보자.


echo "e-mail 내용" | mail -s "e-mail 제목" "보낼 이메일 주소"
// 그럼 위에 정한 example@gmail.com -> 보낼 이메일 주소 로 메일이 전송된다.
// 보낼 이메일 주소에 example@gmail.com 똑같이 적으면 이메일이 '나에게' 보내질테고.


재부팅해도 잘 실행되는 걸 볼 수 있다. 


---------------------------------------------------
sudo /etc/init.d/postfix start         // 시작
sudo /etc/init.d/postfix reload      // 재실행
sudo /etc/init.d/postfix stop         // 정지
---------------------------------------------------


// 테스트 해보니, gmail이나 네이버메일은 이상이 없으나
// 한메일은 메일 제목에 한글 깨짐 현상이 있다.



완료. 

2016년 10월 23일 일요일

[운동] 닭가슴살, 삶은 달걀 단백질 함량



[운동] 닭가슴살 단백질 함량 / 계란 흰자 단백질 함량 / 계란 노른자 단백질 함량


 하루 섭취해야할 양
 : 몸무게 1kg 당 단백질 1g
   즉, 체중이 70kg 이라면 단백질 70g (운동시  1.2 ~ 2배) 을 하루에 섭취해야 한다.



 닭가슴살 단백질, 삶은 달걀 단백질 함량

 닭가슴살 100g   = 단백질  20 ~ 24g
 삶은 달걀 한 개  = 단백질 6.6g ( 노른자 3.1g + 흰자 3.5g )


 한 끼당 닭가슴살 100g(단백질 23g)씩 먹으면
 69g 기본 + 알파(일반 식사 단백질 섭취)







2016년 9월 24일 토요일

[Windowform(C#)] 윈도우 폼 사이즈 조절



윈도우 폼 사이즈 조절하는 방법

C# 프로그램 크기 조절하면 ListView 같이 크기 조절.




레이아웃 - Anchor 에 Top, Bottom 에서 Top, Bottom, Left, Right 로 변경




2016년 9월 19일 월요일

[안드로이드] 갤럭시 화면 항상 켜두는 방법.




사용 모델 : 갤럭시 S3

이럴 수가. 휴대폰에 화면을 항상 켜두는 설정이 없었다.



알아보니 어플을 사용하는 수 밖에 없었다.
StayOn 어플을 다운 받아, 꺼지지 않길 바라는 어플들을 체크하면 완료.








필자의 경우, 갤럭시 S3에 Serverauditor 어플로, 우분투 (NAS로 쓰고 있는) SSH로 접속하여, 모니터링 하고 있다.
사..실 목적보단 재미가 크다.





전에 쓰던 휴대폰을 버리지 않고 놔두길 참 잘한 것 같다.

SSH로 접속하는 프로그램으론
윈도우는 putty 투명 버전,
아이폰 및 안드로이드는 Serverauditor 을 사용하고 있다.



끝.

2016년 9월 18일 일요일

[Linux] 우분투 모니터링 명령어 watch




리눅스 모니터링 명령어 
watch
// 이렇게 유용한 모니터링 명령어가 있을 줄이야.

sensors
// (lm-sensors 를 우분투에 설치해야 실행된다.)
// 이 명령어를 치면 온도에 관련된 정보가 한 번 출력 되고 끝난다.
// 내가 원하는 건 모니터링.

> watch sensors
// 를 치면 해당 모니터링 화면에 '온도 확인' 나오고 2초마다 업데이트 된다. 




즉,
watch 명령어
// watch 뒤에 원하는 우분투 명령어를 넣으면 모니터링 할 수 있다.


// 가령 내가 자주 확인하는 부분이
> who
// who 명령어는 현재 접속해 있는 사람을 보여준다.
> sensors
// PC 온도 확인
> free -m
// 메모리 사용 확인 인데, 

> watch who
// 혹은
> watch sensors
// 혹은
> watch free -m
// 로 모니터링 할 수 있다는 것이다.




내가 원하는 건 저 세 가지를 한 화면에 모니터링 하고 싶은 것.
리눅스 watch 두 개 혹은 리눅스 watch 여러 개를 한 화면에 띄우는 명령어이다.


> watch 'who; sensors; free -m'
// ; 로 구분해준다.


// who, sensors, free -m 간 간격이 있어야 가독성이 좋을 것 같다.(putty로 접속했을 때는 간격이 있지만 휴대폰으로 접속할 때는 간격이 없다.)
// 빠져 나오는 건 'Ctrl + C'




최종 
> watch -d 'echo; who; echo; echo; sensors |grep C; echo; echo; free -m'



// watch -d 'echo; who; echo; echo; sensors |grep C; echo; echo; free -m'
// -d : 2초마다 감시하는데, 변화가 있는 부분을 블록으로 표시해준다. (캡처와 같이)
// echo : 한 줄 간격 띄우기 (공백 줄)
// ; : 명령어 간 구분
// sensors |grep C : sensors에서 C 가 들어간 부분만을 원해서. 





도움을 받은 사이트
http://jook.pe.kr/xe/linux/150           // watch 명령어



[Linux] 우분투, 라즈베리파이 온도 확인




[우분투 온도 확인]

우분투 온도 확인 프로그램 설치
sudo apt-get install lm-sensors

센서 설정
sudo sensors-detect        
// 명령어를 실행하면 Yes/No라고 나오는데 전부 Yes로 입력하였다.

서비스 시작
sudo service module-init-tools start
// 참고한 인터넷 블로그에 의하면 이 명령어가 나와있지만 명령어가 안 먹힌다.
sudo kmod start
// 뒤늦게 확인하니, 13.04 에서는 이 명령어라고 한다.



sensors
// 명령어를 쳐보자


// Core 0, Core1 이렇게 두 개만 온도가 나왔다.
// 원래 이런 건 줄 알았는데 PC 재부팅 하고 나니




// 다른 사용자들 처럼 많은 정보가 나오는 걸 볼 수 있다.
// 내가 필요한 모니터링은 Core0, Core1, SYSTIN, CPUTIN, AUXTIN 정도일 듯 하다.






[라즈베리파이 온도 확인]

vcgencmd measure_temp
// 위와 같이 lm-sensors를 설치 후 실행해보니, 감지할 수 있는 센서가 없나보다. 
// No sensors found! 라고 나온다. 
// 라즈베리파이는 그냥 저 명령어로 바로 확인할 수 있다.







[윈도우 온도 확인]

인터넷을 보니 'HWMonitor' 프로그램이 가장 많이 쓰는 것 같다. 
다운 받아 사용하면 될 듯 싶다.




[적정 온도]

CPU 인 경우
0~55도 : 적정온도
56~65도 : 약간 높은 상태
66도 이상 : 과열 상태

하드디스크인 경우
0~ 55도 : 적정온도
51~60도 : 약간 높은 상태
60도 이상 : 과열 상태

라고 한다. 생각보다 온도가 높게 측정되어 걱정했지만 그래도 적정 온도 범주라니 그러려니 하고 있다. 



어쩌다 NAS로 쓰고 있는 PC 온도를 자주 확인해야할 것 같아
우분투에서 모니터링 하는 명령어도 알아보았다.
그 글은 다음 글에.

다음글 : 리눅스 watch 명령어. (모니터링)




도움을 받은 사이트
http://stove99.tistory.com/173                       // lm-sensors
http://antnf3.blogspot.kr/2015/12/cpu.html      // 라즈베리파이 온도
http://adminid.kr/desktop/48421                   // PC 적정 온도에 관한





2016년 6월 20일 월요일

[Linux] 우분투 리눅스 종료 명령어


[Linux] 우분투 리눅스 종료 명령어

Ubuntu 14.04.3 LTS 사용 중이다.


sudo shutdown now 
명령어로 PC를 종료 하면, root 비빌번호 입력을 요구하는데,
입력을 해도 종료가 되지 않는 현상.



종료 명령어.
sudo shutdown -h 0
으로 했더니 잘 종료된다.


리부팅은
sudo reboot
로도 잘 된다.


2016년 5월 14일 토요일

애드센스 광고가 나오는지 해보는 테스트 글입니다.

애드센스 광고가 나오는지 해보는 테스트 글입니다.

2016년 4월 10일 일요일

[Linux] chown 소유주와 소유그룹 변경



[Linux] chown 소유주와 소유그룹 변경


chown [이름]:[그룹명] [파일이름]

 ex) chown ubuntu:ubuntu file1
 ex) chown -R ubuntu:ubuntu folder -> folder 이하 전체 적용.


2016년 3월 21일 월요일

[Ubuntu] 방화벽 설정




[Ubuntu] 방화벽 설정

Ubuntu 14.04.3 LTS 사용 중이다.


확인
sudo ufw status verbose

포트 허용
sudo ufw allow 22

포트 거부
sudo ufw deny 22

포트 삭제
sudo ufw delete deny 22



아이피 포트 허용
sudo ufw allow from 192.168.0.XX to any port 8080

아이피 포트 거부
sudo ufw deny from 192.168.0.XX to any port 8080

아이피 포트 삭제
sudo ufw delete deny from 192.168.0.XX to any port 8080


허용된 상태에서 삭제는 바로 안 되고, 거부를 한 번 거친 뒤, 삭제를 해야 한다.

2016년 3월 8일 화요일

[MFC] command line option syntax error. type command / for help 오류 메세지.




[MFC] command line option syntax error. type command / for help 오류 메세지.


Microsoft Visual C++ 2005 재배포 가능 패키지(x86) 설치 에러가 나타나며,

설치시

“command line option syntax error. type command / for help”

오류 메시지가 뜨며 설치가 안 된다.



1. vcredist_x86.exe 파일을 C드라이브로 이동.

2. 시작 – cmd (명령프롬프트) 실행

3. 명령프롬프트에서

> cd c:\

> vcredist_x86 /t:c:

(임시폴더(/t)를 “C:”로 지정해준다는 뜻의 옵션.)


완료.


도움을 받은 사이트
http://hallang.tistory.com/264



되면 한다.








[MFC] 응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다.




[MFC] 응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다.


Visual Studio 2005 C++ MFC 로 개발한 프로그램(.exe)이 윈도우 XP에서

“응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다. 이 문제를 해결하려면 응용 프로그램을 다시 설치하십시오.”

같은 경고문이 나오며 실행되지 않을 때.

http://www.microsoft.com/ko-kr/download/details.aspx?id=3387

Microsoft Visual C++ 2005 재배포 가능 패키지(x86)

-> 설치.



해결.


되면 한다.

[MFC] 다른 PC에서 컴파일한 실행파일(exe)이 실행 안될 때




컴파일한 실행파일을 다른 PC에서 실행하려고 할 때, 안될 때가 있다.



프로젝트 – 프로젝트 속성 – 구성 속성 – 일반 – MFC 사용(Use of MFC) : 정적 라이브러리에서 MFC 사용(Use MFC in a Static Library)




해결



되면 한다.



2016년 3월 7일 월요일

[MFC] File을 열어서 쓸 때, 한글 입력이 안 되는 경우.



Visual Studio 2005 MFC


File을 Open 해서 CString 으로 쓴 뒤
Close 하려고 하는데, 한글이 안 써지는 경우이다.


#include <locale.h>                    // 추가.

CStdioFile file;

setlocale(LC_ALL, "korean");         // 파일을 열기 전에 추가.

if (file.Open(_T("test.txt"), CFile::modeCreate | CFile::modeWrite))
{
    file.SeekToEnd();                        // 커서를 맨 밑으로 위치.
    file.WriteString(_T("한글입력"));     // .txt 파일 열어서 쓴다.
    file.Close();                               // 닫기
}


해결.


되면 한다.


[MFC] Listbox 순서 관련. Listbox의 아이템이 제멋대로 정렬된다.




Visual Studio 2005 MFC

Listbox의 아이템을 순차적으로 집어넣는데, 아이템들이 가나다 순서로 정렬되어서 들어가, 순서가 뒤죽박죽 되는 현상.


해결
리소스뷰 - Listbox를 클릭 - 속성 - Sort 부분에 True 로 되어있을 것이다.
True로 되어있으면 아이템들이 가나다 순으로 들어간다.

False 로 바꿔주니 해결.


되면 한다.


2016년 3월 2일 수요일

[Visual Studio 2010] LINK : fatal error LNK1123 : COFF로 변환하는 동안 오류가 발생했습니다. 파일이 잘못되었거나 손상되었습니다.




Visual Studio 2010 MFC 에서 컴파일 했을 때

'LINK : fatal error LNK1123 : COFF로 변환하는 동안 오류가 발생했습니다. 파일이 잘못되었거나 손상되었습니다.' 라는 에러메세지가 나왔을 경우.

https://www.microsoft.com/ko-kr/download/details.aspx?id=23691

에서 Microsoft Visual Studio 2010 서비스 팩 1(설치 관리자)를 다운 받아 설치하면 해결된다.
(인터넷이 연결되어 있어야 설치 가능)


현상 : MFC 대화상자 프로젝트를 만들마자마 컴파일을 하였는데 저런 에러가 발생하였다.



해결.


되면 한다.



2016년 2월 27일 토요일

[Ubuntu] 우분투 토렌트 설치 (Transmission)




[Ubuntu] 우분투 토렌트 설치 (Transmission)

Ubuntu 14.04.3 LTS 사용 중이다.


보통 윈도우에서는 uTorrent를 많이 사용하고
리눅스는 Transmission을 많이 사용하는 것 같다. 

해서, 우분투에 설치를 해보았다. 
우분투에 Transmission을 설치하면, 웹으로 접근하여 토렌트를 제어한다. 

Transmission을 위해서 Apache 서버를 설치할 필요는 없다.



1. 
sudo apt-get install transmission-daemon
// Transmission을 설치. 


2. 
sudo service transmission-daemon start
// Transmission 데몬 실행.

sudo service transmission-daemon stop
// Transmission 데몬 중지.

sudo service transmission-daemon restart
// Transmission 데몬 재실행.

// Transmission 데몬을 restart했을 때, 
transmission-daemon stop/waiting
transmission-daemon start/running, process 0000
이 잘 뜬다면 잘 된 것이다.

ps -ef|grep transmission
// 데몬이 잘 떠있나 확인.


3.
Transmission 의 설정 파일을 수정해야 하기 때문에, 일단

sudo service transmission-daemon stop
// 데몬 중지

sudo vi /etc/transmission-daemon/settings.json
// 설정 파일 열기


// 초기 설정 부분을 주석 처리한 뒤 수정하였는데, 그랬더니 Transmission이 제대로 동작하지 않았다.
// 나처럼 바보같은 실수를 하는 사람이 없길. 그냥 바로바로 수정하고 저장하자.

"cache-size-mb" : 캐쉬 사이즈를 설정하는 부분인데, 딱히 파일 다운 속도에 영향을 끼치는지 모르겠어서 적당히 4MB 로 잡았다.
"download-dir" : 파일을 다운 완료했을 때, 파일이 위치하는 디렉토리.
"download-queue-size" : 동시에 다운로드 할 수 있는 수.
"imcomplete-dir" : 파일을 다운받는 중일 때, 파일이 위치하는 디렉토리.
"imcomplete-dir-enabled" : true/false. 사용할 것이므로, true
"preallocation" : 0 은 바로 바로 쓰는 것.  1 은 미리 파일을 만들고 데이터를 쓰는 것. 2는 완전히 파일을 만든 후 쓰는 것. 뭔지 잘 모르겠고 그냥 1로 하였다. 
"rpc-password" : 토렌트를 웹으로 접근했을 때 사용할 비밀번호(입력하고 나면 자동으로 암호화 해주는 듯). 
"rpc-port" : 접근할 포트.
"rpc-username" : 토렌트를 웹으로 접근했을 때 사용할 아이디.
"rpc-whitelist-enabled" : 아무 곳에서든 접속을 하기 위해 false로 설정.
"umask" : 다른 파일 전송 서비스와 충돌이 나지 않는 설정. 0으로 한다. 


ESC
:wq



download-dir, imcomplete-dir 여기에 설정해준 위치의 디렉토리를

sudo chmod 777 -R /example/torrent/ 
// 로 권한 설정해준다. (이걸 안 해주면 토렌트 파일 다운 받을 때, permission denied 에러를 만날 수 있다.)




sudo service transmission-daemon start
// Transmission 데몬 실행.




4.
// 데몬을 실행했으면, 웹에서 접근을 해본다. 

http://본인서버아이피:9091 

// 접속 후, 본인이 설정했던 아이디와 비밀번호 입력.




// Open Torrent 버튼을 누른다. 





// 파일 선택을 클릭하여, 토렌트 파일을 넣고 Upload 버튼을 누른다. 





// 3~7MB/s 속도 나오며 다운로드가 잘 되는 것을 확인할 수 있다. 





5. 
// 모바일에서 접근해본다.

// App Store 에서 Companion 을 검색한 뒤, 다운 받는다. 



// 좌측 상단 + 버튼 클릭.





Name : 어플 목록에 표시될 이름 (원하는 데로 입력)
Host : http://본인서버아이피:9091
Login : 우분투 서버 Transmission 에서 설정했던 아이디
Password : 우분투 서버 Transmission 에서 설정했던 비밀번호

Save 버튼 클릭. 




// 잘 나오는 것을 볼 수 있다. 





// 어플로 토렌트를 추가하는 방법은, 구글에서 토렌트를 검색한 뒤, 
// 토렌트 파일이 있는 사이트로 들어가서, 아시다시피 체크된 부분을 클릭하면




// 이런 화면이 나오는데 
// 우측 상단에 ' 'Companion'에서 열기 ' 를 클릭한다.





// 그럼 어플로 연결되면서, 우측 상단의 'Add' 버튼을 클릭하면 된다. 


// 만약 토렌트 추가가 실패되면, 우분투 서버에서
sudo service transmission-daemon restart
// Transmission 데몬 재실행.
// 해보고, (우분투 서버 최초 부팅 시, 안 되는 경향이 있었다. 그때 Transmission 데몬을 재실행하면 되었다.) 
// 그래도 안 되면, 다른 사이트에서 토렌트를 받아본다. 

자막 같은 경우는 별 수 없다. 토렌트로 다운받는 파일에 포함되어 있으면 다행이고,
따로 다운로드 해야 한다면, Window PC에서 다운 받은 뒤, FTP로 우분투 서버에 전송해야 한다. 





5. 
// 외부에서 접근하기 위해서 포트포워딩 시켜준다. 



6.
// Transmission을 사용하면 문제가 하나 있다.

free -m
// 메모리 사용량 확인


// Transmission에서 파일을 다운받기 전인데, 메모리 4G 중 0.5G 사용 중이다.



// Transmission에서 토렌트 파일을 추가하고, 다운로드 완료한 뒤, 확인해보면, 
// 메모리 4G 중 3G 가량 사용하고 있고, 파일 다운이 완료가 된 상황임에도 줄어들지 않는 것을 볼 수 있다.
// cached 2739 을 정리해야 한다. 


// 이 부분은 다음 글에 포스팅하도록 하겠다.




완료.


도움을 받은 사이트
http://djjproject.tistory.com/54


되면 한다.