목록Dev (117)
Learn & Record

1. Acitivity Lifecylce (1) - 앱의 완성도, 안전성을 높이기 위해 반드시 알아야 함 - 콜백 - onCreate : 필수적으로 구현, 생명주기 중 한 번만 발생해야 하는 로직 실행 (멤버 변수 정의, UI) - onStart : Activity가 사용자에게 표시, 앱은 Acitivity를 포그라운드로 보내 상호작용할 수 있도록 준비 - onResume : Activity가 포그라운드에 표시되어, 사용자와 상호 작용할 수 있는 상태, 포커스가 떠날 때까지 onResume상태 머뭄 - onPause : 활동을 떠나는 첫 신호, 매우 짧음, 활동이 포그라운드있진 않지만, 잠시 후 다시 시작할 작업을 일시 중지하거나 정지 - onStop : Activity가 사용자에게 더 이상 표시 하지 ..

1. 1:다 관계 - 가장 흔하며, 대표적으로 부서와 직원 관계가 있다 - 지원은 한 부서에 소속되며, 한 부서에는 여러 명의 직원이 있음 2. 다:다 관계 - 양쪽 엔티티가 서로 복수개의 엔티티로 연결 - 예시) 학생과 과목간의 수강 관계 - 관계형 DB로는 다:다 관계를 표현할 수 없어 두 개의 1:다 관계로 변환하여 표현 3. 정규화 - 테이블을 재구성하여 논리적 구조를 개선하는 절차 - 불필요하게 중복되는 데이터를 제거하여 저장 공간을 절약하고 전체적인 성능을 향상시킴 - 제 1 정규화 : 필드의 데이터를 원자화(Ayomicity) 함. 필드에는 단일 값을 저장하고 필드끼리는 독립적이어야 함 - 한 필드에 여러 값을 저장하면, 필드 길이가 낭비가 됨. / 연산자로 비교 못 해서 LIKE를 사용하여..
- 영상 뷰 : MediaController - 크기가 큰 영상 : Exoplayer ( 기능이 다양함, 사용이 쉽다) - DRM(디지털 저작권)을 보장할 수 있다 [YoutubeActivity.kt] package com.example.fastcampus import android.content.Context import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import..
1. 모델링 - 큰 프로젝트 시 규모가 크기에 체계없이 진행하다가는 시행착오와 비용 낭비, 실패 가능성 급증 - 그래서 많은 방법론이 등장. 폭포수 모델, 애자일 모델 등 - 폭포수 모델 : 기획 > 분석 > 설계 > 구현 > 테스트 > 수정 - 오랜 기간 경험에 의해 검증된 만큼 효율성 높음 - 각 단계는 엄격히 분리되어 있어 앞 단계를 제대로 수행한 후 다음 단계로 가야함. 거꾸로 되돌리기 쉽지 않고 비용상승 2. 기획 - 어떤 프로그램을 누구 어떻게 작성할 지 계획을 세우며 요구 기능, 예산, 개발 기간을 결정 - 책임자 역할 3. *중요* 분석 - 실제 수작업을 면밀히 분석하는 업무 파악부터 시작 - 업무의 개요와 목적, 수행 방법, 규칙과 절차 등의 비즈니스 로직을 문서로 정리 - 개발자는 실무..

1. Profieler(앱분석툴) 요소 - CPU, MEMORY, NETWORK, ENERGY - CPU를 최대 50% 사용이 좋음 - Memory 탭을 통해 메모리 누수 (불필요한 메모리)가 발생하지 않는 지 확인 - Network : 주고 받는 객체와 송수신된 시간을 확인 가능 findViewById(R.id.easyEreateStudent).setOnClickListener { val student = StudentFromServer(name = "서울", age =200, intro = "well com to seoul") retrofitService.easyCreateStudent(student).enqueue(object : Callback{ override fun onResponse( cal..

Network - 두대 이상의 컴퓨터를 연결하는 것 - 클라이언트와 서버의 연결 - 클라이언트 : 사용자가 볼 수 있는 기기 (N개) - 서버 : 사용자가 볼 수 없는 기기 (1개) - 네트워크가 필요한 이유 1> 클라이언트(앱) -> (internet) -> 서버 : 요청(내가 지금 첫화면을 그리려고하는데 데이터 좀 줘) 2> 서버 -> (internet) -> 클라이언트(앱) : 화면을 그릴 수 있는 데이터가 도착 (응답) 클라이언트의 Request(요청) 서버가 response(응답)를 보낸다 - 대부분의 앱들이 정보를 서버로부터 받아서 하면을 구성한다. 문제점은 없을까? - 매번 똑같은 화면을 그리는데 매번 요청을 하면 -> 낭비다. -> 해결책 : 캐싱 - 한번 받은 대이터를 클라이언트가 로컬 ..