본문 바로가기

전체 글30

[Swift] Optional(옵셔널) 타입에 대해 알아보자 스위프트의 중요한 특성 중 하나는 "안전성"이죠. 그러다보니 자연스럽게 Optional 타입을 중요하게 다루는 것 같아요. 스위프트를 처음 공부했을 때 Optional 타입을 쉽게 이해하기 위해 "?나 !를 붙이는 타입. 값이 있을 수도 없을 수도 있는 타입." 정도로 알아뒀는데 Enum(열거형), Associated Value(연관값), Generic(제네릭) 개념을 가져와서 옵셔널을 조금 더 깊게 알아볼까 해요. Optional의 구조 - Enum 타입 옵셔널 타입은 스위프트에 기본으로 내장된 타입인데, Enum타입으로 이루어져 있어요. 값이 존재하는 경우인 some과 존재하지 않는 경우인 none, 2가지 케이스로 이루어져 있고, 우리는 Optional.none의 케이스로 값이 만들어진 것을 nil.. 2021. 11. 1.
[iOS] 공공 데이터 API 이용하기 (Alamofire) 바로 아래의 블로그를 중심으로 여러 포스팅들을 참고하면서 해보는 중이다. import가 두려운 코린이... 하지만 Alamofire는 외부 라이브러리에도 불구하고 많이 사용하기 때문에 잘 숙지해두어야 한다!! 아좌좌!! Seongmin's Portfolio Blog Hi! I am Seongmin Choo and this is my portfolio website. UC Berkeley CS '21 www.seongmin.org 1. 공공데이터포털 가입 및 필요한 API 사용 신청 API 사용 신청을 하면 승인 허가까지 약간의 시간이 걸린다. 📱도로명주소 API로 사용해보는 간단 Alamofire구현 (iOS API통신) 대부분 RESTful API통신을 소개하기위해서 GithubAPI를 예제로 활용하여.. 2021. 8. 22.
[Swift] 매개변수(Parameter)와 전달인자(Argument) + 전달인자 레이블(Argument Label) 예전부터 Parameter(매개변수)와 Argument(전달인자)의 개념을 비슷하게 생각하고, 비슷한 의미로 사용했어요. 최근에 스위프트의 문법을 복습하고 있는데 Argument labels(전달인자 레이블)을 정리하다보니 두 용어에 차이를 두고 사용해야겠다는 생각이 들어서 본 글을 포스팅하게 되었습니다! 😎 한 줄로 설명하자면, 매개변수와 전달인자는 함수에 전달하거나 함수 내부에서 전달받는 "값"을 의미하지만 위치에 따라서 다르게 부르는 것입니다. 즉 매개변수는 함수의 정의에서, 전달인자는 함수의 호출에서 사용하는 호칭으로 보면 됩니다. 아래에서 예시 코드를 통해 설명해드릴게요! greeting이라는 함수의 정의를 하고 호출을 해주었어요. 즉 위쪽 함수 정의부분의 to와 from은 매개변수, 아래쪽 호.. 2021. 8. 5.
[Network] OSI 7계층, SDU와 PDU OSI 7계층이란? 네트워크 프로토콜이 통신하는 구조를 7계층으로 나눈 것입니다. 통신이 일어나는 과정을 계층 별로 파악하고, 특정 계층의 장비나 소프트웨어를 다른 계층과 분리하기 위해 정했습니다. 특정 계층에 문제가 생겼을 때 다른 계층에 영향을 주지 않고 유지보수하기 쉽다는 이점이 있습니다. Physical Layer(물리 계층), Data Link Layer(데이터 링크 계층), Network Layer(네트워크 계층), Transport Layer(전송 계층), Presentaion Layer(표현 계층), Application Layer(응용 계층)으로 이루어져있습니다. SDU와 PDU PCI(Protocol Control Information)란? Header와 Trailer 형태로 PDU에 .. 2021. 7. 17.
프로그래밍 공부 동기부여 영상들 개발 공부를 하는 사람이라면 유튜브 알고리즘에 한번쯤은 걸렸던 영상들이겠지만 볼 때마다 좋은 동기부여가 되는 것 같아서 리스트업을 해봤다. - 인터랙티브 웹 포토폴리오로 유명하신 인터랙티브 디벨로퍼님의 영상. 나를 성장시켜줄 회사는 없다는 말이 인상깊었다. 타인이 떠먹여주는 밥으로 수동적인 공부를 하려했던건 아닌가 반성하게 됐다. 좋은 개발자의 기준을 '문제 해결의 집요함'과 '깨끗한 코드 작성'으로 정리해주셨다. 개발 역량이 훌륭한 개발자가 되는 것도 중요하지만, 그것을 넘어 동료들에게 안정감을 주고 함께 일하고싶은 사람이 되고싶어졌다. "하루하루를 열심히 산 뒤에 전체적인 인생은 제 멋대로 살고, 그때 그때 들어온 것에 대해서는 하고싶은 것을 다 하자." - "하루에 딱 4시간만 하자." 몰입도 중요.. 2021. 7. 16.
첫 PR 기본 연산자 (Basic Operators) jusung.gitbook.io Swift 문법 기본이 잡혀있지 않다는 생각에 jusung님이 gitbook으로 정리해주신 스위프트 가이드라인 번역본을 보면서 공부를 하고있다. 문서를 보면서 공부하다보니 수정해야 할 부분들이 몇 개 보여 PR을 해보기로 결심했다. 첫번 째로 "리터럴을 이용한 배열의 생성"에 오타가 있어서 수정을 하려 했는데, 깃허브에 올라온 코드에서는 수정이 이미 되어있었다. 아마 PR들을 먼저 받아놓고 수정해야할 PR들을 merge한 후 한꺼번에 배포하시는 것 같았다. 두번 째는 주석에 관련된 내용이었다. 문서 규칙에 따르면 프린트문 다음 주석은 출력 결과를 Prints "출력 결과" 형식으로 달아놓는데, 해당 주석에는 출력 결과에 대한 번.. 2021. 7. 12.