분류 전체보기
-
[Android] 안드로이드 4대 컴포넌트안드로이드 2022. 1. 3. 16:31
안드로이드 앱에 있어 컴포넌트는 필수적인 기본 요소입니다. 각 구성 요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점입니다. 다른 구성 요소에 종속되는 구성 요소도 있습니다. 각 유형은 뚜렷한 목적을 수행하고 각자 나름의 생명주기가 있어 구성요소의 생성 및 소멸 방식을 정의합니다. 안드로이드 앱의 4대 컴포넌트 1. Activity Activity는 사용자와 상호작용하기 위한 진입점으로 하나의 사용자 인터페이스 화면을 가지며 특정 작업을 수행하는 컴포넌트입니다. 안드로이드 앱은 반드시 하나의 Activity를 포함하고 있어야 합니다. Activity는 생명주기(Life Cycle)를 가지며, 생명주기를 통해 원하는 기능을 구현합니다. Intent를 통해 다른 앱의 Activity를 호출할 수도 있습..
-
[Android] 안드로이드 View Binding(뷰바인딩)안드로이드 2021. 12. 22. 19:52
View Binding(뷰 바인딩)이란..? 뷰 바인딩은 뷰와 상호 작용하는 코드를 보다 쉽게 작성할 수 있는 기능입니다. 모듈에서 뷰 바인딩이 활성화되면 해당 모듈에 있는 각 XML 레이아웃 파일에 대한 바인딩 클래스를 생성합니다. 바인딩 클래스의 인스턴스에는 해당 레이아웃에 ID가 있는 모든 보기에 대한 직접 참조가 포함되어 있습니다. 뷰 바인딩은 Android Studio 3.6 Canary 11 이상에서만 사용할 수 있습니다. findViewById와의 차이점 Null Safety: View Binding은 뷰의 직접 참조를 생성하므로 유효하지 않은 뷰 ID로 인해 null 포인터 예외가 발생할 위험이 없습니다. 또한 레이아웃의 일부 구성에만 뷰가 있는 경우 결합 클래스에서 참조를 포함하는 필..
-
[Spring] Spring Security OAuth2.0 인증 서버 구축 v0.2Spring 2021. 12. 7. 00:41
지난 시간에 우리는 OAuth가 무엇이고, OAuth2.0의 인증 방식에 대해서 알아보았다. 이번 시간에는 OAuth2.0 인증방식을 어떻게 구현하는지에 대해서 알아보고자 한다. 먼저 지난 시간에 알아봤던 OAuth2.0 승인 방식의 종류를 먼저 되짚어 보자 OAuth2.0 승인 방식의 종류 1. Authorization Code Grant (권한 부여 승인 방식) : 클라이언트가 다른 사용자 대신 특정 리소스에 접근을 요청할 때 사용. 리소스 접근을 위한 사용자 명과 비밀번호, 권한 서버에 요청해서 받은 권한 코드를 함께 사용해 리소스에 대한 Access Token을 받는 방식. 2. Implicit Grant (암묵적 승인 방식) : 권한 부여 코드 승인 방식과 유사하지만 차이점이 권한 코드 교환 단..
-
[Spring] Spring Security OAuth2.0 인증 서버 구축 v0.1Spring 2021. 12. 1. 22:54
OAuth란 OAuth == Open Auth(Authentication 인증, Authorization 인가) : 제3의 애플리케이션이 자원의 소유자인 서비스 이용자를 대신해 서비스를 요청할 수 있도록 자원 접근 권한을 위임하는 방법. : 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 애플리케이션 상의 자신의 정보에 대해 웹사이트나 모바일의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는 인가를 위한 개방형 표준. : 서비스별 제각각인 인증방식을 표준화한 인증방식 OAuth2.0을 구성하는 4가지 역할 Resource Owner 리소스 소유자 또는 사용자. 보호된 자원에 접근할 수 있는 자격을 부여해 주는 주체. Client OAuth2.0을 사용해 보호된 자원을 사용하려고 접근 요청을 하는..
-
[ICT인턴십] 2021년도 하반기 면접 복기면접 2021. 8. 18. 22:12
현재 재학 중인 학교와 연계하여 인턴경험도 해보고, 학점도 받을 수 있는 기회가 있어 ICT인턴십에 지원하게 되었다. 많은 기업들 중 본인이 원하는 3개의 기업을 지원할 수 있는데 필자는 기업 3곳 중 2곳의 면접 기회를 얻었다. 나중에도 면접을 볼 기회가 많을 것 같아 면접 내용을 이렇게 정리해본다. 1. A기업 ( 면접관 3 : 필자 1 ) -자기소개 -Firebase를 통한 소셜 로그인 인증 절차 -협업 시 다툰적있는지, 있다면 어떻게 해결했는지 -소켓 통신이란? -tcp와 udp의 차이점 -ip가 뭔지 -로킹이 뭔지 -취미가 무엇인지? -최근 관심있는 기술이 무엇인지 -프런트엔드와 백엔드 차이 -딥러닝과 머신러닝의 차이 2. B기업 (면접관 3: 면접자 3) -1분 자기소개 -지원동기 -포트폴리오..
-
[Android][Kotlin] BCrypt 암호화 알고리즘안드로이드 2021. 7. 16. 00:48
개발자에게 요즘 시스템 개발에 있어 가장 중요하게 생각해야 할 것 중 하나가 보안이라고 한다. 시스템의 정보를 암호화하여 비인가자로 부터 데이터 유출을 방지하고 사용자에게 시스템 가용성을 유지시키는게 암호화 하는 이유이다. 먼저 암호화 알고리즘에 대해 알아보도록 하자. 암호화 알고리즘이란? 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법 암호화 종류 대칭 암호화 알고리즘 : 암호화 복호화에 같은 암호키를 사용하는 알고리즘. ex) DES, SEED , AES, ARIA, IDEA, LFSR 비대칭 암호화 알고리즘 : 사전에 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 알고리즘. ex) 디피-헬만, RSA , ECC,ElGamal 해시 암호화 알고리즘 ..
-
[Android][Kotlin] apply, let, also, with, run 함수 정리안드로이드 2021. 7. 15. 19:54
코틀린 강의를 듣던 중에 let함수가 나와서 공부하는 중에 너무 어려워서 이렇게 정리해보면 이해가 쉽지 않을까 싶어 정리해본다. 범위 지정 함수 먼저 apply, let, also, with, run 이렇게 5가지 함수들을 모두 범위 지정 함수라고 한다. 람다식이 제공된 객체에서 범위 지정 함수를 호출하면 임시 범위가 형성되는데, 이 범위에서 이름 없이 객체에 접근할 수 있다. 이러한 기능을 가진 함수를 범위 지정 함수라고 한다. 범위 지정 함수들의 공통적인 기능을 수행한다. 객체에서 코드 블록을 실행하는 기능이다. 그렇다면 범위 지정 함수의 각각 특징을 알아보자. 1. apply() 객체를 생성과 동시에 property값을 초기화하고 자기 자신을 반환하는 함수이다. 기존 방식 val k3 = Car("..
-
[Android][Kotlin] : Retrofit (MVVM 코루틴)안드로이드 2021. 7. 15. 18:50
Retrofit Retrofit의 사전적 의미부터 알아보자면 "개조" 라는 의미로, 안드로이드에서의 Retrofit은 안드로이드 애플리케이션(클라이언트)과 서버간에 REST 통신을 위해 사용하기 쉽게 만들어놓은 라이브러리이다. 해당 라이브러리를 통해 JSON 구조의 데이터를 쉽게 가져오고 업로드할 수 있다. *REST 란? : 웹과 같은 분산 하이퍼 미디어 환경에서 표준화된 HTTP 메서드(GET,POST,PUT,DELETE)를 통해 자원의 존재/상태 정보를 주고 받는 웹 아키텍처. 안드로이드 통신 라이브러리 초기의 안드로이드 통신은 HttpClient를 사용했다. HttpClient에는 몇 가지 버그가 있어 HttpUrlConnection이 권장되고 나서 쭈욱 사용하다 복잡했던 사용법으로 인해 Voll..