IT

· IT/스프링
이번 글에선 자바 JPA 에 대해 알아보고자 한다. 자바 JPA 란 ORM (Object–relational mapping) 기법을 자바에 적용하기 위해 만들어진 API 표준 이다. 인터페이스로서의 역할만 하기 때문에 실질적인 구현체들은 자바에서 제공해주는 JPA 를 인터페이스로 사용하여 만들어져 있다. 대표적인 JPA 구현체들은 Hibernate, EclipseLink, DataNucleus, OpenJap, TopLink 등이 있고 하고 개인적으론 Hibernate 만 써보아서 각 구현체들에 대한 장단점은 아직 잘 모르겠다. 그리고 Java JPA 에선 영속성 컨텍스트(Persistence Context) 라는 개념이 나오는데 JPA 에선 이 영속성 컨텍스트에 대해 꼭 알아야한다. 그럼 영속성 컨텍스..
· IT/php
Carbon 과 DateTime PHP 에선 시간 관련 작업시 Carbon 라이브러리를 주로 사용한다. 예전 javascript 의 moment 같은 존재이다 (참고로 현재 moment 는 deprecated 됨.) 그리고 Carbon 은 PHP 에서 제공해주는 시간 라이브러리 DateTime 을 활용하여 구현되어 있다. 이러한 이유로 DateTime 라이브러리 작동 메커니즘을 자연스럽게 따라갈수 밖에 없다. 그래서 이번 글에선 DateTime 작동 메커니즘중 하나를 소개 하려고 하고 이를 잘 알고 있어야 Carbon 사용중 뜻밖의 버그를 방지 할수 있을것이다. https://carbon.nesbot.com/docs/echo $dt->addMonths(60); // 2017-..
· IT/꿀팁
인스타그램 API 연동에 대해 간략하게 정리해보려고 한다. 인스타그램 API 는 아래와 같이 2가지 종류가 있다. 그래프 API 글 작성, 코멘트 작성, 메타데이터 조회 등에 사용 for 비즈니스 , 크리에이터 계정 기본 디스플레이 API 인스타그램 유저 프로필, 이미지, 비디오, 앨범등을 조회하는데 사용 for 일반 계정 인스타그램 API 연동을 하기전에 앞서 다음과 같은 사전 작업이 필요하다. 인스타그램 비즈니스 계정으로 전환 페이스북 페이지 만들기 페이스북 페이지와 인스타그램 비즈니스 계정 연동 Meta 개발자 센터 가입 및 앱 만들기 API 연동 참고로 인스타그램 (Meta) API 공식 문서는 매우 복잡하고 사용자 친화적이지 않기 때문에 어느정도 정리되어 있는 다른 블로그 글을 참고해서 연동하길..
· IT/ELK
엘라스틱서치를 데이터 웨어하우스로 활용하여 데이터들을 모은뒤 키바나와 연동하여 엘라스틱서치에 쌓인 데이터들을 시각화하여 대시보드를 만들수있다. 그리고 이를 활용한 대시보드를 인가된 접근만 허용하여 외부와 연동하는 방법에 대하여 알아보자. 키바나 대시보드 외부 연동 1. 대시보드 만들기 2. 키바나 인증 키바나 설정 파일인 kibana.yml 파일에서 인증과 관련된 설정들을 할수 있다. 기본적으로 아이디, 패스워드를 사용한 인증 방법 (엘라스틱서치와 연동하여 구현됨), 토큰, OIDC (Oauth2 써드파티) , SSO 등을 활용한 인증방법이 있다. 이중에서 간단히 구현해볼수 있는 Anonymous authentication 을 이용하려고 한다. 추가적인 보안이 필요할 경우 키바나 대시보드를 불러오는 서비..
카카오 로그인 연동을 하다 위와 같은 에러가 계속 발생하여 clienet_secret 값을 이것저것 바꿔보았는데 해결되지 않아 검색을 해보니 내가 값을 잘못넣고 있었다. 카카오 개발자 센터 client_id : "내 어플리케이션 > 앱 설정 > 앱 키" 에 있는 REST_API_KEY 입력 client_secret : 내 어플리케이션 > 카카오 로그인 > 보안" 에 있는 Client Secret 코드 입력
개요 2022년 10월 15일, sk cnc 데이터센터 화재로 인해 일명 카카오 먹통 사태로 번졌을때 PG 기능중 하나였던 카카오페이에서 중복 결제가 발생했었다. 그래서 앞으로 또 PG사 서비스 장애가 발생했을때 똑같은 일이 발생하지 않도록 중복결제 방어가 필요했기에 이러한 서비스 장애 발생시 대처법에 대하여 알아보았다. 사용하고 있는 PG 는 총 3개로 나이스페이, 토스, 카카오페이 (정기결제) 이다. 그럼 각 PG 사마다 결제요청에 대해 알수없는 응답에 대해서 어떻게 처리하는지 알아보도록 하자. PG사에 결제 요청을 했을때 받을수 있는 응답 값은 3가지로 나뉜다. 성공 실패 알 수 없음 성공 혹은 실패로 명확한 응답 값을 받은 경우는 문제가 없다. 문제는 알 수 없음 인 경우다. 결제 요청을 했는데 ..
개발시 자주 쓰는 기능인데 가끔 헷갈릴때도 있어 기록과 공유차 글을 남겨보려 합니다. Code Folding (코드 블럭 접기) https://www.jetbrains.com/help/idea/working-with-source-code.html#code_folding Write and edit source code | IntelliJ IDEA www.jetbrains.com Move Caret(Cursor) (IDE 커서 움직이기) https://www.jetbrains.com/help/rider/Selecting_Text_in_the_Editor.html#move-caret Handle caret and select text | JetBrains Rider www.jetbrains.com Search..
· IT/라라벨
$attributes 는 Model 에서 라라벨의 필드를 담는 배열 변수이다. 보통 $attributes 를 통해 Model 필드에 접근 하는건 Mutator 나 cast 같은 내부 메소드를 통해 접근할때 일것이다. ex) use App\Support\Address; use Illuminate\Database\Eloquent\Casts\Attribute; /** * Interact with the user's address. * * @return \Illuminate\Database\Eloquent\Casts\Attribute */ protected function address(): Attribute { return Attribute::make( get: fn ($value, $attributes) =..
_이준호_
'IT' 카테고리의 글 목록 (5 Page)