본문 바로가기

분류 전체보기

joatte (조아뜨) 의뢰자 브리핑 (주)아이조아페어리는 육아용품 전문업체입니다. 너무 육아용품 이미지에만 취중되지 않고 보편적으로 사용할 수 있는 로고체를 원합니다. 조아뜨는 [joatte] 조아+너를 너를 조아해라는 합성어입니다. 색상과 캐릭터부분은 특별히 선호하는 부분은 없으며, 다양하고 창의적인 로고를 원합니다. 기존 육아용품이라 하여 아기 그림만 부각되는것을 원치 않으며 글로벌한 느낌을 지향합니다. 의뢰자 선호 색 하얀색 검정색 회색 빨강 의뢰자 선호 분위기 조용한, 단순한, 젊고 현대적인, 구체적인 육아용품에 국한되지 않는 모던하고 깔끔한 디자인, 육아용품과 보편적이고 글로벌한 느낌 사이에서 고민을 하느라 색상과 디자인에 대한 고민이 좀 더 많았던 기억이 있다 워낙 심플한 디자인을 좋아하니 항상 빼고 또 빼려고 노.. 더보기
[Apple Doc] Resource Programming Guide : Nib Files Nib 파일은 OS X와 iOS에서 앱의 생성에 중요한 역할을 합니다. Nib 파일을 사용해서 코드로 작성하는 대신 Xcode를 사용하여 그래픽 사용자 인터페이스를 만들고 조작할 수 있습니다. 즉각적으로 결과를 볼 수 있기 때문에 다른 레이아웃과 설정을 매우 빠르게 실험해 볼 수 있습니다. 또한 어떤 코드 재작성도 없이 사용자 인터페이스의 많은 외관을 변경할 수 있습니다. AppKit이나 UIKit 프레임워크들을 사용하여 생성된 앱에 대해 nib 파일은 추가적인 중요성을 갖습니다. 이 두 프레임워크들은 윈도우나 뷰 그리고 컨트롤들의 배치와 이러한 아이템들의 이벤트 처리 코드를 통합을 위해 nib 파일의 사용을 지원합니다. Xcode는 사용자 인터페이스의 컨트롤과 이 컨트롤들에 응답해야 하는 객체들을 연결.. 더보기
[Apple Doc] Resource Programming Guide : Introduction About Resources 리소스는 실행코드와 함께 제공되는 데이터 파일입니다. 리소스는 복잡한 데이터 집한 또는 그래픽 콘텐츠의 생성을 코드 외부나 보다 적절한 도구로 이동하여 작성해야 하는 코드를 단순화합니다. 예를 들어 코드로 픽셀 하나하나 생성하는 것 대신에 이미지 에디터를 사용해서 만드는 것이 보다 효율적입니다. 이러한 리소스의 이점을 얻기 위해서는 런타임에 리소스를 읽어 들여서 사용하기만 하면 됩니다. 코드를 단순화 하는 것 외에도 리소스는 국제화 처리를 위해 밀접한 부분입니다. 문자열이나 기타 사용자가 볼 수 있는 콘텐츠를 하드코딩하는 것보다 외부 리소스 파일에 배치할 수 있습니다. 그러면 지원되는 언어를 위한 각각의 리소스 파일을 생성하는 간단한 처리만으로 앱의 지역화를 할 수 있습니다... 더보기
[Apple Doc] File System Basics 파일 시스템은 데이터 파일, 앱 그리고 운영 체제와 관련된 파일의 영구적인 저장을 처리합니다. 따라서 파일 시스템은 모든 프로세스에서 사용되는 기본 자원 중 하나입니다. macOS, iOS, watchOS, and tvOS의 기본 파일 시스템은 APFS입니다. APFS는 iOS 10.3 이상 macOS High Sierra 이상에서 HFS+를 대체합니다. 기본 형식에 관계없이 장치에 연결된 모든 디스크는(물리적으로 연결되었던 네티워크를 통해 간접적으로 연결되었던) 단일 파일 모음을 생성할 수 있는 공간을 제공합니다. 파일 수는 쉽게 수백만 개가 될 수 있기 때문에 파일 시스템은 디렉터리를 사용하여 계층적으로 구성됩니다. iOS와 macOS의 기본 디렉터리 구조는 비슷하지만 각 시스템이 앱과 사용자 데이터.. 더보기
다원한의원 의뢰자 브리핑 이번에 새로 오픈하는 한의원입니다. 오피스 주변의 사무직종 고객들이 많을 것으로 예상되는 곳이고 침과 한약 물리치료를 이용한 한의치료와 함께 편안한 쉼터같은 곳, 언제나 쉽게 갈 수 있고 힐링할 수 있는, 스트레스, 수면불량, 만성피로, 척추질환과 관절 통증, 소화기, 호흡기 질환을 주로 치료하는 한의원입니다. 저희 한의원이 추구하는 전통적이면서도 자연주의적이고 편안한 한의원의 느낌을 직관적이고 깔끔하게 표현해주시기를 원합니다. 의뢰자 선호 색 없음 의뢰자 선호 분위기 조용한, 단순한 부드러운 곡선과 차분한 컬러를 사용하여 깔끔하고 정갈한 이미지를 표방한 디자인으로 한의원 특유의 편안함과 친숙함, 그리고 자연주의적인 느낌을 담은 디자인 따뜻한 느낌의 인테리어와 어울리게 한의원 곳곳에 잘 사.. 더보기
[Swift] String - #7 Initializer(5) : Creating a String from a File or URL Creating a String from a File or URL init(contentsOf: URL) init(contentsOf: URL, encoding: String.Encoding) init(contentsOf: URL, usedEncoding: inout String.Encoding) init(contentsOfFile: String) init(contentsOfFile: String, encoding: String.Encoding) init(contentsOfFile: String, usedEncoding: inout String.Encoding) 외부 리소스로부터 String을 초기화하는 방법으로 init(contentsOf: URL), init(contentsOfFile: String).. 더보기
[Swift] String - #7 Initializer(4) : Converting Other Types to Strings Converting Other Types to Strings init(_ value: T) where T : LosslessStringConvertible - LosslessStringConvertible 타입을 입력받아 String을 생성한다. - LosslessStringConvertible은 무손실 문자열을 나타낼 수 있는 타입이다. 예를 들어 integer value 1050은 문자열 "1050"으로 전체를 나타낼 수 있듯이 이 타입을 원래의 integer value 1050으로 다시 만들 수 있어야 한다. - [TODO, FIXME] LosslessStringConvertible 의 사용처는 확실하게 모르겠다.ㅠ 아래 타입들이 LosslessStringConvertible 프로토콜을 따르고 있으.. 더보기
[Swift] String - #7 Initializer(3) : Converting a C String Converting a C String init?(bytes: S, encoding: String.Encoding) where S : Sequence, S.Element == UInt8 - 주어진 인코딩에 따라 주어진 시퀀스를 사용해서 String을 생성한다. init?(bytesNoCopy bytes: UnsafeMutableRawPointer, length: Int, encoding: String.Encoding, freeWhenDone flag: Bool) - 주어진 바이트 버퍼에서 주어진 인코딩 방식으로 주어진 바이트 수 만큼으로 String을 생성한다. - 이 초기화 메소드는 memory-safe하지 않다. init(cString:UnsafePointer) init(cString: UnsafeP.. 더보기
[Swift] String - #7 Initializer(2) : Converting Numeric Values Creating a String Using Formats init(format: String, _ arguments: CVarArg...) init(format: String, arguments: [CVarArg]) - 포맷 문자열을 통해서 String을 초기화 할 수 있다.(자세한 포맷은 String Format Specifiers 을 참조) let str1 = String(format: "%@ %d개.", "사과", 5) // "사과 5개." let str2 = String(format: "%@ %d개.", arguments: ["사과", 6]) // "사과 6개." init(format: String, locale: Locale?, _ args: CVarArg...) init(format: Stri.. 더보기
[Swift] String - #7 Initializer(1) : Creating a String from Unicode Data Creating a String init() - 빈 문자열을 생성합니다. init(_ c: Character) - Character를 초기값으로해서 문자열을 생성 합니다. init(_ characters: S) where S : Sequence, S.Element == Character init(_ elements: S) where S : Sequence, Self.Element == S.Element init(_ other: S) where S : LosslessStringConvertible, S : Sequence, S.Element == Character - Sequence protocol을 따르는 instance를 통해서 문자열을 초기화 합니다. init(_ substring: Substring.. 더보기
오치과의원 의뢰자 브리핑 시골 읍에서 개원하는 치과입니다. 주요 환자층은 노인층이 대다수이고 인근 공단의 젊은 연령층의 환자가 일부 예상되며 시골지역 특성과 인지성을 고려하여 치과이름도 그에 맞춰 가장 심플하게 원장의 성을 따 오치과의원이라 이름지었습니다. 하지만 제가 30대초반 젊은 치과의사라 로고만큼은 젊고 밝은 느낌의 로고를 원합니다. OH! 감탄사를 연상케하는 로고였으면 좋겠고 주로 틀니와 임플란트를 시술할 예정입니다. 치과 인테리어 예정 사진을 첨부합니다. 모던한 스타일로 인테리어 예정이고, 로고도 그에 맞춰 인테리어에 조화되게 원합니다. 의뢰자 선호 색 파란색, 하얀색 의뢰자 선호 분위기 젊고 모던한, 구체적이고 대중적인 심플한 상호에 걸맞는 모던하고 깔끔하게! 알파벳 ‘H’를 결합하는 형태로 맞물리게 .. 더보기
[Swift] String - #6 Unicode 유니코드 문자열을 파일에 쓸 때 유니코드 스칼라는 몇 가지 유니코드 인코딩 형식(UTF-8, UTF-16, UTF-32)으로 인코딩 된다. 각 인코딩 형식은 code unit이라는 작은 덩어리(chunk)로 인코딩 된다. Swift는 문자열의 Unicode 표현에 접근하기 위한 몇 가지 방법을 제공한다. for-in loop 구문을 사용하여 문자열을 interator 할 수 있고, 유니코드 확장 문자소 클러스터의 개별 Character에 접근할 수도 있다. UTF-8 표현 String의 utf8 프로퍼티를 반복해서 UTF-8의 표현에 접근할 수 있다. 이 프로퍼티는 String.UTF8View 타입이고 unsigned 8-bit(UInt8) 값의 collection이다. let dogString = "D.. 더보기
[Swift] String - #5 Comparing Strings 문자열 비교 String은 '==', '!=' operator를 사용해서 비교한다. let quotation = "We're a lot alike, you and I." let sameQuotation = "We're a lot alike, you and I." if quotation == sameQuotation { print("These two strings are considered equal") } // Prints "These two strings are considered equal" 확장 문자소 클러스터에 의해서 실제 다른 유니코드 스칼라의 조합이더라도 언어적인 의미와 모양이 같은 경우에 동일하다고 판단한다. 아래 그림과 같이 \u{E9}나 \u{65}\u{301}는 모두 é를 나타내는 확장.. 더보기
호감, 호감갈비 의뢰자 브리핑 남양주시 별내동의 고풍스러운 고층 붉은 벽돌집에 위치할 프리미엄 갈비집 '호감'의 메인로고 디자인 공모전을 개최합니다 캘리그라피스타일의 로고를 원하며 '별내(BYEOLLAE)혹은 'PREMIUM BEEF''好感'등의 문구가 들어간 붉은 인장도 함께 있기를 바랍니다. '정통한식'과는 다른 양식 스타일의 갈비집을 표방합니다 주요 고객층은 3~40대의 주부, 가족입니다. '호감'의 글씨타입은 한글만 필요로합니다 의뢰자 선호 색 흰색, 검은색, 금색 의뢰자 선호 분위기 여성고객을 타겟으로한 클래식하면서도 고급스럽고 조용한 분위기 유럽식의 고풍스러운 프리미엄 갈비집에 어울리는 클래식한 분위기의 디자인 정갈하고 단정한 인상을 심어줄 수 있게 제작했다 여기 한번 가보고 싶은데 아직 못가고 있넴 '_' .. 더보기
[Swift] String - #4 Substrings - String의 subscript나 prefix같은 메소드를 사용해서 얻은 부분 문자열은 Substring 타입이다. - Substring은 String의 메소드 대부분을 동일하게 사용할 수 있다. - Substring은 성능 최적화를 위해서 실제로 copy, modify가 일어나기 전까지는 Origin String이나 다른 Substring을 저장하는데 사용된 메모리의 일부를 재사용한다. - Substring 예제 더보기 let greeting = "Hello, world!" let index = greeting.firstIndex(of: ",") ?? greeting.endIndex let beginning = greeting[.. 더보기
[Swift] String - #3 String.Index String.Index - Swift의 String은 String.Index타입을 사용해서 String을 구성하는 Character 위치를 나타낸다. - Character가 유니코드 스칼라 여러 개로도 구성될 수 있기 때문에 단순히 정수형 값으로 인덱스를 구할 수 없다. - startIndex는 문자열의 처음과 끝의 위치를 나타낸다. endIndex는 마지막 문자 뒤의 위치를 나타내기 때문에 subscript에 endIndex를 사용하면 안 된다. - index(before:), index(after:) 함수를 사용하여 인덱스의 앞, 뒤 문자를 접근할 수 있다. - index(_:offsetBy:) 함수를 사용해서 주어진 인덱스로부터 offset 만큼 떨어진 문자를 접근할 수 있다. 삽입 - insert.. 더보기