All

    Kotlin Data Structure

    Kotlin Data Structure

    배열과 리스트의 차이 [참고] Arrays var contacts = arrayOf("John", "James", "Amy") List & MutableList (참고) List : Read Only MutableList : Read and Write val mulist1: MutableList = mutableListOf(10, 20, 11, 23, 55) val mulist2 = mutableListOf(10, 20, 30); val mulist3 = (1..50).toMutableList() val mulist4 = mutableListOf() val mulist5 = MutableList(5, { i -> i}) val mulist: MutableList = mutableListOf(10, 20,..

    EIP :: 가상 기억장치 관리

    EIP :: 가상 기억장치 관리

    1. 가상기억장치 보조기억장치의 일부를 주기억장치처럼 사용하는 것이다. 용량이 적은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다. - 실행을 위해서는 맵핑작업이 필요하다. (주소전환) 2. 기법 1) 페이징 기법 가상 기억장치에 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후, 프로그램(페이지)를 동일하게 나눠진 주 기억장치의 영역(페이지 프레임)에 적재시켜 실행시키는 기법이다. 프로그램을 일정하게 나눈 단위를 페이지라고 한다. 페이지 크기로 일정하게 나눠진 주기억장치의 단위를 페이지 프레임이라 한다. 외부 단편화가 발생 안한다. - 내부 단편화가 발생할 수 있다. 맵핑 테이블이 필요하다.(주소변환) 2) 세그먼테이션 기법 가상 기억장치에 보관된 프로그램을 다양한 크기의 논리적 ..

    Coroutines in Kotlin

    Coroutines in Kotlin

    Coroutines 코루틴 목적 : 비동기로 실행되는 코드를 간소화 병행 실행 설계 패턴 역사 : 코틀린 1.3버전에서 추가 됨. 기능: 경량화 : 실행 중인 스레드를 차단하지 않는다. (정지) 따라서 단일 스레드에서 많은 코루틴을 실행시킬 수 있다. 정지라는 기능은 많은 병렬작업을 지원하면서 차단보다 메모리를 절약한다. 메모리 손실 감소 : 구조화된 병행 실행을 사용하여 범위 내에서 작업을 실행할 수 있다. 취소기능 기본 지원 : 실행 중인 코루틴 계층 구조를 통해 자동으로 취소가 전달된다. Jetpack에 통합 ? VM 아키텍처 구성요소는 기본 스레드의 repo레이어를 호출하여 네트워크(retrofit)요청을 트리거한다. 이러한 아키텍처에서 코루틴을 사용하여 다양항 솔루션을 반복하여 기본 스레드를 차..

    Frag  with Animation

    Frag with Animation

    Fragment to Fragment with animation 프래그먼트에서 프래그먼트로 이동하는 순간의 애니메이션 효과를 적용해줄 수 있다. 이 방법은 매우 유용하고 앱에서 깔끔한 흐름 처리를 해주는 듯 하다. 요즘 앱에서는 이러한 효과를 심심치 않게 많이 확인 할 수 있다. 지금까지 내가 알게된 방법에 대해 기록해보겠다. 먼저 공식 문서를 확인해보자. [보러가기] 사용방법 val fragment = FragmentB() supportFragmentManager.commit { setCustomAnimations( R.anim.slide_in, R.anim.fade_out, R.anim.fade_in, R.anim.slide_out ) replace(R.id.fragment_container, fra..

    EIP : SQL summary

    EIP : SQL summary

    Engineer Information Processing SQL : Structured Query Language [보러가기] DB관리 목적의 프로그래밍 언어이다. Table : 급여 Column : 이름, 직급, 팀명, 성과급 (A) SELECT 팀명, 직급, SUM(성과급) AS 성과급 FROM 급여 GROUP BY 팀명, 직급 ; (Q) 팀과 직급별 성과급 합계를 구하는 쿼리는? ~별 이면 무조건 GROUP BY 사용한다. SUM()사용시에도 AS를 써서 컬럼명을 재설정해준다. Table : 편의점 Column : 편의점코드, 광역시, 판매액 (A) SELECT 광역시, AVG(판매액) FROM 편의점 WHERE 판매액 > 1000000 GROUP BY 광역시 HAVING COUNT(*) >= 4 ..

    EIP :  Scrum

    EIP : Scrum

    Engineer Information Processing Scrum based by Agile. 스크럼은 애자일 모형을 기반으로 하는 개발 모형이다. Agile 모형을 둔 개발 모형 종류 Scrum XP (eXtreme Programming) 칸반 (Kanban) 크리스탈 (Crystal) ASD (Adaptive SW Dev) FDD (Feature Driven Dev) DSDM (Dynamic System Dev Method) DAD (Disciplined Agile Delivery) 스크럼 기법은 소프트웨어 설계 과목 - '요구사항 확인' 부분에서 나온다. 스크럼 기법 (Scrum) 스크럼이란 럭비에서 양팀이 대치해있는 대형을 말하는데, 이러한 것에 빗대어 팀이 중심이 되어 개발의 효율성을 높인다는..

    SHA-1, SHA-256 ?

    SHA-1, SHA-256 ?

    안드로이드 스튜디오에서 SHA-1, SHA-256 같은 정보를 요구하는 상황이 있다. 그러한 경우 현재 나의 SHA-1 과 SHA-256 의 정보를 주어야 한다. 하지만 찾는 방법이 매번 기억이 안나고 검색하기 귀찮아서 아예 기록을 해둔다. 간단하다. 1. Sidebar 에 Gradle이라는 탭이 보인다면, 그 안의 일은 아래의 블로그를 참고하고, 만약 이 방법이 불가능한 상황(?)이라면, 2. Teminal 창을 열어서 명령줄 한줄 이면 된다. (공식문서 보기) keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore 기본 비밀번호는 android 이다 참고 블로그 1

    Broadcast Intent

    Broadcast Intent

    Broadcast Intent 와이파이를 접속하거나, 전화를 수신하거나, sw를 설치되기도 하는 이벤트들이 반으한다. 이러한 시스템이 전송하는 브로드캐스트 인텐트를 시스템 브로드캐스트 인텐트라고 한다. 또 다른 형태로 커스텀 브로드캐스트 인텐트가 있다. 이것 또한 시스템 브로드캐스트 인텐트와 유사하다. 인텐트와 유사하게 작동되며, 차이점은 브로드캐스트 수신자로 등록한 다수의 컴포넌트가 동시에 받을 수 있다는 점이다. 즉 다른 앱의 상황이나 정보 공유가 인텐트는 한개씩 가능한 반면 브로드캐스트 인텐트는 동시에 여러 앱이 가능하다는 것이다. 브로드캐스트 인텐트 사용법 1. 브로드캐스트 인텐트를 생성하고 전송한다. context.sendBoradcast(Intent(MSG)) ... companion obje..