블로그 이미지
래머
오늘도 열심히 개발하는 개발자입니다.

calendar

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

Notice

2016. 10. 28. 14:02 안드로이드

원문 : https://developers.google.com/identity/sign-in/web/backend-auth


구글플레이 서비스 SDK를 통해서 클라이언트측에서 로그인하고 인증 정보를 서버로 넘겨서 서버측에서 클라이언트의 인증 정보를 검증하는 방법은 아래와 같다.


https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123

위주소의 XYZ123부분에 클라이언트가 보내온 액세스 토큰을 넣고 Post또는 Get요청을 보내면 응답을 받을 수 있다.


HTTP 200응답이 수신될경우 JSON포맷의 결과 값을 받게 되고, 대략 아래와 같은 형태이다.



{
 // These six fields are included in all Google ID Tokens.
 "iss": "https://accounts.google.com",
 "sub": "110169484474386276334",
 "azp": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "aud": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "iat": "1433978353",
 "exp": "1433981953",

 // These seven fields are only included when the user has granted the "profile" and
 // "email" OAuth scopes to the application.
 "email": "testuser@gmail.com",
 "email_verified": "true",
 "name" : "Test User",
 "picture": "https://lh4.googleusercontent.com/-kYgzyAWpZzJ/ABCDEFGHI/AAAJKLMNOP/tIXL9Ir44LE/s99-c/photo.jpg",
 "given_name": "Test",
 "family_name": "User",
 "locale": "en"
}

이중에서 aud값에 앱의 클라이언트 ID를 담고 있는데 일치 하는지 확인하고 일치한다면,

sub 항목을 유저의 ID로 사용하면된다. sub항목은 구글에서 개인을 식별할 수 있는 유니크 ID이다.



posted by 래머
2016. 10. 27. 11:42 C/C++

이클립스 사이트에서 c++용 이클립스 다운로드 : Eclipse IDE for C/C++ Developers


http://www.eclipse.org/downloads/eclipse-packages/


현재 최신 버전은 이클립스 네온


이클립스 실행 후  메뉴중


Help -> Install New Software를 선택해서 몇가지 소프트웨어 설치가 필요하다.


해당 메뉴를 선택하면 Install이라는 창이 나온다.

창에서 Work with부분의 콤보박스를 선택해보면 다음과 같은 항목이 있다.


CDT - http://download.eclipse.org/tools/cdt/releases/9.0


위주소는 이클립스 버전에 따라서 다를 수 있음


해당 주소를 선택하면 아래쪽에 체크가 가능한 몇개의 항목이 나온다


CDT Main Features 및 CDT Optional Features를 선택하고 설치를 해준다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


이제 MinGW를 설치해준다.


https://sourceforge.net/projects/mingw/files/


위주소로 가서 설치 파일을 다운로드 후 설치를 진행한다.


설치 프로그램을 실행하면 몇가지 초기설치 단계가 진행되고 이후에 몇개의 설치 가능한 패키지를 선택하는 창이 출력된다.


여기에서 최소 C++컴파일러와 툴킷은 선택하고 설치하도록 한다.


설치 버튼이 따로 있는건 아니고, 메뉴항목중 Installation->Apply Changes를 눌러서 패키지 설치/제거가 가능하다.


시스템 환경변수의 Path에  MinGW의 bin폴더를 추가해준다.


윈도우 컴맨드를 실행해서 gcc를 입력했을때 컴파일러가 실행되면 성공


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

이제 이클립스에서 컴파일러를 설정해줘야 한다.


이클립스의 메뉴에서


Window -> preferences -> C/C++ -> Build -> Settings -> Discovery항목을 선택한다.

출력되는 창에서 CDT GCC Built-in Compiler Setting[Shcred]를 눌러 COMMAND항목에

-std=c+11 옵션을 뒤쪽에 추가해준다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


이제 이클립스에서 C++프로젝트를 만들고 프로젝트에 C++컴파일러관련 정보를 설정해야한다,.


프로젝트의 프로퍼티창을 오픈한다.


C/C++ Build항목의 Setting를 선택하고 창의 오른쪽에 출력되는 정보중

GCC C++ Compiler-> Dialect 항목을 선택하고 그오른쪽에 다시

Language standard 콤복박스에서 ISO C++11(-std=C++0X)를 선택해준다.





posted by 래머
2016. 3. 14. 15:26 JQuery

jQuery Event Methods(JQuery 이벤트 메소드들)


jQuery is tailor-made to respond to events in an HTML page.

JQuery는 HTML페이지의 이벤트들을 수신하는형태로 디지인되었다.


What are Events?(이벤트는 무엇인가?)

All the different visitor's actions that a web page can respond to are called events.

An event represents the precise moment when something happens.

Examples:

웹페이지가 응답할 수 있는 모든 다른 방문자들의 행동들이 이벤트라 불려진다.

이벤트는 특정한 순간에 무언가 일어났다는것을 나타낸다.

예제 : 

  • moving a mouse over an element
  • selecting a radio button
  • clicking on an element
  • 요소위에 마우스가 움직임
  • 라디오 버튼이 선택됨
  • 요소가 클릭됨

The term "fires/fired" is often used with events. Example: "The keypress event is fired, the moment you press a key".

Here are some common DOM events:

조건 "fires/fired"는 종종이벤트오 함께 사용된다. 예 : "당신이 키를 누를때 키눌림 이벤트가 발생했다". 

다음은 몇가지의 공통적인 DOM이벤트들이다.

Mouse EventsKeyboard EventsForm EventsDocument/Window Events
clickkeypresssubmitload
dblclickkeydownchangeresize
mouseenterkeyupfocusscroll
mouseleave blurunload

jQuery Syntax For Event Methods(이벤트 메소드들을 위한 JQuery문법)

In jQuery, most DOM events have an equivalent jQuery method.

To assign a click event to all paragraphs on a page, you can do this:

JQuery에서, 대부분의 DOM이벤트들은 동일한 JQuery메소드들을 가진다.

클릭이벤트를 페이지내의 모든 절에 할당하기 위해, 다음과 같이 할 수 있다:

$("p").click();

The next step is to define what should happen when the event fires. You must pass a function to the event:

음단계는 이벤트가 발생할때 무슨일이 생기는지 정의하는것이다. 당신은 이벤트에 함수를 전달 할 수 있다 : 

$("p").click(function(){
  // action goes here!!
});

Commonly Used jQuery Event Methods(공통적으로 사용된 JQuery이벤트 메소드들)

$(document).ready()

The $(document).ready() method allows us to execute a function when the document is fully loaded. This event is already explained in the jQuery Syntax chapter.

$(document).ready() 메소드는 우리에게 문서가 완전히 로드될때 함수가 실행될 수 있게한다. 이 이벤트는 JQuery문법 장에서 이미 설명했다.


click()

The click() method attaches an event handler function to an HTML element.

The function is executed when the user clicks on the HTML element.

The following example says: When a click event fires on a <p> element; hide the current <p> element:

click()메소드는 HTML요소에 이벤트 핸들러 함수를 결합한다.

함수는 사용자가 HTML요소를 클릭할때 실행된다.

다음 예제는 :  <p>요소에 클릭이벤트가 발생할때, 현재의 <p>요소를 숨긴다 : 


Example

$("p").click(function(){
    $(this).hide();
});
Try it yourself »

dblclick()

The dblclick() method attaches an event handler function to an HTML element.

The function is executed when the user double-clicks on the HTML element:


dblclick() 메소드는 HTML요소에 이벤트 핸들러를 결합한다. 이함수는 HTML요소가 더블클릭될때 실행된다.

Example

$("p").dblclick(function(){
    $(this).hide();
});
Try it yourself »

mouseenter()

The mouseenter() method attaches an event handler function to an HTML element.

The function is executed when the mouse pointer enters the HTML element:

mouseenter() 메소드는 HTML요소에이벤트 핸들러 함수를 결합한다.

함수는 HTML요소에 마우스 포인터가 위치할때 실행된다.

Example

$("#p1").mouseenter(function(){
    alert("You entered p1!");
});
Try it yourself »

mouseleave()

The mouseleave() method attaches an event handler function to an HTML element.

The function is executed when the mouse pointer leaves the HTML element:

mouseleave()메소드는 HTML요소에 이벤트 핸들러를 결합한다.

함수는 HTML요소에 마우스 포인터가 떠날때 실행된다.

Example

$("#p1").mouseleave(function(){
    alert("Bye! You now leave p1!");
});
Try it yourself »

mousedown()

The mousedown() method attaches an event handler function to an HTML element.

The function is executed, when the left, middle or right mouse button is pressed down, while the mouse is over the HTML element:

mousedown() 메소드는 HTML요소에 이벤트 핸들러를 결합한다.

함수는 왼쪽, 중앙, 오른쪽 마우스 버튼이 눌려진상태에서 HTML요소위에 있을때 발생한다.

Example

$("#p1").mousedown(function(){
    alert("Mouse down over p1!");
});
Try it yourself »

mouseup()

The mouseup() method attaches an event handler function to an HTML element.

The function is executed, when the left, middle or right mouse button is released, while the mouse is over the HTML element:

mouseup()는 HTML요소에 이벤트 핸들러를 결합한다. 함수는 마우스의 커서가 HTML요소 위에 있는상태에서 왼쪽, 중앙, 오른쪽 버튼이 눌림해제될때 실행된다.

Example

$("#p1").mouseup(function(){
    alert("Mouse up over p1!");
});
Try it yourself »

hover()

The hover() method takes two functions and is a combination of the mouseenter() and mouseleave() methods.

The first function is executed when the mouse enters the HTML element, and the second function is executed when the mouse leaves the HTML element:

hover() 메소드는 두개의 함수 mouseenter()와 mouseleave()메소드들의 결합형이다.

첫번째 함수는 HTML요소에 마우스가 위치할때 실행되고, 두번째는 마우스가 요소 위에서 떠날때 실행된다:

Example

$("#p1").hover(function(){
    alert("You entered p1!");
},
function(){
    alert("Bye! You now leave p1!");
});
Try it yourself »

focus()

The focus() method attaches an event handler function to an HTML form field.

The function is executed when the form field gets focus:

focus()메소드는 HTML폼 필드에 이벤트 핸들러를 결합한다.

함수는 폼필드가 포커스를 얻을때 실행된다.

Example

$("input").focus(function(){
    $(this).css("background-color", "#cccccc");
});
Try it yourself »

blur()

The blur() method attaches an event handler function to an HTML form field.

The function is executed when the form field loses focus:

blur() 메소드는 HTML폼필드에 이벤트 핸들러를 결합한다.

함수는 폴필드가 포커스를 잃을때 실행된다.

Example

$("input").blur(function(){
    $(this).css("background-color", "#ffffff");
});
Try it yourself »

The on() Method

The on() method attaches one or more event handlers for the selected elements.

Attach a click event to a <p> element:

on()메소드는 선택된 요소들에 하나또는 그이상의 이벤트 핸드러를 결합시킨다.

<p>요소에 클릭이벤트를 결합시키기 : 

Example

$("p").on("click", function(){
    $(this).hide();
});
Try it yourself »

Attach multiple event handlers to a <p> element:

<p>요소에 다중 이벤트 핸들러 결합하기:

Example

$("p").on({
    mouseenter: function(){
        $(this).css("background-color", "lightgray");
    }, 
    mouseleave: function(){
        $(this).css("background-color", "lightblue");
    }, 
    click: function(){
        $(this).css("background-color", "yellow");
    } 
});
Try it yourself »

Test Yourself with Exercises!

Exercise 1 »  Exercise 2 »  Exercise 3 »  Exercise 4 »  Exercise 5 »

'JQuery' 카테고리의 다른 글

jQuery Selectors(JQuery선택자)  (0) 2016.03.14
jQuery Syntax(Jquery 문법)  (0) 2016.03.14
JQuery 시작하기  (0) 2016.03.11
JQuery 소개  (0) 2016.03.11
posted by 래머
2016. 3. 14. 14:55 JQuery

jQuery Selectors(JQuery 선택자)


jQuery selectors are one of the most important parts of the jQuery library.

JQuery 선택자들은 JQuery라이브러리의 가장 중요한 부분중 하나이다.


jQuery Selectors

jQuery selectors allow you to select and manipulate HTML element(s).

jQuery selectors are used to "find" (or select) HTML elements based on their id, classes, types, attributes, values of attributes and much more. It's based on the existing CSS Selectors, and in addition, it has some own custom selectors.

All selectors in jQuery start with the dollar sign and parentheses: $().

JQuery선택자들은 당신에게 HTML요소들을 선택하고 조작할 수 있게 한다.

JQuery선택자들은 id, 클래스, 속성, 속성의 값이나 더많은 항목들로부터 HTML요소들을 찾는(또는 선택하는)데 사용된다.

이것은 기존의 CSS 선택자를 기반으로 하며, 추가적으로, 약간의 자체적인 선택자를 가지고 있다.

JQuery의 모든 선택자들은 달러 신호와 괄호로 시작된다 : $()


The element Selector(요소 선택자)

The jQuery element selector selects elements based on the element name.

You can select all <p> elements on a page like this:

JQuery요소 선택자는 요소의 이름에 기반하여 요소를 선택한다.

당신은 페이지모든 <P>요소들을 다음과 같이 선택할 수 있다 : 

$("p")

Example(예)

When a user clicks on a button, all <p> elements will be hidden:

유저가 버튼을 클릭할때, 모든 <P>요소들이 숨겨질것이다 : 

Example

$(document).ready(function(){
    $("button").click(function(){
        $("p").hide();
    });
});
Try it yourself »

The #id Selector(#id 선택자)

The jQuery #id selector uses the id attribute of an HTML tag to find the specific element.

An id should be unique within a page, so you should use the #id selector when you want to find a single, unique element.

JQuery의 #id선택자는 특정한 요소를 찾기 위해 HTML태그의 id속성을 사용한다.

id는 대개 페이지안에서 유일한것이므로,  당신은 #id선택자를 페이지내에서 유일한 단일요소를 찾기 원할때 사용할 수 있을것이다.


To find an element with a specific id, write a hash character, followed by the id of the HTML element:

특정 ID와 함께 요소를 찾기 위해, 해시문자를 쓰고, 이어서 HTML요소의 ID를 쓴다.

$("#test")

Example(예)

When a user clicks on a button, the element with id="test" will be hidden:

유저가 버튼을 클릭할때, 요소의 id가 "test"인것이 숨겨질것이다.

Example

$(document).ready(function(){
    $("button").click(function(){
        $("#test").hide();
    });
});
Try it yourself »

The .class Selector(.class 선택자)

The jQuery class selector finds elements with a specific class.

To find elements with a specific class, write a period character, followed by the name of the class:

JQuery 클래스 선택자는 특정 클래스이름을 갖는 요소들을 찾는다.

특정클래스를 찾기 위해, 마침표를 쓰고, 이어서 클래스 이름을 적는다.

$(".test")

Example(예)

When a user clicks on a button, the elements with class="test" will be hidden:

유저가 버튼을 클릭ㅎㄹ때, 클래스 이름이 "test"인 요소들을 숨긴다 : 

Example

$(document).ready(function(){
    $("button").click(function(){
        $(".test").hide();
    });
});
Try it yourself »

More Examples of jQuery Selectors(JQuery선택자들에 대한 더많은 예제)

SyntaxDescriptionExample
$("*")Selects all elements(모든요소선택)Try it
$(this)

Selects the current HTML element(현재 HTML요소를 선택)

Try it
$("p.intro")

Selects all <p> elements with class="intro"(모든 p요소들중 클래스가 intro인것들 선택)

Try it
$("p:first")

Selects the first <p> element(첫번째 <p>요소 선택)

Try it
$("ul li:first")

Selects the first <li> element of the first <ul>(첫번째 <ul>요소의 첫번째 <li>선택)

Try it
$("ul li:first-child")

Selects the first <li> element of every <ul>(모든 <ul>요소들의 첫번째 <li>선택)

Try it
$("[href]")Selects all elements with an href attribute(href속성의 요소들 선택)Try it
$("a[target='_blank']")

Selects all <a> elements with a target attribute value equal to "_blank"(타겟속성이 "_blank"인모든 <a>요소들 선택

Try it
$("a[target!='_blank']")Selects all <a> elements with a target attribute value NOT equal to "_blank"Try it
$(":button")Selects all <button> elements and <input> elements of type="button"Try it
$("tr:even")Selects all even <tr> elementsTry it
$("tr:odd")Selects all odd <tr> elementsTry it

Use our jQuery Selector Tester to demonstrate the different selectors.

For a complete reference of all the jQuery selectors, please go to our jQuery Selectors Reference.

다른 선택자들의 차이점들에 대해 실습해보기 위해 우리의 JQuery선택자 테스터를 사용해라.

JQuery선택자들의 완전한 참조를 위해 우리의 JQuery선택자 참조로 이동하라.


Functions In a Separate File(분리된 파일에서의 함수들)

If your website contains a lot of pages, and you want your jQuery functions to be easy to maintain, you can put your jQuery functions in a separate .js file.

When we demonstrate jQuery in this tutorial, the functions are added directly into the <head> section. However, sometimes it is preferable to place them in a separate file, like this (use the src attribute to refer to the .js file):

만일 당신의 사이트가 많은 페이지들을 담고 있고, 당신이 JQuery 함수들이 쉽게 관리되기를 원한다면, 당신은 JQuery 함수들을 분리된 .js파일에 놓을 수 있다.

우리는 이튜토리얼에서 JQuery실습을 할때, 함수들을 <head>섹션 내부에 추가했었다. 하지만, 때로는 다음과 같이 그것을 분리된 위치에 놓는것이 유용할때가 있다(.js 파일을 참조하기위해 src속성을 사용한다): 

Example

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">
</script>
<script src="my_jquery_functions.js"></script>
</head>


'JQuery' 카테고리의 다른 글

jQuery Event Methods(JQuery 이벤트 메소드들)  (2) 2016.03.14
jQuery Syntax(Jquery 문법)  (0) 2016.03.14
JQuery 시작하기  (0) 2016.03.11
JQuery 소개  (0) 2016.03.11
posted by 래머
2016. 3. 14. 14:32 JQuery

jQuery Syntax(JQuery 문법)


With jQuery you select (query) HTML elements and perform "actions" on them.

JQuery에서 당신은 HTML요소들을 선택하고 그들에게 액션을 수행한다.


jQuery Syntax

The jQuery syntax is tailor-made for selecting HTML elements and performing some action on the element(s).

Basic syntax is: $(selector).action()

JQuery의 문법은 HTML의 요소를 선택하고 요소로부터 무언가 액션을 수행하는데 맞춰진 형태이다.


기본문법은 다음과 같다 : $(선택자).action()

  • A $ sign to define/access jQuery
  • A (selector) to "query (or find)" HTML elements
  • A jQuery action() to be performed on the element(s)
  • $는 JQuery에 대한 선언/접근을 위한 신호이다.
  • (선택자)는 HTML요소를 조회(찾기)위한것이다.
  • JQuery Action()은 요소에 대한 실행이 될것이다.

Examples():

$(this).hide() - hides the current element.(현재 요소를 숨김)

$("p").hide() - hides all <p> elements.(모든 P요소를 숨김)

$(".test").hide() - hides all elements with class="test".(클래스가 "test"인 모든 요소를 숨김)

$("#test").hide() - hides the element with id="test".(id가 "test"인 요소를 숨김)

Note

Are you familiar with CSS selectors?(CSS 선택자와 유사하다 생각되지 않는가?)

jQuery uses CSS syntax to select elements. You will learn more about the selector syntax in the next chapter of this tutorial.

JQuery는 요소 선택에 CSS 문법을 사용한다. 튜토리얼의 다음장에서 선택자의 문법에 대해서 배우게 될것이다.


The Document Ready Event(문서 준비됨 이벤트)

You might have noticed that all jQuery methods in our examples, are inside a document ready event:

당신은 우리 예제들의 모든 JQuery메소드들이 document ready 이벤트 내부에 있는것을 볼수 있다.

$(document).ready(function(){

   // jQuery methods go here...

});

This is to prevent any jQuery code from running before the document is finished loading (is ready).

이것은 어떤 JQuery코드가 문서의 로딩이 끝나기(준비되기전) 전에 실행되는것을 피한다.

It is good practice to wait for the document to be fully loaded and ready before working with it. This also allows you to have your JavaScript code before the body of your document, in the head section.

문서가 완전히 로드될떄까지 기다렸다가 무언가 작업을 하는것이 좋다. 이것은 또한 당신의 자바스크립트 코드가 문서의 바디전 헤드부분에 있을수 있게 허용한다.

Here are some examples of actions that can fail if methods are run before the document is fully loaded:

아래에 문서가 완전히 로드되기전에 메소드가 실행될경우 실패하게 되는 액션의 예들이 있다 :

  • Trying to hide an element that is not created yet
  • Trying to get the size of an image that is not loaded yet
  • 아직 만들어지지 않은 요소를 숨기려고 시도할경우
  • 아직 로드되지 않은 이미지의 크기를 조회할경우

Tip: The jQuery team has also created an even shorter method for the document ready event:

JQuery팀은 문서 준비됨 이벤트를 위한 더짧은 생성됨 이벤트를 만들어 두었다.

$(function(){

   // jQuery methods go here...

});

Use the syntax you prefer. We think that the document ready event is easier to understand when reading the code.

당신의 마음에 드는 문법을 사용해라. 우리가 생각하기에 문서 준비됨 이벤트를 사용하는게 코드를 읽을때 더이해하기 쉬운것같다.

'JQuery' 카테고리의 다른 글

jQuery Event Methods(JQuery 이벤트 메소드들)  (2) 2016.03.14
jQuery Selectors(JQuery선택자)  (0) 2016.03.14
JQuery 시작하기  (0) 2016.03.11
JQuery 소개  (0) 2016.03.11
posted by 래머
2016. 3. 11. 12:28 JQuery

jQuery Get Started(JQuery 시작하기)


Adding jQuery to Your Web Pages(JQuery를 당신의 웹사이트에추가하기)

There are several ways to start using jQuery on your web site. You can:

당신의 웹사이트에서 JQuery를 사용하기위한 다음의 몇가지 방법들이 있다:

  • Download the jQuery library from jQuery.com(JQuery.com으로부터 JQuery라이브러리 다운로드하기)
  • Include jQuery from a CDN, like Google(구글의 CDN 같은곳을 통해 JQuery를 포함시키기)

Downloading jQuery(JQuery다운로드하기)

There are two versions of jQuery available for downloading:

다운로드 가능한 두가지 버전의 JQuery라이브러리가 있다:

  • Production version - this is for your live website because it has been minified and compressed
  • 상용버전 - 이버전은 축소되고 압축되었기 때문에 당신의 라이브 웹사이트를 위한것이다.
  • Development version - this is for testing and development (uncompressed and readable code)
  • 개발버전 - 이것은 테스트 및 개발을 위한 버전이다(압축되지 않았고 읽기 가능한 코드이다)

Both versions can be downloaded from jQuery.com.

두 버전들은 JQuery.com으로부터 다운로드 할 수 있다.

The jQuery library is a single JavaScript file, and you reference it with the HTML <script> tag (notice that the <script> tag should be inside the <head> section):

JQuery라이브러리는 단일의 자바스크립트 파일이며, HTML <script> 태그를 통해서 참조할 수 있다(주의할것은 <script>태그는 <head> 섹션내부에 포함되어야 할것이다)

<head>
<script src="jquery-1.12.0.min.js"></script>
</head>

Tip: Place the downloaded file in the same directory as the pages where you wish to use it.

팁 : 당신이 사용할 장소와 같은 디렉토리에 다운로드될 파일을 위치시켜라

Note

Do you wonder why we do not have type="text/javascript" inside the <script> tag?
type="text/javascript"속성을 <script>태그 내부에 가지고 있지 않은지 놀랍지 않은가?


This is not required in HTML5. JavaScript is the default scripting language in HTML5 and in all modern browsers!

이것은 HTML5에서 요구되지 않기 때문이다. 자바스크립트는 HTML5와 현대의 모든 브라우저들에서 기본스크립트 언어이다.


jQuery CDN

If you don't want to download and host jQuery yourself, you can include it from a CDN (Content Delivery Network).

Both Google and Microsoft host jQuery.

만일 자체적으로 JQuery를 호스트하는 형태로 다운로드되기를 원하지 않는다면, 그것을 구글이나 마이크로소프트가 호스트하는 JQuery의 CDN으로 부터 포함시킬 수 있다.


To use jQuery from Google or Microsoft, use one of the following:

구글이나 마이크로소프트로부터 JQuery를 이용하기위해 다음의 하나를 사용한다:

Google CDN:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
Try it yourself »

Microsoft CDN:

<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.0.min.js"></script>
</head>
Try it yourself »
Note

One big advantage of using the hosted jQuery from Google or Microsoft:
구글 또는 마이크로소프트의 호스트를 이용하는것에 대한 하나의 큰 장점:

Many users already have downloaded jQuery from Google or Microsoft when visiting another site. As a result, it will be loaded from cache when they visit your site, which leads to faster loading time. Also, most CDN's will make sure that once a user requests a file from it, it will be served from the server closest to them, which also leads to faster loading time.
많은 사용자들은 다른 하나의 사이트를 방문할때 구글이나 마이크로소프트로부터 다운로드된 JQuery를 이미 가지고 있게된다. 결과적으로, 그들이 당신의 사이트를 방문할때 그것은 캐시로부터 로드되고, 

이것은 로딩 시간을 빠르게한다. 또한, 대부분의 CDN들은 일단 유저들로부터 파일이 요청되면, 그들로부터 가장가까운 서버로 부터 그것을 제공할것이고, 이것은 로딩시간을 빠르게 하게된다.


'JQuery' 카테고리의 다른 글

jQuery Event Methods(JQuery 이벤트 메소드들)  (2) 2016.03.14
jQuery Selectors(JQuery선택자)  (0) 2016.03.14
jQuery Syntax(Jquery 문법)  (0) 2016.03.14
JQuery 소개  (0) 2016.03.11
posted by 래머
2016. 3. 11. 12:06 JQuery



JQuery Introduction(JQuery소개)


The purpose of jQuery is to make it much easier to use JavaScript on your website.

JQuery의 목적은 당신의 웹사이트에서 자바스크립트를 매우 쉽게 사용하도록 만드는것이다.


What You Should Already Know(당신은 먼저 어떤것들에 대해서 알아야 하는가?)

Before you start studying jQuery, you should have a basic knowledge of:

JQuery를 배우기전에, 당신은 다음에 대한 기본지식이 필요할것이다.

  • HTML
  • CSS
  • JavaScript

-HTML

-CSS

-JavaScript


If you want to study these subjects first, find the tutorials on our Home page.

만일 당신이 이 주제들을 먼저 배우기 원한다면 우리의 웹사이트에서 튜토리얼을찾을 수 있다.


What is jQuery?(JQuery는 무엇인가?)

jQuery is a lightweight, "write less, do more", JavaScript library.

JQuery는 가볍고, "적게 쓰고, 많은것을 하는" 자바스크립트 라이브러리다.


The purpose of jQuery is to make it much easier to use JavaScript on your website.

Jqeury의 목적은 당신의 웹사이트에서 자비스크립트 사용을 쉽게 만드는 것이다.


jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code.

JQuery는 구현을 위해 매우 많은 자바스크립트 코드 라인을 요구하는 공통적인 작업을 처리하며, 이러한 방법들을 단일라인의 코드호출로 수행할 수 있게 감싸고 있다.


jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.

JQuery는 또한 ASAX나 DOM조작과 같이 자바스크립트에 매우 복잡하게 얽힌것들을 단순화 시킨다.


The jQuery library contains the following features:

JQuery라이브러리는 다음의 기능들을 담고 있다:

  • HTML/DOM manipulation(HTML/DOM 조작)
  • CSS manipulation(CSS 조작)
  • HTML event methods(HTML 이벤트 메소드들)
  • Effects and animations(이팩트와 애니메이션들)
  • AJAX
  • Utilities(유틸리티들)

Tip: In addition, jQuery has plugins for almost any task out there.

추가적으로, JQuery는 그것 외에 임의의 작업을 위한 거의 모든 플러그인들을 가지고 있다.


Why jQuery?(왜 JQuery인가?)

There are lots of other JavaScript frameworks out there, but jQuery seems to be the most popular, and also the most extendable.

세상에는 수많은 자바스크립트 프레임워크들이 있다, 그러나 JQuery는 가장 대중적이며, 가장 확장성있는것으로 보여진다.


Many of the biggest companies on the Web use jQuery, such as:

다음과 같은 많은 거대 회사들이 웹사이트에서 JQuery를 사용하고 있다:

  • Google
  • Microsoft
  • IBM
  • Netflix
Note

Will jQuery work in all browsers?(JQuery는 모든 브러우저들에서 작동하는가?)

The jQuery team knows all about cross-browser issues, and they have written this knowledge into the jQuery library. jQuery will run exactly the same in all major browsers, including Internet Explorer 6!
JQuery팀은 크로스 브라우저 이슈들에 대한 모든것들을 알 고 있고, 이러한 지식들은 JQuery라이브러리에 쓰여졌다. JQuery는 인터넷 익스플러러 6를 포함하여 모든 메이저 브라우저들에서 완벽히 동일하게 실행될것이다!


'JQuery' 카테고리의 다른 글

jQuery Event Methods(JQuery 이벤트 메소드들)  (2) 2016.03.14
jQuery Selectors(JQuery선택자)  (0) 2016.03.14
jQuery Syntax(Jquery 문법)  (0) 2016.03.14
JQuery 시작하기  (0) 2016.03.11
posted by 래머
2016. 1. 7. 23:20 포트폴리오

모바일 게임 골드스푼메이커입니다.

유니티5 버전으로 제작했으며, 현재도 서비스중입니다.


원래 구글, 애플, 네이버등에도 서비스 했지만 현재는 앱스토어, 원스토어에만 출시된상태입니다.


서버없는 게임이며, 쿠폰사용 기능과 관련해서 JSP기반 웹서버를 이용중입니다.


전체 프로그램 파트를 맡았습니다.


아래는 WEBGL버전으로 컨버팅한것입니다.

아무것도 표시되지 않는다면 브라우저에 의해서  클라이언트가 차단된경우일 수 있습니다.
안전하지 않은 스크립트소스 로드 허용하시면 플레이 가능합니다.


애플 스토어에서 다운로드

원스토어에서 다운로드





'포트폴리오' 카테고리의 다른 글

버스터마스터 for Kakao입니다.  (0) 2016.12.29
소셜카지노 게임  (0) 2016.12.29
던전워즈 게임소개입니다,  (0) 2015.10.15
플랫폼 게임 프레임웍  (0) 2015.07.06
몬스터 질들이기, 몬스터 vs 몬스터  (0) 2015.06.19
posted by 래머
2015. 12. 21. 13:11 아두이노

일단 아래 소스를 다운로드 해주세요. 라이브러리 없이 밸런싱 로봇 소스만 포함한 소스입니다. pid쪽으로 약간의 수정이 된 버전입니다.


아두이노스케치용소스.zip



가장처음으로 모터드라이버와 아두이노의 회로배선상태되도 소스를 수정합니다.

아래 사진에 보이는 부분입니다.



두번째는 센서와 차체의 방향에 따라서 각도를 읽어 오는 부분을 수정합니다. 바퀴축과 나란한 축이 X축이면 아래와 같이 m_Gyro.GetKalAngleX()를통해서 x축 각도를 읽도록하고 Y축이라면 m_Gyro.GetKalAngleY()를 통해서 Y축각도를 읽도록 합니다.



소스를 업로드 하고 밸런싱로봇 작동상태를 확인합니다.

만일 바퀴가 움직이지 않으면, 아두이노와 모터드라이버의 핀연결 상태가 소스에서 설정한 핀과 일치하는지 확인합니다.

배선상태와 핀설정이 일치한다면, 테스터기 같은것으로 모터드라이버의 출력측을 측정해서 출력이 있는지 확인합니다. 출력이 있고, 차체의 기울어짐에 따라서 출력전압 극성에 변동이 있다면 일단 소스와 회로 구성은 올바르지만, 모터를 구동시킬만큼 출력전류가 충분하지 않아서 그러것입니다.

이때는 아래소스에 보이는 것처럼 PID_SCALE을 높여 보시기 바랍니다. 모터가 움직일때까지 해당값을 조금씩 높여가면서 테스트 해봅니다.

저부분은 원래 소스에는 없던 부분입니다. 새로 추가한 부분인데,


소스상에도 설명되어 있지만, 제공된 소스는 제가 만든 밸런싱 로봇에 맞게 PID설정이 되어 있습니다. 밸런싱로봇의 무게나, 무게중심, 모터특성등에 따라서 적절한 PID값을 조정해야 합니다. 최적의 PID값을 찾아내지 못하면 밸런싱 로봇의 중심잡기는 실패 하게 됩니다.

PID_SCALE조정으로 바퀴가 움직이고, 기울어짐에 따라 회전 방향이 정상적으로 바뀐다면 30%정도는 성공한것입니다.

만일 기울어진 방향과 반대 방향으로 모터가 움직인다면 반대로 움직이는 쪽 부분만 http://eltgroup.tistory.com/299 글을 참고해서 코드를 수정합니다


이제남은 일은 최적의 PID값을 찾는 일입니다. 밸런싱로봇을만들때 가장 힘든부분입니다. 운이좋아 PID_SCALE값 조정만으로 밸런스가 유지된다면 따로 PID값 조정할 필요는 없습니다.



위소스에 보이는것처럼, PID_KP, PID_KI, PID_KD 값을 자신의 차체에 맞는 값으로 찾아서 수정해야 합니다.

동역학이론을 동원해서 실험과 특성을 추출해서 계산해내지 않는이상은, 3가지 값을 조금씩 바꿔가면서 차체가 밸런스를 잡을때까지 무한 수정 노가다를 할 수 밖에 없습니다.


'아두이노' 카테고리의 다른 글

Node mcu 와이파이 속도 테스트  (0) 2017.11.26
nodemcu v3 핀맵  (0) 2017.11.12
밸런싱로놋 mpu6050 센서방향  (0) 2015.12.19
MPU6050 자이로 가속도 센서  (0) 2015.07.25
DHT11 온습도 센서  (0) 2015.05.25
posted by 래머
2015. 12. 19. 21:58 아두이노



위사진에 보이는것처럼 센서의 y축이 차체의 바퀴와 나란히 배치되어 있습니다.

센서의 Y각도를 추출해서 밸런싱에 이용하고 있습니다.

아래는 올리신 사진인데, 사진이 흐려 자세히 보이지는 않지만 센서의 x축이 바퀴축과 나란한것 같습니다.




위사진에 보면 mpu6050의 int핀에 선이 연결되어 있는것 같습니다. 해당 핀에 LOW, HIGH신호를 가하는것에 따라서 mpu6050 i2c통신 주소가 달라집니다.

일단 소스코드상에서는 해당 핀에 아무것도 연결하지 않은 상태의 주소로 설정되어 있으니, 해당 핀에 연결된 선은 빼주시기 바랍니다.


그리고 소스코드상에서는y축의 각도 변화를 추출하는데, 위의 차체에서는 차체가 기울더라도 x축을 중심으로 기울기에 변화가 있기 때문에, 올바르지 않게 작동하게 될겁니다.


두가지 방법이 있는데, 한가지는 첫번째사진과 같이 축을 일치 시켜주는 방법이고, 다른 방법은 소스코드상에서

Y축 기울기를 측정하는 부분을 x축 기울기 측정으로 바꾸는 겁니다. 두번째가 더간단할거 같네요.

기울기를 측정하는 부분은 소스코드상에서 아래부분과 같습니다. 

CSelfBlancer.h 파일의 내부에 보시면 Update() 함수가 있습니다.

붉은원으로 표시해놓은 부분에 보시면 원래는 저부분이

m_Gyro.GetKalAngleY() 라고 되어 있습니다. 이것을 아래 그림에 나온것처럼 m_Gyro.GetKalAngleX()라고 바꿔주시면됩니다.



위와같이 수정하시고, 업로드 하신다음에 정상적이라면 바퀴축을 기준으로 차체를 기울일경우 기울인방향으로 모터가 회전해야 합니다.

만일 기울인 반대 방향으로 모터가 회전한다면, 정방향/역방향이 바뀐경우이니

그때는 단순하게 모터드라이버에 연결된 선을 서로 바꿔서 연결하거나 아니면 아래와 같이 소스코드 부분을 수정하시면됩니다.

역시 같은 소스인 CSelfBlancer.h 파일을 열어서

아래 사진에 표시 해놓은 부분을 수정하시면 되는데

g_Motor.Backward 부분과 g_Motor.Forward 부분을 서로 바꿔주시면 됩니다.


그러니까 아래 그림의 UpdateLeft함수와 UpdateRight함수 내부에 보시면 


g_Motor.Backward 부분과 g_Motor.Forward가 있는데

g_Motor.Backward(true, (uint8_t)(-fControl)); 를 g_Motor.Forward(true, (uint8_t)(-fControl)); 로바꾸고

g_Motor.Forward(true, (uint8_t)fControl); 는 g_Motor.Backward(true, (uint8_t)fControl); 처럼


Backward와 Forward를 서로 바꾸면 됩니다.







'아두이노' 카테고리의 다른 글

nodemcu v3 핀맵  (0) 2017.11.12
밸런싱로봇 종합사항  (3) 2015.12.21
MPU6050 자이로 가속도 센서  (0) 2015.07.25
DHT11 온습도 센서  (0) 2015.05.25
아두이노 visual studio 연동  (0) 2015.05.16
posted by 래머