최신글

Web

SOP, CORS 개념

SOP, CORS에 대해서 알아보기에 앞서 간단하게 이 출처(Origin) 라는 것이 정확히 뭘 의미하는지부터 한번 짚고 넘어가도록 해야 합니다. # Origin https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Origin Origin - HTTP | MDN Origin request 헤더는 fetch가 시작되는 위치입니다. 경로 정보는 포함하지 않고 서버 이름만 포함합니다. POST requests에 포함되는 것처럼, CORS requests 와 함께 전송합니다. Referer 헤더와 비슷하지만, ori developer.mozilla.org fetch가 시작되는 위치입니다. 경로 정보는 포함하지 않고 서버 이름만 포함합니다. 즉, Protocol + ..

일상

2022년 회고, 그리고 도전

2023년 1월 30일 고요한 새벽.. 멍하니 있을 시간이 없을 정도로 달리고 있는 와중에, 문득 느지막이 2022년 회고를 쓰고 싶어졌다. 사실 매년 남의 회고만 보고 멋있다, 대단하다고만 생각을 해봤지, 생전 처음 써보는 회고는 익숙하지 않아 벌거벗은 느낌이지만, 나의 2023년은 이전과는 달리 확실히 다른, 새로운 시작일 것 같은 기운이 느껴져 매년 써보기로 스스로에게 약속해본다. 2022년 2가지 큰 이슈 회사의 폐업이라는 불행과 결혼이라는 행복이 공존하는 한 해였다. 전에 배달 관련 회사에서 iOS 개발자로 일을 하다, 초기 단계의 스타트업을 경험하고 싶은 마음 저~ 한 구석의 욕망? 열정?으로 인해 이직을 하게 되었다. 초기 스타트업이다 보니 모든 초기 환경을 구축했다. 기업용 애플 계정 설정..

Web

[React] Redux(리덕스) Concept

Redux란? 등장 배경 리덕스가 무엇인지 알아보기 전에 리덕스가 왜 필요할까? 고민해볼필요가 있습니다. 리액트에선 일반적으로 State를 관리 할 때는 props를 통해 부모에서 자식 컴포넌트의 방향(단방향 데이터)으로 데이터 흐름이 일어난다. 💡 State - 상태란 의미는 단순히 정상, 비정상인 상태를 뜻하기 보다는 데이터 의미에 가깝다. 즉, 리액트 컴포넌트의 변경 가능한 데이터(DATA)를 뜻한다. 1. 양방향 흐름 지양 부모와 자식 컴포넌트 모두가 데이터를 직접 변경이 가능하다 간단한 화면에선 단순하게 부모와 자식의 데이터간에 데이터를 직접 호출해서 동기화함으로 좋아 보일수 있다. 하지만 복잡한 프로젝트에 컴포넌트들의 잦은 변경이 존재한다면 데이터 흐름을 예상하기 어렵다는 큰 단점이 존재한다...

컴퓨터 기초 및 개념

JSON이란?

JSON이란? JSON(Javascript Object Notation)은 여러 형태의 데이터 구조화된 객체에 담아 처리하는 포맷 입니다. 즉, 숫자, 문자, 참 또는 거짓 등 모든 시리얼화 가능한 값(Serializable Value) 또는 Key-Value로 이루어진 객체(Object)에 담아 처리하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 포맷입니다. 가공된 JSON데이터는 텍스트 기반이기 때문에 사람이 쉽게 저장된 데이터를 읽고 수정할 수 있다는 장점이 있습니다 💡Serializable? 💡 직렬화(Serialization), 역직렬화(Deserialization) 직렬화란 Object를 Byte형태로 변환하는 기술을 뜻합니다. 즉, 객체를 저장하거나 메모리, DB, 파일등으로 데이터를 옮길..

Web

[CSS] Selector 정리

CSS 선택자 선택자(Selector)는 스타일을 지정하고 싶은 HTML 요소를 가르키며, 세미콜론을 구분자로 하나 이상의 선언을 포함한다. 여기서 선택자(Selector)는 p이고, 2개의 선언(Declaration)으로 이루어져 있습니다. p - 선택자 color - 속성(property), red는 속성값 padding - 속성(Property), 5px는 속성값 종류 1. 전체 선택자 전체 선택자는 별표(*)를 사용하며, HTML 내부의 모든 태그에 지정된 스타일을 적용하도록 해줍니다. /* 전체 선택자 사용방법 */ * { property : property value; } /* 사용 예시 */ * { color : blue; } 2. 태그 선택자 태그 선택자는 앞에 붙여 무언갈 따로 붙여줄 필..

인기글

컴퓨터 기초 및 개념

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

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

Swift

[Swift] 타입체크(TypeCheck)

Swift의 TypeCheck 방법중에 타입을 확인하는 type(of:)와 타입을 비교하는 is에 대해 알아보도록 하겠습니다. 타입 체크(TypeCheck) 스위프트의 타입캐스팅은 is와 as로 구현되어있고, 인스턴스의 타입을 확인하거나 자신을 다른 타입의 인스턴스인것처럼 사용될 수 있습니다. type(of:) - 타입확인 class className {} var anyArray: [Any] = [1, "2", 3.9] var anyObjectArray: [AnyObject] = [className()] func printGeneric(_ value: T) { let types = type(of: value) print("\(value) of type \(types)") } printGeneric(2) ..

iOS

[iOS] Animation 방법(UIView.animate)

iOS에서 자주 사용하는 애니메이션은 크게 2가지가 존재합니다. UIKit을 이용한 UIView의 API Core Animation을 이용한 API 이번 포스트에선 1번 UIView의 API에 대한 기본 사용법, Spring애니메이션, 여러가지 애니메이션 옵션들에 대해 알아 보도록 하겠습니다. iOS 2부터 절차적으로 사용되던 애니메이션(beginAnimations, commitAnimations)은 iOS13에서 deprecated되었고, iOS 4부터는 Closure형태인 animate메서드를 주로 이용해왔습니다. 하지만! 여전히 많이~ 사용되고 있지만 이 메서드도 언젠간 deprecated될 것 같습니다. 💡 Use of these methods is discouraged. Use the UIVie..

iOS

[iOS] 개발자 계정 및 인증서 가이드

이전 포스트에 코드사이닝이 무엇인지, 인증서는 무엇이며 어떻게 생성하는지 처음부터 단계적으로 설명을 적어놓은 적이 있습니다. 이번 포스트는 iOS개발에 필요한 개발자 계정 및 인증서 가이드에 대해 알아 보도록 하겠습니다. 계정 종류 및 등록 방법 계정은 배포하려는 목적에 따라 개발자, 엔터프라이즈 계정으로 분류가 됩니다. 개발자 계정 앱스토어에 앱을 등록하고 싶은 경우 개발자 계정을 등록해야 됩니다. 연간 비용 : $99 등록 방법 참고(https://developer.apple.com/kr/programs/) 엔터프라이즈 계정 앱스토어가 아닌 기업에서 직원들에게 배포할 수 있는 iOS응용 프로그램을 개발해 직접 배포하려면 엔터프라이즈 계정을 등록해야됩니다. 연간 비용 : $299 등록 방법 참고(htt..

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..

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..

jinnify
jinnify 블로그