인터넷에서 컴퓨터나 다른 네트워크 장치를 식별하는 고유한 번호이다.IPv4는 총 32 비트로 구성되어있다. 그러나, 공간이 점차 부족해지고 보다 긴 주소 형식인 IPv6가 고안되었다.이때, 네트워크 부분과 호스트 부분을 구분해야한다.학교로 따지면 네트워크는 반을 의미하
코딩테스트를 보며, 시간초과 나도록 빡구현을 했다. 후기를 찾아보면 내가 주로 틀린 것은 투포인터 혹은 이진트리였다. 투포인터 알고리즘에 대해서 알고는 있지만, 명확한 이해가 없어서 다시 알아봤고 이를 활용 가능할 정도로 연습해야겠다고 생각했다. | 말 그대로 두개의
DEV에서 localDateTime이 달랐다. 한국시간보다 9시간 이전이기에, UTC기준 시간으로 보였다. WEB Application이 배포된 서버의 TimeZone을 봐야한다.NCP(TZ -> Seoul)에 배포하였지만, 그 전에 Application을 Docker
cookie를 frontend에서 저장하지 않고 backend에서 저장하는 이유부터 알아보자!왤까?가장 중요한건 보안때문이다. 보안때매 사용하는거면 별로 안 중요한거면 그냥 넘겨도 되겠네 싶겠는데 별로 안 중요한걸 기록하며 사용하는 일이 많을까 싶다. 일단 내가 저장하
본 내용은, JAVA 전체적인 구조에 대한 이해 중, JDK 도구의 역할과 그 중 모니터링 도구에 대해서 알게된 점을 공유하기 위해 작성하였습니다. JDK 도구 살펴보러가기(https://docs.oracle.com/en/java/javase/11/tools
Exception 구조화를 하기 위해, 보통 ExceptionHandler Class를 사용해서 예외처리를 진행한다. ExceptionHandler Class는 @RestControllerAdvice와 @ExceptionHandler를 통해서 만들 수 있다. 그러나 s
rest api의 반환 결과, 어떻게 하는게 좋을까?spring 프로젝트를 하며 기능적으로 완성됐다고 생각하는 api들에 대해서 리팩토링을 진행하다 문득 생각이 들었다. 우선 나는 아래와 같이 구조화했다. GET, POST에 대한 정상 응답 Response -> DTO
DES란 암호화 알고리즘 중 하나로, AES의 기반이 되는 Data Encryption Standard 보안 알고리즘이다.특징은, substitution과 permutation을 반복하는 것이다. DES는 0과 1로 이루어진,비트 총 64비트를 16 round에 걸쳐서
한동안 블로그를 않았는데 오늘은 spring에서 elastic search, kibana를 세팅하는 방법에 대해서 적어보도록하겠다!!서비스에서 검색엔진을 적용시켜야했고, 따라서 Solr, Elastic Search를 비교한다음 Elastic Search를 사용하기로 했
이전 포스팅에서 api하나를 분리하고 2개의 api로 만든 것을 확인할 수 있었다.그리고 마지막으로 cache 적용기를 메인 주제로 하여 2탄을 가져왔다.cache를 도입하려고 하는 이유가 무엇일까?6시에 한번 Update하고 그 이후로는 계속 동일한 정보에 대해서 굳
이전에 spring project를 했었는데 지금와서 생각해보니, api가 매우 느렸던게 생각났다.우선 메인 화면에 날씨 api를 통해서 스케줄링해서 매일 6시에 update되는 정보를 보면준다. 이때 미세먼지 공공 api 그리고 기상청의 날씨 api를 사용했다.그리고
cache를 사용하는 이유는 데이터 베이스에서 읽기 성능 개선을 할 수 있기 때문이다. cache는 cpu가 database 메모리에 접근을 하지 않아도 되도록 중간 버퍼의 역할을 한다. cache에 값을 저장해놓고 "읽는다"면 database까지 가서 조회하지 않을
database를 공부하며 index를 사용하면 조회시에 성능을 높일 수 있다고만 알았었다. 그리고 이번에 postgreSQL을 사용하는데 query 최적화를 진행할 수 있는 방법에 대해서 알아보면서 index의 중요성에 대해서 깨닫게되었다.알게된 사실에 대해서 공유를
이번주는 일주일동안 GCS를 spring에 연동하고 사용할 api를 만들어봤는데, 알고 시작했으면 좋았을 꿀팁들에 대해서 공유하려고 합니다.!!!특히 graphql을 사용하며 postman으로 협업 혹은 test를 진행하고 있는 분들에게 도움이 될 거라고 믿습니다!!
You have an error in your SQL syntax; check the manual thatcorresponds to your MYSQL server version for the right syntax to use near아무리봐도 syntax 에러를 발
만약에 사용자가 삭제한 데이터를 다시 필요로한다면? 혹은 관리자가 될 수도 있을 것이다.사실 이러한 것까지 프로젝트를 진행하면서 생각해보지 못했다. database를 공부할 때 데이터 삭제는 delete문을 사용해서 바로 삭제해버리는 hard delete에 익숙해졌기
이전 post에서 context를 중심으로 설명을 진행하였다. 잠깐 언급을 진행하였는데 header에 대한 값을 가져올 수 있다고 했다.그렇게 header에 대한 값을 가져오려면 무엇을 사용해야한다고 했을까?DgsDataFetchingEnvironment 를 사용해서
netflix grapqhl에 대해서 알아보면서 알아둬야할 점인 context 정보 활용하는 방법에 대해서 공유하려고한다.context를 잘 활용한다면 api에서 불필요한 데이터들에 대한 query traffic이 발생하지 않을 것이다.java spring으로 예시를
오늘은 kotlin이 java와 유사한데 예외처리 부분에서 차이가 존재하고 상호운용성을 위해서 어떤 방식으로 예외처리를 진행해야할지에 대해서 공유하려고한다!kotlin에는 자바처럼 compile 시점에 발생하는 checked 예외와 unchecked 예외로 구분되어있지