태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

linter-flake8 패키지 예시


Flake8?

 Flake8은 파이썬의 문법 및 코드 스타일을 검사해주는 패키지입니다. 기본적으로 PEP8(Python Enhance Proposal 8) 스타일 가이드로 검사할 수 있고, 원하는 부분만 설정하여 검사할 수 있습니다. 그렇다면 스타일을 왜 통일해야 할까요? 우리가 작성한 코드는 본인 뿐만 아니라 다른 사람들이 보게 됩니다. 이런 경우 코드를 읽기 난해한 경우가 쉽게 생기기 마련인데요. 이런 일을 해소하기 위해 사소한 것부터 규칙을 정한 것이 코드 스타일이랍니다. 모두 같은 코드 스타일을 따를 경우 훨씬 편하게 코드를 보고 읽을 수 있겠죠? 저 같은 경우 회사에서 Java를 주로 사용하고 있는데 다른 분이 코드를 너무 엉망으로 적으셔서 고통이 이만저만이 아니네요. ㅠㅠ

 ※ 다음으로 들어가기 전에, 이 글에선 Flake8 및 PEP8에 대해 자세히 다루지는 않습니다. 기회가 된다면 자세히 다뤄보겠지만, 급하신 분들이라면 공식 페이지를 참조하세요. 죄송합니다.


Flake8 설치하기

 Flake8을 설치하려면 당연하게도 파이썬이 먼저 설치되어 있어야 합니다. 공식 홈페이지를 참고해서 운영체제에 맞는 파이썬 버전을 설치해주세요. 이후 터미널에서 아래의 명령어를 입력하여 Flake8 패키지를 설치해줍니다.

$ pip install flake8

 만약 위의 명령어가 먹히지 않을 경우, pip3 명령어를 통해 설치를 진행하시기 바랍니다.


Atom에 Flake8 패키지 설치하기

 위 방법으로만 설치해도 flake8 명령어를 실행하여 *.py의 문법 및 코드 스타일 검사를 진행할 수 있습니다. 하지만 이 방식의 경우 따로 터미널에서 실행해야 한다는 불편함이 있기 때문에, Atom에서 자동으로 검사를 해주는 패키지를 설치하겠습니다.

 Atom에서 Ctro + ,을 눌러 설정으로 들어간 후, Install 메뉴로 들어갑니다. 이후, flake8을 검색할 경우 나오는 linter-flake8 패키지를 설치하면 됩니다. 설치는 모두 끝났습니다!


Atom에서 Flake8 사용하기

 기본적인 PEP8 가이드라인을 사용할 경우 따로 건드려야할 부분은 없습니다.

linter-flake8 패키지 설치 후 모습

 제가 이전에 작성했던 코드를 불러와봤습니다. 아래 쪽에 어떤 부분이 스타일에 맞지 않는지 실시간으로 체크가 된답니다! 이제 마음 편히 가이드에 따라서 신나게 코딩하면 된답니다! 저도 이전에 작성했던 코드 가이드에 맞춰서 수정하러 가봐야겠습니다.

 항상 코딩할 때마다 통일되지 않는 스타일에 스트레스를 은근히 받았는데, 요즘은 파이썬 코딩할 때는 이런 부분이 꽤나 줄어서 만족스럽습니다. ㅎㅎ 그럼 이번 글은 이 쯤에서 끝내볼게요. 오늘도 글 봐주셔서 감사합니다!

블로그 이미지

플린 N.

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

댓글을 달아 주세요

zsh

터미널을 사용할 때 기본적으로 사용자 이름과 PC 이름이 공간을 차지하고 있어서 불편한 경우가 가끔 있습니다. zsh에서 이 부분을 먼저 없애보려고 합니다. 방법은 그리 어렵지 않습니다. vi ~/.zshrc를 입력해 zsh 설정파일을 열어줍니다. 이후 아래 내용을 .zshrc 맨 아래 부분에 추가해줍니다.

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

 추가한 후 source ~/.zshrc를 입력해주면 이렇게 바로 적용이 됩니다!

PC 이름 삭제된 zsh

 다음으로는 맥북에서 편하게 사용하고 있는 자동완성 플러그인인 zsh-autosuggestions을 설치해보겠습니다. Oh My Zsh를 사용하고 있다는 전제 하에 진행하겠습니다. 먼저 아래 내용을 입력하여 플러그인 폴더에 zsh-autosuggestions을 받습니다.

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

 이후 vi ~/.zshrc을 입력하여 설정 파일을 수정합니다. plugins 부분에 zsh-autosuggestions를 추가하면 끝입니다!

.zshrc 수정

 추가한 이후 새로 터미널을 열게 되면 적용이 끝납니다!

zsh 자동완성 예제

 추천된 명령어를 그대로 입력하고 싶을 때는 화살표(→)를 입력하면 그대로 입력이 됩니다. 이제 우분투에서도 편하게 터미널을 사용할 수 있겠네요! 좀 더 사용하다가 쓸만한 플러그인이 보이면 소개해드리겠습니다. 글 봐주셔서 감사합니다!

블로그 이미지

플린 N.

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

댓글을 달아 주세요

apt-get install 실패

서버에 zsh를 설치하다 보니 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?라는 메세지가 뜨며 zsh 설치 진행이 되지 않았습니다. apt-get update를 실행한 후 진행해 보았으나 역시나 되지 않았죠.

sources.list 확인

에러 메세지와 /etc/apt/sources.list 파일을 확인해보니 kr.archive.ubuntu.com 서버가 죽어있더라고요. 이참에 속도가 빠른 다음 서버로 변경하기로 했습니다.

 먼저 기존 sources.list를 복사해둡니다. 만일을 위해 사본을 만들어두는 게 좋습니다.

# cp /etc/apt/sources.list ~/sources.list.old

 다음으로 sources.list의 서버를 변경해줍니다.

# sed -i 's/kr.archive.ubuntu.com/ftp.daum.net/g' /etc/apt/sources.list

 이후 apt-get update 로 업데이트를 진행한 후에 패키지 설치를 계속하시면 됩니다. 이런 경우는 처음이었어서 좀 당황하기는 했네요. ㅎㅎ 쉽게 해결할 수 있는 문제여서 다행이었습니다.

블로그 이미지

플린 N.

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

댓글을 달아 주세요

zsh와 oh my zsh 설치가 완료된 모습 

 꽤 오랫동안 우분투 기본 shell인 bash를 사용하고 있었습니다. 가볍게 쓰고 있었기 때문에 불편함은 딱히 못 느끼고 있었죠. 요 근래 공부와 개인 프로젝트 등으로 인해 shell을 많이 쓰게 되면서 불편함이 하나둘 부각되기 시작했고, 편한 걸 찾다가 zsh를 사용하게 되었습니다. 사실 처음부터 zsh의 존재에 대해 알고 있었던 건 아니고, 강의를 듣는데 강사분이 zsh를 사용하고 있었기 때문입니다. 상당히 예쁘고 사용이 편리해보이더라고요. 그리고 직접 사용해보니 훨씬 편하고 예뻐서 사용하기가 더 좋아서 주력으로 사용하고 있습니다.


zsh와 oh my zsh

 zsh는 bash와 같은 shell 프로그램입니다. bash에 비해 강력한 기능과 여러 가지 플러그인을 제공하고 있습니다. oh my zsh는 zsh 설정을 관리하기 위한 프레임워크입니다. 현재를 기준으로 200개가 넘는 플러그인과 140개 이상의 테마를 제공합니다. 이 둘을 함께 사용할 경우 예쁘고 편리한 shell 사용 환경을 쉽게 갖출 수 있습니다.


zsh 설치하기

 개인적으로 사용하고 있는 맥북에서는 이미 설치가 완료되었기 때문에 우분투를 기준으로 설명해드리겠습니다. 기본적인 틀은 크게 다르지 않습니다. 먼저 zsh가 설치되어 있는지부터 확인해야 합니다. 터미널에서 zsh --version를 입력하여 zsh가 설치되어있는지 확인해줍니다. oh my zsh를 사용하기 위해서는 zsh의 버전이 4.3.9 이상이어야 합니다.

zsh 버전 확인

 zsh가 설치되어 있지 않거나 zsh의 버전이 낮을 경우엔 sudo apt-get install zsh를 통해 zsh를 설치해줍니다. 설치한 후 zsh의 버전을 확인해줍니다. 버전 확인하는 명령어는 이제 아시겠죠?

zsh 설치 화면 

 이후 chsh -s /usr/bin/zsh를 통해 기본 shell을 zsh로 변경해줍니다. 계정의 비밀번호가 필요합니다. 이후 터미널을 재실행한 후, echo $SHELL을 을 사용하여 zsh가 현재 shell인지 확인합니다.

zsh가 현재 shell인지 확인

oh my zsh 설치하기

 oh my zsh는 curl 또는 wget을 통해 설치가 가능합니다. 첫 번째는 curl을 통해 설치하는 방법이고, 두 번째는 wget을 통해 설치하는 방법입니다.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

 oh my zsh 설치를 완료한 모습입니다.

oh my zsh 설치 완료 화면

 이제 zsh의 테마를 변경해보겠습니다. 테마는 여기서 확인할 수 있으니 살펴보고 마음에 드는 테마를 선택하시면 됩니다. 저는 agnoster 테마를 적용해보겠습니다. 먼저 vi ~/.zshrc로 zsh 설정파일을 변경해줍니다. THEME="rubbyrussell"부분을 THEME="agnoster"로 변경하고 저장하고 vi를 종료해줍니다. 테마 적용은 source ~/.zshrc를 입력하시면 바로 적용됩니다!

oh my zsh 테마 적용 

 만약 폰트가 깨질 경우 여기로 가셔서 Powerline 지원 폰트를 설치해주시고 설정해주시면 됩니다.

Powerline 지원 폰트 설치 완료

설치 완료!

 이렇게 zsh와 oh my zsh의 설치가 모두 끝났습니다. 이후 플러그인이나 다른 추가 테마의 경우엔 다른 포스트에서 설명하도록 하겠습니다. 글이 이렇게 길어질 줄은 몰랐거든요. 궁금한 점이나 안 되는 부분이 있을 경우 댓글 남겨주시면 최대한 도와드리겠습니다! 글 봐주셔서 감사합니다!

블로그 이미지

플린 N.

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

댓글을 달아 주세요

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, 컴퓨터, 모바일 및 취미, 리뷰 블로그

댓글을 달아 주세요

 안녕하세요. 오늘은 Java Swing의 JButton을 둥근 형태로 만들어보려고 합니다. 저는 보통 개발을 할 때 기본적인 모양을 주로 썼는데요. 점점 디자인을 바꿔보고 싶어지더라구요. 가장 만만한 버튼부터 변형시켜보려 했는데, 이게 생각처럼 잘 안 돼서 여러 번 삽질을 한 기억이 있습니다. 이번에는 기록도 할 겸 블로그에 기록을 좀 해보려고 합니다.


둥근 버튼 미리보기


 좌측의 버튼은 기본적인 JButton의 모양입니다. 다소 밋밋하고, 올드한 느낌이 없잖아 있죠. 그리고 우측은 제가 임의로 모양을 바꾼 버튼입니다. 이번에는 요 버튼을 만들어볼 예정입니다. 그렇게 어렵지 않습니다!


public class RoundedButton extends JButton {

    public RoundedButton() {
        super();
    }

    public RoundedButton(String text) {
        super(text);
    }

    public RoundedButton(Action action) {
        super(action);
    }

    public RoundedButton(Icon icon) {
        super(icon);
    }

    public RoundedButton(String text, Icon icon) {
        super(text, icon);
    }
}


 먼저 JButton을 상속받는 클래스를 하나 만듭니다. 이 클래스가 둥근 버튼을 만들 거기 때문에 이름을 RoundedButton라고 했습니다. 이 상태로 버튼을 만들면 그냥 일반적인 JButton 모양이 됩니다. 먼저 기본 모양에 있는 테두리를 없애버리고, 반드시 불투명하도록 만들어보겠습니다.


public class RoundedButton extends JButton {


    public RoundedButton() {
        super();
        decorate();
    }

    public RoundedButton(String text) {
        super(text);
        decorate();
    }

    public RoundedButton(Action action) {
        super(action);
        decorate();
    }

    public RoundedButton(Icon icon) {
        super(icon);
        decorate();
    }

    public RoundedButton(String text, Icon icon) {
        super(text, icon);
        decorate();
    }

    protected void decorate() {
        setBorderPainted(false);
        setOpaque(false);
    }
}


 decorate()라는 함수를 만들어 간단하게 처리했습니다. 이제 버튼 모양을 만들어봐야겠죠? 버튼의 모양은 해당 컴포넌트를 그리는 paintComponent 메소드를 오버라이드 하여 처리할 수 있습니다. 그러면 결과물처럼 만들 수 있도록 수정한 paintComponent 코드를 볼 수 있도록 하겠습니다.


@Override
protected void paintComponent(Graphics g) {
    int width = getWidth();
    int height = getHeight();

    Graphics2D graphics = (Graphics2D) g;

    graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    if (getModel().isArmed()) {
        graphics.setColor(getBackground().darker());
    } else if (getModel().isRollover()) {
        graphics.setColor(getBackground().brighter());
    } else {
        graphics.setColor(getBackground());
    }

    graphics.fillRoundRect(0, 0, width, height, 10, 10);

    FontMetrics fontMetrics = graphics.getFontMetrics();
    Rectangle stringBounds = fontMetrics.getStringBounds(this.getText(), graphics).getBounds();

    int textX = (width - stringBounds.width) / 2;
    int textY = (height - stringBounds.height) / 2 + fontMetrics.getAscent();

    graphics.setColor(getForeground());
    graphics.setFont(getFont());
    graphics.drawString(getText(), textX, textY);
    graphics.dispose();

    super.paintComponent(g);
}


 요 paintComponent 메소드를 클래스 안에 위치시키면 됩니다. 일단 한 줄씩 차례대로 살펴보도록 하겠습니다. widthheight는 편의를 위해 가져오도록 했고, graphics는 2D의 그래픽을 그릴 수 있도록 형 변환을 하여 가져왔습니다. setRenderingHint를 통해 배경의 사각형을 부드럽게 그릴 수 있도록 처리합니다.

 다음으로는 버튼에 마우스가 올려진 상태인지(isRollover()), 눌러진 상태인지(isArmed())와 기본적인 상태에 따라 배경의 색을 선택합니다. getBackground()를 통해 색을 가져와서 밝게, 또는 어둡게 처리했습니다. 그리고 난 후, fillRoundRect 메소드를 통해 가로, 세로 크기만큼 10의 둥글기를 가지게 하여 배경을 그립니다.

 다음부터는 버튼의 글자를 새길 차례입니다. FontMetricsRectangle를 통해 글자가 그려지는 사각형의 크기를 구합니다. 그런 이후 글자가 새겨질 위치를 구한 이후에 글자의 색(getForeground())과 폰트(getFont())를 가져와 drawString를 통해 그리면 됩니다. 이후에 graphicsdispose() 해주면 됩니다. 마지막 과정을 해주지 않을 경우엔 약간 조잡한 버튼의 모양이 되니 꼭 해주셔야 깔끔한 모양이 됩니다!


둥근 버튼 기본 상태

둥근 버튼 마우스 오버

둥근 버튼 클릭


 이렇게 테두리가 둥근 버튼을 만들어봤습니다. 응용하면 시작 부분과 끝 부분이 완전히 둥근도 만들 수 있습니다. 요런 글이 처음이라 시간도 오래 걸리고 글 퀄리티도 만족스럽지는 않네요. 버튼 색이 변하는 모습을 GIF로 만들어보고 싶었으나 이미 시간을 너무 많이 소비한 상태라 그냥 이미지로 첨부하는 점 양해 부탁드립니다. ㅠㅠ 다음에는 더 좋은 퀄리티의 글로 찾아뵐 수 있도록 할게요!

 오늘도 블로그 들러주셔서 감사합니다! 다음에도 또 들러주세요!

블로그 이미지

플린 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, 컴퓨터, 모바일 및 취미, 리뷰 블로그

댓글을 달아 주세요

요즘 자바와 파이썬을 사용해 코딩을 하고 있습니다. 파이썬은 주로 개인 프로젝트에, 자바는 주로 회사 업무 관련하여 사용하고 있습니다. 근데 확실히 학교에서 배우던 거랑 실무에서 사용하는 거랑은 많이 다르더라구요. 그래서 앞으로 블로그에 간간히 관련 포스팅을 작성하려고 합니다.  그래서, 이번 포스팅은 이클립스 업데이트 하는 법에 대해 쓰려고 합니다. 맥북에서 쓰던 이클립스 버전이 Neon 3버전이더라구요. 그래서 최신 버전인 Oxygen으로 업데이트 하면서 이 포스팅을 작성하기로 했습니다.




이클립스 업데이트 방법


1. 현재 버전 확인

이클립스 구버전 확인

 먼저 제가 쓰던 이클립스 버전은 Neon 3버전입니다. 오늘 저는 새로 나온 Oxygen 버전으로 업데이트 할겁니다. 2017년 6월에 출시됐습니다. 자세한 버전 정보는 아래 링크를 확인하면 됩니다.

<https://www.eclipse.org/oxygen/noteworthy/>


2. 업데이트 설정


이클립스 설정 1


 먼저 이클립스 환경설정으로 들어가줍니다. 윈도우에선 [Window > Preference]로 들어가면 됩니다.

이클립스 설정 2

 이클립스 환경설정에서 [Install/Update > Available Software Sites]로 들어갑시다. 여러 리스트가 있을텐데, 무시하시고 [Add...] 버튼을 누릅니다.

이클립스 설정 3

 이름은 마음에 드는 걸로 지정합니다. 저는 그냥 버전명인 Oxygen으로 설정했습니다. 그리고 아래 주소를 Location에 입력해줍니다.

http://download.eclipse.org/releases/(버전명)

 버전명에는 이클립스 버전명을 입력하면 됩니다. 저는 Oxygen 버전으로 업데이트 할 것이기 때문에, Oxygen으로 했습니다.


3. 업데이트 진행


업데이트 진행 1


 [Help > Install New Software]를 눌러 업데이트를 확인합니다.

업데이트 진행 2

 제가 한동안 업데이트를 안 했더니 업데이트 할 것들이 산더미처럼 있더군요. 뭐 업데이트 하고 싶은 것들만 선택해서 진행해도 되지만, 저는 모든 항목을 업데이트 하기 위해 [Select All]를 누른 후 업데이트를 진행했습니다.

업데이트 진행 3

 진행하면 이렇게 업데이트가 진행됩니다. 시간이 좀 걸릴 수도 있으니 여유로운 마음으로 업데이트를 진행해줍시다.


4. 업데이트 완료


업데이트 후 버전 확인 1


 다시 이클립스를 실행시키면 이렇게 이클립스 Oxygen 로고가 나타나며 실행됩니다. 제가 본 이클립스 로고 중에 가장 깔끔한 디자인인 듯 싶습니다. ㅋㅋㅋ 제 생각만 이런 걸까요. 무튼 업데이트가 잘 됐는지 확인해봅시다.

업데이트 후 버전 확인 2

 이렇게 Oxygen 버전으로 업데이트 되었습니다. 저는 뭔가 최신 버전을 써야 안심이 되더라구요. 이제 열심히 코딩을 해야겠어요. Github 활동도 열심히 하고, 블로그에도 열심히 쓰도록 해야겠습니다. 새 카테고리들도 마련했으니 열심히 블로그 활동 해볼 수 있도록 하겠습니다. 글 읽어주셔서 감사합니다.

블로그 이미지

플린 N.

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

댓글을 달아 주세요