전체 글 66

[개발도서/육각형 개발자] 주니어 개발자 시야 넓히기

유행에 상관없는 구현 기술 주니어 개발자라면 유행과 상관없는 지식을 학습하자. HTTP 프로토콜, 네트워크 프로그래밍 기초, 동시성 처리, 프로그래밍 언어 등 유행에 상관없이 개발의 기초가 되는 중요한 내용이 많다. 이러한 기초 지식을 꾸준히 학습해야 기본기가 튼튼한 개발자로 성장할 수 있다. 코드 시각화 코드를 분석하고 그 결과를 그림으로 그리면 수정할 위치나 수정 영향을 받는 범위를 찾을 때 큰 도움이 된다. UML(Unified Modeling Language) 시각적으로 모델을 만들기 위한 표기법이 있다. 테스트 주도 개발(TDD) Test Driven Development. 테스트 코드를 만들고 이 테스트를 통과할 수 있는 궇련을 진행해서 소프트웨어를 개발하는 방법론이다. 테스트 코드 작성 ->..

2023.10.23

[Swift] JSON 데이터 Decodable을 사용하여 구문 분석하기

Decodable 프로토콜을 사용하여 JSON을 사용자 정의 객체 형식으로 변환할 수 있습니다. 아래와 같은 json이 있다고 할 때, { name: "haru" id: 23 } 이를 디코딩하려면, JSON 필드와 일치하는 속성을 가진 모델을 생성합니다. struct Blog: Decodable { let id: Int let name: String } 그리고 JSONDecoder를 사용합니다. let bloger = try? JSONDecoder().decode(Blog.self, from: jsonData) 자료 출처: 스위프트 애니타임

Apple/Swift 2023.10.16

1. 관계형 데이터베이스 설계

앱 만들기에 들어가기 위해 앱의 주요 기능을 적고, 데이터를 어떻게 모델화할지에 대한 고민을 하다가 정대리님께서 데이터 베이스에 대한 이론이 들어간 책을 읽기를 조언해 주셨습니다! 바로 . 하나의 데이터가 단일화되지 않고 검색을 하고 정보를 공유하기 위해서는 데이터 간의 연결이 필요한 것을 알게 되었습니다. 중복적으로 데이터를 모델화하지 않고 서로 공유하기 위해서는 테이블에 대한 개념이 필요하고, 이는 관계형 데이터베이스의 중요한 개념이라는 것을 첫 목차를 보고 느꼈습니다. 하루에 한 목차씩 정리하며 앱 만들기도 병행하겠습니다. 앱 만들기 화이팅! 💡 이 장에서 다루는 주제 데이베이스 유형 이전 데이터베이스 모델 관계형 데이터베이스 모델 관계형 데이터베이스 관리시스템 관계형 데이터 베이스 모델을 넘어서 ..

[Swift] delete API 호출이 되는데 데이터 삭제가 안 되는 이유

해결 방법: Swift 코드의 httpMethod 속성 값을 API에서 요구하는 httpMethod로 일치시켜주기! POSTMAN으로 Delete url을 체크해보니 정상적으로 작동이 되는데 swift에서 코드가 작동하지 않았습니다. 뭔가 빠뜨린 것이 있다고 생각이 들었고, 그동안의 API 호출과 무엇이 다를까 생각해보았습니다. 정보를 가져오는 GET Method만 사용했다고 생각이 들었습니다. 그래서 초반에 URL을 작성할 때 URLRequest에서 httpMethod 기능이 있다는 것을 기억했습니다. httpMethod 이 프로퍼티는 기본적으로 "GET"으로 작동하고 있습니다. 이제 httpMethod를 "DELETE"로 요청하는 코드를 추가 해줍니다. guard let url = URL(string..

Apple/Error 2023.06.04

햄스터의 API 학습 시작

햄스터 앱 개발 본격 시작 2개월 차! API를 적용한 토이프로젝트를 진행하려고 합니다. API를 잘 활용하기 위해서는 네트워크 통신에 대한 이해와 다양한 라이브러리와 툴에 대한 활용이 필요하다고 느꼈습니다. 그래서 계획표를 짜서 체계적으로 학습을 해보려고 합니다. 꾸준히 기록하는 태도는 분명 좋은 iOS 개발자가 될 수 있는 바탕이라 생각합니다. 그런 다짐으로 오늘도 빡코해봅니다 🔥 🧭 햄스터의 API 학습 계획표 1차 2차 3차 OPEN API, REST API 계획: 2가지 API 활용해보기 POSTMAN 활용 방법 계획: 기능 강의 보기 HTTP 서버통신 계획: 관련 영상 보기 JSON Parsing 계획: 관련 영상 보기 네트워크 라이브러리 - Alamofire 계획: 오픈 소스 3개 이상 보기..

깃허브 잔디밭 안 심어질 때 해결방법 [메인브랜치로 변경하는 방법]

깃허브와 로컬 이메일 주소와 이름이 같은데도 잔디밭이 안 심어지면 이 방법을 해보세요! 아마 메인 브랜치가 아닌 다른 브랜치에 커밋과 푸쉬를 해서 잔디가 안 심겨질 확률이 높아요 메인(디폴트)브랜치에서 다른 브랜치를 생성 후 다른 브랜치에만 커밋 후 푸쉬를 하면 깃허브 잔디밭에 반영이 안됩니다. 이럴 경우에 디폴트 브랜치로 설정되어 있는 것을 커밋-푸시한 브랜치로 바꿔줍니다. 브랜치 클릭 (현재 저는 두 개의 브랜치가 있습니다.) 스위치 버튼 클릭 디폴트 브랜치에 스위치 버튼 한번 더 클릭 현재 second-mission 브랜치가 기본브랜치이고 vv 브랜치로 바꿔주고 싶을 경우 밑에 브랜치를 누르고 Update를 누르면 됩니다! 끝! 그러면 전에 안 심어진 잔디까지 다 심어진 것을 확인할 수 있습니다.

깃허브 오류 상태 확인하는 사이트 https://www.githubstatus.com/

깃허브 오류 상태 확인하는 사이트 https://www.githubstatus.com/ GitHub Status Subscribe to updates for Incident with Actions, API Requests, Git Operations and Issues via email and/or text message. You'll receive email notifications when incidents are updated, and text message notifications whenever GitHub creates or resolves an inci www.githubstatus.com 사이트를 누르면 UTC 시간 기준으로 Git허브 성능 저하 및 상황 보고 내용이 간략하게 올라온다. 어..

Xcode 스토리보드 에러 invalid nib registered for identifier

에러 문구 "nib must contain exactly one top level object which must be a UITableViewCell instance" 에러 원인 스토리보드에 UITableViewCell 계층에서 벗어난 개체가 있을 경우 생기는 에러 -> 사진의 reusableCell 계층에서 벗어난 Label이 원인 에러 해결 밖에 있는 Label을 삭제하니 해결됨, 필요할 경우 UITableViewCell 안으로 넣을 것 출처 https://stackoverflow.com/questions/20442311/invalid-nib-registered-for-identifier-cellname-nib-must-contain-exactly-one invalid nib registered f..

Apple/Error 2023.05.03

[혼자 공부하는 컴퓨터 구조+운영체제] 6. 메모리와 캐시 메모리

RAM의 특징과 종류 주기억장치(메인 메모리) 종류에는 크게 RAM과 ROM 두 가지가 있고, ‘메모리’라는 용어는 그 중 RAM으ㄹ 지칭하는 경우가 많다 RAM의 특징 휘발성 저장 장치 RAM의 종류 DRAM (Dynamic RAM) 저장된 데이터가 ‘동적으로 사라지는’ RAM 데이터 소멸을 막기 위해서 주기적으로 재활성화(Refresh) 해야 함 일반적으로 메모리로 사용되는 DRAM 상대적으로 소비전력이 낮고 저렴하고 집적도가 높아 대용량으로 설계하기 용이함 SDRAM (Synchronus RAM) DRAM이 발전한 형태 클럭 신호와 동기화된 DRAM DDR SDRAM (Double Data Rate SDRAM) SDRAM이 발전한 형태 가장 대중적으로 사용하는 RAM 대역폭을 넓혀 속도를 빠르게 만..

CS 2023.05.03