본문 바로가기

전체 글

TIL 2023.06.26 HMAC(keyed-Hash Message Authentication Code) HMAC (keyed-Hash Message Authentication Code) 데이터를 보낼 때 데이터와 함께 해당 데이터를 해싱처리한 HMAC의 값을 함께 보냄으로써 수신자의 입장에서 해당 데이터가 위변조가 되었는지 안되었는지 파악할 수 있게 해준다. 이를 이용하려면 우선 요청자, 수신자 간의 약속이 2가지 필요하다. SecretKey 와 Algorithm 두가지를 서로 공유하고 있어야한다. 데이터를 같은 방식으로 암호화를 하여야 HMAC 값이 동일하게 나오며 같음 여부에 따라 위변조를 파악 할 수 있기 때문 import org.apache.tomcat.util.codec.binary.Base64; import javax.crypto.Mac; import javax.crypto.spec.Secret.. 더보기
TIL 2023.06.19 전문통신(Fixed Length Format) 전문통신 Fixed Length Format은 서로 다른 시스템끼리 데이터를 송수신 할때 사용하는 전문의 데이터 포맷 중 하나로 전문을 구성하는 field들의 길이를 입력받을 수 있는 최대 사이즈로 고정시키는 방식입니다. 최근에는 JSON, XML과 같은 송수신 포맷을 많이 사용하지만 예전에는 전문통신 방식으로 데이터를 주고 받았습니다. 그래서 기존 C언어를 통해 개발된 프로그램들과 데이터를 송수신하려면 자바에서도 전문통신을 이용을 해야합니다. 전문통신의 특징 1. 고정된 바이트타입 길이 규칙을 정해야합니다. 2. header와 body로 구성해야한다. header에는 송수신 정보들이 들어가고 body에 전송할 데이터를 담는다. 3. 규칙에 따라 해당 바이트수를 무조건 채워야하며, 빈공간의 경우 0 또는.. 더보기
JavaScript, jQuery 정리 SSR(Server Side Rendering) 서버 측에서 렌더링 마친 상태로 데이터가 결합된 화면을 클라이언트에 전달하는 방식 (JSP/Servlet 등) - 새로운 페이지로 이동할 때마다 요청하기 때문에 깜박거리는 현상 존재 - SPA(Single Page Application) 기법이 대두되면서 CSR 방식이 각광 CSR(Client Side Rendering) 서버가 요청을 받으면 클라이언트에 각종 리소스를 보내주고 클라이언트가 그것을 받아 렌더링 하는 방식 (ajax, fetch 등) - 최초 요청 시 HTML을 비롯한 CSS, JavaScript 등 각종 리소스를 받아오고 이후에는 서버에 데이터만 요청 - 자바스크립트로 뷰를 컨트롤 - 초기 이후 다른 페이지로의 이동시에는 SSR 보다 빠른 .. 더보기
TIL 2023.03.22 Spring Security, React-Redux, Scheduling Security를 적용한 Web MVC ServletConfig 에서 Controller를 대신 작성 package com.bit.boot12.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.web.servlet.config.annotatio.. 더보기
2023.03.20~2023.03.21 SVN - Jenkins Windows 로컬 서버 CI/CD 목표 : 로컬 PC에 SVN 서버를 구축하고 Jenkins를 연동하여 SVN commit에 맞춰서 자동으로 CI/CD 되도록 구현 SVN Server 설치 + 저장소 생성등 기본 세팅 https://timeboxstory.tistory.com/98 [형상관리] Windows에서 SVN 설치 및 사용법 - 서버 구축편 ✔ SVN 서버 구축하기 - SVN Server Download - SVN 저장소 만들기 - SVN 사용자 추가 - SVN 사용자 권한 부여 - 저장소 URL 공유 안녕하세요. 회사에서 협업하여 일을 할때에는 형상관리가 거의 필수적으로 timeboxstory.tistory.com SVN Client 설치 https://tortoisesvn.net/downloads.html Downloads .. 더보기
TIL 2023.03.21 암호화, JWT, Spring Security 암호화 encryption 암호화 인증 모듈을 쉽게쓰기 위한 코덱 의존성 추가 commons-codec commons-codec Spring Security crpto 사용을 위한 의존성 추가 org.springframework.security spring-security-crypto 6.0.2 SevletConfig - BCrypt를 이용하여 Encoding하기 위해 @Bean으로 객체 생성 package com.bit.boot09.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.secur.. 더보기
TIL 2023.03.20 JPA, WebSocket JPA properties # DB Connection spring.datasource.dbcp2.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://192.168.99.100:3306/mydb spring.datasource.username=scott spring.datasource.password=tiger # jpa spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=create-drop # logging slf4j logging.level.web=info logging.level.com.bit.boot06=debug spring.jpa.hibernate.ddl-au.. 더보기
TIL 2023.03.17 React 2 (xhr, fetch, axios, CRUD, JPA) STS 4 설치 후 ini 파일에서 Xms만 1024로 변경 해당 버전으로는 legacy 프로젝트 생성이 불가능하다. Back - boot, mybatis properties 대신 yaml로 작성 시 spring : datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.168.99.100:3306/mydb username: scott password: tiger hikari: connection-timeout: 3000 validation-timeout: 1000 maximum-pool-size: 10 logging: level: web: info '[com.bit.boot04]': debug STS 4 설치 후 lom.. 더보기