전체 글 88

[UIKit] updateInteractiveMovementTargetPosition 개발문서 번역

updateInteractiveMovementTargetPosition(_:) 컬렉션 뷰의 범위 내에 있는 항목의 위치를 업데이트한다. Declaration func updateInteractiveMovementTargetPosition(_ targetPosition: CGPoint) Parameters targetPosition 컬렉션 뷰의 좌표계 안에서 아이템의 포지션 *"컬렉션 뷰의 좌표계 안" 이라는 키워드가 중요해 보인다. Discussion 아이템(컬렉션 뷰 셀)을 대화식(interactively)으로 이동할 때, 아이템의 새 포지션을 컬렉션 뷰에 제공하기 위해 이 메소드를 사용해야 한다. 아이템과 유저의 상호작용을 추적하기 위해 gesture recognizer를 사용할 때, 매번 이 메소드..

[UIKit] beginInteractiveMovementForItem 개발문서 번역

beginInteractiveMovementForItem(at:) 특정 indexPath에서 아이템의 상호 이동(interactive movement)을 시작하다. Declaration func beginInteractiveMovementForItem(at indexPath: IndexPath) -> Bool Parameters indexPath 이동할 아이템의 indexPath Return Value 아이템을 이동할 수 있으면 true, 아이템을 이동하는 것이 허락되지 않았다면 false Discussion 아이템(collection view cell)의 현재 위치에서 같은 콜렉션 뷰 내부의 새로운 위치로 상호 이동(interactvie movement)을 시작하기를 원한다면 이 메소드를 호출 해야한다..

[UIKit] UIEvent Documentation, UIEvent 개발문서 번역

UIEvent 앱과 단일 사용자의 인터랙션(상호작용)을 묘사(설명? describes)하는 객체 Declaration class UIEvent : NSObject Overview 앱은 터치 이벤트, 모션 이벤트, 원격 제어 이벤트(remote-control), 그리고 프레스 이벤트(press) 등 다양한 유형의 이벤트를 수신할 수 있다. 터치 이벤트는 가장 일반적인 이벤트로, 처음 터치가 발생한 뷰로 전달이 된다. 모션 이벤트는 UIKit 에서 트리거된 모션 이벤트 이고, 코어 모션 프레임워크에서 리포트된 모션 이벤트와는 별개의 이벤트이다. 원격 제어 이벤트를 통해 리스폰드의 객체가 외부 액세서리 또는 헤드셋에서 명령을 수신하여 오디오 및 비디오를 관리할 수 있다. - 예를 들어, 비디오를 재생하거나 다..

[UIKit] UITouch Documentation, UITouch 개발문서 번역

매번 볼때마다 다르게 해석되는 것 같아서.. 중요한 개발문서는 좀 내 입맛에 맞게 번역해서 남겨보자는 취지로 시작. UITouch 화면에서 발생하는 터치의 위치, 크기, 이동 및 세기를 나타내는 오브젝트이다. Declaration class UITouch : NSObject Overview 당신은 이벤트 핸들링을 위한 리스폰더 오브젝트로 전해진 UIEvent를 통해서 터치 오브젝트에 접근할 수 있다, 터치 오브젝트에는 다음과 같은 접근자(accessors)*들이 포함된다. *accessors를 통해 어떤 클래스의 프로퍼티에 대해 접근할 수 있다. 같이 언급되는 쓰이는 용어로는 mutator(변경자)가 있다. 터치가 발생한 뷰나 윈도우 뷰나 윈도우 내부에서 발생한 터치 위치 터치의 반경(radius)에 대..

[백준] 2252번 줄 세우기 파이썬 해설

출처 : https://www.acmicpc.net/problem/2252 입사 후 교육을 받는 기간이라 주말에 간간히 한 두 문제 정도 풀 수 있다..ㅜ 심지어 회사와 관련된 내용과 지식은 보안상 조심해야 한다고 하기 때문에 퇴사 전 까지는 알고리즘 문제 풀이 정도나 올릴 것 같다. 오늘은 동기들을 통해 추천받은 "위상 정렬" 알고리즘 문제를 풀어봤다. 정답률도 높고, 정답의 범위도 넓기 때문에 푸는데 조금 수월했던 것 같다. 풀이 위상정렬의 개념에 대해서 공부하기 좋은 기본 문제라고 생각한다. a, b를 입력받을 때 a가 b를 참조한다고 생각하고, 참조 횟수가 0인 정점부터 위상 정렬을 수행하면 쉽게 문제를 풀 수 있다. 다만 참조 횟수가 0인 정점에 대해 정렬을 수행하고 나서 해당 정점이 참조하던 ..

[백준] 4949번 균형잡힌 세상 파이썬 해설

출처 : https://www.acmicpc.net/problem/4949 입사 후 교육을 받는 기간이라 주말에 간간히 한 두 문제 정도 풀 수 있다..ㅜ 심지어 회사와 관련된 내용과 지식은 보안상 조심해야 한다고 하기 때문에 퇴사 전 까지는 알고리즘 문제 풀이 정도나 올릴 것 같다. 오늘은 오랜만에 알고리즘 문제를 풀었기 때문에 다소 쉬운 문제를 선택했다. 문자열을 다루는 문제이며 괄호 찾기와 매우 유사한 문제이기 때문에 자료구조 stack을 이용하면 쉽게 풀 수 있다. 풀이 문제를 정독하고 간단하게 알고리즘을 설계한 뒤 그대로 코드로 구현하였다. 1. 입력을 받는다. 2. 좌측 괄호('(', '[')인지 검사한다. 만약 좌측 괄호라면 스택에 넣어준다. 3. 우측 괄호인지(')', ']') 검사한다. ..

[Java] 7. 자바의 배열과 정렬

자바의 배열 사용법과 배열의 정렬에 대해 간단히 정리하는 내용이다. 자바의 배열 선언 자바에서 배열을 선언할 때 사용하는 방법은 몇 가지 있는데 그중 가장 기초적인 문법을 예시로 사용하였다. int size = 10; //int [] arr = new int[size]; int [] arr = new int[] {3, 5, 7, 1, 2, 4, 6, 9, 0, 8}; for(int i = 0; i < size; i++){ System.out.print(arr[i] + " "); } System.out.println(); 위에서 사용한 방법은 직접 배열의 원소를 초기화하면서 선언하는 방법이다. 주석 처리된 줄을 사용하여 빈 배열을 선언할 수 있다. C언어에서 배열을 사용할 때와 문법은 거의 비슷하지만 ma..

[Java] 6. 자바의 함수(메소드)와 오버로딩

이번 글은 자바의 함수에 대한 내용이다. C언어에서는 불가능했던 오버로딩에 대한 개념도 같이 정리해봤다. 자바의 함수 정의 함수를 정의할때 보통 리턴 값의 자료형, 함수의 이름, 매개변수, 함수의 내용, 그리고 리턴 값이 정의된다. 물론 매개변수나 리턴 값이 없는 함수도 존재한다. public static int new_func_2(int a, int b) { System.out.println("This is new_func_2"); System.out.println("return a + b"); return a + b; } 간단한 덧셈 함수를 정의하는 예시이다. 코드 내부의 public과 static의 의미는 클래스를 공부하면서 따로 정리할 예정이다. 추가적으로 리턴값과 매개변수가 없는 함수를 정의하고..

[Java] 5. 자바의 반복문

이 전 강의에서 조건문과 선택문을 배웠으니 반복문만 배운다면 아주 간단한 프로그램 만들기를 시작할 수 있다. 자바의 반복문 문법은 C언어의 반복문 문법과 다를 바 없다. for문 c언어의 문법과 동일하다. for(시작 조건 ; 실행 조건 ; 증감식) 형태로 시작 조건은 한번 실행되고, 실행 조건과 증감식은 매 반복문마다 수행하게 된다. 한 가지 특징은 c언어와 다르게 시작 조건에서 변수를 선언할 수 있다. (C++의 특징과 동일하다.) 실행 조건에는 boolean 자료형만 입력 가능하다. //간단한 반복문 //for(시작조건 ; 실행조건 ; 증감식) for(int i = 1; i

[Java] 4. 자바의 조건문과 선택문

이번 글은 아주 짧을 예정이다. 자바의 조건문과 선택문에 대해 공부를 했다. C언어의 문법과 상당히 유사하기 때문에 어려운 부분도 없었고, 자바라고 특별한 부분이 존재하는 것도 아니었다. 짧은 예시 코드를 통해 조건문(if)과 선택문(switch)의 사용법에 대해 정리해봤다. package project; public class Main { public static void main(String[] args) { //간단한 조건문 예제 int a = 10; if(a > 5){ System.out.println("a의 값은 5보다 큰 값으로 초기화 되었습니다."); } else if(a == 10){ System.out.println("a의 값은 10으로 초기화 되었습니다."); } else { Syste..