
개념그래프 탐색> 어떤 것들이 연속해서 이어질 때, 모두 확인하는 방법 Graph: Vertex(어떤 것) + Edge(이어지는 것) 그래프 탐색 종류- BFS: Breadth-first search (너비 우선 탐색) - DFS: Depth-first search (깊이 우선 탐색) DFSDFS(Depth-first search)는 그래프 탐색의 한 종류- DFS, BFS 어떤 것들이 연속해서 이어질 때, 모두 확인하는 방법 Graph: Vertex(어떤 것) + Edge(이어지는 것) 그래프 탐색 종류- BFS: Breadth-first search (너비 우247ios.tistory.com 아이디어시작점에 연결된 Vertex 찾기찾은 Vertex를 Queue에 저장Queue의 가장 먼저 것 뽑아서 ..
LLVM 이란? LLVM은 컴퓨터 프로그램을 더 빠르고 효율적으로 만들기 위한 도구 모음입니다. 원래 프로그램을 여러 단계를 거쳐 컴퓨터가 이해할 수 있는 코드로 변환하는데, LLVM은 이 과정에서 중요한 역할을 합니다. 간단하게 말해, LLVM은 프로그램의 코드를 받아서 '중간 형태'로 바꾼 뒤, 이 중간 형태를 다시 컴퓨터가 실행할 수 있는 형태로 변환합니다. 이 과정에서 코드를 최적화하여 프로그램이 더 빨리 동작하도록 만들고, 다양한 종류의 컴퓨터에서 잘 작동하게 조정합니다. 즉, LLVM은 프로그램이 컴퓨터에서 더 잘 동작하도록 돕는 중요한 도구라고 할 수 있습니다. LLVM의 장점 어떤 언어로 작성하든 상관없고 LLVM만 지원하는 언어면 된다. 그리고 아키텍처도 코드 수정할 필요 없이 바로 반영..
스위즐링이란?스위즐링은 런타임에서 메서드나 속성을 동적으로 변경할 수 있게 해줍니다. 이는 코드의 동작을 조작하거나 보완하는 데 사용됩니다. 예를 들어, 어떤 클래스의 메서드를 호출할 때마다 로그를 출력하고 싶다고 가정해 봅시다. 이런 경우에 스위즐링을 사용하면 메서드의 동작을 변경하여 로그 출력을 추가할 수 있습니다. 이것은 디버깅에 매우 유용하며, 코드의 흐름을 이해하고 오류를 찾는 데 도움이 됩니다. 또 다른 예로, 특정 클래스의 속성 값을 변경하거나 기존 동작을 수정하고 싶을 때 스위즐링을 활용할 수 있습니다. 이는 기존 코드를 수정하지 않고도 새로운 기능을 추가하거나 수정할 수 있게 해줍니다. 하지만, 스위즐링을 사용할 때는 주의해야 합니다. 잘못 사용하면 코드를 복잡하게 만들고 예상치 못한 버..
Swift에서의 OverrideSwift 언어에서 "Override"는 상속 관계에서 부모 클래스의 특정 기능을 자식 클래스에서 재정의하는 것을 의미합니다. 이는 자식 클래스에서 부모 클래스의 메소드, 프로퍼티, 또는 서브스크립트를 변경하거나 확장할 때 사용됩니다.Override의 사용Override를 사용하여 부모 클래스의 기능을 재정의할 때, 자식 클래스의 멤버(메소드, 프로퍼티, 서브스크립트) 앞에 override 키워드를 사용합니다. 이것은 해당 멤버가 부모 클래스의 동일한 멤버를 재정의하고 있음을 나타냅니다.예를 들어, 부모 클래스에 정의된 메소드를 자식 클래스에서 Override 하는 방법은 다음과 같습니다.class Parent { func someMethod() { pri..
struct PDFCommand { var img: UIImage var size: CGSize } struct MakePDFModel { var image: UIImage var resultWidth: CGFloat var resultHeight: CGFloat } func makePDF(files: [MakePDFModel]) async { let manager = FileManager.default guard let docUrl = manager.urls(for: .documentDirectory, in: .userDomainMask).first else { return } let pdf = PDFManager() let mm = 2.835 for file in files { let width = ..
1. Web JavaScript Setting $(document).ready(function(){ $('.btn-save').click(function(){ var str = "ABC"; window.webkit.messageHandlers.NAME.postMessage(str); }); }); 2. Native 2-1. WKWebView Setting let contentController = WKUserContentController() let config = WKWebViewConfiguration() contentController.add(self, name: "NAME") config.userContentController = contentController webView = WKWebview..
Apple App Store - 테마찾기 https://apps.apple.com/kr/app/%ED%85%8C%EB%A7%88%EC%B0%BE%EA%B8%B0/id1497642441 한국 주식 시장에서 새로운 사건이나 현상이 발생하여 증권시장에 큰 영향을 주는 일이 발생할 때 이런 현상에 따라 움직이는 종목들을 테마주라고 말합니다. 테마주나 관심주를 검색으로 손 쉽게 찾을 수 있으며, 인기테마 키워드를 메인화면에서 확인하거나 원하는 키워드를 저장하여 관리할 수 있습니다. 질문 및 기능에 대한 개선 요구 사항이 있으시다면 아래 비밀댓글로 남겨주세요. 감사합니다. [ 참고] * 주식 시세는 실시간 시세가 아닙니다. * 일부 종목은 시세가 표시가 안됩니다. * 테마찾기 앱의 모든 내용은 단순 투자 참고사항이..

Bitcode iOS9 에서 LLVM Compiler에서 Bitcode를 생성을 지원한다. Bitcode를 사용하는 경우 AppStore에서 필요한 경우에 해당 코드를 사용하여 다시 최적화 된 바이너리를 생성하여 End user에게 전송해 주는 역할을 담당한다. [오류내용] [해결방법] project -> Build Settings -> Build Options -> Enable Bitcode 'No' 변경 [참고] https://stackoverflow.com/questions/31088618/impact-of-xcode-build-options-enable-bitcode-yes-no

1. 아래 코드를 프로젝트에 추가해줍니다. extension NSMutableAttributedString { public func setAsLink(textToFind:String, linkURL:String) -> Bool { // 하이퍼링크를 추가하고자 하는 text의 위치, 글자 수 를 찾는다. let foundRange = self.mutableString.range(of: textToFind) // text의 위치 존재 여부 확인 if foundRange.location != NSNotFound { // 지정된 범위에 문자(링크)를 추가해준다. self.addAttribute(.link, value: linkURL, range: foundRange) // 위치가 맞다면 true 반환 retur..
- Total
- Today
- Yesterday
- riverpod
- UIGraphicsBeginPDFContextToData
- UIGraphicsBeginPDFPageWithInfo
- 스위즐링
- 클린 아키텍처
- 플로팅팝업
- SWIFT 자바스크립트연동
- swiftpdf
- 로버트C마틴
- SWIFT WebView
- NSMutableAttributedString
- mutableString
- pdfkit
- UIGraphics
- OOP
- ios
- 이펙티브 엔지니어
- NSNotFound
- 알고리즘
- ReactNative
- 객체지향의 사실과 오해
- Swift
- 에드먼드 라우
- SWIFT JQuery
- SWIFT JavaScript
- dfs
- llvm
- wkwebview
- Flutter
- 리팩터링