Windows Defender가 빌드와 IDE성능에 영향을 줄 수 있습니다.

윈도우에서 JetBrains의 IDE를 쓰다보면 한번 쯤은 보게되는 알림입니다. 저 팝업 아래에 Fix를 누르면 해결이 되는 것처럼 보이는데, 다음 번 실행시에도 다른 IDE를 실행할 때에도 다시 저 메시지를 보게 됩니다. 실행할 때마다 저 팝업을 보고, Fix 버튼을 누르기 귀찮아서 다시 보지 않기를 눌렀는데, 누르고 나서 정말 영향을 주면 어떻게 하지? 라는 걱정이 들어 저 팝업은 무엇이고 왜 계속해서 보이게 되는지 알아봤습니다. 원인. 팝업 메시지는 "Windows Defender might be impacting your build and IDE performance. "입니다. 즉, 윈도우 디펜더( 윈도우10에 기본 탑재된 백신입니다. )가 성능을 떨어뜨릴 수 있다. 라고 이해되는데, 아래에 보..

watch가 연결된(pipe) 명령을 실행하지 못할 때.

사용하고 있는 배치 프로그램 중에 15,000개쯤 되는 항목을 검색하고, 각각의 결과를 파일로 남기는 게 있습니다. 보통은 밤 중에 돌아서 오전에 확인하곤 하는데, 오늘은 무슨 문제가 있었는지, 전체를 돌지 못하고 중간에서 멈춰있었습니다. 그래서 어쩔 수 없이 오전부터 다시 돌리는데, 진행상황을 확인하고 싶었습니다. 전체 항목 수는 알고 있고, 각각의 결과를 파일로 남겨두기 때문에, 결과 파일 수만 세보면 진행상황을 파악할 수 있겠다 싶었습니다. 그래서 다음과 같이 파일 갯수를 셌습니다. $ find ./ -name '*.log' | wc -l 그리고 저걸 계속해서 전송할 수는 없으니, 주기적으로 명령을 날려 결과를 확인할 수 있도록 "watch"를 추가했습니다. $ watch -n 10 find ./ ..

bat ( github.com/sharkdp/bat )

MacOS나 리눅스의 터미널에서 파일 내용을 보고 싶을 때, 편집기를 열 때도 있지만, 간단히 내용 확인만 하려고 할 때 많이 있는 명령어가 "cat"입니다. 내용이 빠르게 출력되기 때문에, 간편하게 쓰기는 좋은데 불편한 점이 몇 가지 있습니다. - 문법 강조가 되지 않는다던가... - 한번에 모든 내용을 출력하기 때문에, 화면을 넘어가는 길이의 파일은 스크롤을 해서 확인해야 한다던가... ( 이게 tmux를 쓰면 아주 불편한 점이 배가됩니다. ) 그래서인지 cat을 복제한 bat이 나타났습니다. 이름 하야, 날개 달린 고양이의 복제품, 박쥐입니다. 설명에 걸맞게 다양한 기능을 추가되었습니다. 문법 강조 Git 연동 (라인피드 글자 같은) 숨김 문자 출력 자동 페이징. 파일 병합. 위와 같은 기능을 제공..

Singleton Pattern

애플리케이션을 구동하면서 보통은 많은 인스턴스를 만들지만, 1개만 필요한 경우가 있습니다. 애플리케이션 전체에서 동일한 설정 값을 사용해야 한다던지, DB 스레드 풀, 캐시와 같이 애플리케이션 전체에서 공유하여 사용하는 리소스라던지, 로그를 기록하는 객체 같은 것들은 애플리케이션에서 1개의 인스턴스만 생성되어야 합니다. 이렇게 한 개의 인스턴스만 존재함을 보증하는 패턴을 Singleton 패턴이라고 부릅니다. 클래스 다이어그램 Singleton 패턴의 클래스 다이어그램은 다음과 같이 표현합니다. singleton 속성과 Singleton 생성자가 모두 private으로 정의되어 있습니다. 이는 생성된 객체를 직접 접근하거나 생성할 수 없도록 명시하는 것입니다. 생성된 인스턴스는 getInstance 메서..

Hello world(Chrome확장프로그램 ver)

한번쯤은 내가 만든 확장 프로그램을 사용해보고 싶다는 마음을 가지고 있었습니다. 그러다가, 크롬 앱 만들기 강좌를 찾았습니다. 따라 하다 보면 크롬 확장 프로그램은 만들 수 있겠다 싶어서 들어봤습니다. 수업 내용은 나름 괜찮았습니다. 몰랐던 자바스크립트 기능도 알게되고, 무엇보다 강사의 코딩 스타일이 유용해 보였습니다. 하지만, 끝까지 크롬 확장 프로그램 만드는 얘기는 하지 않더라고요. 그래서 시작한 김에 크롬 확장 프로그램 만드는 방법을 찾아봤습니다. 확장 프로그램 작성 hello world 크롬 확장프로그램을 만들기 위해서 필요한 것은 세 가지입니다. manifest.json icon image 확장프로그램에서 실행할 파일 ( 여기서는 html 파일 ) manifest.json manifest.jso..