본문 바로가기

분류 전체보기

(43)
[Effective Java] builder pattern ** effective java 공부내용 입니다. 매개변수가 많을때에는 builder pattern 사용을 고려하자. python이나 scala의 경우 파라미터가 많은 경우 아래의 예시처럼 named optional pattern 사용이 가능하다. class NutritionFacts: def __init__(self, servingSize, servings, calories=0, fat=0, sodium=0, carbohydrates=0): self.servingSize = servingSize self.servings = servings self.calories = calories self.fat = fat self.sodium = sodium self.carbohydrates = carbohydra..
protocol buffer 정리 protocol buffer Protocol Buffers is a free and open source cross-platform library used to serialize structured data https://en.wikipedia.org/wiki/Protocol_Buffers 데이터를 직렬화할 때 사용하는 오픈소스 라이브러리이다. 메시지 타입 정의 search request에 대한 예제 .proto 파일 syntax = "proto3"; message SearchRequest { string query = 1; int32 page_number = 2; int32 result_per_page = 3; } - SearchRequest라는 이름의 message를 정의 - message는 데이터를..
[gRPC] gRPC 간단 정리 RPC(Remote Procedure call)?? remote procedure call(RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction. RPCs are a form of inter-process communication(I..
Google Machine Learning Bootcamp 2기 모집시작! 및 늦은 1기 후기 구글 코리아에서 진행하는 머신러닝 부트캠프 2기 모집이 시작되었습니다! 선 링크... https://events.withgoogle.com/google-developers-mlb-kr-2021/ Machine Learning Bootcamp - 프로그램 소개 4. 머신러닝 회사와의 네트워크 형성 및 취업 연계 스스로 공부할 수 있는 교육과정 이외에도 머신러닝 개발자로서의 미래를 잘 설계할 수 있도록, 이 프로그램에서 머신러닝 개발자를 찾고 싶 events.withgoogle.com 작년에 1기로 활동하면서 후기를 간단하게나마 작성 맟 홍보해보려고 합니다. 전체적으로 어떻게 지원하였고, 무엇을 했는지 과정들을 살펴보고 느낌점을 서술하도록 하겠습니다. 1. 어떻게 알게 되었나? 요새 대부분 사람들이 페이스북..
[kubernetes] Authorization, cluster role authorization, 말그대로 권한이나 허가이다. 서버에 여러 component가 있고, 여러 user가 존재한다. 그런데 관리자가 아닌 일반 사용자가 node를 삭제하는등 component를 마음대로 조작해버리면 문제가 발생할 수 있다. 따라서 user에 따라 kubernetes 접근에 제한적 기능은 주고싶을 때 kuberenets는 권한을 부여할 수 있는 기능을 제공한다. 4가지 Authorization이 있다. 1. Node 2. ABAC(Attribute-Based Access Control) 3. RBAC(Rule-Based Access Control) 4. webhook 간단하게 뭔지 살펴보고, 제일 자주 사용한다는 3번을 좀 더 살펴보자. 1. Node 지난번에 kubelet에 cert..
[Kubernetes] kubeconfig kubernetes에서 보안이걸린 component에 접근하는 방법은 다음과 같다. 1. curl request >> curl https://kube-server:6443/api/v1/pods --key admin.key --cert admin.crt --cacert ca.crt 2. kubelet declarative >> kubectl get pods --server kube-server:6443 --clinet-key admin.key --client-certificate admin.crt --certificate-authority ca.crt 3 kubeconfig 사용 >> kubectl get pods --kubeconfig config 사실상 1,2번은 너무 길어서 사용성 떨어짐 따라서 3번..
TLS basic TLS?? user 가 key를 생성하고, 해당 key를 통해 데이터를 암호화한다. 서버에서는 user로 부터 해당 key와 암호화된 데이터를 전송하여, 서버는 해당 key로 복호화 한다. 근데 네트워크를 통해 key를 전송하다가 hacker가 key를 중간에 알아내버리면 큰일남.. 보안에 큰 문제가 생김 --> 따라서 symmetric key를 안전하게 서버에 전송하는게 중요함 어떻게?? 예를 들어 보자. 유저와 서버가 있고, 해커는 항상 모든 네트워크 패킷을 훔쳐본다고 하자. 1. server는 public key와 private key 2개를 발급 받음 그럼 저기 my-key.key, my-key.pem 같이 key가 public, private key가 생긴다. 2. user가 server에 접근..
[강화학습] tensorflow2로 ddpg dqn에 이어 tf2로 ddpg를 작성해봤다. tf1이나 keras를 히용해서 ddpg를 작성했을 때 와 달리 tf2의 autograph 덕에 매우 편리했다. 특히 actor를 업데이트하는 부분에서 chain rule을 이용해서 업데이트 하는 부분이 코드로 먼가 깔끔하게 짤 수 있었다. ddpg 자체가 거의 dqn이 사용한 기법을(target network, replaybuffer) 활용했기 때문에 actor-critic만 잘 구현하면 쉽게 구현할 수 있다. 1. OUNoise ddpg 에서는 exploration을 위해서 OU noise를 사용한다. class OUNoise: def __init__(self, action_dimension, mu=0, theta=0.15, sigma=0.2): self..