본문 바로가기

전체 글134

읽어볼 자료 https://hongong.hanbit.co.kr/http-%EC%83%81%ED%83%9C-%EC%BD%94%EB%93%9C-%ED%91%9C-1xx-5xx-%EC%A0%84%EC%B2%B4-%EC%9A%94%EC%95%BD-%EC%A0%95%EB%A6%AC/ [웹 프로그래밍] HTTP 상태 코드 표(100 ~ 500) 전체 요약 정리서버에서의 처리 결과는 응답 메시지의 상태 라인에 있는 상태 코드(status code)를 보고 파악할 수 있습니다. 상태 코드는 세 자리 숫자로 되어 있는데 첫 번째 숫자는 HTTP 응답의 종류를 구분하는hongong.hanbit.co.kr  면접 단골 질문 ARC 관련 찾아보기→ 메모리 누수가 발생할 수있다 왜? 리테인싸이클 https://www.youtube.com.. 2024. 7. 12.
[👾 Programmers] 27. 핸드폰 번호 가리기 1. 문제 설명 (📎Link)프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 2. 제한사항phone_number는 길이 4 이상, 20이하인 문자열입니다. 📝 문제func solution(_ a:Int, _ b:Int) -> Int64 { return 0}  💻 내가 푼 방법1️⃣  먼저, 전화번호의 마지막 4자리를 제외한 문자열을 *으로 변경해 주어야 한다앞자리가 02가 될 경우 phone_number의 count는 9이 되고, 010이 될 경우 11이 된다(즉.. 2024. 7. 11.
[강의노트👩🏻‍💻] CoreData 코어 데이터 1.  C R U D 데이터 CRUD 는 네이티브 (앱) 내부 또는 서버에서 일어난다Create = 데이터 생성Read = 데이터 읽기Update = 데이터 업데이트 (쓰기)Delete = 데이터 삭제 🍎 전화번호 앱에서 일어나는 CRUDC = 새로운 전화번호를 등록한다R = 저장된 전화번호 데이터를 조회한다U = 저장된 전화번호를 수정한다D = 전화번호를 삭제한다 2.  CoreData 프로젝트 생성1️⃣  Storage → CoreData 선택  2️⃣  Entity 생성생성된 coreData 파일 진입 → Add Entity 버튼클릭 *Entity란? 저장될 데이터들의 집합 Entity 가 아래와 같이 생성됨 3️⃣  Entity 이름 변경 & Attributes 추가Emtity의 이름을 목적에 .. 2024. 7. 11.
[👾 Programmers] 26. 음양 더하기 1. 문제 설명 (📎Link)어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 2. 제한사항absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 📝 문제import Foundationfunc solution(_ absolutes:[Int], _ signs:[.. 2024. 7. 10.
[Swift 🍎] configureUI() 언제 사용하는가?viewDidLoad() 메서드가 간결해지고, UI 설정 코드를 별도의 메서드로 분리하여 코드의 가독성과 유지보수성 을 높일 수 있다사용 전  viewDidLoad() 메서드에서 모든 UI 설정 작업을 진행사용 후  viewDidLoad() 메서드에서 configureUI() 메서드를 호출하고, configureUI() 메서드에서 UI 설정 작업을 진행  사용 전후 비교configureUI 사용 전 코드 예시import UIKitclass ViewController: UIViewController { private let myButton: UIButton = { let button = UIButton(type: .system) // +버튼 세팅 값 r.. 2024. 7. 10.
[Swift 🍎] ViewController 메서드 1. loadView()이 메서드는 뷰를 직접 프로그래밍 방식으로 설정할 때 사용된다(코드베이스)스토리보드나 XIB 파일을 사용하는 경우 직접 구현할 필요는 없다사용하지 않아도 상관 없지만 오류 발생 확률이 있다 override func loadView() { // UIView를 직접 생성하여 뷰로 설정합니다. let view = UIView() view.backgroundColor = .white // UIButton을 추가합니다. let button = UIButton(type: .system) button.setTitle("Press Me", for: .normal) button.frame .. 2024. 7. 10.
KPT 회고란? 프로젝트 회고 과정 중 진행하는 일부분짧은 시간에 구성원들의 생각을 공유하고 실행 및 측정 가능한 Action을 도출한다Keep (유지할 점)현재 만족하고 있는 부분계속 이어갔으면 하는 부분Problem (문제점)프로젝트 과정 중 겪은 어려움이나 문제점개선이 필요하다고 생각되는 부분Try (시도할 점)Problem에 대한 해결책과 방안 모색문제를 해결하기 위한 구체적인 계획  이번 프로젝트 KTP 회고Keep (유지할 점)첫 협업의 의미: 첫 협업이라는 점에서 매우 의미가 깊었음.구현의 만족: 프로그램이 실제로 돌아가고 구현이 되었다는 점에서 만족스러웠음.자기 주도 학습: 배우지 못한 내용들을 스스로 찾아서 구현하고 적용시킨 점이 의미가 컸음.Problem (문제점)완벽하지 못한 구현: 프로그램이 완벽하.. 2024. 7. 9.
[강의노트👩🏻‍💻] ViewController 생명주기 이론 init 뷰 컨트롤러를 생성했다 (생성자) loadViewViewController가 반드시 가지게 되는 ViewView의 속성에 해당하는 View를 수동으로 생성하고 초기화 할 수 있는 책임을 갖는 생명주기다메모리에 올라가기 전 사전 세팅을 마칠 수 있다 ViewDidLoadView가 메모리 위에 올라온다(유저 눈으로 확인이 가능한 바로 전 단계)유효한 프레임값을 얻을 수 없다한번만 호출 된다 ViewWillAppear뷰 컨트롤러의 뷰가 뷰 계층에 추가되기 직전에 호출됨여러번 호출 될 수 있다View가 나타나고 있다(현재 진행형)예를들면, 뷰가 등장할 때 마다 새로운 화면을 보여주고 싶어! ViewIsAppearing유저 눈에 보이고 있음 ViewDidAppearView가 정말로 나타난다유저 눈으로 볼.. 2024. 7. 9.
[🍎 Swift 문법] sort 와 sorted sort() 함수원본 배열을 오름차순으로 정렬해준다(직접 수정)내림차순으로 정렬 시 sort(by: >)를 사용한다 오름차순var numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]numbers.sort()print(numbers) // 출력: [1, 1, 2, 3, 4, 5, 5, 6, 9] 내림차순var numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]numbers.sort(by: >)print(numbers) // 출력: [9, 6, 5, 5, 4, 3, 2, 1, 1] sorted() 함수원본 배열을 건드리지 않고 복사본을 만들어서 오름차순으로 정렬한 후 정렬된 요소를 반환한다(사본 생성)사본 생성 시 메모리를 많이 먹게 되므로 원본 배열이 중요한 경우 sor.. 2024. 7. 9.
[👾 Programmers] 25. 나누어 떨어지는 숫자 배열 1. 문제 설명 (📎Link)array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 2. 제한사항arr은 자연수를 담은 배열입니다.정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.divisor는 자연수입니다.array는 길이 1 이상인 배열입니다.📝 문제func solution(_ arr:[Int], _ divisor:Int) -> [Int] { return 0}  💻 내가 푼 방법 전체 코드func solution(_ arr:[Int], _ divisor:Int) -> [Int] .. 2024. 7. 9.