분류 전체보기 (총 582개) 썸네일형 리스트형 SpringBoot - REST API 인증 - 1 (Interceptor와 JwtToken을 이용한 App API 인증) interceptor, JWTTOken Spring Interceptor와 JWT Token을이용한 App(모바일) 인증 구현에 대해 알아보겠습니다. 이번 포스팅에서는 전체적인 App의 인증 과정에대한 시나리오를 알아보고, 사용자가 회원가입시 토큰을 저장하고, 로그인시 저장된 토큰을 받는 부분까지 구현해보도록 하겠습니다. https://galid1.tistory.com/755이 포스팅을 다 읽으셨다면 Refresh Token에 대해서도 공부해보시길 권장드립니다. 1. 환경IDEWebStormIntellij Build toolgradle FrameWorkSpring LanguageJAVA 2. 시나리오전체 시나리오사용자가 회원가입을 하면, auth0 JWT를 이용해 Token을 생성하여, 사용자의 데이터와.. IOS - Xcode ipa파일 추출방법 중국 관련 사업으로 인해, IOS의 AppStore에 App을 출시를 해야하는 상황에서, 거듭되는 실패를 통해, 끝내, IOS에 업로드에 성공을했습니다 중국 관련 사업으로 인해, IOS의 AppStore에 App을 출시를 해야하는 상황에서, 거듭되는 실패를 통해, 끝내, IOS에 업로드에 성공을했습니다. 좋은일이 있으면 나쁜일이 있다고 그랬나요.. IOS 업로드가 성공한 시점에서, AppStore에서 국가를 지정하는것을 알게 되었습니다. 이는 Apple이 국가별로 심의 규정이 다르기 때문이라고 합니다.. 이를 해결하기 위해서는 우리나라로 관광을 온 관광객이 Apple AppStore의 국가를 변경해야하는 불편한 상황이 발생했는데요. 이를 해결하기 위해서 ipa파일을 추출하여 직접설치하도록 한다라는 방법을.. Linux - Caused by: java.net.SocketException: Permission denied 에러 해결방법 Caused by java.net.SocketException Permission denied Error Caused by: java.net.SocketException: Permission denied ErrorServer 구동 환경운영체제가 Linux를 사용하고 계신다면, 종종 Caused by: java.net.SocketException: Permission denied를 볼 수 있습니다. 저는 Spring Boot에서 Server를 개발한 뒤 Linux에 배포하여 실행하는 도중 위와 같은 에러가 나타났습니다. 원인이 무엇일까요? 로그 메시지에서 조금만 아래로 내려보면 Port가 이미 사용 중이라는 에러가 나타납니다. 하지만 netstat -nlp 를 이용해 확인을 해보아도 우리가 서버에 설정한 .. javascript - Redux란? (redux 예제) Redux란 Redux란?우선 Redux는 React에 종속된 라이브러리가 아닙니다. Javascript의 State를 관리하기 위해 등장한 Library입니다. 이점을 인지한채 글을 읽어주세요. 참고자료 : https://www.valentinog.com/blog/redux/ Redux는 State를 관리해주는 라이브러리이다.React 개발시에는 아래와 같이 수 많은 State를 관리하게 됩니다. 사용자가 볼 datanetwork fetching data사용자가 볼 URL사용자가 선택한 Item list어플리케이션 error물론, 부모 Component에서 이를 관리할 수도 있습니다. 하지만 정말 많은 State들이 산재 되어 있다보면, 이 많은 데이터를 한곳에서 관리할 수 있는 방법을 찾게 될것입니다.. ApplicationKnowhow - 불변객체란? (Immutable Object의 장점) 불변객체 이번 시간에는 불변객체에 대하 알아보도록 하겠습니다. 불변객체(Immutable Object)란?불변객체란 한번 객체가 생성되면, 변하지 않는 객체를 의미합니다. Java의 대표적인 불변객체는 String이 있습니다. 불변객체와 불변객체가 아닌 것불변객체xpublic class Team { private final String teamName; public Team(String teamName) { this.teamName = teamName; }}위의 객체는 불변객체입니다. 필드의 접근 제한자는 private이며, final 선언자를 통해 변수를 변경할 수 없도록 제한했습니다. (final 선언자가 부여된 필드의 경우, 생성자에서 최초 1회 초기화가 가능합니다.) 불변객체가 아닌 것들아래의 객.. Javascript - ES6 (` : 템플릿 리터럴) 문자열에 변수 포함시키기 1. 템플릿 리터럴이란 (`) 이번 포스팅에서는 ES6에서 추가된 템플릿 리터럴에 대해 알아보겠습니다. 1. 템플릿 리터럴이란? (`) 우선 템플릿 리터럴에 이용되는 특수문자는 ` 로써, 키보드 숫자 1 왼쪽에 있는 특수문자(~) 입니다. 주로 백틱(backtick)이라고 불릐웁니다. 이는 문자열에, 변수를 추가해 사용할 때 사용되며, 아주 편리한 기능입니다. 2. 템플릿 리터럴이 없었을 때xxxxxxxxxxlet a = 1;let b = 2;console.log("a + b = " + (a+b));템플릿 리터럴이 없었던 때에, console에 변수를 이용해 무언가를 출력하는 경우, 위와 같이 사용을 했었습니다. 간단히 설명드리면, 문자열의 경우 ''(싱글쿼테이션) 또는 ""(더블쿼테이션)을 이용해 묶.. SpringBoot - KAKAO AccessToken 발급 받기 (자세한 설명) KAKAO API 이용하기 이번 포스팅은 KAKAO API를 이용해 REST API를 개발하기 위해, AccessToken을 발급 받는 과정에 대해 알아보도록 하겠습니다. Oauth2 인증과정https://galid1.tistory.com/106우선 Oauth에 대해 잘 모르신다면 위 링크를 참고하여 Oauth개념을 먼저 숙지하신 후 진행하시는 것을 추천드립니다. 1. 과정 요약과정에대해 대략적인 설명을 먼저 드린 후 실습을 하는것이 진행하시는데 도움이 될것 같아 먼저 과정에 대해 설명드리겠습니다. 1. KAKAO API 사용을 위한 준비우선 첫째로, KAKAO API 사용을 위해, KAKAO Developers에 가입을 한 뒤, 우리가 사용할 App을 등록해야 합니다. 악의적인 다른 앱들이 우리 앱인것.. Web - HTTP 커넥션 관리(성능 향상을 위한) TCP 성능에 대한 고려 HTTP 커넥션 관리 (성능 향상을 위한)TCP 성능에 대한 고려https://galid1.tistory.com/618HTTP 프로토콜의 경우 TCP프로토콜 상위에서 동작하기 때문에, TCP 성능에 영향을 받을 수 밖에 없습니다. 따라서 고성능의 HTTP 어플리케이션을 구축하고자 하는 분은 위의 링크로 이동하여 TCP 성능에 영향을 미치는 요소를 파악하시기 바랍니다. 1. HTTP 성능에 영향을 미치는 요인DNS 이름분석 시간클라이언트는 URI에서 웹서버의 IP 주소와 Port 번호를 알아내야 합니다. 최근에 방문한 적이 있어 DNS 캐시에 남아있지 않는 이상, DNS 서비스를 통해 Domain을 IP주소로 변환해야 합니다. 커넥션 연결 시간클라이언트와 서버간에 HTTP 프로토콜.. 이전 1 ··· 9 10 11 12 13 14 15 ··· 73 다음