Swift 9

[Swift] WWDC19 Understanding Images in Vision Framework

Understanding Images in Vision Framework세션을 정리한 글입니다. Saliency정의: 이미지를 보고 가장먼저 시선이 끌리는 곳saliency에는 두가지 유형이있음attention base(주의 기반)human aspectedtrained on eye movements이미지가 표시될때 보는 위치에 따라 생성사람들이 이미지를 볼때 처음 보는 위치를 반영하고 강조표시함 objectness base(객체성 기반)foreground objectstrained on object segmentation이미지의 피사체를 강조하는것을 목표로함이미지의 피사체 분할에 대해 훈련  사람사진으로 비교해보면  attention base는 사람의 얼굴을 먼저 보는 경향이 있기 때문에 얼굴주변이 가장..

카테고리 없음 2024.11.16

[Swift] WWDC24 Explore Swift Performance(1)

WWDC24 Explore Swift Performance를 보고 정리한 글입니다! 🙇‍♂️ C언어에서는 깔끔한 기계어 코드를 얻을 수 있지만 Swift는 그렇게 간단하지 않습니다.코드를 잘 못 작성하면 메모리가 완전 난잡해집니다.대신 Swift는 C에서 제공하지 않는 다양한 추상화 기능과 클로저, 제네릭 등을 지원합니다 이러한 추상화 기능은 간단하게 구현되어 있지 않으며 명시적으로 malloc을 호출하듯이 명확한 비용을 알 수 없습니다What is Performance?만약 어떤 도구가 있어서 프로그램을 그 도구에 집어넣으면 하나의 숫자가 출력되고 그 숫자로 프로그램의 성능을 모두 알 수 있다면 얼마나 좋을까요Safari의 성능 점수가 9.2라고 출력되는것 같이 표시하고싶지만 그렇게 할 수는 없습니다..

iyOmSd/Title: Swift 2024.11.09

[Swift] 다음(Kakao) 우편번호서비스

https://postcode.map.daum.net/guide#usage Daum 우편번호 서비스 우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다. postcode.map.daum.net 회원가입할때 많이보던 기능이죠 주소를 검색해서 넣을 수 있어요!! 하 지 만 그냥 텍스트로도 할 수 있지만 그러면 정확도가 좋지않으니... 유효성 문제가 있을 수 있어요 클라이언트 입장에서 이 작업을 하기엔 쉽지않기 때문에 다른 API를 가져다 쓰거나 노가다.. 코딩을 통해 구현하죠 카카오 우편번호 서비스는 무료이고 key같은것을 발급 받지않아도되고 사용량 제한도 없어요! 그렇기 때문에 많이 사용..

카테고리 없음 2021.07.10

[RxSwift] bind, subscribe, drive

Rx를 사용하다보면 헷갈리는 용어들과 언제 사용해야 맞는 건지 등등 사용법은 비슷한데 다른 API들이 있어요 우선 사용하면서 느낀게 bind, subscribe, drive가 있었어요 각 개념들을 정리해보고 생각해 볼까요? 제일 기본적인 subscribe 되게길죠..? ㅎ... 대부분 구독한다라는 뜻으로 알고 사용해요 한 대상이 있고 subscribe를 하면 그 대상의 상태가 변하면 그 값을 받아 와서 처리할 수 있는 개념이에요 구독대상의 변하는 다음값, 에러시, 끝날시의 때를 알고 코드를 구현 할 수 있죠 다음은 bind 내부적으로는 subscribe를 사용하고 있네요 onNext만 매개변수로 받아서 사용하구요 따라서 subscribe에서 error컨트롤을 못 할 것 같죠?? 단순히 새로 생성되는 값을..

[Data Structure] Trie를 이용한 자동완성 구현

오늘은 이렇게 검색어를 치면 그 단어를 포함한 단어를 보여주는 자동완성을 구현해볼거에요 구현 하는 방법은 여러가지가 있을 수 있겟지만! 우선 방대한 리스트가 있거나 유동적인 데이터라면 서버와 통신을 통해서 자동완성을 구현하는 방법을 택하는게 좋을 것 같다는 생각이 들어요 이 게시글은 적당량(?)의 데이터를 가지고 자동완성을 구현하는거에요 Trie...?? Trie가 뭔지 알고 가야겠죠? Trie 트리 자료 구조 이구요 아래 그림과 같이 생겼어요 (빨간점은 단어가 끝났음을 의미해요, 아래에 이 점이 왜 있는지 이유가 나와요) 문자열을 탐색할 때 단순하게 하나씩 비교하면서 탐색을 하는것보다 훨씬 효율적 빠르게 탐색이 가능하다는 장점 각 노드에서 자식들에 대한 포인터(참조)들을 배열로 모두 저장하고 있다는 점..

[iOS] Swift Memory - COW (Copy On Write)

COW 처음 들어보는 분들도 있을거에요 정의를 먼저 말하자면 수정(쓰기)가 일어날때 복사한다 라는 뜻이에요 스위프트의 CollectionType인 Array, Dictionary, Set에 적용되는 개념이에요 참조를 통해서 불필요한 복사를 줄여서 메모리를 좀 더 아껴쓸 수 있어요 예시로 알아볼까요?? let a = [1...30] let b = a 이런 코드가 있어요 그럼 일반적으로 생각해보면 a도 30개의 배열을 할당 받고 b도 30개의 배열을 할당 받을 거에요 그쵸?? 배열 인덱스당 하나의 메모리를 할당 받아요 자료구조 배울 때 배열 처음[0]과 다음[1]인덱스의 주소값이 달랐던게 새록새록 기억나시나요..? 인덱스하나당 메모리를 할당받아요 만약 1000개, 10000개, 100000....0개 라면?..

[Swift] - MultiPart통신 (멀티파트 이미지업로드)

안녕하세요😁😁 body와 이미지를 같이통신을 하는 예제가 많이 없어서 정리해봤어요 이번 게시물은 통신을 하는데 이미지를 올릴 때... 어떻게 올리지?? 해본적이 있을거에요 그 방법에 대해서 알아볼거에요 이미지를 서버로 전송하는 방법에는 여러 방법이 있을거에요 제가아는 방법에는 1. 이미지를 baseString형으로 전환해서 String으로 전송하는 방법 (로그 찍어보시면... 엄청..길어요..) 이 방식을 사용한다면 문자열이 엄청 길어서 데이터가 크기때문에 좋지 않은것 같아요 2. 이미지를 Data로 전환해서 멀티파트로 전송하는 방법 저는 이 방법을 이제부터 설명할거에요!! 정의를 보면 multipart/form-data는 파일 업로드가 있는 양식요소에 사용되는 enctype 속성의 값중 하나이고, mu..

iyOmSd/Title: Swift 2020.04.11

[Swift] 날짜형식 변환하기, 시간차 구하기

+ 2020.03.02일 추가 업로드 안녕하세요😄😄 이번에는 날짜형식의 데이터를 자신의 입맛에 맞게 바꾸는 작업과 두 날짜간 시간차를 구하는 방법을 알아볼게요 가지고있는 날짜데이터를 원하는 패턴으로 나타내고 싶을 때가 있죠!! DateFormatter 이란 클래스를 이용할거에요 //데이터형식 2019-09-17 13:40:00 let format = DateFormatter() format.dateFormat = "yyyy-MM-dd HH:mm:ss" guard let startTime = format.date(from: self.start) else {return "?"} guard let endTime = format.date(from: self.end) else {return "?"} //원하는 형..

iyOmSd/Title: Swift 2019.09.17

[Objective-C] 스위프트 앱을 다시 만들어보기

안녕하세요 😄😄 기존에 만들었던 간단한 회원가입앱을 오브젝티브C로 다시 만들어 보려고해요 스위프트로 만든앱소개 링크는 아래를 참고하세요 실전을 공부하는게 되게 도움이 되거든요!! 처음부터 삐걱삐걱 오류가 많이났어요 클래스 만드는 방법을 몰라서요... 스위프트랑 달라서 헷갈리더라구요 처음에 할땐 저 처럼 어려워 하시는 분들을 위해 클래스를 한번 만들어 볼게요! 우선 파일을 만들거에요 저는 처음에 오른쪽끝에있는 Objective-C File로 만들었어요... 클래스파일하나 만드는거니까 이걸로해야지!! 하고 만들었지만 오류만 나고 헤맷어요... 저처럼 헤매시지 마시고 보통 만들듯이!! Cocoa Touch Class를 클릭하세요 오브젝티브C로 만들거니까 언어설정해주시구요 클래스는 NSObject로 할거에요 이..

iyOmSd/Title: Objc 2019.08.03