Intellij에서 sbt run을 실행하다가 다음과 같은 에러를 만났다. 

잘 동작하다가 에러가 발생한 것이다.


Unexpected exception[BootException:ID: compiler-interface-bin_2.12....



indexing 또는 caching 이슈이기 때문에 삭제 후 메뉴에서 다음 메뉴를 클릭하고 재시작하면 된다.


File  |  Invalidate Caches / Restart | Just Restart



Posted by '김용환'
,

* iterm2에서 소리 안나게 하는 방법


Preferences -> Profiles -> Terminal tab -> Check "Silence bell"



Posted by '김용환'
,



rsa 키가 아니라 .netrc를 사용하더라도  github의 아이디와 패스워드 없이 접근할 수 있다. 



$ cat .netrc

machine github.com

login x11



암호화되지 않는 형태도 지원한다. 


$ cat .netrc

machine github.com

login daniel

password qwerty




참조 

https://ec.haxx.se/usingcurl-netrc.html

https://gist.github.com/technoweenie/1072829

http://shoken.hatenablog.com/entry/20120629/p1

http://qiita.com/azusanakano/items/8dc1d7e384b00239d4d9

Posted by '김용환'
,



마크업으로 presentation을 생성할 수 있다.


 github를 사용하는 프로젝트에서는 간단히 문서화를 할 수 있다. 


https://www.decksetapp.com/features/

Posted by '김용환'
,


터미널에서 이미지의 width와 height 얻는 툴은 github에 많다.


https://github.com/scardine/image_size


git clone하고 사용하면 끝이다.


사용법은 너무 간단하다.


$ python get_image_size.py  img.jpg

750 500 27453 JPEG img.jpg

Posted by '김용환'
,




맥북에서 크롬캐스트2(TV)로 동기화하기


간단한 앱으로는 airflow 라는 앱이 있다. 개발이 중단된 것 같다. 음성 조절은 안드로이드폰에서 되는 단점이 있다.

1080p는 좀 버벅거린다.

http://airflowapp.com/



크롬 웹 스토어에 크롬 캐스트 앱이 있는데, 1080p 비디오가 버벅거리지 않고 소리 조절도 편하게 된다.

광고가 나온다는 단점이 있고 유료화에 대한 이슈가 있다.

https://chrome.google.com/webstore/search/videostream%20for%20google%20chromecast?utm_source=chrome-ntp-icon







Posted by '김용환'
,

java의 Exception 에러에 대한 로그 저장과 뷰어를 sentry로 사용할 수 있다. 


sentry(8.10)를 설치했다고 가정하고 설정을 설명한다.



순서는 다음과 같다. 



프로젝트를 선택한다.




새로운 프로젝트 이름을 설정한다.




자바를 선택한다.




자바를 선택하면 다음 UI 가 나온다.




클라이언트 키를 확인한다.



maven 설정은 다음과 같다.


<dependency>

    <groupId>com.getsentry.raven</groupId>

    <artifactId>raven-logback</artifactId>

    <version>8.0.3</version>

</dependency>




클라이언트 키를 logback 설정에 포함시켜 추가한다.



<appender name="sentry" class="net.kencochrane.raven.logback.SentryAppender">

<dsn>https://e072b04d1c164d679e4affcabd5578e7:457b1f1de79c41dfab59db7deb2d66e1@sentry.google.com/594?raven.timeout=300&amp;raven.async.queuesize=100</dsn>

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">

<level>WARN</level>

</filter>

</appender>

<root level="INFO">

<appender-ref ref="rolling"/>

<appender-ref ref="sentry"/>

</root>


Posted by '김용환'
,


github에서 scala + gradle 조합을 찾다가 찾은 좋은 팁이다. 


https://discuss.gradle.org/t/idea-integration-with-scala-plugin-broken-since-gradle-3-0-no-such-property-daemonserver/19159/2


// Workaround for Gradle 3.+ and IDEA ()


// Workaround for Gradle 3.+ and IDEA (https://discuss.gradle.org/t/idea-integration-with-scala-plugin-broken-since-gradle-3-0-no-such-property-daemonserver/19159/2)
ScalaCompileOptions.metaClass.daemonServer = true
ScalaCompileOptions.metaClass.fork = true
ScalaCompileOptions.metaClass.useAnt = false
ScalaCompileOptions.metaClass.useCompileDaemon = false


Posted by '김용환'
,


git clone할 때, yes/no 질문을 물어보지 않도록 설정할 수 있다. 



$ git clone http://github.com/afasdfas

Are you sure you want to continue connecting (yes/no)?


 ~/.ssh/config에 다음 내용을 추가한다. ansible이나 capistano에서 적절히 스크립트로 만든다.


Host github.com

     StrictHostKeyChecking no



그리고 다시 git clone하면 잘 동작한다.


$ git clone http://github.com/afasdfas

....




Posted by '김용환'
,



오랜 시간동안 사용 중인 git 프로젝트에는 정리하지 않은 branch(hotfix, feature, branch)이 존재한다. 


이를 삭제하려면 2개의 과정이 필요하다.




1) 로컬 내부 저장소 깨끗이 정리하기


바로 삭제하려면, 아래와 같이 에러가 발생할 수 있다. 

error: unable to delete 'aaa' remote ref does not exist

error: failed to push some refs to 'aa'



$ git fetch -p origin



2) 리모트 저장소 저장하기


hotfix 만 삭제하고 싶다면, 다음과 같이 실행한다. 


$ git branch -r | grep hotfix | cut -d"/" -f2-  | xargs git push origin --delete



만약 다른 feature도 함께 삭제하고 싶다면, 다음과 같이 실행한다. 


$ git branch -r | grep -E '(feature,hotfix)' | cut -d"/" -f2-  | xargs git push origin --delete


Posted by '김용환'
,