■ 페이지 캐시페이지 캐시는 리눅스(VFS 계층) 에서는 디스크 접근을 최소화 하여 파일 I/O성능을 향상시키기 위해 사용되는 메모리 영역입니다. 한 번 읽은 파일의 내용을 이 페이지 캐시 영역에 저장하고, 같은 파일의 접근이 일어나면 디스크에서 읽어오는 것이 아니라 페이지 캐시에서 읽어오게 됩니다.리눅스에서 파일을 여는 과정 중 find_get_page() 메소드를 통해 해당 영역이 페이지 캐시에 있는지 확인하고 만약 있다면 디스크까지 접근하지 않게 됩니다. 만약 해당 영역이 페이지 캐시 내에 없다면 _page_cache_alloc() 메소드를 통해 해당 파일의 내용을 저장할 페이지 캐시 영역을 할당하고, bio 구조체를 통해 할당받은 페이지 캐시를 추가 합니다. ■ 버퍼 캐시버퍼 캐시는 블록 디바이스..
안녕하세요 박스여우입니다. 이번에는 아래 사진과 같이 자신의 앱에 전면 광고를 다는 방법을 알아보겠습니다. 먼저 AdMob에 접속! 수익올리기 -> 자신의 앱을 선택한 뒤에 새 광고단위를 만듭시다. 만약 등록된 앱이 없을 경우 앱을 새로 등록한 뒤에 진행하셔야 합니다. 그리고 여러 광고에 대한 설정을 하시고 이름을 정해줍시다. 참고로 저는 동영상 광고는 데이터 관련 불만을 방지하기 위해 사용하지 않겠습니다. 새로운 광고가 만들어졌습니다. 광고를 사용하기 위해서 단위ID를 복사 합시다! 복사한 광고 ID를 자신의 안드로이드 프로젝트에 가서 valuse - strings에 String을 만들어 붙여넣어 줍시다. 1 private InterstitialAd interstitialAd;cs 그리고, 전면 광고를..
안녕하세요 박스여우입니다.새학기가 되어 학교에 오자마자 불같이 떠오른 아이디어로 만든 연장학습 신청 시스템을 소개해 드리려고 합니다. 처음 만들어 보는 웹이라 여러 시행착오를 거쳤습니다.처음에는 jsp나 php같은 언어를 사용하지 않고, 단순히 java와 js 만으로 무식하게 제작하였습니다. 하지만 jsp를 배우면서 퀄리티를 조금더 높였고, 없던 디자인 감각도 쥐어 짜내서 꾸며보았습니다.(그래도 역시 보기 흉하네요..) 메크로를 만들어 연장신청을 할 가능성이 있어서 google recapture를 추가하였고,jsp로 다시 짜면서 세션과 쿠키를 이용한 자동 로그인 기능도 추가하였습니다. 처음에는 해당 웹을 통해 DSM알리미 웹 버전을 만들어 IOS와 같은 다른 플랫폼들도 지원할 계획을 마음속에 가지고 있었..
안녕하세요 박스여우입니다. 오늘은 System.out(표준 출력)의 출력을 두개의 스트림으로 복제하거나 System.out 출력을 후킹하는 방법에 대해 알아보겠습니다. ■ System.out우선, Java의 System.out 스트림은 PrintStream 입니다.PrintStream에 대해 알아보자면 Java의 기본 출력 스트림인 OutputStream을 상속받고 있으며 일반적인 입출력 뿐만 아니라 파일 입출력에도 사용되는 스트림 입니다. System.setOut을 통해 System.out.print 등의 기본 시스템 출력을 다른 곳으로 돌릴 수 있습니다. 이를 이용해서 System.out 스트림을 후킹해 보도록 하겠습니다. 1234567891011121314151617181920212223242526..
안녕하세요 박스여우입니다. 약 2달전쯤에 DSM 알리미 앱이 강제종료 된다는 문의가 자주 있었습니다.오류를 문의하는 사람들의 한가지 특징이 안드로이드 6.0 환경이였습니다. 원인파악을 해보니 안드로이드 6.0버전부터는 보안이 강화되어(?) 기존에 manifest에 퍼미션을 등록하는 방식이 다르게 바뀌었더군요 그래서 오늘은 이미 해결했지만 늦게나마 안드로이드 6.0 버전 이상에서 퍼미션을 얻는 방법을 알아보겠습니다.■ Android 6.0 / API Level 23안드로이드 6.0버전 이하에서는 Manifest에 사용하고자 하는 퍼미션을 등록하면 자유롭게 사용이 가능했습니다. 하지만 안드로이드 6.0버전 이상부터는 코드 동작중에 필요한 퍼미션들을 허용받는 런타임 권한 모델을 사용해야 합니다. 런타임 권한 ..
Lock Screen 위에 Activity 띄우기 요즘 맡고 있는 프로젝트가 관련이 있어서 잠금화면 - LockScreen에 대한 포스팅만 쓰게 되네요 이번에는 캐시슬라이드와 같은 돈버는 어플처럼 LockScreen위에 Activity를 띄우는 방법을 알아보겠습니다. 1getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);cs 코드는 아주 간단한데요, 엑티비티가 생성되었을 때 바로 잠금화면 위로 올리고 싶다면 onCreate메소드 안에넣으시고 그 외에는 적절히 사용하시면 됩니다. 잡담 요즘은 앱보다는 웹을 더 많이 다루고 있는 듯 합니다. 안드로이드도 IOS지원문제 때문에 웹 기반과 WebGL을 통해 UI를 그리는 Fuse를 다뤄보..