mac 설치 후 셋팅해야 할 내용 정리

terminal theme 설정
쉘에서 vim .bash_profile 입력
export CLICOLOR=1
export LSCOLORS=Exfxcxdxbxegedabagacad
쉘에서 source .bash_profile 입력

필수 프로그램

iTerm2https://www.iterm2.com테마 설치 : https://draculatheme.com/iterm/Kekahttp://www.kekaosx.com/en/반디집https://www.bandisoft.co.kr/bandizip/x/Clipyhttps://clipy-app.comWindows TidyForkLifeAlfredBrewPython

actto cosy 싸구려 주변기기들

절대 사지 말아야 할 싸구려 제품

apk expansion 적용기

간단한 앱을 만들때는 용량이 크지 않지만 미디어 파일이 많이 내장된 게임 또는 멀티미디어 앱을 개발하면 100MB는 금새 초과한다. apk가 100MB 이상을 빌드하여 바로 구글 플레이에 업로드 할 수 있다면 편하겠지만 구글은 100MB 이상의 파일을 업로드 하기 위해서는 apk expansion 방식을 이용하여야 한다.

사용법은 아래 구글 사이트에 방문하면 자세히 나와있다.
https://developer.android.com/google/play/expansion-files.html

문서를 보고 이해하려면 파악에 많은 시간이 소요된다.
맨땅에 해딩하면서 알게된 지식이 몇년 지나면 리셋 될 수 있어 일기처럼 적용기를 기록한다.(현 기록 시점도 적용 후 약 8개월 만에 작성하고 있다.)


업로드 방법구글 플레이에 apk를 등록하고 난 후 바로 obb를 추가로 등록한다.
다운로드 방식구글 플레이에서 앱 다운로드시 대부분 apk 와 obb가 동시에 다운로드 된다.하지만 간혹 apk만 다운로드 되고 obb는 다운로드 되지 않는 케이스도 있다.이때는 수동으로 다운로드를 진행하여야 한다.(직접 다운로드 구현)
외장 장치 권한구글 플레이에서 앱 다운로드시 apk와 obb가 함께 설치된다면 외장 장치 권한은 필요 없다.하지만 apk만 다운로드 되고 obb가 다운로드 되지 않았다면 이야기는 틀려진다.obb를 외장 장치에 다운로드 하기 위해 외장 접근 권한이 필요하다.다운로드 받는 주체가 구글 플레이가 아닌 앱이기 때문이다.마시멜로 이상의 운영체제에서는 외장 장치 쓰기 퍼미션 체크를 먼저 하고 퍼미션 권한이 없으면 퍼미션 권한을 선 득 한 후 다운로드를 진행하여야 한다.외장 장치 쓰기 퍼미션은 민감한 권한으로 구글에서 별도의 약관을 고지하지 않으면 앱을 약관 위반으로 경고 메일이 온다.

파일 용도main : 주 기능patch : 패치 기능

파일 명명 규칙main.[버전코드].[패키지이름].obbex) main.165.com.coolsharp.whitenoisepro.obb
최대 용량ap…

안드로이드 스튜디오 레이아웃 프리뷰에서 한글 깨짐 개선 방법

윈도우 기준

Android Studio\plugins\android\lib\layoutlib\data\fonts\fonts.xml
파일 열기

아래와 같이 내용 추가함

    <family lang="ko">
        <font weight="400" style="normal" index="1">NotoSansCJK-Regular.ttc</font>
    </family>
    <family lang="und-Zsye">
        <font weight="400" style="normal">NotoColorEmoji.ttf</font>
    </family>
    <family lang="ko">
        <font weight="400" style="normal" index="1">NanumGothic.ttf</font>
    </family>

장고 서버 학습 메모

파이썬 학습을 위한 메모들

장고 서버 백그라운드 실행하기
nohup ./manage.py runserver 10.102.30.100:8000 &

백그라운드 서버 프로세스 찾기
ps -ef | grep ./manage.py
백그라운드 서버 프로세스 죽이기
kill -9 프로세스 id

git 충돌 났을 때 돌리기
git reset --hard HEAD

1. python 설치 후 시스템 path 등록

2. pip 설치
https://pip.pypa.io/en/stable/installing/
get-pip.py 다운로드

python get-pip.py 실행

3. 가상 환경 분리
python -m pip install virtualenv
python -m virtualenv web

(윈도우에서 설치하였으면 path에 경로 추가)
4. 장고 설치
python -m pip install django

5. 리눅스에서 시작시 자동 실행 등록
sudo vi /etc/rc.local
/[경로]/manage.py runserver 10.102.30.100:8000
추가

안드로이드 람다 적용하기

이미지
안드로이드 람다 적용하기안드로이드에서 람다를 적용하는 방법을 정리한다. 현대의 컴파일러는 충분히 똑똑해졌다.
문장의 종결인 세미콜론(;)도 필요 없어 지고 심플한 코드를 작성하여 가독성이 더 좋은 코드를 작성할 수 있게 되었다.
자바는 타 언어에 비해 세련되지 못한듯 하지만 버전 업이 되면서 문법의 빈약함을 차츰 보완해 내는 듯 한다.
자바 8부터 람다라는 코드 규칙을 지원한다. 람다가 무엇인지 또 어떤 장점이 있는지 요약 한 후 안드로이드에 적용하는 방법을 기술하고자 한다.

람다에 대해 잘 설명한 글이 있어 링크를 첨부한다.
http://www.hanbit.co.kr/network/view.html?bi_id=1961

글에서 람다를 사용하는 이유의 핵심은 아래와 같다.
비즈니스 로직 하나를 위해 틀에 박힌 코드와 의미 없는 구현을 하게 만드는 것이다. 코드를 작성하다보면 러시아 인형인 마트료시카같은 느낌이 들 때가 있다.
특정 비즈니스 로직을 한 줄 추가하기 위해 코드 블럭을 작성하고 그 내부 블럭을 다시 작성하여 모든 껍데기가 완성되면 비로서 비즈니스 로직 한 줄을 추가하여 코드를 완성한다.
별 의미도 없는 틀에 박힌 코드를 작성하고 정작 필요한 코드는 1줄로 끝날때 그 허무함을 달래줄 수 있는 대안이 람다이다.
전체적인 코드의 불필요한 분량을 효율적으로 줄여 가독성을 대폭 향상 시켜줄 수 있는 대안 또한 람다이다.
안드로이드에서 사용하기 위해서는 Gradle Plugin을 설정해야 한다.
https://github.com/evant/gradle-retrolambda
build.gradle 파일에 다음과 같이 추가한다.
buildscript { repositories { mavenCentral() } dependencies { classpath 'me.tatarka:gradle-retrolambda:3.2.5' } } // Required because retrolambda is on maven centra…

nProtect 깔기 싫다...

너 없이 은행 거래 하고 싶다.