2018년 3월 31일 토요일

(Backup) 레디 플레이어 원 후기

게임을 좋아하는 사람이라면 꼭 봐야할 영화

KT vip 초이스 남아서 한번 더 보려다가 그냥 곤지암 예약

내가 두번 본 영화는 쇼생크 탈출과 퍼펙트 월드, 맨온 파이어 밖에 없는 듯.

만만하게 보이지 않는 대화법

영업, 마케팅 하는 사람들에게 필수...

개발은 뭐... 별 관심 안 가지면 된다. 재미가 없으니.


상대방에게 무례한 말을 들었을 때, 참는 것은 바람직하지 않다.
반격하지 않으면 상대방에게 업신여김을 당할 뿐, 자신의 ‘이득’은 전혀 없다.
상대방에게 놀림 받거나 무례한 말을 들으면, 그 두 배로 되돌려줘야 ‘이 사람과 싸우는 것은 관두자’고 생각하게 만들 수 있다.
--- 「상처 받았다면 무심코라도 웃지 마라」 중에서

캐나다 브리티시 컬럼비아 대학의 대니얼 스칼리키(Daniel Skarlicki) 교수는 다섯 팀은 그냥 말없이 복권을 건네주고, 나머지 다섯 팀은 “내가 왜 이렇게 나눠주느냐면……” 하는 설명을 덧붙이도록 했다. 그 결과, 건네주는 사람이 부연설명을 할 때 받는 사람은 굉장히 불공평하게 느꼈다는 사실이 밝혀졌다.
사람들은 확실히 설명하는 것이 상대방이 불만을 갖지 않을 최선의 방법이라고 착각하지만, 실제로 불합리한 것은 불합리한 채로 내버려두는 편이 상대방도 그것을 알아차리지 못한다.
--- 「불리한 지시도 기꺼이 따르게 하는 대화 테크닉」 중에서

하와이대학 블레이크 헨드릭슨(Blake Hendrickson) 교수는 지위가 다르다는 차이만으로도 상대에게 주는 인상이 확 바뀐다는 사실을 실험으로 확인했다. 그가 내린 결론은 이것이었다.
“동일인물이라 해도 직함이 바뀌면 평가와 대우가 달라진다.”
타인에게 가볍게 취급당하고 싶지 않다면 어쨌든 특별한 인상을 심어주는 직함을 손에 넣어야 하는 것이다.
--- 「첫째도 직함, 둘째도 직함이다」 중에서

클래식 음악을 취미로 정할 때 르네상스 시기부터 현재까지의 모든 음악에 통달할 필요도 명곡이라고 불리는 음악도 전부 알 필요가 없다.
‘어, 이 사람은 다른 사람들과는 조금 다른데?’
상대에게 이렇게 생각하게 만드는 게 목적이므로 분야를 최대한 좁혀야 한다. 특별한 취미는 당신을 고급스런 이미지로 보이게 하는데, 특히 지적인 분야의 취미를 가지면 그것만으로도 타인을 주눅 들게 만들 수 있다.
--- 「모차르트와 베토벤보다는 이 사람」 중에서

어떤 자리에서든 말할 기회가 생기면, 아무리 진부한 의견이라도 당당하게 자신의 의견을 말해야 한다. 미시간주립대학의 박희선 교수도, ‘어떤 의견이든 확실히’ 말하는 편이 다른 사람에게 바람직한 평가를 받는다고 하는 데이터를 밝혀냈다. 입을 다무는 것이 가장 좋지 않다는 것을 알 수 있는 연구다.

프리랜싱 한달하고 불성실 납부자


수억을 탈세하고도 누군가는 성실 납세자 상 받는 것을 봤는데

난 2년전 일 때문에 불성실 납세자가 되었다.

왜 이런 소식은 등기로 보내고 전화까지 주지만

관련해서 지식을 전할 때는 우편으로 보냈는데요?

라고 할까?

국세청과 세무서... 그리고 똑똑한 세무사들.

우리나라에 돈 관련해서는 절대 AI 도입이 안될 것이다.

사실 이건 내가 생각한 것이 아니라 스타트업에서 배웠다.

나도 더 똑똑해져야 겠다.


맥북 배터리 사이클 수

확인하는 방법은 많은데, 그 숫자가 어떻게 올라가는지 써 놓은데는 없어서 실험을 해 보았다.

2가지 결론이 있다.

1. 충전할 때 되는 것이 아니라 처음 잠자기 모드 팝업이 나오는 시기이다.

즉, 충전 조금 하고 쓰다가 충전기를 연결하지 않으면 잠자기 모드 팝업 경고 팝업이 뜨는데

그 때 배터리 사이클 수가 올라간다는 것.

2. 계속 전원을 연결해 놓았을 때 특정 시점에 올라간다는 것.

사실 2가지 결론이 나온 이유는 1은 확인을 했는데 2를 확인하려면 시간이 좀 걸릴 것이라는 것이다.

2를 실험하기 위해서는 계속 충전기를 꽂아놓은 상태의 맥북이 있어야 한다. 계속 들고 다녀야 하는

특성 상 실험하기는 힘들다. 다만 틀리지 않은 가설인게 이전에 사용하던 3년된 맥북의 경우 거의 꽂아만

놓았는데 배터리 사이클수가 올라갔다는 것. 물론, 3년이 넘어도 배터리 체크 프로그램으로 본

수명은 '건강' 상태였다.

흠...


리터닝 비지터가 10% 였는데

줄었다.

슬픔

다음을 시작 페이지로 설정 

체크 박스를 저런데 넣은 놓은 것 만큼 슬픔

그래도 이런 곳이 덜 사기라는 생각에 더 슬픔

내가 사업하면 안 그럴 수 있을까?


무제한 이래서 호스팅 받았는데 몇기가 넘어가니 어뷰징이라고
차단시켜 버리고 ㅠㅠ 그것도 오래 썼는데 말이지.

다른 변하는 서비스들을 봤을 때

처음 약속을 지키는 것은 정말 어렵다는 것을 알게 된다.

약속은 함부로 하지 말자.

돈 벌기 전에 깨달아서 다행이다.




심심해서 SSD 성능 테스트 해 봄.


이번에 새로 산 트랜센드 SSD와 기존 ADATA 툴을 이용한 성능 비교




삼성 SSD 성능
SATA가 아닌 USB 3.0으로 테스트
저 속도가 맞고 일전에 테스트 했을 때 SSD는 다 별차이 없었다.
840 PRO도 그랬고.

나의 결론은 다 똑같다는 것.

마하 익스트림 사고 싶다는 것 뿐.

T인지 M인지 S인지 말 안하고,
용량과 속도로 안 속이는 브랜드 제품이 가지고 싶다.


그리고 다음 스토리지는 PCIE 타입으로...


2018년 3월 30일 금요일

0xc000000e

boot using another device like a USB or something

C:\Windows\system32>bcdedit /set {bootmgr} device partition=C:
작업을 완료했습니다.

C:\Windows\system32>bcdedit /set {memdiag} device partition=C:
작업을 완료했습니다.

C:\Windows\system32>bcdedit /set {default} device partition=C:
작업을 완료했습니다.

C:\Windows\system32>bcdedit /set {default} osdevice partition=C:
작업을 완료했습니다.

C:\Windows\system32>bcdedit /ems ON
작업을 완료했습니다.

C:\Windows\system32>bcdedit /bootems ON
작업을 완료했습니다.

2018년 3월 29일 목요일

samsung series 9에 깔린 맥을 지우며...

high sierra까지 올렸는데 지우려니 참 아깝다. ㅠㅠ VMDisk 가 차지하는 용량이 40기가다 보니 256 SSD에 많은 부분을 차지하는 것도 사실이다. vs 2008, 15, 17 + 자료들을 사용하다보니 실컷 업데이트 다하고 지워야 하는 상황...
VMWARE 만 구글 드라이브에 올려놔도 되는데 맥북 에어에서 개발하면 되지 굳이 윈도우에 다시 올릴까 싶다. 물론, 같은 13인치라도 삼성 노트북이 더 가벼도 휴대성은 좋다.

지우자.

삼성 노트북에서 VMWARE 로 macOS high sierra가 잘 동작한다는 지식만 남기고.

2018년 3월 28일 수요일

기억보다는 기록이 정확하다.

가끔 bar를 간다. 결혼했고 딸애도 있는데, 아직은 세상에 BAR가 많다.

정기적으로는 아니고 업무하다보면 bar로 불려가는 경우가 있다.

돈 아까워서 스스로 가진 않는다. 결혼 전에는 바를 배우고 먼저 간 적도 많았지.

뭐, 워낙 퇴폐 업소가 많아서 BAR는 그나마 건전한 축에 속한다.

돈은 많은데 정말 이야기 할데가 없어서 가는 사람도 많다는 것도 알고.

누군가와 몇 번 같이 갔는데 시간이 흐른 뒤

자신은 그런데 안 간다고 말하는 분을 보면서...

그리고 진심으로 이야기하는 것을 보고

그런 사람이 몇 명 더 있다는 것도 보고

확실히 알게 되었다.

기억보다는 기록이 정확하다는 것을.

기억보다는 기록이 정확하다.

기록해 둔다.

내 기억도 왜곡될 수 있으니.

개발자 유머

이번 버전은 집단지성


다음 버전은 봉화라... 아마 성공하지 못할 듯

비공개

비공개

온라인 전입신고

본인 공인인증서 외

세대주 공인인증서도 있어야 한다.

http://comterman.tistory.com/1655

정리 잘하심

동사무소 안가고 잘 마무리 했다.

페이스북 페이지 완전히 되돌려 놓았다.

김구 안녕하세요? 모르페우스에 몸담고 있는 하준호입니다. 개인적으로 회사 홍보에 도움이 되고자 2011년 만든 페이지를 2016년 경에 잠깐
변경했었습니다. 늦었지만 17K 회원분께 진심으로 사과드립니다.처음 취지에 좋아요를 눌러주신 분께서 빠져나가( 2천명 이상 ) 아쉬움이 남지만 뒤늦게라도 본 취지를 살려 페이지를 운영하고자 합니다. 고맙습니다. 하준호 드림.



그리고

1981beauty는 삭제되었다.


고화질(5M)이상 만개 사진이면 50기가. 하나의 페이지에 그렇게 많이 할당하는 것은 구글이 아닌이상 문제가 있겠지. 블로그에 올리는 것도 주책인 것 같아서 이제 그만 올리려고 한다. 페이스북과 같이 구글도 별로 안 좋아할 것이 분명하고, 회사에서 torrent로 자료실 만드는 프로젝트를 하는데 따로 공유할 사이트를 만드는 것이 더 현명한 것 같아서이다. 뭐, 이미 많으니 굳이 만들 필요는 없지만 포르노가 목적이 아니라 아름다움에 집중하고 그것을 이용해서 bra free 운동에 신경을 더 쓸 수 있지 않을까라는 생각에서다.

뭐, 굳이 그렇지 않더라도 나 자신이 자유로운 생각이면 좋을 것 같다. 켄달제너같이 유명 배우가 bra free 운동(#freethenipple)을 해도 국내 정서에는 아직 영향이 없다.

http://theqoo.net/index.php?mid=square&filter_mode=normal&document_srl=297897819

나같은 생각을 하는 사람이 많아졌으면

https://www.huffingtonpost.kr/entry/story_kr_5a8ce791e4b00a30a25089c4

이런 사지은 외설보다 예술에 가깝지 않은가?

와이프 말대로
얼굴 보지 않고 구멍만 찾아 다니는 발바리 기사가 많다.

내 생각은
남중, 남고, 군대, 공대가 남녀 공학보다 더 위험하다는 생각이다.

그래서 ㅄ 같은 것들이 결국엔 약한 여자를 죽이는 것.

살인자는 쓰레기들이다.

강한 남자를 죽이는 사람 빼고.

살아보니 하성이 말이 맞더라.

원래 금수저라 그만의 삶인 줄 알았는데,

아닌 것 같아.

주변에 모든 것들을 조금씩 버리기 시작했다.

매일 오던 인터넷 쇼핑도 며칠 째 안오고 있고

쇼핑 앱도 거의 안본다.

너무 많아서 버리기에 시간이 걸리지만 40까지는 모두 정리하려고 한다.

주변것들을 다 없애지 않아도 뭐가 중요한 것인지는 이미 알고 있지만,

주변 것들이 점점 커지면 중요한 것이 안보이기도 할 것 같다는 느낌이 들었다.

물건 중에 가장 많은 것은 책이고,

한번 정리하겠다고 마음 먹어서 수백권을 나눠주었는데

yes24 VIP 될 정도로 많이 구입하고 안보는 책이 많다보니...

어떻게 할지 조금 고민이긴 하다.

책이 많으면 습도 조절도 되고 보기 좋다고 하지만

미니멀 라이프를 하려면 온라인으로 가지고 있어야 하는 것이 맞다.

그래 조금씩 버리자.

필요없는 것들은 정리하고 가지지 말자.



살아보니 엄마 말이 맞더라.

인간의 진면목을 보려면

사람 때문에 힘들고,
사람 때문에 고민하고, 등...

맞는 것 같아.

그래서 지금까지 좋은 추억을 쌓은 것 같다.

그리고 사람 만나러 가보면 아직 삼성 선배들이 좋게 보고 같이 일하자고

하는 분이 꽤 있는 것을 보면,

결국은 사람이구나 한다.

그래도 앞으로는 조금 영악해 져야할 것 같다.

죽어서 갈 곳은 천국이 아니라 지옥으로 정했다.

2018년 3월 25일 일요일

웹서버 인증

https://www.ssl.com/article/dv-ov-and-ev-certificates/
EV 인증 너무 비싸다.


Apache-ModSSL
Microsoft IIS 1.x to 4.x
Microsoft IIS 5.x to 6.x
Microsoft IIS 7.x and later
Java Web Server (Javasoft / Sun) 
Tomcat
Citrix
Oracle
IBM HTTP Server
WebtoB

하드 교체



삼성 ssd 4년이상 되어 클론 복제 하려고 트렌샌드 샀다

useasy 솔루션은 제대로 동작되지 않았고 오히려

트렌샌드에서 기본 제공하는 어플에서 클로닝이 제대로 되었다.

SSD 수명은 4~5년이라 생각한다.

물롬 24시간 켜 놓는 기준인데 삼성 제품에 TLC는 별로 신뢰가 안가서... 840 850 pro 버전도 딱히....

워낙 당해서 말이다 ㅠ -> 물론 삼성은 DDR 메모리는 좋다.

결국 이 포스팅은 시간 낭비...
http://rocksea.tistory.com/326


기술, 소프트웨어 특성상 지나간 자료는 실제로 동작하지 않는 경우가 많다.

에일리언웨어 무게


6.67kg

어댑터 포함

원래 텀블벅 취지

지금은 '판매'가 되어버렸다. 네이버 투자 받고

5월 6일 23:13
안녕하세요, Joe HA님.
좋은 프로젝트로 텀블벅을 찾아주셔서 감사합니다 :D
텀블벅에서 프로젝트 결과물 이외의 선물을 협의된 제품이나 협찬받은 제품으로 제한하는 이유는, 크라우드 펀딩 자체가 '판매' 로 인식될 소지가 있기 때문이랍니다.따라서 구입 후 협의 없이 제품을 선물로 구성하는 것은 '재판매' 로 인식될 소지가 있기 때문에, 구성에 유의해주시기를 부탁드립니다.
아직 책 세부 사항이 확정되지 않았다면 확정되는대로 포함시켜 주세요 :)
정산 안내 드립니다(중요)
1.정산 일정
프로젝트가 성공적으로 마감이 되면 익일 오전 8시 경 일괄적으로 후원금 출금요청이 들어가며, 이때 성공적으로 인출완료된 금액에 대하여 오후에 1차 정산이 이루어집니다.
그리고 프로젝트 마감 익일 인출되지 않은 후원 건들에 대해서는 프로젝트 마감 후 2주까지 매일 재인출 시도가 들어가게 되며,
재인출 중에 있는 건들이 모두 정상적으로 인출완료가 되는 날짜로 2차 정산이 이루어집니다.
다만, 프로젝트 마감 2주 후까지 여전히 출금이 이루어지지 않은 건들은 누락처리되고 출금된 금액에 대해서 정산이 됩니다.
이때 2차 정산이 이루어짐과 동시에 텀블벅에서 메일로 세부명세서를 보내드립니다^^
참고로 인출현황은 tumblbug.com 로그인 후 프로젝트 페이지 좌측의 톱니바퀴를 클릭 -> '후원자 관리하기' 에서 모든 명단을 다운받으셔서 확인하실 수 있습니다.
2.수수료
기본적으로 정산에는 텀블벅 수수료 5%(VAT별도) + 결제대행사 수수료(카드의 경우 2.8%/계좌의 경우 건 당 650원(VAT별도))가 차감되고 입금이 되며, 후원자분들의 지불정보(카드or계좌)에 따라 유동적으로 최종 명세서는 2차 정산시에 메일로 받아보실 수 있습니다.
3.세금계산서
프로젝트가 성공적으로 마감이 되면, 마감일 익일 계약서가 첨부된 프로젝트의 성공적인 펀딩을 축하드린다는 메일을 발송해드립니다.
계약서를 확인 후 입금받으시는 성함과 동일하게 작성을 해주신 후 서명을 해주시고 신분증 혹은 사업자등록증과 함께 회신을 주시기 바랍니다.
입금을 받으시는 예금주명과 동일한 계약서 및 사업자등록증 앞으로 2차 정산이 이루어지는 날짜로 텀블벅이용수수료 및 결제대행사수수료에 대한 세금계산서를 영수처리하여 발행해드립니다.
승인하였습니다.
확인 후 런칭하기 버튼을 눌러주세요.
감사합니다.

지금은 프로그래밍 잘하는 후배에게 보냈던

누구든 어렵게 느껴지는 부분이 있는 것 같다.

최근 포항공대 이승용 교수님 강의를 들으면서 느낀점은

확실히 많이 아는 사람이 쉽게 가르친다는 것이다.

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

진도를 못 따라가는 xx 에게...

네가 얼마 전 비트 초급 교육을 받으면서 진도가 어려워 포기했고 따로 공부한다고 했을 때 많이
아쉬웠었어. 물론, 네 뜻대로 빨리 가는 것보다 하나하나 짚고 가고 싶고. IT 전공자가 아니라 안개속을
걷는 것 같은 기분일 것은 나도 잘 알거든. 누군 태어날 때부터 프로그래머가 있니? 또 공황장애가
있다고 하니 글로 주는게 앞으로 너에게도 좋을 것 같아서 이렇게 쓰기로 결정 했다. 지난 5년간 대학생
멘토링 하면서 느꼈던 것이지만 너희들도 선/후배들이 많으니 이미 아는 것들 것 많을거라고 생각했어.
그러나 내가 안다고 생각하는 순간 더 배울 자세를 잃어버리기에 너에 대한 이야기를 더 듣고 싶었지.
주변에 금융쪽으로 간 친구들이 있어서 초봉이 5000이 넘고 해도 IT 업계에서 개처럼 산다는 것을
본다는 말과. 창업해서 엑싯(exit)만 하고 살아도 좋겠지만. 일은 일이고 IT 업계에서 칼퇴해서 자기
삶을 살고 싶다고 말할 때 이과 field(삼성전자 무선 사업부 6년)에서는 그러지 못하고 문과 field(본사
staff 1년) 에서는 그럴 수 있었던 기억을 떠올리며, 네가 오아시스처럼 느껴지기도 하더라. 그러나 이미
16년 전 내가 대학교 막 들어갔을 때에도 후배들이 한국 IT는 썩었다면서 일본을 준비하고 또 일본으로
취업한 것을 떠올려보면 이미 4학년인 너도 알만큼 안다고 생각해.

그러나 나도 개발을 2번 떠나서 취미로 하다가 다시 돌아올 수 있었던 것은 재미가 있어서야. 뭔가를
만들 때 드는 기분은 정말 좋거든. 미쳐서 성공하던지 논리적으로 망하던지 두가지 선택권이 있다고
생각해. SI라고 해서 System Integration 시장이 3조 가까이 돼. 그리고 기본 지식도 필요 없고. 그래서
너도 이것을 하게 된거고. 전공자들 학교 커리큘럼들도 거의 SI 인력 양성에 맞춰져 있어. AR, VR, 비트
코인이나 이더리얼등을 어떻게 따라갈지 걱정이긴 해. 그러나 주입식 교육 덕택에 한국이 수학은
잘하잖니. 그 덕분에 뒤늦게 배웠지만 열정을 불태운 사람들에게 독일이나 중국 일본등 국가 차원에서
한국에 러브콜을 보내는 정보를 저번주 아는 기자에게 받았어. 외국에 나가는 것만 희망이 된 이유를
알고 있지만 말하자면 너무 길어서 나중에 조금씩 말해 줄께.

우선 네가 가장 먼저 알아야 할 것은 추상화야. 내가 추상화 관련해서 쓴 글이 있어서 그대로 붙여넣어
볼께.

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
전공자 멘토링을 하다 보니 [추상화] 관련 헷갈리는 학생이 있습니다. 확실하게 개념을
잡아 주세요. 추상화는 抽象化, 뽑을 추, 꼴 또는 모양 상, 되게 할 화.입니다. 어떤
것에서 뽑아내는 방법을 말합니다.

진짜 추상화입니다. 추상화가 잘되었습니다. 누가 봐도 사람이지요. 사실적 표현
양식과는 다르게 작가의 눈에 비친 인간의 내면 모습까지도 표현해 냈습니다.

발전설비, 전기 설비, 집으로 오기까지 변압 과정들, 전등과의 배선에 대해서 전체를
모르더라도 스위치를 ON 하면 불을 켜고 OFF 하면 불을 끈다는 것을 알고 있습니다.
첫 번째 추상화와 두 번째 스위치. 모두 추상화 과정을 거쳐서 나온 결과물입니다.

이것을 API라고 합니다.

CBD, 모듈, 프레임웍, SOA, EAI, PaaS, SaaS, DBaaS, IaaS  등도 추상화 과정을
거쳐 나온 API의 일종입니다. System.out.println('HELLO WORLD"): 을 쓸 때 화면에
점을 찍는 방법 ASCII CODE나
UNICODE, JVM 프레임웍을 거쳐 RAM에 저장된 내용이 CPU를 거치고 메인보드의
노스브릿지를 거쳐 그래픽 카드로 가고 GPU에서 여러 처리 과정을 거친 뒤 D-Sub,
DVI, 혹은 HDMI 등을 거쳐 모니터로 표현되고 모니터에 H라는 글자를 찍을 때 점의
위치 조합과 색 표현 방법, 주사 방식, 주파수 등 다 몰라도 됩니다. System.out.print 가
화면에 찍는 API라는 것만 알면 되지요. 이것을 추상화된 API라고 부릅니다.

또 간단히 API라고 부릅니다.

[추상화]와 [API] 우선 이렇게 짚고 이해를 하기 시작하면 많은 용어들에 대한 안개가
걷히게 됩니다. 깊게 들어가다보면 여러 해석들이 나눠지지만 뿌리는 이렇습니다.

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

장황하게 설명했지만 간단하게 말하면 구체화의 반대말이 추상화고, 추상화는 내부 구현을 몰라도 쓸
수 있게 만드는 방식을 말해. API는 그렇게 나온 결과물이야. 사실, 세부적으로 설명했던 노스브릿지,
그래픽 카드 등의 내용들은 세부적으로 찾아보면 더 세밀하게 나눠질거야.

IT에는 분야가 정말 많아. 다 시장의 요구 때문에 만들어 진 것이고.
전문화가 필요하다보니
내과의사, 외과의사, 소아과의사 처럼 분야가 나누어 지게 되었어.

그 중에 데이터 구조와 알고리즘, 운영체제 이론은 기본이라고들 해. 이 둘을 공부하다 보면 아마 결국

수학이라는 학문에 봉착할테고 더 공부하려면 개발자가 되어 만들기 보다는 학교로 돌아가서 더
공부하고 논문을 쓰는 쪽으로 가게 되어 있어.
딱 잘라 말하면, CREATOR는 아니야. 페이스북의 주커버그도 이제 바쁘고 너무 잘하는 사람들이
많아서 경영에 집중할거라 생각되. 걔는 Top coder에서 등급이 좋지 않았다고 이미 알려져 있지만 어떤
코드던 사람들의 이목을 이끌었지?

그게 RUN & FIX 방법이야. 일단 만들고 실행해 보는거지. 보통 초급단계에서는 RUN & FIX를 하고
중급 단계로 가면 TDD라고 테스트 주도 개발을 하게 되어 있어. 1인 개발자라면 자기 손에서 제품이
완성되어 끝나기 때문에 RUN&FIX가 맞지만. 일반적 기업에 가면 완결된 제품을 만들기 보다
아키텍트가 만든 전체 설계에서 특정 부분을 담당하고 모듈을 만들게 되거든. 해당 모듈은 다른 부분과
연결돼. 내가 모듈로서 해야 할 일은 return 값을 주거나 파라미터로 넘어온 값을 변경시켜 주는 거야.
Int blahblah(int parm) { return someIntvalue ; } 이런 식이지. 모든 언어가 똑같아. C던 자바던 C++이던
C#이던 최근 나온 SWIFT 던. 리턴이 없으면 void라고 해. 즉, 이런 리턴값을 테스트하는
테스트케이스를 먼저 만드는 것을 테스트 주도 개발이라고 해. jUnit은 그것을 하기 위한 툴이야.
하지만 중급에서 고급으로 넘어가면 다시 Run&Fix를 하게 되어 있어. 그 이유는 곡브 프로그래머는
대부분 하드웨어까지 고려한 커다란 모듈 개발을 하거나 설계를 하게 되는데 모든 모듈의 테스트
케이스가 작성되어 있다고 해도 모듈 끼리 연결된 부분의 테스트 케이스는 작성하기가 까다롭고
만드는데 오래 걸리고 또 그렇게 만들었다고 해도 100% 확신하지 못해. 코드 레벨에서 테스트하는
것을 화이트박스 테스팅이라 하고 RUN&FIX로 테스트 하는 것을 블랙 박스 테스팅이라고 해.
운영체제까지 포함된 프로젝트는 전부 RUN&FIX라고 보면 되. 안드로이드 폰 만들 때에도 수억을 받는
사람들로 구성된 수많은 부서들이 테스트 케이스를 작성해서 개발자에게 줬지만, 사실 그 정도 지식이
있으면 개발을 해야 하는데 실제 제품 개발하는 사람들이 지식 수준이 더 높으니까 제대로된 테스트
케이스가 될 수 없었지. 결국엔 다 RUN&FIX로 가는 거야. 워낙 개발하는 사람들이 많으니까
RUN&FIX를 빨리 하기 위해서 Jenkins라는 지속 통합 툴을 써. 사실 지속통합하고 빠른 피드백을 주는
것 자체가 애자일 개발 방법이라고 보면돼. 설계 전체 다 하고 개발하는 방식은 요즘 점점
쇠퇴해져가고 있어. 왜냐면 속도가 잘 안나거든. 그러나 프로젝트 규모에 따라 전체를 설계하고
개발해서 한방에 컴파일 하는 것이 waterfall 방식이야. bigbang이라고도 하지. 사실 나도 개발
방법론만 해도 많은 강의를 들었지만 실무에서 그렇게 되는 것은 단한번도 못봤어. 그렇게 이론
주장하던 사람들이 결국에는 개발을 못하는 것을 사람들이 깨달았기 떄문이야. 그래서 가르침 없는
push가 시작되고 그들의 자리를 지키기 위한 정치가 시작되는 거지.

자 그럼, RUN&FIX라고 하면 좀 싸보니까 애자일 방식을 채택하고 블랙박스 테스팅을 주로 하는
개발을 살펴보자. 프로젝트가 커지면 블랙박스 테스팅도 매번 못해. 개발시간 보다 테스트 시간이 더
걸리게 되거든. 그래서 릴리즈를 해서 버전을 fix해. 블랙박스 테스팅의 포인트는 FIX된 버전에서는
전에 릴리즈된 버전에 비해서 기능이 더 추가되던지 버그가 줄던지 해야해. 하드웨어 변경 사항이
있었다면 기능이 안 들어가고 버그가 늘어나도 어쩔 수 없으니까 일단 버전을 픽스 해서 문제점들을
뽑아 그걸 bug report 라고 하고 bug report를 관리하는 툴들이 많이 있어 JIRA나 레드마인이 그걸 해
주는 툴이지 최근에는 bitbucket이나 github에도 이슈(버그)관리를 해줘. bitbucket이나 github은 버전
관리 툴이야. 둘이서 작업할 때 한 사람이 작업하다가 저장하고 다른 사람이 수정도 안했는데 덮어써
버리면 수정 내용이 날아가 버리지? 그래서 모든 변경 사항을 저장하는 것이 버전 관리 시스템이야.
CVS, SVN, TFS, GIT 이 그 중하나고 GIT 리눅스 커널 개발로 HOT하게 되서 사람들이 많이 쓰니까
관련 사이가 나온게 github이랑 bitbucket이지. 특히 github은 일전에 sourceforge가 가지고 있던 소스
메카의 역할을 가져갔어.

이정도 히스토리를 알면 개발 준비는 끝난거야. 블랙박스 테스팅 & 지속 통합 & github

이제 추가적으로 더 알아야 할 것은 추상화된 것들 반대로 구체화 해서 내려가야 하는 점이야. 우선
C와 C++은 같다고 해 둘께. 사실 같지는 않아. 그러나 C++을 창시한 사람이 처음 한게 C로 번역되는
번역기를 만들었어. 그래서 C/C++로 혼용해서 쓰여. C/C++은 니가 잘 아는 애플의 맥에서 쓰이는
LLVM, 자바의 핵심인 JVM, 그리고 다른 대부분의 언어들을 만들었어. 즉, C/C++은 다른 언어들의
아버지고 그 자식들은 부모에게서 상속받은 애들이지. 결국 모든 언어가 하나로 통한다는 거야.
이론적으로는 이렇게 간단하지만 개발을 하려면 세부 내용을 알아야 겠지?

우선 Visual Studio 2015 Community 버전을 설치 해줘. 윈도우를 선택하는 것과 Visual Studio를
선택하는 이유는 운영체제가 Microsoft에서 나왔기 때문이야 즉, 추상화된 API를 만드는 회사에서 그
것을 다루는 툴을 냈기 때문이지. 그러나 만드는 실력은 회사마다 달라서 다른 실력있는 회사가 시장
장악을 못하도록 무료로 푼 버전이 있어. 뒤에 express나 community가 붙으면 무료라고 생각하면 되.

자바를 배우고 있는데 왜 쌩뚱맞게 Visual Studio 냐고? 자바도 할거야. JDK8 랑 Eclipse mars2 도
준비해 줘.. 결국 언어는 다 똑같다는 걸. 결국 추상화된 것을 이용할 수 있게 해 주는 것 뿐이야. 그러나
혼자 개발하는데는 한계가 있어. 그래서 여러 사람이 개발하기로 했고. 서로 대화를 하기 위해
최소한의 데이터 구조, 알고리즘, 운영체제 이론을 공부하기로 했지. 또 자주 사용하는 코드들을
정형화 해서 패턴이라는 것도 말들었어. 이보영의 패턴 잉글리쉬도 똑 같은 개념이야.

아마나 요리사가 될 수 있지만 누구나 맛있는 요리를 만들기는 힘들지? 또 한부분만 알아서는 제대로
만들 수 없어. 그래서 기본적으로 프레임웍으로 나뉘어져. 윈도우 개발자, 안드로이드 개발자, 아이폰
개발자 등. 하나의 프레임웍에 특화된 개발자로 성장하지. 자주 쓰는 API, 프레임웍에서 허락한 API
들을 알고 또 구현 방법을 알고 있지. 초급에서 중급으로 가려면 프레임웍 정도는 만들 줄 알아야해.
그것을 만드는 방법은 그리 어렵지 않아. 프레임웍 이라는 것은 다른 것들이 개발될 수 있도록 쓸 수
있는 API를 만들면 되. 또 그들이 서로 소통할 수 있도록 메시지 큐 구조를 집어 넣으면 되. 말은 쉽지만
관련 코드를 짠다면 어마어마 할거야. 그러나 그것도 가르쳐 주려고 해 .지금은 그 단계까지 배우기
위한 기초야.

Visual Studio 2015 Community를 설치했으면 실행해봐. 에디터가 나오지 그게 IDE(통합개발툴)이라는
거야. 그런데 지금 그걸 사용하지는 않을거야 창을 닫고 탐색기를 열어서 어디에 설치 되었는지
찾아봐. 못 찾겠으면 윈도우키 +R 을 누르고 regedit를 쳐서
HKEY_CURRENT_USER
SOFTWARE
  Microsoft
VisualStudio
14.0_Config

를 차례로 따라가면

InstallDir

이 보일거야

나의 경우에는
F:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\

가 경로에

거기에서 devenv.exe 를 치면 IDE가 실행되는 거야.

Devenv.exe는 IDE 파일일 뿐이고 네가 윈도우 프로그램을 만든다고 하면 소스 파일
(*.c, *.cpp)를 컴파일 해서 오브젝트 파일(*.obj)로 만들고 실행파일(*.exe)로
만들어야해. 그것을 실행하면 윈도우에서 프로세스가 되거든. 현재 실행되고 있는
프로세스를 RUNNING PROCESS라고 해. Ctrl+Shift+ESC를 눌러서 나오는
프로세스들을 종료하면 프로그램도 같이 종료되어 버려. 우리는 많은 프로그램들을
동시에 실행시키지? 실제로 운영체제는 동시에 프로세스를 실행시키는 것이 아니라
짧게 짧게 한번씩 실행시켜줘. 그런데 그 스위칭이 너무도 빨라서 마치 동시에 실행되는
것처럼 보여. 이것은 컨텍스트 스위칭이라고 하고. 이것을 수행하는 주체는 커널이야.
정확히 말하면 커널의 스케쥴러가 그 일을 담당해. 커널에 접근하려면 커널 영역으로
들어가야 해. 크게 보면 커널 영역과 유저 영역이 있는데 커널 영역에 근접한 프로그램
중 하나가 디바이스 드라이버 라고 보면 되. 점점 하부단 API를 쓸 수 록 고급
프로그래머의 느낌이 있지? 실상은 달라 일정 수준 프레임웍을 파악하기까지가 힘들지
개발을 해보면 무한 RUN&FIX야. 로고나 디버깅을 위해 잠시 멈출 수 있는 BREAK
POINT를 잡을 수 있다면 모르겠지만 하부단 프로그래밍 하다보면 아예 알 수 없는
부분이 있어. 칩간의 커뮤니케이션인 IPC도 그 중 하나인데 이런건 RUN&FIX나
블랙박스 테스팅으로 개발하기가 힘들어. 칩단 디버깅 툴 중에 시중가 1000만원.
대량으로 사면 600만원 하는 TRACE32가 있어. 그런데 이것도 브레이크 포인터를 루프
안에서 걸다보면 계속 죽어서 삽질의 연속이야 ㅠㅠ

자 우리는 거기까지 가지는 않을거야. 하지만 해봐야하는 것은 맞아. 그래서 프레임웍을
이해하고 앱을 더 잘 만들 수 있어. 일례로 안드로이드 프레임웍은 앱이 죽어도
프레임웍이 잘 캣치해서 운영체제는 죽지 않는 것으로 알잖아? 아니. Notification bar를
계속 띄우다보면 폰이 아예 죽어. 윈도우도 블루스크린 뜨잖아? 결국 하부단을
이해하고 잘 자야 한다는 것이지. 그래서 IDE 말로 command상으로 개발하는 거야.

우선 헬로우 월드를 띄워보자.

#include <iostream>
int main() {
printf("hello world");
return 1;
}

이게 소스야. 윈도우 + R 눌러서 층 치면 까만창이 나오지?

거기서 copy con a.c 를 치고 저 코드를 친 다음 Ctrl+Z를 눌러봐
그럼, 파일이 하나 생겨. 그냥 에디터로 만들어도 되긴해 
자 그럼 실행하려면 컴파일-링크 과정을 거쳐야 한다고 했지? 컴파일 하려면 cl.exe /c ,
링크하려면 link.exe가 필요한데 cl.exe 만 실행시켜주면 자동으로 컴파일이랑 링크
과정을 거쳐

cl.exe a.c 라고 해보자.

에러가 뜰거야.

{에러화면}

cl.exe를 찾을 수 없어서 뜨는 거거든.
윈도우 환경 변수 세팅을 하고 다시 윈도우키 +R을 눌러서 커맨드 창을 띄워야해.

고급 시스템 설정에 들어가서 path 설정을 해 줘야 해. path라는 것은 현재 내가 있는
디렉토리가 아니더라도 다른 디렉토리의 파일을 실행할 수 있도록 해 주는 거야.

환경변수로 가서

시스템 변수에 Visual Studio의 cl.exe가 있는 디렉토리를 찾아서 넣어줘
F:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
나는 경로가 이렇네. Cl.exe 를 찾을 때는…

이렇게 탐색기 검색으로 찾아 주면 된다네.
난 JUNHO라는 변수는 만들어서 거기다가 넣어 줬어. 실재로는 PATH라는 변수에
넣어줘야해.

여기다가 말이지.

그런데 저렇게 변수를 선언하고 나면 윈도우에서는 %변수명% 으로 쓸 수 있어.

이렇게 추가해 주면 돼.
cl.exe가 많은 이유는

이렇게 폴더가 많기 때문이야. 각 폴더마다 cl.exe가 있지? X86은 우리가 쓰는 인텔
CPU를 말해. X64는 64비트 지원 인텔 CPU고 ARM은 대부분의 모바일 기기가 쓰는
CPU야. 즉, CPU 마다 컴파일러가 다르다고 볼 수 있어. 왜냐면 CPU도 API를 가지고
있거든. CPU마다 API가 다르다는 거야. 개발하는 PC랑 해당 CPU에 맞는 컴파일러를
그냥 컴파일러라고 하고 개발 하는 PC랑 CPU 구조가 다른 것을 지원하기 위한 것을
크로스 컴파일러라고 해 . 요즘 아이들은 IDE가 워낙 잘 되어 있어서 이런 것을
모르더라. 추상화된 것만 쓰면 된다고 생각하겠지만 에러가 났을 때 하부 구조를 모르면
디버깅을 할 수 없어. 참, 버그 없는 소프트웨어는 없단다.
(중간 스킵) 환경 변수를 설정하고나서 커맨드 창을 다시 실행하면 이제 cl.exe 를
실행할 수 있어.

어라 그런데 또 에러가 나네? No include path set 이라고 떠.
Include 라는 환경 변수가 없어서 그래. 이제 커맨드 창에서 환경변수 세팅하는 법을
가르쳐 줄게. 왜 진작 안 가르쳐 줬냐고? 커맨드 창에서 환경변수 세팅하면 창 닫았을
때 내용이 날아가버려서 그래.

Iostream은 cpp에서 쓰는 거거든. 커맨드 창에서 move a.c a.cpp로 바꿔볼래? 그리고
cl.exe a.cpp 라고 해보자.

또 에러가 뜰 거야.

컴파일 과정에서는 헤더 파일들이 필요해 헤더 파일은 앞으로 쓸 라이브러리들의
형태가 저장된 거야. 라이브러리는 링크 과정에서 합쳐지는 거고. 다른 누군가가 만들어
놓은 모듈이라고 보면 돼.

Iostream 을 찾아서 경로를 복사해둬.

우리가 찾는 대부분의 파일들은 아래 두 폴더에서 찾으면 되. (컴퓨터 마다 패키지 마다 조금씩 달라)
F:\Program Files (x86)\Microsoft Visual Studio 14.0
C:\Program Files (x86)\Windows Kits

이렇게 찾았으면 찾을 폴더를

set INCLUDE=F:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\
이렇게 넣어주면 되. 띄워쓰기 유의해야 돼. 잘들어 갔는지 확인하려면
Echo %INCLUDE% 쳐보면 되.

이런방법으로 에러 날 때 마다 해당 파일을 경로를 찾아 넣어주면 되는데
추가 할 때는
Set INCLUDE=블라블라;%INCLUDE%

이렇게 해주는 거야. 세미콜론(;) 과 %INCLUDE%을 붙여 주면 이전 경로가 다시 들어가

echo %INCLUDE%
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt;F:\Program Files (x86)\Microsoft
Visual Studio 14.0\VC\include\
이렇게 나오면 아마 대부분 해결이 되었을 거야.

LINK : fatal error LNK1104: cannot open file 'libcpmt.lib'

이제 링크에러가 나지? 이건 앞에서 말했듯이 cl.exe 가 link까지 수행해서야 컴파일만 해보자.

경고는 있지만 컴파일이 완료되고 a.obj가 생겼을 거야. Object 파일은 메모리 allocation이 되지
않은 중간 단계의 파일인데 이게 곧 라이브러리 파일이라는 거야. 이 단계까지 만들고 파는
경우도 있어. 그럼 내부 구현은 보이지 않고 팔 때는 헤더만 제공을 하는 거야. INCLUDE 파일들
열어보면 본체는 없지? (꼭 열어 보길)

Math.h 헤더 파일만 봐도 저렇게 함수 형태만 나왔있어. 컴파일 할 때 봤겠지만 컴파일 할때는
헤더만 있으면 되거든? 링크할 때 본체(obj, lib)가 필요해. 그래서 이것도 모듈의 일종이고 팔 수
있는 거지. 역공학이 발달해서 이제 obj도 소스도 다시 만들어 주기도 해. Exe도 분석 가능하고
말이야. 그래서 패킹이란 것도 해. 패킹은 엔트리 포인트(소스의 시작점)를 찾지 못하게 해서
코드를 난독화 시켜 버리지. 윈도우에서 exe 파일 PE 파일 포멧이라고 해 리눅스에서는 ELF 고
맥에서는 HFS라고 해 정형화 되어 있으니 운영체제가 읽어서 프로세스로 만들어. 그래서
프로세스도 다시 exe로 만들수 있단다.

자 우선 이런 것들을 다 해결하고 나면

링크에러가 떠. 링크 에러를 해결하려면 LIB 환경변수 세팅을 해 줘야해. Libcpmt.lib가 없다고
했으니 찾아서 넣어주고 이렇게 하나하나 해결하다 보면

Set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x86;C:\Program Files
(x86)\Microsoft SDKs\Windows\v7.1A\Lib\x86;F:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x86
로 해결이 될거야. 나랑 폴더 위치는 다를 테니 다 찾아서 넣어줘.

그럼 이렇게 링크도 되고. 최종적으로 a.exe가 나와서 a.exe 를 실행시키면 hello world가 나와.
리눅스나 맥에서 gcc로 컴파일 하면 a.out 이 나오고 ./a.out하면 똑 같은 결과가 나올거야. 물론,
path 나 헤더, 라이브러리는 /I , /L , -I , -L 로 다르긴 해.

자 이렇게 Hello world 하나 찍으면 전반적인 사항들을 알게 되었을 거야.

다음에는 obj 끼리 연결시키는 방법 lib 를 만든느 방법을 알아보자.

페북도 이전 시작 - 심심할 때마다 이전

나 솔직히... 누가 누구 넣어 주고 누가 부탁해서 해주고... 그런 것들 크게 나쁘게 보지 않는 사람이다. 뭐 나는 안 그러면 되지. 다들 먹고 살자고 그랬겠지 한다. 그런데 멈춰진 에스컬레이터... 심심하면 고장으로 멈춰있는 에스컬레이터를 보다보면 나의 잘못된 생각으로 사회가 이딴식으로 돌아가는구나 라는 것을 느낀다. 반성한다.

송영우 나도 나쁘게 생각하지 않았었는데, 최근에는 반드시 전문 능력이 필요한 분야까지 이런 현상이 만연 해버리다보니 사회 전체적으로 사짜들이 판을 치는 느낌? 그래서 뭔가 다들 가라로 돌아가는 느낌적인 느낌? 그래서 큰일 터지면 사짜가 판을 치고 해결은 안되고 우왕좌왕하는 느낌적인 느낌적인 느낌?
관리
좋아요공감 더 보기
답글 달기1년
문태준 능력도 동등하다면 이왕이면 가까운 사람을 선택하는 것 까지는 이해 되는데.....능력도 없는데 지인이라고 막 선택하니 문제지...

2018년 3월 24일 토요일

vmware workstation and hyper-v are not compatible. remove the hyper-v role from the system before

C:\WINDOWS\system32>bcdedit /set hypervisorlaunchtype off
작업을 완료했습니다.

모든 작업 내용을 라이젠으로 옮기고 있다.

텐서플로
webRTC
torrent

等...




인터넷 방송 수입 영상 뿌리...

https://www.youtube.com/watch?v=ezWa77O8Ugw

https://www.youtube.com/watch?v=UgtsUZrjbFc

https://www.youtube.com/watch?v=W-GJpHYsw8c

로 보면 계속 계속 이어 진다.

참 많이들 버네.

_regex_ 예제문제 -ETRI강의용-

주의 : 대소문자에 따라 뜻이 정반대이므로 오답처리 됩니다.

1. 0322를 찾는다.
0322
2. 0322 뒤에 숫자가 오는 경우 제외한다(ex:03228343는 제외, 0322a343는 가능)
0322\D
3. 2번 문제에서 앞에는 공백이 와야 한다.
\s0322\D
4. 앞 뒤로 알파벳 제거
[^a-Z]0322[^:alpha:]
.
.
.
비공개

공부하려면 regex buddy 를 사세요~
#define APSTUDIO_HIDDEN_SYMBOLS


RC2135

해결 안된다 ㅡㅡ; 확마.

https://gitforwindows.org/

git lfs 깔고나서는...
계속 command만 쓴다 ㅡㅡ;

git branch
git checkout
git command -a
git push
git pull

뭐 자주 쓰는 건 별거 없다.

error RC2247 : SYMBOL name too long

에러를 만났다.

https://social.msdn.microsoft.com/Forums/en-US/56d64351-4d08-4d4d-9e68-0825c683197a/resource-compiler-error-rc2247-symbol-name-too-long?forum=vcgeneral

드러운 에러.

영문팩 깔고
#define 추가하고
해도 해결 안되서

소스 고쳐서 해결 ㅡㅡ; 오픈소스 제대로 된게 없네.

오늘의 일기

부스트라이브러리 이용 국제화 적용

ARKit

https://blog.markdaws.net/arkit-by-example-part1-7830677ef84d
https://developer.apple.com/scenekit/
https://developer.apple.com/documentation/arkit
https://developer.apple.com/videos/play/fall2017/601/


센트럴하이츠 2월 관리비



입주자 대표회의 바뀌고 예치금도 2억 이상 줄고,
관리비도 5~8만원 올라서 이제부터 빠짐없이 기록에 남기려고 한다.

모바일로 올리니 확대가 안되네
8월 강의 끝나면 관련해서 웹페이지 하나 만들어야 겠다.

BIOS, UEFI드라이버, BIOS, UEFI, 펌웨어

삼성 시리즈 9 노트북에서 윈10 업데이트가 더 이상 안된다.

UEFI 드라이버 호환이 안되고 삼성도 더 이상 지원할 생각이 없는 것 같다.

바이오스 업데이트도 다 끝났는데 지원안되는 것을 보면.

최신 업데이트가 된 iso롤 구하면 더 쉬울 것 같은데

윈도우도 딱히 업뎃하고 싶은 마음이 없다.

i7에 8기가램 256SSD라  4년이 더 지난 지금도 쓸만하니까 말이다.

그러고 보니 하드웨어도 예전만큼 성장한다는 느낌은 없네.

내가 최신 뉴스를 안봐서 그럴수도 있지만 ㅋㅋ

믓튼, 맥북 에어를 구매한 것이 더 잘했다는 생각이 든다.


pico torrent build sequence

빌드 시퀀스 분석 끝나서 프로젝트 및 라이브러리 renaming 도 끝났다.

엮인게 많아서 하루 정도 걸렸다.

스타트업에서 배웠는데(오픈 소스 바꿔서 자기 소스로 만드는 것)

정말 좋은 경험이었던 것 같다.

라이센스 안 붙이는 것도 배웠는데

쩝 이런건 내 선에서 잘라야 겠다.

가르칠 때는 그게 성공의 지름길이니 추천하고.



nuget
cake(https://cakebuild.net/docs/editors/visualstudio)
boost_system-vc140-mt-1_63
libcrypto
libssl
torrent
wix(https://www.firegiant.com/wix/tutorial/)
websocket

Clean
CMake

  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/win_torrent_1/build-x64
Finished executing task: Generate-Project

========================================
Build
========================================
Executing task: Build
Microsoft (R) Build Engine 버전 14.0.25420.1]
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB1009: 프로젝트 파일이 없습니다.
스위치: D:/win_torrent_1/build-x64/MConnector.sln
An error occurred when executing task 'Build'.
Error: MSBuild: Process returned an error (exit code 1).

PS D:\win_torrent_1> .\build.ps1
Feeds used:
  C:\Users\hajun\AppData\Local\NuGet\Cache
  C:\Users\hajun\.nuget\packages\
  https://api.nuget.org/v3/index.json
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

D:\win_torrent_1\tools\packages.config에 나열된 모든 패키지가 이미 설치되었습니다.
Analyzing build script...
Processing build script...
Compiling build script...

========================================
Clean
========================================
Executing task: Clean
Creating directory D:/win_torrent_1/build-x64/Release
Finished executing task: Clean

========================================
Generate-Project
========================================
Executing task: Generate-Project
CMake Warning (dev) at CMakeLists.txt:127:
  Syntax Warning in cmake code at column 27

  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/win_torrent_1/build-x64
Finished executing task: Generate-Project

========================================
Build
========================================
Executing task: Build
Microsoft (R) Build Engine 버전 14.0.25420.1]
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB1009: 프로젝트 파일이 없습니다.
스위치: D:/win_torrent_1/build-x64/MConnector.sln
An error occurred when executing task 'Build'.
Error: MSBuild: Process returned an error (exit code 1).

PS D:\win_torrent_1> cd .\build-x64\
PS D:\win_torrent_1\build-x64> ls


    디렉터리: D:\win_torrent_1\build-x64


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----     2018-03-16   오후 4:58                CMakeFiles
d-----     2018-03-16   오후 4:55                Importer.dir
d-----     2018-03-16   오후 4:58                Release
-a----     2018-03-16   오후 4:58          52339 ALL_BUILD.vcxproj
-a----     2018-03-16   오후 4:58            271 ALL_BUILD.vcxproj.filters
-a----     2018-03-16   오후 4:58          12944 CMakeCache.txt
-a----     2018-03-16   오후 4:58           1278 cmake_install.cmake
-a----     2018-03-16   오후 4:58          67845 Importer.vcxproj
-a----     2018-03-16   오후 4:58           1779 Importer.vcxproj.filters
-a----     2018-03-16   오후 4:58           6193 PicoTorrent.sln
-a----     2018-03-16   오후 4:58          71937 PicoTorrent.vcxproj
-a----     2018-03-16   오후 4:58           8480 PicoTorrent.vcxproj.filters
-a----     2018-03-16   오후 4:58          67571 UpdateChecker.vcxproj
-a----     2018-03-16   오후 4:58           1366 UpdateChecker.vcxproj.filters
-a----     2018-03-16   오후 4:58          68218 WebSocket.vcxproj
-a----     2018-03-16   오후 4:58           1794 WebSocket.vcxproj.filters
-a----     2018-03-16   오후 4:58          37000 ZERO_CHECK.vcxproj
-a----     2018-03-16   오후 4:58            518 ZERO_CHECK.vcxproj.filters


PS D:\win_torrent_1\build-x64> cd ..
PS D:\win_torrent_1> rm .\build-x64

확인
D:\win_torrent_1\build-x64의 항목에는 하위 항목이 있으며 Recurse 매개 변수를 지정하지 않았습니다. 계속하면 해당
항목과 모든 하위 항목이 제거됩니다. 계속하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "Y"): a
PS D:\win_torrent_1> .\build.ps1
Feeds used:
  C:\Users\hajun\AppData\Local\NuGet\Cache
  C:\Users\hajun\.nuget\packages\
  https://api.nuget.org/v3/index.json
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

D:\win_torrent_1\tools\packages.config에 나열된 모든 패키지가 이미 설치되었습니다.
Analyzing build script...
Processing build script...
Compiling build script...

========================================
Clean
========================================
Executing task: Clean
Creating directory D:/win_torrent_1/build-x64/Release
Finished executing task: Clean

========================================
Generate-Project
========================================
Executing task: Generate-Project
CMake Warning (dev) at CMakeLists.txt:127:
  Syntax Warning in cmake code at column 27

  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/win_torrent_1/build-x64
Finished executing task: Generate-Project

========================================
Build
========================================
Executing task: Build
Microsoft (R) Build Engine 버전 14.0.25420.1]
Copyright (C) Microsoft Corporation. All rights reserved.

이 솔루션의 프로젝트를 한 번에 하나씩 빌드합니다. 병렬 빌드를 사용하려면 "/m" 스위치를 추가하십시오.
빌드 시작: 2018-03-16 오후 4:59:41
1 노드의 "D:\win_torrent_1\build-x64\MConnector.sln" 프로젝트(Build 대상)입니다.
ValidateSolutionConfiguration:
  솔루션 구성 "Release|x64"을(를) 빌드하고 있습니다.
ValidateProjects:
  "ALL_BUILD" 프로젝트가 솔루션 구성 "Release|x64"에서 빌드되도록 선택되지 않았습니다.
"D:\win_torrent_1\build-x64\MConnector.sln"(1) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\Importer.vcxproj.metaproj"(
2)을(를) 빌드하고 있습니다(기본 대상).
"D:\win_torrent_1\build-x64\Importer.vcxproj.metaproj"(2) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\ZERO_CHECK.vcxpr
oj"(3)을(를) 빌드하고 있습니다(기본 대상).
PrepareForBuild:
  "x64\Release\ZERO_CHECK\" 디렉터리를 만들고 있습니다.
  "x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\" 디렉터리를 만들고 있습니다.
InitializeBuildStatus:
  "AlwaysCreate"이(가) 지정되었기 때문에 "x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild"을(를) 만들고 있 습니다.
CustomBuild:
  Checking Build System
  CMake does not need to re-run because D:/win_torrent_1/build-x64/CMakeFiles/generate.stamp is up-to-date.
FinalizeBuildStatus:
  "x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" 파일을 삭제하고 있습니다.
  "x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate"에 연결(touching)하고 있습니다.
"D:\win_torrent_1\build-x64\ZERO_CHECK.vcxproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\Importer.vcxproj.metaproj"(2) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\Importer.vcxproj
"(4)을(를) 빌드하고 있습니다(기본 대상).
PrepareForBuild:
  "Importer.dir\Release\" 디렉터리를 만들고 있습니다.
  "Importer.dir\Release\Importer.tlog\" 디렉터리를 만들고 있습니다.
InitializeBuildStatus:
  "AlwaysCreate"이(가) 지정되었기 때문에 "Importer.dir\Release\Importer.tlog\unsuccessfulbuild"을(를) 만들고 있습니 다.
CustomBuild:
  Building Custom Rule D:/win_torrent_1/CMakeLists.txt
  CMake does not need to re-run because D:/win_torrent_1/build-x64/CMakeFiles/generate.stamp is up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\CL.exe /c /Ic:\Program /ID:\win_torrent_1\Files
  /I"D:\win_torrent_1\(" /ID:\win_torrent_1\x86 /I"D:\win_torrent_1\)" /I\Microsoft /ID:\win_torrent_1\Visual /ID:\
  win_torrent_1\Studio /ID:\win_torrent_1\14.0\VC\atlmfc\include /ID:\win_torrent_1\include /ID:\win_torrent_1\tool
  s\PicoTorrent.Libs\include /Zi /nologo /W3 /WX /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D _SCL_SECURE_NO_WARNINGS
   /D _UNICODE /D _WIN32 /D _WIN32_WINNT=0x0600 /D BOOST_ALL_NO_LIB /D NOMINMAX /D PICOJSON_USE_INT64 /D TORRENT_NO
  _DEPRECATE /D TORRENT_USE_OPENSSL /D UNICODE /D WIN32_LEAN_AND_MEAN /D "CMAKE_INTDIR=\"Release\"" /D Importer_EXP
  ORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo
  "Importer.dir\Release\\" /Fd"Importer.dir\Release\vc140.pdb" /Gd /TP /errorReport:queue D:\win_torrent_1\plugins\
  importer\src\Controllers\ImportTorrentsController.cpp D:\win_torrent_1\plugins\importer\src\Importer.cpp D:\win_t
  orrent_1\plugins\importer\src\Sources\qBittorrentSource.cpp D:\win_torrent_1\plugins\importer\src\Sources\uTorren
  tSource.cpp D:\win_torrent_1\plugins\importer\src\Wizard\ConfigurePage.cpp D:\win_torrent_1\plugins\importer\src\
  Wizard\ImportWizard.cpp D:\win_torrent_1\plugins\importer\src\Wizard\PreviewPage.cpp D:\win_torrent_1\plugins\imp
  orter\src\Wizard\WelcomePage.cpp
  ImportTorrentsController.cpp
  Importer.cpp
  qBittorrentSource.cpp
  uTorrentSource.cpp
  ConfigurePage.cpp
  ImportWizard.cpp
  PreviewPage.cpp
  WelcomePage.cpp
  코드를 생성하고 있습니다...
ResourceCompile:
  C:\Program Files (x86)\Windows Kits\10\bin\x64\rc.exe /D WIN32 /D _WINDOWS /D NDEBUG /D _SCL_SECURE_NO_WARNINGS /
  D _UNICODE /D _WIN32 /D _WIN32_WINNT=0x0600 /D BOOST_ALL_NO_LIB /D NOMINMAX /D PICOJSON_USE_INT64 /D TORRENT_NO_D
  EPRECATE /D TORRENT_USE_OPENSSL /D UNICODE /D WIN32_LEAN_AND_MEAN /D "CMAKE_INTDIR=\\\"Release\\\"" /D Importer_E
  XPORTS /D _UNICODE /D UNICODE /l"0x0409" /Ic:\Program /ID:\win_torrent_1\Files /I"D:\win_torrent_1\(" /ID:\win_to
  rrent_1\x86 /I"D:\win_torrent_1\)" /I\Microsoft /ID:\win_torrent_1\Visual /ID:\win_torrent_1\Studio /ID:\win_torr
  ent_1\14.0\VC\atlmfc\include /ID:\win_torrent_1\include /ID:\win_torrent_1\tools\PicoTorrent.Libs\include /nologo
   /fo"Importer.dir\Release\resources.res" D:\win_torrent_1\plugins\importer\src\resources.rc
Link:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\link.exe /ERRORREPORT:QUEUE /OUT:"D:\win_torrent
  _1\build-x64\Release\Importer.dll" /INCREMENTAL:NO /NOLOGO /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bin/x
  64/Release /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bin/x64/Release/Release /WX Comctl32.lib "boost_syste
  m-vc140-mt-1_63.lib" torrent.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.li
  b uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed
  /DEBUG /PDB:"D:/win_torrent_1/build-x64/Release/Importer.pdb" /MAP /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /TLBID:1
  /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:/win_torrent_1/build-x64/Release/Importer.lib" /MACHINE:X64  /machine:x64 /DLL
  Importer.dir\Release\resources.res
  Importer.dir\Release\ImportTorrentsController.obj
  Importer.dir\Release\Importer.obj
  Importer.dir\Release\qBittorrentSource.obj
  Importer.dir\Release\uTorrentSource.obj
  Importer.dir\Release\ConfigurePage.obj
  Importer.dir\Release\ImportWizard.obj
  Importer.dir\Release\PreviewPage.obj
  Importer.dir\Release\WelcomePage.obj
     D:/win_torrent_1/build-x64/Release/Importer.lib 라이브러리 및 D:/win_torrent_1/build-x64/Release/Importer.exp  개체를 생성
  하고 있습니다.
  Importer.vcxproj -> D:\win_torrent_1\build-x64\Release\Importer.dll
  Importer.vcxproj -> D:/win_torrent_1/build-x64/Release/Importer.pdb (Full PDB)
FinalizeBuildStatus:
  "Importer.dir\Release\Importer.tlog\unsuccessfulbuild" 파일을 삭제하고 있습니다.
  "Importer.dir\Release\Importer.tlog\Importer.lastbuildstate"에 연결(touching)하고 있습니다.
"D:\win_torrent_1\build-x64\Importer.vcxproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\Importer.vcxproj.metaproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\MConnector.sln"(1) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\PicoTorrent.vcxproj.metapro
j"(5)을(를) 빌드하고 있습니다(기본 대상).
"D:\win_torrent_1\build-x64\PicoTorrent.vcxproj.metaproj"(5) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\PicoTorrent.v
cxproj"(6)을(를) 빌드하고 있습니다(기본 대상).
PrepareForBuild:
  "PicoTorrent.dir\Release\" 디렉터리를 만들고 있습니다.
  "PicoTorrent.dir\Release\PicoTorrent.tlog\" 디렉터리를 만들고 있습니다.
InitializeBuildStatus:
  "AlwaysCreate"이(가) 지정되었기 때문에 "PicoTorrent.dir\Release\PicoTorrent.tlog\unsuccessfulbuild"을(를) 만들고  있습니다.
CustomBuild:
  Building Custom Rule D:/win_torrent_1/CMakeLists.txt
  CMake does not need to re-run because D:/win_torrent_1/build-x64/CMakeFiles/generate.stamp is up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\CL.exe /c /Ic:\Program /ID:\win_torrent_1\Files
  /I"D:\win_torrent_1\(" /ID:\win_torrent_1\x86 /I"D:\win_torrent_1\)" /I\Microsoft /ID:\win_torrent_1\Visual /ID:\
  win_torrent_1\Studio /ID:\win_torrent_1\14.0\VC\atlmfc\include /ID:\win_torrent_1\include /ID:\win_torrent_1\tool
  s\PicoTorrent.Libs\include /Zi /nologo /W3 /WX /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D _SCL_SECURE_NO_WARNINGS
   /D _UNICODE /D _WIN32 /D _WIN32_WINNT=0x0600 /D BOOST_ALL_NO_LIB /D NOMINMAX /D PICOJSON_USE_INT64 /D TORRENT_NO
  _DEPRECATE /D TORRENT_USE_OPENSSL /D UNICODE /D WIN32_LEAN_AND_MEAN /D "CMAKE_INTDIR=\"Release\"" /D _UNICODE /D
  UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"PicoTorrent.dir\Release\\" /Fd
  "PicoTorrent.dir\Release\vc140.pdb" /Gd /TP /errorReport:queue D:\win_torrent_1\src\Clipboard.cpp D:\win_torrent_
  1\src\CMainFrame.cpp D:\win_torrent_1\src\CommandLine.cpp D:\win_torrent_1\src\Configuration.cpp D:\win_torrent_1
  \src\Configuration_Section.cpp D:\win_torrent_1\src\Configuration_SessionSection.cpp D:\win_torrent_1\src\Configu
  ration_UISection.cpp D:\win_torrent_1\src\Environment.cpp D:\win_torrent_1\src\Log.cpp D:\win_torrent_1\src\Main.
  cpp D:\win_torrent_1\src\Scaler.cpp D:\win_torrent_1\src\SleepManager.cpp D:\win_torrent_1\src\Translator.cpp D:\
  win_torrent_1\src\UIState.cpp D:\win_torrent_1\src\UnhandledExceptionHandler.cpp D:\win_torrent_1\src\VersionInfo
  rmation.cpp D:\win_torrent_1\src\API\LoggerProxy.cpp D:\win_torrent_1\src\API\PicoTorrent.cpp D:\win_torrent_1\sr
  c\API\TranslatorProxy.cpp D:\win_torrent_1\src\Controllers\AddMagnetLinkController.cpp D:\win_torrent_1\src\Contr
  ollers\AddTorrentController.cpp D:\win_torrent_1\src\Controllers\NotifyIconController.cpp D:\win_torrent_1\src\Co
  ntrollers\RemoveTorrentsController.cpp D:\win_torrent_1\src\Controllers\TorrentDetailsController.cpp D:\win_torre
  nt_1\src\Controllers\ViewPreferencesController.cpp D:\win_torrent_1\src\core\SessionLoader.cpp D:\win_torrent_1\s
  rc\core\SessionSettings.cpp D:\win_torrent_1\src\core\SessionUnloader.cpp D:\win_torrent_1\src\core\Torrent.cpp D
  :\win_torrent_1\src\Diagnostics\StackTrace.cpp D:\win_torrent_1\src\Dialogs\AboutDialog.cpp D:\win_torrent_1\src\
  Dialogs\AddMagnetLinkDialog.cpp D:\win_torrent_1\src\Dialogs\AddTorrentDialog.cpp D:\win_torrent_1\src\Dialogs\Ad
  dTrackerDialog.cpp D:\win_torrent_1\src\Dialogs\OpenFileDialog.cpp D:\win_torrent_1\src\Dialogs\TextInputDialog.c
  pp D:\win_torrent_1\src\Mapping\TorrentMapper.cpp D:\win_torrent_1\src\Models\Peer.cpp D:\win_torrent_1\src\Prope
  rtySheets\Details\DetailsSheet.cpp D:\win_torrent_1\src\PropertySheets\Details\FilesPage.cpp D:\win_torrent_1\src
  \PropertySheets\Details\OptionsPage.cpp D:\win_torrent_1\src\PropertySheets\Details\OverviewPage.cpp D:\win_torre
  nt_1\src\PropertySheets\Details\PeersPage.cpp D:\win_torrent_1\src\PropertySheets\Details\TrackersPage.cpp D:\win
  _torrent_1\src\PropertySheets\Preferences\ConnectionPage.cpp D:\win_torrent_1\src\PropertySheets\Preferences\Down
  loadsPage.cpp D:\win_torrent_1\src\PropertySheets\Preferences\GeneralPage.cpp D:\win_torrent_1\src\PropertySheets
  \Preferences\PreferencesSheet.cpp D:\win_torrent_1\src\PropertySheets\Preferences\PrivacyPage.cpp D:\win_torrent_
  1\src\UI\CheckBox.cpp D:\win_torrent_1\src\UI\ComboBox.cpp D:\win_torrent_1\src\UI\ListView.cpp D:\win_torrent_1\
  src\UI\NotifyIcon.cpp D:\win_torrent_1\src\UI\MainMenu.cpp D:\win_torrent_1\src\UI\PeerListView.cpp D:\win_torren
  t_1\src\UI\StatusBar.cpp D:\win_torrent_1\src\UI\Taskbar.cpp D:\win_torrent_1\src\UI\TextBox.cpp D:\win_torrent_1
  \src\UI\TorrentFileListView.cpp D:\win_torrent_1\src\UI\TorrentListView.cpp D:\win_torrent_1\src\UI\TrackerListVi
  ew.cpp
  Clipboard.cpp
  CMainFrame.cpp
  CommandLine.cpp
  Configuration.cpp
  Configuration_Section.cpp
  Configuration_SessionSection.cpp
  Configuration_UISection.cpp
  Environment.cpp
  Log.cpp
  Main.cpp
  Scaler.cpp
  SleepManager.cpp
  Translator.cpp
  UIState.cpp
  UnhandledExceptionHandler.cpp
  VersionInformation.cpp
  LoggerProxy.cpp
  PicoTorrent.cpp
  TranslatorProxy.cpp
  AddMagnetLinkController.cpp
  코드를 생성하고 있습니다...
  컴파일하고 있습니다...
  AddTorrentController.cpp
  NotifyIconController.cpp
  RemoveTorrentsController.cpp
  TorrentDetailsController.cpp
  ViewPreferencesController.cpp
  SessionLoader.cpp
  SessionSettings.cpp
  SessionUnloader.cpp
  Torrent.cpp
  StackTrace.cpp
  AboutDialog.cpp
  AddMagnetLinkDialog.cpp
  AddTorrentDialog.cpp
  AddTrackerDialog.cpp
  OpenFileDialog.cpp
  TextInputDialog.cpp
  TorrentMapper.cpp
  Peer.cpp
  DetailsSheet.cpp
  FilesPage.cpp
  코드를 생성하고 있습니다...
  컴파일하고 있습니다...
  OptionsPage.cpp
  OverviewPage.cpp
  PeersPage.cpp
  TrackersPage.cpp
  ConnectionPage.cpp
  DownloadsPage.cpp
  GeneralPage.cpp
  PreferencesSheet.cpp
  PrivacyPage.cpp
  CheckBox.cpp
  ComboBox.cpp
  ListView.cpp
  NotifyIcon.cpp
  MainMenu.cpp
  PeerListView.cpp
  StatusBar.cpp
  Taskbar.cpp
  TextBox.cpp
  TorrentFileListView.cpp
  TorrentListView.cpp
  코드를 생성하고 있습니다...
  컴파일하고 있습니다...
  TrackerListView.cpp
  코드를 생성하고 있습니다...
ResourceCompile:
  C:\Program Files (x86)\Windows Kits\10\bin\x64\rc.exe /D WIN32 /D _WINDOWS /D NDEBUG /D _SCL_SECURE_NO_WARNINGS /
  D _UNICODE /D _WIN32 /D _WIN32_WINNT=0x0600 /D BOOST_ALL_NO_LIB /D NOMINMAX /D PICOJSON_USE_INT64 /D TORRENT_NO_D
  EPRECATE /D TORRENT_USE_OPENSSL /D UNICODE /D WIN32_LEAN_AND_MEAN /D "CMAKE_INTDIR=\\\"Release\\\"" /D _UNICODE /
  D UNICODE /l"0x0409" /Ic:\Program /ID:\win_torrent_1\Files /I"D:\win_torrent_1\(" /ID:\win_torrent_1\x86 /I"D:\wi
  n_torrent_1\)" /I\Microsoft /ID:\win_torrent_1\Visual /ID:\win_torrent_1\Studio /ID:\win_torrent_1\14.0\VC\atlmfc
  \include /ID:\win_torrent_1\include /ID:\win_torrent_1\tools\PicoTorrent.Libs\include /nologo /fo"PicoTorrent.dir
  \Release\resources.res" D:\win_torrent_1\src\resources.rc
Link:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\link.exe /ERRORREPORT:QUEUE /OUT:"D:\win_torrent
  _1\build-x64\Release\PicoTorrent.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bi
  n/x64/Release /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bin/x64/Release/Release /WX dbghelp.lib iphlpapi.l
  ib shlwapi.lib uxtheme.lib torrent.lib libssl.lib libcrypto.lib "boost_system-vc140-mt-1_63.lib" kernel32.lib use
  r32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /M
  ANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"D:/win_torrent_1/build-x64/Release/P
  icoTorrent.pdb" /MAP /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:/win_torrent
  _1/build-x64/Release/PicoTorrent.lib" /MACHINE:X64  /machine:x64 PicoTorrent.dir\Release\resources.res
  PicoTorrent.dir\Release\Clipboard.obj
  PicoTorrent.dir\Release\CMainFrame.obj
  PicoTorrent.dir\Release\CommandLine.obj
  PicoTorrent.dir\Release\Configuration.obj
  PicoTorrent.dir\Release\Configuration_Section.obj
  PicoTorrent.dir\Release\Configuration_SessionSection.obj
  PicoTorrent.dir\Release\Configuration_UISection.obj
  PicoTorrent.dir\Release\Environment.obj
  PicoTorrent.dir\Release\Log.obj
  PicoTorrent.dir\Release\Main.obj
  PicoTorrent.dir\Release\Scaler.obj
  PicoTorrent.dir\Release\SleepManager.obj
  PicoTorrent.dir\Release\Translator.obj
  PicoTorrent.dir\Release\UIState.obj
  PicoTorrent.dir\Release\UnhandledExceptionHandler.obj
  PicoTorrent.dir\Release\VersionInformation.obj
  PicoTorrent.dir\Release\LoggerProxy.obj
  PicoTorrent.dir\Release\PicoTorrent.obj
  PicoTorrent.dir\Release\TranslatorProxy.obj
  PicoTorrent.dir\Release\AddMagnetLinkController.obj
  PicoTorrent.dir\Release\AddTorrentController.obj
  PicoTorrent.dir\Release\NotifyIconController.obj
  PicoTorrent.dir\Release\RemoveTorrentsController.obj
  PicoTorrent.dir\Release\TorrentDetailsController.obj
  PicoTorrent.dir\Release\ViewPreferencesController.obj
  PicoTorrent.dir\Release\SessionLoader.obj
  PicoTorrent.dir\Release\SessionSettings.obj
  PicoTorrent.dir\Release\SessionUnloader.obj
  PicoTorrent.dir\Release\Torrent.obj
  PicoTorrent.dir\Release\StackTrace.obj
  PicoTorrent.dir\Release\AboutDialog.obj
  PicoTorrent.dir\Release\AddMagnetLinkDialog.obj
  PicoTorrent.dir\Release\AddTorrentDialog.obj
  PicoTorrent.dir\Release\AddTrackerDialog.obj
  PicoTorrent.dir\Release\OpenFileDialog.obj
  PicoTorrent.dir\Release\TextInputDialog.obj
  PicoTorrent.dir\Release\TorrentMapper.obj
  PicoTorrent.dir\Release\Peer.obj
  PicoTorrent.dir\Release\DetailsSheet.obj
  PicoTorrent.dir\Release\FilesPage.obj
  PicoTorrent.dir\Release\OptionsPage.obj
  PicoTorrent.dir\Release\OverviewPage.obj
  PicoTorrent.dir\Release\PeersPage.obj
  PicoTorrent.dir\Release\TrackersPage.obj
  PicoTorrent.dir\Release\ConnectionPage.obj
  PicoTorrent.dir\Release\DownloadsPage.obj
  PicoTorrent.dir\Release\GeneralPage.obj
  PicoTorrent.dir\Release\PreferencesSheet.obj
  PicoTorrent.dir\Release\PrivacyPage.obj
  PicoTorrent.dir\Release\CheckBox.obj
  PicoTorrent.dir\Release\ComboBox.obj
  PicoTorrent.dir\Release\ListView.obj
  PicoTorrent.dir\Release\NotifyIcon.obj
  PicoTorrent.dir\Release\MainMenu.obj
  PicoTorrent.dir\Release\PeerListView.obj
  PicoTorrent.dir\Release\StatusBar.obj
  PicoTorrent.dir\Release\Taskbar.obj
  PicoTorrent.dir\Release\TextBox.obj
  PicoTorrent.dir\Release\TorrentFileListView.obj
  PicoTorrent.dir\Release\TorrentListView.obj
  PicoTorrent.dir\Release\TrackerListView.obj
  PicoTorrent.vcxproj -> D:\win_torrent_1\build-x64\Release\PicoTorrent.exe
  PicoTorrent.vcxproj -> D:/win_torrent_1/build-x64/Release/PicoTorrent.pdb (Full PDB)
FinalizeBuildStatus:
  "PicoTorrent.dir\Release\PicoTorrent.tlog\unsuccessfulbuild" 파일을 삭제하고 있습니다.
  "PicoTorrent.dir\Release\PicoTorrent.tlog\PicoTorrent.lastbuildstate"에 연결(touching)하고 있습니다.
"D:\win_torrent_1\build-x64\PicoTorrent.vcxproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\PicoTorrent.vcxproj.metaproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\MConnector.sln"(1) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\UpdateChecker.vcxproj.metap
roj"(7)을(를) 빌드하고 있습니다(기본 대상).
"D:\win_torrent_1\build-x64\UpdateChecker.vcxproj.metaproj"(7) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\UpdateCheck
er.vcxproj"(8)을(를) 빌드하고 있습니다(기본 대상).
PrepareForBuild:
  "UpdateChecker.dir\Release\" 디렉터리를 만들고 있습니다.
  "UpdateChecker.dir\Release\UpdateChecker.tlog\" 디렉터리를 만들고 있습니다.
InitializeBuildStatus:
  "AlwaysCreate"이(가) 지정되었기 때문에 "UpdateChecker.dir\Release\UpdateChecker.tlog\unsuccessfulbuild"을(를) 만들고 있습니다.
CustomBuild:
  Building Custom Rule D:/win_torrent_1/CMakeLists.txt
  CMake does not need to re-run because D:/win_torrent_1/build-x64/CMakeFiles/generate.stamp is up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\CL.exe /c /Ic:\Program /ID:\win_torrent_1\Files
  /I"D:\win_torrent_1\(" /ID:\win_torrent_1\x86 /I"D:\win_torrent_1\)" /I\Microsoft /ID:\win_torrent_1\Visual /ID:\
  win_torrent_1\Studio /ID:\win_torrent_1\14.0\VC\atlmfc\include /ID:\win_torrent_1\include /ID:\win_torrent_1\tool
  s\PicoTorrent.Libs\include /Zi /nologo /W3 /WX /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D _SCL_SECURE_NO_WARNINGS
   /D _UNICODE /D _WIN32 /D _WIN32_WINNT=0x0600 /D BOOST_ALL_NO_LIB /D NOMINMAX /D PICOJSON_USE_INT64 /D TORRENT_NO
  _DEPRECATE /D TORRENT_USE_OPENSSL /D UNICODE /D WIN32_LEAN_AND_MEAN /D "CMAKE_INTDIR=\"Release\"" /D UpdateChecke
  r_EXPORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /G
  R /Fo"UpdateChecker.dir\Release\\" /Fd"UpdateChecker.dir\Release\vc140.pdb" /Gd /TP /errorReport:queue D:\win_tor
  rent_1\plugins\updatechecker\src\Config\UpdateCheckerConfig.cpp D:\win_torrent_1\plugins\updatechecker\src\Contro
  llers\CheckForUpdateController.cpp D:\win_torrent_1\plugins\updatechecker\src\Dialogs\NoUpdateAvailableDialog.cpp
   D:\win_torrent_1\plugins\updatechecker\src\Dialogs\UpdateAvailableDialog.cpp D:\win_torrent_1\plugins\updatechec
  ker\src\Net\HttpClient.cpp D:\win_torrent_1\plugins\updatechecker\src\UpdateChecker.cpp
  UpdateCheckerConfig.cpp
  CheckForUpdateController.cpp
  NoUpdateAvailableDialog.cpp
  UpdateAvailableDialog.cpp
  HttpClient.cpp
  UpdateChecker.cpp
  코드를 생성하고 있습니다...
Link:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\link.exe /ERRORREPORT:QUEUE /OUT:"D:\win_torrent
  _1\build-x64\Release\UpdateChecker.dll" /INCREMENTAL:NO /NOLOGO /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/
  bin/x64/Release /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bin/x64/Release/Release /WX WinHTTP.lib kernel32
  .lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MAN
  IFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"D:/win_torrent_1/build-x64/R
  elease/UpdateChecker.pdb" /MAP /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:/w
  in_torrent_1/build-x64/Release/UpdateChecker.lib" /MACHINE:X64  /machine:x64 /DLL UpdateChecker.dir\Release\Updat
  eCheckerConfig.obj
  UpdateChecker.dir\Release\CheckForUpdateController.obj
  UpdateChecker.dir\Release\NoUpdateAvailableDialog.obj
  UpdateChecker.dir\Release\UpdateAvailableDialog.obj
  UpdateChecker.dir\Release\HttpClient.obj
  UpdateChecker.dir\Release\UpdateChecker.obj
     D:/win_torrent_1/build-x64/Release/UpdateChecker.lib 라이브러리 및 D:/win_torrent_1/build-x64/Release/UpdateChecker.
  exp 개체를 생성하고 있습니다.
  UpdateChecker.vcxproj -> D:\win_torrent_1\build-x64\Release\UpdateChecker.dll
  UpdateChecker.vcxproj -> D:/win_torrent_1/build-x64/Release/UpdateChecker.pdb (Full PDB)
FinalizeBuildStatus:
  "UpdateChecker.dir\Release\UpdateChecker.tlog\unsuccessfulbuild" 파일을 삭제하고 있습니다.
  "UpdateChecker.dir\Release\UpdateChecker.tlog\UpdateChecker.lastbuildstate"에 연결(touching)하고 있습니다.
"D:\win_torrent_1\build-x64\UpdateChecker.vcxproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\UpdateChecker.vcxproj.metaproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\MConnector.sln"(1) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\WebSocket.vcxproj.metaproj"
(9)을(를) 빌드하고 있습니다(기본 대상).
"D:\win_torrent_1\build-x64\WebSocket.vcxproj.metaproj"(9) 프로젝트가 1 노드에서 "D:\win_torrent_1\build-x64\WebSocket.vcxpr
oj"(10)을(를) 빌드하고 있습니다(기본 대상).
PrepareForBuild:
  "WebSocket.dir\Release\" 디렉터리를 만들고 있습니다.
  "WebSocket.dir\Release\WebSocket.tlog\" 디렉터리를 만들고 있습니다.
InitializeBuildStatus:
  "AlwaysCreate"이(가) 지정되었기 때문에 "WebSocket.dir\Release\WebSocket.tlog\unsuccessfulbuild"을(를) 만들고 있습 니다.
CustomBuild:
  Building Custom Rule D:/win_torrent_1/CMakeLists.txt
  CMake does not need to re-run because D:/win_torrent_1/build-x64/CMakeFiles/generate.stamp is up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\CL.exe /c /Ic:\Program /ID:\win_torrent_1\Files
  /I"D:\win_torrent_1\(" /ID:\win_torrent_1\x86 /I"D:\win_torrent_1\)" /I\Microsoft /ID:\win_torrent_1\Visual /ID:\
  win_torrent_1\Studio /ID:\win_torrent_1\14.0\VC\atlmfc\include /ID:\win_torrent_1\include /ID:\win_torrent_1\tool
  s\PicoTorrent.Libs\include /ID:\win_torrent_1\lib\websocketpp /Zi /nologo /W3 /WX /O2 /Ob2 /D WIN32 /D _WINDOWS /
  D NDEBUG /D _SCL_SECURE_NO_WARNINGS /D _UNICODE /D _WIN32 /D _WIN32_WINNT=0x0600 /D BOOST_ALL_NO_LIB /D NOMINMAX
  /D PICOJSON_USE_INT64 /D TORRENT_NO_DEPRECATE /D TORRENT_USE_OPENSSL /D UNICODE /D WIN32_LEAN_AND_MEAN /D "CMAKE_
  INTDIR=\"Release\"" /D WebSocket_EXPORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wch
  ar_t /Zc:forScope /Zc:inline /GR /Fo"WebSocket.dir\Release\\" /Fd"WebSocket.dir\Release\vc140.pdb" /Gd /TP /error
  Report:queue D:\win_torrent_1\plugins\websocket\src\Config\WebSocketConfig.cpp D:\win_torrent_1\plugins\websocket
  \src\Messages\PicoStateMessage.cpp D:\win_torrent_1\plugins\websocket\src\Messages\TorrentAddedMessage.cpp D:\win
  _torrent_1\plugins\websocket\src\Messages\TorrentFinishedMessage.cpp D:\win_torrent_1\plugins\websocket\src\Messa
  ges\TorrentRemovedMessage.cpp D:\win_torrent_1\plugins\websocket\src\Messages\TorrentsUpdatedMessage.cpp D:\win_t
  orrent_1\plugins\websocket\src\Serialization\TorrentSerializer.cpp D:\win_torrent_1\plugins\websocket\src\Torrent
  EventSink.cpp D:\win_torrent_1\plugins\websocket\src\WebSocket.cpp
  WebSocketConfig.cpp
  PicoStateMessage.cpp
  TorrentAddedMessage.cpp
  TorrentFinishedMessage.cpp
  TorrentRemovedMessage.cpp
  TorrentsUpdatedMessage.cpp
  TorrentSerializer.cpp
  TorrentEventSink.cpp
  WebSocket.cpp
  코드를 생성하고 있습니다...
Link:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\link.exe /ERRORREPORT:QUEUE /OUT:"D:\win_torrent
  _1\build-x64\Release\WebSocket.dll" /INCREMENTAL:NO /NOLOGO /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bin/
  x64/Release /LIBPATH:D:/win_torrent_1/tools/PicoTorrent.Libs/bin/x64/Release/Release /WX "boost_system-vc140-mt-1
  _63.lib" kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib
  advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"D:/win_torr
  ent_1/build-x64/Release/WebSocket.pdb" /MAP /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE /NXCOMPAT
  /IMPLIB:"D:/win_torrent_1/build-x64/Release/WebSocket.lib" /MACHINE:X64  /machine:x64 /DLL WebSocket.dir\Release\
  WebSocketConfig.obj
  WebSocket.dir\Release\PicoStateMessage.obj
  WebSocket.dir\Release\TorrentAddedMessage.obj
  WebSocket.dir\Release\TorrentFinishedMessage.obj
  WebSocket.dir\Release\TorrentRemovedMessage.obj
  WebSocket.dir\Release\TorrentsUpdatedMessage.obj
  WebSocket.dir\Release\TorrentSerializer.obj
  WebSocket.dir\Release\TorrentEventSink.obj
  WebSocket.dir\Release\WebSocket.obj
     D:/win_torrent_1/build-x64/Release/WebSocket.lib 라이브러리 및 D:/win_torrent_1/build-x64/Release/WebSocket.exp 개체를
  생성하고 있습니다.
  WebSocket.vcxproj -> D:\win_torrent_1\build-x64\Release\WebSocket.dll
  WebSocket.vcxproj -> D:/win_torrent_1/build-x64/Release/WebSocket.pdb (Full PDB)
FinalizeBuildStatus:
  "WebSocket.dir\Release\WebSocket.tlog\unsuccessfulbuild" 파일을 삭제하고 있습니다.
  "WebSocket.dir\Release\WebSocket.tlog\WebSocket.lastbuildstate"에 연결(touching)하고 있습니다.
"D:\win_torrent_1\build-x64\WebSocket.vcxproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\WebSocket.vcxproj.metaproj" 프로젝트를 빌드했습니다(기본 대상).

"D:\win_torrent_1\build-x64\MConnector.sln" 프로젝트를 빌드했습니다(Build 대상).


빌드했습니다.
    경고 0개
    오류 0개

경과 시간: 00:56:07.23
Finished executing task: Build

========================================
Setup-Library-Files
========================================
Executing task: Setup-Library-Files
Copying file boost_system-vc140-mt-1_63.dll to D:/win_torrent_1/build-x64/Release/boost_system-vc140-mt-1_63.dll
Copying file libcrypto-1_1-x64.dll to D:/win_torrent_1/build-x64/Release/libcrypto-1_1-x64.dll
Copying file libssl-1_1-x64.dll to D:/win_torrent_1/build-x64/Release/libssl-1_1-x64.dll
Copying file torrent.dll to D:/win_torrent_1/build-x64/Release/torrent.dll
Finished executing task: Setup-Library-Files

========================================
Setup-Publish-Directory
========================================
Executing task: Setup-Publish-Directory
Creating directory D:/win_torrent_1/build-x64/Release/publish
An error occurred when executing task 'Setup-Publish-Directory'.

bootcamp 지우기

맥북 프로 레티나 터치바 diskutility 에서 bootcamp 파티션 삭제하면 검은색에서 회색으로 바뀐다(APFS로 지정) 파틴션 아이콘 클릭하여 - 버튼을 이용하여 삭제하면 끝.