분류 전체보기 (87) 썸네일형 리스트형 #1) Spring Security Oauth2 Client + Apple 로그인 연동하기 이번에 인증 서버를 구축하면서 총 5개의 SNS 연동을 진행했다. (카카오, 네이버, 페이스북, 구글, 애플) 카카오, 네이버, 페이스북, 구글은 Spring Security Oauth2 Client로 연동하는 레퍼런스가 많아서 수월하게 진행했는데 애플은 다른 Provider(제공자 : 예를 들면 카카오, 네이버)의 OAuth2 인증방식과 다른 방식으로 사용자 정보를 넘기고 있어서 레퍼런스도 없고 해외에도 연동 예제가 없었다. 그래서 그냥 라이브러리를 분석해서 나의 방식대로 애플을 연동했는데 애플 로그인을 Spring Security Oauth2 Client에 연동하고자 하는 이들이 있으면 도움이 되고 싶어서 그 과정을 기록하고자 한다. 먼저 대부분의 Provider는 다음 그림과 같은 방식으로 동작한.. [방송통신대학교] 3학년 편입 그리고 졸업 + 졸업논문 대체 자격증 2021년 방송통신대학교에 3학년으로 편입해서 휴학하지 않고 끝마쳤다! 그렇지만 졸업이 한 학기 미뤄졌다.....(졸업 논문 대체 자격증 제출을 까먹었음...) 어쨌든 지금은 졸업을 확정 지은 상태라 회고 겸 느낀 점을 써보려고 한다. 방송통신대학교를 입학한 2021년은 일한지 1년도 되지 않은 신입이었는데 비전공자라는 타이틀이 그때는 참 싫고 나름의 컴플렉스였다. 이를 극복하기 위해 자격증도 많이 땄는데 결국엔 비전공자였고 전공은 중요하지 않다고들 말해줬지만 누군가 전공을 물어봤을 때 약간 위축이 됐던 기억이 난다. 그래서 그냥 학위를 따자! 결심하고 3가지의 선택지(방송통신대학교, 사이버대학교, 학점은행제)에서 고민을 했던 것 같다. 3가지 선택지 중에서 가장 쉬운 건 학점은행제였고 처음엔 회사와 병.. JWT(Json Web Token) 를 알아보자 JWT란? JWT는 JSON 객체를 사용해서 유저를 인증하고 식별하기 위한 토큰기반 인증이다. 토큰 자체에 정보를 포함하고 있으며 세션처럼 서버에 저장할 필요가 없고 요청시 HTTP 헤더에 토큰을 첨부하면 데이터 요청과 응답을 할 수 있다. JWT는 JSON을 Base64 URL-safe Encode를 통해 인코딩해서 직렬화하며 위변조 방지를 위한 전자서명이 포함된다. 개인키(시크릿키)를 통해 검증을 하며 검증이 완료되면 요청한 응답을 돌려준다. JWT로 로그인을 구현한다면 다음과 같은 순서로 진행된다. 1. 클라이언트가 아이디와 패스워드를 입력 후 인증 2. 서버에서 아이디와 패스워드가 정확하다면 서명된(Signed) JWT을 생성 후 클라이언트에 전달 3. 로그인 성공 후 클라이언트가 서버를 호출할 .. 웹훅(webhook)에 대해서 웹훅은 '역방향 API' 라고도 한다. 이는 웹훅 서버에 어떠한 이벤트가 발생했을 때 클라이언트를 호출한다. 일반적인 API는 클라이언트가 서버를 호출하면 그에 맞는 응답을 서버가 주는데 반대라고 보면된다. 사용하는 이유 만약에 A쇼핑몰에 신규회원이 등록되면 B업체에서 감사하다는 메일을 보내주기로 했다. 그렇다면 B업체는 A쇼핑몰에 주기적으로 신규회원이 있는지 확인하는 API를 호출해서 신규회원이 있다면 메일을 보내고 없다면 다시 신규회원이 있는지 주기적으로 API를 호출해서 확인할 것이다. 만약 웹훅을 사용한다면 이러한 다량의 API 호출을 줄일 수 있다. A쇼핑몰에서 신규회원이 등록되면 웹훅으로 B업체 CallBackUrl을 호출하여 신규회원이 등록되었다는 정보를 준다. 그럼 B업체는 그 호출에 대해.. 방송통신대학교 컴퓨터과학과 3학년 2학기 종강!! (ALL A+) 3학년 2학기 수강 신청할 때만 해도 이번 학기는 조금만 강의를 듣고 1학기보단 편하게 다니자 생각했는데 수업을 고르다보니 또 18학점을 듣게 되어 버렸다... 들은 수업 : 대학영어 / C++프로그래밍 / 컴퓨터과학개론 / 멀티미디어시스템 / 자료구조 / 프로그래밍언어론 그렇게 지옥의 2학기를 보냈고 드디어 종강을 맞이했다ㅠㅠㅠ 진짜 힘든 나날들의 연속,, 1학기에는 기말이 전부 과제물 제출이라 힘들긴해도 어렵진 않았는데 2학기부터는 위드코로나가 되면서 기말이 시험을 치르는 것이다. 6과목 모두 기말고사를 봐야하고 그 중 5과목은 시험범위가 책 모두,,,^^^^ 전범위 ^^^... 한 과목 당 400쪽 ^^^ 중간과제물에서 몇몇 과목은 감점이 있었고 특히 자료구조!!! 자료구조 중간과제물 이유는 모르겠.. #3 레이아웃 : Flex, FlexDirection, alignItems Flex는 컴포넌트의 크기비율을 정해준다. 여기서 전체를 감싸는 safeAreaView (참고 : safeAreaView는 상태 바를 침범하지않는 View이다.)의 Flex를 1로 두고 그 안에 View를 다음과 같이 주면 이렇게 비율이 지정되어 뿌려진다. FlexDirection에 따른 레이아웃 1. column & column-reverse 2. row & row-reverse justifyContent에 따른 레이아웃 1. flex-start 2. center React-native #2) State란? State란 글로벌 변수같은 것 예제 class App extends Component{ constructor(props) { super(props); this.state = { address : '' } } writeAddress = () => { this.setState({ address : "경기도 수원시" }, function(){ alert('주디얌'); }) } writeReset = () => { this.setState({ address : "" }) } render(){ return ( SPONGE 화이팅하자구 {this.state.address} ); } }; React-native #1) Props란? 리액트는 다수의 컴포넌트로 이루어져있는 결정체. 컴포넌트 간 값을 공유하기 위해서 Props 객체를 사용한다. Props란? 클라이언트 베이스로 컴포넌트 간 데이터 공유를 위해 사용되는 객체 예제 SPONGE 화이팅하자구 class JUDY extends Component{ render (){ let judyImg = ''; if(this.props.type === 'one'){ judyImg = require('./assets/image.png'); }else if(this.props.type === 'two'){ judyImg = require('./assets/judy2.jpg'); } return ( ) } } 이전 1 2 3 4 5 ··· 11 다음