한달간 진행되었던 패스트캠퍼스 갓생살기 챌린지를 마무리하면서 소감을 정리해본다. 

처음에는 Motivation이 높았기에 한달동안 전체 강좌를 마무리할 수 있을 줄 알았으나 생각보다 

매일매일 강의를 듣고 정리를 하는 것이 쉽지만은 않았다. 

내가 들었던 강좌는 앱만들기 강좌이기 때문에 전체 앱을 만들었더라면 6개 정도가 됐을 것이다. 

이만큼은 만들지는 못했으나 적어도 앱을 만들기 위해서 필요한 스킬이나 관련 지식은 습득할 수 있었다. 

물론 나머지 강좌도 챌린지와 관계없이 전부 진행할 예정이다. 

 

가장 처음 만들었던 앱은 현상금 앱이었다. 

여기서 배웠던 건 앱을 만들기 위해서는 ViewController가 필요하고, 여기에 텍스트, 라벨, 버튼 등을

배치해서 화면을 꾸밀 수 있었던 것이다. 프로그래밍을 처음 배울때 의례 등장하는 Hello, World 수준의

앱이라고 볼 수 있다. 그렇더라도 무시할 수 없는게 아이폰을 준비하고 내가 만든 앱을 넣고 실행을 하면, 

짜잔하고 원하는 대로 동작하는 것을 볼 수 있단 것이다. 

무언가를 만드는 것을 배우고 그것을 따라했을 때 원하는 대로 동작을 하면 희열을 느낄 수 있다. 

정말 누가 봐도 간단한 작업이지만 첫걸음을 떼는 건 쉽지만은 않은 일이다. 

내부적으로 뭐가 어떻게 돌아가는지는 잘 몰라도 내가 만든 코드가 화면을 통해서 나에게 말을 거는 느낌을

받을 수 있었다. 

 

개발자에게는 평판이 좋지않은 xcode이기는 하나 화면을 배치하고 드래그를 몇번 함으로써 코드와 뷰가

연결되는 점은 굉장히 편리했다. Ctrl을 누른채로 ViewController 파일에 드래그를 해서 Outlet과 Action등을

연결을 할 수 있었다. 이를 통해서 실제 화면에 위치한 컴포넌트의 외양과 동작을 제어할 수 있다. 

 

아이폰과 아이패드마다 화면의 크기와 해상도가 달라서 이를 보정해주기 위한 기능도 존재한다. 

그것은 바로 오토레이아웃이다. 뭔가 이름 자체는 딱히 멋스럽지는 않지만 사용자 경험의 만족을 위해서는

꼭 숙지해야 하는 기능이다. 개발자로서 이부분이 제일 어려운 일이라고 생각된다. 그저 키보드만 두드리고 

코드를 입력해서 앱이 동작하는 걸 보고 싶은데 화면 설계가 제대로 되어 있지 않으면 전혀 엉뚱한 화면만 

나오게 되어서 신경써서 배치를 해줘야 한다. 강좌내내 컴포넌트를 배치하면 꼭 오토레이아웃부터 설정하라는 

내용을 반복하였다. 귀찮은 일은 처음에 해결해야 나중에 문제가 안 생기는 것이다. 

다행히도 xcode는 ctrl + 드래그 드롭으로 쉽게 오토레이아웃을 다룰 수 있다. 

애플이 xcode외에 다른 ide를 잘 못쓰게 한 점은 맘에 안들지만 xcode의 사용성을 높이려 한 점은

높게 평가할 만하다. 

 

첫앱 이후에는 스위프트 문법에 대해서 진행이 되었다. 

스위프트는 최신 언어인만큼 다양한 기능들을 가지고 있다. Swift Playground를 통해서 컴파일 언어임에도 

불구하고 스크립트 언어들처럼 쉽게 실행을 할 수 있는 기능도 있다. 

주석은 일반적인 //와 /* */를 모두 지원한다. 명시적 타입을 가지고 있는 언어이긴 하나 let을 통해서 선언을

하면 타입 추론을 지원하여 타입을 명시하지 않고도 어떤 타입인지 자동으로 설정해준다. 

이런 부분은  모두 option을 누른채로 클릭을 하면 데이터 타입에 대한 정보를 볼 수 있었다. 

for문의 경우는 …와 ..<등의 범위지정자를 지원하는데 이 부분은 반복문을 처리할때 굉장히 편리하다. 

파이썬의 경우는 range를 통해서 이런 처리를 해야 하는데 스위프트는 언어레벨에서 범위를 탐색할 수 있다. 

특히 switch문과 결합해서 사용을 하면 장점이 더 빛을 발한다. c++의 경우 case를 여러번 겹쳐써야 하는데 

스위프트는 case 1…3 등을 이용해서 여려 조건을 한번에 검사할 수 있었다. 

 

func 역시 파라미터에 alias를 붙일 수 있다는 점이 특이하다. 아무것도 붙이지 않으면 파라미터 이름을 명시하지

않고 지정된 순서대로 사용을 하고, 이름을 붙이면 외부 공개용과 내부 공개용을 구분할 수 있다. by, of 등의 전치사를

통해서 영어이름처럼 쓸 때 유용하다. 지금까지 써왔던 언어 중에 외부용과 내부용 파라미터 이름을 구분하는 언어는

없었던 것 같다. 파라미터 이름을 딕셔너리로 받는 것은 파이썬의 특징인데 스위프트는 그보다 더 나아간 방식을 

채택한 듯하다. 

 

옵셔널은 최근에 나온 언어들에 적극 채용되는 문법이다. C++이나 파이썬 역시도 Optional Class를 이용해서

구현을 할 수는 있다. 스위프트는 그보다 나아가서 언어자체에서 지원을 한다. ?나 ! 등의 예약어가 옵셔널을 다루기 위한

것들이다. 옵셔널은 처음에는 이해하기가 어려운 개념이었다. 박스를 가정하고 박스 안에 데이터가 있냐없냐를 고민해야

하는 것이다. 박스 안에 물건이 있는지 없는지부터 살펴보고 있으면 꺼내서 사용한다는 개념이다. 

사실 자바에서 null point exception이 굉장히 짜증나는 에러 중에 하나인데 옵셔널을 이용하면 이 부분의 에러는 미연에

방지할 수가 있다. 에러를 마주하기 싫으면 항상 검사해서 사용하라는 강제성이 있는 방법이라고 생각된다. 

앱개발에서는 대부분의 컴포넌트가 옵셔널 형태로 구현이 되어 있었다. 따라서 데이터를 넣거나 가져올때 항상 체크를 하는

불편함이 있지만 그 덕분에 안정성이 보장이 되었다. 

 

스위프트 콜렉션

스위프트의 콜렉션 역시도 특징이 있다. 다른 언어에서도 항상 등장하는 Array와 Dictionary가 그것이다. 

Array는 순서가 있는 값들을 저장하는데 유용하고, 스택으로도 쉽게 사용할 수가 있다. 항상 뒤쪽에 데이터가 들어오기 때문에

뒤에서 넣고 빼는 건 복잡도가 낮은 것이다. 딕셔너리는 파이썬이나 다른 언어에서 사용하는 딕셔너리와 같다. 

자료구조에서는 해쉬테이블과 같은 방식으로 키를 알면 값에 접근하는 건 상수시간에 가능하다. 

추가적으로 Set 타입이 있는데 이는 키가 그자체로 값 역할을 하는 딕셔너리와 같다고 생각하면 된다. 

각각의 값이 유일하게 존재하고 중복되는 값들은 하나로 처리하게 된다. 

 

익명 함수의 일종인 클로저도 배웠다. c++이나 파이썬의 람다 함수나 자바스크립트의 arrow function과 같은 내용이다. 

함수의 이름없이 인자와 블럭만으로 함수를 정의하고 이를 callback등에 넘겨서 처리하게 하는 것이다. 

다만 스위프트 클로저만의 특징이 있는데 함수 입력으로 들어가는 클로저가 마지막 인자 일 경우 함수 바깥에 정의할 수 있단 점이다. 

자바스크립트는 콜백으로 익명 함수를 전달할때 함수밖에 괄호를 해야 하는 경우가 있어서 매우 지저분할 때가 있다. 

스위프트는 클로저 자체를 밖으로 위치시켜서 이 부분을 보기 좋게 만들 수가 있다. 익숙해지면 코드 보기가 편한 방법이다. 

 

스위프트 구조체

스위프트의 구조체는 클래스보다 더 많이, 자주 쓰이는 개념이다. 프로퍼티를 설정하는 방법이 중요한데 get, set 지정자를

언어 자체적으로 지원을 해서 따로 함수를 만들지 않고도 get, set을 자체내에서 정의를 할 수 있게 만들었다. 

computed property와 method의 구분은 강사님이 구분을 해서 어떤때에 사용하면 좋은지에 대해서도 표를 만들었다. 

강의 중간중간에 이렇게 헷갈릴 수 있는 부분을 쉽게 구분을 할 수 있게 한 건 좋은 경험이었다. 

뒤에 이어지는 강의 내용에서는 struct와 class의 비교도 진행이 되었다. 대부분의 경우는 struct를 쓰지만, 꼭 필요할때

class로 바꾸는 방법은 어렵지 않기 때문에 어떤때에 쓰면 좋을지에 대해서도 표를 통해서 설명을 해주었다. 

클래스에 대해서는 항상 딸려오는 개념이 상속이기 때문에 상속에 대한 개념도 자세히 설명을 하고 넘어갔다. 

특히 5가지 케이스에 대해서 상속을 하면 좋을 경우에 대해서 설명을 했는데 이는 강의에서 확인이 가능하다. 

 

원피스 현상금 앱

여기까지 길고 긴 스위프트의 기본 개념을 마무리하고 다시 앱을 만들게 되었다. 

첫번째 앱은 맛보기였으므로 이제부터 본격적인 앱이라고 볼 수 있는데 원피스 현상급앱을 만들었다. 

이번 앱을 만드는데 있어서 전체적인 개념은 Table View, Grid View, 프로토콜과 delegate 였다. 

Table View를 추가했을 때 꼭 구현해야 하는 부분이 존재하는데 그 것이 Datasource와 Delegate이다. 

이 부분은 모두 프로토콜로 추가가 되고 프로토콜을 구현을 해야 화면에 어떤 식으로 뿌려줄지 정해지는 것이다. 

프로토콜은 어떤 서비스를 구현하기 위해 해야 할일이라고 생각을 해두면 되고, 항상 등장하는 개념이다. 

 

MVVM

그 다음 중요한 개념은 segueway이다. 화면을 클릭했을 때 어떤 화면으로 전환될지 정한 스토리라인이라고 보면 

될 것이다. 새로운 뷰컨트롤러르 만들고 기존의 뷰컨트롤러에서 ctrl로 드래그를 하면 segueway를 만들 수 있다. 

앱디자인에서 중요한 디자인 패턴도 설명하고 이를 실제로 적용하면서 코드를 수정하는 부분도 진행하였다. 

에전에는 MVC 모델이 일반적이었으나 Controller에 가하는 부담이 커서 MVVM 모델로 전환한 얘기도 하게 되었다. 

특히 모델들을 다른 클래스로 추출해서 기능의 변경에 유연하게 대처가 가능하게 하였다.  이러한 과정을 리팩토링이라고 하는데

개발하는데 있어서 아주 중요한 기법 중 하나이다. 처음에는 일단 동작하는 앱을 만들더라도 만든 후에 기능 추가나 

변경 등이 발생하기 마련이다. 이를 위해서 구조가 바뀌는 등의 일이 발생하는데 문제가 없도록 변경 할 수 있어야 한다. 

리팩토링을 거쳐서 프로그램을 유연하게 만들었기 때문에 현상금 앱을 리스트뷰에서 콜렉션뷰로 바꾸는게 가능할 수 있었다. 

구조가 그대로였으면 이런 변경 과정이 쉽지 않았을 것이다. 요구가 어떻게 바뀔 수 있는지를 고려해서 프로그램을 처음부터

잘 작성하는 것도 중요하지만 중간에 변경할 수 있다는 내용을 배울 수 있었다. 

 

 

음악앱 구현

마지막으로 끝까지 완성해 본 앱은 애플스타일 음악앱이었다. 

여기서는 프로젝트에 추가된 mp3파일들을 다루고 AVPlayer를 이용해서 플레이 가능하게 만들었다. 

친절하게도 template 코드를 제공해서 강좌에는 필요한 기능을 구현하는데만 집중할 수 있었다. 

extesion을 이용해서 원래 없던 함수들을 구현을 하고 이를 통해서 앱에 사용할 수 있는 기능도 만들 수 있었다. 

스크롤바의 seeking을 구현해서 스크롤을 움직일때 구간을 찾아서 플레이하는 기능들도 구현을 하였는데, 

동작하는 모습을 보니 뿌듯함마저 느껴졌다. 

처음 화면만 봤을때는 어떻게 구현을 하면 좋을지 막막함이 느껴졌는데 하나씩 따라가다 보니 완성되는 모습을 보면서

보람도 느끼게 되었다. 강의를 통해서 앱은 많이 구현을 못해보았으나 실제로 존재하는 앱과 비슷한 기능을 하는

앱을 구현하는 건 나도 이런 앱을 만들 수 있구나 하는 생각이 들어서 좋다. 

 

이렇게 30일간의 여정이 진행이 되었다. 끝났다고는 말을 못하는게 아직도 한달 정도 더 들어야 강좌를 완료할 수 있을 것 같다. 

매일매일 진행을 하는게 때로는 힘들고, 때로는 귀찮고 하지만 미션과 함께하다보니 이렇게 완료가 되었다. 

처음에는 분명 금전적인 부분이 동기가 되기도 했지만 하다보니 개근하는 재미가 있어서 더 열심히 한 경험이었던 것 같다. 

이글을 보는 다른 분들도 내년에는 꼭 맘에 드는 강좌를 들으면서 미션을 해보시길 바란다. 

다음에 또 기회가 되면 또 다른 강좌를 찾아서 들을 것이다. 

 

https://bit.ly/3FVdhDa

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지

마지막 날의 강좌는 TodoList앱을 만드는 것으로 시작한다. 

 

데이터를 저장하는 방법에 대해서 배우는데 iOS에서 데이터를 저장하는 방법은 다양하게 있다. 

이 중에서 우리는 swift 4에서 제공하는 codable을 이용해서 만들게 된다. 

codable은 json 형태의 데이터 구조를 저장하는데 적합하게 되어 있다. 

 

앱개발 첫시작은 스타터 프로젝트를 열어보는 것으로 시작한다. 

스토리보드는 그냥 CollectionView하나 위치해 있다. 

먼저 에디터의 Embed-in에서 TabBar Controller를 추가한다. 

 

그담에 테이블뷰 컨트톨러를 추가하고 탭바 컨트롤러를 ctrl을 누른채로

드래그하여 view controllers에 추가를 해준다.

이렇게 settings 화면을 만들 수 있었다. 

이러고 실행을 하면 task와 settings 화면이 tab bar controller에 들어가 있는 것을 확인할 수 있다.

 

테이블뷰는 이번에는 Dynamic Cell Type이 아닌 Static Cells를 이용해서

고정된 갯수의 열이 표현되도록 하였다. 

라벨을 추가를 해서 총 3개의 아이템이 나타나도록 한다. 

 

커스텀셀은 재사용을 위해서 idetifier에 설정을 해둔다. 

이렇게 해야 접근을 할때 id를 이용해서 접근이 가능하다. 

 

오늘은 이정도까지로 해서 스터디를 마무리하도록 한다.

비록 패캠챌린지는 오늘까지지만 앞으로도 강의를 들어서 많은 앱을 완성시키도록 하겠다. 

 

https://bit.ly/3FVdhDa

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지

그냥 하기의 일환으로 F45를 시작하였다. 

특히나 오전에는 매우매우 우울해서 몸이라도 움직여볼 요량으로 점심 운동을 해본 것이다. 

12가지 종목을 3세트씩 총 36번을 하게 되는데, 처음에는 확실히 힘이 넘쳐나고, 

뒤로 갈수록 힘들어진다. 

 

이부분 pace 조절이 쉽지는 않은 것 같다. 

할수 있을 것 같은데? 란 생각에 너무 열심히 하다보면 뒤에 가서 지쳐떨어지니까.

오늘은 무게도 작은 걸 집으려고 하고 점프 동작도 안하려고 애를 썼는데,

뒤로 갈수록 힘들어지긴 하더라. 

 

다행히 오버페이스를 하냐마냐는 내 마음에 달린 것이라서 옆사람 신경쓰지 않고 했다. 

아마 옆에서 봤어도 내 몸을 움직이는게 힘들겠구나 하는 생각이 들었을 것이다. 

그만큼 난 아직 몸뚱아리가 그냥 쓰레기다. 

0.1톤을 움직여서 돌아다니는 것 자체가 쉽지만은 않다. 

 

어차피 체험기간은 7일내 5번이라서 가능하면 내일도 하려고 한다. 

다행스럽게도 이번주는 Greatest Hit이라고 해서 평소의 패턴이 아니고, 

올해 인기가 있었던 종목들을 다시 하는 것이라고 한다. 

그래서 오늘도 유산소날이었는데 근육운동을 했고, 유산소보다는 좋았던 것 같다. 

 

담주에 혹시 등록할때는 Credit 구입으로 먼저 해보는게 좋겠다. 

조절해가면서 오래 운동하고 싶다. 

 

오늘은 플레이어의 곡정보 표시와 재생을 구현하기로 한다. 

PlayerViewController의 메소드들을 구현하면 된다. 

 

먼저 updateTrackInfo에 simplePlayer의 곡정보를 가져와서

썸네일과 아티스트, 타이틀 정보를 업데이트한다. 

이렇게 구현을 하고 나서 실행을 하면 곡을 눌렀을때 플레이어 화면에서

커버 이미지와 텍스트들이 보이는 것을 확인할 수 있었다. 

 

그다음 할일은 PlayButton의 동작을 지정해 주는 것이다. 

플레이 상태를 체크하여 플레이 중일때는 Pause로 바꾸고 아이콘도

Pause로 바꾼다. 반대로 Pause 상태일때는 Play 상태와 이미지로 

바꾼다. 

이렇게 하고 실행을 다시하면 음악이 재생되는 것을 확인할 수 있다. 

 

Slider는 Slider를 잡고 움직이기 시작할때와 다시 놓았을때의 두가지

상태가 있다. 이 부분을 각각 IBAction에 연결을 해주어야 한다. 

이렇게 동작을 구분지어서 구현을 할 수가 있다. 

 

재생시간 표시 관련해서는 timeObserver변수를 선언해서 사용하였다. 

CMTime이라는 객체를 이용해서 기준 시간과 분할 시간을 정해서 얼마만에 한번씩 체크를 할 것인지 정하는 방법이다. 

이를 이용해서 updateTime함수를 구현하고 재생시간이 표시되게 하였다. 

슬라이더바는 seeking을 하지 않을때만 업데이트하게 하여 시간에 따라 슬라이더가 움직이는 것을 볼 수 있었다. 

 

마지막으로는 seeking을 구현을 하였는데, position 값을 이용해서

전체 길이의 구간을 찾고 이를 다시 player 업데이트하는 방식을 이용하였다. 

 

이를 이용해서 플레이와 seeking 기능을 구현을 할 수 있었다.

 

https://bit.ly/3FVdhDa

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지

앞선 강의에서는 뷰를 구성하고 Outlet과 컴포넌트들을 연결을 하였다. 

이번 시간에는 실제로 재생이 가능하게 프로그램을 구성한다. 

 

재생을 하기 위해서는 SimplePlayer를 만들고 AVPlayer를 이용해서 

재생을 하기로 한다. 필요한 메소드들은 껍데기로 미리 주어졌다. 

play, pause, seek, replaceCurrentItem등의 메소드들이 있다. 

프로퍼티로는 현재시간, 전체 시간, 플레이 중인지 플래그, 현재 재생하는

아이템이 있다. 

 

재생을 할때는 플레이어가 하나만 있으면 된다. 

처음에 생성만 하나를 하고, 필요할때는 재사용을 하면 된다. 

이를 위해서는 디자인 패턴 중 싱글턴 패턴을 이용을 한다. 

디바이스 기능을 이용하는 클래스의 경우 싱글턴 패턴을 사용하는 것이 일반적이다. 

여기서는 스피커를 사용하므로 그 중에 하나의 경우라고 볼 수 있다. 

 

SimplePlayer의 대부분의 기능은 AVPlayer를 적절히 호출해서 사용하였다. 

플레이어 화면에 맞게 몇가지 기능을 바꾼 것이라 구현은 어렵지 않았다. 

 

그 다음에는 홈화면에서 곡을 클릭했을때 PlayerViewController를 띄우는 코드를 작성하였다. 

헤더뷰에도 마찬가지로 Handler에 관련 부분을 설정하여 헤더뷰를 선택했을때 플레이어뷰가 나올 수 있도록 하였다.

 

오늘은 이렇게 하면을 구성한 후 띄우는 부분까지 완성하였다. 

실제 재생은 내일부터 시작된다. 

 

https://bit.ly/3FVdhDa

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지

오늘은 플레이어뷰를 구성하는 방법에 대해서 강의를 진행하였다.
플레이어뷰 화면은 썸네일 곡타이틀, 아티스트, 그리고 재생바로 이뤄진다.
플레이어를 하면 재생바가 이동을 하면서 곡 진행시간과 남은 시간을 
보여준다. 

이 부분을 설계하는 것을 진행하는 것이다. 
주어진 화면은 플레이어뷰 컨트롤러를 추가한 상태로 나머지는 공백인
상태로 진행을 하였다. 

홈화면을 설계하는 것과 마찬가지로 이미지뷰를 추가하고, 필요한 라벨과
슬라이더를 추가한 후 오토레이아웃을 통해서 배치를 확정했다. 
필요한 컴포넌트를 넣는 것은 스토리보드에서는 드래그 앤 드롭으로 작업을
하면 되므로 쉽기는 하나 크기와 위치 등을 잡는 레이아웃은 개발자에게는
어려운 작업이다. 
디자인 공부도 좀 해두는게 좋을까 하는 생각이 들었다. 

스토리보드 하나에서만 뷰컨트롤러를 사용하는 것이 아니라, 
뷰컨트롤러를 나눠서 사용하는 방법도 배웠다. 
즉 화면이 두개면 스토리보드를 더 생성해서 연결하는 것이다. 
강사는 이 방법을 더 선호한다고도 얘기했다. 
아무래도 관리하기는 더 나은 방법일수도 있다. 

오늘은 주말이라 한강좌만 진행하였다. 

내일은 설계한 뷰를 바탕으로 코드를 연결하는 작업을 할 것이다. 

 

https://bit.ly/3FVdhDa

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지

하루에 글 두개를 쓰게 되었는데, 유투브를 보다가 기억나는 영상이 두개라서 남겨본다.

 

하나는 그냥 하기.

컨디션이 어쩌고 저쩌고 핑계대지 않기. 그냥 매일매일 하기. 하다보면 익숙해지고 좋아지고, 뭔가 되어가는 것. 

정말 당연하면서도 어려운 것. 

매일매일 공부하기, 일기쓰기, 운동하기. 

그냥 해보자.

 

두번째는 개발자 진로에 대한 것.

모두를 잘하는 개발자가 풀스택 개발자가 아니고, 새로운 기술에 적응을 잘하는 것. 

개발이 모두 비슷한 면이 많고 차이점은 생각보다 적다.

지금 웹개발 공부를 하고 있으니 좀 익숙해지면 적응이 되지 않을까.

뭐든지 할 수 있을 것 같아라는 마음으로. 

사실 어떤 분야든 몇개월만 적응하면 가능은 할 것 같다. 

아침에 일찍 일어나기가 힘들어서 일부러라도 뭔가 루틴을 만들어야 할까 생각중이다. 

사실 내가 제일 일어나기 좋은 시간은 5시 30분쯤이라고 보는데, 그 때 눈을 뜨기 때문이다. 

 

하지만 그 즈음 눈을 뜨면 당연히 다시 잠을 들려고 한다. 

그러다 보면 7시가 되어도 일어나기 싫은 생각이 반복된다. 

적어도 6시에는 일어날 수 있으면 하루가 좀 더 여유로워 질텐데. 

 

그도 그렇지만 일어나고 우울한 기분이 견디기가 힘들다. 

뭔가로 이 기분을 덮어야 하는데, 필라테스를 하자니 10시에 계속 시간내기가 애매하다. 

9시로 하자니 집에서 적어도 6시 40분쯤에는 나가야 여유가 생길텐데 이는 불가능에 가깝다.

그리고 무엇보다도 가격이 너무 비싸고 혼자 하는 운동이라서 싫다. 

 

7시에 하는 체육센터의 크로스서킷 다이어트를 신청할까 굉장히 고민하다 시간만 흘러가고 말았다. 

중년의 아줌마, 아저씨들이 하는 거라서 운동 난이도(강도는 높다)는 낮은 편이라, 할까말까 고민했었는데

7시까지 못 갈거 같아서 패스하고 보니 신청할 걸 하는 생각이 또 든다. 

 

고민만 하다가 할게 없어져 버렸다. 

남은건 f45인가. 강도가 무리일거 같아서 조절 가능한 걸 해야 하는게 맞는건데.

무엇보다도 혼자서 뭐하기가 좀 싫다. 어디 어울리고 싶은데.

회사 혼자 다니는 것만으로 족하다. 

+ Recent posts