전체 글

사이드 프로젝트를 진행하며, 문제(?)가 있던 부분이 있었다. 관리자앱은 디자이너 없이 혼자 개발하여 피그마에 UI가 정의되지 않아 있던 문제가 있었고,QA 과정에서 오류가 있어서 PM이 JIRA에 이슈를 등록하면 백엔드팀에서 화면만 보고 어떤 API를 어떻게 호출하고 있는지 알려 달라고 매번 코멘트 남기는 상황이 제일 문제로 다가왔다.일주일에 한 번 회의하기도 하고, 백엔드 팀원 중 한 분은 주로 주말에만 작업하셔서 프론트팀한테 따로 묻지 않고도 화면만 보고 어떤 API를 호출하는지 알 수 있게 수정하면 좋겠다고 생각했다.  사실 초반 설계했을 때 백엔드 팀에서 AA 화면에서는 xyz API를, BB 화면에서는 abc API을 호출하면 된다고 피그마에 기록해 주셨었다. 프로젝트를 지속하면서 모두를 이해..
프로젝트를 진행하며, 프로덕트 디자이너 면접을 진행하기 위해 준비했던 질문들을 정리하고 면접에 임했었다. 사실 PM/기획자 팀원이 주도적으로 면접을 진행하기 때문에 준비했던 질문들에서 팀원이 빠뜨리거나 궁금한 게 있으면 부수적으로 물어보곤 했었다. 디자이너와의 면접이 처음인 PM이 어떤 걸 물어봐야 좋을지 고민하고 있는 것 같아서 ! 대뜸 슬랙으로 공유했고 이 내용을 기반으로 주로 진행했다. 면접 진행이 처음인 분들한테 공유하고자 남긴다 !  그 전에 즐겨보던 디자인 유튜버 분이 면접 관련해서 영상을 올려주셔서, 준비하는 분들 입장에서는 유용할 것 같아 일단 첨부하고 시작합니다 ! https://www.youtube.com/watch?v=5p_yihmf4Rw   디자이너 면접 질문상황/포트폴리오에 따라 ..
SwiftData로 스키마 모델링하기 WWDC 영상 번역/정리본입니다. 목차00:00 Intro01:41 Utilizing schema macros | 스키마 매크로를 최대한 활용하는 법(@Attribute, @Relationship, @Transient)05:30 Evolving schemas | 앱이 변경될 때 스키마 마이그레이션으로 스키마를 개선하는 법08:56 Wrap-updocSwiftData 공식 문서Adopting SwiftData for a core Data app 샘플 프로젝트선 시청SwiftData 알아보기SwiftData로 앱 빌드하기 0. IntroSwiftData는 데이터 모델링 및 관리를 위한 프레임워크입니다.SwiftUI처럼 외부 파일 형식 없이 오로지 코드에만 집중할 수 있으..
SwiftData 만나보기 WWDC 영상 번역/정리본입니다.   목차00:00 Intro01:07 Using the model macro | Swift에 있는 데이터를 직접 모델링하는 새로운 @Model 매크로03:17 Working with your data | SwiftData로 데이터를 가져오고 수정하는 법07:02 Use SwiftData with SwiftUI | SwiftData와 매끄럽게 작동하는 다른 플랫폼 프레임워크 소개08:10 Wrap-updocSwiftData 공식 문서Adopting SwiftData for a core Data app 샘플 프로젝트 0. IntroSwiftData는 데이터 모델링 및 관리 프레임워크로 최신 Swift 앱을 더 업그레이드시켜 줍니다.SwiftUI와 ..
· 💻 Develop
status code 알아보기첫번째 자리에 따른 상태 차이1XX: Informational(정보 제공)임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미입니다. HTTP 1.1 버전부터 추가되었습니다.2XX: Success(성공)클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미입니다.3XX: Redirection(리다이렉션)완전한 처리를 위해서 추가 동작이 필요한 경우입니다. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미입니다.4XX: Client Error(클라이언트 에러)없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우를 의미합니다.5XX: Server Error(서버 에러)서버 사정으로 메시지 처리..
디자인 패턴 중 하나인 커맨드 패턴은 요청을 객체로 캡슐화하여 서로 다른 요청을 객체로 다룰 수 있게 해줍니다!이번에는 Swift에서 커맨드 패턴을 구현하는 방법을 알아보겠습니다. 커맨드 패턴이란?커맨드 패턴은 실행될 기능을 캡슐화하여 클라이언트와 실행 객체를 분리하는 패턴입니다. 이를 통해 명령을 매개변수화하고, 요청을 큐에 저장하거나 로깅하며, 실행 취소 기능을 쉽게 구현할 수 있습니다.  커맨드 패턴의 구성 요소 1. Command 프로토콜: 실행될 명령의 인터페이스를 정의합니다. 2. Concrete Command: 실제 실행될 명령을 구현합니다. 3. Invoker: 명령을 실행하는 객체입니다. 4. Receiver: 실제로 명령을 수행하는 객체입니다. 스피커 예시로 알아보기스피커를 예제로 들어..
들어가기 전에들어가기 앞서서 먼저 메서드와 함수의 차이를 알고 계신가요?함수와 메서드는 비슷해보이지만 차이가 있답니다. 메서드는 특정 작업을 수행하는 함수와 비슷하지만, 객체 내부의 데이터에 접근할 수 있다는 점에서 차이가 있습니다. 함수는 독립적으로 존재하며, 특정 타입에 속하지 않습니다.반면에 메서드는 클래스, 구조체, 열거형 등의 특정 타입에 속해 있으며, 해당 타입의 인스턴스에 연결되어 사용됩니다. 둘의 차이를 이해했다면, 이제 메서드에 대해 알아봅시다.  Swift의 메서드Swift는 다음과 같은 네 가지 주요 메서드 유형을 제공합니다: 인스턴스 메서드, 타입 메서드(클래스 메서드, 정적 메서드)입니다. 각각의 특성과 사용 예시를 살펴보겠습니다.  1. 인스턴스 메서드 (Instance Meth..
코딩테스트에서 테스트케이스는 다 맞았는데 히든 케이스에서 다 런타임 에러를 내버린 경험!!!!!이 있다.. 테케를 조금이라도 맞혔으니까,, 일단 다음문제로 넘어갔다가 다시 해당 문제를 고민했는데,10분도 채 남지 않은 상태여서 알고리즘에 문제가 있나만 생각하다가 시험이 종료되었다. 테스트가 끝난 후 씻으면서 생각을 했는데, 자료형을 고려하지 못해서 에러난 것 같다!!!라는 생각을 그제서야 했다.해당 범위가 -10^9 ~ 10^9 이었는데,, 산술할 때 범위를 고려했어야 안전했었겠다란 생각... Int 자료형에 대해 머리에 넣어놔야 또 실수를 안할 것 같아서 정리해보려고 한다 ! 😥    다들 아시겠지만 !Int 뒤에 붙은 숫자는 비트를 의미합니다.스위프트에서의 Int는 Int8, Int16, Int32..
· 🛠️ OS
파일 시스템이 파일과 디렉터리를 보조기억장치에 할당하고 접근하는 방법대표적인 파일 시스템의 종류(FAT 파일 시스템, 유닉스 파일 시스템) 학습파티셔닝과 포매팅이제 막 공장에서 생산되어 한 번도 사용된 적 없는 새 하드 디스크 / SSD ?파티셔닝, 포매팅 하기 전까지는 사용할 수 없다파티셔닝저장 장치의 논리적인 영역을 구획하는 작업포매팅파일 시스템을 설정어떤 방식으로 파일을 관리할지 결정, 새로운 데이터를 쓸 준비하는 작업파일 시스템에는 여러 종류가 있고, 파티션마다 다른 파일 시스템을 설정할 수도 있다포매팅까지 완료하여 파일 시스템을 설정했다면 이제 파일과 디렉터리 생성이 가능해진다 1. 파일 할당 방법포매팅까지 끝난 하드 디스크에 파일을 저장하기운영체제는 파일/디렉터리를 블록 단위로 읽고 쓴다즉, ..
· 🛠️ OS
1. 파일 시스템 (file system)파일과 디렉터리를 관리하는 운영체제 내의 프로그램파일과 디렉터리를 다루어 주는 프로그램 2. 파일과 디렉터리보조기억 장치의 데이터 덩어리 3. 파일보조기억장치에 저장된 관련 정보의 집합의미 있고 관련 있는 정보를 모은 논리적 단위파일을 이루는 정보파일을 실행하기 위한 정보 + 부가 정보(=속성, 메타 데이터)파일의 속성 (운영체제마다 다름)유형: 운영체제가 인지하는 파일의 종류를 나타낸다 → 확장자로 힌트를 준다 (ex. c, c++, zip, lib, mov, mp3, .exe)크기: 파일의 현재 크기와 허용 가능한 최대 크기를 나타낸다보호: 어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지를 나타낸다.생성 날짜: 파일이 생성된 날짜를 나타낸다마지막 접..