1 findViewById / Kotlin Extensions (1) findViewById // activity_main.xml // build.gradle -> 코틀린 익스텐션 추가! plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-android-extensions' } - 기존에 사용했던 findViewById를 간결하게 표현할 수 있음 - 타 엑티비티와의 혼동이 발생할 수 있으므로 구글에서 지양하는 방법 + 성능 이슈 - ViewBinding, DataBinding을 쓰자 ! class MainActivity : AppCompatActivity() { override fun onCreate(sav..
1 JETPACK이란? 구글에 Jatpack을 검색해보면 나오는 이미지는 아래와 같은데, 개발자에게 부스터를 달아주는 라이브러리라는 것을 한 눈에 알 수 있다 ! (1) Android Jetpack 안드로이드 개발자 문서는 Jetpack을 개발자가 중요한 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 감소, 여러 Android 버전과 기기에서 일관되게 작동한느 코드 작성을 돕는 라이브러리 묶음이라고 소개하고 있다. 더보기 Android Jecpack을 사용해야 하는 이유 1. 권장 사항 준수 : 이전 버전과의 호환성 기능잉 통합되어 비정상 종료와 메모리 누수를 줄여줌 2. 상용구 코드 제거 : 개발자가 뛰어난 앱을 만드는 데에만 집중할 수 있도록 백그라운드 활동을 관리해줌 3. 파편화 줄이기 : ..
1 AOP가 필요한 상황 (1) AOP가 필요한 상황 - 언제? 여러개의 메소드에서 호출시간을 측정하고자 할 때 - 아래와 같은 방법으로 각각에 메소드에 시간을 찍어야 할까? /* 회원가입 */ public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish - start; System.out.println("join "..
4 스프링 JdbcTemplate (1) 스프링 Jdbc Template - JDBC API에서 본 반복 코드를 대부분 제거 - SQL문은 직접 작성 - 실무에서도 사용 ! (2) 소스코드 - SpringConfig 수정 : 조립 ! /* MemberRepository를 SpringBin에 등록 */ @Bean public MemberRepository memberRepository() { // return new JdbcMemberRepository(dataSource); return new JdbcTemplateMemberRepository(dataSource); } } - JdbcTemplateMemberRepository.java public class JdbcTemplateMemberReposi..