스터디 11주차 week11

1 minute read

week11 - 01 팀원 회의

지난 주 교수님께서 if문과 switch문이 많다는 Provider 부분을 해싱 해보는것을 추천해주셨다. 이에 따라 Provider 코드들을 훑고 그 중 어떤 코드파일에 위와 같은 조건문들이 많이 있는지 찾아보았고, 추가적으로 멘토님이 추천해주셨던 부분인 ActivityManager 부분에서도 조건문이 많이 위치하는 코드파일을 찾아보았다. 팀원들과 추린 코드파일은 아래와 같다.

  • Provider의 ContactsContract.java

  • Service Server의 ConnectivityService.java

  • AM의 ActivityManagerService.java


week11 - 02 진행 내용

환경을 구축할 준비(컴퓨터 메모리)가 아직 되어있지 않아서 IntelliJ로 추린 코드파일들을 열어보았다. 아래의 코드는 ContactsContract.java 중 일부이다.

캡처5

위의 코드에서 볼 수 있듯이 한 메소드 안에서 다양한 case가 존재하는 것을 볼 수 있다. 이렇게 값만 return 해주는 다양한 case들을 어떻게 해싱해야 할지 모색하고 시도를 해보아야 한다.

아래의 코드는 ActivityManagerService.java 중 일부이다.

캡처7

코드에서 볼 수 있듯이 UI handler 부분은 HashMap을 사용하여 해싱을 사용하고 있다. 그러나 Main handler 부분은 다양한 case들이 존재하나, 별도의 HashMap과 같은 해싱이 사용되고 있지 않은 것을 확인하였다. 아래의 코드는 Main handler 부분의 일부이다.

캡처6

추후 코드 분석을 통하여 Main handler와 UI handler 사이의 관계를 알아보고 UI handler에서의 해싱으로 인해 Main handler의 해싱이 불필요한 것인지도 확인해보아야 할 것 같다.

아직 정확히 어떤 코드파일의 어떤 조건문을 해싱해보아야 할지 감이 잘 잡히지 않는 것 같다. 우선 팀에서 추린 코드파일에 대하여 교수님 및 멘토님께 피드백을 받고 진행을 이어서 해야할 것 같다.


week11 - 03 향후 계획

(1) 선정한 코드파일 분석 및 수정부분 재선정.

(2) 환경구축: SSD에 우분투 설치 및 듀얼 부팅.

(3) 어떤식으로 해싱을 할 지에 대한 방법 모색.

Tags:

Categories:

Updated: