본문 바로가기

전체 글

(122)
Kakao Maps API with Swift iOS에서 카카오맵을 연동해보겠습니다. 다음 링크를 가서 SDK를 다운받고 설명을 읽어봅니다. https://apis.map.kakao.com/ios/guide/ 파일의 이름에 DaumMap이라고 나와 있네요. 이름 바꿀 생각도 없고, Swift로 제공할 생각도 없어보입니다. 네이버는 CocoaPods로 제공하던데 카카오는 좀 귀찮네요. 파일을 다운받았으면 다음 링크에서 키를 발급 받습니다. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 어플리케이션을 추가하고 iOS 플랫폼을 등록합니다. 앱..
Docker 환경에서 MySQL 타임존 변경 MySQL을 사용중입니다. 운영서버는 따로 있고 Local개발환경에서 Docker를 통해 MySQL을 설치하여 사용중입니다. Server는 멀쩡했는데 Local환경에서 시간이 잘못 입력되는것을 확인했습니다. Docker로 설치된 서버의 Shell환경으로 진입해서 타임존를 설정해보겠습니다. 수정하기전에 리눅스 배포판 종류를 확인합니다. Debian이라고 나오니 apt-get 명령어를 이용하면 되겠습니다. 우선 apt-get update 명령어를 통해 패키지 정보를 갱신해줍니다. 타임존 설정을 위한 tzdata를 설치합니다. 설치 후 나온 안내대로 dpkg-reconfigure tzdata 를 실행합니다. 이후 나오는 안내대로 6번과 69번을 순서대로 선택합니다. 확인해보면 타임존이 Asia/Seoul로 수..
Environment Variables in create-react-app react로 개발할 때 spring profile처럼 상황에 맞게 환경변수를 정의하는 방법을 알아보겠습니다. 일단 다음과 같이 create-react-app을 이용하여 프로젝트를 생성합니다. 생성완료된 프로젝트를 Visual Studio Code로 열고 터미널에서 yarn start명령을 통해 실행해보겠습니다. 이상없이 프로젝트가 생성된것을 확인했으면 이제 환경변수를 정의해보겠습니다. 제일 중요한것은 새로운 환경변수의 정의는 무조건 접두어 "REACT_APP_"으로 시작해야 됩니다. 이제 package.json에 환경변수를 정의하고 react 파일에서 정상적으로 로딩되는지 테스트를 진행해 보겠습니다. scripts 에 다음과 같이 새롭게 정의하고 "start:env": "cross-env REACT_AP..
Cloud SQL in GCP GCP의 서비스중 Cloud SQL을 사용하고자 합니다. 사용하기전에 개인 계정으로 테스트를 진행해봤습니다. Cloud SQL은 MySQL, PostgreSQL, SQL Server 3가지 종류를 서비스하고 있는데 그중에 MySQL을 사용하고자 합니다. https://console.cloud.google.com/ 에 들어가서 프로젝트 선택하고 왼쪽의 SQL이라는 메뉴를 클릭합니다. 인스턴스 만들기를 클릭합니다. MySQL을 선택합니다. 인스턴스 ID와 루트 비밀번호를 입력하고 서울 리전으로 선택하고 생성버튼을 클릭합니다. 작년까지만 해도 서울리전이 없었는데 이제는 있네요. 생성버튼을 클릭하면 빙글빙글 돌아가는 Indicator가 보이고 5분정도 시간이 지나면 생성이 완료됩니다. 생성완료후 MySQL Wo..
Mapped Statements collection does not contain value in IntelliJ Eclipse를 계속 사용하다가 이번에 IntelliJ로 교체하게 되었습니다. 프로젝트는 Spring Boot으로 만들어진 프로젝트이고 데이터베이스 연결을 위해 MyBatis를 사용하고 있었습니다. IntelliJ에서 Git으로 부터 소스를 연동하고 실행을 하니 다음과 같이 오류가 발생했습니다. Eclipse에서는 잘 실행되던 소스였는데 왜 안되는지 이유를 처음에는 알지 못했습니다. Spring 관련 로그를 자세히 살펴보니 이유가 xml로 작성된 Mapper파일을 찾지 못해서 발생한 오류였습니다. 저는 특정 package아래에 Dao 클래스와 xml파일을 같이 두고 있었는데 그 경로가 /main/java/ 아래에 있었습니다. Eclipse는 아무 문제가 없으나 IntelliJ는 java 디렉토리 아래에 ..
Alamofire 간단하게 사용하기 Rest API를 호출하기 위해 가장 유명한 Swift 라이브러리인 Alamofire를 사용해보겠습니다. Alamofire에 대한 정보는 다음 주소에서 확인할 수 있습니다. https://github.com/Alamofire/Alamofire Alamofire/Alamofire Elegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub. github.com 우선 CocoaPods를 이용하여 설치를 진행하겠습니다. 테스트에 사용할 API를 curl을 통해 다음과 같이 확인하였습니다. 이제 확인한 API를 Alamofire를 통해 사용해보겠습니다. // // Rest..
Xcode 에서 GitLab 연동하기 처음에 Xcode를 사용할때는 SVN연동도 메뉴가 존재했었는데 (이때 기억으로는 처음엔 콘솔에서 CheckOut해서 진행했던걸로 기억하는데 많이 편하네요.) 이제 없으지고 다음과 같은 모습으로 바뀌었습니다. 사용하고 있는 Xcode 버전은 다음과 같습니다. (Version 11.4.1 (11E503a)) 우선 GitLab에 연결하기 위해서는 Personal Access Token 이란게 필요합니다. 브라우저에서 GitLab 에 접속하여 Token을 생성합니다. 토큰을 생성하는 메뉴는 오른쪽 상단 아이콘을 눌러 사용자 컨텍스트 메뉴를 보면 Settings라는 메뉴를 클릭합니다. 클릭하면 왼쪽 사이드에 메뉴가 나타나는데 메뉴중에 보면 Access Tokens 라는 메뉴가 있습니다. 오른쪽에서 이름을 넣고 필..
위치서비스를 위한 권한 상태값 가져오기 위치서비스를 사용할 때 사용자에게 요청한 권한에 대한 상태값 정보가 필요할때가 있습니다. 이 상태정보는 코어로케이션의 CLLocationManager.authorizationStatus() 함수를 통해 알아낼 수 있습니다. enum CLAuthorizationStatus rawValue value description 0 notDetermined 사용자가 아직 아무런 결정도 하지 않은 상태 1 restricted 위치정보를 사용할 수 있는 권한이 없는 상태 2 denied 사용자가 권한을 명시적으로 거부했거나 설정에서 위치 서비스가 비활성화되어 있는 상태, 위치접근허용: 안 함 3 authorizedAlways 사용자가 언제든지 자신의 위치를 사용할 수 있는 권한이 있는 상태, 위치접근허용: 항상 4 a..