Total 45

iOS) FSCalendar의 속성 톺아보기(커스텀)

FSCalendar는 사용하는 사람들이 많은 만큼 사용하는 방법도 잘 나와있어 그 편리성 또한 장점중에 하나 인데요! 그걸 그대로 사용하면 좋지만 어느정도 입맛에 맞게 커스텀을 하려면 그래도 속성값에 대해서 정리되어있는? 곳이 있으면 좋겠더라구요 그래서 이번에 서비스 개발을 하면서 캘린더 커스텀을 할 때 공부했던 정보들을 공유하려 합니다. 기본적인 FSCalendar에서 바꿀 수 있는 속성들 func calendarStyle(){ //언어 한국어로 변경 calendarOrigin.locale = Locale(identifier: "ko_KR") //MARK: -상단 헤더 뷰 관련 calendarOrigin.headerHeight = 66 // YYYY년 M월 표시부 영역 높이 calendarOrigin...

iOS 2021.02.21

iOS) ViewController Life Cycle

오늘은 iOS개발을 하면 할수록 굉장히 중요한 개념이라는 것을 느끼게 해주는 뷰의 생명주기에 대해 알아보겠습니다. App이 실행되면서 여러 event들에 의해 화면이 나오고 사라지는데, 이 과정 속에서 ViewController는 자신들만의 생명주기를 갖습니다. 개인적으로 중요하다고 생각한 부분은 하이라이팅 하였습니다! 1. init(coder:) storyboard 를 통해 View Controller들을 만들 경우 View Controller의 객체가 생성될 때 초기화 작업을 하는 메소드. 이 메소드에서 초기화 작업을 할 때 View Controller들은 그들의 lifetime동안 필요한 자원들을 할당받게 된다. 아직 이 시점에서는 View Controller의 View가 생성된 것이 아니기 때문에..

iOS 2021.02.14

Node.js) Node.js(Express) 란?

Node.js? 서버, 프레임워크, 프로그래밍 언어 과연 셋 중 Node.js는 어디에 속할까? 사실 그 어디에도 속하지 않는다.. (내가 Node.js가 뭔지에 대해 알고 싶었던 이유도 여러 개념들 중 뭐가 Node.js인지 궁금해서였었다..) 사실 Node.js는 "크롬 V8 자바스크립트 엔진"으로 빌드된, 자바스크립트를 실행할 수 있는 RunTime 환경(특정 언어로 만든 프로그램들을 실행할 수 있는 환경)이다. Node.js는 크롬 자바스크립트 엔진인 "V8"과 비동기 작업을 처리하는 "libuv library" 를 기반으로 이루어져 있는데 간략히 설명하면 아래와 같다. V8 - Chrome 브라우저 용 JS엔진으로써, 혁신적인 설계와 속도 그리고 효율적인 메모리 관리로 높은 평가 받음 libuv..

Server/Node.js 2021.02.11

TypeScript) TypeScript, 왜 쓰는걸까?

JavaScript 1995년 넷스케이프사의 브렌던 아이크(Brendan Eich)가 자사의 웹브라우저에 탑재하기 위해 개발한 스크립트 언어입니다. 초창기 자바스크립트는 웹페이지의 보조적인 기능을 수행하기 위해 한정적인 용도로 사용되었습니다. 그래서 이 시기에 대부분 로직은 주로 웹서버에서 실행되었고 브라우저(클라이언트)는 서버로부터 전달받은 HTML과 CSS를 렌더링하는 수준이었다고 합니다. 하지만 추후 AJAX의 활성화로 데스크탑 애플리케이션과 유사한 사용자 경험을 제공할 수 있게 되었고, 이로 인해 서버측이 담당하던 업무의 상당부분이 클라이언트 측으로 이동함으로써 자바스크립트는 웹의 어셈블리 언어로 불릴 만큼 중요한 언어로 그 위상이 높아지게 되었습니다. 플러그인 의존성이 높던 웹 애플리케이션도 H..

Language/TypeScript 2021.02.07

CS) 스택 / 큐

스택(Stack) 스택은 입력과 출력이 한 방향으로 제한되어 있습니다. 다른 말로는 "LIFO(Last In First Out, 후입선출) : 가장 마지막에 들어간 것이 가장 먼저 나옴" 이라고도 합니다. 스택은 책상위에 동전을 쌓는다!라고 생각하셔도 됩니다. 동전을 5개 쌓아올렸고 다시 원래대로 돌리려면 가장 위에있는(Last In) 동전부터 다시 책상에 내려놓아야겠죠(First Out)? 스택은 언제 사용할까요? 함수의 콜스택, 문자열 역순 출력, 연산자 후위표기법에서 사용됩니다. 큐(Queue) 큐는 입력과 출력을 양쪽 끝으로 제한합니다(Front, Rear) 그렇기 때문에 스택과 반대로 "FIFO(First In First Out, 선입선출) : 가장 먼저 들어온 것이 가장 먼저 나옴" 입니다. ..

CS) Array / ArrayList / LinkedList

Array, ArrayList, LinkedList 뭐가 다른지 알고 계신가요? Array? ArrayList? LinkedList? 다 비슷한 말 인 것 같은데 어떤 점이 다른걸까요? Array index로 빠르게 값을 찾을 수 있다 Array List 데이터를 빠르게 찾을 순 있지만, 삽입 & 삭제가 느리다 Linked List 데이터의 삽입 & 삭제가 빠르다 좀 더 자세히 알아볼까요? Array(배열) 배열은 선언 시에 크기와 데이터 타입을 지정해주어야 합니다. 이처럼, Array(배열)은 메모리 공간에 할당할 사이즈를 미리 정해놓고 사용하는 자료구조입니다. 이러한 특성 때문에 데이터의 갯수가 지속적으로 늘어날 때, 혹은 최대 사이즈를 알 수 없을 때에는 사용하기에 부적합합니다. 뿐만 아니라, 만약..

나의 첫 번째 APP-JAM을 마치며

2021년 1월 16일, 3주간의 장기 해커톤인 APP-JAM이 끝이났다. 2020년 회고를 하면서 어떤 팀에 들어가게 될 지, 어떤 결과물을 만들어 낼 지에 대해 많은 기대와 걱정을 했었는데 벌써 3주라는 시간이 흘러 서비스를 발표하는 자리인 데모데이까지 무사히 마치게 되었다. 3주라는 시간동안 정말 값진 것들을 많이 경험했고 깨달았기에 회고를 통해 되짚어 보려 한다. Cherish 우리 팀은 연락에 능하지 못한, 매번 "연락 좀 해라!!" 라는 말을 지겹도록 들으면서도 고치지 못하는 사람들이 모인 팀이다. 저런 말을 자주 듣는 사람들은 저마다의 사연이 있다,, 자신이 연락을 하기 싫어서 안하는 것이 아니라 깜빡하거나 멀티가 안돼서, 너무 바빠서 그럴 생각을 했다가도 바로 까먹어 버리는 경우가 대부분이..

회고 2021.01.20

iOS ) 현재 위치 가져오기

안녕하세요:) 오늘은 위치 권한을 요청받고 현재 사용중인 기기의 위치 정보를 가져오는 방법에 대해서 알아보겠습니다. 💡 주의사항 시뮬레이터로 실행 시 현재 위치가 아닌 샌프란시스코가 나오더라구요? 아마 시뮬레이터 특성 상 생기는 문제인 듯 합니다 그래서 저는 제 아이폰을 사용해서 진행하였으니 참고해주세요!! 가장 먼저 해주어야 할 것은 info.plist의 수정입니다. info.plist - Information Property List 아래에 사용 용도에 따라 추가해주시면 됩니다! Privacy - Location When In Use Usage Description - 앱이 사용중일때만 가져오기 Privacy - Location Always and When In Use Usage Description..

iOS 2020.12.24

2020년 회고(편입, SOPT, 첫 해커톤)

2020년은 나에게 많은 변화와 발전의 계기를 가져다 주었던 한 해였다. 코로나로 인해 모든 사람들이 혼란 속에서 한 해를 보냈지만 그래서 올해 얻은 것들이 더 값진 것 같다. 그냥 지나쳐 보내기엔 올해가 나에게 있어 나름 중요한 한 해였던 것 같아서 내 첫 회고를 오늘 시작해볼까 한다. 나의 2020년은 편입, SOPT 두 가지 키워드로 정리할 수 있다. 1. 편입 2020년 2월 11일, 작년 한 해 동안 열심히 준비한 편입에 합격했다. 편입 합격이 없었다면 나의 2020년이 어떤 방향으로 흘러갔을지 모르겠다. 그 정도로 나에게 있어서는 너무나도 큰 도전이었고 꼭 성공하고 싶은 목표였다. 1년 동안 편입을 준비하면서 나 자신에 대한 한계를 어느 정도 깼다는 느낌을 많이 받았다. 내 멘탈이 산산조각 나..

회고 2020.12.22

iOS) Collapsable HeaderView

안녕하세요:) 스크롤에 따라 스스륵..하고 사라지는 Collapsable HeaderView에 관해 알아보려고 합니다. 당근마켓 클론코딩을 하면서 이런 헤더뷰가 있었거든요. 우선 제가 참고한 사이트들은 두가지입니다! 유튜브자료 StackOverflow 특히 두번째 링크를 통해 힌트를 좀 얻을 수 있었는데요. 저는 해당 링크를 참조하여..이렇게 구현을 했습니다. // 스크롤에 따라 최 상단 헤더뷰 Collapsable하게 func scrollViewDidScroll(_ scrollView: UIScrollView) { if scrollView.contentOffset.y < 0 { headerHeight?.constant = max(abs(scrollView.contentOffset.y), minHeigh..

iOS 2020.11.30