분류 전체보기

Web

[CSS] Box Model과 Box Sizing

위에 보이는 CSS 프로퍼티들을 많이 보셨겠지만, 위 프로퍼티들이 어떤 요소에 영향을 주는지 또 사용하면서 원하던 크기대로 잡히지 않는 경우가 발생하기도 하는데 왜 그런지 살펴보도록 하겠습니다. 이 부분을 이해하기 위해선 먼저 박스 모델(box model)이라는 개념을 알아야 합니다. 박스 모델(Box Model)이란? HTML의 모든 요소들은 BOX 모양으로 구성되어 있는데, 이것을 박스 모델(box model)이라고 부릅니다. 박스 모델은 안쪽부터 content, padding, border, margin으로 구분합니다. content 텍스트, 이미지, Input, div 요소 등 모든 콘텐츠 가로는 width, 세로는 height로 표현 padding - content를 둘러싼 공간(border와 ..

디자인 패턴

[디자인패턴] 싱글톤

싱글톤 패턴(Singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 class NetworkService { static let shared = NetworkService() private init() {} } 스위프트에서는 static let으로 객체의 인스턴스를 할당해주면 끝. 그리고 인스턴스가 추가로 생성되는 것을 방지하기 위해 init()함수의 접근제어자를 private로 선언한다. 보통 데이터베이스나 네트워크등 서비스 모듈에 많이 사용합니다. 싱글톤 패턴의 장단점 장점 인스턴스를 최초 1회만 생성하므로 메모리와 성능 측면에서 효율이 좋다. 전역 인스턴스로 다른 모듈 및 클래스간 데이터 공유가 쉽고 접근이 쉽다. 단점 전역으로 어디서든 접근 하여 안티패턴으로 불릴수 ..

컴퓨터 기초 및 개념

IT 필수 지식 - 1. IT 큰그림

비전공자 및 기획자 등 현업에서 사용하는 필수 지식들을 간단하게 정리하고자 합니다. 1. IT 큰그림 Infomation vs Data 개념 생선(Data) => 생선조림(Infomation) 숫자(Data) => 잔고(Infomation) Data는 가공되지 않은 값 Infomation은 가공되어 의미 있는 값 Program Data를 Infomation으로 만들어 의미있는 정보를 사용자가 이용할수게 해주는 것 은행앱, 날씨앱 등 IT 필수 프로세스 개발(프로그램) Data를 Infomation이 되도록 하는 일 프로그램을 만드는 일 개발자, 기획자, 디자이너, PM 등으로 구성 동작(서버) 프로그램이 동작하게 해주는 컴퓨터 전달(네트워크) 정보가 나에게 전해지는 전 과정 인터넷, 라우터, 방화벽 등 ..

컴퓨터 기초 및 개념

문자열 인코딩 개념(아스키 코드, EUC-KR, UTF-8, UTF-16, UTF-32)

문자열 인코딩은 실무 개발에서 중요한 개념이지만, 인코딩으로 인한 문제가 생기기 전까지는 배울 기회가 없는 기술 입니다. 아스키 코드, EUC-KR, UTF-8, UTF-16, UTF-32와 같은 단어를 한 번 이상 들어봤어도 이 단어들이 무슨 뜻인지, 문자열 인코딩이 정확이 무엇인지 모르는 경우가 많아 이번 포스트에서 살펴 보도록 하겠습니다. 위와 같이 글자가 깨지거나 보이지 않는 문제가 발생한걸 자주 본적이 있으셨을 겁니다. 호환되지 않은 문자열을 인코딩을 사용하여 문자를 읽었기 때문입니다. 컴퓨터가 처음 등장했을 때 모든 프로그램은 영어와 일부 특수문자만 지원을 했습니다. 그러나 여러 국가에서 컴퓨터를 사용하기 위해 국가별로 사용하는 언어를 표현하고자 독자적인 규칙을 만들기 시작했습니다. 문자열 인..

개발 이슈

SourceTree 'Permission denied (publickey)' 에러 해결방법!

현재 Sourcetree에 sourcetree Permission denied (publickey). 에러가 나는 상황 이 에러는 Sourcetree가 SSH키를 인식을 못해서 에러가 나는 상황입니다 1. cd ~/.ssh 로 이동해서 .pub을 지워줍니다. 2. ssh-keygen을 통해서 새로 ssh를 생성합니다. 이름을 지정하지 않고 그냥 엔터를 치면 id_rsa라는 이름으로 생성이 됩니다. 사용할 비밀번호도 입력해 주세요! 3. cat id_rsa.pub 을 통해서 생성된 키를 복사해 줍니다. 4. 복사 후 github → Setting → SSH and GPG keys에 들어가서 New SSH key를 눌러서 타이틀과 복사한 키를 넣어주고 저장합니다. 5. 여기서 중요한데 본인의 로컬에 등록을 ..

iOS

[iOS] 애플 로그인 사용해보기(Sign in with Apple)

Sign in with Apple은 iOS 13이상 부터 사용가능한 새로운 인증 방법입니다. 단계별로 Sign in with Apple 사용법에 대해 알아 보도록 하겠습니다. AppleIDButton 설정 먼저 AuthenticationServices를 import 해야 됩니다. ASAuthorizationAppleIDButton를 이용해서 type 및 style을 지정해줍니다. import UIKit import AuthenticationServices class ViewController: UIViewController { @IBOutlet weak var loginStackView: UIStackView! override func viewDidLoad() { super.viewDidLoad() se..

Swift

[Swift] Codable - Decoding 방법

이전 포스트는 Codable의 Encodable에 대해 알아 보았습니다. 이번 포스트는 Codable의 Decodable에 대해 알아보도록 하겠습니다. Decodable JSON 데이터를 디코딩 하는 방법에 대해 알아보도록 하겠습니다. Decodable을 이용하면 JSON을 쉽게 처리할 수 있습니다. # 디코딩 방법 decode 메서드는 두개의 파라미터가 필요합니다. 첫번째 파라미터는 디코딩할 타입을 정의한다. 반드시 Decodable이나 Codable 프로토콜을 채택해야됩니다. struct Person: Codable { var name: String var age: Int var birthDate: String var address: String? } 두번째 파라미터에는 json이 저장되어있는 dat..

Swift

[Swift] Codable - Encoding 방법

이번 포스트는 Codable의 Encodable에 대해 알아 보도록 하겠습니다. 먼저 애플의 문서를 확인해보면 💡 A type that can convert itself into and out of an external representation. 외부 표현으로 변환하거나 외부 표현으로 변환할 수 있는 유형이라고 하는데 쉽게 이야기하자면, 자신을 외부 표현으로 인코딩할 수 있고, 자신을 외부 표현으로 부터 디코딩할 수 있다는 이야기입니다. 주로 JSON을 이용할 때 사용되기 때문에 외부 표현을 JSON데이터로 생각하면 더 쉽게 이해가 될것 같습니다. public typealias Codable = Decodable & Encodable Codable은 Encodable과 Decodable로 이루어져 있습..

iOS

[iOS] Animation 방법(UIViewPropertyAnimator)

이번 포스트에선 UIViewPropertyAnimator에 대해 알아 보도록 하겠습니다. 지난 포스트에서 알아봤듯이 UIView.animate는 Deprecated될 가능성이 높습니다. 따라서 프로젝트 타켓이 10이상인 프로젝트에서 애니메이션을 적용할때 UIViewPropertyAnimator를 사용하는걸 권장합니다. 특징 iOS 10 부터 사용가능 UIIView.animate를 대체하는 API 애니메이션 상태(시작, 중지, 일시정지 등)를 제어할 수 있다. Interactive Animation Animation State https://developer.apple.com/documentation/uikit/uiviewanimating UIViewAnimating - UIKit | Apple Devel..

iOS

[iOS] Autolayout으로 제약조건을 걸었을때 Animation 방법

Autolayout을 이용한 animation 방법에 대해 알아 보도록 하겠습니다. 제약 조건이 걸렸을때의 애니미에션을 어떻게 처리하는지에 대해 간단히 알아보기위해 아래와 같은 스토리보드 화면의 X,Y가 Center잡혀 있고, 크기가 50으로 제약이 걸려있습니다. view의 사이즈가 증가하는 간단한 애니메이션으로 확인 해보겠습니다. iOS Animation 방법(UIView.animate) iOS Animation 방법(UIView.animateKeyframes) 기존에 위의 포스트 방식대로 frame의 애니메이션을 구현하는 방식대로 해보도록 하겠습니다. view의 사이즈를 200만큼 증가 @IBOutlet weak var objectView: UIView! @IBOutlet weak var widthC..

jinnify
'분류 전체보기' 카테고리의 글 목록 (2 Page)