Tips 72

Autohotkey로 맥북에서 쓰는 단축키로 설정해 보자

맥북과 윈도우를 함께 사용하다 보니 매번 단축키 때문에 애를 먹는다. 이제 복사/붙여넣기를 할 때 command + c, command + v가 손에 익었고, 손가락에 무리가 가지 않는다는 걸 느꼈다. 윈도우에서 command키 위치에 alt키가 있으니 동일하게 매핑을 해 보자. 일단 Autohotkey라는 프로그램을 설치한다. https://www.autohotkey.com/ AutoHotkey AutoHotkey provides a simple, flexible syntax allowing you to focus more on the task at hand rather than every single little technicality. It supports not only the popular im..

Tips/Windows 설정 2020.05.27

[TypeORM] Embedded Entity의 Column 이름 지정하기

TypeORM에는 Embedded Entity라는 개념이 있다. 여러 개의 엔티티에서 중복되는 컬럼들이 있을 때 이를 묶어서 별도의 엔티티(Embedded Entity)로 뽑아 내고, 뽑아낸 엔티티를 사용하고자 하는 엔티티에서 컬럼으로 선언하면 Embedded Entity에 선언된 컬럼들이 쭉 포함된다. 모두싸인 앱에는 User테이블과 InactiveUser라는 테이블이 있고, 두 테이블에는 모두 surveyXXXX 라는 필드들이 있다. 설문조사한 내용을 기록한 것인데, Inactive 상태로 바뀔 때 User 테이블에서 삭제하고 InactiveUser 테이블로 데이터를 복사한다. 이렇게 중복된 컬럼들을 Survey라는 Embedded Entity로 분리했다. Survey.ts export class S..

Tips/Database, ORM 2020.05.12

[MacOS] Python 버전 변경 - MacPorts & python_select

Mac OS의 기본 python 명령어는 python 2.x로 매핑되어 되어 있습니다. 회사에서 쓰는 버전이 3.x 인데 매번 python3 명령어를 쓰려니 귀찮습니다. 이럴 경우 python_select를 이용해서 python 버전을 변경하는 방법이 있어 소개합니다. 참고로 저는 Mojave 10.14.1를 사용하고 있습니다. 참고 사이트) https://superuser.com/questions/35256/how-can-i-change-the-default-python-version-on-snow-leopard 먼저 MacPorts를 설치합니다. https://www.macports.org/install.php 에서 자신의 맥과 맞는 버전을 찾아 설치합니다. 상세한 설명은 생략합니다. 터미널을 띄우고..

Tips/잡다구리 2018.11.17

Lambda를 이용한 Lazy Initialization

Functional Programming in Java 8 책의 6장에 Lambda를 이용하여 Lazy Initialization을 하는 방법이 나온다.이 예제는 Heavy 객체의 생성을 Supplier 인터페이스를 이용해서 사용할 시점까지 지연시키는 예제다.하지만 이 예제는 Heavy 클래스가 아닌 또 다른 heavy한 객체를 생성해야 할 때 매번 해당 클래스에 대한 HeavyInstanceHolder 클래스를 만들어 주어햐 하는 단점이 있다. Jake라는 분이 이를 해결한 방법 Blog로 정리해 놓았다. 요점은 Heavy 클래스를 Lazy로 생성하는 부분을 T 형 타입으로 받아서 처리하면 된다. 그런데 synchronized 키워드를 붙여 thread-safe 하게 처리한 부분이 좀 이상해서 gith..

Tips/Java 2016.09.02

Files.find를 이용하여 디렉토리 내 모든 파일 리스트 출력하기

Files 클래스에는 Java 8에서 추가된 find라는 메소드가 있다.Funtional Programmin in Java 8 책의 3장에 ListSubDir.java 예제가 있는데, 해당 디렉토리의 하부 디렉토리까지만 가져오므로 완전한 예가 아니다.find를 이용해서 어떤 디렉토리에 존재하는 모든 파일을 가져오도록 Stream API를 이용하여 작성해 보자.Path start = Paths.get(".");int maxDepth = 5; // Integer.MAX_VALUE로 하면 모든 파일을 가져올 수 있다Files.find(start, maxDepth, (path, attr) -> true) .forEach(System.out::println);만약 어떤 특정 파일 속성을 가지는 파일만 가져오고 싶..

Tips/Java 2016.09.01

[Win7] 부팅시 네트워크 드라이브 자동연결

Windows 7에서는 재부팅 전 설정해 둔 네트워크 드라이브 연결이 자꾸 끊어진다.이렇게 해결하자!! 출처: http://mosei.tistory.com/entry/Win7네트워크-드라이브-자동연결 1. 메모장에 아래 내용을 작성한 후, netstart.bat 라는 이름으로 (확장자는 bat 또는 cmd 여야 함) 저장한다. (빨간색 글씨만 각 정보에 맞게 수정해서 적어주고 검정색 글씨는 그대로 복사해서 쓰면 된다.) set USER=아이디set PASSWD=비밀번호net use Z: http://file.domain.co.kr:5005 %PASSWD% /user:%USER% /persistent:no 2. 폴더옵션에서 숨김 파일, 폴더 및 드라이브 표시 에 체크 후 적용한다. 3. 아래 경로로 들어간..

Tips/Windows 설정 2014.08.12