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..

WSL2 실제 위치는 어디일까?

윈도우10 2004 업데이트를 하고 나서, WSL2를 정말 잘 사용하고 있습니다. Docker도 잘 사용하고 있고, JetBrain IDE도 최근 업데이트로 WSL2 기반의 git을 사용할 수 있게 되어, 개발 환경이 한층 더 쾌적해짐을 느끼고 있습니다. git은 윈도우에서 쓸 때 느린 반응 때문에 항상 불편했었거든요. 그런데, 최근 궁금한게 생겼습니다. wsl2에서 윈도우에서 사용하는 드라이브를 직접 접근할 수 있는데, 이는 /mnt/에 마운트 되어있습니다. 그러면 / 아래의 /home, /etc, /var 같은 공간은 대체 어디에 있을지 궁금함이 생겼습니다. 좀 찾아보니, 설치되는 위치는 마이크로소프트 스토어에서 설치한 wsl distro에 따라서 다르며 ubuntu의 경우는 "C:\Users\{us..

[번역글]How to Get Started with React

원글 : How to Get Started with React — A Modern Project-based Guide for Beginners (Including Hooks) 내용 중 일부 오역이 포함되어 있을 수 있으니, 가능하면 원문을 참조하시는 걸 추천드립니다. 리액트 시작하는 방법 - 초보자용 현대적 프로젝트 기반의 가이드(Hook 포함) 자, 리액트를 배우기 시작했나요? 그러면 잘 찾아왔습니다. 이 가이드는 리액트를 시작할 때, 알아야 할 모든 것을 포함합니다. 기본 개념 뒤에 "어떻게 그리고 왜"를 설명합니다. 그리고 API를 통해 데이터를 불러와 작은 프로젝트를 만들어서 모든 걸 직접 해볼 수 있습니다. 이 글은 매우 기니깐, 오른쪽 목차를 보고 필요에 따라 섹션을 넘기거나, 다시 읽으세요...