목록분류 전체보기 (385)
만족
최근 외국에서 '조 티펜'이라는 사람이 강아지 구충제인 '펜벤다졸'을 섭취하여 말기암을 치료했다는 사례가 국내에 퍼지면서, 많은 암 환자들이 이 약을 구매해서 섭취하는 사례가 많다. 약국에서는 이 약이 동나는 현상까지 나타났다고 하며, 심지어는 당뇨병에도 효능이 있다는 소문이 돌아 해당 질환을 앓는 사람들 마저도 이 약을 찾고 있다. 내가 말하고 싶은 것은 '펜벤다졸은 많은 질환에 도움을 줄 수 있다'라거나 '펜벤다졸은 해당 질환에 소용이 없다'를 말하고 싶은 것이 아니다. 더구나 내 전공은 약학이나 의학이 아니기 때문에 더더욱 내가 다룰만한 분야는 아니라고 생각한다. (요즘은 유튜브에도 많은 의사, 약사들이 활동하고 있다. 해당 내용이 궁금하다면 유튜브에 펜벤다졸만 검색해도 수두룩하게 나오니 참고바람)..
안녕하세요? 상당히 오랜만의 업데이트입니다. 원래는 2.x버전에서 유지/보수만 조금씩 해줄 예정이였는데, 얼마전에 OPEN API를 공개했더라구요. 기존 API는 보여주는 정보도 적을 뿐더러, 데이터가 분산되어 있어서 속도도 느리고 받을 수 있는 정보도 극히 제한적이였지만, OPEN API는 대놓고 유저에게 '이거 써!' 하고 친절하게 준 느낌이라 바로 개발에 들어갔습니다. 현재 학부과정 4학년에 있고, 곧 취업시즌이다보니, 여기저기 많이 불려다니고 그러느라 상당히 오래 걸렸네요. 하지만, 그만큼 유용한 기능들이 많이 추가되었고, 답답했던 속도도 많이 개선되었기 때문에 분명 패치내용은 만족하실거라고 생각해요. 사족이 조금 길었는데, 이제 본론으로 돌아가겠습니다. 먼저, 3.0.3버전 기준으로 사이퍼즈 서..
ListView는 꽤 옛날에 나온 놈이라 호환성이 그렇게 좋지 못하다. 제목에서도 언급했듯이 가장 많이 문제를 일으키는 경우는 ScrollView 내부에 ListView가 존재할 때 이다. 이 경우 ListView의 전체 높이가 ListView의 하나의 목록의 높이로 잡혀서 상당히 괴이한 모양의 컴포넌트를 만들어낸다. 대안은 두 가지가 있다. 첫 번째는 ListView를 버리는 방법이다. 위의 문제를 해결하기 위해서, 그리고 성능 향상을 위해서 ListView대신 RecyclerView를 이용하는 방법이다. 이 방법은 구글에 Android RecyclerView example만 쳐도 수백개의 예제가 나오므로 설명은 생략한다. 이 방법의 단점은 매우 번거롭다는 것이다. Adapter를 갈아엎는 수준으로 만..
ScrollView를 사용해서 스크롤을 구현하고 스크롤의 시작지점이나 끝지점에 hit했을 때, 저런 물결무늬가 나오는데 UI구성에 따라서 저게 상당히 흉해 보일 때가 있다. 이걸 뭐라고 불러야 하는지도 모르겠어서 검색하기도 꽤 난감했었는데 이 effect는 overScroll 할 때 발생한다고 한다. overScroll은 눈치챘겠지만, 끝이나 시작지점에 닿았음에도 같은 방향으로 계속해서 스크롤을 시도할 때를 말한다. 단순히 ScrollView의 옵션에 overScroll= "never" 하면 사라진다.
일단, fragmentTransaction단에서 커밋조차 실패한 경우에는 논외로 한다. xml에서 인플레이션했던, transaction으로 commit했던 간에, getFragmentManager().findFragmentById() 혹은 getFragmentManager().findFragmentByTag()를 분명 일치하게 입력했는데도 null을 return 하는 경우가 있다. Fragment코드를 생성할 때, Fragment클래스를 auto import하면 (alt+enter를 이용한 경우도 마찬가지) import android.support.v4.app.Fragment; 가 자동으로 import된다. 그런데, getFragmentManager().findFragmentById() 는 (getFra..
사이퍼즈 서포터는 다음 정보를 수집합니다. 1. 오류 발생 시 오류 정보(익명)Firebase Crashlytics를 이용하여 자동으로 수집됩니다.해당 정보는 익명으로 수집됩니다. 2. 사용 정보(익명)Firebase Analytics를 이용하여 자동으로 수집됩니다.해당 정보는 익명으로 수집됩니다. 3. 광고 분석Google Admob/Google Adsense 를 이용하여 자동으로 수집됩니다.해당 정보는 익명으로 수집됩니다. 4. 코멘트/문의사항 등록 시 작성자의 IP 및 현재 머무르는 페이지 정보해당 정보는 악성 유저 차단 및 고객 지원에 사용됩니다. 이 외의 정보는 수집하지 않으며, 용도 외에 사용하지 않습니다.
()=> {...} 과 function foo(){...} 은 단순히 텍스트의 길이의 차이만 있는 것은 아니다. 해당 함수를 instance 로써 사용할 때 차이점이 드러나게 된다. this pointer의 가리키는 위치가 서로 다른데 ()=>{...} 에서 this는 자신이 속한 instance를 pointing한다.그러나 function foo(){...} 에서는 자신이 속한 object를 pointing한다 function foo1(){ this.val= 1; return { val: 2, func: function (){ console.log(this.val); } };} function foo2(){ this.val= 1; return{ val: 2, func: ()=>{ console.log(..