![4주차 과제 - [소프트웨어 공학]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/zOAdg/btrydJFxf84/lWbEKENuWVkOZNs2IWlVw0/img.png)
4주차 과제 - [소프트웨어 공학]
▶4주차 과제 설치 : StarUML(http://staruml.io/) 내용: ATM 을 위한 유스케이스 다이어그램 작성 [소프트웨어 공학] 한티 미디어 10판 교재
- [전공] 학교 전공 공부/[학교] 소프트웨어 공학
- · 2022. 4. 2.
![21. [파이어스토어, 스토리지, FCM]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/2oTTa/btrx0uoOOsE/OoEsKTUdkfQKq2MPk0QmyK/img.png)
21. [파이어스토어, 스토리지, FCM]
[21. 파이어스토어, 스토리지, FCM] [21-1. 파이어스토어 데이터베이스] [파이어베이스 제공. 클라우드 기반 데이터베이스] 파이어스토어 데이터베이스 실시간 데이터베이스 [파이어스토어 사용 설정] -모듈 수준의 build.gradle 파일에 파이어스토어 라이브러리 등록 implementation ‘com.google.firebase:firebase-firestore-ktx:21.2.1’ [파이어스토어 데이터 모델] -파이어스토어는 NoSQL DB이므로 테이블/행 X -컬렉션 안에 문서 단위로 데이터 저장됨 -각 문서에 키-값 쌍의 데이터 저장됨 [파이어스토어 보안 규칙] -match 구문으로 데이터베이스 문서 식별 -allow 구문으로 접근 권한 작성 1) 모든 문서 읽기/쓰기 거부 rules_v..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 31.
![20. [파이어베이스 연동과 인증 기능]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/ceLoIm/btrx28RPeXs/ylXWzWvjlSJxVa4FVphLL1/img.png)
20. [파이어베이스 연동과 인증 기능]
[20. 파이어베이스 연동과 인증 기능] [20-1. 파이어베이스 이해] [파이어베이스] -모바일, 웹 어플리케이션 개발 플랫폼 -서버리스 컴퓨팅 구현 가능O Authentication 인증/회원가입/로그인 처리 Cloud Message 알림 전송 Firebse Database 앱 데이터 저장 및 동기화 Realtime Database 실시간 데이터 저장 및 동기화 Storage 파일 저장소 Hosting 웹 호스팅 Functions 서버 관리 없이 모바일 백엔드 코드 실행 Machine Learning 모바일 개발자용 머신러닝 1) 파이어베이스 콘솔 이용 2) 안드로이드 스튜디오에서 파이어베이스 어시스턴트 사용 [20-2. 파이어베이스 연동] 1) 콘솔에서 프로젝트 생성 2) 파이어베이스에 앱 등록 3..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 31.
![19. [위치 정보 활용]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bgFH6p/btrxQ5bQ6yw/pI2NrHWukrTZImJ8yAWcuK/img.png)
19. [위치 정보 활용]
[19. 위치 정보 활용] [19-1. 사용자 위치 얻기] 1) 플랫폼 API 이용하는 방법 2) 구글 PLAY 서비스 제공 라이브러리 이용하는 방법 [위치 접근 권한] -각 상황에 맞춰 매니파스트 파일에 다음 권한 등록 ACCESS_COARSE_LOCATION 정확도 높아야 할 때 ACCESS_FINE_LOCATION 대략의 위치 확인할 때 ACCESS_BACKGROUND_LOCATION 백그랑누드 상황에서 위치 접근할 때 -foregroundServiceType 속성에 “location” 지정 필요 호출됨 onProviderDisabled() 위치 제공자가 이용 X -> 호출됨 ② [구글 Play 서비스의 위치 라이브러리 사용] - Fused Lo..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 30.
![[학교]_4주차_스프링 DI 자동 의존 주입 @Autowired_실습](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/DcMLy/btrxVfqeO0L/DNQlhiHh0C2I3T5VRkdumK/img.png)
[학교]_4주차_스프링 DI 자동 의존 주입 @Autowired_실습
exercise3-3. 실습 applicationContext.xml 파일 안에 bean 설정 시, MinusOp 객체를 넣을 때와 PlusOp 객체를 넣을 경우가 서로 다른 것을 확인할 수 있다. exercise 4-1 실습 exercise 4-2 실습 @Autowired 애노테이션을 사용하여 빈을 자동 의존 주입할 수 있다. xml 설정 파일 안에 PlusOp 클래스를 빈으로 등록해놓고, 이 클래스가 필드에서 사용하고 있는 Operand 객체 또한 빈의 prototype 객체로 등록해놓았다.
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 3. 29.
![18. [네트워크 프로그래밍]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/Qy6xg/btrxkK5u2tE/VehlCUKwyvusPCDDdz6Ng0/img.png)
18. [네트워크 프로그래밍]
[18. 네트워크 프로그래밍] [18-1. 스마트폰 정보 구하기] [전화 상태 변화 감지] -안드로이드12(API 31)에서 PhoneStateListener은 deprecated 되었고, 대신 TelephonyCallback 추가 됐다. - 호환성 고려해야 하므로 두 방법 모두 학습한다. ① [PhoneStateListener 이용하는 방법] 1) PhoneStateListener 상속받은 클래스 내부에 (상태 변화 감지 자동 호출) 함수 중 필요한 것만 재정의해서 작성 2) TelephonyManager 객체를 getSystemService() 함수로 얻고, 이 객체의 listen() 함수에 PhoneStateListener 객체를 등록. 3) 등록 시, listen()의 두 번째 매개변수에는 ‘감지..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 26.
![17. [저장소에 데이터 보관]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/mOQu2/btrxexMaHMw/w7ucClZHexVxgv4y2uPn51/img.png)
17. [저장소에 데이터 보관]
[17. 저장소에 데이터 보관] (1) 외부 서버에 저장 -> 통신으로 주고받기 (2) 내부 저장소에 저장 : 3가지 제공 - 데이터베이스에 보관 - 파일에 보관 - 공유된 프리퍼런스에 보관 [17-1. 데이터베이스에 보관] [안드로이드의 DBMS] | SQLite -SQLite : 오픈소스로 만들어진 데이터베이스 관리 시스템 -테이블의 데이터를 앱 저장소에 파일로 저장. -외부 앱에서 접근 불가 -실제 데이터를 SQLite 가 관리해줌 [질의문 작성] -SQLite 사용하려면 SQLiteDatabase API 이용해야 함 ▶[질의문을 실행해주는 함수 사용] (1) SQLiteDatabase 객체 생성 (= 데이터베이스 객체) - openOrCreateDatabase() 함수 호출하여 객체 받기 val ..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 25.
![16. [콘텐츠 프로바이더 컴포넌트]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/qAG6H/btrxbPeIdM1/M4AZxFQLgBCXsKcmb5z4pK/img.png)
16. [콘텐츠 프로바이더 컴포넌트]
[16. 콘텐츠 프로바이더 컴포넌트] [16-1. 콘텐츠 프로바이더 이해] [콘텐츠 프로바이더] -콘텐츠 프로바이더 : 앱의 데이터를 다른 앱과 공유할 때 사용 -데이터 : 대상 앱의 데이터베이스/파일/앱에 할당된 메모리 등에 존재 [콘텐츠 프로바이더 생성/등록] -ContentProvider 클래스 상속받은 후, 내부에 onCreate() / getType() / query() / insert() / update() / delete() 함수 재정의 -이 역시 컴포넌트이므로 매니페스트에 등록 필수 - 태그로 등록. name 속성에 등록할 클래스명 지정 + authorities 속성에 식별 문자열 지정 필수 [콘텐츠 프로바이더 사용] -인텐트와 관련 X -필요한 순간에 시스템에서 자동 생성해주므로 내부에 ..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 24.
![15. [서비스 컴포넌트]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/QLiWw/btrw8O79fxH/FVT5rg75M6VOskQKdkNwC0/img.png)
15. [서비스 컴포넌트]
[15. 서비스 컴포넌트] *서비스 : 백그라운드 작업 목적 컴포넌트 [15-1. 서비스 이해] [서비스] -서비스 컴포넌트 : 오래 걸리는 작업을 백그라운드에서 처리 가능하게 해주는 컴포넌트 -화면 구현 X. 역시 컴포넌트의 한 종류이므로 시스템에서 생명주기 관리 [서비스 생성. 등록] -서비스 생성: Service 클래스 상속받은 클래스로 작성 -> 내부에 onBind() 생명주기 함수 재정의 필수 class MyService: Service() { //Service 클래스 상속받아 작성 override fun onBind(intent: Intent) : IBinder? { //반드시 재정의 return null } } -서비스 등록 : 역시 컴포넌트이므로 매니페스트 파일에 태그로 등록. -> 실행할..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 24.
![14. [브로드캐스트 리시버 컴포넌트]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/efmlY8/btrwZZvIm1L/nvb6M12KHZVLB5Rgi6GxU0/img.png)
14. [브로드캐스트 리시버 컴포넌트]
[14. 브로드캐스트 리시버 컴포넌트] [14-1. 브로드캐스트 리시버 이해하기] [브로드캐스트 리시버] : 안드로이드 4개의 컴포넌트 中 하나 -브로드캐스트 리시버 : ‘시스템 이벤트’ 발생 시, 실행되는 컴포넌트 즉, 시스템에 특정 이벤트 발생 시, 알림을 받아서 처리하는 수신기 -이 역시 안드로이드의 컴포넌트. 따라서 ‘인텐트’를 시스템에 전달하여 실행 O -안드로이드 컴포넌트는 매니페스트에 등록해야 시스템이 인지O [브로드캐스트 리시버 생성] (1) ‘일반’ 생성 방법 ① 브로드캐스트 리시버 객체 생성 -BroadcastReceiver 상속받는 클래스 선언 -내부에 유일한 생명주기 함수 onReceive() 함수가 자동 호출/소멸됨 ② 매니페스트 파일에 태그로 등록 명시적 인텐트로 실행 -> 클래..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 23.
![[학교]_3주차_스프링 DI 의존_실습](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cFfHoY/btrwPaYMka9/jDz9jipikLJRSJi0HA7KhK/img.png)
[학교]_3주차_스프링 DI 의존_실습
[EX.3-1] 실습 package 'sample1' 실행 객체 간 의존 상태를 확인할 용도 package 'sample2' 中. MessageBeanEn() 객체로 생성하여 실행 package 'sample2' 中. MessageBeanKo() 객체로 생성하여 실행 package 'sample3' 실행 | '스프링' 의 DI 의존 설정을 xml 파일에 정의하고, 스프링을 제대로 시작 [applicationContext.xml] 파일에 스프링 의존 관련 설정을 하는데, 객체 등록 시, MessageBeanKo를 등록해둔 상태이므로 main에서 컨테이너 생성 후 getBean() 시 등록되는 빈 객체는 MessageBeanKo가 될 것이다. [main] 실행 시, 실제로 MessageBeanKo 클래스의 ..
- Web(웹)_관련 공부 모음/[학교]_STS_Spring_실습
- · 2022. 3. 22.
![13. [액티비티 컴포넌트]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/ciaP9F/btrwLgD7jDi/hr2HQb29vBQ7TMe2rQTlH1/img.png)
13. [액티비티 컴포넌트]
[13. 액티비티 컴포넌트] [13-1. 인텐트 이해] [인텐트] : intent -인텐트: 컴포넌트 실행 정보 담긴 객체 -인텐트 객체를 시스템에 전달하면 시스템에서 해당 인텐트 정보 분석 후 그에 맞는 컴포넌트를 실행하는 구조. 일반 클래스 -개발자가 직접 생명주기 관리 O 컴포넌트 클래스 -시스템이 생명주기 관리O - 이 클래스에 한해서는 개발자가 직접 접근 불가능 시스템에 요청하고 시스템이 실행하는 구조로 접근만 가능 O -시스템은 런타임 때 ‘매니페스트 파일’ 참조하여 앱을 실행함 -> 컴포넌트(액티비티/서비스/브로드캐스트 리시버/콘텐츠 프로바이더)를 '매니페스트 파일'에 등록하여 알림. -따라서, 시스템에 사용할 컴포넌트를 ‘매니페스트 파일’ 통해서 먼저 알려야 함 -이제 인텐트 단위로 시스템..
- App(앱)_관련 공부 모음/[교재] Andorid App_Kotlin 기반
- · 2022. 3. 18.