Git 커밋 메시지 작성법 포스팅을 읽고

이미지
주위사람들이 괜찮은 글이라면서 추천해준 포스팅이 있는데 몇가지 적용시키면 괜찮을것같은 내용이 있어서 남겨놓는다. 원본글은 https://item4.github.io/2016-11-01/How-to-Write-a-Git-Commit-Message/ 이다. git의 commit message가 왜 중요한지는 다들 알고있을꺼라 생각한다. 해당 링크에서는 commit message가 왜 중요한지를 요약해서 설명하니 한번쯤 읽어보고 공감해보는것도 좋을것같다.  본 내용에 들어가면 훌륭한 commit message를 작성하는 7가지 방법을 설명하는데 다음과 같다. 1. 제목과 본문을 빈 행으로 분리한다 2. 제목 행을 50자로 제한한다 3. 제목 행 첫 글자는 대문자로 쓴다 4. 제목 행 끝에 마침표를 넣지 않는다 5. 제목 행에 명령문을 사용한다 6. 본문을 72자 단위로 개행한다 7. 어떻게 보다는 무엇과 왜를 설명한다 우선 나는 git IDE를 사용한다. 주로 Sourcetree를 쓰고 요즘엔 gitkraken로 갈아타려고 한다. 그리고 대부분 그렇겠지만 github를 이용한다. 그럼 위의 7가지를 하나씩 살펴보자 1. 첫번째로 제목과 본문을 빈 행으로 분리한다.  링크에서는 여러가지 git 명령어를 통해 제목만 볼 수 있기때문이 가장 큰것같다. 내가 생각하는 제목과 본문을 나누는 이유는 github에 있는데, 아래의 이미지를 보면 제목만 나와있고 본문을 보려면 우측에 `...` 을 클릭해야 볼 수 있다.  이와같이 제목과 본문을 빈 행으로 구분해주면 github에서 쉽게 본문과 제목을 나눠서 볼 수 있기 때문에 나는 본문과 제목을 빈 행으로 분리시킨다. 사실 이런걸 의식해서 나누지는 않았었는데 sourcetree나 gitkraken을 사용하면 자동으로 적용되는 내용이다.  gitkraken 에서 커밋로그를 작성하는 창 2.

let과 const의 차이

let과 const 키워드에 대해서 자세하게 공부해보자.  let과 const는 다른 언어들과의 차이를 줄여주고 block-scope 변수와 상수를 정의하는 방법을 제공한다. let ECMAScript 5 이후에, 자바스크립트는 function scope와 global scope 두가지타입의 scope가 있었다. 이것은 많은 불안감과 예상치 못한 상황이 발생할 가능성이 존재했었다. 이유는 바로 자바스크립트의 block scope 의 부재때문인데, 이는 접근 가능성과 변수의 생명주기, block에서의 정의에 영향을 미친다. block은 괄호 안에서 모든것이 존재한다. function foo ( ) { var par = 1 ; if ( par >= 0 ) { var bar = 2 ; console . log ( par ) ; // prints 1 console . log ( bar ) ; // prints 2 } console . log ( par ) ; // prints 1 console . log ( bar ) ; // prints 2 } foo ( ) ; 코드를 실행시키면 다음과 같은 결과를 얻을 수 있다. 1 2 1 2 대부분의 개발자들이 다른 언어들에 미루어 보았을 때, if block 밖에서 bar에 접근할 수 없다고 생각한다. 예시에서 C언어였다면 if문 밖에 있는 bar는 undeclared at line ... 과 같은 에러를 발생 시켰을 것이다. ECMAScript 6에서는 block scope를 이용할 수 있다. ECMA의 관계자들은 개발자들이 var 키워드를 버리지 못할거라고 생각했다. 그래서 let이라는 키워드를 만들게 되었다. let을 통해 block scope를 이용할 수 있게 되었다. 추가적으로 var 와 다르게 let 은 hoisted 되지 않는다. 만약 let을 통해 선언하기 이전에 참조한다면

Android Studio Monitor에서 내 애플리케이션의 패키지명이 나오지 않는 경우

어느순간부터 지금 개발중인 애플리케이션의 패키지명이 Android Monitor창에서 보이지 않게 되었다. 갑자기 왜그런지 몰라서 어리둥절 하고 있다가 깨닫게 되었다. build.gradle 파일에 보면 다음과 같은 코드들이 있는것을 확인할 수 있다. [build.gradle source] 여기서 buildTypes 부분에 각 빌드타입별로 속성을 지정할 수 있는데 debuggable 속석을 false를 지정하였었다. debuggable속성이 false일 경우 디버깅이 불가능해지며 Android Studio의 Monitor에서도 확인이 불가능하다. 왜 이 속성이 부여되었는지 로그를 따라가보았는데 apk파일을 스토어에 등록하기 위해선 당연하지만 디버깅 모드를 꺼야한다. 만약 디버깅을 허용한 체로 apk파일을 생성하고 등록하면 디버깅 모드를 꺼달라는 메세지를 받을 수 있을것이다. 올바른 해결 방법은 buildTypes를 debug와 release 모드로 나누고, debug모드에선 디버깅을 허용하고, release모드엔선 디버깅을 불허하면 된다.  굉장히 간단한 해결방법임에도 그냥 쓰고있었다ㅠㅠㅠ

PlayStore에서 앱이 내려가는 경우

8시간 전에 메일이 왔는데 플레이스토어에 올려둔 앱이 삭제되었다는 내용이였다.... 갑작스럽게 받자마자 내려가있다는게 좀 말이 안되는데... 진짜 이게 맞는건지 확인해봐야겠다ㅠ 우선 이렇게 앱이 내려가는 경우에 대해서 좀 알아둘 필요가 있을것같다. 이번에 내가 내려가게 된 이유는 아이콘의 크기이다ㅠ 1. 아이콘 크기 아이콘의 크기는 최대 2048*2048 을 초과해서는 안된다. 확인결과 앱 아이콘의 크기가 2배가 넘는 아이콘을 사용하고 있었다. ``` 앱을 검토한 결과, 앱이  기기 및 네트워크 남용  정책에 위배되는 것으로 확인되어 Google Play에서 삭제되었습니다. 앱 런처 아이콘의 크기가 커서 일부 사용자 기기의 성능에 부정적인 영향을 끼칩니다. ``` 아래는 해결 방법으로 날아온 메일의 일부이다. 앱이 정책을 준수하도록 앱 아이콘을 변경합니다. 앱 런처 아이콘의 크기는 2048x2048을 초과해서는 안 됩니다. 기기 및 네트워크 남용  정책을 읽고 자세한 내용을 확인한 다음, 앱이  개발자 프로그램 정책 에 명시된 모든 정책에 부합하는지 확인합니다. Play Console에 로그인 하고 정책을 준수하는 업데이트를 제출합니다. 현재는 수정해서 다시 올린 상황이다ㅠ 앞으로 앱이 내려가는 경우에 하나하나 추가해야겠다.

[BUCKET LIST #3] 헌혈 100회 (2/100)

이미지
헌혈한지 2달이 지나서 문자가 왔다. 이렇게 친절하게 알려주니 까먹지 않고 갈 수 있어서 좋았다... 그렇게 다시 역곡 헌혈카페에 가게 되었는데 평일 오후라서 그런지 사람이 생각보다 없었다. 다행히 기다리지 않고 바로 검사받고 헌혈을 할 수 있었다.. 근데 지난달에는 이벤트를 해서 선물을 2개나 줬었는데 이번엔 1개만 주었다. 2개를 받다가 1개를 받으려니 뭔가 덜받은 느낌ㅠㅠㅠ 그래도 헌혈증은 챙겼으니 괜찮다ㅋㅋ 쨋든 이제 2% 달성했는데 언제 100%를 채울수 있을지 막막하다ㅠㅠㅠ

Android Studio - Live templates 기능 사용하기

매우 잘 정리되어있는 링크가 있어서 남겨놓음 https://m.blog.naver.com/PostView.nhn?blogId=eominsuk55&logNo=220759706276&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

IntelliJ로 Swing 개발하기 #1

이미지
# 서론 지금 Swing을 시작하려 한다면 말리고싶다... Swing은 거의 사용하지 않는 기술인것같다. 윈도우 프로그램을 만들려면 C#으로 WPF를 사용하던 하는게 훠~~~~~얼 씬 좋을거다... 지금 Swing에 대해서 쓰는 이유는 그냥 한번 해보고싶기 때문이 가장 크고 윈도우, 리눅스, 맥 등 여러 OS에서 사용해야될 응용프로그램을 개발하기 위해서 쓰는거다. (사실 이렇게 할 이유는 왠만해선 없을거다ㅠ) 자 그럼 Swing을 개발할 수 있는 환경부터 설정해보자 # 환경설정 학교다닐땐 eclipse를 가지고 Swing과 Window builder를 사용해서 개발했었지만 Android개발 이후에 eclipse를 버렸으므로 IntelliJ를 사용해서 개발환경을 설정해보도록 하자. (개인적으로 eclipse보다 intelliJ가 더 좋다고 생각한다.) 우선 IntelliJ를 설치하자. IntelliJ 설치 방법은 매우 쉬우므로 스스로....ㅎ + JDK도 설치하자 IntelliJ Download Link JDK Download Link # 프로젝트 생성 일반적인 Java 프로젝트를 만드는것과 동일하게 진행한다.  첫번째 `Create New Project`를 선택한다.  왼쪽 탭에서 Java를 선택하고 Project SDK는 설치한 JDK 버전을 선택합니다. 그리고 Next를 누릅니다. Next~ 프로젝트의 이름과 경로를 입력합니다. # Window 창 띄우기 가장 먼저 프로그래밍을 하면 배우는 Hello World를 찍어보도록 하자. 일단 어떤 코드인지는 다음에 설명하도록 하고, 일단 아래 있는 스크린샷과 동일하게 진행해보자.  우선 src폴더를 우클릭하고 New > GUI From 을 선택한다.  위와같은 창이 뜨는데 여기에 Form의 이름을 입력한다. 저는 App이라고 입력했어요. 이때 Create bound class도 선택해주세요