컴퓨터 공학 61

[Android] apk debug 혹은 release 생성하기

Android Studio 이용시 디버그 apk / 배포 apk 를 생성할 수 있다. 말 그대로 전자의 경우 Debug 용으로 생성하며 간단하게 작업할 수 있으며, 후자의 경우, 실제 배포를 하기위해 인증 Key를 통해 APK 보안 작업을 진행해야 한다. 없으면 스토어 업로드 불가. * 인증키란 / 디지털 인증서 또는 ID 인증서라고도 하는 공개 키 인증서는 공개 키/개인 키 쌍에서 공개 키를 포함할 뿐만 아니라 키 소유자를 식별하는 몇 가지 다른 메타데이터(예: 이름 및 위치)도 포함합니다. 인증서 소유자는 이에 대응되는 개인 키를 보유합니다. - Android Developers 공홈 발췌 - 디버그 APK 1. Android Studio 상단 바 Build > Build APK(s)2. 좌측 Pro..

컴퓨터 공학 2019.01.22

[Infra] Docker 활용의 의의

기존에 동일한 클라우드 서버에서 주로 작업하던지라, 서버 내 환경이 큰 차이가 없었고 서버 규모가 작다보니 1대의 서버만을 활용했으므로 도커의 필요성을 딱히 느끼지 못하여, 이해만 하고 넘어갔다. 막상 사용해보며 이런 저런 지식들을 구하다보니 "왜 도커가 필요한가"에 대해서 조금은 체감하게 됐다. 앞서 언급한 1. 동일한 클라우드 서버가 아닐 경우, 즉 OS 버전이 다르거나, 내부 설치 라이브러리 버전이 다르거나... 등등 2. 2대 이상의 서버 활용 시 이렇게 두 가지 경우에 대해서는 필요하겠구나라고 느꼈다. 결국 1/2 모두 서버 내 환경을 동일시하는 과정이 필요한 것이다. 예를 들어, 내가 N사에 취직을 했는데 1년 전에 다른 누군가 작업하던 서버와 작업을 진행해야한다. 내가 방금 만든 A서버에선 ..

컴퓨터 공학 2019.01.17

백트래킹

백트래킹(Back-Tracking)? 트리 탐색 알고리즘의 일종이다. 거슬러 추적한다는 의미를 담고 있다. 이전 노드로 돌아가서 다시 다른 노드들을 탐색한다는 것. 깊이 우선 탐색 [Depth First Search] , 너비 우선 탐색 [Breadth First Search] , 최선 우선 탐색 [Best First Search] 로 나뉜다. DFS의 특징-깊이를 고려하는 문제인지 확인해야한다. 무한한 깊이일 경우 피해야 한다.-스택 오버플로를 조심해야 한다. 재귀 호출을 이용할 시, 너무 많이 시도할 경우 스택 오버 플로가 발생한다.-스택을 이용한 방법 / 재귀 호출을 이용한 방법으로 두가지로 구현이 가능하다. BFS의 특징-최단 거리 구하기 문제에서 사용하기 알맞다. 레벨별로 서치하기 때문이다.-큐..

BFS / DFS

DFS와 BFS는 대표적인 그래프 탐색 알고리즘이다. DFS는 깊이 우선 탐색(Depth-First Search)이라고 불리며, BFS는 너비 우선 탐색(Breadth-First Search)이라고 불린다. 이 두 알고리즘은 그래프에서 노드를 탐색하고 경로를 찾는 데 사용된다. DFS(Depth-First Search)는 그래프에서 깊이 방향으로 탐색하는 알고리즘이다. 시작 노드에서부터 한 방향으로 가능한 한 깊이 탐색을 진행하다가 더 이상 진행할 수 없게 되면, 다시 돌아와서 다른 방향의 노드를 탐색하는 방식이다. 이 알고리즘은 스택, 재귀 호출 등의 방법을 사용하여 구현한다. DFS는 주로 깊이 우선 탐색이 필요한 경우에 사용된다. 예를 들어, 미로 찾기, 트리 탐색, 그래프에서 사이클 찾기 등에서 ..

펜윅 트리

펜윅 트리는 세그먼트 트리에서 조금 더 발전한 형태(?)인 것 같다. 세그먼트 트리에서 우측 노드를 잘라내어 좌측 노드들로만 구성되어 있고 비트 연산으로 부분합을 구할 수 있다. 위의 트리 속 노드를 가지고 계산할때 한 비트씩 차이를 주면 값을 알 수 있기 때문이다. 자세한건 직접 해보면 앎. 어디에 쓰이나?- 부분합을 구할때 쓴다. 왜 쓰이나?- n부터 k까지의 부분합을 구할 시, 하나하나 구하게 되면 시간 복잡도가 O(n)이 된다. 그러나 트리를 이용하게 되면 O(logN) 형태가 된다. 큰 범위값을 구할때 적은 시간동안 해결하기 위함이다.

DB 스키마

데이터베이스 스키마(database schema)는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. 데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다. - 위키 피디아 참조 > 그냥 간단히 DB의 구조를 이야기하는 것 정도라고 이해하면 될 것 같다. 테이블 구조나 필드 속성 등등을 통칭하는 것 같다. SQL을 써보면서도 스키마가 뭔지 이해안하고 했었는데, DB 관련 책을 읽다보니 자주 나오더라. 대충이라도 개념은 짚고 가는게 중요한 것 같다.

컴퓨터 공학 2018.04.10