목록dev (33)
Ssul's Blog

ios앱을 개발중이다. 이번 목표는 아래와 같다. 유튜브 앱에서 공유하기 버튼을 누른다. 공유 가능한 앱에 내 앱아이콘이 등장한다.해당 앱 아이콘을 클릭하면, 내 앱으로 이동한다.내앱에 들어가서, 내가 원하는 메뉴를 띄우고, 공유하는 유튜브 링크를 붙여넣는다. 위 3가지 포인트가 완성되어야 한다. 어떻게 해야 할까? #1. ShareExtension(내 앱 아이콘이 등장 > 내 앱으로 이동 전까지)ShareExtension은 다른 앱에서 공유하기 눌렀을때, 내 앱아이콘이 뜨고, 그걸 클릭했을때 연결해주는 역할을 하는 녀석임. 1-1. Xcode → File ▸ New ▸ Target ▸ iOS ▸ Share Extension클릭- 적절한 이름을 설정하고 추가1-2. bundle Identifier설정- ..
요즘 텍스트 데이터는 마크다운과 이모지의 향연이다.당연히 해당 텍스트 데이터를 그대로 잘 표현해야 한다. 그럼 SwiftUI는 알아서 잘 표현 할 것인가?SwiftUI의 마크다운 표현 가능 여부를 알아보자. 후보#1. Text- 별도의 라이브러리 설치없이 사용가능하다- iOS 15부터 가능하다import SwiftUIstruct MarkdownTextView: View { let markdownString = """ # 제목 1 ## 제목 2 **굵은 글씨**, *기울임*, `코드` - 리스트 아이템 1 - 리스트 아이템 2 [링크](https://www.apple.com) """ var body: some View { ScrollView { ..
1. StateObject- view가 인스턴스를 생성하고 소유함- 보통 ViewModel이 해당 뷰에서만 쓰이거나, 상위뷰에서 초반에 전역으로 사용할 인스턴스 생성할때 사용 struct MyView: View { @StateObject var viewModel = MyViewModel()}//상위에서 생성해서 보낼때 사용struct TmpApp: App { @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate @StateObject var container: DIContainer = .init(services: Services()) var body: some Scene { WindowGroup { ..

2025년 새해 계획 중 하나가, 두달에 하나의 앱을 개발하는 것이었다.벌써 4월이 시작되었지만, 아직 첫번째 앱. 열심히 분발해서 6개의 앱을 완성해보자!!애플개발자 계정 본전은 뽑아야지 ㅜㅜ 첫번째 앱을 개발하면서, 미국/유럽 등 영어권 시장부터 출시하면 어떨까 생각하게 되었다.근데 이미 개발을 한참 진행 했더니.... 전부다 한글인 상황. 1. 아이폰 앱 중에서 영어와 한국어 두개 이상의 언어를 지원하는 앱들은 어떻게 하는 것일까?이미지 추가-Add Image마이페이지-My Page처럼 결국 무조건 해석해서 두개를 넣는 것은 당연할 것 같은데.... 그런 궁금증을 가지고 검색을 시작했다. 우선 결론은 String Catalog와 String File 둘중에 하나를 쓰면 된다.String File이 ..

1. IOS Push알림 개념이해ios는 서버에서 직접 푸쉬를 보낼수 없다. 중간에 APNs가 존재해서, 서버에서 push를 보내려면, APNs에게 보내고, 그걸 클라이언트에 보내는 구조이다.아래 그림과 같은 구조이다(1-2) 개인 핸드폰이 APNs에게 연결을 요청하고, 자신 고유의 토큰을 받는다.(3) 자신의 APNs고유 토큰을 서버에게 알려준다(4) 서버에서 push를 보내려면 APNs에게 클라이언트 토큰과 내용(payload), APN key를 보낸다(5) APNs는 검증을 마치고 push알림을 보낸다 2. 설정하기2-1. xCode에서 push Notifications 추가하기xCode - TARGETS - 프로젝트명 - Signing&Capabilities탭 - +Capability - pus..
1. 내가 이해하는 직렬화, 역직렬화 구분- A: 사람이 읽기는 어렵지만, 기계에게 효과적인 데이터(예: 0xB0, 0xA0)- B: 사람이 읽기는 편하지만, 기계에게는 비효율적인 데이터(예: {"id": 1, "contents": '첫번째 글'}) 직렬화: B -> A (dict -> bytes): 조금더 배우고나서 적음 > dict > byte역직렬화: A -> B(bytes -> dict): 조금 더 배우고나서 적음: byte > dict > 객체 2. Django에서 직렬화 이해(GET과정)DB에서 인스턴스 가져오기ins0 = Comment.objects.all()[0]serializer에 넣어서 dict객체로sr = CommentSerializer(instance=ins0) #instance에 ..

간단한 API서버는 EC2로 만드는 것보다, Serverless로 하는게 간편하고 좋다.AWS Lambda를 사용해서, gpt-4o-mini와 소통하는 api를 만들었는데... 계속 Layer연결에서 에러가 나서... 남겨놓는다.(나의 4시간ㅜㅜ) 우선 lambda로 serverless를 구현하는데는 총 3가지 작업이 있다.1. 람다 함수 코딩2. Layer연결(python 개발시 설치되는 라이브러리들을 lambda로 가져오는 작업. layer없이 import openai하면, 해당 모듈이 없다고 뜬다)3. api gateway연결 위 3단계의 내용은 https://issul.tistory.com/438 요글에 코드와 함께 잘 나와있다. 오늘은 실리콘 맥에서(m1부터~) Layer구성하는데 시행착오를 남..

1. Docker Image- 벽돌을 찍어내는 거푸집- 예: redis/python을 설치 한 우분투(운영체제) 거푸집, httpd거푸집 등 2. Docker Container- 이미지(거푸집)으로 찍어낸, 실제 인스턴스- 예: redis/python을 설치 한 우분투(운영체제), httpd서버 (참고) 간단 사용예시도커를 설치 후 아래 명령어를 입력하면,docker run httpd①나의 local 컴퓨터에서 httpd이미지를 찾는다. 없으면②퍼블릭 도커허브에서 해당이미지(latest)를 가져온다③가져온 이미지로 컨테이너를 제작한다④제작된 컨테이너를 실행한다 3. Container로 서비스 실행docker run httpd를 실행하면, 내 local에서 image찾고, 없으면 public허브에서 찾아..

0. 챗봇을 쉽게 만들수 있는 세상 - 그동안은 NLP연구와 알고리즘을 통해서, 챗봇이 동작하였다. - 하지만, GPT가 나오면서, 그동안 챗봇기술은 모두 비슷한 출발 선상에 서게 되었음 - 정말로 비슷한 출발 선상에 서게 되었을까? 그렇다면 나만의 상담챗봇, 그림그려주는 챗봇을 제작해보자! - 카카오챗봇 + openai + lambda(aws서버)를 통해서 24시간 동작하는 챗봇 만들기 1. 카카오채널 셋팅 - business.kakao.com 방문 - 오른쪽 상단 내 비즈니스 클릭 - 왼쪽 상단 채널 클릭 - 새 채널 만들기 클릭 - 작성해서 확인 클릭(채널 생성 완료) - 생성한 채널로 들어가서 - 오른쪽 하단에 채널공개, 검색허용 on으로 셋팅 - 왼쪽상단 채널 클릭 -> 서랍형태로 챗봇나오면 클..

#0. 프론트 글쓰기, 댓글 작업 - 백앤드에서 익숙한 CRUD - 프론트만 오면 왜 이렇게 헤깔리는지... 이번에 정리해보자!!! #1. api 정리 - 글쓰기/글목록: api/community/cp/ + post, get - 글상세/수정: api/community/cp/cp_id/ + post, get - 댓글쓰기/댓글목록: api/community/cp/cp_id/cpc/ + post, get - 댓글상세/수정: api/community/cp/cp_id/cpc/cpc_id #2. 글쓰기/글목록 작업 2-1. src/app/(route)/counseling/page.tsx - nextjs특성상 '도메인주소/counseling'으로 src/app/(route)/counseling/layout.tsx 접..