코틀린으로 안드로이드에서 파이어베이스 인증 사용하기
오늘은 코틀린으로 안드로이드에서 파이어베이스 인증을 사용하는 방법을 작성해보려 합니다. 이번 포스트에서는 파이어베이스 인증에서 로그인 방식을 이메일과 비밀번호만 이용하는 것을 가정하고 설명합니다. 설정 앱 수준의 build.gradle 파일에 아래 코드를 붙여 넣습니다. implementation 'com.google.firebase:fireb...
오늘은 코틀린으로 안드로이드에서 파이어베이스 인증을 사용하는 방법을 작성해보려 합니다. 이번 포스트에서는 파이어베이스 인증에서 로그인 방식을 이메일과 비밀번호만 이용하는 것을 가정하고 설명합니다. 설정 앱 수준의 build.gradle 파일에 아래 코드를 붙여 넣습니다. implementation 'com.google.firebase:fireb...
오늘은 해시 테이블과 함수를 잘 선택하여 오버플로우가 발생하지 않도록 하는 방법을 알아보고자 합니다. 개요 최선으로 오버플로우가 발생하지 않고, 발생한다면 효율적으로 처리하는 방식을 채택해야 합니다. 해결하는 방식에는 충돌이 일어나 키값을 다른 빈 버킷을 찾아 저장하는 선형 개방 주소법과 여러개의 항목을 저장할 수 있도록 해시 테이블 구조를 변경...
오늘은 어제에 이어서 해시함수에 대하여 알아보려고 합니다. 개요 해싱 검색에서 가장 중효한 것이 키값의 위치를 계산하는 해시 함수라고 합니다. 어떤 해시 함수를 사용하느냐에 따라 검색의 효율이 달라집니다. 좋은 해시 함수 조건 비교 연산을 하는 것보다 계산하는 속도가 빨라야 하므로, 해시 함수는 계산이 쉬워야 합니다. ...
오늘은 계산 검색 방식인 해싱에 대하여 작성해보려 합니다. 개요 산술적인 연산을 통해 키가 있는 위치를 계산하여 바로 찾아가는 계산 방식을 해싱이라고 합니다. 키값을 원소의 위치로 변환하는 함수를 해시 함수라고 하며, 해시 함수에 의해 계싼된 주소의 위치에 항목을 저장한 표를 해시 테이블이라 불립니다. 검색 방법 키값에 대하여 해시 함수를 계...
오늘은 이진 정렬에 대하여 알아보겠습니다. 개요 자료의 가운데에 있는 항목을 키값과 비교하여 키값이 더 크면 오른쪽 부분을 검색하고, 키값이 더 작으면 왼쪽 부분을 검색하는 방법을 이진 탐색이라고 합니다. 가운데에 있는 값을 기준으로 왼쪽과 오른쪽으로 나누어 검색하므로 이분 탐색이라고도 합니다. 키를 찾을 때까지 이진 탐색을 재귀적으로 반복하며...
오늘은 검색 방법중 가장 단순하고 쉬운 방법인 순차 검색을 알아보고자 합니다. 개요 일렬로 되어있는 자료를 처음부터 마지막까지 순서대로 검색하는 평범한 방법의 정렬인 순차 검색은 선형 검색이라고도 합니다. 주로 배열이나 링크드리스트로 구현된 순차 자료구조에서 원하는 항목을 찾는 방법입니다. 순차 검색은 검색해야하는 자료의 양에 따라 효율이 달라...
오늘은 트리 정렬에 대하여 알아보고자 합니다. 개요 이진 탐색 트리를 이용하여 정렬하는 방법을 트리 정렬이라고 합니다. 정렬할 원소들을 이진 탐색 트리로 구성하고 중위 순회 방법을 사용하여 이진 탐색 트리의 원소들을 재귀적으로 꺼내어 오른차순으로 정렬합니다. 정렬되지 않은 자료들을 트리 정렬로 정렬하는 방식은 아래와 같습니다. 단계 ...
오늘은 힙 정렬에 대하여 알아보겠습니다. 개요 이 정렬은 힙 자료구조를 이용하여 정렬하는 방법입니다. 힙에서는 항상 큰 원소가 루트 노드, 즉 최상위 노드가 되고, 삭제 연산을 하면 항상 루트 노드의 원소를 삭제하여 반환합니다. 이런 힙의 특징을 이용하여 최대 힙에서 원소의 갯수만큼 삭제 연산을 하면 내림차순을 구현할 수 있고, 최소 힙에서 원...
오늘은 기수 정렬에 대하여 작성해보고자 합니다. 개요 분배 방식의 정렬 방식으로 정렬할 원소의 키값에 해당하는 버킷에 원소를 분배하였다가 버킷의 순서대로 원소를 꺼내는 방법을 반복하는 것을 기수 정렬이라고 합니다. 원소의 키를 표한하는 값의 기수만큼 버킷이 필요하고, 키값의 자릿수만큼 기수 정렬을 사용합니다. 10진수로 표현된 키값을 가진 원소들...
오늘은 web에서 ajax와 jquery에 대하여 알아보도록 하겠습니다. Ajax ajax는 Asynchronous JavaScript and XML라는 용어에서 첫글자인 A와 J와 a와 X가 합쳐져서 생긴 용어입니다. 비동기적 웹 어플리케이션의 제작을 위해 기본적으로 HTML과 CSS, 그리고 자바스크립트가 합쳐져 있으며, 웹서버와 비동기적으로...