반응형

맥북에서 안드로이드 스튜디오 설치하기


안드로이드 스튜디오는 자바 기반이기 때문에 자바를 먼저 설치해야 한다.




2018/10/01 - [IT 개발 로그캣/기타] - [Mac] 자바 설치





맥북에 안드로이드 개발 환경 구축을  하기 위해 안드로이드 스튜디오 설치를 설치해보자.


안드로이드 스튜디오는 "안드로이드 디벨로퍼" 를 검색해서 안드로이드 디벨로퍼 홈페이지에 들어가셔서 다운받을 수 있다.


역시나 검색해서 들어가기 귀찮음으로 다운로드 링크 : https://developer.android.com/studio/









1. 안드로이드 디벨로퍼 홈페이지에서 Android Studio 를 누르고 들어가서 다운로드 받으면 된다.









2. 설치 파일을 다운로드 받고나서 실행하면 아래와 같은 그림이 나온다. 

처음에 뭔가 했더니 Android Studio 아이콘을 Applications 로 드래그 해서 옮겨주면 실제 설치파일이 컴퓨터에 생성된다.











3. FInder 에서 안드로이드 스튜디오 아이콘을 찾아서 실행해주면 설치 파일을 열것인지 물어보고 열기를 누르면 실제 설치파일이 실행된다.










4. 설치가 시작되면 기존에 안드로이드 스튜디오 설정이 있는지 물어보는데 처음 설치하는 경우 Do not import settings 를 설정해주면 된다.











5. OK를 누르고 넘어가면 Welcome 화면이 나오는데 그냥 형식적 인사임으로 [Next]를 하면되고 그러면 이제 설치 타입을 묻는다.

설치타입을 Custom 으로 하면 테마, 안드로이드 스튜디오 모듈 (에뮬레이터 등), 에뮬레이터 RAM 크기 설정 등을 할 수 있는데 설치하고 나서도 언제든지 변경 가능하다.

잘모르겠거나 귀찮으면 Standard 를 선택하고 [Next] 를 누르면 프로그램들이 자동으로 설치되고 [Finish] 를 누르면 설치가 끝나고 안드로이드 스튜디오가 실행된다.








5-1.  조금 더 개발자 감성을 일찍 느끼고 싶으면 Custom 을 누르고 [Next]를 한다.

첫 설정은 안드로이드 스튜디오 UI (테마)를 고르는 화면이다. 역시나 개발자 감성이라면 Darcula를 선택해준다. (눈의 피로도 또한 감소 시켜준다)







5-2.  다음 설정으로는 인텔의 HAXM 이라는 에뮬레이터의 속도를 높여주는 하드웨어 가속 기능과 안드로이드 가상머신 (에뮬레이터) 를 설치 할 것인가 물어본다.

가끔 에뮬레이터가 필요함으로 두개다 체크 한뒤 [Next]를 눌러준다.

컴퓨터 용량이 부족하거나 테스트 폰으로만 개발해서 에뮬레이터가 필요 없으면 Android Virtual Device 설치를 해제하고 설치하면 된다.






5-3. 마지막 설정으로  인텔 HAXM 기능에 Ram 할당량을 지정하는건데 2G 정도를 추천하니 그냥 추천하는대로 쓰자










6. 설치가 완료되고 [Finish]를 했을 때 실행된 안드로이드 스튜디오 화면



반응형
반응형

맥북에 자바(JDK) 설치하기



Mac OS 에서 개발환경 구축을 위해 자바(JDK)를 설치해 보자


자바는 오라클 홈페이지에서 다운받을 수 있으며 귀찮으니 아래 링크를 통해 다운로드


자바 다운로드 링크 : https://www.oracle.com/technetwork/java/javase/downloads/index.html


아래의 그림 화살표대로 따라 가면 자바를 다운로드 받을 수 있다.

 






자바 버전 구분


그림 왼쪽에 목록을 보면 Java SE / EE / ME 가 있는데 개인용 (개발 포함)으로 사용하려면 SE를 사용하면 된다.


SE 는 Standard Edition 으로 데스크톱 및 서버 등에서 일반적으로 사용 되는 버전이다. (안드로이드 개발할 때에도 SE 를 사용하면 됨)


EE는 EnterPrise Edition  으로 주로 서버측 개발을 위한 버전으로 SE에 다가 서버측 개발에 필요한 API 등이 추가된 버전이다.


ME는 Micro Edition 으로 상대적으로 가벼운 자바가 필요한 임베디드를 위한 버전이다.


















화살표대로 Accept License Agreement (라이선스 동의) 를 선택하고  macOS 용 파일을 받으면 된다.
















설치 파일을 다운로드 받고 실행시켜서 Install Succeeded 가 나올 때 까지 진행하면 된다. 


중간에 별다른 옵션 등이 없기 때문에 그냥 진행하면 된다. 쉽다 :)












마지막으로 터미널창에서 java -version 을 입력하고 그림과 같이 버전 정보가 나오면 설치 완료!













반응형
반응형

android.view.InflateException: Binary XML file line #46: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)'


와 같은 에러가 발생하면 대부분 xml 파일에서 오타가 문제입니다.


원인 : xml 파일에서 <View> ~ </View> 를 <view> ~ <view> 소문자로 적어서 발생 (휴먼에러다...)



해결법 : 에러가 발생한 XML 파일에서 <view> 를 <View> 로 변경해줌 


반응형
반응형

우리가 보통 컴퓨터(노트북) 이나 스마트폰을 구매할 때 아마 가장 많이 듣는게 램(RAM) 사양이 아닐까 합니다.

보통 다다익램 이라고 램 용량이 높을수록 좋다는 말이 있죠!

도대체 램이란 무엇이길래 높으면 좋은지, 나에게 알맞은 램은 무엇인지 선택하기 위해서라도 

램에 대해 알아보도록 하겠습니다,




1. 램(RAM)이란?

 

 램의 사전적 의미부터 살펴보겠습니다. 

램은 Random Access memory 의 줄임말로 데이터를 읽거나 기억시킬 수 있는 메모리 입니다. 

컴퓨터의 주기억장치라고도 하죠.  일종의 저장소라고 생각하시면 될 것 같습니다.

그런데 왜 Random Access 라는 이름이 붙었을까요? 

결론부터 알려드리자면 램에 저장된 어느 데이터든 접근 시간이 동일하기 때문입니다. 

예를들어 아래 그림과 같이 램(RAM)이 마을( 데이터를 저장할 수 있는 공간)이라면 각 집은 데이터라고 볼 수 있습니다. 

그리고 각 집마다는 중복되지 않는 고유한 주소값을 가지고 있어 언제든지 집을 찾아 갈 수 있습니다. 

( 실제로 컴퓨터가 어떠한 내용을 저장하고 찾을 때는 주소 값이라는 것을 사용합니다. )

램이라는 마을은 공간이 허용하는 한 얼마든지 집을 지을 수 있고, 집을 지을 때 마다 주소 값이 생성 됩니다. 

그런데 이 마을은 특이한 점이 있습니다. 내가 주소 값을 가지고 어느 집(Random) 을 찾아가든 출발부터 도착(Access) 시간이 똑같다는 겁니다. 

그래서 이름이 Random Access 라고 지어졌습니다. 이해가 되시나요? 

우리가 흔히 생각하는 Random 이란 단어의 의미 때문에 헷갈리실 수 있습니다. 

 한글로 표현하자면 오히려 anywhere 에 더 가까울 것 같네요 :)







2. 램의 역할


 이제 램이 왜 RAM 으로 불리는지도 알았고, 데이터를 저장하는 곳이라는 것도 알고 있습니다. 

그런데 여기서 의문점이 있습니다. 

흔히 알기로 HDD 라고 불리는 하드디스크라는 저장소가 있는 걸로 아는데 왜 램이라는 저장소가 또 필요한 걸까요?

그 이유는 우리가 항상 중요시 여기는 속도에 답이 있습니다. 

CPU가 연산을 해주는 역할을 한다고 이전 포스팅에서 설명해 드렸는데요!





2018/09/04 - [IT 정보/하드웨어] - [하드웨어] CPU 란?





1초에 몇십억 번의 연산을 하는 CPU가 필요한 데이터를 찾기엔 하드디스크가 너무 느리기 때문입니다. 

그래서 하드디스크에 저장된 자주 사용하는 데이터(프로그램) 등을 램으로 옮겨 사용합니다.  

쉽게 설명 드리자면 CPU가 치킨집 사장님이라고 생각하면 램은 조리된 치킨들이 쌓여 있는 쟁반이고, 하드디스크는 

살아 있는 닭들이 있는 양계장에 가깝습니다.

치킨 주문이 들어와서 치킨을 배달 해야하는데 매번 양계장에 가서 살아 있는 닭을 도축하고 손질하여 튀김 옷을 입혀 

튀긴 다음 치킨으로 만들기엔 엄청나게 비효율적인 것이죠. 그래서 치킨집에서 미리 조리해놓은 치킨처럼 램에서 빠르게 

사용해야할 데이터들을 저장해놓고 사용합니다. 

치킨집 사장님이 치킨가게에서 치킨을 팔듯 실제로 CPU가 데이터를 찾아오는 곳은 램인 것이죠.

즉, 램은 CPU가 데이터를 빠르게 처리하는 것을 도와주는 역할을 합니다.




* 참고로 램은 휘발성 메모리로 전원이 꺼지면 데이터가 모두 사라집니다. 마치 치킨집에서 하루 장사가 모두 끝나면 치킨을 모두 

폐기(?) 처분 혹은 정리 하듯이 말이죠 :) 

반대로 하드디스크는 비휘발성 메모리로 전원이 꺼져도 데이터가 보존됩니다.

양계장에서는 하루가 지나도 닭들이 계속 살아있는 것과 동일한 것이죠.




반응형

'IT 정보 로그캣 > 하드웨어' 카테고리의 다른 글

[라즈베리 파이] 라즈베리 파이 란?  (0) 2019.01.05
[하드웨어] CPU란?  (0) 2018.09.04
반응형

 모든 컴퓨터(노트북 포함)나 스마트폰은 CPU를 탑재하고 있습니다. 

그래서 우리는 매번 컴퓨터와 스마트폰을 구매할 때 CPU의 사양에 대해 접하게 됩니다.

보통 많은 사람들이 제조사에서 탑재해준 CPU를 그냥 사용하지만 때로는 다른 차이는 없고 CPU 클럭만 0.2~0.4 차이가 

나는데 금액은 엄청나게 차이가 나 우리를 혼란스럽게 하기도 합니다. 그렇기 때문에 나의 필요성에 맞게 제품을 구입하고 

선택하기 위해서라도 CPU란 무엇인지 알고 있어야 겠네요 :)



1.CPU란?


 CPU란 Central Processing Unit 의 줄임말로 한글로 하면 중앙 처리 장치라고 합니다. 흔히 사람의 뇌에 비유하며 

컴퓨터의 다른 부품들과 신호를 주고 받으면서 시스템 전체를 제어하는 역할을 합니다. 

여기까지는 누구나 한번쯤 들어봤을 설명이죠 :) 

쉽게 설명하자면 CPU는 사용자와 소통하는 역할을 합니다. 사람들이 서로 소통 하기 위해서는 언어가 필요 하듯이 

컴퓨터도 소통하기 위해서는 언어가 필요합니다. 그리고 컴퓨터가 사용하는 언어는 영화 매트릭스에서 많이 나오는 0 과 1로 이루어진 이진수 입니다. 

컴퓨터는 기본적으로 input & output 구조로 대화합니다. 먼저 말을 걸어주어야 대답을 해주는 친구죠. 

그런데 우리는 CPU에게 이진수로 직접 말을 걸 수 없기 때문에 중간에 매개체가 필요합니다. 바로 키보드와 마우스죠.

예를들어 아래의 그림과 같이 사용자가 키보드나 마우스를 통해 대화(input)를 걸면 우리가 건넨 말은 이진수로 변환되어 CPU에 전달되고, CPU는 input에 맞는 대답(output)을 사용자가 이해할 수 있는 표현으로 다시 변환하여 모니터 등을 통해 

보여주는 것입니다.










2. CPU 성능

 

 이제 CPU가 무슨 역할을 하는지 알았으니 CPU를 고르기 위한 기본적인 CPU 성능 정보에 대해서 알아보겠습니다.

CPU를 구입하려고 성능표를 보면 아래와 같은 설명을 볼 수 있습니다. 


출처 ) 다나와 인텔 코어 i7-8세대 8700K 커피레이크 제품 


우리가 CPU의 사양을 보거나 CPU를 선택할 때 접하는 정보를 바탕으로 CPU의 성능에 대해서 알아보겠습니다.


  •  코어 : 코어(core)는 말그대로 CPU의 핵심으로 이진수 연산 역할을 합니다. 실질적인 소통처리를 하는 친구네요! 코어는 개수에 따라 크게 싱글코어와 멀티코어로 구분됩니다. 싱글코어는 CPU안에 코어가 한 개 있다는 의미고 멀티코어는  코어가 여러개라는 의미 입니다. 멀티코어는 듀얼(2개) 코어, 쿼드(4개) 코어, 핵사(6개) 코어, 옥타(8개) 코어 등 개수에 따라 나뉘어 집니다. 코어가 많다는 건 차들이 지나갈 수 있는 터널을 많이 뚫어 놓았다고 생각하시면 됩니다. (쓰레드를 설명하기 위해 차선보다는 터널이라고 비유 하겠습니다.) 터널이 한 개 일 때 보다 두 개 일 때 더 많은 차들이 지나갈 수 있듯이 코어가 더 많을 수록 컴퓨터의 처리속도가 더 빠릅니다.


  •  클럭 : 클럭(Clock) 은 CPU의 초당 명령어를 처리할 수 있는 속도를 의미합니다. 단위는 GHz (기가 헤르츠)를 사용하며      1 GHz 는 1 초당 10억 번의 명령어를 처리하는 것을 의미합니다. 비유하자면 차선에서 차들이 낼 수 있는 제한속도와 같은 개념이라고 생각하시면 됩니다. 제한 속도가 높을 수록 차들이 빨리 지나 갈 것이고, 마찬가지로 클럭이 높을수록 더 많은 일들을 처리할 수 있습니다. 위에 CPU 성능 표에서 보면 동작 속도가 클럭을 의미 합니다.

 터보부스트 속도라는 것도 있는데 이는 오버클럭 이라는 개념으로 순간적으로 CPU가 자신의 클럭속도를 끌어올리는 것을 의미합니다. 

예를들면 도로에서 제한속도를 넘기면 단속에 걸리는데 +5 정도는 봐주듯이 CPU도 필요할 때만 잠깐 속도를 

끌어 올리는 것입니다. 그리고 차들이 속도를 높일 수록 도로와의 마찰에 의해 더 뜨거운 열이 발생 하듯이 클럭이 높을 수록 CPU의 발열과 

전력소비가 높습니다.  

노트북의 경우 발열은 노트북의 수명과 전력소비는 베터리 사용시간과 직결되는 문제이기 때문에 참고하시면 좋으실 것 같습니다 








  •  쓰레드 : 쓰레드 (Thread)와 코어의 개념에 대해 혼동하시는 분이 많습니다. 쉽게 설명 하자면 쓰레드는 코어의
    멀티테스킹 능력이라고 볼 수 있습니다. 일반적으로 코어 한 개당 스레드가 두 개씩이고, 위에서 CPU 성능 그림을 보면
    핵사(6개)코어이기 때문에 6x2 해서 쓰레드가 12가 됩니다. 단순하게 보면 우리가 흔히 노래를 들으며 공부를 하듯이 (?) 코어도 동시에 두 개씩 작업을 할 수 있다는 것입니다.
    코어와 쓰레드 설명에서 혼동을 피하기 위해 위에서 코어는 터널이라고 비유를 했고, 쓰레드는 한 터널(코어) 당 차선을
    나누어 차가 2대 씩 지나갈 수 있도록 한 것이라고 생각하시면 됩니다. 이론적으로 보면  코어 개수가 늘어난 것과 똑같은 것으로 보이지만 실직적으로는 코어의 일처리 효율을 높인수준으로 코어 개수가 늘어난 만큼의 속도 향상을 보이지는 않습니다. 




  •  L3 캐시 메모리 : L3 캐시 메모리에서 L은 Level을 의마힙니다. L3가 있으니 당연히 L1, L2 도 있습니다. 캐시메모리는 CPU 내에서 빠르게 일을 처리하려고 자체적으로 필요한 내용들을 기억하는 역할을 합니다. 예를들어 CPU에게 사용자가 대화를 걸어 자신의 집 주소를 알려달라고 질문을 합니다.  그러면 CPU는 RAM이라는 주소록을 꺼내 주소를 찾은 뒤
    알려줄 수도 있습니다. 그런데 사용자의 집 주소는 자주 사용되거나 빨리 처리 해줘야 해서 매번 RAM이라는 주소록을
    꺼내서 찾은 뒤 말해주면 늦고 귀찮습니다. 그래서 CPU는 그냥 사용자의 집 주소를 외워 사용자가 물어보면 바로바로
    답을 해줍니다.  이렇듯 CPU는 RAM이라는 메모리에 접근하여 일을 처리하면 속도가 느리기 때문에 일처리 속도를
    올리기 위해 자체적으로 기억할 수 있는 캐시 메모리를 사용합니다. 캐시 메모리가 클수록 CPU가 자체적으로 많은 내용을 기억할 수 있고 속도도 더 빠르게 됩니다.  물론 가격도 같이 올라갑니다 :)
    하지만 코어나 클럭에 비해 체감 속도에 미치는 영향은 작습니다.



  • 연산체계 : CPU의 연산쳬계는 32비트와 64비트로 이루어져 있고, CPU의 연산 능력을 의미합니다. CPU가 사용하는 언어가 이진수이기 때문에 연산쳬계가 32비트면 2의 32제곱까지, 연산체계가 64비트면 2의 64제곱까지 연산할 수 있습니다. 속도는 64비트가 더 빠르며, 사람으로 생각하자면 암산을 더 잘한다든가, 표현할 수 있는 단어나 문장이 더 많아서 빨리 대답할 수 있는 정도로 생각하시면 될 것 같습니다.






반응형

'IT 정보 로그캣 > 하드웨어' 카테고리의 다른 글

[라즈베리 파이] 라즈베리 파이 란?  (0) 2019.01.05
[하드웨어] 램(RAM)이란?  (0) 2018.09.06

+ Recent posts