본문 바로가기

전체 글311

[Spring] Spring JDBC 설명/실습 본 게시글은 edwith boostcourse를 공부하고 정리한 내용입니다. 1. Spring JDBC JDBC를 이용해서 프로그래밍을 하게 되면 반복적인 코드가 많이 발생하고, 이는 개발자의 생산성을 떨어뜨립니다. 이를 위해 Spring JDBC가 등장했습니다. JdbcTemplate RowMapper Spring JDBC에서 개발자가 할 일 동작 스프링 어플리케이션 개발자 연결 파라미터 정의 O 연결 오픈 O SQL문 지정 O 파라미터 선언, 파라미터 값 제공 O statement 준비와 실행 O 결과를 반복하는 루프 설정 O 각 iteration에 대한 작업 수행 O 모든 예외 처리 O 트랜잭션 제어 O 연결, statement, resultset 닫기 O Spring JDBC 패키지 org.spr.. 2020. 1. 4.
[Spring] Java Spring 기본 Spring Core 1. Spring 1) Spring Framework 엔터프라이즈급(좀 큰) app을 구축할 수 있는 가벼운 솔루션, 원스탑숍(One-Stop-Shop) 모듈화가 잘 되어 있습니다. IoC 컨테이너 입니다. 트랜잭션을 선언적으로 관리할 수 있습니다. 완전한 기능을 갖춘 MVC framework를 제공합니다. AOP를 지원합니다. 스프링은 도메인 논리코드와 쉽게 분리될 수 있는 구조로 되어 있습니다. One-Stop-Shop : 모든 과정을 한꺼번에 해결하는 상점. 2) 프레임워크 모듈 Spring 프레임워크는 약 20개의 모듈로 구성되어 있습니다. 필요한 모듈만 가져다 사용 가능합니다. 3) AOP와 Instrumentation spring-AOP : AOP alliance와 호환되.. 2020. 1. 4.
[Web app] Tab UI 설명, 구현 Tab UI Tab은 자주 사용되는 UI 중 하나 입니다. 많은 컨텐츠를 효과적으로 보여줄 수 있습니다. 1) 자주 보는 Tab UI 형태 상단 메뉴를 누르면, 새로고침 없이 아래 내용이 변경됩니다. 기본 코드 TAB UI TEST crong jk pobi honux hello jk Lorem ipsum dolor sit amet consectetur adipisicing elit. Error dignissimos nostrum voluptates atque fuga natus molestiae distinctio provident perferendis consequatur, ipsum saepe libero omnis quibusdam obcaecati placeat quidem excepturi ex.. 2019. 12. 31.
[삼각지역 맛집] 시후쿠 삼각지본점, 가성비/맛/분위기 일본을 갔다온 후부터 가끔씩 자극적인 일본 음식이 땡기는 날이 오는데요. 그럴 때 매우 만족스럽게 먹을 수 있는 곳이 있습니다. 오늘 소개할 맛집은 '시후쿠' 입니다. 시후쿠는 삼각지역 8번출구에서 몇걸음 안된 거리에 위치해있습니다. 접근성이 매우 좋습니다. 메뉴는 매우~ 다양합니다. 음식 메뉴가 있고, 맥주와 함께먹는 안주메뉴가 있는데요. 저는 밥먹으러 간거여서 식사를 시켰습니다! 사실 전 이 곳에 가기 전 사케동과 야끼소바가 너무 먹고싶었습니다. 짠 그 다음 짠 마지막 짠 이 외에도 많은 메뉴가 있고 가격은 7000~9000으로 싼 가격에 양도 많이 먹을 수 있었습니다. 개인적으로 저 야끼소바와 라멘 국물 조합이 너무 맛있었습니다. 물론 연어도 맛있구요~ 다음에 또 가고 싶은 가게로 찜해두고 시후쿠 .. 2019. 12. 30.
[js] Web animation 웹 애니메이션 1. 웹 애니메이션 이해와 setTimeout 활용 사용자에게 매끄러운 UX를 지원해주어야 합니다. 1) 애니메이션 반복적 움직임의 처리를 말합니다. 웹 UI 애니메이션은 규칙적이고 단순한 방식으로 동작하는 CSS3의 transition, transform 속성을 사용하여 구현가능합니다. javascript로도 구현이 가능하지만 그보다 더 빠른 성능을 보장합니다. 특히 모바일웹에서는 CSS 방법이 더 빠릅니다. (특히 transition) 2) FPS FPS(frame per second)는 1초에 화면에 표현할 수 있는 정지화면(frame) 수 입니다. 매끄러운 애니메이션은 보통 60fps 입니다. 16.666ms 간격으로 frame생성이 필요합니다. (1000ms / 60fps = 16.. 2019. 12. 30.
[Statistics] 포아송분포 (Poisson Distribution) [Statistics 110] 11. Poisson Distribution(포아송 분포) 이 글은 하버드대학 Joe Blitzstein 교수님의 statistics 110 강좌를 듣고 정리한 내용입니다. 수업 전 자주하는 실수 정리: Sympathetic magic(공감 주술): 확률변수(random variable)와 확률분포(distribution)를 구별하지 못하고 오용하는 실수 "Word is not the thing, the map is not the territory" 확률변수를 집, 분포는 집의 설계도이다. Poisson Distribution 포아송 분포 통계학에서 가장 중요한 이산형분포 $ X \sim Pois(\lambda)$라고 표기 충분히 많은 사건 n에 대해, n이 발생할 확률이 .. 2019. 12. 10.
[Webapp] Ajax 비동기, 응답처리 Ajax 1. Ajax응답 처리와 비동기 1) Ajax와 비동기 새로고침없이 웹 화면의 일부분을 수정합니다. 자바스크립트 엔진과 웹 브라우저의 렌더링이 별도로 진행됩니다. function ajax() { var oReq = new XMLHttpRequest(); oReq.addEventListener("load", function(){ console.log(this.responseText); }) oReq.open("GET", "localhost"); oReq.send(); } line 4의 익명함수는 line 8, 9보다 더 늦게 실행됩니다. 이 익명함수는 비동기로 실행되며, event queue에 보관되었다가 load 이벤트가 발생하면(서버로부터 브라우저가 데이터를 받으면) call stack에 실행.. 2019. 12. 8.
[Webapp] DOM API, HTML 구조 수정 DOM API HTML은 동적으로 다양한게 변경될 수 있습니다. DOM APIs에서 이를 지원하는 다양한 메서드와 속성이 있습니다. 라이브러리를 사용하기 전, low-level의 DOM API를 먼저 배워봅니다. querySelector getElementById 등등.. createElement, createTextNode, appendChild insertBefore, innerText, innerHTML, insertAdjacentHTML 등등 1. DOM Node 조작 DOM API 1 다양한 APIs 1) document. 2) element. 2 DOM 탐색 APIs 유용한 DOM element 속성 var a = document.querySelector(".w3-table-all"); a.t.. 2019. 12. 7.
[RL] 강화학습 part3 - Temporal Difference Learning, RL application [RL] 강화학습 part3 - Temporal Difference Learning, RL application 5. 시간차 학습 Temporal difference learning 가장 혁신적인 알고리즘입니다. 동적 프로그래밍과 몬테카를로 방법의 장점을 겸비하였습니다. 1) 정책 평가 에피소드 e = $[s_0, r_0]a_0[s_1, r_1]a_1 \cdots [s_T, r_T]$에서 샘플 $z_t$를 처리한다면 몬테카를로 방법은 $Z(s_t)$에 이 샘플을 추가한다음 아래 식으로 가치함수를 갱신합니다. $$ v_{\pi}(s_t) = \frac{1}{\vert Z(s_t) \vert}\sum_{z \in Z(s_t)} \mathbb{r}(z) $$ 샘플 $z_t$가 k번째로 추가되었다면, 추가된 순.. 2019. 12. 6.
[RL] 강화학습 part2 - Dynamic programming, Monte Carlo Method [RL] 강화학습 part2 - Dynamic programming, Monte Carlo Method 이 글은 [RL] 강화학습 part1 - policy, value function 글과 이어집니다. 3. 동적프로그래밍 Dynamic programming 강화학습에서 사용하는 고전적인 방법입니다. MDP 확률분포가 주어지고, 상태, 행동 개수가 적어 계산시간과 메모리 요구량이 현실적이어야 구현이 가능합니다. 스토캐스틱 동적 프로그래밍 알고리즘 교과서에서 배우는 동적 프로그래밍은 결정론 문제를 풀도록 설계되어있으므로, 강화학습에 적용할 수 없습니다. 강화학습은 스토캐스틱 동적 프로그래밍을 사용합니다. 1) 정책 반복 알고리즘 평가 : 현재 정책에서 가치함수 계산 개선 : 가치함수를 이용해 정책을 갱신 .. 2019. 12. 6.
728x90