본문 바로가기

2016/04

(5)
[Java] 왜 Java의 인터페이스 내에 있는 변수는 기본적으로 static이고 final인가요? http://stackoverflow.com/questions/2430756/why-are-interface-variables-static-and-final-by-default Q: 왜 Java의 인터페이스 내에 있는 변수는 기본적으로 static이고 final인가요?(역주: Class에는 내에는 변수를 당연히 선언할 수 있습니다. Interface 내에도 변수를 선언할 수는 있지만, 항상 static - 인터페이스 내에 단 하나만 존재 - 이고, final - 수정 불가 - 입니다. 즉 인터페이스에는 하드코딩으로만 변경할 수 있는 설정 값 등은 넣을 수 있습니다. 만약 인터페이스에 변수를 넣어야 할 경우라면, abstract class를 만들어 상속을 받는 쪽으로 설계를 변경하는 것을 고려해 보는게 좋..
[Java] String 을 더하는 연산 (Concatenation) VS StringBuilder Java에서 String을 다룰 때, StringBuilder를 많이 사용합니다. Java의 String은 immutable, 즉 수정 불가능한 객체입니다. 더하기 연산이나, split 연산 등을 수행하면 String 객체를 직접 고치는 것이 아니고, 새로운 객체를 생성하여 반환하게 됩니다.그래서 패스워드 등에는 String을 이용하지 않고, char 배열을 이용하여 패스워드를 입력받은 다음 즉시 삭제해 버리라는 조언도 있습니다.http://stanleykou.tistory.com/entry/JAVA-패스워드에-String이-아닌-char를-이용하는-이유 그렇기 때문에 속도가 느리고, StringBuffer나 StringBuilder를 이용해서 스트링을 처리하는 작업을 많이 합니다. StringBuffe..
여러 jar를 하나로 합치기 - Jarsplice 자바에서 Jar 파일을 만들 때, 여러 jar를 하나로 합쳐야 될 때가 있습니다. 물론, 이런 행동은 가독성을 떨어뜨리고, 모듈 교체를 어렵게 만들고, jar를 합치다가 충돌이 일어날 수도 있습니다. 유명한 Jon Skeet도 "그런거 하지마......" 라고 했지요.http://stackoverflow.com/questions/5089565/can-i-combine-many-jar-files-in-one-jar-file 하지만 jar가 여러 개지만 고객에게는 jar 하나를 배포하고 싶다든가, 어차피 충돌할 것도 없다면 jar를 하나로 합치는 것도 이득이 될 수 있습니다. 이럴때는 jarsplice를 이용하면 됩니다.아래 URL에서 다운로드 받을 수 있습니다. 실행 가능한 jar 파일로, GUI를 가지고..
[Android] 스크린 캡쳐를 막는 방법 http://stackoverflow.com/questions/9822076/how-do-i-prevent-android-taking-a-screenshot-when-my-app-goes-to-the-background Q: 제 앱이 백그라운드로 내려갔을 때, 안드로이드가 스크린샷을 찍는 것을 막으려면 어떻게 해야 되나요?제가 만들고 있는 앱은 보안 이슈 때문에, 앱이 백그라운드일 때 OS에서 스크린샷을 찍는 것을 막아야 합니다. 그래서 다른 앱이 뜰 때는, 제 앱의 마지막 화면이 보이지 않아야 합니다.지금 계획중인 방법은 onPause 메소드 안에서 뭔가 동작을 시켜주면 되지 않을까 싶은데, 일단 그 전에, 애초에 스크린샷 자체를 막을 수 있는 방법을 찾고 있습니다.혹시 이렇게 구현하는 방법을 알고 계..
[Android] Receiver에 리모트 프로세스(process =“:remote”)를 해줘야 할 이유가 있나요? http://stackoverflow.com/questions/4311069/should-i-use-android-process-remote-in-my-receiver Q: Receiver에 리모트 프로세스(process =“:remote”)를 해줘야 할 이유가 있나요?저는 굉장히 빈번하게 호출되는 BroadcastReceiver를 가지고 있습니다. 그리고 많은 사람들이 BroadcastReceiver를 구현할 때, 아래와 같은 코드를 이용하는 것을 보았습니다.android: process =":remote" 제 BroadcastReceiver의 목적은, 몇 가지 조건을 체크한 다음 알람을 울리는 것입니다. 제가 궁금한 부분은, 위와 같은 코드를 AndroidManifest.xml에 꼭 추가해야 하는지 ..