전체 글282 [iOS] UIStackView UIStackView 오토 레이아웃을 이용해 열 또는 행에 View들의 묶음을 배치할 수 있는 간소화 된 인터페이스 UIStackView 안에 들어있는 View들을 arrangedSubViews라고 한다. 이 subView들은 일정한 규칙에 따라 StackView 안에서 배치된다. 이러한 규칙에는 크게 4가지(axis, alignment, distribution, spacing)가 있다. 이는 스토리보드에 StackView를 생성하고 나면 인스펙터에서 다음과 같이 확인할 수 있다. axis : StackView의 가로, 세로 형태를 설정한다. alignment : StackView안 view들의 Y축 정렬을 설정한다. distribution : StackView안 view들의 X축 정렬을 설정한다. sp.. 2021. 12. 5. [Network] 06. 전송 계층 : 신뢰할 수 있는 데이터 전송하기 전송 계층의 역할 네트워크 계층이 하는 역할이 있는 것처럼 전송 계층도 하는 역할이 있다. 전송 계층의 역할에 대해 알아보자. 전송 계층의 두 가지 역할 라우터의 라우팅 기능을 통해 데이터를 전송하더라도 목적지에 도착하지 못할 수도 있다. OSI 7계층 모델에서 전송 계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요하다. 전송 계층에는 오류를 점검하는 기능이 있다. 오류가 발생하면 데이터를 재전송하도록 요청한다. 또한 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능도 있다. 연결형 통신과 비연결형 통신 전송 계층의 특징은 신뢰성/정확성과 효율성이다. 신뢰성/정확성 : 데이터를 목적지에 문제없이 전달하는 것 (연결형 통신) 효율성 : 데이터를 빠르고 효율적으로 전달하는 것 (비연결형.. 2021. 12. 4. 3055. 탈출 (Swift, Python) 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 풀이 물이 차있는 지역과 고슴도치의 위치를 담기 위해 큐를 두 개 만들었다. 각각의 큐에는 좌표(x, y)와 시간(time) 정보가 들어간다. 처음에 입력을 받으면서 time이 0인 값으로 큐를 담아준다. 고슴도치의 위치에서 bfs 탐색을 하면서 시간 정보를 비교해준다. prev_time 변수를 하나 만들어서 이전의 시간을 담아두고 큐에서 값을 꺼낼때마다 둘을 비교해준다. 만약 둘의 값이 다르다면 물을 확장시키는 flood 함수를 호출한다. 물이 차 있는 지역을 담기 위한 .. 2021. 12. 4. [iOS] 다른 화면으로 데이터 전달하기 화면간 데이터 전달 방법에는 여러 가지 방법이 있다. 해당 포스팅에서는 프로퍼티에 직접 접근하는 방법, 액션 세그웨이를 이용한 화면 전환에서의 데이터 전달(prepare) 그리고 Delegate를 이용하여 이전 화면에 데이터를 전달하는 방법에 대해서 알아보자. [프로퍼티 직접 접근] 전달하고자 하는 데이터를 뷰 컨트롤러의 프로퍼티에 직접 접근해서 넘기는 방식이다. 아래 사진에서 Green View Controller에서 Blue View Controller에게 "Blue View Controller로 데이터 이동 완료"라는 String 형식의 데이터를 넘긴다고 생각해보자. 데이터 전송 버튼을 클릭하면 Blue View Controller로 화면이 전환 되고, 해당 데이터를 Blue View Control.. 2021. 12. 3. [iOS] iOS의 화면 전환 - Segueway를 사용한 화면 전환(3/3) 화면을 전환하는 4가지 방법 iOS의 화면 전환 방법에는 총 4가지가 있다. View Controller의 View 위에 다른 View로 바꿔치기 View Controller에서 다른 View Controller를 호출하여 전환하기 (present) - 링크 Navigation Controller를 사용하여 화면 전환하기 (push) - 링크 화면 전환용 객체 Segueway를 사용하기 다음으로 화면 전환용 객체인 Segueway를 사용하여 화면을 전환하는 방법에 대해서 알아보자. Segueway란 세그웨이(Segue)라고 불리는 객체는 스토리보드에서 뷰 컨트롤러 사이의 연결 관계 및 화면 전환을 관리하는 역할을 한다. 세그웨이는 화면과 화면을 연결하기 위해 아무런 소스 코드도 필요로 하지 않는다는 특징.. 2021. 12. 3. [iOS] iOS의 화면 전환 - Navigation Controller를 사용한 화면 전환 (2/3) 화면을 전환하는 4가지 방법 iOS의 화면 전환 방법에는 총 4가지가 있다. View Controller의 View 위에 다른 View로 바꿔치기 View Controller에서 다른 View Controller를 호출하여 전환하기 (present) - 링크 Navigation Controller를 사용하여 화면 전환하기 (push) 화면 전환용 객체 Segueway를 사용하기 - 링크 다음으로 Navigation Controller를 사용하여 화면을 전환하는 방법에 대해서 알아보자. Navigation Controller를 사용한 화면 전환(push) Navigation Controller를 사용하여 화면이 전환되는 방식이다. Navigation Stack을 사용하여 자식 View Controller를.. 2021. 12. 3. [iOS] iOS의 화면 전환 - View Controller 호출 전환 (1/3) 화면을 전환하는 4가지 방법 iOS의 화면 전환 방법에는 총 4가지가 있다. View Controller의 View 위에 다른 View로 바꿔치기 View Controller에서 다른 View Controller를 호출하여 전환하기 (present) Navigation Controller를 사용하여 화면 전환하기 (push) - 링크 화면 전환용 객체 Segueway를 사용하기 - 링크 첫 번째 방법은 메모리 누수 위험이 있어서 되도록이면 사용하지 않는 방식이다. 이를 제외한 나머지 방법들 중 먼저 View Controller에서 다른 View Controller를 호출하여 전환하는 방법에 대해서 살펴보자. View Controller에서 다른 View Controller를 호출하여 전환하기(presen.. 2021. 12. 3. 1068. 트리 (Swift, Python) 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 풀이 2차원 배열을 만들어 각 노드에 자신의 자식 노드 리스트를 담아둔다. 예를 들어 입력이 -1 0 0 1 1 과 같은 형태로 주어지면 0은 root 노드로 설정하고 1과 2는 부모 노드가 0이므로 배열의 [0]에 [1, 2]를 담는다. 3과 4는 부모 노드가 1이므로 배열의 [1]에 [3, 4]를 담는다. 그 후 root 노드부터 dfs 탐색을 시작한다. dfs로 노드를 탐색하면서 현재 노드에 자식 노드가 하나도 없을 경우 카운트를 증가시키고 탐색을 종.. 2021. 12. 2. [Network] 05. 네트워크 계층 : 목적지에 데이터 전달하기 네트워크 계층의 역할 네트워크 간의 연결 구조 서로 다른 네트워크에 있는 목적지로 데이터를 전달하려면 OSI 7계층에서 3 계층인 네트워크 계층의 기술이 필요하다. 즉, 네트워크 계층의 역할은 네트워크 간의 통신을 가능하게 하는 것이다. 이 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터(router)라는 네트워크 장비가 필요하다. 라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지를 알려 주는 기능을 한다. 하지만 데이터를 보내려는 상대가 어디에 있는지 모르면 라우터도 목적지까지의 경로를 알려주지 못한다. 그렇기 때문에 네트워크에서 데이터를 보내려면 목적지 주소가 반드시 있어야 한다. 이럴 때 사용하는 주소를 IP(Internet Protocol) 주소라고 한다. .. 2021. 12. 1. 이전 1 ··· 19 20 21 22 23 24 25 ··· 32 다음