본문 바로가기

분류 전체보기

(53)
Static Framework, Dynamic Framework 이 글은 공부하는 것을 정리하는 목적으로 적는 글이오니 건전한 비판은 환영합니다. Static Framework - SDK 형태로 배포하는 경우 - 위의 그림에서 보듯이 Static Linker를 통해 Static Library 코드가 어플리케이션 코드 내로 들어가 Heap 메모리에 상주하게 됩니다. 따라서 Static Library가 복사되므로, Static Framework를 여러 Framework에서 사용하게 되면 코드 중복이 발생하게 됩니다. Static Framework를 사용하게 된다면 코드 중복이 발생하게 된다는 이야기가 너무 헷갈려서 좀 찾아보게 되었습니다. 어떤 예가 있어야 정확하게 이해할 수 있을까? Static Framework의 코드는 앱의 실행 파일에 직접 포함이 됩니다. 그래서 ..
MAC OS Update 후에 기존 Xcode가 안되는 현상 - 문제상황 기존에 ventura OS 13 버전에서 최근 나온 Sonoma 14로 업데이트 한 상황에서 Xcode의 14.2.0이 안되는 상황이 발현이 되었다. - 해결방안 스택오버 플로우에서 찾은 결과 터미널을 사용하는 방법이 있었다. 먼저 Xcode-14.2.0이 있는 곳으로 터미널을 켜서 이동한다.(터미널을 키고 드래그를 해도 된다) 그리고 터미널에 /Applications/Xcode-14.2.0.app/Contents/MacOS/Xcode 이와 같이 적어주면 14.2.0이 켜진다. 주의사항은 터미널을 꺼버리면 Xcode도 꺼진다. 참고자료 https://stackoverflow.com/questions/69994916/how-can-i-run-older-xcode-version-on-new-ma..
iOS 커스텀 프레임워크 만들기 이 글은 공부한 내용을 기반으로 정리하는 글 이오니 언제든 건전한 비판은 환영합니다. 1. FrameWork 만들기 먼저 FrameWork를 만들고자 한다면 Xcode를 키고 Framework & Library 로 클릭한다. 그리고 nest를 누른다음에 ProductName을 적어준다 여기서는 Secrets라고 product name을 적었다. 그러면 이렇게 파일형태가 나올 것이다. 유튜브에 찾아보니 product가 따로 생기면서 framework쪽이 생기던데 이번에 하면서는 보이지는 않았다. 그리고 해당 프로젝트로 들어가서 ios 타켓을 잡아준다. 그 이후에 swift파일을 만들어 준다. 여기서 위와같은 .swift 파일을 만들어 주었다. 해당 파일에 적은 코드를 보면 // // SecretsDemo...
에라토스테네스의 체, 소인수 분해 이 글은 공부한 내용을 기반으로 적는 글이오니, 건전한 비판은 언제든 환영합니다. 에르토스테네스의 체 에르토스테네스의 체는 언제 알고리즘을 사용하게 될까? 예를 들면 1~100 까지의 리스트에 담겨있는 정수가 있다. 여기서 문제가 소수는 몇 개인가 확인해야 하는 문제가 주어진다면 단순히 생각하기로는 이중 for문으로 찾을 수 있지만 그러면 너무 시간이 거대하게 걸린다. 하나하나 비교를 하다보면은 불필요한 계산이 행하여 진다. 그래서 어떻게 작성을 할꺼면 먼저 2부터 시작하여서 2의 배수이면 계산이 안들어가고 그 다음에 3의 배수 5의 배수 방식으로 들어간다. import java.util.ArrayList; public class Eratosthenes { public static ArrayList si..
ViewModel을 이용한 버튼 활성화 방법 이 글은 공부한 내용을 정리하는 글로 건전한 비판은 언제든 환영합니다. ViewModel이란? 간단히 말하면 ViewModel이란 view의 UI상태를 담당하기 위해 만들어진 클래스이다. 자세한 내용은 MVVM패턴에 대해서 설명한 내용이 있으니 참고하시면 좋겠습니다/ https://luca-os.tistory.com/m/61 그래서 어떻게 ViewModel을 이용하여 버튼을 활성화 할까? 먼저 스토리 보드는 간단하게 email, password, button 방식으로 구성하였고 프로퍼티 및 액션은 이렇게 작성하였습니다. ViewModel 작성하기 먼저 ViewModel이라는 파일을 작성하여서 TextField와 관련된 프로퍼티를 작성하여 줍니다. // // ViewModel.swift // ViewMod..
Objective-c xml 파싱, json 파싱 이 글은 공부한 내용을 정리하는 목적으로 적는 글이오니 건전한 비판은 언제든 환영합니다. XML 파싱이란 대략적으로 xml 파싱이란 이런 모양으로 생겼다. 한국 비 20 일본 맑음 19 중국 눈 14 스페인 우박 13 미국 흐림 2 영국 비 10 프랑스 흐림 15 브라질 흐림 35 스위스 맑음 13 덴마크 비 2 스웨덴 눈 0 네덜란드 비 12 크로아티아 맑음 30 필리핀 맑음 28 독일 눈 3 헝가리 비 13 벨기에 흐림 8 핀란드 우박 15 이탈리아 맑음 23 위의 글들을 보면 weatherinfo 안에 local이 들어가 있고 local로 감싸는 부분에 country, weather, temperature가 들어가 있으며, 역서 파싱할 것은 local 안에 있는 부분을 꺼내줘야 한다. 파싱할 대상들..
재귀함수 이 글은 공부한 내용을 정리하는 목적으로 적는 글이오니 건전한 비판은 환영합니다. 먼저 함수에 대해서 이야기를 해보자면 1. 값을 입력받아 특정 연산을 수행하는 결과를 반환 예를 들면 public static void main(String[] args){ System.out.println(getResult(3)); } static int getResult(int n){ return n*n; } 위와 같이 어떤 값을 함수에 넣었을 때 그 값을 받아서 어떠한 로직을 처리한 다음에 리턴해주게 되어있다. 2. 함수간의 완변학 분담 예를 들면 public static void main(String[] args){ System.out.println(getResult(3));결과 9 System.out.println..
Objective-C를 이용한 도서관리 프로그램 만들기 이 글은 공부한 내용을 기반으로 정리하는 글이오니 건전한 비판은 환영합니다. Property 내가 아는 선에서 Property는 getter,setter를 일일히 지정해 줄 필요없이, 자동으로 만들어준다. 그래서 먼저 Book파일을 만들어서 Propert를 만들어 주었다. 먼저 Book.h파일에서 #import @interface Book : NSObject @property (nonatomic,strong) NSString *name; @property (nonatomic,strong) NSString *genre; @property (nonatomic,strong) NSString *author; //@property (atomic) 하나씩 접근하려고 할 때 -(void)bookPrint; @end ..
시간복잡도 이 글은 공부한 내용을 기반으로 정리하는 글이오니 건전한 비판은 환영합니다. 시간 복잡도는 왜 알아야 할까? 같은 프로그램을 작성하였을 때 A라는 사람과 B라는 사람이 하나의 목표를 두고 작성을 하였다. A라는 사람의 프로그램을 실행하였을 때 3초가 걸리고, B라는 사람의 프로그램을 작성을 하였을 때 시간이 10초가 걸린다면 A라는 사람의 프로그램이 빠르기 때문에 1차원 적으로는 A의 시간이 더 빠르다. 시간 복잡도를 아는 방법은 먼저 프로그램을 돌리고 시간을 측정하였을 때, A-Z까지 시간으로 순서를 나누었을 때 일렬적으로 나눠질 수 있다. 즉 같은 입력을 제공하였을 때 어느 프로그램이 가장 빠를 수 있나 측정하는 것이 시간 복잡도이다. 빅 오 표기법 빅오 표기법이란? 시간에 가장 큰 영향을 주는 시간..
Objective-C 첫 시작 이 글은 공부한 내용을 정리하고자 하는 글이오니 건전한 비판은 환영합니다. Objective-C를 시작하게 된 이유는 들어간 회사에서 Objective-C를 사용하고 있기에, 급하게 준비한다. 오브젝티브-C 문법을 연습하기 위한 파일 요번에 알게 되었는데 오브젝티브-C의 문법을 연습할 때는 Xcode->new->macOS->Command Line Tool 순서대로 만들어서 클릭하여 준다. 그리고 중요한 것은 Language를 Objective-C로 작성해줘야 한다. 그러면 파일이 하나 생기게 됩니다. 프린트 해보기 저기 main 함수 안에서 NSLog라고 적힌 곳이 보인다. 저 명령어가 콘솔창에 찍는 것이다. 주의해야 할 점은 NSLog(@"") @이를 붙여주고 ""안에 다가 적는다면 콘솔창에 뜰 것이다..