목록전체 글 (1480)
오늘도 공부
도커 & 쿠버네이트 3주차 스터디 정리이번 시간에는 실제 운영되는 배포까지 실습해보겠다. 소스는 여기에서 확인가능하다. https://github.com/bear2u/docker3 기본적으로 프로세스는 다음과 같다. Development -> Testing -> Deployment -> Developm...개발자가 소스를 github feature 브랜치에 푸시그럼 마스터 브랜치에 PR을 요청하면그럼 Travis CI 에서 테스팅을 진행테스팅을 진행해서 문제가 없는 경우 마스터 브랜치에 머지aws에 정상적으로 배포그럼 실습을 진행해보자. 우선 노드와 React를 이용할 예정이다. 노드 버전을 체크 해보자. node -v v8.11.3만약 설치가 안된 경우 os에 맞는 노드를 설치하자. 그럼 리엑트 프..
배달앱 클론 3주차 내용메인화면에서 ListActivity 로 이동메인화면에 RecyclerView 를 등록 한 후에 GridLayoutManager 를 등록한 후 일것이다. 그럼 Adapter 에 클릭 이벤트를 등록해서 ListAcitivity 로 이동 처리 한다. fun T.listen(event: (position: Int, type: Int) -> Unit): T { itemView.setOnClickListener { event.invoke(adapterPosition, itemViewType) } return this }MainRecyclerViewAdapteroverride fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHold..
보통 이런 오류는 lazy 하게 네트워크 상태가 늦어지거나 할 경우 이미 위젯은 dispose가 된 상태인데 setState 를 호출 하는 경우로 보인다. 해결법은 간단하게 onDispose 함수에서 변수 하나 선언해서 true / false 로 해주면 된다. 라이프사이클에 대해서 궁금하면 여기 로 가서 한번 보고 오자. 우선 이렇게 변수를 지정 후에@override void dispose() { super.dispose(); isDisposed = true; } 변경하는 부분에서 if(!isDisposed) { setState(() {.... }); }이런식으로 하면 된다. 팁으로 시작시 setState 를 하는 경우에는 this.mounted 로 체크가 가능하다. 이상으로 늦은 setState 오류에..
Android 사용시 자주 사용되는 게 같은 Task 내에서 onActivityForResult 를 사용하는 편이죠. 물론 안드로이드내에서는 호출하는 쪽에서는 startActivityForResult 를 하고 다음 엑티비티에서 할일 하고 값을 다시 보낼때 onActivityResult 를 통해서 값을 받습니다. 관련 글은 http://liveonthekeyboard.tistory.com/150 보시면 됩니다. Flutter 내에서는 라우터를 이용을 할텐데요 그럴경우 주고 받는 걸 어떻게 하는 지 볼게요. 우선 A -> B -> A 라고 가정하면A 에서 라우팅을 Map results = await Navigator.of(context).push(new MaterialPageRoute( builder: (B..
Flutter로 작업시 Android Native 모듈과 통신할 일이 생길 수 있다. 그럴경우 android 폴더를 오른쪽 클릭 후 open Android module in Android Studio 로 열면 된다. 기존에 Flutter에 라이버러리들을 안 붙인 상태이면 정상적으로 작동이 될것으로 보인다. 하지만 다른 라이버러리들을 사용을 하고 있는 경우 하단의 오류 같은게 나올 수 있다. 이 부분을 해결하기 위해선 플러터 오픈 채팅방에서 고수 두부랩님이 알려주신 팁으로 gradle 폴더안에 gradle-wrapper.properties 파일을 열어서 gradle 버전을 수정해주면 된다. distributionUrl=https\://services.gradle.org/distributions/gradle..
Flutter BuildContext 알아보기https://flutterbyexample.com/build-context-class 보고 공부한 내용입니다.Flutter 에서 BuildContext는 위젯 트리에 있는 위젯 위치라고 보면 된다.각각의 위젯마다 고유의 BuildContext 가 존재한다.class _MyHomePageState extends State { _MyHomePageState() { print(context.hashCode); // prints 2011 } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(widget.title), ), body:..
Flutter 에서 내위치 가져오기모바일에서 내 위치를 가져오는 건 필수 기능 중 하나!!관련 플러그인은 https://pub.dartlang.org/packages/geolocator#-readme-tab- 에서 확인 가능하다.그럼 설정은?pubspec.yamlgeolocator: '^2.0.1'Geolocator 라는 메인 클래스를 통해서 위치를 가져 올 수 있다.Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high)리턴 값은 Future 비동기로 받는다. 그래서 then이나 await 로 사용이 가능하다.Future getCurrentUserLocation() async { return Geolocator() .getCurre..
2주차 배달앱 강의 스터디 수업 내용1주차 복습 내용http://javaexpert.tistory.com/971?category=7201022주차 클론 수업 내용Category 데이터 클래스 구현List 구현리사이클러뷰를 그리드 레이아웃 매니저로 구현 및 데이터 연결GPS 기능 켜져있는지 체크유저 위치 가져오기 위해 퍼미션 작업Presenter 함수 구현Address Object Data 클래스 구현퍼미션 승인 후 트래킹 진행좌표를 가져온 후 네이버 지오코딩 api 를 통해 자세한 동을 가져온다.Retrofit Api 구현converter-moshi 를 통해 JSON -> Address Class 로 변환RxJava Converter 구현RxJava Subscribe 를 통해 화면에 푸시최종적으로 화면에..
도커 2주차 수업복습http://javaexpert.tistory.com/967?category=719756docker-compose를 만드는 방법에 대해 진행1. package.json{ "dependencies": { "express": "*", "redis": "2.8.0" }, "scripts": { "start": "node index.js" } }2. index.jsDocker compose를 통해서 내부 네트워크 설정을 진행redis를 연결시 redis-server을 바로 호출 해서 연결함process를 강제로 죽는 오류를 발생시켜서 도커 컨테이너상에서 오류에 대한 여러가지 대처방법을 배움"no",always,on-failure등 여러가지 프로세스 오류에 대처할 수 있음const expres..
Stateful Widget Lifecyclehttps://flutterbyexample.com/stateful-widget-lifecycle/#6-didupdatewidget 을 공부해서 요약한 글입니다. 자세한 내용은 원문확인 부탁드립니다.StatefulWidget을 만들때 State 라는 오브젝트를 만든다. 이 오브젝트는 위젯이 동작하는 동안 mutable state를 뜻한다.state의 컨셉은 두가지로 정의되어 진다.위젯에 의해서 사용되어지는 데이터는 변할수 있다.위젯이 빌드 될때 데이터들을 동기적으로 읽을수 없다. 모든 State 들은 build 함수가 호출될 때까지 설정되어야 한다.StatefulWidget 와 State 는 클래스를 분리를 한 이유는?성능때문이다.1. createState()..
