안녕하세요 박스여우입니다. 최근 언론사의 웹사이트와 앱을 제작중인데요, 언론사 애플리케이션 특성상 기사마다 이미지가 반드시 하나쯤은 있고, 그 기사들과 이미지들을 불러와 화면에 뿌려줘야 합니다. 하지만, 많은 이미지를 다루다 보니 [dalvikvm-heap: Out of memory on a 772812-byte allocation] 요런 에러, Out Of Memory - OOM이 발생하더군요 ■ 메모리 정리? 원인은 Android 상에서 제공되는 메모리(heap)는 정해저 있지만, 제가 많은 이미지를 사용한 관계로 메모리가 부족한 상황이 발생한 것입니다. 이 때, 메모리를 정리한답시고 사용하지 않는 객체에 null을 지정해 준다고 한들 해당 객체의 메모리가 정리되는게 아니고 정리될 후보가 되는것 입니..
안녕하세요 박스여우입니다.이번에는 카카오톡을 통해 링크와 이미지를 공유하는 방법에 대해 알아보겠습니다. ■ Kakao Developer저희가 사용할 API는 카카오톡에서 제공해 주는 카카오링크 입니다. 카카오링크를 사용하기 위해서는 KakaoDeveloper 로 이동하여 API를 사용할 앱을 등록해야 합니다. 앱 만들기를 클릭하고 등록할 앱의 이름을 입력한 뒤 Create 버튼을 눌러 주세요. 이 때 이름은 자유롭게 적어주시면 됩니다. 그 다음으로 일반>플랫폼>플랫폼 추가 버튼을 눌러 정확한 앱의 정보를 등록합니다. 이번 포스팅에서는 안드로이드를 기준으로 진행하겠습니다. 해당 애플리케이션의 패키지명을 입력하신 뒤 추가 버튼을 누르시면 됩니다. 그럼 이처럼 키 해시 입력란이 비게 되는데요, 키 해시에는 해..
안녕하세요 박스여우입니다.이번에는 ScrollView의 스크롤이 바닥에 닿았을때, 스크롤 뷰의 내용이 모두 보여졌을때 새로운 게시글을 로드하기 위한 이벤트를 발생시키는 방법에 대해 소개해 드리고자 합니다. ■ ScrollView 바닥에 닿았을 때 이벤트여러가지 방법이 있지만 저는 Custom ScrollView를 만드는 방법으로 해결하였습니다. 핵심코드123456789101112131415161718 private void checkIsLocatedAtFooter() { if (rect == null) { rect = new Rect(); //사각형을 그려주는 Rect 클래스 - 현재 보이는 화면의 사각형 getLocalVisibleRect(rect); //현재 view의 절대 위치를 rect에 적용 r..
안녕하세요 박스여우입니다.최근 AngularJS에 관심이 생겨서 AngularJS에 대해 공부를 하고 있습니다. 그리고 공부한 AngularJS의 내용을 블로그에 포스팅 하고자 합니다. ■ AbgularJS지난 포스팅에서도 소개해 드렸듯이 AngularJS는 JavaScript로 만들어진 웹 애플리케이션 프레임워크 입니다.라이브러리 : JQuery와 같이 유용한 함수의 집합이다. 개발자의 코드가 필요한 시점에 해당 함수들을 호출하고 애플리케이션의 전체 흐름을 제어합니다. 프레임워크 : AngykarJS등과 같이 개발자의 코드가 프레임워크의 빈 공간을 채우고, 프레임워크가 필요시점에 개발자의 코드를 호출하고 애플리케이션의 전체 흐름을 제어하게 됩니다. ■ AbgularJS의 특징 ■ 작성해야 하는 JS의 ..
안녕하세요 박스여우입니다. 요즘 웹에 관심이 많아졌는데요, 그런 의미에서 오늘은 그동안 배워보고 싶었던 AngularJS에 대해 알아보고자 합니다! JavaScript는 웹은 물론이고 Node.JS, 애플리케이션 분야까지 "JavaScript Is Eating The World"라는 말이 있을 정도로 점점 진화해 가고 있습니다. 이러한 과정속에서 JQuery와 같은 JavaScript 라이브러리들이 많이 등장하고 있는데요, 그 중에도 AngularJS라는 것이 인기를 많이 받고 있습니다. 지금부터 이 AngularJS에 대해 간단히 알아보도록 하겠습니다 ■ AngularJS AngularJS는 JavaScript로 만들어진 웹 어플리케이션 프레임워크 입니다. AngularJS가 인기를 받고있는 이유는 바..
안녕하세요 박스여우입니다. 저번 Google I/O 2016 Extend Seoul 에 얼마 길지 않은 개발 경력을 가지고 참가했기 때문에 새롭게 알게된것이 많았습니다. 최근에 웹 개발을 한창 하고 있어서 Progressive Web App챕터를 듣게 되었는데, 그 중에서 Web Worker라는 녀석이 있더군요. 그 때는 뭐지(?) 하고 개념만 어느정도 잡고 넘겼는데, 얼마전에 javascript상에서 Thread를 사용할 일이 있어서 구글링을 해 보니 Web Worker라는 녀석이 또 등장하더군요. 그래서 Web Worker에 대해 개념을 다시 제대로 잡아보고자 합니다. ■ Web worker 란? HTML 페이지에서 스크립트를 실행할때 그 페이지는 스크립트가 완료할때 까지 응답하지 않게 됩니다. 이를..
안녕하세요 박스여우입니다. 오늘은 요렇게 페이지 새로고침 없이 페이지를 이동(?) 하는 방법에 대해서 알아보겠습니다. ■ Ajax - Asynchronous JavaScript and XMLAjax는 웹브라우저와 웹 서버가 내부적으로 통신을 하고, 그 결과를 웹 페이지에 반영하여 웹 페이지를 로딩이나 새로고침 없이 이용할 수 있도록 하는 기술입니다.이름을 보면 알 수 있겠지만, 자바스크립트를 이용하여 비동기적으로 서버와 브라우저가 데이터를 주고받는 방식으로 보면 됩니다. 그럼 본격적으로 Ajax를 사용하는 방법에 대해서 알아보겠습니다. ■ Ajax - 예제 1 - JQuery를 사용한 예제 123456789101112 $.ajax({ type : "GET", url : "test.jsp", dataTyp..
안녕하세요 박스여우입니다.오늘은 Android도, IOS도 아닌 웹에 Facebook Login 기능을 적용해 보는 방법을 알아보도록 하겠습니다. 우선 facebook javascript SDK를 적용하기 위해서https://developers.facebook.com/apps 요기로 가서 Facebook SDK 앱 코드를 생성해야 합니다. facebook 아이디로 로그인 하고, 지금 가입하기를 눌러서 facebook 개발자 가입을 시작합시다! 지금 가입하기를 누르면 facebook의 개인정보 취급방침을 동의하는 창이 표시됩니다. 그럼 동의를 하고 가입을 하면 되겠죠? 가입에 성공했습니다! 드디어 앱을 등록할 수 있는 창이 나왔습니다! 그럼 이제 사용할 플랫폼을 골라봅시다. 이번에는 웹에 적용하기로 했으니..
해당 포스트는 윈도우를 기반으로 한 포스트 입니다. 리눅스가 아니니 리눅스를 찾아오신 분은 돌아가 주세요.. 안녕하세요 박스여우입니다.오늘은 java와 window command를 이용해서 프로세스를 다루는 방법을 알아보고자 합니다.갑자기 리눅스도 아니고 윈도우에서 프로세스를 다루려고 하는 이유는 한 회사에서 의뢰를 받아 프로그램을 개발중인데 만들다 보니 프로세스를 다뤄야 하는게 많더군요. 서버가 윈도우라 윈도우에서 하는 방법을 알아보고 있습니다. ■ 특정 포트 사용중인 프로세스 ID 찾기우선 cmd 창을 열고 netstat -a -o 요 명령어를 치면 현재 포트를 사용중인 프로세스에 대한 정보가 출력됩니다. 프로토콜,IP:포트,User,상태,프로세스 아이디 순으로 정렬되어 출력됩니다. 이를 이용해서 특..