목록FrontEnd (129)
만족
https://github.com/Nightonke/BoomMenu Nightonke/BoomMenu A menu which can ... BOOM! - Android. Contribute to Nightonke/BoomMenu development by creating an account on GitHub. github.com 프로젝트에서 이 라이브러리를 사용하던 도중, 오류 리포트에 다음과 같은 예외가 엄청나게 발생하기 시작했다 Fatal Exception: java.lang.IndexOutOfBoundsException Index: 0, Size: 0 java.util.ArrayList.get (ArrayList.java:437) com.nightonke.boommenu.BoomMenuButton...
간단하게 정리한다 화면 구조가 다음과 같다고 가정하자 액티비티 내부에 프래그먼트A가 있고 프래그먼트A내부에 프래그먼트 B가 있다. getFragmentManager는 activity내부의 Fragment들을 대상으로 한다. 즉 프래그먼트 A를 대상으로 작업하려면 getFragmentManager를 사용한다 getChildFragmentManager는 Fragment내부의 Fragment들을 대상으로 한다 즉 프래그먼트 B를 대상으로 작업하려면 프래그먼트 A에서 getChildFragmentManager를 사용한다. 참쉽죠? https://stackoverflow.com/questions/51395604/getsupportfragmentmanager-vs-getchildfragmentmanager getS..
Fragment의 getActivity()는 언제 null을 반환할까 (When do fragment.getActivity() return null) Fragment의 onCreateView 내부에서 getActivity()가 Null을 반환하여 앱이 죽는 현상이 발생했다. 그런데 테스트 환경에서는 Null일때도 있고, 아닐때도 있어 재현이 어려웠는데, 이번 기회에 getActivity()가 언제 null을 반환하는지 알아보려 한다. 먼저 해당 프래그먼트는 다음과 같이 activity의 xml에서 선언되었다. 위의 LifeCycle을 참조하여 각 페이즈마다 getActivity가 Null인지 아닌지를 체크할 것이다. 위 코드를 이용하여 null여부를 로그에 기록한다. 결과는? 생명주기 내부에서는 getA..
https://ko.reactjs.org/docs/react-api.html#reactmemo React 최상위 API – React A JavaScript library for building user interfaces ko.reactjs.org 요즘 클래스형 컴포넌트를 갖다 버리고, 거의 함수 컴포넌트만 사용중이다. 클래스형 컴포넌트에서는 shouldComponentUpdate 메서드를 사용하여 해당 컴포넌트를 업데이트할지 말지 결정할 수 있었으나, 함수 컴포넌트에서는 할 줄 몰라서 그냥 내버려뒀다. (사실 페이지 내에 요소가 그렇게 많지가 않아서 크게 신경쓰지 않아도 문제는 없었다) 그러나, 엘리먼트가 매우 많은 페이지를 만들면서 해당 문제를 해결하는 방법에 대해 알아보았다. 탭바 컴포넌트 구조를..
리덕스는 대표적인 상태 관리 라이브러리다. 리액트에서는 여러 컴포넌트가 동시에 사용하는 state를 props를 이용해 하위 컴포넌트로 계속해서 전달하는 대신 하나의 스토어에서 관리하게 되어 생산성을 높이는데 주로 사용된다. 잠깐 설명을 하고 가자면, 리액트는 FLUX아키텍쳐를 채택하여 컴포넌트 간 데이터 흐름은 항상 상위 컴포넌트에서 하위 컴포넌트로 흐르게끔 강제한다. 그러나 때때로 A Component에서 B Component로 데이터를 넘겨줘야만 할 때가 있는데, 이 규칙을 따르려면 불필요한 래핑을 진행하거나 사용할 데이터를 Parent Component로 옮긴 후, props로 보내주는 방식을 채택해야 한다. 컴포넌트간 관계가 소규모라면 어렵지 않지만, 매우 복잡하게 얽혀있는 관계라면 꽤 번거롭고..
hook을 사용하다가 발생하는 에러다. 무슨 에러인지 잘 모르겠지만, 콘솔에 찍힌 에러를 따라가보면 다음과 같은 메시지를 확인할 수 있다. 즉 useEffect의 마지막 인자(deps)부분이 array가 아니라서 발생하는 에러다. 이런 식으로 deps에 array가 아닌 string이 주어진 상태이므로 이렇게 배열로 바꿔주면 해결된다.
현재까지 배포 과정은 다음과 같았다. 1. yarn build 입력 후 빌드 대기2. FTP클라이언트를 켠 후, build폴더 내용을 원격 서버에 복사 터미널에 yarn build후, 다른 창으로 이동하여 작업을 이어나가야 한다는 점이 매끄럽지 못하다고 느꼈기 때문에 다른 방법을 알아보기로 했다. 가능하면 터미널에서 build했으니, 터미널에서 배포까지 끝내고 싶어 검색하던 도중 scp 명령어에 대해 알게 되었다. scp란 무엇인가scp란 secure copy의 약자로써, 원격으로 파일의 카피를 할 수 있게 해주는 명령어이다. 어떻게 사용하는가MAC이나 Linux계열의 OS사용자면 그냥 터미널을 열면 되고Windows사용자는 PowerShell을 사용해야 한다. 사용 포맷은 다음과 같다. scp [OPT..
A액티비티에서 어떤 데이터를 B액티비티에 전달하고자 할 때, A액티비티에서 Intent.putExtra()를 이용해 인텐트에 데이터를 넣고, startActivity()를 이용해 B액티비티에 데이터를 전달함과 동시에 B액티비티를 실행한다. 그러나, intent.putExtra()에 들어갈 수 있는 데이터의 크기는 무한정하지 않다. 공식 문서를 살펴보면, 이러한 방식으로 매우 큰 데이터가 입력될 경우 TransactionTooLargeException이 발생함을 명시하고 있다. (한 프로세스가 공유하는 트랜젝션 버퍼에 1MB 넘게 입력할 때 이런 문제가 발생한다고 한다. 보통 Bitmap이나 길이가 긴 배열을 입력하려 할 때 발생한다) If the arguments or the return value ar..