evaluateJavaScript(_:completionHandler:) 해당 오류는 위 처럼 코드를 수정해주면 InAppWebView 에서 발생하는 오류는 사라진다. include of non-modular error https://stackoverflow.c
화면 비율에따라 맞춰 구현하려 expanded를 사용하였는데 키보드를 사용해야 하는 경우가 생겨 SingleChildScrollView를 사용하려하니 overflow 문제가 생겼었다.해당 문제에 대해서는 CustomScrollView를 사용하여 해결하였다.https&#
xcode 아래 두가지 오류를 해결한 방법 TARGETS Runner → build Settings → Linking - General → Other Linker Flags에서 + 를 눌러 아래 코드를 추가 해준다
문자는 단일한 문자를 나타내는 데이터 타입입니다. 자바에서 문자는 char 데이터 타입으로 표현되며, 작은따옴표 ''로 감싸서 표기합니다.문자열은 여러 개의 문자로 구성된 데이터 타입입니다. 자바에서 문자열은 String 클래스로 표현되며, 큰따옴표 ""로 감싸서 표기
회원가입을 위해 클라이언트 입장에서 정보를 입력할 폼이 필요하다.사용자가 이메일을 입력하고 인증번호를 누르면 인증 메일이 발송되어 인증번호를 확인하여가입이 가능 하도록했다.아래 코드는 이메일 인증 코드를 버튼을 클릭하면 컨트롤러로 이메일 값을 컨트롤러로 post형식으로
테이블 간 시간과 관련된 컬럼을 상속해 줄 BaseTime테이블회원테이블에는 회원가입 날짜와 회원정보 수정 일자가 필요했고, 게시글도 마찬가지였다.그래서 이를 상속해줄 수 있는 클래스를 작성하여 시간 클래스를 상속받는 테이블들은 컬럼을 가지도록 코드를 작성했다. 회원정
리터럴의 타입은 저장되는 값의 데이터 타입에 따라 결정됩니다.자바에서는 정수, 부동소수점, 문자,문자열,불리언 등의 리터럴 타입이 있습니다.리터럴 값은 접두사(prefix)와 접미사(suffix)를 사용하여 표현할 수 있습니다.이를 통해 리터럴 값의 데이터 타입이나 진
값이 변할 수 있는 메모리 공간을 나타내며, 프로그램 실행 중에 값이 변경될 수 있습니다.여기에서 number는 변수이며, 값을 변경할 수 있습니다.값이 변하지 않는 메모리 공간 을 나타내며, 프로그램 실행 중에 값이 변경되지 않습니다. 상수는 일반적으로 대문자와 밑줄
기본 데이터 타입 : 기본 데이터 타입은 단순한 값을 저장하는 변수 타입으로, 메모리에 직접 값을 저장합니다.자바에서는 다음과 같은 기본 데이터 타입이 있습니다.정수형 : 정수값을 저장할 수 있는 타입으로, byte, short, int, long이 있습니다. 각각의
프로그래밍 언어에서 값을 저장하고 참조하기 위한 메모리 공간에 대한 이름입니다.자바에서수는 데이터 타입(data type)과 이름(identifier)을 사용하여 선언하며,값을 저장하거나 추출할 때 변수 이름을 사용합니다.여기서 int는 데이터 타입이며, number는
클라이언트가 로그인 요청을하고 인증단계에 들어갑니다.인증이 완료가되면 successfulAuthentication 메서드가 실행되며 토큰을 만들어 클라이언트에게 응답합니다. (응답 Header의 Authentication 객체 안에는 토큰이 들어있습니다.)postm
사용자 인증이 성공적으로 완료된 후 실행되는 successfulAuthentication 메서드입니다. 이 메서드의 주요 목적은 인증된 사용자에게 JWT 토큰을 생성하고 응답과 함께 전달하는 것입니다. 코드 설명은 다음과 같이 진행할 수 있습니다.successfulAu
사용자가 로그인시도를 할 때 요청 본문의 데이터를 한 줄씩 읽어 출력해 봤습니다.각 다른식으로 출력되는 것을 확인할 수 있었습니다.클라이언트로부터 전송된 데이터를 적절하게 처리하고 분석하기 위해 파싱을 사용해 인증을 수행해야합니다.파싱을 사용하는 이유는 클라이언트로부터
로그인을 학습하기 전 회원가입 로직을 간단하게 만들었습니다.먼저, 회원가입시 입력한 비밀번호를 암호화 하기위해 BCryptPasswordEncoder 를 추가해줍니다.회원정보를 DB에 저장하기위해 UserRepository를 @Autowired 하고,비밀번호를 DB에
패키지 구조 PrincipalDetails getAuthorities() 메소드는 해당 유저 객체가 가지고 있는 권한 정보를 Spring Security가 이해할 수 있는 형태로 반환하는 역할을 합니다. 위 코드에서는 user.getRoleList()를 통해 해당
Filter1 HttpServletRequest의 getHeader() 메소드는 요청에 특정 헤더가 없는 경우 null을 반환합니다. 따라서 Authorization 헤더가 없는 요청에서는 null이 출력될 수 있습니다. ![](https://velog.velcdn
JWT에서 Filter는 인증 및 인가를 처리하는 역할을 합니다. 일반적으로 Spring Security와 연동되어 사용되며, 인증 및 인가를 처리하기 전에 Filter가 요청을 가로채고 필요한 처리를 수행한 후 다음 단계로 요청을 전달합니다. JWT에서 Filter는
session의 단점 위 그림은 session에 요청하고 응답하는 과정을 간단히 표현한 그림입니다. 여러 개의 서버를 사용하는 경우, 서버들이 세션을 공유할 수 없습니다. 즉, 사용자의 요청이 다른 서버로 전달되면 해당 서버는 그 전 서버와 공유하지 않는 별도의
클라이언트가 서버측에 JavaScript로 Ajax 요청을 보내면, 보통 브라우저에서는 서버로부터 받은 쿠키를 사용하여 세션 ID를 저장합니다. 그리고 브라우저는 이 세션 ID를 다음 요청에서 서버로 전달합니다. 하지만 이 방식은 다음과 같은 단점이 있습니다.쿠키 사용
Project - Gradle - GroovyLanguage - Java 11Spring Boot Ver - 2.7.11DependenciesDEVELOPER TOOLS - Spring Boot DevToolsDEVELOPER TOOLS - Lombokjava-jwt'