본문 바로가기

전체 글

(187)
Android Assets DB 파일 패키지 data 폴더로 이동하기 Asset 폴더에 DB 파일을 고유 data 폴더로 이동시키는 로직이 필요하여 만들어보았다. //Asset 폴더 경로가 asset/db/abc.db일때 private static final String ASSETS_FILE_DB = "db/abc.db"; public void copyDbFile(Context context) //assets/db 파일을 가지고와서 패키지 파일에 복사하는 작업 { AssetManager am = context.getAssets(); try { InputStream is = am.open(Const.ASSETS_FILE_DB); BufferedInputStream bis = new BufferedInputStream(is); String strDbPath = context...
Android AudioFocus //http://202psj.tistory.com 사운드 포커스로 설정을 해도 사운드가 들리지 않는다면 해당 기기가 wav, mp3 등 코덱을 지원하는지 확인해보자. 출처: http://shadowxx.egloos.com/10987471 오늘은 안드로이드에서 사용하고 있는 Audio Focus 라는 놈에 대해서 이야기할까 합니다. 사실 처음에 구글 문서만 읽고서 도대체 이 Audio Focus 의 처리의 주체가 누구일까 하고 조금 헷갈렸던 부분이 있었는데요. 그래서 오늘 바로 이 놈에 대해서 이야기를 하려합니다. Application programming 을 하시는 분들이라면, 저처럼 헷갈려하지는 않을텐데요. 그럼 시작하겠습니다. 현재 Android Jellybean 에서는 Audio Focus 의 종류..
Android Studio Debugger 안드로이드 공식 홈페이지입니다. Android Studio에 대한 정보가 많으니 즐겨찾기 해놓고 주기적으로 방문하도록 합시다! 중단점을 우클릭하면 중단점에 다양한 옵션을 부여할 수 있습니다. 먼저 제일 위에 있는 체크를 해제하면 중단점을 무효화할 수 있습니다. (사라지는 건 아닙니다.) 무효화가 된 중단점에서는 앱이 멈추지 않습니다. 바로 밑의 Suspend는 중단점이 적중했을 때 앱 전체를 멈출 것인지(All), 아니면 코드가 속한 스레드만 멈출 것인지(Thread) 설정합니다. 왼쪽의 Suspend에 체크를 아예 해제해버리면 중단점이 적중했을 때 앱이 멈추지 않습니다! Thread를 선택하면 오른쪽의 Make Default 버튼이 활성화되는데, 누르면 다음부터 중단점을 만들 때마다..
데이터 단위 1) 비트(bit) 컴퓨터는 기계이다. 이 말의 의미는 생각할 수 있는 두뇌가 없다는 뜻이다. 단순히 데이터를 저장할 메모리와 이를 처리하는 연산장치, 그리고 입출력 장치로 구성되어 있다. 여기서 우선 알아야 할 것은 데이터이다. 컴퓨터는 전원을 이용한 기계이기 때문에 전원이 On되었을 때(충전) 혹은 전원이 Off(방전)되었을때의 두가지 상태만을 감지할 수 있다. 이 것은 간단히 2진수로서 표현이 있다. 2진수 한 자리는 두가지 상태의 정보를 표현 가능하다. 1과 0 이 바로 그것이다. 데이터를 저장할 메모리 소자가 충전 혹은 방전되거나 하는 상태를 기점으로 1과 0 이 세트되게 된다. 8 bit 란? 자 그럼 본격적으로 비트에 대해서 알아보자. 1개의 비트는 단순히 2가지 상태만을 저장할 수 있기에 ..
PHP AES 암호화 (Cipher) string openssl_encrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" ]] ) string openssl_decrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" ]] ) $data = 파일이나 텍스트같은 데이터 $method = 암호화 메소드 $password = 암호화키 $option = OPENSSL_RAW_DATA(1 or true) OPENSSL_ZERO_PADDING(0 or false) $iv = cbc를 사용할때 첫번째 암호화 블럭 $data ..
Java Cipher 자바에서 *대칭키 알고리즘을 사용하여 데이터를 암호화 / 복호화할 때 Cipher클래스를 사용한다. 이 클래스는 정적 메서드인 Cipher.getInstance()를 호출하여 사용할 수 있는데 사용시 사용할 알고리즘, 운용 모드, 패딩 방식을 인자로 넘겨줘야 한다. 대칭키 암호화에서 알고리즘, 운용 모드, 패딩을 무엇이고 어떤 역할을 하는지 알아보자. - 혼돈과 확산 안전한 암호문은 공격자가 이를 보고 원본 메시지나 암호화에 사용된 키를 유추할 수 없어야 한다. 이러한 성질을 혼돈과 확산이라고 하며 각각 다음과 같은 의미를 갖는다. @ 혼돈은 *암호문으로부터 키를 알아낼 수 없게 하는 성질이다. @ 확산은 암호문으로부터 원문을 알아낼 수 없게 하는 성질이다. 다르게 말하면 혼돈이란 키의 비트 하나만 바꿔..
mysql or mariadb 원격접속 1. mysql 원격 아이디 생성 msyql -> grant all privileges on *.* to 'yk'@'%'; mysql -> flush privileges; vim /etc/my.cnf bind-address = 127.0.0.1 -> 0.0.0.0 수정 netstat -ntlp | grep mysqld firewall 사용하고 있으면 firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --list-ports iptables -I INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
자바 synchronized 자바로 개발한 기존 프로젝트를 코틀린으로 변환하는중에 Thread와 블락(synchronized)과 관련된 문제 때문에 애를 좀 먹었다. synchronized, wait, notify은 대충은 알지만 확실한 개념을 잘 몰라서 이번 기회에 정리를 해보려고 한다. 1. synchronized - 정의 : 위키백과에서는 "컴퓨터 과학에서 동기화 란 두 가지 뚜렷하지만 관련 개념 인 프로세스 동기화 및 데이터 동기화 중 하나를 의미합니다. 프로세스 동기화는 여러 프로세스가 특정 시점에서 가입하거나 핸드 셰이크하여 계약에 도달하거나 특정 작업 순서를 확약한다는 아이디어를 나타냅니다"라고 한다. 영어를 직역한거라 말이 어렵다. 간단하게 예시를 들자면 하나의 사과를 여러 명이 동시에 먹으려고 한다면 당연히 싸움이 ..