반응형

분류 전체보기 231

[AI, 머신러닝] 개발자를 위한 머신러닝&딥러닝

"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 최근에 발표된 ChatGPT로 인해 인공지능에 대한 관심이 높아졌는데, 이에 대해 배우고자 한다면 개발자를 위한 머신러닝&딥러닝 책을 추천한다. 대학에서 인공지능에 대해 배웠지만 활용을 못 해봤었는데, 책에서는 텐서플로를 사용하여 머신러닝을 학습시키는 방법을 자세히 설명하고 있다. 또 iOS에서도 텐서플로 라이트를 사용할 수 있는 방법을 소개하고 있어, 다양한 분야에서 인공지능을 활용하고자 하는 개발자들에게 유용한 정보를 제공한다. 책을 볼 때에 초보자에게 어려울 수 있는 개념들도 쉽게 설명하고 있고, 예제 코드도 다양하게 제공하고 있어, 실제로 적용해보며 학습할 수 있는 좋은 자료가 되어준다. 머신러닝과 딥러닝에 대한 기초지식을 습득하고자 ..

2023.04.16

[iOS, Swift] Object to Dictionary 형변환

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. extension Encodable { // object to Dictionary var toDictionary: [String: Any]? { guard let object = try? JSONEncoder().encode(self) else { return nil } guard let dictionary = try? JSONSerialization.jsonObject(with: object, options: []) as? [String: Any] else { return nil } return dictionary } } let parameter = model.toDictionary 이 글에서는 Swift에서 E..

iOS/코드조각 2023.03.24

[iOS, Swift] 싱글턴 구현

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. class UserInfo { static let shared = UserInfo() private init() { } } 싱글턴 패턴은 객체지향 디자인 패턴 중 하나로, 어떤 클래스가 최대 1개의 인스턴스만 가지고 있도록 보장하는 것입니다. 이를 통해 객체의 생성과 파괴가 지나치게 빈번하게 일어나지 않도록 하고, 메모리 사용량을 줄이는 등의 이점을 얻을 수 있습니다. 위의 코드 조각에서는 UserInfo 클래스를 싱글턴으로 구성하였습니다. static let shared를 이용하여 UserInfo 클래스의 인스턴스를 단 하나만 생성할 수 있도록 하였고, private init()으로 객체 생성을 외부에서 할 수 ..

iOS/코드조각 2023.03.23

[iOS, Swift] Any to String 형변환

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. let text: String = String(describing: sender.userInfo!["text"]!) Notification userInfo 타입이 [AnyHashable: Any]? 이어서 밸류 값 Any 타입을 형변환 해주었습니다. 위 코드에서 `sender.userInfo!["text"]!` 부분은 Notification 객체에서 userInfo 딕셔너리로부터 "text" 키에 해당하는 값을 가져오는 부분입니다. 그러나 이 값은 Any 타입으로 반환됩니다. Any 타입은 Swift의 모든 타입을 나타낼 수 있는 타입으로, 타입 안정성을 보장하지 않습니다. 따라서 이 값을 String으로 사용하려..

iOS/코드조각 2023.03.22

[iOS, Metal] Metal에서 Image를 MTKView에 올리는 방법

이 글에서는 Metal에서 이미지를 MTKView에 올리는 방법에 대해 알아보겠습니다. 1. 이미지 로드하기 Metal에서 이미지를 사용하기 위해서는 이미지를 로드해야 합니다. guard let image = UIImage(named: "{이미지 파일 이름}") else { fatalError("이미지를 로드하는 데 실패했습니다.") } 2. Texture 생성하기 이미지를 로드했다면, 이제 해당 이미지를 Metal에서 사용할 수 있는 Texture로 변환해야 합니다. guard let texture = try? MTLTextureLoader(device: device).newTexture(cgImage: image.cgImage!, options: nil) else { fatalError("Textur..

iOS 라이브러리 2023.03.21

[Objective-C, iOS] Objective-C 헤더와 m 파일에 대한 이해

Objective-C는 C 언어를 기반으로 하는 객체 지향 프로그래밍 언어입니다. Objective-C는 C 언어와 마찬가지로 헤더 파일과 구현 파일로 이루어져 있습니다. 이들 파일은 Objective-C에서 클래스 및 인터페이스를 선언하고 구현하는 데 사용됩니다. 헤더 파일(.h) Objective-C에서 헤더 파일은 클래스와 인터페이스의 선언을 포함합니다. 헤더 파일은 다른 클래스나 소스 파일에서 해당 클래스 또는 인터페이스를 import할 수 있도록 합니다. 헤더 파일의 일반적인 구조는 다음과 같습니다. // MyClass.h #import @interface MyClass : NSObject // Properties @property (nonatomic, strong) NSString *name;..

iOS/강의, 고찰 2023.03.20

[iOS, Swift] UILabel Highlight 효과주기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. label.isHighlighted = true label.highlightedTextColor = UIColor.red 위 코드는 iOS 앱에서 라벨의 하이라이트 텍스트 색상을 빨간색으로 설정하는 예시입니다. iOS 개발을 하다보면 라벨의 텍스트 색상을 변경해야 할 때가 있습니다. 예를 들어, 라벨을 탭하면 텍스트 색상이 바뀌게 하고 싶은 경우가 그렇습니다. 그럴 때, 위의 코드를 참조하여 라벨의 하이라이트 텍스트 색상을 빨간색으로 설정할 수 있습니다. 이 코드를 활용하면 원하는 색상으로 텍스트 색상을 바꿀 수 있습니다.

iOS/코드조각 2023.03.19

[iOS, Swift] UILabel 여러 줄 표현하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. UILabel은 iOS 앱에서 많이 사용되는 UI 컴포넌트 중 하나입니다. 하지만 한 줄의 text만을 표시하기 때문에 text가 길어지면 너비가 부족해져서 표시되지 않는 경우가 있습니다. 이때 numberOfLines 속성을 사용하면 text가 여러 줄로 표현될 수 있습니다. numberOfLines 속성은 Label의 text가 차지할 수 있는 최대 줄 수를 정의하는데, 0으로 설정하면 필요한 만큼의 textLine을 표현할 수 있습니다. 더 복잡한 텍스트의 경우, UITextView를 사용하는 것이 더 적합할 수 있습니다. UITextView는 text를 수정할 수 있기 때문에, 사용자로부터 입력을 받아야 할..

iOS/코드조각 2023.03.18

[iOS, Swift] UILabel 밑줄 추가하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. NSAttributedString 클래스는 문자열에 다양한 스타일을 적용할 수 있는 클래스입니다. 이 클래스를 사용하면 문자열의 특정 부분에 대해 폰트, 색상, 기울임 등의 스타일을 지정할 수 있습니다. NSAttributedString의 인스턴스를 생성하려면 문자열과 스타일을 딕셔너리 형태로 전달해야 합니다. 이 때, 스타일은 NSAttributedString.Key 열거형의 값으로 전달됩니다. 이 열거형은 다양한 스타일 옵션을 제공하며, 예를 들어 폰트, 색상, 밑줄, 중앙선 등의 스타일을 지정할 수 있습니다. NSAttributedString 클래스의 Key 열거형 중에서도 NSUnderlineStyle 속성..

iOS/코드조각 2023.03.17

[디자인, 피그마] UX/UI 디자이너를 위한 실무 피그마

"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 컴퓨터 프로그래밍을 하면서 프론트 작업을 할 때, 디자이너가 없이 개발자만 작업하면 매우 어려울 것입니다. 또한 개발자와 디자이너 간의 소통이 없으면 작품이 나오지 않을 수 있습니다. 개발자와 디자이너가 소통하는 데 있어서 피그마나 다른 프로그램이 없으면 소통이 어려울 것이지만, 지금은 소통할 수 있는 프로그램인 피그마가 있어서 소통이 더욱 편리해졌습니다. 이 책은 피그마를 처음 시작하거나 배우는 학생들이 쉽게 접할 수 있도록 작성되었습니다. 또한 피그마를 사용하는 디자이너, 기획자, 개발자들을 위해 작성되었으며, 피그마에서 리소스 사용법을 알려주고, 협업하는 방법도 설명합니다. 마지막으로, 실제 앱을 바탕으로 예제를 설명하므로 피그마를 쉽게..

2023.03.16
반응형