목록전체 글 (393)
나의 발자취
수업 중에 유용한 것을 알게 되어서 포스팅을 작성한다. JMESPath란?JMESPath는 JSON 데이터를 다루는 데 매우 유용한 도구이다. 간편한 문법과 강력한 기능 덕분에 API 응답 처리, 로그 분석, 데이터 변환 등 다양한 분야에서 활용할 수 있다. JSON 데이터 작업이 필요한 개발자라면 JMESPath를 적극적으로 활용해 보아야 한다. JMESPath의 주요 특징간결한 문법: JMESPath는 직관적인 문법을 제공하여 JSON 데이터를 쉽게 탐색하고 변환할 수 있다. 이를 통해 복잡한 데이터를 더 명확하게 이해할 수 있다.강력한 기능: 배열, 객체, 필터링, 정렬 등의 다양한 기능을 지원하여 복잡한 쿼리도 간편하게 작성할 수 있다.다양한 언어 지원: JMESPath는 Python, Java..
Codable이란?• Swift4 에서 도입된 Protocol• public typealias Codable = Decodable & Encodable• Decodable 과 Encodable로 구성• Encodable은 Struct, Class, Enum 등의 인스턴스를 JSON 데이터로 변경시켜줌• Decodable은 JSON 데이터를 Struct, Class, Enum 등의 데이터로 변경시켜줌 Codable Encode일단 구조체의 프로토콜을 Codable로 설정한다.import UIKitstruct Person: Codable { let name: String let age: Int}let person = Person(name: "John", age: 20)let json = try?..
disclaimer: 방탄 팬 아니지만 제공받은 리소스가 이것 뿐으로, 저작권 때문에 모자이크함.unwind 세그 구현하기 리스트를 새로 추가하면 plist에 업데이트가 되면서, 뷰에도 나타날 것이다.문제는, 새로 추가하는 화면에서 뒤로 가기를 해야한다. 여기서 착각을 많이 하는 부분이 있는데,데이터 로드는 테이블뷰에서 하기 때문에 Unwind 관련 메서드는 테이블뷰가 있는 MainTableViewController에서 해주어야 한다.(viewWillAppear 는 하수.. 금지) MainTableViewController.swiftViewDidLoad 아래에 IBAction을 만들어준다. Main.storyboard exit에 마우스 우클릭을 해보면 방금 메인에서 만들었던 함수가 나온다. 라디오 ..
UIImagePickerController: UIPickerView에서 다 처리를 했지만, 보안문제로 나누어지게 되었다. UIImagePickerController & PHPickerViewController이걸 이용하려면, 권한 설정 알림창을 구현해주어야한다. 아래와 같이 Application Scene Manifest 아래에 Privacy - Camera Usage Description 옵션을 추가해준다.왜 접근하려하는지 이유를 자세히 써주지 않으면 reject 당한다. 다음으로 코드를 작성한다. UIImagePickerController()의 객체인 camera의 sourceType은 .camera만 가능하고, 나머지 기능들은 deprecated된 것을 알 수 있다. 이렇게 구현하면 에러가 나기 ..
새롭게 Property List 파일을 생성한다. 클릭해서 보면, Root 는 Dictionary로 되어있다. 이걸 Array로 바꾼다. (왜냐하면 최종적으로 보여지는 데이터 포맷은 array여야 하므로) 하위 경로에 생성될 데이터는 한 인물에 대한 정보이므로, Dictionary type으로 바꿔준다. 상세 데이터를 정의해주고, Cmd+C/ V 를 해준다. 이렇게 뷰도 만들어준다. 코코아 터치클래스 만들고 연결해주기.데이터는 plist에 담겨있다. 이제 Bundle이라는 것을 만들게 되는데, 우리가 만드는 bts.plist, image 같은 것들을 하나로 모아서 zip 파일로 만든다. 그 이후 샌드박스에다가 복사를 해서 그것을 실행을 하게 된다.그럼 우리가 만든 plist는 번들 안에 담기게 되..
MongoDB?MongoDB는 스키마가 없는 NoSQL 데이터베이스로, 각 문서가 서로 다른 구조를 가질 수 있다.따라서 유저별로 각기 다른 프로필(e.g. Social Media)을 갖고 있을 때, 로그인 데이터나 이벤트 데이터 저장할때, 이벤트 조인이 필요없는 경우, 대규모 분산시스템(복잡한 트랜젝션), 실시간 데이터 분석, log data 처리 등은 몽고DB로 하면 효율적으로 관리할 수 있다. 특징 6개를 정리해 보았다. 1. 유연한 데이터 구조이를 통해 유저별로 각기 다른 프로필 정보를 저장할 수 있다. 예를 들어, 사용자 A는 소셜 미디어 정보가 포함된 프로필을 가지고, 사용자 B는 다른 유형의 정보를 가질 수 있다. 2. 이벤트 조인이 필요없는 경우MongoDB는 문서 지향 데이터베이스이기 때..
RESTful API 인증가장 간단한 인증 방식클라이언트가 인증을 위해 사용자 이름과 비밀번호 인코딩동작 원리1. 클라이언트가 jttp 요청 헤더에 auth 추가.. 토큰 인증 (오늘 구현할 것)클라이언트가 서버에서 발급받은 토큰을 이용하여 인증토큰은 주로 JSON Web Token(JWT) 형식 OAuth 2.0 (애플, 카카오 로그인 등)인증 및 권한 부여 프레임워크클라이언트가 다른 서비스의 리소스에 접근할 수 있는 권한을 부여하는 방식주로 소셜 로그인, 서드 파티 api 접근 등에 사용 API 키 인증공개 비공개 키를 사용하여 api 요청주로 서드 파티 애플리케이션에서 사용클라이언트가 api 키를 헤더나 쿼리 매개변수로 전송 프로젝트 시작2024.10.17 - [Backend] - [Node.j..
지난 포스팅2024.10.17 - [Backend] - [Node.js] 시퀄라이즈 게시판 첨부파일 기능 구현하기 [Node.js] 시퀄라이즈 게시판 첨부파일 기능 구현하기지난 포스팅2024.10.16 - [Backend] - [Node.js] sequelize-CLI 기존 테이블 필드 추가, 외래키 association 적용 [Node.js] sequelize-CLI 기존 테이블 필드 추가, 외래키 association 적용이전 포스팅에 이어서 바로 적는wildguess.tistory.com 관련 포스팅 - 이전에 했던 내용이 일부 반복된다. MVCS 패턴MVCS 패턴은 애플리케이션을 구성하는 네 가지 주요 컴포넌트로 이루어져 있다: Models, Services, Controllers, Views..