전체 글
-
스프링 IoC 컨테이너와 빈의 생성Spring 2023. 6. 26. 21:32
스프링 프레임워크에서 스프링 IoC 컨테이너에 의해서 관리되는 객체를 빈(Bean)이라고 합니다. 그리고 컨테이너는 빈을 생성할 때 의존성을 주입합니다. org.springframework.context.ApplicationContext 인터페이스를 구현해서 Spring IoC 컨테이너를 생성할 수 있습니다. 컨테이너는 configuration metadata(XML 또는 애노테이션 기반의 자바 코드를 통해 나타냄.)를 읽어서 빈의 인스턴스화, 구성, 그리고 조립을 담당합니다. 애노테이션(Annotation) 기반의 컨테이너 생성 AppConfig.java @Configuration public class AppConfig { @Bean public MyService myService(MyReposito..
-
CLI 없이 Xcode Workspace에 Cordova Custom Plugin 추가하기iOS 2023. 6. 23. 10:16
보통은 아래와 같은 방법으로 커스텀 플러그인을 추가합니다. 하지만 여의치 않은 경우(Cordova-based project가 없거나 플러그인을 배포하지 않은 상황) Command Line Interface 없이 Xcode Workspace에 파일 복사 및 추가 코드를 작성함으로써 플러그인을 포함해야 할 때도 있습니다. $ cordova plugin add 커스텀 플러그인 이름 $ cordova plugin add URL $ cordova plugin add ../path/to/my/plugin/relative/to/project --link config.xml cordova_plugins.js ... // plugin.xml 내용 적용 { "id": "cordova-plugin-custom.CustomP..
-
Swift를 사용해서 Cordova Custom Plugin 만들기 (2)iOS 2023. 5. 25. 17:39
Swift를 사용해서 Cordova Custom Plugin 만들기 (1)에 이어서 clobbers 요소에 대해서 알아보고, iOS 플랫폼의 native view를 띄워보겠습니다. 플러그인 프로젝트의 Swift 코드 @objc(presentModalView:) func presentModalView(_ command: CDVInvokedUrlCommand) { print("presentModalView: called.") let viewController = UIViewController() let label = UILabel() label.translatesAutoresizingMaskIntoConstraints = false label.text = "Hello world!" label.font = ...
-
Swift를 사용해서 Cordova Custom Plugin 만들기 (1)iOS 2023. 5. 25. 03:13
Cordova 프로젝트에서 iOS 플랫폼의 메서드를 호출하고, 문자열을 수신하여 출력하기 위해서 간단한 Cordova Custom Plugin을 만들어보겠습니다. 플러그인 컴포넌트를 만들어내기 위해서, plugman을 설치해야 합니다. plugman은 플러그인 생성과 구성 및 관리를 도와주는 command line tool입니다. $ npm install -g plugman Create plugin using plugman $ plugman create --name CordovaSamplePluginSwift --plugin_id com.yeolmok.samplepluginswift --plugin_version 0.0.1 create 메서드는 플러그인의 뼈대를 만들어주는 메서드입니다. plugin.xm..
-
Swift Package에 GitHub Actions 사용하기iOS 2023. 5. 5. 16:08
GitHub Actions는 빌드, 테스트, 배포 파이프라인을 자동화할 수 있는 CI/CD(continuous integration & continuous delivery) 플랫폼입니다. 이 글의 아래에서는 GitHub Actions를 사용해서 간단한 Swift Package에 CI를 적용해보려고 합니다. 쉽게 말해서, 깃허브 저장소에 새로운 내용을 push 할 때, 트리거 되어 실행되는 스크립트를 작성해보겠습니다. GitHub Actions의 컴포넌트로는 다음과 같은 것들이 있습니다. Workflow Event Job Action Runner Workflows Workflow는 하나 이상의 job으로 구성되어 그것들을 수행하는 자동화 프로세스입니다. YAML 파일(형식: *.yml)에 정의되어 이벤트가..
-
깃허브 액세스 토큰 업데이트기록/Default 2023. 2. 4. 11:25
(1) Github 웹 Settings -> Developer settings -> Tokens에서 토큰 재생성 (2) 토큰 복사 후 터미널 On (3) 토큰이 유효하지 않아 문제가 발생한 Repository 폴더에서 remote 연결 해제 git remote remove (name) // git remote remove origin (4) 다시 연결 git remote add (name) (url) // git remote add origin https:// ... (Repository 주소) (5) Username(Github 계정) & Password(Personal access token) 입력
-
Class와 Performance in SwiftiOS 2023. 2. 2. 14:16
Reducing Dynamic Dispatch Swift는 기본적으로 Objective-C처럼 동적인(dynamic) 언어입니다. 하지만 Objective-C와 달리 Swift에서는 프로그래머가 필요에 따라 dynamism을 제거하거나 줄여서 런타임 성능을 향상시킬 수 있습니다. Dynamic Dispatch 클래스는 프로퍼티와 메서드에 접근하기 위해 기본적으로 동적 디스패치를 사용합니다. 따라서 아래와 같은 코드에서 동적 디스패치를 통해 a.aProperty, a.doSomething(), 그리고 a.doSomethingElse()에 접근합니다. class A { var aProperty: [Int] func doSomething() { ... } dynamic doSomethingEles() { ....