OAuth 2.0과 OIDC - 1: 주요 키워드와 개념
·
CS/인증
로그인 프로세스를 공부하다 보면 OAuth 2.0과 OpenID Connect(OIDC)라는 용어를 자주 접하게 된다. 많은 사람 혹은 나 또한 SNS 로그인 방식이라고만 생각하는 경우가 많았는데, 사실 이 두 표준은 인터넷에서 Authentication과 Authorization을 담당하는 매우 중요한 역할을 하고 있다.이번 포스팅은 OAuth 2.0과 OIDC에 대해 작성하기 전에 두 표준을 이해하기 위해 반드시 알아야 하는 핵심 키워드와 개념을 명확히 정리하고 작성하였다. 1) OAuth 2.01. 개념OAuth 2.0은 한 서비스가 다른 서비스의 데이터에 접근할 수 있도록 권한을 부여하는 보안 표준이다.사용자 이름과 비밀번호를 직접 공유하는 대신 특정 권한을 부여하는 키를 제공하는 방식으로 동작한..
[Github] .gitignore: 개념과 활용 방법
·
Git & Github/개념
개발 프로젝트에서 버전 관리는 선택이 아닌 필수입니다. 이를 효율적으로 다루는 것만으로도 생산성에 큰 영향을 미치게 된다. 특히 불필요한 파일을 포함하지 않고 Git 저장소를 깨끗하게 유지하는 일은 협업과 코드 관리에 매우 중요하다.이 글은 자주 놓치기 쉽지만 없어서는 안 될 핵심 파일인 .gitignore의 개념과 활용법을 다루었다. 1) .gitignore 알아보자1. .gitignore의 개념.gitignore 파일은 Git에서 특정 파일이나 디렉토리를 추적하지 않도록 지시하는 텍스트 파일이다.즉, Git Repository에 커밋되어서는 안 되는 파일들을 Git이 무시(ignore)하도록 설정하는 역할을 수행한다. 2. .gitignore의 내용.gitignore 파일에는 주로 아래와 같은 목적을..
[Spring || SpringBoot] Controller와 RestController 란?
·
Java/Spring || SpringBoot
서론Spring이나 Spring Boot를 사용해 웹 앱 혹은 API를 개발할 때 @Controller와 @RestController라는 두 가지 주요 어노테이션을 사용한다.하지만 이 둘은 용도가 다르고 동작 방식에도 차이가 있다. 해당 포스팅에서 두 가지의 차이점을 비교해 보자. @Controller란?기본 개념@Controller는 주로 HTML 페이지를 반환하는 용도로 사용한다.Spring MVC 패턴에서 View를 반환할 때 사용한다.메서드의 반환값은 ViewResolver에 의해 해석된다.MVC 패턴이 어떤 건지 정확히 모른다면 아래 MVC 패턴에 대해 정리한 포스팅을 보고 오자.2024.11.02 - [Backend/Spring || SpringBoot] - [Spring || SpringBo..
[Kotlin/코틀린] @Parcelize / Parcelable을 사용한 직렬화와 역직렬화
·
Kotlin
안드로이드 개발에서 데이터 객체를 인텐트나 번들로 전달할 때, 데이터 객체를 직렬화 해야하는 경우가 많다. 스프링과 같은 프레임워크에서도 데이터 객체를 사용할 때 직렬화하는 경우가 많다.어쨋든, 코틀린에서는 @Parcelize를 사용하면 효율적으로 데이터를 직렬화와 역직렬화를 할 수 있다. Parcelable이란?Parcelable은 안드로이드에서 객체를 직렬화하는 데 사용되는 인터페이스이다.객체의 데이터를 Parcel이라는 형식으로 변환하여 다른 컴포넌트 간에 전달할 수 있도록 한다. 안드로이드에서는 기본적으로 제공하는 Serializable과 달리 Parcelable은 보다 빠르고 효율적으로 데이터를 직렬화할 수 있다. 그래서, 왜 사용하는데?성능이 뛰어나며, 메모리 효율성 측면에서도 최적화되어 있어..
[Java/자바] 출력 성능 개선하기: System.out.println() 대신 BufferedWriter
·
Java/개념 & 문법
Java로 코딩을 할 때, 특히 많은 양의 데이터를 출력해야 하는 상황에서 System.out.println()을 사용하는 것은 실행 시간에 큰 영향을 미칠 수 있다.이를 해결하기 위해 BufferedWriter를 사용하여 성능을 크게 향상시킬 수 있었습니다. 이번에는 System.out.println()을 BufferedWriter로 대체하는 과정과 그 효과에 대해 자세히 설명드리겠습니다. System.out.println()아래 코드는 System.out.println()을 사용하여 RGB 값의 모든 조합을 출력하는 구조이다. for 문을 세 번 중첩하여 모든 경우의 수를 계산하고, 각 경우에 System.out.println()으로 출력했습니다. 코드의 실행 시간은 무려 3995ms나 소요되었다.i..
[Kotlin/코틀린] String과 Int 변환 - String to Int, Int to String 변환 방법
·
Kotlin
숫자 데이터와 문자열 데이터를 서로 변환해서 사용하는 경우가 많이 있다.String to Int와 Int to String에 대해서 기록하려고 한다. String to Int 방법 1: toInt() 사용하기toInt() 함수를 사용해 문자열을 정수로 변환할 수 있다. toInt() 함수는 변환할 수 없는 문자열을 만났을 때 예외를 발생시키는데, 예외 처리를 고려해야 한다.val numberString = "123"val number: Int = numberString.toInt()println(number) // 출력: 123 동작 원리: toInt() 함수는 문자열을 정수로 변환, 변환할 수 없는 경우 예외를 발생예외 발생: 변환할 수 없는 문자열을 toInt()로 변환하려고 하면 NumberFor..