본문 바로가기

전체 글

(67)
iOS) 레이아웃(1) - 인터페이스 빌더 1. 씬의 변화 씬이 변화되는 경우 기기의 회전 다른 화면 크기/배율의 기기에서 동작 동적인 씬 레이아웃 변화 기기의 회전 시뮬레이터 -> 하드웨어 -> 로테이트 메뉴 에서 기기를 회전시킬 수 있다. 프로젝트 내 회전 방향을 설정하여 해당 방향으로 회전됐을 때 화면이 자동으로 돌아가게 할 수 있다. 프레임 기반의 레이아웃 뷰의 프레임은 뷰의 좌표(x,y), 뷰의 크기(width, height)로 나타낸다. 이는 씬의 변화에 관계없이 고정된 값이다. 따라서 씬에 변화가 발생했을 때 적절히 대처하지 못한다. 2. 제약조건 기반의 레이아웃 제약조건은 뷰의 위치와 크기에 대한 제약조건이다. 동적으로 해석되서 프레임에 반영된다. 씬에 변화가 발생했을 때 제약조건에 의해 다시 새로운 좌표와 크기를 잡아서 적용된다...
iOS) Scene(4) - 코드로 뷰 제어 코드로 뷰 제어 뷰 구조 생성 이후 뷰 제어하기 앱 동작 중 컨텐츠 변경 런타임 시 뷰 구조 변경 코드로 작성한 뷰 제어 class Viewcontroller: UIViewController { var redView: UIView! override func viewDidAppear(animated: Bool) { redView.backgroundColor = UIColor.gray } override func viewDidLoad() { redView = UIView(frame: frame) self.view.addSubview(redView) } } 뷰의 태그로 접근 각 뷰마다 tag라는 프로퍼티가 있는데 이는 일종의 일련번호이다. 이 태그로 접근할 수 있다. 기본값은 0이므로 태그를 사용하기 위해서는..
분산시스템) 코드 마이그레이션 Code migration 더 크게 보면 process migration으로 볼 수 있다. 실행 중인 프로그램을 한 컴퓨터에서 다른 컴퓨터로 이동시키는 것이 좋을 때가 있다. 그때 이동을 어떤식으로 하는 것이 좋을까. 1. Reasons for migrating code Performance improvement 어떤 서버 프로세스가 어떤 머신에서 돌고 있었는데 해당 머신이 로드가 많이 걸린다고 가정해보자. 부하가 별로 없는 서버가 있다면 돌고 있는 프로세스를 해당 서버로 이동시키면 성능이 향상될 것이다. 분산 시스템에서 주로 성능 저하 문제가 발생하는 이유는 컴퓨팅 성능보다 통신 문제가 더 많다. 예를 들어 거대한 DB를 다루는 서버가 있다고 가정해보자. 디비 query를 요청하는 부분을 client에..
분산시스템) 서버 클러스터 Server clusters 서버들이 여러개가 있어서 클러스터로 구성되어 있는 것이다. 물리적으로 서버 랙같은 것이 있어서 판처럼 생긴 컴퓨터를 수평을 꽂고 초코속 로컬 랜으로 연결하여 구성해놓은 것이 서버 클러스터이다. 구성 First tier client로부터 요청을 받아들여서 전달해주는 스위치 역할을 해준다. 클라이언트의 요청을 다 받는 front역할을 한다. 클라이언트의 요청을 적절히 분배해주는 라우팅 역할을 한다. Second tier Second tier의 서버가 애플리케이션 서버로 클라이언트의 요청을 직접 처리하는 역할을 한다. Third tier 데이터베이스 서버라 생각하면 된다. Multiple services 서버 클러스터를 구성할 때 하나의 서비스보다 여러 서비스를 제공하는 경우가 많..
tistory) 스킨 커스터마이징 티스토리 커스터마이징 티스토리를 커스터마이징 하기 위해서는 관리자 모드 > 스킨 편집 > html 편집 > css 으로 들어가야 한다. 글을 직접 보면서 편집하는 것이 편하므로 좌측 상단의 홈 버튼을 눌러서 글로 변경해주면 된다. 실시간으로 변경사항을 확인하기 위해서는 코드쪽 우측 상단의 적용을 누른 후 화면쪽 우측 상단에 있는 새로고침을 눌러준다. 코드를 먼저 적용해야지 변경사항이 적용된다. 그 다음 화면에서 오른쪽 버튼 > 검사를 눌러 글이 들어가는 클래스명이 무엇인지 확인해야 한다. 검사를 눌렀을 때 나오는 화면에서 화살표 표시같은 것을 누른 후 제목을 제외한 본문 내용이 쓰이는 화면을 누르면 해당 클래스명이 무엇인지 알 수 있다. 나의 경우 entry-content였다. 인라인 코드 문장에서 강조..