![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/blvJv6/btskhDkfIpo/Yk4a14VErOxvE6kK2kzvik/img.png)
현재 mysql이 localhost(127.0.0.1) 의 접속만 허용해주고 있기 때문에 그 설정을 바꿔야한다. sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 명령어를 통해 해당 부분을 수정해줘야 한다 bind-address = 127.0.0.1 부분을 주석처리를 해준다 이제 접속이 될 줄 알고!! 테스트 커넥션을 눌러봤지만 fail 메시지만 뜸 host ip주소 is not allowed to connect to this mysql server 오류 메세지의 의미는.. ip 주소가 Mysql server에 연결하도록 허용하지 않았다는 뜻.. acg 도 분명히 수정했는데 ㅠㅠ 왜이래 ㅠㅠ 검색을 해봤더니 SELECT Host,User,authentication_string ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/xelCN/btsjXWkPX0h/OJLr4ZwJFYWvctIJXFnNXK/img.png)
부팅 디스크 크기는 50, 이미지 타입은 OS, OS 이미지 타입은 내가 제일 자주쓰는 Ubuntu, 서버 타입은 무료인 Micro 를 선택! Zone은 KR-2, 스토리지 종류는 HDD, 서버 타입은 기본으로 선택한 것, 서버 이름은 임의로 설정하여 다음버튼을 클릭! ssh로 접속할 때 인증키가 필요하므로..! 인증키 이름을 입력 후 인증키 생성 및 저장 버튼을 클릭! 검색 결과에 따르면.. ACG(Access Control Group) 에서는 웹 서버에서 접근가능한 ip, port 를 정의할 수 있는 기능(?) 이라고 보면 될 것 같다! AWS 의 보안규칙(인바운드 규칙, 아웃바운드 규칙)을 생각하면 될 듯! 서버에 웹 애플리케이션을 배포할 예정이기 때문에.. ACG를 새로 생성 후 모든 ip가 80..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/olQWA/btrQ28zw2yJ/r3w4iRBCjiaPrCpjFpJy4K/img.png)
🦥 1. Graph QL 개념 1.1 GraphQL 이란? GraphQL 은 API를 위한 질의어이자 존재하는 데이터에 대해 쿼리를 수행하는 언어 API 에 있는 데이터를 완벽하고 이해가능한 상태로 제공 Client 가 GraphQL 형식으로 요청하면 필요하고 필요하지 않은 데이터를 정확하게 요청할 수 있다 1.2 GraphQL 장단점 장점 필요하고 얻고자 하는 데이터만 정확하게 요청 가능 GraphQL 쿼리로 API 에 요청을 보내면 정확하게 원하는 데이터만 받을 수 있음 어떤 데이터를 리턴받을 지 명시하기 때문에 예측가능한 결과만 리턴 서버가 아닌 클라이언트가 가지고 올 데이터를 통제하기 때문에 빠르고 안정적임 REST API 는 여러 URI 를 통해 데이터를 로딩하지만 GraphQL 은 단일 요청으..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bGNU7r/btrLavOdZ19/IuBJzYKzFjX58cvRpYn6bk/img.png)
Spring Security 와 JWT 를 사용하여 로그인을 구현해보려고 한다. 🦥 JWT (Json Web Token) ? JSON 객체를 사용해서 토큰 자체에 정보를 저장하여 사용자 인증에 사용되는 토큰 🦥 JWT 구성 구분자는 점이고 세 부분으로 구성되어 있다 1. 헤더(Header) : 토큰의 타입과 암호 알고리즘으로 구성 2. 페이로드(Payload) : 토큰에 담을 정보가 들어있다. 페이로드에 담긴 정보 하나하나를 클레임(claim) 이라고 부르고 name-value 로 이루어져 있다. 클레임의 종류는 등록된 클레임, 공개 클레임, 비공개 클레임 3가지가 있다. 등록된 클레임 : 미리 정의된 클레임의 집합 공개 클레임 : JWT 를 사용하는 사람들이 정의할 수 있음 비공개 클레임 : 클라이언..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/k5oil/btrKayrFfRn/9WBYddpKa4OrHZNiEfyc7K/img.png)
내가 받아보고 싶은 데이터는 회원 포인트 정보와 회원이 작성한 게시글 수였고 연관관계가 아니기 때문에 연관관계가 아닌 테이블을 join 하는 방법을 찾아야 했다. join 하는 방법은 매우 간단하다. join 결과를 받아올 클래스 생성 (Projection 클래스) join(테이블).on(조건) override fun findTopRankPoint(count: Long): List { return queryFactory.select(QPointRankingResponse( memberPoint2.id, memberPoint2.member.id, memberPoint2.point, board.member.id.count() )).from(memberPoint2) .leftJoin(board).on(memb..
Projection 게시글 전체 리스트를 조회할 때 게시글 제목, 내용, 작성자, 작성일 뿐만 아니라 집계 함수의 결과, join 한 결과를 바로 내가 만든 Response 객체로 매핑하고 싶을 수 있다. 그리고 엔티티의 속성 값이 너무 많거나 pw 같이 보안이 중요한 데이터가 담겨있는 경우 몇몇 속성을 제외한 Response 를 받고 싶을 수도 있다. 엔티티에 값을 추가하거나 개인정보가 담긴 속성을 전부 가지고 오는 것보다 내가 원하는 데이터만 가지고 올 수 있도록(SELECT 대상 지정) JPA 에서는 커스텀 객체로 바로 매핑할 수 있게 해주는 Projection 기능을 제공한다. Board Entity @Entity data class Board( var title: String, var cont..
Double 연산의 문제점 @Test @DisplayName("double 연산 테스트") fun doubleCalcTest() { val a = 100.00000000005 val b = 10.00000000004 Assertions.assertThat(a-b).isEqualTo(90.00000000001) } 위의 코드를 단위 테스트 한 결과 다음과 같은 에러가 발생한다 expected: 90.00000000001 but was: 90.00000000000999 자바에서 double은 정확한 실수를 저장하지 않고 근사치 값을 저장한다. 정확한 값을 계산하기 위해서 double 이 아닌 BigDecimal 을 사용해야한다. BigDecimal 크고 정확한 실수 값을 저장하기 위해 BigDecimal 을..
- Total
- Today
- Yesterday
- SpringGraphQL
- OS
- AWS
- 인덱스
- ORA-27125
- CodeDeploy
- TCP
- JPA
- ddl-auto
- EC2
- 트랜잭션격리성
- 네이버클라우드
- graphql
- Java
- SpringSecurity
- 트랜잭션
- nginx
- Oracle
- Travis CI
- level0
- Til
- spring
- db
- 파일업로드설정
- 운영체제
- 람다식
- N+1
- 프로그래머스
- ci/cd
- 기술면접
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |