* 최근 SNS와 웹사이트를 연동하는 일들이 많아지면서, 많은 사이트들이 페이스북 로그인과 연동을 하고 있다. 페이스북에서 어떻게 로그인 연동을 해야 하는지 한번 알아보자. * 자바스크립트 SDK를 이용한 페이스북 로그인: 페이스북 앱들은 동작하는 장비나 프로젝트에 따라서 몇 가지의 로그인 단계를 거치게 된다. 이번에는 웹앱에서 로그인하는 단계를 한단계씩 알아볼 것이다. 여기서는 웹사이트인 경우 페이스북에서 추천하는 로그인 방식인 페이스북에서 제공하는 자바스크립트 SDK를 사용해서 페이스북 로그인을 할 것이다. 만약 자바스크립트 SDK를 사용하지 못하는 상황이라면 페이스북에서 제공하는 별도의 로그인 절차를 수동적으로 생성해야 할 것이다. * 빠른 시작: 일단 먼저 어떻게 구현해야 하는지 빠르게 훑어본 다..
* 이번에 localStorage를 사용하면서 안드로이드에서는 되는데 아이폰에서만 안되는 독특한(?) 현상 때문에 애를 먹다가 옛날에 모바일 브라우져 환경에서 디버깅을 하는데 사용했던 툴을 깔아야하나 고민 중이었는데, 아이폰용 사파리의 아주 편리한 기능을 알게 되었다. 작년에 웹페이지에 라이브러리를 깔아가면서 모바일을 디버깅했던 때와 비교하면 아주 혁신적으로 엄청 편리해진 것을 발견할 수 있을 것이다. * 웹속성 사용하기 : 모바일에서 디버깅을 하기 위한 툴이 부족한 상황에서 모바일에서의 자바스크립트를 디버깅하는 것은 매번 alert를 띄우거나 조금 부실한 아이패드에서 사파리 디버깅 콘솔을 설정해서 console.log를 사용하는 정도이었는데, 이 웹속성 기능을 사용하게 되면 조금 느리기는 하지만 마치 ..
* 이번에 간단하게 웹을 통해서 몇백KB 정도 되는 데이터를 웹에서 불러다가 처리하는 개인 프로젝트를 개발하다가 매번 몇백KB를 불러오는게 부담이 되어, localStorage의 캐쉬를 이용하는 간단한 웹을 만들고 있었는데 안드로이드와 구형 아이패드에서는 잘 되는데 이상하게 최신 아이폰5에서는 잘 안되는 것이었다. 왜그런가 살펴보다가 디버깅툴을 이용해서 이것저것 테스트하다가 아래와 같은 에러가 일어나는 것을 발견했다. "QuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota." : 대충 너무 큰 사이즈의 데이터를 입력하려고 했다는 의미인 것 같았는데, 검색해보니 i..
* 일반적으로는 a href="#아이디"등과 같이 사용자가 클릭을 해야하는 경우가 있는데, 이러한 경우가 아닌, 자바스크립트로 이동하는 방법을 알아보자. 이러한 경우는 페이지의 bookmark를 등록하거나 할 때 해당 위치로 이동하도록 할 때에 편리할 것이다. : 먼저 html에 id를 준다. : 그리고 해당 element로 이동하고 싶을 때 아래와 같은 자바스크립트를 호출하면 된다. location.href = "#"; location.href = "#bookmark"; : 이 방법은 아주 쉽게 의 링크/버튼을 누르지 않고 그와 같은 효과를 이끌어낼 수 있다. 하지만 url의 뒤에 #bookmark가 추가되는 불편함(?)이 있을지도 모른다. 사실, url이 그렇게 변하는 것은 미관상(?) 안 좋을수도 ..
* 자바스크립트의 오브젝트로 만들었을 경우에는 쉽게 특정 값에 대하여 삭제 가능하지만 배열인 경우에는 다소 어렵다. 게다가 IE8 이전 버전은 조금 귀찮기도 하다. 따라서 다음과 같은 간단한 함수를 하나 만들어둬도 괜찮을 것이다. function remove(arr, value) { var i; if (arr.indexOf) { // IE9+, 다른 모든 브라우져 while((i = arr.indexOf(value)) !== -1) { //해당 값이 arr에 있는 동안 루프 arr.splice(i, 1); } } else { // IE8 이하 for (i = arr.length; i--;) { //뒤에서부터 배열을 탐색 if (arr[i] === value) { arr.splice(i, 1); } } }..
* 자바스크립트에서는 이벤트를 다루는 방법은 대표적으로 3가지를 꼽을 수 있다. 1) HTML에 inline으로 등록Click me! 2) element의 onload 속성을 통한 등록 Click me! 3) addEventListener/attachEvent를 이용한 등록 Click me! : 일단 1)번부터 보면 이건 초창기 인터넷 넷스케이프 2 당시부터 사용하던 이벤트 핸들러 방식이다. 워낙에 전통적인 방법으로 오랫동안 사용해와서 많은 사람들이 아직도 사용하고 있다. 하지만 HTML을 사파리 reader 등으로 볼 때 문서로서 최적화하기 위하여, MVC 또는 MVVM 모델을 분류하기 위하여 html은 오로지 document를 표시해주는 역할을 취하게 하기 위해서는 1)번 보다는 이벤트 핸들러는 자바..
: 자바스크립트에서 string을 표기하는 방법이 여러가지가 있는데, 크게 2가지로 뽑을 수 있을 것이다. var objStr = new String("unikys"); // #1 var toStr = String("unikys"); // #2 var prmStr = "unikys"; // #3: String literal : 여기서 일반적으로 쓰이는 것은 #1번과 #3번(String literal)이고, 아마도 대부분은 #1번처럼 사용한 적도 별로 없겠지만, #1번과 약간 비슷해보이는 #2번의 표기방법도 있기는 있다. 비슷해보이는 표기법들이 C에서는 상당히 다르게 느껴지기는 하지만, 자바스크립트에서는 위의 #3번의 경우 아래와 같이 String의 함수들도 사용할 수 있다는 것이 신기하기도 하고 재미있다..
var items = { "foo" : 123456, "bar" : 789012, "baz" : 345678, "bat" : 901234 }; 다음과 같은 연관 배열이 있을 때, items[0]이런식으로는 루프를 돌수 없다. 이 배열을 루프 도는 방법은 아래와 같이 for, in을 사용하면 된다. for(var index in items){ document.write(index + " : " + items[index] + " "); } 를 하게 되면 아래와 같이 출력할 수 있다. foo : 123456 bar : 789012 baz : 345678 bat : 901234 끝.
* typeof와 instanceof는 어떠한 변수가 문자열인지아닌지, 특정한 객체인지 아닌지 판단할때 사용하는 '연산자'들이다. 이들 둘이 어떻게 다른지 살펴보고 사용하면서 있을 수 있는 약점들도 같이 살펴보자. * typeof : typeof는 unary 오퍼레이터이다. unary 오퍼레이터로는 ! 라던가 - 등과 같이 인자를 하나만 받을 수 있는 연산자를 뜻한다. 즉, 함수가 아니고 연산자이기 때문에 괄호를 사용하면 안된다. typeof yourVariable; 위와 같이 실행하고 나면 리턴 값으로는 해당하는 변수의 primitive 타입을 스트링으로 준다. 돌려주는 primitive 타입의 종류는 아래와 같다. 'undefined''boolean''number''string''object''fun..
[자바]BufferedImage 에서 ByteArrayInputStream 로 변환하기 BufferedImage img; ByteArrayOutputStream byos = new ByteArrayOutputStream(); try{ ImageIO.write(img , "jpg" , byos); }catch(Exception e){e.printStackTrace(); }finally{ byos.close(); } ByteArrayInputStream byis = new ByteArrayInputStream(byos.toByteArray()); 끝.
[자바] 프로그램상으로 화면캡쳐하기. GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices(); DisplayMode mode = gs[0].getDisplayMode(); Rectangle bounds = new Rectangle(0, 0, mode.getWidth(), mode.getHeight()); BufferedImage desktop = new BufferedImage(mode.getWidth(), mode.getHeight(), BufferedImage.TYPE_INT_RGB); try { desktop = new Robot(gs[0])..
jQuery 기본 선택 방법 (선택자) The selectors follow the basic format of CSS. You will be able to refer the formats in the site of CSS selectors too. It's also able to use the dependency for the parents of the element just like the CSS. $('div') - selects all the elements that has the tags with , 태그로 선택 $('.classSel') - selects all the elements that has the class 'classSel', 클래스로 선택 $('#idSel') - selects ..
- Total
- Today
- Yesterday
- 탐론 17-50
- 서울
- 팁
- 안드로이드 앱 개발 기초
- Javascript
- php
- google app engine
- c++
- 샷
- GX-10
- 사진
- gre
- 뽐뿌
- HTML5 튜토리얼
- mini project
- 속깊은 자바스크립트 강좌
- Android
- 안드로이드
- 삼식이
- java
- HTML5
- gae
- ny-school
- lecture
- 자바스크립트
- Python
- TIP
- 강좌
- Writing
- K100D
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |