2018년 2월 27일 화요일

[Android] SwipeRefreshLayout


아래서 당겨서 하는 업데이트? 리프레시?는 SwipeRefreshLayout 를 활용하여 만든다.


출처 : https://medium.com/@bluesh55/android-%EB%8B%B9%EA%B2%A8%EC%84%9C-%EC%83%88%EB%A1%9C%EA%B3%A0%EC%B9%A8-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-a42846c14c23

2018년 2월 25일 일요일

[C] 데이터, 힙, 스택영역

그림과 함께 설명되어 있다.

http://dsnight.tistory.com/50

[자료구조] malloc한 후에 free하지 않는다면?

질문 그대로 입니다.
하기 귀찮은데... free.. 배열을 꼭 해제시켜줘야 할까요?

출처 :
https://kldp.org/node/31099

[자료구조] 순차 검색 알고리즘

순차 검색 알고리즘(sequential search algorithm), 또는 선형 검색 알고리즘(linear search algorithm)은 리스트에서 특정한 값을 찾는 알고리즘의 하나다. 이것은 리스트에서 찾고자 하는 값을 맨 앞에서부터 끝까지 차례대로 찾아 나가는 것이다. 검색할 리스트의 길이가 길면 비효율적이지만, 검색 방법 중 가장 단순하여 구현이 쉽고 정렬되지 않은 리스트에서도 사용할 수 있다는 장점이 있다.

int sequentialSearch(int array[], int n, int m, int value) //숫자는 n부터 m까지를 말한다.
{
     int i = 0;
     for(i = n; i <= m; i++)
     {
          if(array[i] == value)
               return i;
     }
     return -1;
}


출처 : Wikipedia /
https://ko.wikipedia.org/wiki/%EC%88%9C%EC%B0%A8_%EA%B2%80%EC%83%89_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98

정리하자면, 선형검색(Linear search)의 장점은 구현이 쉽고 정렬되지 않은 리스트에서도 사용가능하다는 점이다. 반면 검색할 리스트가 길어지면 비효율적이다. 왜냐하면 맨 처음부터 끝까지.. 찾는 대상이 뒤에 있으면 있을 수록 시간이 더 걸리기 때문이다. 

2018년 2월 23일 금요일

[Android] The application may be doing too much work on its main thread

로그캣을 보다가 다음을 발견하였다.

I/Choreographer: Skipped 33 frames!  The application may be doing too much work on its main thread.

검색해보니 다음의 해결방안을 찾았다.

1. Thread를 생성하여 필요한 작업을 한다. 그렇게 되면 Main Thread의 Too much workd을 줄여줄 수 있게 된다.
2. Manifest 속성에서 Hardware Acceleration="true"로 설정하는 것이다.

출처 :
1. stackoverflow/ https://goo.gl/ckM9jP
2. android developer/ https://goo.gl/AjuFwZ

[Android] Gradle이란?

안드로이드 스튜디오를 사용하면서 Gradle이 무엇인지 궁금했다. 한 마디로 빌드를 자동화해주는 것이다. 그렇다면 빌드는 무엇인가?

1) 코드를 작성하고
2) 그 코드를 컴파일해서 오브젝트 파일을 만들고
3) 링킹이라는 작업을 통해 실행 파일 또는 Java의 .jar와 같은 라이브러리 파일을 만든다.

빌드는 위의 세 가지 과정이다. Gradle은 바로 이 빌드를 자동화해주는 것이다. 또한 Gadle은 여러 언어의 빌드 환경을 자동화해주는 오픈소스이다.

출처 :
https://medium.com/@goinhacker/%EC%9A%B4%EC%98%81-%EC%9E%90%EB%8F%99%ED%99%94-1-%EB%B9%8C%EB%93%9C-%EC%9E%90%EB%8F%99%ED%99%94-by-gradle-7630c0993d09
https://gradle.org/
https://en.wikipedia.org/wiki/Gradle

[C] 출력 함수 printf 사용법

printf를 사용하는 것 자체는 어렵지 않은데, %d, %s, %f 등이 헷갈린다. 찾아보니 서식문자라고 하더라. 서식문자 종류를 잘 정리해놓은 블로그를 소개한다.

출처 : http://jink1982.tistory.com/95

2018년 2월 22일 목요일

[C] typedef이 뭔가요?

구조체의 배열을 공부하다보면 typedef이 나온다. 찾아보니 typedef는 type definition의 줄임말로 변수형을 결정해주는 역할을 한다(응?). 아직 설명할 수 없는 걸 보니 제대로 알지 못한다는 확신이 든다. 검색해보니,

1. typedef는 자료형의 별칭을 만든다. 따라서 구조체뿐만아니라 모든 변수들(포인터 변수도 당근!)도 가능하다. 이렇게 typedef으로 정의된 것을 사용자 정의 타입, 혹은 사용자 정의 변수라고 한다.

Source :
1) 위키피디아/ https://goo.gl/4aFwFM
2) tutorialsPoint/ https://goo.gl/vZXMS4
3) c언어코딩도장/ https://goo.gl/EGjgga