반응형 전체 글266 블록체인의 소개 블록체인이란? - 데이터(TX 등)를 블록에 담아 체인 형태로 연결하고, 이를 여러 대의 컴퓨터에 복제하여 저장하는 분산형 데이터 저장기술 - 중앙 집중형 서버에 거래 데이터를 보관하지 않고, 모든 사용자가 거래 기록을 공유/대조하도록 하여 데이터 위조나 변조를 할 수 없게 되어있음. - 일종의 분산식 공공장부의 개념으로 알려져 있음. 블록이란? - 유효한 거래 정보의 묶음을 말함. 데이터를 저장하는 단위. - 일정 기간의 거래 데이터를 블록에 분산 저장하는데, 블록체인 네트워크마다 블록 안의 거래 데이터는 조금씩 다름 - 블록은 블록 헤더와 거래 정보, 기타 정보로 구성됨. - 비트코인의 경우에는 약 1800~4200건의 거래정보가 기록 - 일정 기간동안 발생한 거래들을 기록한 장부 (= DB) - 블.. 2021. 6. 5. Long Short - Term Memory 기존 RNN의 문제점 기존의 RNN은 초기 입력값의 영향이 점점 사라진다. -> Back propagation을 통한 여러 번의 미분이 이유이다. (장기기억된 것은 Weight 값이 낮아진다.) Long Short - Term Memory RNN의 확장모델인 LSTM을 보자. Cell State Cell State는 Matrix / Vector 구조를 가진다. RNN & LSTM은 Sigmoid Activate Function을 이용한다. X : Pointwise 곱셈. 요소별로 곱해줌. + : Pointwise 덧셈. 요소별로 더해줌 위 식에대한 연산은 다음과 같다. 망각 게이트 (Forget Gate) 1. Concat 연산 Concat 연산의 식은 아래와 같다. 위 식의 입력값에 대한 Concat .. 2021. 6. 2. Maximum A Posteriori Estimation Likelihood : 각각 샘플이 가질 확률 Prior : 내가 기존에 가지고 있는 지식. 예측값 Evidence : 모델 파라미터를 찾을땐 주로 상수로 직업. Posterior : 후의 지식. Maximum A Posteriori Estimation Maximum Likelihood Estimation의 문제점 위 Traning Data Set에서는 0.2가 MLE가 되었다. 이는 우리의 사전적인 예측과 다르다. (보통 둘 중 하나니 0.5로 예측한다.) >> 위와 같이 MLE는 문제점이 있다. MAPE에서의 결과값을 확인해보자. MAPE는 예측값과 실험값을 모두 반영한 지표다. 데이터가 적을때는 Prior의 반영 비율이 크지만, 데이터가 많아진다면 Likelihood의 값이 더 중요해진다. MAPE.. 2021. 5. 27. Bayesian Estimation Bayesian's Theorem B가 고정되어있을때 A인 확률 = A가 고정되어있을때 B의 확률 * A확률 / B확률 = (B중 A인 확률) 예시) Model Estimation P(A|B) = P(θ|x) A = Model의 파라미터 (예 : 가우시안 분포 - 평균, 표준편차, NN - Weight, Bias) = θ B = sample(예 : 학습데이터. 이미지, 음성 등) = x P(B|A) = P(x|θ) : Likelihood 파라미터가 주어졌을때, 그 때의 x의 확률. 모델이 주어진 상태에서, 그 때의 x의 확률. P(x) 1차원 데이터에서의 x확률. 실제 샘플이 어떻게 분포되어있는지 설명하는 값. P(θ) 예를들어 Normal Distribution에서의 θ는 표준편차와 평균이다. 2차원의.. 2021. 5. 26. Swagger Swagger란? swagger는 REST api 문서를 자동으로 생성해주는 라이브러리이다. 앞에서 만든 게시판 생성 API를 만들었으면 프런트엔드 개발자가 사용할 수 있도록 문서를 다음과 같이 만들어 줘야 한다. url: /api/board method: POST request: json EX) { “title”: “제목”, “content”: “내용”} response: json EX) { “code”: 0, “message”: “success”} Swagger 적용 build.gradle에 springfox-swagger2 와 springfox-swagger-ui 라이브러리를 추가한다. dependencies{ ... compile('io.springfox:springfox-swagger2:2.7... 2021. 5. 23. 게시판 댓글 API CommentVO import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; @JsonInclude(JsonInclude.Include.NON_NULL) @Data public class CommentVO { private Integer id; private String context; private String created; private String updated; private Integer board_id; } CommentMapper import org.apache.ibatis.annotations.*; @Mapper public interface CommentMapper { @Options(useGeneratedKeys .. 2021. 5. 22. 이미지 보기 API ImageMapper.interface @Select({""}) ImageVO findOneImage(int id); ImageController.java @GetMapping("/view/{id}") public ResponseEntity findOne(@PathVariable int id) { ImageVO imageVO = imageMapper.findOneImage(id); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", imageVO.getMimetype()); headers.add("Content-Length", String.valueOf(imageVO.getData().length)); return new Respon.. 2021. 5. 21. 이미지 업로드, DB 저장 이미지 업로드 방식은 두가지로 정의할 수 있다. 첫번째. 파일 업로드 버튼을 사용해서 올리게 되는 방법이다. Multi part 프로토콜 방식이며, 이 때는 브라우저가 해당 프로토콜에 맞게 올려주게 된다. 파일을 업로드하는 메소드는 POST를 사용한다. 특이점은 Body에 보내는 데이터의 콘텐트 타입이 form data 이지만, 여러부분으로 나누어서 보낸다. 두번재. json 방식으로 보내는 방식이다. 이미지는 binary로 구성되어있으므로, json으로 보내기 위해 string으로 변경해야 한다. Binary data를 base64로 인코딩에서 전송한다. 이 포스트에서는 첫번째 방식으로 구현해보자 한다. Datagrip 에서 아래의 DDL문을 실행해 image 테이블을 먼저 생성한다. create ta.. 2021. 5. 21. Board 삭제 API Persistence 삭제 API를 위한 Persistence를 구현한다. BoardMapper.interface @Delete({""}) int deleteBoard(int id); Controller @DeleteMapping("/board") public ResultVO removeBoard(@RequestParam int id) { int result = boardMapper.deleteBoard(id); if (result > 0) { return new ResultVO(0, "success"); } else { return new ResultVO(100, "fail"); } } Postman Test DB 반영 확인 2021. 5. 20. 이전 1 ··· 23 24 25 26 27 28 29 30 다음 반응형