반응형

안녕하세요, 봉자씨입니다.

 

Google Service를 사용하여 개발은 진행하였으나, google-services.json 해당 파일 내에선 패키지 이름(Package Name)을 변경하지 않았을 경우에 생기는 에러입니다.

결론으로 정리를 하면 아래와 같습니다.

리팩토링(Refactoring) =>패키지 이름 변경=> But! google-services.json내에 패키지 이름은 변경되지 않았기 때문입니다.

그럼 해결 방법은 일단 먼저 Android로 되어 있는 프로젝트 보기를 아래와 같이 Project로 바꿔줍니다.

 

그리고 나서 이제 해당 프로젝트로 들어가서 App을 선택하게 됩니다. 그리고 아래와 같이 google-services.json 파일을 선택합니다.

 

아래와 같이 파일이 열리는데, 이때 해당 파일의 패키지 이름을 바꿔주면 됩니다. 

 

변경 프로젝트가 이젠의 프로젝트의 이름만 바꾼거면 상관 없으나,

비슷한 프로젝트를 생성하려고 복사했다면, google-services.json을 다시 새롭게 생성해서 받으셔서 사용하시면 됩니다.

https://console.firebase.google.com/?hl=ko

 

로그인 - Google 계정

하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인

accounts.google.com

여기 가셔서 프로젝트 생성하고 하면 google-services.json 이 파일을 하나 생성 되니 참고하세요

감사합니다.

반응형
반응형

 

녕하세요, 봉자씨입니다.

 

윈도우를 사용하다 보면 잘 안보이는 것들이 있습니다. 그래서 해상도를 낮추고 잘 보이게 하고 싶은 경우가 있죠.

하지만 그렇게 하면 잠깐 안보이는 것을 위해서 그렇게 한다는 것은 어찌보면 수고가 너무 많이 드는 경우가 있을 수 가 있기에 망설여 지는 것도 사실입니다.

그래서 해상도를 바꾸지 않고 보이지 않는 것을 최대한 잘보이게 하는 돋보기 기능을 알려드리려고 합니다.

먼저 돋보기 기능은 어떤 효과가 있는지를 한번 먼저 볼게요.

기본적으로 아래와 같이 보인 것들이..

돋보기 사용전

 

돋보기를 사용해서 보면 아래와 가이 크게 보인답니다.

돋보기 사용했음

 

이렇게 크게 보인답니다. 그럼 이제 한번 어떻게 사용하는지 알아 보도록 할게요.

 

돋보기 실행 할 라면 가장 쉬운 방법은 

윈도우키 + +키

간단하죠. 그렇게 하면 돋보기 창이 이렇게 뜹니다.

돋보기가 실행 된 화면

 

여기서 보면 플러스 마이너스가 있습니다.

  • 플러스를 누르면 예상한 것처럼 커지게 되고요
  • 마이너스를 누르면 작아지게 해서 보여집니다.

 

그럼 보기가 멀까 한번 아아 보겠습니다. 보기를 누르게 되면 아래와 같이 세가지의 경우가 보입니다.

  • 전체 화면
  • 렌즈 
  • 도킹됨

전체화면은 아래와 같이 보이게 되어 있어요(화면 전체가 커진 모습)

화면 전체 확대

 

이렇게 확대 된 모습을 보면 먼가 눈에 확 들어오기는 하는데 햇갈릴 정도로 화면이 커서 부담 스러울 수 있어요. 그래서 이번에는 렌즈 기능을 한번 사용해 보도록 할게요.

렌즈기능을 쓰면 아래와 같이 보여요!

렌즈를 사용한 모습

 

어때요 렌즈를 사용하니까. 특정한 부분만 아주 크게 보이게 할 수 있습니다. 플러스 버튼을 누르면 더욱 크게 보이게 됩니다. 저의 경우는 300퍼센터로 보여지게 했답니다.

이제 하나 남았네요 바로 도킹 모드입니다. 도킹모드는 특정 화면 위치에 확대된 모습을 보여주는 기능이에요. 아래와 같습니다. 한번 보도록 하겠습니다.

도킹 모드

도킹 모드를 보시면 마우스의 위치는 저렇게 위치되어 있는데 확되되어 보여지는 부분은 위에서 볼 수가 있다는 것을 확인 할 수가 있습니다. 먼거 좀더 쉽게 특정 부분만을 볼 수있는 기능입니다.

 

다만 사용시에 주로 많이 사용하는 것은 렌즈 모드를 많이 사용하니 참고하세요.

 

이제 반전 모드를 한번 보도록 하겠습니다. 반전 모드는 아래와 같이 보여지게 되어 있어요. 완전 검정색으로 보이네요. 그런데 이 기능을 왜 사용하는거에요? 라고 물은다면 저 같은 경우는 해당 경우를 사용할때는 주로 어두운 환경에서 글을 읽으려고 할때에 사용해요. 그럼 눈에 빛에 대한 영향을 덜 받아서 편안하게 읽을 수가 있거든요. 그럼 어떻게 하는지 볼게요.

 

생각보다 쉬운 방법으로 사용할 수 있어요. 먼저 돋보기를 켭니다.(윈도우 + +키) 

그리고 나서 설정 버튼을 눌러요. 그리고 색 반전 버튼을 누르게 되면 반전 된 화면을 위와 같이 볼 수 있습니다.

하지만 주로 사용할 때는 CTRL + ALT + I 버튼을 눌러서 주로 사용해요. 많이 사용하는 기능일 수록 단축키를 사용하는 경우가 많으니 알아두세요. 알고 사용하면 엄청 편하답니다.

 

 

요약 하자면 

돋보기 기능 사용하는 방법

  • 윈도우키 누르고 돋보기라고 치고 사용
  • 윈도우키 누른 상태에서 + 키를 눌러서 사용

색 반전 기능을 사용하는 방법

  • 돋보기 기능을 켜서 옵션에서 반전 기능을 켠다.
  • CTRL + ALT + I 를 눌러서 사용

 

반응형
반응형

 

녕하세요, 봉자씨입니다.

 

안드로이드 폰을 사용하다 보면 앱을 초기화하고 싶을 때가 있습니다.

멀 해도 안돼서 말이죠. 그런데 이렇게 초기화를 하려고 하는 가장 쉬운 선택은!

맞습니다. 삭제하고 다시 깔면 엄청 간단하게 되죠.

하지만.

꼭 그렇게 진행한다고 앱이 초기화되는 것이 아니에요.

앱을 제작할 당시에 설정에 의해서 내가 앱을 깔고 다시 지워도 기존의 데이터를 계속적으로 유지하는 경우가 있습니다.

이럴 경우는 아래와 같은 방법으로 진행하시면 됩니다.

 

앱 초기화를 위해서 삭제하고 다시 깔아도 안될 경우 아래와 같이 하세요

먼저 앱을 찾습니다. 그리고 롱 클릭을 합니다.

 

그럼 아래와 같이 화면이 나오게 되는데 거기서 앱 정보를 클릭합니다.

 

그럼 다시 아래와 같은 화면이 나오는데 이때에 저장 용량을 클릭합니다. 그럼 이전에 내가 앱을 사용하면서 발생한 공간에 대한 데이터가 보입니다.

이제 마지막으로 저장용량 비우기를 클릭하게 되면 앱을 맨 처음 깔았을 때랑 똑같이 초기화가 진행이 됩니다.

 

 

생각보다 간단하죠? 이제 앱이 초기화된 것입니다.

굳이 앱을 지웠다가 다시 깔지 않아도 됩니다. ^^

반응형
반응형

 

녕하세요, 봉자씨입니다.

 

윈도우 10을 쓰다 보면 여러 가지로 편리한 점이 많아요. 

그렇게 쓰다 보면 안드로이드 폰 하고 연결이 좀 쉽게 되었으면 하는 생각이 듭니다.

특히나 사진이나 메시지 같은 것을 옮기고 싶을 때는 유독 그런 생각이 듭니다.

 

그럼 간단하게 어떻게 하면 윈도우 10과 안드로이드 폰을 연결하는지 알아보도록 하겠습니다.

 

먼저 두 가지 준비가 필요합니다.

안드로이드에서는 사용자 휴대폰 도우미

윈도우10에서는 사용자 휴대폰

 

먼저 윈도우 10먼저 해보도록 하겠습니다.

윈도우 버튼을 누르고 -> microsoft store를 클릭-> 그리고 사용자 핸드폰이라고 검색을 진행합니다.

그럼 아래와 같은 앱이 나오게 됩니다. 해당 앱을 설치합니다.

 

이제 안드로이드 스마트 폰을 한번 준비해 보도록 하겠습니다.

구글 스토어에 들어가세요 들어가서 사용자 휴대폰 도우미를 검색하세요

그리고 아래와 같이 나오면 설치하시면 됩니다.

 

이제 준비가 되었습니다. 앱을 설치하고 로그인하고 진행을 하시면 됩니다.

진행은 아래와 같이 진행하시면 돼요 아주 간단하게 진행이 되니 한번 천천히 따라 읽어보시면서 진행하시면 됩니다.

 

 

이렇게 다 따라 하고 나시면 아래와 같이 윈도우에서 아까 깔아 둔 사용자 휴대폰이라는 프로그램을 실행하시면 아래와 같이 나오게 됩니다.

 

그럼 이제 핸드폰에 사진과 메시지를 쉽게 선 없이 연결할 수가 있게 됩니다.

짝짝짝 별로 어렵지 않죠. 한번 해보세요 편리하더라고요.

 

반응형
반응형

 

 

녕하세요, 봉자씨입니다.

 

스마트 폰을 사용하다 보면 나의 데이터를 누군가에게 나눠 써야 할 때가 있더라고요.

그러기 위해서는 어떻게 해야 하는지 간단한 원리와 방법에 대해서 알아보도록 할게요.

 

원리

간단하게 정리하면 나의 데이터(LTE 데이터 1gb, 10gb, 무제한... 등)를 다른 사람과 같이 쓰는 것이에요. 또는 나의 데이터를 내가 가지고 있는 다른 기계와 같이 나눠 쓸 수도 있는 것이에요. 나눠 쓸 때에는 나의 와이파이 신호를 가지고 사용하게 돼요. 나의 와이파이가 켜지고 여기에 사용자가 붙어서 사용하게 되면 나의 와이파이에서 사용자와 내가 쓴 데이터가 쓰이게 되는 거예요.

다시 정리하면 간단하게 아래와 같아요.

나의 데이터 공유하면 -> 나의 폰에 와이파이가 켜지고 -> 사용자가 나의 와이파이에 붙어서 사용하게 되고-> 그럼 나의 데이터가 사용되게 되는 겁니다.

나의 폰이 와이파이 기지국 같은 역할을 하게 되는 것입니다.

이렇게 나의 폰이 와이파이가 되는 것을 

테더링 or 핫스팟 이라고 합니다. 이 글에서는 핫스팟이라고 하겠습니다.

 

방법

방법은 두 가지가 있습니다.

  1. 비밀 번호를 걸어서 공유하는 방법
  2. 비밀 번호 없이 공유하는 방법

 

먼저 비밀번호를 걸어서 데이터를 공유해 보도록 할게요!

그럼 먼저 핫스팟을 켜야 이 기능이 활성화가 됩니다. 어떻게 생겼을 까요. 아래와 같이 생겼습니다.

핫스팟의 아이콘 형태

 

그럼 이제 이 핫스팟을 눌러 주시면 일단 켜지는 상태가 됩니다. 저희는 켜는 것도 중요하지만 설정을 해야 하기 때문에 일단 해당 아이콘을 롱 클릭해줍니다.

잠깐요! 저는 해당 아이콘이 안 보여요!

그럼 설정-> 네트워크 및 인터넷-> 핫스폿 및 테더링 

이렇게 이동하시면 화면이 나올 거예요!

 

이제 핫스팟을 설정화면으로 이동했을 텐데 그럼 아래와 같은 화면이 나옵니다.

핫스팟을 클릭하세요

 

그럼 여기서 와이파이(WIFI) 핫스팟을 클릭하세요. 그럼 아래와 같은 화면이 나오게 됩니다.

참고로 핫스팟을 할 경우에 와이파이를 사용해서 데이터를 공유하는 방법이 일반적이지만 USB로 테더링도 가능하고 블루투스로도 가능해요. 참고하세요^^

파란색 동그라미가 있습니다. 이 부분을 클릭해보세요. 그러면 이름을 설정할 수가 있습니다. 이렇게 이름을 설정해서 나의 와이파이가 누군가에게 이 이름으로 노출이 되게 됩니다. 저의 경우는 PAssPort라고 해놨습니다. 그럼 누군가가 나의 와이파이를 찾을 때에 저 이름으로 찾으면 되는 겁니다.^^

이제 분홍색 동그라미가 보이시죠? 저 부분에서 아무것도 입력이 안되어 있다면 그냥 누구나 나의 와이파이에 붙어서 사용이 가능한 것이에요. 하지만 비밀 번호를 입력해 두었다면 비밀번호를 알아야만 접근이 가능하고 사용이 가능하답니다.

결국 1 번 2번 즉, 비밀번호를 안 걸고 공유할 것인가, 걸고 공유할 것인가는 이 분홍색 부분을 설정하는 가에 대한 여부에 달려있답니다. 한번 설정해 보세요. 그럼 상대방의 폰에 아래와 같이 핫스팟이 뜨는 것을 확인할 수 있답니다.^^

 

반응형
반응형

안녕하세요, 봉자씨입니다.

파이썬을 설치하기 시작하기 전에 이런 질문을 많이 할 수 밖에 없습니다.


Should I use Python 2 or Python 3 for my development activity?

그래서 파이썬 무슨 버전을 깔아야 하나요?


https://wiki.python.org에서는 아래와 같이 답하고 있습니다.

What are the differences?

Short version: Python 2.x is legacy, Python 3.x is the present and future of the language



결국  Python 3를 설치해야 하겠죠?


 Python 3를 사용해야 하는 이유 정리하면 아래와 같습니다.

1. 2버전은 이제 더 이상 업그레이드를 지원하지 않아요!

2. 맥제공 파이썬은 사용시에 애플 수정 버전이기에 버그가 존재 할 수 있어요!

3. 맥제공 파이썬은 우리가 흔히 파이썬에서 사용하는 PIP를 사용 할 수 없어요!

4. 좀 더 궁금한게 있다면! https://wiki.python.org/moin/Python2orPython3 여기를 참고해주세요!

 

일단 저는 모두 설치한 상태라서 설치한 상태의 버전이 보이는 것을 확인가능해요!

저 처럼 당연히 안보이실 겁니다. 그럼 한번 저처럼 보이게 설치 해 보도록 할게요.

파이썬 3가 설치 되어 있는 상태

설치가 안되어 있을 경우 -bash: python3 : command not found


Homebrew를 통해서 설치하려고 하는데 Homebrew가 도대체 뭔가요~?

OS X 패키지 관리자 Homebrew 로 간편하게 패키지를 관리 할 수 있도록 도와주는 프로그램이다...라고 생각하시면 됩니다.





1. 실제 Homebrew 설치는 아래와 같이 입력

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 설치 후 .bash_profile 설정에 아래 내용 추가

1
export PATH=$(brew --prefix ruby)/bin:$PATH

3. 또한 Homebrew 가 패키지 설치 시 필요한 권한 부분 추가

1
sudo chown -R $USER /usr/local

4. 완료 확인을 합니다. brew -v 명령어로 버전을 확인


이제 준비는 완료 되었습니다.

파이썬 3설치 해보도록 하겠습니다.

brew install python3


이게 끝이에요. 이제 파이썬3가 설치 되어 있는지 확인해보세요.

가장 쉬운 방법 python3를 터미널 창에 썼을때 처음 화면 처럼 나오면 되요.(제가 캡쳐한 화면)

파이썬


반응형
반응형

안녕하세요, 봉자씨입니다.

오늘은 엑셀의 IF함수에 대해서 한번 알아 보겠습니다.

이전에 배웠던 or함수와 and함수와 같이 논리함수에 속합니다.

if함수는 정말 많이 쓰이는 함수입니다.

그래서 다른 사용자들의 엑셀 수식을 보면 역시나 많이 사용되어 있는 모습을 많이 보게 됩니다.

왠만한 수식에는 빠지지 않는 단골 함수라고 생각하시면 됩니다.


그럼 엑셀의 if함수는 과연 어떻게 사용이 되는지 한번 알아 보겠습니다.

그러기 위해선 먼저 함수는 어떤 구성을 가지는 지에 대해서 먼저 보겠습니다.

=IF(논리값, True일 경우, False일 경우)


논리값에 의해서 True공간에 것을 실행 할 것이냐,

False 공간에 것을 실행 할 것 인가를 결정 짖게 됩니다.


예를 들어서 아래와 같은 판단을 할 수 있습니다.(단순 입력)

=if(6>A1, 100, 400)


해당 수식이 적혀 있는 셀에는 A1의 값이 6 보다 작다면 100이라는 값이 입력되게 됩니다.

하지만 6보다 크거나 같다면 400이라는 값이 입력이 되게 됩니다.


그럼 이렇게 단순하게만 사용 할 가요?

그렇지 않아요 아래의 수식을 한 번 보겠습니다.(결과가 수식)

=if(6>A1, 100*A1, 400*A1)


해당 수식은 A1의 값에 따라서 100을 곱할 것이냐

아니면 400을 곱할 것이냐가 결정되게 됩니다.

단순하게 값을 입력하는 것을 떠나 계산이 가능 하다는 것을 알 수 있죠.


다음으로는 아래와 같은 수식이 있습니다.

=if(and(a1>10, a2>20), "모두 옳다", "모두는 아니다")


해당 수식은 논리값의 해당하는 부분에 논리 함수를 사용해서 두가지 논리 값에 대해서 표현했습니다.

a1이 10보다 크고, a2가 20보다 크다면 해당 셀에 "모두 옳다"라고 입력하라고 수식이 되어 있으며,

그렇지 않다면 "모두는 아니라"라는 값이 입력되게 됩니다.

a1이 12이고 a2가 22일 경우

=if(and(a1>10, a2>20), "모두 옳다", "모두는 아니다")

a1이 12이고 a2가 20일 경우

=if(and(a1>10, a2>20), "모두 옳다", "모두는 아니다")



또 다르게 사용되는 경우를 한번 보겠습니다.

=if(sum(a1:a10)>10, if(a1>10, a1, a10),"조건에 안맞음")


해당 수식이 복잡해 보이시나요? 그렇지 않아요.

모든 수식은 천천히 뜯어보면 다 똑같습니다.

sum(a1:a10)의 값이 10보다 크다면, 다시 a1의 값이 10보다 크면 셀에 a1을 입력하게 됩니다. 그렇지 않고 10보다 작다면 a10을 입력하죠.

하지만 처음에 sum(a1:a10)의 값이 10보다 같거나 작았다면 셀에는 "조건에 안맞음"이라고 입력되게 됩니다.


결론적으로 if문은 아래의 형태에서 벗어나지 않습니다.

그러니 꼭 아래의 그림을 머리 속에 넣어 두세요!





글이 조금이나마 도움이 되셨다면 공감 부탁드립니다.

오늘도 좋은 하루 되세요!

감사합니다.

클릭 클릭 공감 클릭~~







반응형

'엑셀 > 엑셀 함수' 카테고리의 다른 글

엑셀 IF 함수  (0) 2018.12.17
엑셀 OR 함수  (0) 2018.08.07
엑셀 AND 함수  (0) 2018.08.03
반응형

안녕하세요, 봉자씨입니다.


맥을 자주 사용하시면 깨닫는게 있습니다. 

바로 맥에서 단축키를 사용하지 않았다면 와...와...

얼마나 내가 불편 했을까하는 생각이 들 정도로 소중하다는 것을 말입니다.

오늘은 맥을 사용한다면 알아야 하는 필수라고 까지 말 할 수 있는 단축키를 12가지를 알려드릴게요!


1.그 창만 쏙 하고 잠재우기(딱 그창만 화면 없애버리기)

COMMAND + W

꼭 알아야 하는 단축키!

누군가 나의 모니터를 바라 보고 있다면 쏙 하고 나의 중요한 정보를 감추세요!

프로그램을 종료하는 것은 아니에요!

단지 잠자기 상태로 바꾼답니다.


2.모든 창을 최소화 하기(한번에 모든 창 내리기)

COMMAND + OPTION+ W

모든 창을 한번에 최소화 해줍니다. 

쏙하고 내려가는 효과를 보게 됩니다.


3. 모든 창을 화면에서 사라지게 하기(모든 창 숨기기)

COMMAND + H

화면상에 떠 있는 모든 창을 한번에 숨겨 줍니다.

직장 상사가 지나가거나 선배가 지나간다면?

바로 이 단축키 입니다.!


4. 활성화된 창 잠시 저리 비켜보세요(맥 바탕화면을 보게 모든 창을 저리 치울때)

COMMAND + F3

맥을 사용하다보면 여러가지 화면을 많이 켜놓게 됩니다.

굳이 맥이 아니더라도 그런 습관 아닌 습관을 가지는 경우가 많죠

그럴 때는 바탕화면 구경하기가 쉽지 않아요.

이럴때 바로 이키를 사용해보세요!


5. 크롬 창에 여러 탭을 가지고 있다면 탭을 자유롭게 이동하기

COMMAND + 1 or 2 or 3....

숫자 만큼 해당 탭으로 이동합니다.

1이라면 첫번째 탭으로

2라면 두번째 탭으로 이동하게 되는 것이죠.

아무 것도 아닌데 사용하다 보면 정말 편해요!


6. 맥을 순식간에 끄는 단축키

CONTROL + OPTION + COMMAND + EJECT(오른쪽 모서리 상단에 있는키)

이렇게 누르면 맥이 순삭 꺼집니다.


7. 마우스 스크롤 효과를 화살 키로 즐기기

COMMAND + DOWN or UP

스크롤 기능이 점프 점프 기능으로 바뀝니다.

그래서 빠르게 훑어 볼 수 있게 되죠!


8. 서식까지 복사해 보세요

CONTROL + COMMAND + V

이렇게 누르면 텍스트에 적용된 서식까지 복사가 되요!


9. 사전 기능?

CONTROL + COMMAND + D

사전이 딱하니 떠서 모르는 단어도 쉽게 이해하고 넘어 갈 수 있답니다.


10. 삭제를 좀더 빠르게 하고 싶다면?

OPTION+DELETE

한 글자씩 지워졌다면, 이제는 한 단어씩 빠르게 지워집니다.


11. 유투브 볼때 완전 HOT KEY 점프점프

1, 2, 3, 4...

유튜브를 보고 있다면 한번 숫자키를 눌러보세요

10%, 20%, 30%, 40%...아주 빠르게 재생 점프하게 됩니다.


12.볼륨 조절을 이제 조금더 세밀하게 조절하고 싶다면?

OPTION+SHIFT+F11(세밀히 줄이고)

or

OPTION+SHIFT+F12(세밀히 올리고)


이제 볼륨을 키로 좀더 세밀하게 조절해 보세요!




반응형
반응형

안녕하세요, 봉자씨입니다.


안드로이드에서 api를 호출할 경우 자주 사용하는 retrofit2

이를 사용하다 보면 json데이터를 파싱하는 경우가 많습니다. 

이럴 경우 아래와 같이 사용하여 처리를 했습니다.


Retrofit client = new Retrofit.Builder()
.baseUrl("http://bongjacy.com/")
.client(new OkHttpClient()).addConverterFactory(GsonConverterFactory.create()).build();


이렇게 사용하다 보면 특정 데이터에서 null이 들어 오는 경우가 있습니다.

또는 숫자라고 생각하고 이를 String으로 받아서 바꿔 사용하고 있다면 Inteager.Valueof를 사용하다 보면 Exception이 발생하게 됩니다.

당연하죠.. 데이터가 없으니

이럴 경우 null일 때는 "0"으로 넣어야 하는 경우가 생기더라고요.(순전히 저의 경우지만...^^;;)

이를 해결하기 위해서 아래와 같은 소스 코드를 추가해 주시면 됩니다.

기본적 셋팅 부분은 아래와 같이 하시면 됩니다.


GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory()).create();
gsonBuilder.serializeNulls();
Gson gson = gsonBuilder.create();
Retrofit client = new Retrofit.Builder()
.baseUrl("http://bongjacy.com/")
.client(new OkHttpClient()).addConverterFactory(GsonConverterFactory.create(gson)).build();


그리고 두개의 클래스를 추가합니다.

첫번째 StringAdapter입니다.

import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;

import java.io.IOException;

public class StringAdapter extends TypeAdapter<String> {
public String read(JsonReader reader) throws IOException {
if (reader.peek() == JsonToken.NULL) {
reader.nextNull();
return "0"; //여기서 null일 경우에는 0으로 치환해서 보내게 됩니다. 핵심!
}
return reader.nextString();
}
public void write(JsonWriter writer, String value) throws IOException {
if (value == null) {
writer.nullValue();
return;
}
writer.value(value);
}
}


두번째 NullStringToEmptyAdapterFactory입니다. 기본 셋팅 부분에 추가됐던 TypeAdapterFactory 클래스입니다.

import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;

public class NullStringToEmptyAdapterFactory<T> implements TypeAdapterFactory {
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {

Class<T> rawType = (Class<T>) type.getRawType();
if (rawType != String.class) {
return null;
}
return (TypeAdapter<T>) new StringAdapter();
}
}


이렇게 해주시면 null to zero가 되게 됩니다.

감사합니다.

글이 조금이나마 도움이 되셨다면 공감 부탁드립니다.

오늘도 좋은 하루 되세요!

감사합니다.

클릭 클릭 공감 클릭~~





반응형
반응형

안녕하세요, 봉자씨입니다.

엑셀의 OR함수에 대해서 알아 보도록 하겠습니다.

이전에 학습한 AND함수랑 아주 유사성이 많습니다.

두개의 함수의 공통점은 논리함수라는 것입니다.

함수의 결과 값으로 얻는 값이 논리 값이다 하여 논리 함수다라고 생각하시면 됩니다.


OR함수 역시  어느 수식에든 들어가는 감초 같은 함수입니다.

역시나 요기 조기 들어가서 요긴하게 쓰입니다.


그럼 OR는 어떤 기능을 할가요?


인수값이 어떤 값이 들어가고 결과 값으로 어떤 논리 값이 나오는 지를 한번 보겠습니다.

먼저 인수값으로는 역시 논리 값이 들어 가고 있습니다.

True, False 값이 나올 수 있는 논리 값.


=OR(논리값,논리값,논리값......)


그럼 OR가 하는 역할은 무엇일까요?

OR함수 내에 인수로 들어오는 논리 값 중에서 어느 하나라도 값이 TRUE라면

결과 값으로 TRUE의 값을 반환해 줍니다.


여러 조건들을 해당 함수에 넣었을 경우에 결국 하나라도 맞는 조건이 있다면

결과값으로 TRUE를 반환해 준다는 것입니다.


이하 T는 true, F는 false


=OR(T,T,T)

결과는 T


=OR(F,F,F)

결과는 F


=OR(T,T,T,F)

결과는 T


=OR(F,F,F,T)

결과는 T



함수의 기능을 보면 그리 어렵죠.

그런데 이전에 AND함수와 마찬가지로 이렇게 단순하게 사용되지 않습니다.

감초는 감초 답게 여러 함수와 콜라보가 되어져서 사용됩니다.

하지만 해당 기능을 정확하게 이해해야 콜라보도 할 수 있다는 것을 기억하세요.

쉬운 기능이지만 이 기능이 나중에 큰 효과를 발휘하게 된답니다.

차차 확인하는 것으로 하고 일단 OR기능에 대해서 다시 예를 들어서

설명을 드리겠습니다.


아래의 예를 보면 수학 과학 영어 체육 해당 과목 중에서 한 과목이라도 90점이 넘는 다면!!

바로 TRUE를 반환해 주는 식입니다.


결국 한과목이라도 90점을 넘는 학생을 구한다면 아래와 같은 수식을 쓸 수 있겠죠?


그래서 위의 수식을 조금 응용해서 쓴다면 아래와 같은 수식을 쓸 수 있습니다.

= if(OR(A2>90,B2>90,C2>90,D2>90), "과목 우수", "")

이렇게 수식을 쓴다면 한과목이라도 90점을 넘는 경우 과목 우수가 반환이 되게 됩니다.

그리고 그렇지 않다면 빈공간이 나오겠죠.


여기서 우리가 이전에 배운 AND함수도 한번 콜라보를 해볼가요

= IF(AND(AND(A2>60,B2>60,C2>60,D2>60),OR(A2>90,B2>90,C2>90,D2>90)), "전과목 평균 이상 과목 우수", "")


이렇게 수식을 쓴다면 모든 과목이 60점이 넘어야 하고
과목중에 하나는 90점이 넘어야
전과목 평균 이상 그리고 과목 우수가 되게 됩니다.

아직은 복잡할 수 있지만 간단한 원리만 일단 이해하시고
나중에 복잡한 수식을 수행할 때에 활용 하시면 됩니다.

마지막으로 한장 정리 들어 갑니다.





글이 조금이나마 도움이 되셨다면 공감 부탁드립니다.

오늘도 좋은 하루 되세요!

감사합니다.

클릭 클릭 공감 클릭~~





반응형

'엑셀 > 엑셀 함수' 카테고리의 다른 글

엑셀 IF 함수  (0) 2018.12.17
엑셀 OR 함수  (0) 2018.08.07
엑셀 AND 함수  (0) 2018.08.03