반응형

지금까지 구글 번역기 싸이트만 알고 있었다. 구글 번역기 아래에 보이는 '번역사' 링크를 타고 들어가니 신세계.  링크는 다음과 같다 http://translate.google.com/toolkit/


뭔가 군더더기가 없다. 일단 '업로드' 버튼을 클릭해 본다. 




뭔가 파일을 업로드 하고, 소스언어와 타켓 언어를 설정하는 것이 보인다. 그리고 문서 파일 뿐만아니라, 웹페이지, 위키페이다 문서 그리고 YouTube 동영상 까지 번역 하는 것을 손 쉽게 도와 준다. 


업로드 형식을 보니 정말 다양한 형식을 지원한다. 아쉽게도 pages는 지원을 안한다. 업로그 가능한 파일은 다음과 같다. 


업로드 가능한 파일 형식:
문서 (최대 1MB)


업로드가 끝나면 다음 그림과 같은 '번역사' 메인 화면이 나타난다. 



번역 된 한글 구문을 클릭을 하면 아래와 같이 기계번역이 된 상태의 추가 도구가 나타난다. 



오른쪽 상단에 화살표 아이콘은 고정된 상자를 이동가능하게 만들어주고, X 버튼은 창을 닫는다. 

왼쪽 하단에는 문자의 개수를 보여주고, 메모를 할 수 있는 아이콘, html 테그를 추가 할 수 있는 아이콘, 반복되는 문구를 번역 할 수 있는 아이콘, 번역 내용을 지우는 아이콘, 기계 번역이 아니라 원본을 복사하는 아이콘, 이전 구문, 다음 구문으로 넘어 갈 수 있는 아이콘이 있다. 

Ray Wenderlich 번역은 중간 중간에 html 테그와 소스코드가 많이 들어가 있어서 기계 번역이 100% 도움이 되지는 않지만 영어 초보자인 나에게 복사 붙여 넣기로 구글 번역기를 왔다 갔다 하는 수고를 덜어준다. 그리고 번역 진행 상태도 보여줘서 정말 필요한 도구 인듯 하다. 

땡스 구글!

반응형
Posted by KraZYeom

댓글을 달아 주세요

반응형

원문 : Open Source Control For Easily Creating Swipe Gesture Responsive Animated UITableView Cells


Mailbox 앱과 같은 많은 앱 들이 테이블 뷰 셀에서 스와이프 제스처를 광범위하게 사용한다. 


Mailbox 앱에서 영감을 받고 Ali Karagoz가 만든 컨트롤이다. 스와이프의 정도에 따라서 커스텀 작업의 제어를 할 수 있는 스와이프 가능한 테이블 뷰 셀을 쉽게 설정 할 수 있다. 스와이프로 삭제는 기본 설정이다.


애니메이션은 스와이프에 기반하여 수행된다. 그리고 특정 스와이프가 수행 될 때 보여지는 색상 및 아이콘을 커스텀할 수 있다.


readme에서 가져온 스와이프로 셀을 삭제하는 모습의 실제 동작하는 애니메이션 이미지이다.



여기 Github에서 MCSwipetableViewCell을 찾을 수 있다.


스와이프 제스쳐에 반응하는 테이블 뷰 셀을 구현하는 쉬운 방법이다.


반응형
Posted by KraZYeom

댓글을 달아 주세요

반응형

원문 : Easy To Use Open Source iOS UI Control For Displaying Messages In The Status Bar


언젠가 스테이터스 바 영역에 커스텀 프로그래스 인디게이터를 만들수 있는 컨트롤을 언급 했었다.


여기 Attachments.me의 Kevin Gibbon이 만든 스테이터스 바에 쉽게 커스텀 메세지를 쉽게 생성할 수 있게 해주는 컨트롤이 있다. 


이 컨트롤의 좋은 점은 매우 사용하기 쉽고, 간단히 메세지만 제공해주면 된다. 그리고 경고를 위한 빨간색 모드 등 다양한 모드가 있다.


readme에서 가져온 작동하는 해당 컨트롤의 일부 이미지는 다음과 같다. 



여기 Github에서 KGStatusBar를 찾을 수 있다.


스테이터스 바 영역에서 메세지를 표시하기 위해 쉽게 사용할 수 있는 커스텀 UI이다.

반응형
Posted by KraZYeom

댓글을 달아 주세요

반응형

원문 : iOS Open Source: Custom Folding And Flipping Transitions 


MPFoldTransition는 접기(folding), 넘기기(flipping)를 포함하는 뷰 전환 효과의 모음을 제공하는 오픈 소스 프로젝트이다. 아래 스크린 샷은 전환 효과의 느낌을 보여준다. 


접는 방향(fold 또는 unfold), 모드 (normal 또는 cubic) 그리고 방향 (수직 또는 수평)을 포함한 사용자 정의 값이 몇 개가 있다.

MPFoldTransition은 Mark Pospesel이 만들었다.


MPFoldTransition 다운로드 받기

github에서 MPFoldTransition을 다운로드 받을 수 있다.


반응형
Posted by KraZYeom

댓글을 달아 주세요

반응형

원문 : Todo App with JavaScript 


사용자 계정 및 데잍를 유지하기 위하여 백엔드로 Parse를 사용하여 정통적인 백본 todo 애플리케이션만드는 방법을 배워보자. 

이 튜토리얼의 소스 코드 라운로드 링크: .zip | GitHub

자바스크립트 SDK를 사용하여 우리는 디바이스간에 사용자 인증 및 데이터 지속성으로 정통적인 백본 todo 애플리케이션을 확장할 수 있다. 우리의 SDK는 Backbone을 기반으로하기 때문에 Parse를 사용하여 이 애플리케이션을 확장하는 것은 쉬운 일이다. 

이 튜토리얼은 todo 애플리케이션 코드를 통해서 여러분을 안내 할 것이다. 여러분은 여기에서 실제 애플리케이션을 가지고 놀수 있다. 전체 애플리케이션은 간단한 정적인 파일로 구성되어 있다. 자바스크림트 앱에 대한 백엔드를 Parse가 처리해준다. 

종속관계

앱의 필수 요소:

  • Underscore
  • jQuery

Parse 자바스크립트 SDK는 Backbone을 포크(fork)해서 만들어졌고 다른 자바스크립트 라이브러리는 필요하지 않기 때문에 Backbone을 필요로하지 않는다. 여기서는 우리는   이 앱의 특정 요소를 위해서 jQuery와 Underscore를 사용한다. 그러나 원하는 다른 라이브러리를 선택할 수도 있다.

템플릿

우리는 모든 뷰를 위해서 Underscore 템플릿을 사용한다. index.html의 스크립트 블록에 직접 위치하고 있다. 예를 들면, 이 탬플릿은 하나의 todo 아이템을 위한 것이다. 

<script type="text/template"  id="item-template">
  <li class="<%= done ? 'completed' : '' %>">
    <div class="view">
      <input class="toggle" type="checkbox" <%= done ? 'checked="checked"' : '' %>>
      <label class="todo-content"><%= content %></label>
      <button class="todo-destroy"></button>
    </div>
    <input class="edit" value="<%= content %>">
  </li>
</script>

사용자 인증

우리는 전형적인 todo앱에 로그인을 허용하고 todo 아이템을 여러 디바이스에서 관리 할 수 있게 하는 사용자 인증을 확장했다. 다행이도 이 기능을 Parse를 통해서 충가하는 것은 쉽다. 

처음으로, 2개의 서브 뷰(LoginView와 ManageTodosView)를 관리하는 매인 뷰를 AppView 만든다. 기본적으로, 일반적인 todo 앱의 앞에 로그인 화면을 추가한다. 만약에 사용자가 로그인되어 있다면 어떤 뷰를 보여줄지 결정하는 것을 간단하게 테스트한다. 

if (Parse.User.current()) {
  new ManageTodosView();
} else {
  new LogInView();
}

로그인 뷰는 2개의 폼을 보여준다. 하나는 로그인이고 또 다른 하나는 새로운 계정을 위한 가입이다. 

<form class="login-form">
  <h2>Log In</h2>
  <div class="error" style="display:none"></div>
  <input type="text" id="login-username" placeholder="Username" />
  <input type="password" id="login-password" placeholder="Password" />
  <button>Log In</button>
</form>
<form class="signup-form">
  <h2>Sign Up</h2>
  <div class="error" style="display:none"></div>
  <input type="text" id="signup-username" placeholder="Username" />
  <input type="password" id="signup-password" placeholder="Create a Password" />
  <button>Sign Up</button>
</form>

뷰는 각각 유저의 로그인과 가입 폼의 서브밋 이벤트에 바인딩된다.  로그인 코드는 다음과 같다. 

Parse.User.logIn(username, password, {
  success: function(user) {
    new ManageTodosView();
    self.undelegateEvents();
    delete self;
  },
  error: function(user, error) {
    self.$(".login-form .error").html("Invalid username or password. Please try again.").show();
    this.$(".login-form button").removeAttr("disabled");
  }
});

일단 유저가 로그인 되면, Parse SDK는 자동적으로 세션을 유지하는 처리를 한다. 그래서 Parse.User.current()는 항상 로그인 된 사용자의 인스턴스가 될 것이다. 로그인 후에는 즉시 ManageTodosView를 보여준다.

가입 코드는 다음과 비슷하다. 

Parse.User.signUp(username, password, { ACL: new Parse.ACL() }, {
  success: function(user) {
    new ManageTodosView();
    self.undelegateEvents();
    delete self;
  },
  error: function(user, error) {
    self.$(".signup-form .error").html(error.message).show();
    this.$(".signup-form button").removeAttr("disabled");
  }
});

필드로부터 가져온 사용자이름과 비밀번호으로 사용자 계정을 생성한다. 또한 사용자에게 빈 ACL을 적용한다. 이작업은 만약 로그인 한 사용자가 아닌경우 User 클래스로 부터 데이터를 읽는 것을 방지한다. 

두 개의 뷰에서, 콜백시 div에 오류 메세지를 표시하여 오류를 처리한다. 

Todo 아이템 유지하기

애플리케이션의 대부분은 원조 Backbone.js todo 앱과 매우 유사하다. Backbone 모델과 콜렉션을 사용하여 todo 아이템을 표시하는 방법의 의미를 얻기 위해서 원조 주석이 달린 소스코드 살펴 볼 수 있다. 

적용할 주요 변경사항은 Backbone 클래스 대신에 Parse 클래스로 교체하는 것이. 다음과 같다. 

var Todo = Parse.Object.extend("Todo", {
  // ...
});
var TodoList = Parse.Collection.extend({
  // ...
});

이것은 자동적으로 Todo 모델의 자신을 원조 앱의 로컬 스토리지 대신에 Parse 플랫폼에 유지하는 것을 만들어 준다. 여기서 기존 Backbone 앱을 Parse로 변환하는 것에 대해서 더 살펴 볼 수 있다.

여기, 사용자가 소유하고 있는 모든 todo 아이템을 얻고 TodoList인스턴스를 위한 query로 설정하기 위해서 Parse.Query를 구축한다. 

// Todo의 콜랙션 생성
this.todos = new TodoList;
 
// 현재 사용자에서 todo을 살펴보기 위해 콜랙션에 대한 쿼리 설정
this.todos.query = new Parse.Query(Todo);
this.todos.query.equalTo("user", Parse.User.current());
 
// ...
 
// Parse로 부터 이 유저에 대한 모든 todo 아이템 가져오기
this.todos.fetch();

이것이 전부이다. 이제 todo 아이템을 저장, 삭제 또는 생성할 수 있다. 이 값들의 상태는 Parse에 지속된다. 

반응형
Posted by KraZYeom

댓글을 달아 주세요