라이프온룸 Blog

Spring Security

WebSecurityConfigurerAdapter를 상속 받아 HttpSecurity 및 WebSecurity를 설정하고 Filter 및 Provider를 등록 한다. HttpSecurity 설정은 login page, cors, csrf 등 다양하게 할 수 있다. provider는 JWT 혹은 Username, Password 로 인증을 제공하는 역할을 한다.
Username, Password로 인증을 처리하고 싶은 경우 UsernamePasswordAuthenticationFilter를 상속받아 Custom filter를 작성한다. 그리고 처리한 데이터는 Authentication Manager로 넘겨서 인증 처리를 한다. 
인증 성공 및 실패에 대해 Handler를 등록한다. 

JPA 관련 application.properties

아래 URL 에서 application.properties에 들어갈 h2, datasource설정을 찾을수 있다. 

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties-data

hikari 는 DB 와의 Connection pool을 관리해주는 역할을 한다. 서버 실행시 H2는 schema.sql 의 쿼리를 한번 실행한다. 이를 이용해 테이블을 만들수 있다. 

Spring Boot JPA (2)

객체지향 쿼리 언어 

JPQL, Criteria 쿠리, 네이티브 SQL, JDBC, MyBatis SQL 매퍼 프레임워크 사용 

JPQL 특징
키워드는 대소문자 구분 안함 
엔티티명을 사용
별칭이 필수
TypedQuery — 반환타입이 명확한 경우 Query — 반환타입이 명확하지 않는 경우 (OBJ로 반환)

Spring Boot JPA (1)

ORM 사용 이유 

SQL 의존 개발, 코드의 반복 즉 데이터베이스 의존적 개발을 지양 하기 위해  

장점 
비지니스 로직에 집중할 수 있다. 
선언문 할당 등이 없어짐 
코드의 재상용 유지보수성 
DBMS 종속성이 적다. => 데이터베이스를 교체해도 시간이 덜 걸릴 수 있다

react-native-crypto-js, crypto-js, AES 암호화

react-native-crypto-js, crypto-js, AES 암호화

NodeJS 서버와 React-native 간에 데이터를 주고 받는데,  AES 암호화를 이용해 주고 받을일이 생겼다.

react-native-crypto, react-native-crypto-js, crypto-js, crypto 패키지를 테스트 하면서 코딩을 했는데 … 엄청난 뻘짓과 삽질 후에 결국 crypto-js 로 AES 암호화를 구현했다. 

React- native 안드로이드 앱 번들(abb) 및 배포

관리자 권한으로 CMD 실행 후 C:\Program Files\Java\jdk1.8.0_171\bin 폴더로 이동
keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

위 결과로 생성된 my-upload-key[자기가 원하는 이름 가능].keystore 을 android/app 으로 이동 (my-key-alias 도 자기가 원하는 이름으로 하는게 가능하며 이름들은 향후 절차를 위해 기억해야 한다.)
android/gradle.properties 에서 Gradle 변수를 설정하고 android/app/build.gradle 에 서명 설정 코드 추가 (자세한 내용 공식 홈 참조)

react-native 앱에 광고 삽입[3]

App 광고를 게제 할때 보통 Admob을 사용한다. 그리고 그 위에 firebase 가 있어서 admob 을 더쉽게 관리할 수 있다고 한다. firebase를 이용하면 admob 뿐만 아니라 ML, 인증, 호스팅 등의 기능들을 이용할 수 있다고 하는데..

react-native 앱에 광고 삽입[2]

App 광고를 게제 할때 보통 Admob을 사용한다. 그리고 그 위에 firebase 가 있어서 admob 을 더쉽게 관리할 수 있다고 한다. firebase를 이용하면 admob 뿐만 아니라 ML, 인증, 호스팅 등의 기능들을 이용할 수 있다고 하는데..