This Python script downloads a Google Sheets document from Google Drive as an Excel file.
The code is mostly from the official Google API site; the changes I made are that Credential path is set to the directory where the script is excuted and that Scope is set from metadata.readonly to readonly for reading the content of files we want to download. (For more details on Scope, you can refer to the official document here)
Tested environment: Ubuntu 16.04, Python 3.5.2
Usage
To get a credential for this script, finish Step 1 following instructions here
Change the value of FILE_ID at line 27 to that of the actual file you want to download.
If you run this script on a remote server via terminal, you should add --noauth_local_webserver option.
$ ./export_example.py --noauth_local_webserver
The script attempts to open an authorization URL to access to your Google Drive if the script has failed to find a valid credential. If you are running the script on a remote server, Lynx, a text web browser is executed to open the URL but Google Drive doesn’t accept a request from text browsers. This option provides a URL to proceed an authorization for you instead opening a text browser on the server, so you can just open your web browser and enter the URL.
After granting the permission, an authorization code will appear. Copy the code and paste it to the terminal.
어느 날 Tip of the day에서 실행 타겟을 바꾸는 단축키를 봤다가 유용한 것 같아서 기억해둬야지 했는데 며칠 새 잊어버렸다. Tip of the day를 다시 열어서 아무리 next를 눌러도 안나오고, 인터넷에서 android studio shortcut 등으로 아무리 검색해도 나오지 않아서 좌절.
그런데 디버깅하다가 우연히 다시 발견하게 되었다.
Ctrl+Alt+R
원래는 breakpoint에서 Cmd+Alt+R을 눌러서 계속 진행하려고 했는데 손가락이 살짝 꼬여서 Cmd 대신 Ctrl이 눌렸던 것…
예를 들면 이런 식이었다.
java
private void someMethod(SomeValueClass someValueClass) {
...
}
그런데 요즘엔 메서드 scope의 변수(매개변수, 로컬변수 등)는 그냥 value, listener 이렇게 간결하게 쓰는 게 더 읽기 쉬운 것 같다는 생각이 든다.
변수명이 너무 장황하면 코드의 구조와 흐름을 빠르게 파악하기 어렵다.
코드를 읽다가 변수를 발견하면 이 변수가 어디에서 어떻게 참조되는지 봐야하는데, 변수 이름이 너무 길면 머릿속에서 변수 이름끼리 비교하느라 집중력을 빼앗기는 것이다.
그런데 여전히 멤버변수는 가급적이면 클래스 이름을 그대로 살려서 짓는 것을 선호한다. 여러 곳에서 참조되는 변수 이름이 그냥 listener라고만 되어있으면 이게 무슨 리스너인지 알기 어렵다.
그리고 Jake Wharton이 지적했듯 이제 헝가리안 표기법은 버리는게 여러모로 좋을 것같다.
전에는 IDE의 도움을 가정하는 코딩을 별로 좋아하지 않았는데, 요즘엔 굳이 그럴 필요 있나 싶은 생각이 든다.
이제 이름 앞에 m, s같은 게 붙어있으면 왠지 잡티처럼 느껴진다. 변수이름이 눈에 잘 들어오지도 않고…