- 코드는 깃헙에 올리므로 여기서는 공부한 내용을 요약하는 식으로 정리합니다.
3월21일
- 현재 페이지를 유지하면서, 새로운 url 에 요청하고 결과물을 받아오는 ajax 를 공부했다. 아이디 중복확인이나 이메일 중복확인 등의 기능에 사용된다.
- xml 에 대해서도 공부했는데 지금은 json을 더 많이 쓰는 추세이지만, 공공데이터같은 경우에는 xml 이 사용된 곳이 많으므로 결국 둘 다 알아둬야 한다.
- 동기/비동기 처리방식에 대해 잠깐 말씀해주셨는데 간략히 요약하면, 동기 처리방식은 한 작업이 완료될 때까지 계속 진행하는 것이고, 비동기 처리방식은 시간이 더 적게 걸리는 작업을 먼저 수행하고 다시 본 작업으로 돌아오는 식으로 진행되므로 진행 속도면에서 더 좋다.
세미 팀프로젝트
- 오늘부터 각 기능조별로 코드를 작성하면 된다.
- 그전에 저번주에 완성된 db 논리 및 물리 모델링을 바탕으로 sql 문을 만들어서 테이블과 인덱스, 시퀀스를 생성했다.
- 그 후에 각 기능조별로, 그리고 개인별로 코딩에 들어갔다.
3월22일
- SHA-256(단방향), AES-256(양방향) 암호화 알고리즘을 이용해서 비밀번호, 이메일 등 보안이 중요한 컬럼들에 적용하는 것을 공부했다.
- 암호화 라이브러리는 security 폴더에 넣어야 한다.
- 최신 버전도 있지만, 암호화 및 복호화는 예전 버전 그대로 쓰는 경우가 많다.
- 암호화 한 데이터는 암호화해서 비교해야하고, 복호화 한 데이터는 복호화해서 비교해야 한다.
- 회원가입 및 로그인 유지보수를 했다.
- 회원가입시 입력한 아이디 및 이메일이 중복된 것일 때, val("") 로 값을 채우지 못하게 하면 submit() 이 자동으로 안되게 했다. submit() 은 모든 input 이 입력되었을 때 가능하게 되어있었기 때문이다.
- Scope 영역은 사용 범위에 따라서 page, request, session, application 이 있는데 오늘은 page, request, session 을 공부했다. 기억할 것은 session 은 모든 jsp 에서 사용가능하다는 것! 로그인 처리시 중요하게 사용된다.
- jsp 는 <%-- --%> 주석문을 써야 에러가 나지 않는다.
- 클라이언트의 접속한 ip 를 request.getRemoteAddr() 를 통해서 알아왔다. 노트북과 핸드폰으로 했을 때 ip 를 확인했다.
세미 팀프로젝트
- 제품관리 로직을 짜는데 앞서, 작성한 프로토타입을 보면서 jsp 를 먼저 작성중이다.
- jsp 짜는데 시간이 쫌 걸릴 것 같다.
3월23일
- 폼태그의 name, db 의 컬럼명, vo 에 변수명, 이 세 이름은 같아야 편하다.
- WAS 서버는 휘발성이어서 껐다키면 정보가 날아가지만, 웹브라우저 디스크 공간에 저장해두면 계속 쓸 수 있다.
- 예를 들어, '아이디 저장' 기능을 만들 때는 브라우저 디스크 공간에 저장해두면 편리하지만 민감한 정보라면 공공pc 보다는 개인pc 에만 저장하는 것이 안전하다.
- 브라우저 디스크 공간은 로컬과 세션이 있는데, 세션은 브라우저를 껐다 키면 자동으로 삭제되지만, 로컬은 브라우저를 껐다 켜도 키와 값이 사라지지 않는다. 그래서 주로 이 로컬 스토리지에 아이디 저장을 위해 키와 값을 저장시킨다.
세미 팀프로젝트
- jsp 를 만들고 있다.
3월24일
- 어제에 이어 브라우저 스토리지를 공부했다.
- 세션은 1회성 정보, 로컬은 다소 영구적인 정보를 저장하는 데 사용한다.
- 브라우저 스토리지에 데이터를 저장해둘 때, 객체 자체를 저장하고 싶다면 두가지 방법이 있다.
- 하나는 키-값 형식으로 객체를 풀어서 여러개로 저장하는 것이고
- 다른 하나는 JSON.stringify 로 객체를 통째로 저장하고, 받을 때는 JSON.parse 로 객체화 하는 것이다.
- stringify 는 객체형식 그대로 문자열로 바꾸는 것이다.
- modal 에서 blur 상태가 되었을 때 modal 이 닫히게 하지 않고, 지정 버튼(예를 들어 '닫기')을 클릭했을 때만 닫히게 하려면 data-backdrop="static" 을 한다.
- iframe 에서 단지 내용만 보여줄 때에는 (예를 들어 이용약관같은 것들..) src 에 html 을 연결하고, 페이지 이동을 해서 기능을 작동시키려면 .up 등의 매핑uri 를 주면 된다.
- SMTP 를 사용하기 위해 구글계정을 하나 더 만들고 관련 설정을 해두었다.
- jdk 버전차이로 SMTP 를 사용하기 전에 사전에 jdk 와 jre 의 security 파일을 수정했다.
세미 팀프로젝트
- 액션단과 DAO 를 작성하고 있다.
3월25일
- iamport 를 사용해서 결제 기능을 만드는 것을 공부했다.
세미 팀프로젝트
- 액션단과 DAO 를 작성하고 있다.
- 점점 프로젝트의 비중이 높아지고 있다.
3월26-27일
- 프로젝트를 했다. 해도해도 끝이없다 ㅎ
- TIL 쓸 시간도 내기가 힘들었다 ㅠ
'TIL' 카테고리의 다른 글
[TIL] 2022년 3월 3주차 (0) | 2022.03.16 |
---|---|
[TIL] 2022년 3월 2주차 (0) | 2022.03.07 |
[TIL] 2022년 2월 5주차 ~ 3월 1주차 (0) | 2022.02.28 |
[TIL] 2022년 2월 4주차 (0) | 2022.02.21 |
[TIL] 2022년 2월 3주차 (0) | 2022.02.15 |