프로그래밍 언어

    [JAVA 8] Supplier

    Supplier interface 함수형 인터페이스를 공부하면서 Java가 기본으로 제공하는 인터페이스 중 Supplier를 알게 되었습니다. 이 인터페이스는 구현체에서 반환할 타입을 지정하고 추상 메서드인 get() 메서드를 재정의하여 지정된 타입의 값을 반환받는 아주 간단한 인터페이스입니다. 저는 이 인터페이스의 존재가 "굳이..?" 라는 생각이 들어서 찾아보니 Lazy Evaluation을 위해서 존재한다는 것을 찾게 되었습니다. Lazy Evaluation 이것은 불필요한 연산을 피하기 위해서 연산을 지연시키는 것을 뜻합니다. 뜻만 알아서는 존재의 이유를 잘 모르겠어서 예제를 통해 이해해 보겠습니다. 추상 메서드인 get() 메서드를 재정의하여 현재 시간을 time 변수에 저장하고 3초를 멈추었다..

    [conda] environment.yaml 파일 뽑아내기?!

    간단하다! 사용하던 환경에 activate 해준다. conda activate 가상환경이름 그 후 conda env export > environment.yaml 혹은 conda env export --no-builds | grep -v “prefix” > environment.yml 이렇게 입력한다면 본인의 conda 환경에서의 의존성들이 environment.yaml 파일로 나오게 된다!

    [Python] class 활용

    프로젝트를 진행하던 도중 argument를 통해 필요한 값을 받는 코드를 사용해서 작업할 일이 생겼다. 이 코드를 내가 커스텀해서 나의 프로젝트에 적용시키고자 했는데, 딕셔너리 혹은 json 같은 타입이 아닌데도 "변수명.키" 형태를 통해 값을 가져오는 형태이다. 찾아보니 argparse 형태로 argument 값을 받아온 후 사용하는 것인데.. 코드를 수정하지 않고 똑같이 사용하기 위해서 어떤 방법이 있을까 고민하던 도중 어떠한 코드를 보게되었고 그 코드에는 클래스에 있는 변수를 "클래스명.변수명" 과 같은 형태로 가져오는걸 보고 이렇게 적용해보도록 했다. class my_class: def __init__(self, args): self.name = args['name'] self.age = args..