🩵 아키텍처란? 아키텍처는 시스템 전체를 이해하고 설계하기 위한 체계적인 방법이며, 기본적으로 시스템의 구조와 조직을 결정하는 과정입니다. 다양한 측면에서 시스템을 분석하고 설계함으로써 특정 문제나 요구사항에 대한 효과적인 해결책을 찾아냅니다. ✔️ 구조 설계 아키텍처는 기본적으로 컴포넌트와 모듈의 구조를 결정합니다. 이는 각각의 역할과 책임을 명확히 정의하고, 이들이 어떻게 상호 작용하는지를 결정하는 과정을 포함합니다. ✔️ 상호 작용 및 데이터 흐름 컴포넌트 간의 상호 작용과 데이터의 흐름을 명확히 정리합니다. 이는 시스템의 효율성과 일관성을 유지하는 데 중요한 역할을 합니다. ✔️ 기능, 성능, 보안, 확장성, 유지보수성 고려 아키텍처는 시스템이 수행해야 하는 기능을 충족시키는 것뿐만 아니라, 성능..
전체 글
🩵 그동안 한 일 ✔️ 2번의 팀 프로젝트 한 번은 키오스크 앱, 한 번은 영화 예매 앱을 만들었다. 심지어 영화 예매 앱은 팀이 바뀌었었는데 또 팀장이었다. 그러면 무려 3주나 되는 이 기간동안... 블로그에 포스팅할 게 아주 많은 이 기간동안 왜 블로그를 방치했느냐 하면.. 거짓말 안하고 정말 이 상태였다. 뭔가 정신적으로 지쳤다고 해야하나... 매일매일 냉탕온탕에 번갈아져 담금질당하는 기분이었다. 와중에 학습법에 대해 고민도 좀 들었고. 이 상태로는 과제 마무리하는 것도 바빴기 때문에 블로그나 알고리즘 풀이를 하고싶은 마음이 전혀 없었다ㅋㅋㅋ ✔️ 그래도 해야지 뭐 그렇게 과제만 했어도 딱히 결과물이 나의 마음에 쏙 들지는 않는다. 협업을 하며 좋은 팀원들을 만날 수 있었던 것에 감사할 뿐. 오히려..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 내가 제출한 풀이 import Foundation func solution(_ numbers:[Int]) -> [Int] { var resultArr: [Int] = [] for i in 0 ..< numbers.count { for j in i ..< numbers.count { if i != j { resultArr.append(numbers[j] + number..
🩵 오늘 한 일 ✔️ 네트워크 통신 복습 https://yy-dev.tistory.com/116 [Swift] 네트워크 통신(1) - URL과 REST API 🩵 URL URL은 웹 상에 존재하는 자원의 위치를 가리키는 주소입니다. 자원은 문서, 이미지, 동영상 등 어떤 것이든 될 수 있어요. URL은 특정 자원에 대한 요청을 식별하고 전달하는 데 사용됩니다. yy-dev.tistory.com https://yy-dev.tistory.com/117 [Swift] 네트워크 통신(2) - URLSession(GET)과 Decodable 프로토콜 2024.01.04 - [iOS/SWIFT] - [Swift] 네트워크 통신(1) - URL과 REST API 🩵 URLSession 데이터를 다운로드하거나 업로드하..
2024.01.04 - [iOS/SWIFT] - [Swift] 네트워크 통신(1) - URL과 REST API 🩵 URLSession 데이터를 다운로드하거나 업로드하고, 웹 서버와의 통신을 위한 HTTP 요청을 생성하고 처리하는 데 활용됩니다. URLSession은 비동기 방식으로 작동하며 네트워크 작업이 완료되면 클로저를 사용하여 결과를 처리합니다. ✔️ GET import Foundation // URLSession 인스턴스 생성 let session = URLSession.shared // URL 생성 if let url = URL(string: "https://api.example.com/data") { // URLSessionDataTask를 사용하여 비동기적으로 데이터 요청 let task =..
🩵 URL URL은 웹 상에 존재하는 자원의 위치를 가리키는 주소입니다. 자원은 문서, 이미지, 동영상 등 어떤 것이든 될 수 있어요. URL은 특정 자원에 대한 요청을 식별하고 전달하는 데 사용됩니다. Protocol 프로토콜 Domain 도메인 Port 포트번호 Path 경로 Query Parameters 쿼리 매개변수 URL은 해당 5가지로 구성이 되어 있습니다. ✔️ 프로토콜 http : 보안 없는 통신 https : 보안된 통신 (SSL / TLS 암호화 사용) 프로토콜은 클라이언트와 서버 간의 통신 방법(규칙)을 지정합니다. ✔️ 도메인 도메인은 API 서버가 호스팅되는 서버의 주소입니다. API 서버가 위치한 서버의 주소를 도메인으로 나타낸다는 것을 의미합니다. 도메인은 일반적으로 서버의 I..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 내가 제출한 풀이 import Foundation func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var resultArr: [Int] = [] var index0: Int = 0 var index1: Int = 0 var index2: Int = 0 for i in 0 ..< commands.count { ..
🩵 오늘 한 것 ✔️ ARC 무한 복습 & 네트워크 통신 ARC는 진짜 스위프트의 꽃인듯 하다... 어쩜 이렇게 조금만 파면 ARC로 귀결되는지?ㅋㅋㅋ 와중에 오늘 챌린지반 세션에서 비소유 참조에 관해서 조금 깊은 이야기가 나와서 그걸 정리하던 중, 아 이거 오늘로 못끝낸다.. 하고 내일로 미루었다. 새로 지급된 강의에 네트워크 통신이 있었는데, 이 부분이 재밌으면서도 어려웠다. 우선 디코딩 하는 부분만 학습했는데 (이거 말고 아직은 뭘 더 쓸 것 같지 않아서..) 와 진짜 어렵다 관련부분 포스팅 : https://yy-dev.tistory.com/116 : https://yy-dev.tistory.com/117 [Swift] 네트워크 통신(1) - URL과 REST API 🩵 URL URL은 웹 상에 ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 내가 제출한 풀이 func solution(_ strings:[String], _ n:Int) -> [String] { let sortedStrings = strings.sorted { let index0 = $0.index($0.startIndex, offsetBy: n) let index1 = $1.index($1.startIndex, offsetBy: n) if..
🩵 오늘 한 일 ✔️ iOS 2기 키오스크 앱 팀 과제 발표회 발표 피피티 (비번: team3) 팀 과제 결과물 문서 https://www.miricanvas.com/v/12rp78i https://melted-recess-194.notion.site/3-iOS-2-b733ce4c5b044ad1a424c93563621e5e 2주간 개인 공부를 하고 1주간 팀으로 과제를 만들었던 기초 주차가 드디어 끝났다~ 3주간 너무 좋은 팀원들 만나서 최고의 경험을 한 것 같다. 솔직히 이보다 더 좋은 팀을 만날 수 있을까...? 하는 생각도 조금 들 정도이다. 팀 회고를 하며 다들 너무너무 아쉬워했다..ㅋㅋㅋ 이 팀으로 계속 가면 안되나요? 라며...🥺 이번 팀 프로젝트의 테마는 "협업" 이었던 것 같다. git, ..
🩵 Delegate Pattern의 조건 델리게이트 패턴은 객체간의 상호 작용을 하기 위해서 사용됩니다. A객체가 B객체에게 이벤트나 데이터, 특정한 동작을 위임하는 등 말이죠. 이때, 프로토콜을 채택하는 객체가 클래스 타입이라면 참조에 의한 전달이 이루어지게 됩니다. 참조 타입은 메모리 상에서 한 객체를 여러 곳에서 공유할 수 있으므로, 여러 객체가 동일한 델리게이트를 참조하고 해당 델리게이트를 통해 통신할 수 있습니다. 반면 값 타입(구조체, 열거형 등)은 복사에 의한 전달이 이루어지기 때문에 여러 객체가 동일한 델리게이트를 참조하는 것이 어렵습니다. 값 타입의 특성 상 복사본이 만들어지기 때문입니다. 따라서 델리게이트로 사용되는 프로토콜을 정의할 때, 해당 프로토콜을 채택하는 객체는 반드시 참조 타..
🩵 OrderListView ✔️ Properties orderList: 주문 목록을 나타내는 SpabucksOrderItem 배열 ✔️ UI Properties orderListTable: 주문 목록을 표시하는 UITableView countLabel: 주문 항목의 총 개수를 표시하는 UILabel priceTitleLabel: "총 주문 가격"이라는 내용을 표시하는 UILabel priceLabel: 총 주문 가격을 표시하는 UILabel cancelButton, paymentButton, callEmployeeButton: 주문 취소, 결제 및 직원 호출과 관련된 작업을 수행하는 ColorButton 인스턴스 ✔️ Life Cycle init(frame:): 뷰 초기화 + setUI() 메서드를 호..