![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bpd7ea/btsL12ktfF2/VKL1ikxRMDnUsNnQzONUe0/img.png)
CloudKit으로 iCloud 동기화를 구현하다가 시뮬레이터에서는 잘 되는데 실기기에서는 안되는 문제에 부딪혔다! 그래서 이 문제를 해결하는 방법을 정리해둔다.CloudKit 콘솔은 이렇게CloudKit 콘솔에 들어가는 방법은 크게 두 가지이다. 아래 링크를 클릭하거나, xcode에서 Signing & Capabilities에서 iCloud 영역의 [CloudKit Console] 버튼을 누르면 된다.https://icloud.developer.apple.com/ 로그인 - Apple idmsa.apple.com 시뮬레이터는 Development, TestFlight는 Production 우선 CloudKit에서 보면 Development와 Production이 있다. 시뮬레이터는 Development..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/biBZWO/btsL3pMpZXa/AK48UlXOSxcRWG41oR0UMK/img.png)
이번에는 구독해야 사용할 수 있는 앱을 개발하려고 샌드박스 계정을 생성했는데 이게 꽤나 복잡해서 정리해본다.샌드박스 계정으로 사용할 이메일 생성 샌드박스 계정은 테스트 목적이므로 제한적으로 사용되지만 어쨌든 실제 이메일은 로그인 인증 등의 이유로 필요하다.(같은 이유로 로그인할 때 인증 문자를 받을 핸드폰 번호도 필요하다.) 그래서 이메일을 먼저 생성한다. 이렇게 되면 샌드박스 계정을 삭제/추가할 때마다 새로 이메일을 만들어야 하는 번거로움이 생길 수 있는데, 이때 Gmail의 플러스 주소 기능을 사용하면 된다. 기본 이메일이 example@gmail.com이라고 하면 아이디 뒤에 +원하는문자를 추가하여(예를 들자면, example+tester@gmail.com) 각각 다른 이메일처럼 보이지만, 모든 메..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/XZ634/btsL3sa0I6a/YKNl5xebV2TyLVewD5IokK/img.png)
원래 재미삼아 iOS앱을 만들고 있었는데, 이제 본격적으로 유료앱을 출시해보고자 준비해왔습니다. 아래에 자세하게 그 과정을 적어놨으니 참고해 주세요.사업자등록 신청 (소요기간 2일) 우선 유료앱 개발을 하기 위해서는 사업자등록을 신청해야 합니다. 저의 경우, 개인사업자로 신청했고 신청할 때 아래 링크를 참고했습니다.https://gran007.tistory.com/entry/%EC%9C%A0%EB%A3%8C-%EC%95%B1-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B0%9C%EC%9D%B8%EC%82%AC%EC%97%85%EC%9E%90-%EB%93%B1%EB%A1%9D 유료 앱 개발을 위한 개인사업자 등록한국은 앱스토어 플레이스토어에 유료앱 등록을 위..
type설명효율성all테이블 전체를 처음부터 끝까지 탐색하며 데이터를 조회(인덱스 활용 X)비효율적index인덱스 테이블을 처음부터 끝까지 탐색하며 데이터를 조회all보다 효율적const고유 인덱스(unique 제약조건)나 기본키를 사용하여 1건의 데이터를 바로 조회아주 효율적range인덱스를 사용해 범위 데이터를 조회(e.g., BETWEEN, >, 효율적범위가 크면 성능 저하ref비고유 인덱스를 사용(unique가 아닌 컬럼에 인덱스가 있는 경우)중간 효율성특징refindex사용 조건비고유 인덱스를 조건과 함께 사용조건 없이 인덱스 전체를 탐색반환 데이터조건에 맞는 특정 행(들)인덱스 전체효율성더 효율적(필요한 데이터만 검색)덜 효율적(전체 탐색 필요)예시WHERE 조건과 함께 특정 값이나 범위를 탐..
파이썬프로그래밍기초 원래 파이썬을 하긴 했는데 업무하면서는 계속 자바만 써서 듣게 된 파이썬프로그래밍기초. 1학년 과목이라 그렇게 어렵지 않았다. 출석과제도 무난한 난이도. 시험에서도 딱히 어려움을 못 느껴서 무난하게 A+을 받았다.(내기준)프로그래밍언어론 조금 난해하긴 했지만 어떻게 프로그래밍언어가 만들어졌는지 이해할 수 있었던 과목이었다. 수업을 제대로 안 들으면 중간과제물은 진행하기 어려워서 수업을 몇 번이고 다시 들으며 중간과제물을 했던 기억이 난다. 시험도 마냥 쉽지는 않아서 준비를 열심히 해야 했다.선형대수 내가 목표로 하는 게 AI 관련 공부였는데, AI를 하려면 기초적으로 이산수학+선형대수를 거쳐야 해서 들었다. 나는 고등학생 때 문과여서 벡터라는 개념도 생소했는데 수학을 아예 싫어하진 않..
자바 진영의 JPA와 TypeScript 진영의 TypeORM은 비슷한듯 다르다. 서비스 개발을 하면서 TypeORM을 사용했을 때는 TypeORM로 데이터를 조회할 때 자동으로 SoftDelete된 데이터는 제외해주는 기능이 있었는데, JPA에는 그런 기능이 없는 것이다.import jakarta.persistence.*;import org.hibernate.annotations.*;@Entity@SQLDelete(sql = "UPDATE my_table SET is_deleted = true WHERE id = ?")@Where(clause = "is_deleted = false")public class MyEntity { @Id @GeneratedValue(strategy = Genera..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cd3UbG/btsI4TDKVrC/4xh1waANcdQ2QfgRijyF5k/img.jpg)
드디어 만 3년차가 되었다. 사실 만 3년차 회고가 한참전에 올라갔어야 했는데 중간에 결혼을 하는 바람에 조금 늦어졌다. 이전 회고가 궁금하다면 아래 링크로.https://dakafakadev.tistory.com/219 만 2년차 회고우여곡절 끝에 개발자로 일한 지 만 2년이 되었다. 지난 2년을 돌아보니 좀 더 성장하지 못했다는 아쉬움이 남는다. 분명 더 성장할만한 기회들이 있었을텐데. 지난 만 1년차 회고를 오랜만에 읽dakafakadev.tistory.comhttps://dakafakadev.tistory.com/168 만 1년차 회고정신없이 업무를 하고 공부를 하다보니 어느새 만 1년차가 되었다. 갓 입사했을 때의 나와 비교하면 많이 성장했구나싶다가도 아직 많이 부족하다는 생각이 든다. 첫 회사..
상황 EC2는 총 세대가 있다. 두 대는 서비스용, 한 대는 서비스 관리용으로 프로메테우스 + 그라파나가 실행중이다. 그런데 이 EC2끼리 보안을 이유로 https로 통신하도록 만들어야 하는 상황이 있었다.문제 AWS에서 인증서 발급을 무료로 해주긴 하지만, 그건 도메인이 존재하는 경우였고, 도메인이 있어서 발급을 받는다해도 AWS에서는 인증서 파일을 제공하지 않을 뿐더러 인증서는 EC2에 바로 연결할 수 없고, 로드밸런서 등을 연결해야 했다. 하지만 더 큰 문제가 있었는데 우선 서버 자체가 https로 실행되어야 하기 때문에 서버 자체에 인증서 파일이 필요했다. 이제 서버 자체에 인증서 파일을 어떻게 만드느냐가 문제였다. Caddy를 사용할까 했지만 이것도 애초에 self-signed 인증서이고, 설정..