글

AWS beanstalk 사용기

새로운 프로젝트에서 서버개발 및 인프라를 담당하게 되면서 배포 및 서비스 운영에 대해 생각을 하다가 마침 관심있게 생각하는 AWS 서비스 중에 beanstalk이 있어서 사용해보면 좋을것 같다라는 생각에 도입을 하게 되었고, 도입할때 tutorial을 통해서 테스트 및 서비스를 배포해보면서 발생한 문제점 및 pre-requirement 에 대해서 적을까 합니다. 해야 했던 일 database setting setup security consider scaleable service setup ec2 instance for service setup load balancer management deploy setup log system 이거 하려면 ec2를 세팅해야하고,  load balancer도 세팅해야하고 vpc도 만들어야 하고,  매핑도 시켜야하고 scaling도 공부해야하고,  매핑도 해봐야하고,  상태체크 및 log system도 구축해야하고…  너무 귀찮고 힘들고,  처음해보는거라 실수라도 생기면… 나 막 그렇게 부지런한 개발자가 아니라서 ㅠㅠ 귀찮은데 누가 해줬으면 좋겠어.!! beanstalk을 선택한 이유 security, scaling, log system 등을 한번에 관리할수 있다. automatically setting security sample command method 귀찮거나 사람이 실수할수 있는 문제를 자동으로 세팅해줌. 방법은 amazon documentation site에 있는 beanstalk 에 있는 tutorial을 따라서 진행을 하였습니다.  한국어로 되어있는 문서도 있었는데, 영어로 하면 좀 더 자세히 되어 있을까봐 영어문서를 보고 했습니다. (영어공부도 해볼 겸 …) 일단 tutorial을 따라 적는건 의미가 없을것 으로 판단해서 제가 진행하면서 막혔던 ...

#5 Daily develop Notes

이미지
2019/09/29 날씨 맑음  오늘은 어제 UI를 통해서 그린 그림을 가지고, 실제로 프로젝트에 적용하는 작업을 하였습니다. 위에 화면이 저녁 밥 먹고 21시부터 시작해서 23시까지의 결과 물입니다. 코드는 github 에 들어가시면 확인하실수 있습니다.  간단하게 과정을 설명해드리면,  지금 보이는 설정 화면과 디테일 화면사이에는 createStackNavigator로 연결을 했으며,  거기서 만들어진 TimeStack을 TabNavigator에 연결해주는 방식으로 구현을 했습니다. 밑에 보이는 navigationOptions가 아래쪽에 한번 더 정의 되어 있는 이유는 위에 StackNavigator로 구성을 하고 추가를 하였을 경우에 UI Tab 화면에 아이콘이 보이지 않는 이슈가 있어서,  이슈에 대해서 찾아보다가 결국 찾지 못해서 저렇게 코드를 한번 더 Navigator 만들때 추가로 정의했습니다.  * 혹시 이 이슈 해결방법에 대해 아시는분 코멘트 부탁드립니다. 내가 보기에도 허접한 화면에 달랑 페이지 두개. 실제 작업은 30분도 안걸렸지만, 이제 한시간 반 동안 제가 어떤 삽질을 했으며, 또 그걸 해결하기 위해서 어떻게 해야하는지 적을까 합니다.  React-native가 기본적으로 제공하는 유저 Input을 받을수 있는 Components는 TextInput 와 Picker 입니다. 기본적인 웹에서 사용하는 form 과 같은 tag를 사용하고 싶을때는, react-native에서 구현되어있는 package를 설치해서 사용하면 더 정신건강에 좋습니다.  어떤 library를 사용해야할지 모르겠어서 어떻게 할지 찾아보다가 awesome-react-native 란 사이트를 찾아서 여기서 필요한 기능별 library를 추가하면 편하게 사용하실수 있습니다.  화면을 그리는것에 ...

#4 Daily develop Notes

이미지
2018/09/28 날씨 맑았다가 흐름.  오늘은 어제에 이어서 react-native 프로젝트 기본 세팅이 끝난 관계로, Timer에 대한 기능을 개발해 볼까 합니다. UI는 간단히 스케치 하면 일찍 끝날줄 알았는데, 이게 생각보다 오래 걸리네요. 아무래도 익숙하지 않은 툴 을 사용해서 그런것 같습니다. Balsamiq 이라는 wireframe 툴을 사용했습니다. 사실 원래는 툴 을 사용하지 않고 바로 코딩을 했었는데 이렇게 작업을 하니 혼자하기에는 편한데 남들에게 스케치 내용을 보여주고 피드백 받고 싶어서 문서로 남기게 되었습니다. 발사믹 에 대한 Website 주소는 https://balsamiq.com/  여기고, 들어가셔서 확인하시면 됩니다. * 참고로 유료예요. 저는 cloud version를 trial로 사용하였습니다. 되게 없어 보이지만, 1시간이나 작업을 했답니다. 내가 손이 느린건가 ㅠㅠ 이렇게 UI 작업이 끝나고 이제 타이머 작업을 해야하는데 UI 작업에서 시간을 너무 많이 써서 코드 작업은 다음번에 추가하도록 하겠습니다. 오늘은 친구 생일.!!

react-native project에 react-navigation을 통해 Tab navigation 추가하기.

이미지
Comments: App에서 필요한 기본적인 기능인 navigation을 붙이는 작업을 진행하면서, 추가적으로 발생한 이슈나 팁등을 공유할까 합니다. 원본 리소스는  https://facebook.github.io/react-native/docs/navigation 에 있는 페이지를 토대로 진행 했습니다. Spec: Node v10.11.0 NPM v6.4.1 Macbook npm 을 통해서 react-navigation 설치하기.  run npm install react-navigation 설치 후에 Node에 새로 추가된 dependency 에 대한 warming 체크로 이런 에러가 많이 뜨네요. npm audit fix --force 를 통해서 해당 이슈를 해결하였습니다. 사실 이렇게 했는데도 warmming 이 다 해결되지 않았지만, 일단 사용하지 않는 package 이기 때문에 사용할때 추가하면 될것 같아서 스킵 하였습니다. --force 후에 결과 페이지 Sample 코드를 추가 후에 npm run ios 실행 해서 결과를 보니, 에러 발생. Plugin/Preset files are not allowed to export objects react-native 0.56의 경우 expo를 지원하지 않음 npm eject를 통해 프로젝트를 기본으로 돌려서 npm run ios 진행했으나 에러 발생. npm start를 통해서 해봐도 똑같은 에러 발생. replace를 해도 main 쪽에 스크립트가 변경되지 않아서 똑같은 에러 발생. package.json에 main 쪽도 변경해줘야 함.  "main": "node_modules/expo/AppEntry.js"  이것땜에 프로젝트 다시 지우고 다시 설치함. 빈 프로젝트라 괜찮은데 기존 프로젝트의 경우에는 화가 많이 날것 같습니다. 드디어 완료!! 이제 코드를 ...

react-native 프로젝트 ios simulator 실행시 버그

이미지
Comments: react-native 프로젝트를 생성 후에 npm start 를 하고 i 를 눌러서 ios simulator를 열었는데, ` Unable to check Xcode version: Error: Process exited with non-zero code ` 해당 오류가 발생해서 오류를 해결하는 방법을 추가하였습니다. 간단한 방법이지만, 처음으로 해보는 react-native에 대한 경험 및 Troubling Shooting 에 대한 내용을 블로그에 적으려고 합니다. 못하는 영어지만 영어도 같이. 이유는? 연습하기 위해서! Requirements: Xcode react-native project Status: cd react-native project && npm start && press i button Xcode가 설치되어 있음에도 불구하고, 이런 에러의 나오는 이유는 Xcode 설치시에 기본적으로 Command Line Tools가 선택이 안되어 있어서 Version을 찾지 못하는 에러입니다. Even if i installed Xcode, react-native can't found Xcode version. Thats' why can't found Xcode Simulator version is Xcode default Command Line Tools setting are can not set any Xcode version. so you should select Xcode version one time Solve: Xcode 열기 - Open Xcode 왼쪽 위에 있는 Xcode버튼 클릭하기 - Click Xcode button in left top Preferences 클릭하기- Click Preferences     4. Locations 메뉴로 가기 - Goto Locations menu ...

#3 Daily develop Notes

이미지
2019/9/21 날씨 비 온뒤 갬 오늘은 COMPTRAIN.CO에 있는 운동을 하였다. 운동 내용은 Squat Clean Min 1-2-3: 3 Squat Cleans (62-65-68)   -- #160 - #165 - #170 Min 4 : Rest Min 5-6-7: 2 Squat Cleans (72-75-78)   -- #185 - #190 - #195 Min 8: Rest Min 9-10-11: 1 Squat Cleans (82-84-86)   -- #210 - #215 - 220 Min 12-13-14: 1 Squat Cleans (82-84-86)   -- #210 - #215 - 220 OverTime For Time: (#115) 200 M run, 21 Power Snatches 200 M run, 21 Overhead Squats 200 M run, 15 Power Snatches 200 M run, 15 Overhead Squats 200 M run, 9 Power Snatches 200 M run, 9 Overhead Squats Body Armor 3 Round Dumbbell Bench Press * 12 #50 Weighted Alternating Pistols * 10 Weighted Strict Ring Dips * 8 Weighted Pull-ups * 6 이렇게 운동을 끝내고 영상도 찍었는데, 그건 올리기 좀 그렇다 ㅎㅎㅎㅎ 뭐 그렇고, 일단 해야 할일과 한일과 내일 할일에 대한 내용입니다. 해야 할일:    어떤 language 및 Framework를 사용해서 앱 개발을 진행할지 정하기    github 프로젝트 생성하기.    앱 UI 그림 그리기. 한일:    React-native 사용해서 앱 개발하기.    github ...

#2 Daily develop Notes

2019/09/20 날씨 비 오고 흐림 오늘은 오전에 아시는분이랑 개발 관련해서 미팅이 있어서 아침일찍부터 스타벅스에서 미팅을 하고, 12시쯤 운동하는 GYM에 도착을 해서 운동을 하였습니다. 오늘은 COMPTRAIN이 REST DAY라서 CROSSFIT INVICTUS에 있는 프로그램을 찾아서, 운동을 구성했습니다. 순서를 어떻게 해야하는지 몰라서 COMPETITION에 있는 내용만 시작. ㅎㅎ PERFORMANCE, FITNESS도 있었는데, 힘들었습니다. 핑계가 심했네요. 오늘 한 운동은 Gymnastic warm up 2 sets PASS Kick to Handstand on Wall * 40 sec Wall Facing Handstand Marching * 40 reps Strength Every 3 min, for 15 mins ( 5 set) 2 Front Squat + Jerk #175 Condition 4 round for time of: 16:38 400m run or 500m row 60 DU 20 S2O ( #95) 비도오고 그래서오전 운동은 여기까지 시간이 되면 저녁에 GYM에 있는 Daily WOD를 진행할듯 싶습니다. 맞다. 그리고 오늘 하기로 한 스펙 정의와 UI를 해야하는데 귀찮네요. 스펙 정의의 경우에는 제 생각으론 두가지가 있는데, 기능에 대한 스펙과 프로젝트에 대한 스펙 두가지로 정해질것 같습니다. 기능에 대한 스펙은 내일 하기로 하고, ( 이유는 나 밖에 하지 않으니깐 ㅎㅎ 사실 아직 생각 못해둠. ) 프로젝트의 경우에는 크게 웹, 앱, 서버 이렇게 분리 될것 같고, 일단 경험이 없는 앱을 먼저 개발 한 후에 서버 작업을 하고 웹을 하는 순서로 진행 할것 같습니다. 앱의 경우에는 아마 Native로 작성 하지는 않을것 같고, 이유는 앱의 경우에 OS 종속적인 기능이 들어가지 않을 것 같아서, 다른 하이브리드로 도 가능하겠다 생각했습니다. 후보군으로 처음에는 Reac...