분류 전체보기 90

캡스톤 디자인 회고

2023년 1학기 동안 진행한 캡스톤 디자인 프로젝트에 대한 회고를 남기려고 한다. 프로젝트가 끝난지 반년이지만 지금 남기는 이유는? 그저께 상 탔으니까~^^ 주제 선정 그 무엇보다 어려웠던 주제 선정.. 결국 캡스톤은 아이디어 싸움이기 때문에 가장 공을 들였던 과정이었다. 우선 데드라인을 정해놓고 다들 자유롭게 아이디어 여러 개를 가지고 와서 모였다. 그리고 회의를 통해 괜찮은 아이디어 4개를 추려 투표를 통해 순위를 매겼다. 다음으로는, 아이디어와 관련된 기존 앱을 분석해보았다. 어떤 기능이 있고, 어떤 기능이 추가되면 좋을지에 대해 고민해보았다. 결국 완전히 새로운 앱은 세상에 없더라.. 4개의 아이디어에 대해 기획을 조금 더 발전시켜보았고, 덧붙일만한 재미있는 기능이 생각나는 아이디어를 고르기로 ..

2023 UNI-DTHON 후기 / 대상 수상

제 3회 UNI-DTHON 참가 2023.11.11 ~ 11.12 양일 간 무박 2일로 서울역 위워크에서 진행되었던 유니드톤에 대한 기록을 남기고자 한다. 참가한지 거의 한 달이 다 되어가는 이 시점에 기록하는 회고..^^ 예전부터 해커톤에 도전해보고 싶었다. 그치만 난 부족하니까 조금 더 실력을 키워서 참가하고 싶다..라고만 생각해서 미뤄온 것들이 많았고, 이제는 도전해 볼 자신감이 생기는 시점이었다. 게다가 학생 신분이 끝나가는 아쉬운 와중에 대학생 연합 해커톤이라니..! 좋은 타이밍이었다. 설렜다 🥰 유니드톤은 아래 대학의 재학생/휴학생들이 참여 가능! 고려대학교 정보대학, 서울대학교 컴퓨터공학부, 성균관대학교 소프트웨어융합대학, 숙명여자대학교 인공지능공학부, 숙명여자대학교 소프트웨어학부, 연세대학..

Udemy iOS 강의 - 섹션 15

화면 전환 시 뒤로 가기 버튼 생성 위 화면은 우리가 원하는 것이 아님..! 뒤로 가기 버튼이 있어서 화면 전환이 가능했으면 좋겠음! 방법: 화면 위 노란 버튼(View controller) 클릭 - Editor - Embed In - Navigation Controller 추가 각 화면 위에 Back 버튼이 생성됨 CocoaPods 설치 CocoaPods? 다양한 라이브러리를 사용할 수 있도록 도와줌. = Package Dependency Manager 장점: 패키지 버전에 변화가 생겨도 개발자가 신경 쓸 필요 X pod update만 수행해주면 알아서 버전 업데이트 https://guides.cocoapods.org/using/getting-started.html#toc_3 CocoaPods Guid..

프로그래밍/iOS 2023.08.22

Udemy iOS 강의 - 섹션 13

Color Set 생성 다크 모드에서도 내 커스텀 컬러가 적용될 수 있도록! 우측 Inspector - Appearances - Any, Light, Dark 선택 - 라이트 모드, 다크 모드에 맞게 원하는 색상 추가 Vector assets 사용 PNG, JPEG와 같은 스칼라 이미지는 확대했을 때 깨지는 현상 발생 물론 이 경우를 대비해서 크기에 맞춰 여러 사진을 준비하는 방법이 있음 그러나 여기서는 벡터 이미지를 사용해보자 벡터 이미지를 드래그하여 갖다놓기 1. 'Preserve Vector Data'를 체크해야 함 ← 확대 했을 때도 벡터 데이터를 유지하기 위해 2. Scales를 Single Scale로 선택 ← 1x, 2x, 3x가 필요 없기 때문 UITextField로 사용자에게 입력값 받기..

프로그래밍/iOS 2023.08.02

문자열 upper(), capitalize(), title() 비교

프로그래머스 문자열 문제를 풀다가 훌륭한 함수들을 발견했다! upper() capitalize() title() 비슷한 듯 다른 세 함수를 비교해보고자 한다. upper() 알파벳은 모조리 대문자로 바꿔주는 함수 capitalize() 문자열의 첫번째 글자만 대문자로 바꾸고 나머지는 소문자로 만드는 함수 첫번째 글자가 문자가 아니라면, 나머지 알파벳들이 모두 소문자가 되는 효과가 있음 title() 각 단어의 첫 글자만 대문자로, 나머지는 소문자로 만드는 함수 문자가 아닌 모든 것(공백, 특수문자, 숫자) 다음에 있는 알파벳을 대문자로 바꾸는 효과가 있음 따라서 '(apostrophe) 바로 뒤에 있는 문자도 대문자로 만들어버리므로 보기에 어색할 수 있음! 코드 및 결과 비교 ↓ 작성한 코드 더보기 s1..

Udemy iOS 강의 - 섹션 11~12

Swift - Class struct과 같이 청사진의 역할 속성, 메소드를 모두 가질 수 있음 * 상속 가능 class 클래스명: 부모클래스 { // 이와 같은 방법으로 부모클래스를 상속받을 수 있음 override func move() {// 부모클래스의 move 메소드를 수정하고자 할 때는 override 키워드 필요 super.move()// 부모 클래스의 move 메소드를 사용하고 싶을 때는 super 키워드로 접근 } } Class VS Struct 클래스는 상속 가능 + 더 복잡하고 오류가 나기 쉬운 구조 구조체는 상속 불가 구조체는 구조에 변동이 생길 때마다 구조체를 제거하고 수정된 새로운 구조체가 생성되는 식(Immutable) 사진을 전달한다고 할 때, 구조체는 passed by valu..

프로그래밍/iOS 2023.07.19

Udemy iOS 강의 - 섹션 9~10

Swift - Struct(구조체) 커스텀 데이터 타입. 청사진과 같은 역할. (Java에서 클래스 개념과 유사) 구조체를 만들 때는 이름이 대문자로 시작해야 함. ex) Int, String 그 안에 원하는 속성을 추가할 수 있음 struct Town { let name: String var citizens: [String] var resources: [String: Int] init(name: String, citizens: [String], resources: [String: Int]){// initializer(생성자와 유사) self.name = name// self.name = 이 구조체의 name / name = 인자 self.citizens = citizens self.resources =..

프로그래밍/iOS 2023.07.18

Udemy iOS 강의 - 섹션 7~8

개발자에게 가장 중요한 스킬 중 하나는 '해본 적 없는 것을 해내는 방법을 찾아내는 것' 1. Google에 검색 - '나의 앱이 하고자 하는 것 - 프로그래밍 언어 - 원하는 사이트(resource)'와 같이 검색어 입력 - ex) play sound Swift Stackoverflow 2. StackOverflow 검색 3. 구현 4. 애플 API 공식 문서 찾아보기 https://developer.apple.com/documentation/avfoundation/ AVFoundation | Apple Developer Documentation Work with audiovisual assets, control device cameras, process audio, and configure syste..

프로그래밍/iOS 2023.07.17

Image.network() 403 에러 해결 방법

예전에 플러터로 만들었던 앱을 다시 켜보는데 이미지가 모두 처참하게 깨져있었다.. ======== Exception caught by image resource service ========= The following NetworkImageLoadException was thrown resolving an image codec: HTTP request failed, statusCode: 403, https://.... When the exception was thrown, this was the stack: #0 NetworkImage._loadAsync (package:flutter/src/painting/_network_image_io.dart:117:9) Image provider: NetworkI..

Udemy iOS 강의 - 섹션 6

모든 장치, 모든 방향에서 잘리는 부분 없이 앱을 디자인하고자 함. 수동으로 회전해가며, 기기를 바꿔가며 디자인하는 것은 비효율적 → Rules or Constraints 의 필요성 배경이미지가 언제든 화면에 꽉 차도록 하고 싶음 → Constraints 추가(상하좌우로부터 여백을 갖지 않도록) 그런데, 가로모드에서 방금 적용한 제약이 양 끝에는 적용되지 않는 문제 발생 배경.trailing = Safe Area.trailing → 배경.trailing = SuperView.trailing으로 변경 SuperView는 현재 선택된 요소를 포함하는 상위 View로, 여기서 배경의 SuperView는 화면 전체를 커버함 → 오른쪽(trailing) 여백 해결! → 왼쪽(leading)도 같은 방법으로 해결 ..

프로그래밍/iOS 2023.07.08