분류 전체보기
-
-
JWT 생성 및 실습카테고리 없음 2017. 10. 10. 11:49
JWT 는 말그대로 JSON을 이용한 Web Token 이다. 서비스에 대한 인증이나 CSRF 토큰등에 사용된다. JWT 구조: Header + Payload + Signature 로 구성됩니다. header payload signature ㅣ | | iamheader iampayload iamsignature header 는 암호화 알고리즘 과 type payload 는 전송할 내용 jwt 는 python , java, ruby,.net, perl,javascript 등 다수의 언어를 지원한다. 예제로서 python3 를 사용하도록 한다. jwt 파이썬 라이브러리를 설치 #pip3 install jwcrypto #아래 코드는 python JSON Web token tutorial 을 그대로 가져온 것이..
-
JPA 와 JDBCTemplate 저장 속도 비교Tech/SpringBoot 2017. 9. 28. 18:23
spring boot 에서 jpa 와 jdbctemplate 을 제공해주며 , jpa 와 jdbctemplate 동시에 둘다 사용 가능 하다. pom.xml org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-jdbc 접속 정보는 properties 에 아래와 같이 한다. spring.datasource.username=xxxx spring.datasource.password=xxxx spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://xxxx:xxxx/parcelab..
-
JPA saveIterable 과 save 저장 속도Tech/SpringBoot 2017. 9. 28. 14:48
spring 에서 jpa 를 사용하여 save 를 하는것과 save iterable 을 할 경우의 차이점과 속도를 알아보도록 한다. List save(Iterable var1) iterable 형태로 인자 값을 전달 할 경우 hibernate 는 내부적으로 메모리에 올린 다음 한번에 DB 에 커밋을 하도록 한다. 해당 메소드의 내부 로직을 알아보도록 하자. @Transactional public List save(Iterable entities) { List result = new ArrayList(); if(entities == null) { return result; } else { Iterator var3 = entities.iterator(); while(var3.hasNext()) { S ent..
-
가상화페 채굴봇넷으로 인한 서버 조사카테고리 없음 2017. 9. 24. 22:56
최근 비트코인 채굴을 위한 소프트웨어들이 취약한 서버들을 해킹하여 설치 되고 있는것 같다.아래는 얼마전 발생한 피해서버 조사 후 나온 인터넷 기사이다. http://m.dailysecu.com/?mod=news&act=articleView&idxno=23980 얼마전 피해서버의 cpu 점유율이 95% 이상을 치고 있어서 살펴 보았다.root 계정이 아닌 일반 계정(관리자가 테스트 용도로 추가한 계정임) 으로 bash 라는 프로세스가 cpu 점유율을 95% 이상 차지하고 있었다.해당 프로세스를 kill -9 로 죽인 후 2시간 가량 모니터링 해본 결과 아무런 문제가 발생 하지 않았다.아무런 의심 없이 그날은 넘어갔다. 며칠 후 또 다시 cpu 가 95% 이상 점유하고 있어서 다시 조사해보니 bash 라는 ..
-
find 와 xargs 사용Tech/Server 2017. 9. 13. 16:40
아래와 같이 파일들이 존재 한다고 하자.위치는 /home/backup/ 20170819020001.sql20170819020001.sql20170819020001.sql20170919020001.sql20170919020001.sql20170919020001.sql20170919020001.sql 위의 파일 들은 백업 파일이며, 주기적으로 하루에 한번씩 백업한 파일들이다.8월에 해당하는 파일 즉 201708 로 시작하는 파일들을 찾아 삭제하려면 아래와 같이 진행 한다. find /home/backup/ -name "201708*" | xargs rm -f find 의 옵션을 사용한 삭제 방법아래 방법은 3일 전 파일은 삭제 하도록 한다. find /home/backup/ -name "2017*.sql" ..
-
JPA 사용시 Lombok 의 Data 어노테이션 사용 이슈Tech/SpringBoot 2017. 8. 28. 15:36
아래 예시로 설명 하도록 한다. @Dataclass A{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL) @JoinColumn(name="a_id") private List bList; } @Dataclass B{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL) @JoinColumn(name="a_id") private Long a_id; A 와 B..
-
자동 증가 컬럼생성 방법Tech/DS 2017. 8. 14. 10:53
mysql, postgresql 을 예로 설명 하도록 한다.mysql 에서는 테이블 생성시 auto_increment 라는 키워드를 붙혀주면 해당 컬럼이 자동 증가 된다. 하지만 postgresql 에서는 생성 방법이 조금 다르다.먼저 sequence 를 생성후 해당 시퀀스를 사용하여 컬럼의 값을 자동 증가 되도록 하게 한다. ============== mysql ===================== create table Member( id bigint auto_increment primary key, name varchar(100) not null, age int null ); ============= postgresql ============= #시퀀스 생성 create sequence membe..