본문 바로가기

분류 전체보기256

[Android] 공부일지(2024-09-12) 오늘 공부한 내용 정리(2024년 9월 12일)  부트캠프 활동수료 후 취업지원 프로그램 소개활동 내용 간단 정리수료생들에게 취업 지원 제도를 소개하는 특강을 수강했다. 면접 이론 학습 22일 차Https의 특징Https는 HyperText Transfer Protocol over Secure Socket Layer의 약자이다.인터넷에서 사용하는 웹서버와 클라이언트의 인터넷 브라우저 사이에 문자를 전송하기 위한 통신 규약이다. 보안성이 높다는 특징을 가진다.http와는 다르게 통신하는 과정에서 전송 내용을 암호화함으로써 발신자와 수신자를 제외한 중간 매개체에서 통신 내용을 확인할 수 없어서 보안성이 높다.데이터 암호화에는 SSL 인증서를 사용한다. RecyclerView의 동작 원리RecyclerView.. 2024. 9. 12.
[Android] Kakao Login을 Firebase Authentication과 연결 부트캠프 최종 팀 프로젝트 기록 9  서론지난 포스팅과 연결된다.https://rkdrkd-history.tistory.com/244 [Node.js] Intellij, Vscode에서 Firebase Functions 개발을 위한 Node.js 프로젝트 세팅부트캠프 최종 프로젝트 기록 7  서론현재 kakao 로그인 기능을 구현하려 하고 있다.kakao login을 그냥 구현하는 게 아닌 firebase authentication과 연동해서 사용하려 한다.그러기 위해서는 firebase functiorkdrkd-history.tistory.com 지난 포스팅에는 firebase functions 개발을 위한 node js 환경 세팅까지 진행했다.오늘은 android에서 구현한 firebase funct.. 2024. 9. 12.
[Android] 공부일지(2024-09-11) 오늘 공부한 내용 정리(2024년 9월 11일)  면접 이론 학습 21일 차면접 이론 학습 21일 차HTTP의 특징과 문제점HTTP는 HyperText Transfer Protocol이다.World Wide Web(WWW)에 내재된 프로토콜이다. 클라이언트가 서버에 요청을 보내면, 서버가 요청에 대한 응답을 보내는 클라이언트-서버 구조로 이루어져 있다.서버가 클라이언트의 상태를 보존하지 않는다. 따라서 응답과 요청이 독립적이다. HTTP는 데이터를 암호화하지 않고 평문으로 전송하기 때문에 중간에 제 3자가 네트워크 상에서 데이터를 엿볼 수 있다. 개인 정보나 민감한 데이터가 노출될 수 있는 보안 취약점을 가진다.  Retrofit의 장점간단한 어노테이션을 통해 요청 메서드의 URL을 정의함으로써 코드가 .. 2024. 9. 11.
[Node.js] Intellij, Vscode에서 Firebase Functions 개발을 위한 Node.js 프로젝트 세팅 부트캠프 최종 프로젝트 기록 8  서론현재 kakao 로그인 기능을 구현하려 하고 있다.kakao login을 그냥 구현하는 게 아닌 firebase authentication과 연동해서 사용하려 한다.그러기 위해서는 firebase functions라는 기능을 사용해야 하는데, firebase functions를 만들기 위해 node.js 세팅을 해주어야 한다.vscode로 하는 방법이 가장 대중적이지만, 나는 intellij idea에서 진행해보려 한다.vscode로도 똑같이 따라서 하면 된다.  Node.js 프로젝트 세팅node.js 설치는 아래의 사이트에서 진행해 주면 된다.https://nodejs.org/en Node.js — Run JavaScript EverywhereNode.js® is.. 2024. 9. 11.
[Kotlin, S2] 백준 18352번 특정 거리의 도시 찾기 특정 거리의 도시 찾기(18352번)Silver 2#그래프 이론 #그래프 탐색 #너비 우선 탐색 #최단 경로 #데이크스트라https://www.acmicpc.net/problem/18352 문제 내용  문제 접근도시의 개수, 도로의 개수, 구해야 하는 최단 거리와 시작 지점이 주어질 때, 시작 지점 도시에서 다른 도시로 이동하는 최단 거리가 입력받은 최단 거리와 같은 도시 번호만 출력한다. 조건에 맞는 도시가 없으면 -1을 출력. 도시는 모두 1~N까지가 있다. 도로의 길이는 모두 1일 때, 최단 경로 입력값을 K라고 할 때, 출발 도시에서 각 도시로 이동하는 최단 경로가 K와 같은 도시만 출력한다.bfs를 사용하면 된다. bfs를 쓰기 위해서는 어쨌든 그래프가 있어야 한다.4 4 2 11 21 32 3.. 2024. 9. 10.
[Android] 앱 서비스 출시를 위한 개인정보처리방침 및 이용약관 작성하기 부트캠프 최종 팀 프로젝트 기록 7  서론이번 포스팅은 크게 뭐는 없고 이제 MVP를 구현해서 version 1.0.0의 출시를 앞둔 상태이다.출시를 앞둔 상황이면 필연적으로 개인정보처리방침과 이용약관이 필요하게 되는데, 이를 빠르게 작성하는 사이트의 사용 방법에 대해 간단하게 알려주고자 한다.  개인정보처리방침 및 이용약관 등 문서 자동 생성 사이트, Law form개인정보처리방침 및 이용 약관 등 문서를 자동으로 생성하는 사이트로는 law form을 사용하였다.https://lawform.io/ 국내 유일 법률문서 자동작성 · 서명 · 통합 관리 플랫폼모바일에서도 쉽고 간편하게 법률문서 자동작성 및 원스톱 전자서명 가능! 실시간 온라인 공유/수정으로 업무 효율은 UP! 클라우드 기반의 안전한 보관/관.. 2024. 9. 9.
[Kotlin, G1] 백준 1300번 K번째 수 K번째 수(1300번)Gold 1#이분 탐색 #매개 변수 탐색https://www.acmicpc.net/problem/1300 문제 내용  문제 접근문제 자체는 이해하는 데 어렵지 않다.배열의 index는 1부터 시작한다. 각 배열에 들어 있는 수들은 각 index의 곱이다.그러므로 표로 나타내 보면 아래와 같다.위 표에는 5 * 5 크기의 2차원 배열에 들어갈 수들을 나열해 놨다.각 index의 곱으로 이루어져 있다.모든 값들은 각 줄에 해당하는 배수들로 이루어져 있는 것을 볼 수 있다.1번째 줄은 1의 배수, 2번째 줄은 2의 배수 ... 5번째 줄은 5의 배수로 이루어져 있다. 입력 예제에서는 3 * 3의 2차원 배열의 값들을 정렬했을 때, 7번째 값을 불러와야 한다.우선 배열 데이터를 정렬해 보면.. 2024. 9. 9.
[Android] 공부일지(2024-09-06) 오늘 공부한 내용 정리(2024년 9월 6일)  코드카타 문제풀이사과 담기 게임(2828번)https://rkdrkd-history.tistory.com/239 [Kotlin, S5] 백준 2828번 사과 담기 게임사과 담기 게임(2828번)Silver 5#구현 #그리디 알고리즘https://www.acmicpc.net/problem/2828 문제 내용  문제 접근사과를 담을 수 있는 바구니가 주어진다.바구니의 범위 안에 정확히 사과를 넣어야 할 때,rkdrkd-history.tistory.com  면접 이론 학습 19일 차면접 이론 학습 19일 차메모리가 고갈되면 일어나는 현상중요도가 낮은 프로세스들이 먼저 강제로 종료되는 현상이 발생한다.  RecyclerView를 사용할 때의 최적화 방법리스트의 데.. 2024. 9. 6.
[Kotlin, S5] 백준 2828번 사과 담기 게임 사과 담기 게임(2828번)Silver 5#구현 #그리디 알고리즘https://www.acmicpc.net/problem/2828 문제 내용  문제 접근사과를 담을 수 있는 바구니가 주어진다.바구니의 범위 안에 정확히 사과를 넣어야 할 때, 바구니를 움직이는 최소 횟수를 구해야 한다.바구니의 넓이가 1보다 클 수도 있다. 사과가 떨어지는 순서는 입력 순서대로 떨어진다.떨어지는 위치에 바구니를 옮겨 주면 된다. 입력 예제 1을 예로 들어 보겠다.5 131535칸으로 나뉘어 있는  화면에 길이가 1인 바구니가 있을 때, 사과가 1 -> 5 -> 3의 위치에서 떨어질 때, 오른쪽 또는 왼쪽으로 바구니를 움직여 사과를 모두 담을 수 있는 최솟값을 구해야 한다. 스크린에 따라서 가장 왼쪽을 1, 가장 오른쪽을 5.. 2024. 9. 6.
[Android] 공부일지(2024-09-05) 오늘 공부한 내용 정리(2024년 9월 5일)  면접 이론 학습 18일 차면접 이론 학습 18일 차캐시(Cache) 메모리를 사용하는 이유, CPU의 적중률을 높이기 위해 어떤 원리를 사용하는가?캐시 메모리는 컴퓨터 시스템의 성능을 향상시키기 위해 별도로 탑재된 캐시 전용 메모리이다.레지스터, 메인 메모리와 함께 메모리 계층 구조의 전통적인 핵심 계층 중 하나이다.프로그램에서 직접적으로 읽거나 쓸 수 없고 하드웨어의 메모리 관리 시스템이 내부적으로 제어한다. 캐시 메모리는 데이터 지역성의 원리를 이용한다.사용할 때를 대비해 미리 데이터를 준비해 놓는 방식이다.  Android의 Activity와 Fragment 간의 데이터 전달 방법Activity에서는 intent의 putExtra를 이용해 값을 다른 .. 2024. 9. 5.
[Android] runnable, handler를 이용해 현재 열려 있는 앱 감지 부트캠프 최종 팀 프로젝트 기록 6  서론이번에는 내가 맡은 기능의 마지막 기능인 허용 앱에 들어갔을 때, 다른 앱을 실행하게 되면 그걸 감지해서 overlay를 띄워주는 기능을 구현할 것이다.다른 앱을 실행하고 나면, 기존의 화면은 background 상태에서 계속 돌아간다는 점을 이용해서 별도의 Thread를 만들어서 현재 열려 있는 앱의 package name을 불러오는 작업을 진행할 것이다.  허용 앱을 실행했을 때, 다른 앱 실행 감지 기능 구현하기다른 앱 실행 감지를 위해서는 usageStatsManager를 이용해서 특정 기간 내의 앱 실행 기록을 구할 수 있다.실행 기록을 가져오는 함수를 만들고, 그 함수를 별도의 Thread에서 반복시켜서 실시간으로 현재 실행되어 있는 앱의 package.. 2024. 9. 5.
[Kotlin] 백준 10987번 모음의 개수 모음의 개수(10987번)Bronze 4#구현 #문자열 문제 내용  문제 접근문자열을 입력받으면 하나씩 보면서 단어가 모음인지 확인해 개수를 세면 된다.단어를 하나씩 보려면 for문을 사용해 주면 된다.  문제 해결 코드더보기import java.io.BufferedReaderimport java.io.InputStreamReaderfun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val string = readLine() val vowels = listOf('a', 'e', 'i', 'o', 'u') var answer = 0 for (str in string) { if (vowels.contain.. 2024. 9. 4.
[Android] 공부일지(2024-09-03) 오늘 공부한 내용 정리(2024년 9월 3일)  코드카타 문제풀이수학은 체육과목입니다https://rkdrkd-history.tistory.com/233 [Kotlin, B3] 백준 15894번 수학은 체육과목입니다수학은 체육과목입니다(15894번)Bronze 3#수학 #사칙연산https://www.acmicpc.net/problem/15894 문제 내용  문제 접근도형의 한 변의 길이는 1이다.가장 윗부분의 정사각형은 3이다. 그리고 가장 아래의 정사rkdrkd-history.tistory.com   면접 이론 학습 16일 차면접 이론 학습 16일 차OS가 메모리 관리를 하는 이유와 메모리 관리를 위해 어떤 전략을 써야 하는가?메모리 관리가 필요한 이유는 멀티프로그래밍 환경으로 변화하면서 한정된 메모리.. 2024. 9. 3.
[Android] android에서 firestore의 데이터 업데이트 및 countdown timer 사용 부트캠프 최종 팀 프로젝트 기록 5  서론이번에 구현할 기능은 앱에서 다른 허용 앱을 실행했을 때, 사용 시간을 카운트다운 타이머로 측정 후, 우리 앱으로 복귀하면 남은 시간을 fireStore에 업데이트하는 기능을 만들어 보았다.  fireStore 데이터 업데이트fireStore 데이터를 불러오기 전에 먼저 카운트다운 타이머를 사용해서 앱의 사용 시간을 구해줄 것이다.먼저 허용 앱을 실행하게 되면, 허용 앱을 여는 동시에 타이머를 작동시켜서 사용 시간을 측정한다. 초기 시작 시간은 각 허용 앱에 설정된 시간(제한 시간)으로 지정한다.허용 앱을 사용하다가 우리 앱으로 돌아오게 되면, 타이머를 멈추고 타이머에 남은 시간을 fireStore에 업데이트한다.허용 앱을 쓰는데 제한 시간이 종료되었는데 우리 앱.. 2024. 9. 3.
[Kotlin, B3] 백준 15894번 수학은 체육과목입니다 수학은 체육과목입니다(15894번)Bronze 3#수학 #사칙연산https://www.acmicpc.net/problem/15894 문제 내용  문제 접근도형의 한 변의 길이는 1이다.가장 윗부분의 정사각형은 3이다. 그리고 가장 아래의 정사각형들의 둘레는 양 옆의 변의 길이 2와 바로 위층의 정사각형의 영역을 제외한 양 끝의 0.5씩 해서 1이다. 그리고 마지막 밑변의 길이를 합하면 된다.맨 아래의 정사각형이 3개가 있을 때는 2 + 1 + 3 = 6이 된다. 마지막 층을 제외하면 항상 둘레는 3이 된다는 규칙을 쉽게 찾을 수 있다.입력 예제를 보면 입력이 3으로 주어지는데, 이는 최하단의 정사각형이 3개가 있다는 뜻이다.1층의 정사각형은 양옆(2)과 맨 위(1)해서 둘레는 3이고, 2층은 양옆(2)과.. 2024. 9. 3.
728x90