태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Atom 로고

Atom?

 Atom은 Github에서 제작한 hackable한 텍스트 에디터입니다. 다양한 프로그래밍 언어는 물론이고 마크업 언어 같은 것도 지원하기 때문에 아주 편하게 사용할 수 있고, 필요한 부가 기능을 추가적으로 설치, 제작 및 배포할 수 있는 확장성을 제공합니다. 테마 역시 자유롭게 설정할 수 있습니다. Atom은 Node.js와 Electron을 사용하여 제작되었습니다.

 Atom은 윈도우, 리눅스, macOS를 모두 지원하고, 오픈소스 프로젝트로 제작되었습니다. 저는 다양한 OS를 사용하고 있기 때문에 아주 즐겨 사용하고 있습니다. 다 좋은데 개인적으로 단점이라고 생각하는 점은 초기 실행 속도가 좀 느리다는 점입니다. 다른 에디터들은 빠른데 말이죠. 좀 더 개선이 되었으면 하는 부분이 있네요.

 Atom은 여기서 다운로드 할 수 있습니다.


Atom 패키지

 앞에서 이야기했듯이 Atom은 패키지를 통해 기능을 확장할 수 있고 에디터를 개인화할 수 있습니다. 상당히 강력한 패키지들이 많고, 실제로 사용하는 데에 있어서 엄청 유용합니다. 그래서 이번엔 제가 쓰는 패키지 몇 가지를 소개해드리려 합니다.


내가 쓰는 Atom 패키지들

atom-beautify

 코드를 정렬해주는 패키지입니다. 상당히 많은 언어를 지원하고 있고, 사용이 간편합니다.

color-picker

 코드 내에서 색상 선택기를 열 수 있는 툴입니다. 생각보다 엄청 편합니다.

emmet

 웹 개발자들에겐 거의 필수라고 할만한 툴이 아닐까 싶습니다. HTML/CSS 코딩 속도를 엄청나게 향상시켜줍니다. 기능도 다양하고 어느 정도 익숙해지면 정말 편합니다. 기능이 엄청 많기 때문에 기능 설명은 여기서 확인하시면 됩니다!

file-icons

 트리뷰에 나타나는 아이콘들을 좀 더 예쁘고 컬러풀하게 바꿔줍니다.

highlight-seleted

 더블클릭한 단어를 전체 문서에서 하이라이팅 해줍니다. 별 거 아닌 것 같지만 실제로 사용해보면 엄청 편합니다.

minimap

 문서의 미니맵을 보여줍니다. 빠르게 이동할 때 편합니다. Sublime Text에는 기본적으로 있던 기능인데 Atom에서는 패키지로 따로 있더라구요.

minimap-hightlight-selected

 미니맵에서 highlight-seleted를 동작하게 해주는 패키지입니다. 미니맵 쪽에 보시면 선택한 단어들이 좀 더 밝게 표시되어있는 게 보이죠?

pigments

 문서 내에 있는 색상 코드를 바로 볼 수 있게 해줍니다. 개인적으로 아주 잘 쓰고 있는 패키지입니다.

remote-ftp

Atom에서 FTP/FTPS/SFTP 사용을 가능하게 하는 패키지입니다. 트리뷰에 다른 탭으로 생기기 때문에 아주 편하게 사용할 수 있습니다. 이미지는 좀 오래 된 이미지네요.

sync-settings

 여러 종류의 기기에서 같은 환경의 Atom을 사용하려 할 때 무척 편리합니다. 초기 설정시 Github gist 설정이 필요하지만 한 번 설정해두면 정말 간편하게 Atom 설정 및 패키지를 동기화할 수 있습니다. 사용 방법은 다음에 쓸 수 있도록 하겠습니다. ㅠㅠ


마치며

 요즘은 고민이 참 많습니다. 블로그에 어떤 글들을 채워 넣어야 할 지, 좋은 글들을 잘 쓸 수 있을지 생각해보니 잘 모르겠더라고요. 제가 한 없이 부족하게 느껴지더라고요. 그래서 그냥 편하게 글 쓰려고 합니다. 아는 만큼, 쓸 수 있는 대로 쓰다 보면 언젠가 좋은 글들을 쓸 수 있을 거라고 생각하고 있습니다. 처음부터 잘하는 사람은 없으니 열심히 경험치를 늘려서 실력을 업그레이드 해야겠어요. 앞으로도 열심히 배우고 열심히 글 쓰는 사람이 되어야겠습니다. ㅎㅎ 오늘도 글 봐주셔서 감사합니다. 앞으로는 좀 더 자주 글을 쓸 수 있도록 해보겠습니다.

블로그 이미지

플린 N.

IT, 컴퓨터, 모바일 및 취미, 리뷰 블로그

댓글을 달아 주세요


 회사에서 열심히 자바로 개발을 하고 있습니다. 개발을 하다 보면 시간 표시를 꽤 여러 가지 포맷으로 하게 되는데요. 이럴 때 사용하게 되는 게 SimpleDateFormat입니다. 다만 저는 사용법이 헷갈리더라구요. 맨날 검색해서 사용하다가 잊어버리고, 또 검색하고. 그래서 기록도 하는 김에 정리를 해보았습니다. 일단 각 패턴 별로 표로 정리했습니다.


패턴 의미 출력
G 연대(BC, AD) AD
y 년도 2017
M 월(1~12) 12
w 해당 년도의 몇 번째 주(1~53) 52
W 해당 월의 몇 번째 주(1~5) 5
D 해당 연도의 몇 번째 일(1~366) 364
d 해당 월의 몇 번째 일(1~31) 30
F 해당 월의 몇 번째 요일(1~5) 5
E 요일(월~일) Sat
a 오전/오후(AM, PM) PM
H 시간(0~23) 21
h 시간(1~12) 9
K 시간(0~11) 9
k 시간(1~24) 21
m 분(0~59) 31
s 초(0~59) 8
S 1/1000초(0~999) 297
Z 타임존 +0900
z 타임존(RFC 822) KST


 그리고 아래는 실제로 사용하게 되는 예입니다. 제가 사용해봤던 포맷이나 사용할만한 포맷을 구현해봤습니다. 위 표에 있는 출력 부분도 테스트 하면서 나온 값을 그대로 적어보았습니다.


package me.theillusionist;
package me.theillusionist;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatExample {
	
	public static void main(String[] args) {
		
		Date today = new Date();
		
		SimpleDateFormat format1, format2, format3, format4, format5, format6, format7;
		
		format1 = new SimpleDateFormat("yyyy-MM-dd");
		format3 = new SimpleDateFormat("yy/MM/dd");
		format2 = new SimpleDateFormat("yyyy년 MM월 dd일 E요일");
		format4 = new SimpleDateFormat("HH:mm:ss");
		format5 = new SimpleDateFormat("hh:mm:ss a");
		format6 = new SimpleDateFormat("오늘은 yyyy년의 w주차이며 D번째 날입니다.");
		format7 = new SimpleDateFormat("오늘은 M월의 w번째 주, d번째 날이며, F번째 E요일입니다.");

		System.out.println(format1.format(today));
		System.out.println(format2.format(today));
		System.out.println(format3.format(today));
		System.out.println(format4.format(today));
		System.out.println(format5.format(today));
		System.out.println(format6.format(today));
		System.out.println(format7.format(today));
		
	}
}


2017-12-30
2017년 12월 30일 Sat요일
17/12/30
21:53:47
09:53:47 PM
오늘은 2017년의 52주차이며 364번째 날입니다.
오늘은 12월의 52번째 주, 30번째 날이며, 5번째 Sat요일입니다.


 벌써 2017년도 다 지나가고 있네요. 올해 회고록을 쓸까 말까 고민하고 있는데, 가능하면 써볼 수 있도록 하겠습니다. 코딩 분야 뿐만 아니라 취미 등으로로 꽤 쓸 게 많을 것 같긴 한데, 얼마나 잘 쓸 수 있을지 모르겠네요. 내년에는 코딩쪽 글을 많이 쓸 수 있도록 해보겠습니다. 뭔가 코딩쪽 글을 부담이 좀 되더라구요. 잘 할 수 있겠죠? 오늘도 글 봐주셔서 감사합니다. 다음에 또 좋은 글 쓸 수 있도록 하겠습니다!

블로그 이미지

플린 N.

IT, 컴퓨터, 모바일 및 취미, 리뷰 블로그

댓글을 달아 주세요

 요즘 githubgitlab에 몇 가지 프로젝트를 진행하고 있습니다. 개인적인 프로젝트도 있고 업무적인 프로젝트도 있지요. 개인적인 프로젝트는 틈틈히 시간이 날 때마다 커밋을 하고 있기는 한데, 회사 업무와는 다르게 새로운 언어와 프레임워크를 다뤄보고자 연습겸 진행하고 있습니다. 얼른 배워서 잘 써먹고 싶네요.

 잡설은 여기까지만 하고 본론으너 넘어가자면, git으로 프로젝트를 관리하다 보면, 트래킹이 필요한 파일과 필요하지 않은 파일들이 있습니다. 그러니까 git프로 추적하지 않아도 될 파일이 있는 거죠. 이런 파일들을 무시하도록 목록을 작성하는 파일이 gitignore입니다. gitignore에 파일 명 또는 확장자 등을 설정해 두면 해당 파일들은 git에서 더이상 추적을 하지 않게 됩니다. 다만 문제는 gitignore 파일을 설정할 때 IDE에서 생성하는 파일들은 어떤 것이 있는지, 프레임워크에서 생성하는 필요없는 파일들은 어떤 것이 있는지를 잘 모른다는 겁니다. 다른 사람의 강좌를 따라하는 프로젝트들의 경우 gitignore까지 써주기 때문에 별로 상관이 없지만, 업무적인 프로젝트를 진행할 때는 좀 고민이 되더라구요. 그러다 발견한 게 바로 이 gitignore.io라는 서비스였습니다.

gitignore.io 바로가기 : https://www.gitignore.io/

gitignore.io 메인 페이지

 gitignore.io는 사용하는 언어, IDE, 운영체제 등을 입력하면 자동으로 gitignore 파일을 생성해주는 서비스입니다. 굉장히 간단하고 직관적이죠. 해당 페이지에 접속할 경우 위와 같은 페이지를 보게 되는데요, 이 페이지에서 바로 기능을 사용할 수 있습니다. 바로 확인해볼까요?

gitignore.io에 python 검색한 모습

 개인 프로젝트에서 사용하고 있는 Python을 입력하기 위해 py까지만 입력하였습니다. 위와 같이 py가 포함되는 언어 또는 IDE 등을 추천해주기 때문에 쉽게 사용할 수 있습니다.

gitignore.io에 Python과 Django를 추가한 모습

 저는 간단히 보여드리기 위해 Python과 Django만 추가했습니다. 여러분들은 여러분들이 사용하시는 언어, IDE, 프레임워크 등을 입력해보세요. :) 입력하신 후엔 Create 버튼을 눌러주시면 됩니다.

gitignore 내용이 완성된 모습

 이렇게 손쉽게 gitignore의 내용을 만들어준답니다. 만들어진 gitignore 내용은 아래와 같답니다.

# Created by https://www.gitignore.io/api/python,django

### Django ###
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
media

# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/
# in your Git repository. Update and uncomment the following line accordingly.
# /staticfiles/

### Python ###
# Byte-compiled / optimized / DLL files
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# Translations
*.mo

# Django stuff:

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

# End of https://www.gitignore.io/api/python,django


 아주 간단하죠? gitignore.io커맨드라인으로도 사용할 수 있답니다. 메인 페이지에서 Command Line Docs에 접속하면 운영체제별, 터미널별로 설치하는 방법이 친절하게 나와 있답니다. 아래처럼 말이죠!

gitignore.io에서 Command Line Docs에 접속한 모습

 나타난 대로 설치를 진행한 이후엔 커맨드라인으로 바로 사용할 수 있답니다. $ gi python,django와 같이 입력할 경우 gitignore 내용이 바로 터미널에 나타납니다. $ gi python,django >> .gitignore와 같이 사용할 경우 내용이 바로 gitignore 파일로 생성된답니다. 윈도우의 경우엔 $ gi 명령어 대신에 $ gig 명령어를 사용하셔야 한답니다.

 지금까지 gitignore를 빠르고 간편하게 만드는 방법을 알아봤습니다. 저는 요즘 요 gitignore.io로 생성한 이후 필요한 것과 필요하지 않는 것들을 추가/제거하여 사용하고 있답니다. 여러분도 사용해보세요. :) 부족한 글 봐주셔서 감사합니다.

 ※ 부족한 부분이 보이실 경우 댓글로 알려주시면 반영하여 수정하도록 하겠습니다!

'프로그래밍 > git' 카테고리의 다른 글

gitignore 쉽게 만드는 법  (0) 2017.10.05
블로그 이미지

플린 N.

IT, 컴퓨터, 모바일 및 취미, 리뷰 블로그

댓글을 달아 주세요