본문 바로가기

반응형

전체 글

(164)
[Kotlin-문법] fold 와 foldIndexed 1) fold 함수 fold 함수는 주어진 Int로만 구성된 Array 혹은 Collection 의 모든 element들을 연속적으로 불러와 계산할 수 있습니다. fold 함수는 파라미터로 initial값(초기값)을 받습니다. 예를 들어보겠습니다. val absolutes = intArrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 위 배열값들의 합을 얻는데, 초기값을 100으로 해보도록 하겠습니다. val sumNumber = absolutes.fold(100) { sum, element -> sum + element } println(sumNumber) // 출력값: 155 출력값으로는 초기값 100에 absolutes 배열의 element 들의 합 55가 더해진 값 155가 출력됩..
[Kotlin-문법] padStart 와 padEnd padStart는 String을 포함한 문자열을 length 만큼 만드는데, 부족한 길이만큼 앞쪽에 문자(padChar)를 붙이는 함수입니다. 예를 들어 000 부터 999 까지 세면서 "001, 002, 010"과 같이 자리 수를 유지하면서 앞에 0을 붙여줄 때 사용합니다. fun String.padStart(length: Int, padChar: Char = ' '): String 파라미터로는 length 와 padChar 를 받습니다. 1) padChar: 반복할 문자(기본값: ' ') 2) length: padChar를 반복할 숫자입니다. ( length 로 받은 숫자 - String 길이 ) 아래 예시를 참고해서 보겠습니다. var answer1 = "1".padStart(3) println(a..
[Kotlin-문법] 행렬 덧셈하는 방법 fun solution(arrFirst: Array, arrSecond: Array): Array { return Array(arrFirst.size) { row -> IntArray(arrFirst[0].size) { col -> arrFrist[row][col] + arrSecond[row][col] } } } fun main() { val arrFirst: Array = arrayOf(intArrayOf(1, 2), intArrayOf(2, 3)) val arrSecond: Array = arrayOf(intArrayOf(3, 4), intArrayOf(5, 6)) println(solution(arrFirst, arrSecond).contentDeepToString()) } // 결과값: [[4,..
[Kotlin-문법] 문자열 반복 repeat() 문자열을 반복할 수 있는 함수 repeat() fun main() { println("*".repeat(5)) } // 출력값 : *****
DRF - 소셜 로그인 -2(Naver Login) 지난 1편에서는 Callback 응답 정보를 올바르게 받아오는 것까지 작성을 했었습니다. 이번 2편에서는 NaverCallbackAPIView 를 수정해서 회원가입, 로그인까지 가능하도록 만들어보겠습니다. 목차 1. views.py 2. NaverCallbackAPIView 3. usls.py 1. views.py 지난 1편에서 NaverCallbackAPIView 를 만들고 실행까지 시켰었습니다. 출력이 try 문을 통해 "성공"이 출력 됐었는데, 확인을 못하신 분들은 다시 한번 실행해서 확인해보시기 바랍니다. 이번 2편에서는 전체 view.py 파일과 urls.py 파일을 수정합니다. 먼저 전체 수정된 파일들을 확인하신 후 각 파트별로 어떻게 되어 있는지 설명하도록 하겠습니다. *NaverLoginA..
DRF - 소셜 로그인 - 1(Naver Login) 안드로이드 어플을 만드는 과정에서 Naver Login 기능이 필요했습니다. 하지만 테스트 환경에서 DRF로 네이버 소셜로그인을 서술한 글이 없어 여러가지 글들을 참고해 기능을 만들어보았습니다. *Project에서는 결국 소셜로그인 기능을 네이티브로 구현하기로 했습니다. 여기서 서술하는 방법은 웹, 모바일 웹 등에서 사용할 수 있는 방법이라고 생각됩니다. 테스트 환경에서 DRF 에서 Naver Login이 가능하도록 설정하는 방법에 대해 작성해보도록 하겠습니다. 목차 1. 네이버 로그인 API 등록 2. settings.py 3. views.py 4. 실행해보기 1. 네이버 로그인 API 등록 네이버 로그인 API 를 사용하기 위해서는 우선적으로 "Naver Developers"에서 어플리케이션을 등록해..
[2022-06-29] 개발일지 1. Project TourApp Project ( Backend - DRF / Frontend - Android Studio) 2. Process Backend: Social Sign in / Sign up (Social Login) 기능 Frontend: User info / Login window implement 3. Issue 1) 모바일 로그인을 위한 WebView 구현 2) WebView에서 로그인 후 JSON 응답을 앱으로 받는 방법 4. Today Study Contents 1) 모바일 로그인을 위한 WebView 구현 어쩌면 조금 더 빨리 해결할 수도 있었을 거 같다. 단순히 IP 설정만 바꿔주면 되는 문제였기 때문이다. 그런데도 이렇게 오래 걸린 이유는 Naver Login에 대한 이..
[2022-06-28] 개발일지 1. Project TourApp Project ( Backend - DRF / Frontend - Android Studio) 2. Process Backend: Social Sign in / Sign up (Social Login) 기능 Frontend: User info / Login window implement 3. Issue 1) WebView 분리 2) 모바일 로그인을 위한 WebView 구현 중 오류 4. Today Study Contents 1) WebView 분류 Login Activity 내부에 있던 WebView를 분리할 필요가 있어 분리했다. 원래는 Visible 옵션을 사용해서 가리려고 했는데 생각해보니 추후에 WebView를 계속해서 사용할 거 같아 따로 분리해 Activity..
[2022-06-23] 개발일지 1. Project TourApp Project ( Backend - DRF / Frontend - Android Studio) 2. Process Backend: Social Sign in / Sign up (Social Login) 기능 Frontend: User info / Login window implement 3. Issue 1) User의 정보 Update를 위한 serializer 및 view 구현 2) return 할 페이지 view, serializer 구현 3) User 정보 입력 layout 4) Naver Login 을 위한 Naver 버튼 구현 5) User 정보 입력 후 JWT 토큰을 담아 GET/POST 하는 Android Activity 구현 4. Today Study Co..
[Android] Spinner/Dropdown 사용 방법(스피너/드롭다운) 안드로이드에서 Dropdown(이하 드롭다운)을 만드는 방법입니다. 안드로이드에서는 드롭다운을 Spinner로 만드는데, 그 과정이 어렵지 않습니다. 아래 내용을 차례로 따라가면 무리없이 드롭다운을 만들 수 있으실 겁니다. 1. res / layout / activity_main.xml 저는 드롭다운을 activity_main.xml 에 만들어 넣도록 하겠습니다. 이 Spinner로 gender(성별)를 입력 받을 예정이기 때문에 ID를 gender_spinner로 정했습니다. layout_gravity는 다른 Text 들과 맞춰주기 위해서 작성한 것일 뿐 크게 의미는 없습니다. Spinner를 만들 때 최소 옵션은 ID / layout_width / layout_height / spinnerMode 입..

반응형