구글 크롬 브라우져의 단축키가 있다.

https://support.google.com/chrome/answer/157179?hl=ko



유용한 단축키를 소개한다면.. 다음과 같다.


검색주소창으로 이동⌘ + L
개발자 도구 열기⌘ + Option + I


페이지의 모든 항목 확대 및 +
페이지의 모든 항목 축소 및 -



새 탭을 열어 이동⌘ + T


새 창 열기⌘ + N



마지막으로 닫은 탭 다시 열어 이동⌘ + Shift + T
다음에 연 탭으로 이동⌘ + Option + 오른쪽 화살표
이전에 연 탭으로 이동⌘ + Option + 왼쪽 화살표






이 것 외에도 구글 검색시 단축키를 사용할 수 있다.


구글 검색 후, 

j (또는 아래 키): 검색 결과 아래로 이동

k (또는 위 키) : 검색 결과 위로 이동

/  : 검색 창 

command + return : 검색 내용으로 새 창 띄우기



Posted by '김용환'
,



ivy 기반 빌드 프로젝트는 ~/.ivy 디렉토리를 사용한다. 

예를 들어, play1 framework는 ~/.ivy/cache 디렉토리에 저장된 의존 lib가 저장된다. 


예를 들어, org.apache.httpcomponents.httpcore는 아래와 같이 저장된다.

~/.ivy2/cache/org.apache.httpcomponents/httpcore


$ ls

ivy-4.2.4.xml            ivy-4.3.3.xml.original   ivy-4.4.4.xml            ivydata-4.3.3.properties jars

ivy-4.2.4.xml.original   ivy-4.4.1.xml            ivy-4.4.4.xml.original   ivydata-4.4.1.properties sources

ivy-4.3.3.xml            ivy-4.4.1.xml.original   ivydata-4.2.4.properties ivydata-4.4.4.properties



디렉토리에는 버전 별 xml 파일, xml.original 파일, jars, sources가 있다.


xml.original 파일은 pom 다음과 같다. 


$ cat ivy-4.4.4.xml.original


<?xml version="1.0" encoding="UTF-8"?>

<!--

   ====================================================================

   Licensed to the Apache Software Foundation (ASF) under one

   or more contributor license agreements.  See the NOTICE file

   distributed with this work for additional information

   regarding copyright ownership.  The ASF licenses this file

   to you under the Apache License, Version 2.0 (the

   "License"); you may not use this file except in compliance

   with the License.  You may obtain a copy of the License at


     http://www.apache.org/licenses/LICENSE-2.0


   Unless required by applicable law or agreed to in writing,

   software distributed under the License is distributed on an

   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

   KIND, either express or implied.  See the License for the

   specific language governing permissions and limitations

   under the License.

   ====================================================================


   This software consists of voluntary contributions made by many

   individuals on behalf of the Apache Software Foundation.  For more

   information on the Apache Software Foundation, please see

   <http://www.apache.org />.

 --><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>org.apache.httpcomponents</groupId>

    <artifactId>httpcomponents-core</artifactId>

    <version>4.4.4</version>

  </parent>

  <artifactId>httpcore</artifactId>

  <name>Apache HttpCore</name>

  <inceptionYear>2005</inceptionYear>

  <description>

   Apache HttpComponents Core (blocking I/O)

  </description>

  <url>http://hc.apache.org/httpcomponents-core-ga</url>

  <packaging>jar</packaging>

...




ivy는 ivy 기반의 xml로 변경한다.


$ cat ivy-4.4.4.xml

<?xml version="1.0" encoding="UTF-8"?>

<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">

<info organisation="org.apache.httpcomponents"

module="httpcore"

revision="4.4.4"

status="release"

publication="20151027021814"

>

<description homepage="http://hc.apache.org/httpcomponents-core-ga">

Apache HttpComponents Core (blocking I/O)

</description>

<m:properties__api.comparison.version>4.4</m:properties__a

...


메타정보는 properties에 정의된다.


$ cat ivydata-4.4.4.properties

#ivy cached data file for org.apache.httpcomponents#httpcore;4.4.4

#Mon Jun 13 22:10:57 KST 2016

artifact\:httpcore\#pom.original\#pom\#-401045955.exists=true

artifact\:httpcore\#jar\#jar\#-2053608617.original=artifact\:httpcore\#jar\#jar\#-2053608617

artifact\:httpcore\#pom.original\#pom\#-401045955.original=artifact\:httpcore\#pom.original\#pom\#-401045955

artifact\:ivy\#ivy\#xml\#-726796163.location=https\://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.pom

artifact\:httpcore\#pom.original\#pom\#-401045955.is-local=false

resolver=mavenCentral

artifact\:ivy\#ivy\#xml\#-726796163.exists=true

artifact\:httpcore\#pom.original\#pom\#-401045955.location=https\://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.pom

artifact\:httpcore\#jar\#jar\#-2053608617.location=https\://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar

artifact\:ivy\#ivy\#xml\#-726796163.is-local=false

artifact\:httpcore\#source\#jar\#-410049307.original=artifact\:httpcore\#source\#jar\#-410049307

artifact\:httpcore\#jar\#jar\#-2053608617.exists=true

artifact\:httpcore\#jar\#jar\#-2053608617.is-local=false

artifact\:ivy\#ivy\#xml\#-726796163.original=artifact\:httpcore\#pom.original\#pom\#-401045955

artifact\:httpcore\#source\#jar\#-410049307.exists=true

artifact\:httpcore\#source\#jar\#-410049307.is-local=false

artifact.resolver=mavenCentral

artifact\:httpcore\#source\#jar\#-410049307.location=https\://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4-sources.ja



만약 ivy 컴파일일 실패하면, jars에 jar가 있는지. properties,xml, xml.original 파일이 존재하는지 확인해본다.


참고

ivy 파일 이슈를 해결해도

컴파일 안되면, maven repository 이슈이다.



참고

https://theholyjava.wordpress.com/2011/01/26/using-ivy-with-pom-xml/

Posted by '김용환'
,


gradle 빌드 성능을 높일 수 있다.


org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.workers.max=3
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xms128m -Xmx248m


* org.gradle.daemon : 빌드 데몬 떠있도록 설정

* org.gradle.parllel : 병렬 쓰레드 동작

* org.gradle.workers.max : 병렬 쓰레드 개수 제한

* org.gradle.configureondemand : 멀티 프로젝트 모드에서 필요한 부분(on demand)만 컴파일

* org.gradle.jvmargs : 컴파일시 jvm 매개변수 전달 (메모리..)





제일 중요한 것은 gradle 버전업만 해도 성능이 좋아진다. 최근에 출시된 2.13 버전부터 많이 좋아졌다.




참고

https://docs.gradle.org/current/userguide/build_environment.html


http://gradle.org/blog/performance-is-a-feature/


Posted by '김용환'
,






gradle(2.6)에서 maven publish를 사용할 수 있다. (2.6부터 좋아졌다고 해서 2.6 쓰는 중)

출처 :

https://docs.gradle.org/current/userguide/publishing_maven.html




다음 코드를 build.gradle 파일 추가

apply plugin: 'maven-publish'

group = 'com.google.place'
version = '0.1.0-SNAPSHOT'

publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
publishing {
repositories {
maven {
credentials {
username "google"
password "samuel"
}
url "http://artifactory.iwilab.com:8088/artifactory/libs-snapshot-local/"
}

}
}


maven url 로 퍼블리싱하려면 다음 명령어를 이용한다.


$ gradle publish



local repository에 퍼블리싱하려면 다음 명령어를 이용한다.


$  gradle publishToMavenLocal



* 문제가 생기면 debug나 stacktrace 옵션을 추가해서 확인할 수 있다.


gradle publish --debug

gradle publish --stacktrace




Posted by '김용환'
,


intellij idea에서 build.gradle 파일 수정시 자동 변경하게 하려면 auto-import를 check on한다. 



Posted by '김용환'
,




http://gradle.org/gradle-download/ 에서 최신 버전 2.6 선택하고 다운로드한다.


압푹 풀면 gradle-2.6 디렉토리를 path에 등록한다.


$ vi ~/.bash_profile


export GRADLE_HOME=/mydev/util/gradle-2.6

export PATH=$PATH:$GRADLE_HOME/bin


다시 설정을 읽는다.

$ source ~/.bash_profile



gradle이 정상적으로 실행되는지 확인한다.


$ gradle -v


------------------------------------------------------------

Gradle 2.5

------------------------------------------------------------


Build time:   2015-07-08 07:38:37 UTC

Build number: none

Revision:     093765bccd3ee722ed5310583e5ed140688a8c2b


Groovy:       2.3.10

Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013

JVM:          1.8.0_40 (Oracle Corporation 25.40-b25)

OS:           Mac OS X 10.9.4 x86_64



Spring 자바 프로젝트 하나 설정한다.






자바 프로젝트 홈 디렉토리에 접근하고, gradlew를 생성한다.

$ gradle wrapper --gradle-version 2.6


:wrapper


BUILD SUCCESSFUL


Total time: 3.996 secs


This build could be faster, please consider using the Gradle Daemon: http://gradle.org/docs/2.5/userguide/gradle_daemon.html



빌드를 진행한다.


$ ./gradlew build




idea 설정 파일을 생성한다. 

$ ./gradlew idea 



Posted by '김용환'
,

adb 사용 방법

Tool 2015. 8. 18. 08:18


adb로 android 기기 접속 및 기기 확인


$ adb connect ip-주소

connected


$ adb devices

List of devices attached

192.168.219.152:5555 device




adb로 device 연결 해지


$ adb disconnect 




adb로 android shell로 이동


$ adb shell 





기기에 설치된 패키지 목록 읽기 및 삭제

삭제할 때 사용되는 키는 apk 명 뒤에 붙은 이름이 따로 있다. 해당 이름으로 사용한다.

$ adb shell 'pm list packages -f'

package:/data/app/eu.chainfire.stickmount-1.apk=eu.chainfire.stickmount

....


$ adb uninstall eu.chainfire.stickmount




기기에 안드로이드 앱 다운로드 하기


$ adb install  eu.chainfire.stickmount




로컬 파일을 안드로이드 기기로  복사 및 확인


$ adb push rotatelogs.c sdcard/

242 KB/s (12435 bytes in 0.050s)


$ adb shell 'ls -al /sdcard/rotatelogs.c'

-rw-rw-r-- root     sdcard_rw    12435 2014-08-29 11:11 rotatelogs.c





안드로이기 기기에서 로컬 디렉토리로 복사 및 확인


$ adb pull /sdcard/amazon.sdktester.json .

61 KB/s (1722 bytes in 0.027s)


$ cat amazon.sdktester.json

...




adb reboot를 바로 시작한다. 


$ adb reboot




adb를 이용한 파일/디렉토리 관리 명령 (조회, 삭제, 권한 생성)


$ adb shell 'ls -al /sdcard/'


$ adb shell 'rm /sdcard/rotatelogs.c'


$ adb shell 'mkdir /sdcard/tmp'


$ adb shell 'rm -rf /sdcard/tmp'


$ adb shell 'mkdir /sdcard/x1'





amazon fire tv의 /proc 파일 살펴보기


root@android:/ # cat /proc/version

Linux version 3.4.0-perf-g4c8a266 (e-scm@ip-10-225-169-130) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Jul 8 19:03:32 PDT 2015

root@android:/ # cat /proc/cpuinfo

Processor : ARMv7 Processor rev 0 (v7l)

processor : 0

BogoMIPS : 13.53


processor : 1

BogoMIPS : 13.53


processor : 2

BogoMIPS : 13.53


processor : 3

BogoMIPS : 13.53


Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt

CPU implementer : 0x51

CPU architecture: 7

CPU variant : 0x1

CPU part : 0x06f

CPU revision : 0


Hardware : LAB126 BUELLER

Revision : 0003

Serial : 0000000000000000

root@android:/ # cat /proc/meminfo

MemTotal:        1993512 kB

MemFree:          555700 kB

Buffers:           34484 kB

Cached:           726712 kB

SwapCached:            0 kB

Active:           466156 kB

Inactive:         691884 kB

Active(anon):     396864 kB

Inactive(anon):      416 kB

Active(file):      69292 kB

Inactive(file):   691468 kB

Unevictable:           0 kB

Mlocked:               0 kB

HighTotal:       1295356 kB

HighFree:          42708 kB

LowTotal:         698156 kB

LowFree:          512992 kB

SwapTotal:             0 kB

SwapFree:              0 kB

Dirty:                 8 kB

Writeback:             0 kB

AnonPages:        396848 kB

Mapped:           153596 kB

Shmem:               456 kB

Slab:              43624 kB

SReclaimable:      17784 kB

SUnreclaim:        25840 kB

KernelStack:       10400 kB

PageTables:        24480 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:      996756 kB

Committed_AS:    8870748 kB

VmallocTotal:     245760 kB

VmallocUsed:       86240 kB

VmallocChunk:      37892 kB

root@android:/ # cat /proc/devices

Character devices:

  1 mem

  4 /dev/vc/0

  4 tty

  5 /dev/tty

  5 /dev/console

  5 /dev/ptmx

  7 vcs

 10 misc

 13 input

 21 sg

 29 fb

 81 video4linux

 86 ch

 89 i2c

116 alsa

128 ptm

136 pts

166 ttyACM

180 usb

188 ttyUSB

189 usb_device

216 rfcomm

235 adsprpc-smd

236 ttyGS

237 avtimer

238 user-rc-input

239 BaseRemoteCtl

240 qseecom

241 kgsl

242 dia

243 msm_rotator

244 ttyHSL

245 ttyHS

246 msm_vidc_enc

247 msm_vidc_dec

248 msm_vidc_reg

249 bsg

250 smdpkt

251 smd

252 media

253 rtc

254 msm_sps


Block devices:

  1 ramdisk

259 blkext

  7 loop

  8 sd

 65 sd

 66 sd

 67 sd

 68 sd

 69 sd

 70 sd

 71 sd

128 sd

129 sd

130 sd

131 sd

132 sd

133 sd

134 sd

135 sd

179 mmc

254 device-mapper

root@android:/ # cat /proc/filesystems

nodev sysfs

nodev rootfs

nodev bdev

nodev proc

nodev cgroup

nodev tmpfs

nodev debugfs

nodev sockfs

nodev pipefs

nodev anon_inodefs

nodev rpc_pipefs

nodev devpts

ext3

ext2

ext4

squashfs

nodev ramfs

vfat

nodev nfs

nodev nfs4

nodev cifs

fuseblk

nodev fuse

nodev fusectl

nodev oprofilefs

root@android:/ # cat /proc/partitions

major minor  #blocks  name


   7        0      80680 loop0

 179        0    7634944 mmcblk0

 179        1       8192 mmcblk0p1

 179        2       8192 mmcblk0p2

 179        3      16384 mmcblk0p3

 179        4        128 mmcblk0p4

 179        5        256 mmcblk0p5

 179        6        512 mmcblk0p6

 179        7        512 mmcblk0p7

 179        8        512 mmcblk0p8

 179        9       1024 mmcblk0p9

 179       10      10240 mmcblk0p10

 179       11      10240 mmcblk0p11

 179       12      32768 mmcblk0p12

 179       13       1280 mmcblk0p13

 179       14       2752 mmcblk0p14

 179       15       6144 mmcblk0p15

 179       16          8 mmcblk0p16

 179       17       1024 mmcblk0p17

 179       18     786432 mmcblk0p18

 179       19     786432 mmcblk0p19

 179       20    5961878 mmcblk0p20

 179       64       4096 mmcblk0boot1

 179       32       4096 mmcblk0boot0

root@android:/ # cat /proc/uptime

455.07 851.96

root@android:/ # cat /proc/stat

cpu  15123 2109 8391 84748 21297 1 49 0 0 0

cpu0 5613 933 3758 14937 20100 1 40 0 0 0

cpu1 7520 654 3667 32636 1130 0 5 0 0 0

cpu2 973 297 562 18485 44 0 1 0 0 0

cpu3 1017 225 404 18690 23 0 3 0 0 0

intr 528300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 143908 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 0 0 2685 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51711 0 0 0 13 14099 0 0 0 0 0 0 0 0 0 82 0 0 0 0 0 0 0 15318 0 0 0 0 0 47946 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1364 0 1364 1115 0 0 7 0 0 0 0 0 0 0 0 0 0 0 812 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4751 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ctxt 1489485

btime 1439852675

processes 4498



프로세스 정보 및 쓰레드 정보 보기


# ps -p


# ps -p -t



통신 상태 확인하기


# netstat




시스템 로그 및 안드로이드 로그 확인하기


# dmesg 


# logcat 




기타 정보 확인

http://developer.android.com/tools/help/adb.html






Posted by '김용환'
,



* 루팅

adb 설치(http://www.aftvnews.com/how-to-setup-adb-and-fastboot-on-a-mac-or-windows-computer/#toc2) 후, 커널 패치 없이 단순히 supersu (http://supersu.kr.uptodown.com/android)을 실행시키니 루팅 완료했다.


* 외장 하드 인식

stickMount 앱(https://play.google.com/store/apps/details?id=eu.chainfire.stickmount&hl=ko)을 아마존 TV에 설치하면 외장하드를 인식한다.


* 4G 이상 파일 다루기

paragon for ntfs (https://play.google.com/store/apps/details?id=com.paragon.mounter&hl=ko) 앱을 아마존 TV에 설치하면 NTFS 파일 시스템을 인식한다. (exfat과 맥저널링을 인식못함)

외장하드를 NTFS로 포맷, 윈도우에서 바로 사용 또는 mac에서는 ftp로 대용량 복사하는 구조로 가는 방법을 선택했다.






'Tool' 카테고리의 다른 글

java 프로젝트 gradle 2.6 설치 및 설정  (0) 2015.08.28
adb 사용 방법  (0) 2015.08.18
Amazon Fire TV에서 FiredTV Launcher 고정하기  (0) 2015.08.17
Github Commit 메시지에 이모지 사용  (0) 2015.08.06
nike+ fuelband 자료  (0) 2015.03.29
Posted by '김용환'
,


루팅 없이 Amazon Fire TV를 잘 활용하기 위한 팁이다.





1. adb 설치 (http://nubiz.tistory.com/524)

2. adb로 FiredTV 설치 (https://github.com/Redth/FiredTVLauncher)

3. Settings -> Application -> Manged installed application -> FiredTV 실행 

4. 리모콘의 홈버튼 우측 버튼(리스트)을 선택하면 Fired TV 설정 메뉴가 실행

Disable Home Button Detection을 check off 하면 Fired TV가 실행된다. (완벽하지는 않지만, 루팅없이 쉽게 가능)


Posted by '김용환'
,



github 커밋 메시지에 emoji를 넣을 수 있다.


github 외에 이모지를 쓸 수 있는 싸이트가 Slack, trello 외 많이 있다. (지인의 말로는 gem 방식의 설치로 인해서 Ruby 솔루션이면 가능하다고 한다.)

:+1: 또는 :arrorw_up: 과 같이 커밋 메시지를 넣어주면 가능하다.

이를 통해서 얻을 수 있는 이득은 정책적인 부분이다.

atom의 경우는 commit 메시지에 이모지를 넣어서 쉽게 어떤 용도로 커밋했는지, 태깅으로 검색하기 위해 이모지를 쓰는 정책을 쓰고 있다.


https://atom.io/docs/v0.186.0/contributing#git-commit-messages



예를 들어, 버그 패치을 때는 :bug: 이모지를 넣어서 처리하고, maven dependency 버전 업 수정시는 :arrow_up:을 사용하는 정책을 쓰고 있다. 

참고로, 현재 SourceTree 20.x 맥 버전(윈도우는 지원)에는 아직 이모지를 제공하지 않고 있다.


1. 이모지 cheat sheet 
http://www.emoji-cheat-sheet.com/

2. 이모지 사용 가능 싸이트 


3. 해커스 뉴스 반응 글


Posted by '김용환'
,