Domain 46 [Android] Hash Key (카카오 Api / 네이버 Api / 구글 Api) 2021-08-13 수정 Android에서 카카오, 네이버, 구글 Api를 연동할때, HashKey를 입력해 달라는 경우를 많이 볼 수 있습니다. 이런 경우 필요한 키의 종류는 Debug Key와 Release key가 있습니다. Debug Key와 Release Key를 구분하는 것은 Build Variants가 Debug(개발용)이냐 Release(배포용)이냐라고 생각하시면 됩니다. Debug Key는 개발할 때만 사용하는 것으로 안드로이드 개발환경에 기본적으로 저장되어 있는 인증서 바이너리에 대한 해시값이고, Release Key는 실제 앱을 배포할 때 사용하는 인증서 바이너리에 대한 해시값입니다. Hash Key를 구하는 방법은 두가지가 있습니다. 1. 터미널을 이용하여 구하는 방법(추천) 2. .. Domain/Android 2021. 8. 14. [Android] Keystore 생성하기 ( Android KeyStore / Release / Debug / APK / Bundle ) 1. Build -> Generate Signed Bundle / APK 2. Android App Bundle 또는 APK 선택 3. Create New 4. Key store path 설정 -> Password와 Password Confirm 입력 #Alias는 기억하기 쉽게 경로 설정에서 작성한 File Name과 맞춰주시는게 편할 수 있습니다.# #Alias는 ReleaseKey를 찾을 때, 사용 될 수 있기때문에 기억하기 쉽게 작성하는게 좋습니다.# #keystore와 비밀번호는 절대 분실하면 안됩니다# 5. 공백 기입 ( 전부 기록할 필요는 없습니다. ) -> OK 6. Next 7. Finish Domain/Android 2021. 8. 13. [Spring] JdbcTemplate 스프링은 JDBC를 이용하는 DAO에서 사용할 수 있도록 준비된 다양한 템플릿과 콜백을 제공합니다. 거의 모든 종류의 JDBC코드에 사용 가능한 템플릿과 콜백을 제공할 뿐만 아니라, 자주 사용되는 패턴을 가진 콜백은 다시 템플릿에 결합시켜서 간단한 메소드(update(), query(), queryForObject()) 호출만으로 사용이 가능하도록 만들어져 있기 때문에 템플릿/콜백 방식의 기술을 사용하고 있는지도 모르고도 쓸 수 있을 정도로 편리합니다. 스프링이 제공하는 JDBC 코드용 기본 템플릿이 바로 JdbcTemplate입니다. update() update는 다양한 형태를 제공하지만 기본적으로 SQL 구문과 '?' 치환자를 대체할 수 있는 가변인자들을 파라미터로 받아 사용하는 메서드입니다. //예.. Domain/Spring 2021. 8. 9. [Spring] Bean ( Spring Bean ) Bean Spring에서는 Container를 이용해 객체들을 관리합니다. 이때 Container가 관리하는 자바 객체를 Bean이라고 부릅니다. 흔히 알고 있는 new를 통해 생성된 객체는 Bean이라고 할 수 없습니다. Bean은 getBean()을 통해 얻어질 수 있는 것을 Bean이라고 합니다. Spring에서의 빈은 ApplicationContext가 알고있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미합니다. Spring에서 Bean을 등록하는 방법은 ComponentScan 방법과, Configuration에서 직접 등록하는 방법이 존재합니다. 스프링은 기본적으로 모든 Bean을 Singleton으로 생성하여 관리합니다. Bean은 다양한 Scope를.. Domain/Spring 2021. 7. 23. [Spring] 템플릿-콜백 Spring은 DB 연결과 관련된 상황에서 예외처리에 대한 상황에서 심각한 문제점을 가지고 있었습니다. JDBC 코드의 흐름을 따르지 않고 중간에 어떤 이유로든 예외가 발생했을 경우에도 사용한 리소스를 반드시 반환하도록 만들어야 하기 때문입니다. 그렇지 않으면 시스템에 심각한 문제를 일으킬 수 있습니다. 이러한 부분을 해결하기 위해 사용하는 것이 JdbcTemplate입니다. JdbcTemplate는 스프링이 제공하는 템플릿-콜백 기술입니다. 기본적으로 Spring에서는 DB에 접근할 때, Connection과 PreparedStatement 두개의 공유 리소스를 이용하여 처리를 하게 됩니다. 이때, 사용을 마친 후에 close()를 통해 접속을 끊어주어야 합니다. public void sample(St.. Domain/Spring 2021. 7. 23. [Spring] 관점 지향 프로그래밍 (AOP / Aspect Oriented Programming) AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불립니다. 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 공통적인 관점으로 나누고 그 관점을 기준으로 각각 모듈화하겠다는 것입니다. 쉽게 말하자면 흩어져 있는 코드를 한 곳으로 모으는 것 입니다. 그림으로 설명하자면 아래와 같이 Controller, Service, Repository에 모두 시간 측정 로직이 존재할 경우 AOP를 활용하여 공통의 관심사항을 적용할 수 있습니다. AOP 적용 전 @Transactional @Service public class MemberService { /** * 회원가입 */ public Long join(Member member) { long start = System... Domain/Spring 2021. 7. 14. [Spring] 제어의 역전(IoC / Inversion of Control)과 의존성 주입(DI / Dependency Injection) 제어의 역전(Inversion of Control)과 의존성 주입(Dependency Injection)은 스프링이 가장 기본이 되는 기술이자 스프링의 핵심 개발 원칙이기도 합니다. 의존성 주입(Dependency Injection) 의존성이란 대표적으로 new 키워드를 통해 객체를 참조하거나, 다른 클래스 타입의 리턴값을 가지거나, 클래스의 상속, 인터페이스의 구현이 있습니다. 일반적으로는 의존성에 대한 제어권을 개발자 직접 만들게 됩니다. 하나의 객체가 다른 객체의 의존성을 제공하는 기술을 의존성 주입(Dependency Injection)이라고 합니다. class User { private Champion champion; User(Champion champion) { this.champion = .. Domain/Spring 2021. 7. 14. [Spring] 컨테이너( Container / IoC Container / BeanFactory / ApplicationContext ) Container는 Spring의 핵심입니다. Container는 개발자를 대신하여, Bean의 생명주기를 담당합니다. Container가 Bean을 관리해주기 때문에, 개발자는 모듈 간에 의존 및 결합으로 인해 발생하는 문제로부터 자유로워 졌습니다. 이렇게 개발자가 할 일을 Container가 대신해주는 것을 IoC(Inversion of Control)이라고 합니다. Container는 스프링의 핵심인 IoC가 가능하도록 해주는 역할을 합니다. Container는 필요로 하는 자원을 런타임에 전달하는데, 이것을 Dependency Injection이라고 부릅니다. IoC와 DI는 Spring에서 핵심적인 부분이기 때문에 이러한 부분을 자동으로 관리해주는 Container 또한 Spring에서 핵심적인.. Domain/Spring 2021. 7. 13. [Spring] POJO ( Spring POJO / Spring Triangle / Plain Old Java Object ) 스프링 핵심 개발자들은 “스프링의 정수는 엔터프라이즈 서비스 기능을 POJO에 제공하는 것”이라고 했습니다. 분리됐지만 반드시 필요한 엔터프라이즈 서비스 기술을 POJO 방식으로 개발된 애플리케이션 핵심 로직을 담은 코드에 제공한다’는 것이 스프링의 가장 강력한 특징과 목표입니다. 스프링 애플리케이션은 POJO를 이용해서 만든 애플리케이션 코드와, POJO가 어떻게 관계를 맺고 동작하는지를 정의해놓은 설계정보로 구분됩니다. 스프링의 주요 기술인 IoC/DI. AOP와 PSA는 애플리케이션을 POJO로 개발할 수 있게 해주는 가능기술이 라고 불립니다. POJO란? POJO는 Plain Old Java Ojbect를 의미합니다. POJO는 자바의 단순한 오브젝트라고 할 수 있습니다. 진정한 POJO의 의미는.. Domain/Spring 2021. 7. 13. [Spring] 스프링이란? (Spring / Spring Boot / Spring Framework ) 스프링에 대해 가장 잘 알려진 정의는 '자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크'입니다. 애플리케이션 프레임워크는 특정 계층이나, 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크를 말합니다. 애플리케이션 프레임워크는 애플리케이션 개발의 전 과정을 빠르고 편리하며 효율적으로 진행하는 데 일차적인 목표를 두는 프레임워크입니다. 엔터프라이즈 개발을 편하게 하려는 이유는 원래 엔터프라이즈 개발이란 편하지 않기 때문입니다. 자바 엔터프라이즈 시스템 개발이 어려운(편하지 않은) 가장 큰 이유는 근본적인 비즈니스 로직과 엔터프라이즈 기술이라는 두 가지 복잡함이 얽혀 있기 때문입니다. 침투적 vs 비침투적 침투적인(invasive) 기술 : .. Domain/Spring 2021. 7. 13. 이전 1 2 3 4 5 다음