소소한 일상과 잡다한 정보
반응형

APPLE 36

Mac(macOS)에서 SQL Server 설치가 직접 안 되는 이유

궁금한게 있어서 정말 열심히 테스트까지 진행해본 결과에 대해서 설명하겠다.... ( 이것저것 테스트 하느라 2시간은 사용한듯.. )우선 나는 회사에서는 Windows 노트북을 사용하고, 집에서는 MAC을 사용하는 유저로써..어차피 맥북에 페럴라이즈가 있으니 이쪽에 로컬로 SQL 서버를 구축해서 개발 데이터를 외장하드로 빼고 사용해보려고 별짓을 다 해봤다..도커도 설치 해보고.. 외장 SSD도 붙여보고.. 페럴라이즈에도 설치해보고...  결론은... 결국 SQL서버는 ARM 기반 즉, M1 이후의 칩셋부터는 설치가 불가능 하다는거다.. 이유를 확인해보자.✅ SQL Server는 Windows 기반 전용 소프트웨어Microsoft SQL Server는 윈도우 커널 기반 API, 서비스, 레지스트리 등 Win..

APPLE/Mac 2025.04.07

[ Swift ] ViewController Life Cycle

이번에는 ViewController Life Cycle에 대해서 알아보려고 한다. 보통 App을 만들때에 단일 스크린 위에서 여러개의 ViewController들로 화면 전환이 가능한 App을 만든다. App이 복잡해질 수록 Controller들을 잘 관리해주어야한다. 또한 알맞은 타이밍에 내가 원하는 코드를 작성해주는 것이 중요하다. 이를 위해서 ViewController Life Cycle을 이해해야한다. UIViewController 객체에는 View 객체를 관리하는 메서드들이 정의되어 있다. 이 메서드들은 각자 메서드들이 호출되어야하는 타이밍일때에 IOS의 시스템에 의해 자동으로 호출된다. UIViewController의 하위 클래스를 생성할 때에 Life Cycle 상황에 맞게 추가하여 사용할 ..

APPLE/Swift 2023.01.26

[ Mac ] 애플워치 맥북과 연동하기

이번에는 필자가 사용하는 애플워치를 맥북과 연동해서 애플워치로 잠금 해제를 하고 어플이나 프로그램을 설치할 때에 애플워치로 인증을 할 수 있는 방법에 대해서 진행해보려고 한다. 연동에 앞서서 애플 워치, 맥북이 같은 애플 아이디로 로그인 되어있어야 한다. 즉, icloud에 동일한 계정으로 로그인이 되어있어야 한다는 뜻이다. 그럼 이제 설정을 진행해보도록 하자. 시스템 설정에서 Touch ID 및 암호에 들어가면 Apple Watch 항목이 표기가 된다. 필자와 만약에 화면이 다르다면 OS 업그레이드 또는 칩셋이 다른 것으로 파악하면 되고, 다른 사용자들의 경우에는 개인정보 및 보안 항목의 탭에 있는 경우도 있다. 참고하여 자신의 설정 화면에 맞는 곳으로 들어가서 진행하면 된다. 해당 항목을 활성화 해주..

APPLE/Mac 2023.01.17

[Mac] Mac M1 칩셋 페러럴즈 설치

필자는 맥북이랑 좀 친해질겸... 그리고 맥북으로 공동인증서(구 공인인증서) 작업도 할겸 하여 페러럴즈를 설치해보려고 한다. 솔직히 말해서 윈도우 환경에서만 돌아가는 약간의 게임도 해보고 싶기도 하고... 그래서 필자는 회사 거래처를 통해서 페러럴즈 정품을 구매했다. ( 참고로 필자는 크랙쓰는 것을 상당히 싫어한다... 불법으로 할 필요가 있나.... 정정당당히 프로그램은 사서 사용하도록 하자....) 옛날에 맥북에서 인텔 CPU를 사용했을 때에는 페러럴즈를 쉽게 사용할 수 있었지만.. 칩셋이 바뀌고 나서인가??... 정확히는 잘 모르겠다.. 어느순간부터 유료화가 되어... 30일 체험판으로 사용할 수 있다고 하여... 필자는 정품을 좋아하는 사람임으로... 참고로 모든 프로그램 정품 아니면 사용하지를 ..

APPLE/Mac 2023.01.07

[ Swift ] 화면 전환 구현 2

이전에 진행했던 내용에서 추가적으로 StoryBoard를 이용한 부분이 아닌 Code로 화면전환을 진행해보도록 하자. 이전글에서 만들어놨던 code로 Push 와 Present 버튼을 활용하여 화면전환에 대해서 진행해보도록 할 예정이다. Code로 Push 버튼을 눌렀을 때 Code를 이용하여 네비게이션 스택에 새로운 화면이 표기되도록 구현해보자. 이전과 마찬가지로 ViewController와 Label, Button 을 추가하여 새로운 ViewController를 생성하였다. ViewController Class를 생성해주자. 이름은 CodePushViewController로 새로 하나 생성을 하였다. 이후 StoryBoard의 파일 인스펙터에서 추가한 ViewController의 클래스에 연결을 시켰..

APPLE/Swift 2022.12.06

[ Swift ] 화면 전환 구현 1

이번에는 화면 전환을 실제 프로젝트에서 어떻게 이루어지는 지 구현해보도록 할 예정이다. 보통 앱들은 단일화면 구성하는 App은 없다. 작은 회사인 경우에는 회사 소개에 관련된 1page 홈페이지가 있긴 하지만, App은 그런경우가 100% 없다. 우선 화면전환을 하는 경우는 크게 2가지 방식으로 나뉜다. 소스코드를 통해서 전환하는 방식 StroyBoard를 통해서 전환하는 방식 이렇게 2가지고 있고, 작게는 4가지로 분류가 된다. View Controller의 View 위에 다른 View 를 가져와서 교체하기 View Controller에서 다른 View Controller를 호출하여 전환하기 Navigation Controller를 사용하여 화면 전환하기 화면 전환용 객체 세그웨이(Segueway)를 ..

APPLE/Swift 2022.11.25

[ Swift ] UINavigationController

그전까지 간단한 속담 App을 만들어봤다. 이번에는 다른 App을 만들어보기 이전에 UINavigationController에 대해서 알아보자. 우선적으로 개념 설명을 위해서 Content View Controller 와 Container View Controller 에 대해서 언급하고 넘어가도록 하겠다. Content View Controller 화면을 구성하는 뷰를 직접 구현하고 관련된 이벤트를 처리하는 뷰 컨트롤러 흔히 StoryBoard 생성시 기본으로 생성되는 View Controller 라고 생각하면 편하다. Container View Controller 하나 이상의 Child View Controller를 가지고 있다. 즉, 자식 뷰 컨트롤러를 가지고 있다. 하나 이상의 Child View ..

APPLE/Swift 2022.10.12

[ Swift ] 간단한 랜덤 속담 App

이번에는 그동안 배웠던 내용을 토대로 간단하게 랜덤으로 속담이 출력되는 App을 만들어보려고 한다. 우선적으로 현재는 기초 단계의 App을 만드는 것이기 때문에 DB 연결은 하지 않을 것이다. 소스 안에 텍스트를 넣어서 랜덤으로 Label에 표기가 되도록 하는 예제이다. 우선 프로젝트를 하나 새롭게 생성을 하도록 하자. 이렇게 Project를 생성하고, 적당한 위치에 프로젝트 경로를 설정하여 Project를 생성을 하였다. Project 생성을 진행하였으니 이제 UI를 구성해보도록 하자. 이전에 진행했던 AutoLayout과 마찬가지로 StoryBoard에서 작업을 진행해보자. Label을 어떻게 추가하는지 모르는 분들이라면 이전 글을 다시 한번 복습하고 오기를 추천한다. 필자는 Label을 하나 만들었..

APPLE/Swift 2022.10.05

[ Swift ] IBOulet & IBAction

이번에는 IBOulet과 IBAction에 대해서 확인을 해보도록 하자. 그전에 AutoLayout을 통해서 만들어놨던 내용에서 IBOulet과 IBAction을 이용해서 코드에서 UI에 접근을 할 수 있도록 진행해볼 예정이다. StoryBoard에서 Scene화면에서 상단의 정렬 버튼을 클릭하면 Assistant를 선택할 수 있다. 해당 내용을 선택할 경우에는 ViewController와 연결된 코드가 나타나게 된다. Storyboard의 Scene과 Swift ViewController에 연결하는 방법은 인스펙트 메뉴에서 가운데 메뉴를 선택한 다음에 CustomCalss 섹션에서 Class에 연결하고 싶은 ViewController의 이름을 적으면 된다. 현재는 그전에 AutoLayout을 지정한 V..

APPLE/Swift 2022.10.03

[ Swift ] AutoLayout

이번에는 IOS 개발을 진행하면서 편하게 진행할 수 있는 AutoLayout에 대해서 진행을 해보려고 한다. AutoLayout 제약 조건( Constraints )을 이용해서 뷰의 크기와 위치를 지정하는 것 다양한 해상도 비율에 대응하기 위해 나온 기능 Android에서 유사한 기능으로 ConstraintLayout이 있다. 세로보기 화면 뿐만 아니라 가로보기 화면에서도 가능하다. 즉, 정리를 한다면 다양한 해상도의 비율을 제공하는 각각의 클라이언트 기기( 핸드폰 )에 알맞은 UI를 보여줌으로써 정말 간단히 정의하자면 약간 반응형이라고 생각해도 좋을 것 같다. 확인을 위해서 Xcode를 실행하고, StoryBoard를 찾아가보자. Sample로 만든 프로젝트에서 좌측 네비게이터에서 main을 클릭하고 ..

APPLE/Swift 2022.10.02

[ Swift ] ViewController

이번에는 ViewController에 대해서 알아보려고 한다. UIView에 대해서 먼저 짚고 넘어가야 한다. UIView 애플문서에 화면 직사각형 영역에 대한 내용을 관리하는 개체라고 명시 되어있다. 화면을 구성하는 요소의 기본 클래스라고 보면 된다. 위치와 크기를 가지는 사각형으로 배경색을 가지고 있고, 문자나 이미지 등의 컨텐츠를 가지는 것이 가능하다. UIView에 대한 애플 개발문서에 대한 내용은 링크를 참고해서 공부하면 더 좋을 것 같다. Apple Developer Documentation developer.apple.com Apple의 Developer 문서에 보다 자세하게 정의 되어있기 때문에 참고삼아 직접적으로 확인해보는 것도 나쁘지 않을 듯 싶다. UIView는 여러 UI 클래스 컴포..

APPLE/Swift 2022.10.02

[ Swift ] UIKit

이번에는 간단하게 앱을 만들기에 앞서 IOS의 기본적인 내용에 대해서 짚고 넘어가려고 한다. 보통의 개발자들이라면 UI관련된 내용이랑 MVC 모델의 대략적인 구성도 같은 내용을 먼저 알아야 하기 때문에 우선적으로 간단히 설명을 하고 진행을 해보려고 한다. Cocoa Touch Framework 란 IOS 개발환경을 구축하기 위한 최상위 Framework로 이해하면 쉽다. 일반적으로 IOS 개발을 위해 Object-C / Swift에서 상속해서 사용하는 UIkit, Foundation을 포함한 대부분의 클래스 객체들이 모두 Cocoa Touch Framework에 속한다고 보면 된다. Cocoa Touch Framework 중에서 가장많이 사용되는게 UIkit과 Foundtation이다. Foundatio..

APPLE/Swift 2022.10.02

[ Xcode ] UI 설명

Xcode의 UI에 대해서 설명을 진행해보도록 하자. XCode는 크게 툴바 / 네비게이터 / 에디터 / 인스펙터 / 디버그 영역으로 나눌 수 있다. 툴바 영역은 워크스페이스의 가장 위쪽에 있는 내용 앱의 빌드 및 실행이나, 스키마 및 시뮬레이터 설정을 관리한다. 전체적인 프로젝트의 상태와 결과를 나타내기도 하며 각종 보조적인 창을 여닫는 영역이다. 네비게이터 영역은 워크스페이스 왼쪽에 위치한 영역이고, 프로젝트의 구조와 어떤 파일들이 있는지 확인할 수 있다. 파일을 한눈에 살펴보고 관리할 수 있도록 해준다. 에디터 영역은 코드를 만드는 대부분의 핵심적인 작업이 이루어지는 영역이다. Xcode의 대부분을 차지하는 영역이다. 인스펙터 영역은 다양한 객체들에 대한 속성을 관리하는 영역. 파일이나 인터페이스 ..

APPLE/Xcode 2022.10.02

[ Xcode ] Project 생성

Swift의 기초 문법에 대해서 어느 정도 공부를 하면서 포스팅을 진행했다. Swift의 내용에 대해서는 대략적으로 코딩은 가능할 정도를 만들어놨고, 천천히 조금더 공부를 하여 IOS App 개발을 진행보자. 우선 이번에는 IOS App 개발 진행에 대한 Xcode Project 생성에 대해서 알아보자. Xcode를 실행하여 Create a new Xcode project 버튼을 클릭하자. 기존에 Git을 사용하는 사람들이라면 Git에 있는 프로젝트를 가져오기 위해서는 Clone an existing project를 진행하면 된다. IOS App 개발을 위해서 상단 네비게이터에서 IOS를 선택하고, Application에 App을 선택하여 Next를 진행한다. Project의 정보를 등록하는 화면이다. ..

APPLE/Xcode 2022.08.26

[ 기초 문법 ] 고차함수 ( map, filter, reduce )

이번에는 고차 함수에 대해서 확인을 해보도록 하자. 고차 함수 다른 함수를 전달인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수 Swift의 함수는 일급 객체이기 때문에 함수에 전달 인자로 전달할 수 있고, 함수의 결과 값을 반환할 수도 있다. Swift에서 제공하는 고차 함수는 map, filter, reduce 3가지가 있고, 모두 컬렉션 타입에 구현이 되어 있다. 대략적인 고차함수의 정의에 대해 알아봤다. 이 내용을 토대로 고차 함수의 종류를 하나씩 살펴보도록 하자. map 컨테이너 내부의 기존 데이터를 변형하여 새로운 컨테이너를 생성한다. 자신을 호출할 때에 매개변수로 전달된 함수를 실행하여 그 결과값을 다시 반환해준다. 상수 numbers 배열을 선언하였고, 배열의 초기값으로 2, 4, 6..

APPLE/Swift 문법 2022.08.25

[ 기초 문법 ] Closure

이번에는 Closure에 대해서 확인을 해보도록 하겠다. Closure 참조 타입이고, 코드에서 전달 및 사용할 수 있는 독립 기능 블록이며, 일급 객체의 역할을 할 수 있음. 일급 객체 : 전달인자로 보낼 수 있고, 변수/상수 등으로 저장허거나 전달할 수 있으며, 함수의 반환값이 될 수도 있다. 클로저는 이름 없는 함수, 익명 함수를 지칭한다. ( named closure, unnamed closure ) 클로저는 2가지를 포함하지만 보통 unnamed closure를 말한다. 클로저에 대한 간략한 정의에 대해서 확인해봤다. 클로저의 사용 방법에 대해서 확인해보도록 하자. { 매개변수 -> 리턴 타입 in 실행구문 } 클로저는 익명 함수라서 func 키워드를 사용하지 않고, 클로저는 헤드와 바디로 이루..

APPLE/Swift 문법 2022.08.24

[ 기초 문법 ] try-catch

이번에는 오류 처리르 위한 try-catch에 대해서 확인을 해보려고 한다. try-catch 프로그램 내에서 에러가 발생한 상황에 대해 이를 복구하는 과정 런타임 에러가 발생한 경우 발생(Throwing) / 감지(catching) / 전파(propagating) / 조작(manipulating)을 지원하는 1급 클래스를 제공한다. 프로그램에서 개발자가 원하는데로 모든 기능이 제대로 작동한다고 100% 장담할 수 없다. 예를 들어 디스크에 파일을 저장하는 것을 생각해보면, 디스크의 용량이 꽉차서 파일을 저장 못할 수도 있고, 쓰기 권한이 없어서 파일을 저장할 수가 없을 수도 있다. 이렇게 파일을 디스크에 저장하는 간단한 기능에도 오류가 발생할 수 있는 가능성이 여럿 존재한다. 오류 처리 기능을 통해 이..

APPLE/Swift 문법 2022.08.24

[ 기초 문법 ] 옵셔널 체이닝

이번에는 옵셔널 체이닝에 대해서 내용 확인을 진행해보려고 한다. 옵셔널 체이닝이란? 옵셔널에 속해 있는 nil 일지도 모르는 프로퍼티, 메소드, 서브 스크립션 등을 가져오거나 호출할 때 사용할 수 있는 일련의 과정 약간 옵셔널 바인딩과 개념이 비슷하다고 볼 수 있다. 간단한 예제를 통해서 옵셔널 체이닝에 대해서 확인을 해보도록 하자. FoodCourt 라는 푸드코드 구조체를 생성하였다, FoodCourt 구조체 안에는 FoodCourt의 이름을 상수로 선언하였고, 직원 구조체인 Employee를 가져온 employee 변수를 생성하였다. 직원이 없을 수도 있음을 가정하에 employee 변수는 옵셔널로 선언을 하였다. koreanfood 라는 FoodCourt의 인스턴스를 생성했고, name을 비비고, ..

APPLE/Swift 문법 2022.08.23

[ 기초 문법 ] 열거형

이번에는 계속 그전에 기초 문법을 작성할 때에 계속해서 열거형 열거형 언급을 했었는데 제대로 작성을 하지 않았기 때문에 이번에는 열거형에 대해서 작성을 해보도록 하자. 열거형 연관성이 있는 값들을 모아 놓은 것 예를들어 프로그래밍 언어 ( C언어, 파이썬, java, c++ 등 ) 열거형의 사용은 enum 사용 C언어의 경우 값의 집합이지만 Swift에서는 값을 처음에 제공하지 않고 사용할 수 있다는 차이점이 있다. 초기 케이스 값을 제공하기 위해 initializer를 정의할 수도 있다. 표준 기능을 제공하기 위해 프로토콜을 준수할 수 있다. 대략적으로 열거형의 정의에 대해서 확인을 해보았다. 쉽게 연관이 있는 내용들의 값의 집합이라고 생각하면 편하게 이해를 할 수 있을 것 같다. enum 사용 방법 ..

APPLE/Swift 문법 2022.08.22

[ 기초 문법 ] Extension

이번에는 스위프트에서 강조하는 확장의 기능에 대해서 확인해보도록 하자. 스위프트에서 왜 강조를 하는지 모르겠지만.. 그냥 다른 언어에서는 약간 다르게 활용하는 extension을 좀더 편하게 쓸 수 있다는 것을 강조하는 것 같다.. 공부를 해보고 좀 활용을 해보니까 굳이?? 이렇게 강조를 하면서 설명을 할 이유인가 하는.. 왜냐면 어차피 C나 JAVA 에서도 비슷한 내용은 있으니까... 그래도 우선 Swift의 Extension에 대해서 한번 알아보도록 하자. extension 기존의 클래스, 열거형, 구조체, 프로토콜에 새로운 기능을 추가하는 기능 익스텐션이 타입에 추가할 수 있는 기능 연산 타입 / 연산 인스턴스 프로퍼티, 타입 메소드, 인스턴스 메소드, 이니셜라이저 서브스크립트, 중첩타입, 특정 프..

APPLE/Swift 문법 2022.08.22
반응형