분류 전체보기
REST api / RESTful 이란.
REST api / RESTful 이란.
2019.05.03REST (Representational State Transfer) An API that provides network-based access to resources via a uniform interface of self-descriptive messages containing hypertext to indicate potential state transitions might be part of an overall system that is a RESTful application(link) - Roy T. Fielding self-descriptive message? 메시지 자체가 자기 자신을 설명하는 메시지. "어디로 가는가? 어떤 동작을 하는가?" 등이 메시지에 나타나야 함 메시지를 제공하는 서버..
[Gradle] build, jar 배포, IntelliJ 설정
[Gradle] build, jar 배포, IntelliJ 설정
2019.04.10이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
편향-분산 절충, Bais-Variance Decomposition
편향-분산 절충, Bais-Variance Decomposition
2019.04.07Expected test MSE 는 크게 reducible error 와 irreducible error 로 분리할 수 있으며 reducible error 는 다시 variance 와 bias 로 분리할 수 있다. Variance 는 training set 을 변경했을 때, \\(\hat{f}\\)이 변화하는 양을 나타낸다. Variance 가 클수록 training set 의 작은 변화에도 \\(\hat{f}\\)가 크게 변한다. 일반적으로 더 복잡한 방법일수록(more flexible) 더 큰 Variance 를 가진다. 이를 생각해보면, 복잡한 방법이라는 것은 그 만큼 주어진 training data 에 가깝게 따라간다는 것을 의미한다. 따라서 그 만큼 데이터 변화에 민감할 수 밖에 없다. Bias..
샌프란시스코, 실리콘밸리, RSA 컨퍼런스 2019 정리
샌프란시스코, 실리콘밸리, RSA 컨퍼런스 2019 정리
2019.03.05컨퍼런스를 가는 이유. 컨퍼런스에서 얻어가야 할 것. 컨퍼런스는 동향 파악이 주. 기술적인건 어차피 딥하게 못다룸 시간이 없어서. 동향과 방향성, 해외 보안 업계는 어떤 생각을 가지고 어느 방향으로 가고 있는지 이런걸 알아보려고 가는 것이 주이고, 그 다음이 네트워킹. Day 1. 기업 스타트업 어쩌고 세션. 기업이 어디로 가고있는지, key roll 을 이해하고 있는 employee가 중요하고 이런 요소를 투자시 중요하게 본다. 리스크를 감수하려는 마음가짐이 중요. 어차피 어디든 어떻게될지 모르니까. network가 중요. 업계 평판이나. 수많은 포트폴리오를 봐도 결국 중요한게 누가 누구를 알고... 이런 것에 영향을 많이 받는다 CISO 롤은 계속 바뀌고 있고 나도 계속 찾는중이다. 위험을 감수하고 ..
HTTP 패킷 캡쳐 (크롬 , burp suite, wireshark)
HTTP 패킷 캡쳐 (크롬 , burp suite, wireshark)
2019.02.25HTTP/HTTPS 패킷 캡쳐는 와이어 샤크나 burp suite, Postman보다 크롬의 Network 탭이 더 유용할 때가 많다. 크롬 패킷 캡쳐는 https도 보이고, 외부 사이트와 상호작용 하는 것도 보인다.새로 고침하거나, 페이지 이동 시 기존 로그가 날아간다는게 가장 큰 문제인데, 크롬 옵션에서 안날아가게 할 수 있음!!`` 개발자 도구 - Settings - Network에서 Preserve log 체크`` 캡쳐한 항목 아무거나 우클릭 - Save all as HAR with content하면 저장할 수 있고, 그냥 드래그 앤 드롭으로 다시 불러올 수 있음. 와이어 샤크 : 좀 더 정리된 형태로 보고싶은데 raw하게 볼 수 밖에 없다는게 단점... HTTPS는 볼 수 없다는게 제일 큰 문제..
4K HDR 모니터 사용기 (HDR 기능 켜는 법)
4K HDR 모니터 사용기 (HDR 기능 켜는 법)
2019.02.24모니터 LG 27uk850 32인치 4K도 고려 대상이었지만 이 글을 보고 접음. 이 가격대 32인치 4K는 모두 이노룩스 패널이라CPU i7-8700GPU GTX 1060 3G 첨에는 GPU가 없었고, 메인보드만 있었는데 내 메인보드(Asus TUF Z370)의 HDMI포트가 4K 해상도는 30Hz밖에 지원을 안했다. 뚝뚝끊김.그래서 GPU를 추가 구매 (GTX 1060 - HDMI, DP 포트 모두 4K 60Hz 지원) 테스트는 이 영상으로 했음.https://www.youtube.com/watch?v=LXb3EKWsInQ 영상 해상도 4K로 맞추고 재생하는데 CPU 로드율이 거의 100%임. 1060이 유튜브 4K영상 코덱을 지원을 안하나?? 그럴리가 없을 것 같아서 GPU 드라이버 최신으로 업데이..
Qt 로 빌드한 바이너리 배포하기
Qt 로 빌드한 바이너리 배포하기
2019.02.22Qt 자체를 static build하는건, 1. Qt 설치할 때 Source 선택해서 받은 다음 직접 빌드해야 하는데 nmake에러뜨고 빌드하는데 몇 시간 씩 걸리고 이래서 할 짓이 못됨.2. 오픈소스 버전은 static 배포를 금지하고 있다고 함(?) 그냥 같은 디렉터리에 dll 같이 넣어서 배포해주면 됨. release로 빌드하는 것 잊지 말고, *d.dll은 debug로 빌드했을 때 사용. sysinternals에서 ListDlls 받아가지고 어느 dll을 참조하는지 알아낸 다음 그냥 .exe가 위치한 디렉터리로 복붙하면 된다. 그리고 아마 Qt\.....\plugins에 있는 것들은 복사 해도 안될텐데, 이건 따로 설정파일을 두어야 함. .exe가 위치한 디렉터리에 qt.conf로 파일 하나 생성..
GAN : Generative Adversarial Networks (생성적 적대 신경망)
GAN : Generative Adversarial Networks (생성적 적대 신경망)
2019.02.14심층 합성곱 생성적 적대 신경망 (Deep Convolutional Generative Adversarial Networks, DCGAN)Generator와 Discriminator라는 2개의 신경망을 서로 경쟁시킨다.Generator는 이미지를 생성하고, Discriminator는 이게 진짜 이미지인지, 생성한 이미지인지를 판정이런 식으로 둘을 경쟁시키는 방식으로 학습하는 모델을 GAN 이라 함.비지도 학습 참고 자료원논문 https://arxiv.org/pdf/1511.06434.pdfhttps://www.tensorflow.org/tutorials/generative/dcgan?hl=ko텐서플로우 가이드 문서에 아주 잘 나와있음개념 부터 실제 모델 생성하는 것 까지 Keras 예제도 있음.
[python] 사용하면 좋은 패턴들
[python] 사용하면 좋은 패턴들
2019.02.11데이터 클래스는? @dataclass docs.python.org/ko/3/library/dataclasses.html 다형성을 쓰고 싶다면? abc 클래스 python에 interface는 없지만 abstract base class가 있다. https://docs.python.org/ko/3/library/abc.html 근데 메서드 명만 같으면 되고, 파라미터는 강제하지 않음. 근데 어차피 다형성 쓸거라면 파라미터도 맞춰주어야 한다. Python Singleton https://stackoverflow.com/questions/6760685/creating-a-singleton-in-python wikidocs.net/3693 doctest : docstring에 간단히 명시해서 로직 테스트 가능 h..
[python] 헷갈리는 모듈 스코프 변수, 전역 변수처럼 쓸 수 있을까? - 아니. class level 변수를 쓰자.
[python] 헷갈리는 모듈 스코프 변수, 전역 변수처럼 쓸 수 있을까? - 아니. class level 변수를 쓰자.
2019.02.04요약 : 전역 변수, 모듈 스코프 변수 보다는 class level 변수를 사용하자. main.py```pythonfrom g_val import *print("1 ", a)print(id(a))a = Falsedelay()print("3 ", a)print(id(a))```g_val.py```pythonimport timea = Truedef delay(): print("2 ", a) print(id(a))``````pythonλ python main.py1 main True1407342495522082 g_val True # False로 변경되어야 할 것 같지만, 그렇지 않다.1407342495522083 main False140734249552240```처음에는 main.py에서 a라는 변수에 접근..
상속 vs 컴포지션 구분 : delegation, decorator, wrapper
상속 vs 컴포지션 구분 : delegation, decorator, wrapper
2019.02.04Effective Java : 아이템 18. (기능 확장이 필요할 때)상속보다는 컴포지션을 사용하라 [Effective Java] 4장 클래스와 인터페이스 상속이란? extends를 말함. (implements는 아님. 이건 구현.) 컴포지션이란? Composition은 필요한 객체를 내부 private 변수로 두는 것 기존 클래스가 새로운 클래스의 구성요소로 쓰인다는 뜻 [Coding/CodingNote] - [코딩 노트] 객체 지향 패러다임 둘 다 어떤 클래스에 기능을 추가하거나, 책임을 더해서 확장하고 싶을 때 사용 할 수 있으나, 근본적인 의미가 다르다. 무조건 컴포지션을 써야 한다는 의미가 아니라, 의미에 맞게 사용해야 한다. (하단 '상속과 컴포지션을 구분하는 방법' 참고) 상속의 단점? 상속..
VMware Shared VM 포트 개방 문제
VMware Shared VM 포트 개방 문제
2019.01.30Preference에서 지정한 포트를 열어주고 방화벽에서 해제하는건 당연하고,접속해보면 로그인까지는 잘 되는데 가상머신을 열어보려 하면 Unable to connect to the MKS: Login (username/password) incorrect.에러가 발생하면서 안된다. wireshark로 보니까 903에 SYN요청을 보내고 있음. 그런데 netstat으로 확인해보니 내 워크스테이션에는 903이 LISTEN 상태가 아님. VMware-authd.exe는 902다. 그래서 C:\ProgramData\VMware\VMware Workstation 에 있는(Program Files가 아님. 설정 파일만 ProgramData에 따로 있음)config.ini에서 ```authd.client.port = ..