| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 익명객체
- 다이나믹 프로그래밍
- 프로그래머스
- 금융IT
- 익명클래스
- backjoon
- 네트워크
- 알고리즘
- dp
- CKLU
- 삼성SW테스트
- 데이터베이스
- 조합
- 백준
- 재귀함수
- 모바일
- dfs
- IT
- 멀티스레드
- 언더라이터
- 현대오토에버 코딩테스트
- Android
- 백준 알고리즘
- 자바
- 삼성sw문제
- 개발
- 너비탐색
- 안드로이드
- BFS
- Java
- Today
- Total
목록분류 전체보기 (237)
Limky 삽질블로그
화면 뒤에서 이루어 지는 많은 일들.. 서비스란?? - 어플리케이션을 구성하는 4대 컴포넌트 중에 하나- 액티비티처럼 사용자와 상호인터렉션 하는 컴포넌트가 아니라, 사용자 몰래 화면뒷단에서 동작하는 컴포넌트- 백그라운드에서 동작하는 컴포넌트- 액티비티와 다르게 UI가 존재하지 않는다.- 서비스의 시작과 종료는 다른서비스, Activity, BroadCast Receiver를 포함한 다른 Application에서 가능.- 만약 서비스가 실행되고 있는 상태라면, 안드로이드 OS 에선 왠만하면 프로세스를 죽이지 않고 관리한다. 서비스가 필요한 이유?? - 예를 들어 Activity가 Pause되거나, 화면에 없어지는 경우(Stop) 음악이 계속흘러나와야 하는 할 때 / 파일 다운로드 해야할 때 - 화면 뒷단 ..
실무에서 안드로이드앱을 만들 때 내가 만든 앱은 전부다 하나의 액티비티에 다수의 프래그먼트 물리는 구조를 많이 선택했다. 처음에는 다이렉트로 Context를 프래그먼트에서 불러오지 못하고, 일반적으로 액티비티에서 사용하는 문법과 살짝 살짝 다르기 때문에 복잡했지만, 처음부터 프래그먼트를 이용해서 개발해서 그런지 익숙해져버렸다.... 오늘은 프래그먼트의 생명주기를 알아보도록 하겠다. 제일 정확한 프래그먼트 생명주기 사진이다. 1. onAttach() 프래그먼트가 액티비티에 붙을 때 호출된다. 하지만 아직 완벽하게 생성된 것은 아님!! (이말을 잘 생각해보면, 프래그먼트는 액티비티 없인 독단적으로 존재할 수없는 녀석이란 소리다.) 2. onCreate()본격적으로 프래그먼트가 액티비티에 호출을 받아 생성되는..
HashTable, HashMap, conCurrentHashMap 차이 우선 아래 글을 쭈욱 읽으면 끝난다....나보다 정말 잘 정리해논 글들이기 때문에.... *퍼온 글Hashtable 의 모든 Data 변경 매소드는 syncronized 로 선언되어있습니다.즉 매소드 호출 전 쓰레드간 동기화 락을 통해 멀티 쓰레드 환경에서 data의 무결성을 보장해줍니다. 반대로 HashMap 은 그런 선언이 없기 때문에 멀티 쓰레드에서 여러 쓰레드가 동시에 객체의data 를 조작하는 경우 data가 깨져버리고 심각한 오류가 발생할 수 있습니다. 다만 이 동기화 락이 매우 느린 동작이기때문에 Hashtable 보다 HashMap 이 훨씬 빠릅니다.Map 객체가 단일 쓰레드에서만 쓰일때는 HashMap을 사용해야합니..
내가 생각하는...개발자가 갖추어야 할 태도. -변화를 받아들여라.-똑같은 낫질을 3번했다면, 4번째 낫질은 하지 않는다.-고객에게 복잡한 서비스를 제공하지 마라.-구현에 앞서 전체적인 시스템구성과 큰 틀을 이해하자.-왜 구현해야하는지, 어떤 목적의 서비스인지, 개발 목적부터 최우선으로 파악하자.-How보다 Why?를 생각하는 개발자가 되자.-때론 어려운 개념과 설명보단 짧고 간단하게 요약해서 말하는 습관을 들이자.(간단명료하게 표현하자.)-만약 사용자에게 1번의 불필요한 액션을 제거하기 위해 100줄의 코딩을 해야한다면, 당연히 100줄의 코딩을 해야한다. 좋은 프로그래밍이란..? -수정이 용이하도록 코딩을한다.-하나의 기능안에서 동작하는 여러 프로세스과정을 모듈화하고 쪼갠다. (결국 수정이 용이하도록..
이번시간에는 자바 싱글톤패턴을 알아보도록 합시다. 실제 안드로이드 업무를 해보면서 처음으로 접해봤던 패턴 중 하나였습니다. 싱글톤 패턴이란? 하나의 클래스에 대해 어플리케이션이 시작될 때 최초의 한번만 메모리를 할당하고(Static을 이용), 그 메모리에 인스턴스를 new한다. 즉 말 그대로 싱글. 단 하나의 인스턴스를 생성한다. 싱글톤을 써야하는 이유는? 어플리케이션의 탄생부터 종료될 때 까지 변하지 않는 고정된 메모리영역을 얻으면서 동시에 단 한번만 new를 써서 인스턴스를 얻었기 때문에 메모리 낭비를 방지할 수있고, 메모리적으로 효율적이다. 또한 싱글톤으로 만들어진 인스턴스는 전역적으로 사용되기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하고 변경할 수 있다. 싱글톤 패턴의 유의할 점 너무 싱글..
인텐트(intent)란?? 이번시간은 인텐트에 대해서 알아보도록 하겠습니다. 안드로이드 앱을 개발하면서 액티비티를 띄우는 가정에서 인텐트라는 것을 만들고 그 인텐트의 파라미터로 액티비티 클래스를 전달하면 그 액티비티가 실행되는 것을 경험해보셨을 것입니다. 또한 인텐트 안에 웹페이지 주소나 전화번호 등을 URI 객체로 만들어 넣으면, 웹 브라우저나 전화걸기 화면이 띄워지는 것도 모두 인텐트가 그 중심에 있습니다. 또 안드로이드에서는 시스템을 구성하는 4개 콤포넌트가 있다고 말씀드렸습니다. Activity(화면구성), BroadCastReceiver(방송수신), Service(백단작업), ContentProvider(Data공유) 들이 바로 그 4대 콤포넌트들입니다. 이 4대 콤포넌트들은 서로가 목적에 맞게..
안드로이드 세계에서 하나의 어플리케이션이 어떻게 살다가 돌아가시는지 알아보자. 그러기 위해선 액티비티 (Activity)의 생명주기(Life Cycle)를 알면된다. 프래그먼트(Fragment)라는 녀석도 있지만, 어플리케이션이 기본적으로 동작하기 위해선 무조건 하나이상의 액티비티가 있어야한다. 보통 메인 액티비티가 그 역할을 한다. 또 프래그먼트라는 녀석은 결국 액티비티위에서 자신의 생명이 좌지우지 되기때문에 프래그먼트의 생명주기가 어플리케이션의 생명주기라고 볼 수 없고, 액티비티의 생명주기가 더 맞다고 볼 수 있다. 따라서 우리는 하나의 액티비티가 어떻게 살다가 죽는지 알아보자 또. 다른 액티비티와의 관계에 있어서 서로 어떤 프로세스를 거치는지 알아보자. 1. onCreate()Activity가 처음..
안드로이드를 구성하는 4대 컴포넌트(Activity,Service,Broadcast Receiver,Content Provider)에 대해서 알아보자. 1. 액티비티(Activity) 사용자에게 보여주는 UI화면을 구성하는 컴포넌트입니다. 웹측면에서는 HTML페이지와 같은 느낌이랄까 여하튼 View와 VIewGroup를 가지고 사용자에게 UI를 제공합니다. 하나의 어플리케이션에 반드시 최소 1개이상 액티비티가 존재해야합니다. 액티비티는 매니패스트에서 선언해줘야 합니다. 2. 서비스(Service) 서비스는 백그라운드 즉 사용자에게 보여지지 않는 뒷공간에서 실행되는 녀석입니다. 따라서 UI가 없습니다. 서비스는 프로세스와 같은 의미의 컴포넌트입니다. 항상 백그라운드에서 프로세스가 돌고 사용자에게 보여지지 ..