안드로이드
-
[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..
-
[Android][Kotlin] : PendingIntent 란?안드로이드 2021. 7. 15. 15:27
PandingIntent FCM 공부를 하던 중에 PendingIntent를 사용할 일이 생겨 공부를 하게 되었다. PendingIntent란 Intent를 가지고 있는 클래스로, 기본 목적은 다른 프로세스의 권한을 허가하여 가지고 있는 Intent를 마치 본인 앱의 프로세스에서 실행하는 것처럼 사용하게 하는 것. PendingIntent의 호출 방법 Activity를 시작하는 인텐트 : PendingIntent.getActivity(Context,int,Intent,int,flags) BrodcastReceiver를 시작하는 인텐트 : PendingIntent.getBroadcast(Context,int,Intent,int,flags) Service를 시작하는 인텐트 : PendingIntent.get..