2022-11-26-TIL

Today I Learned

Design Patterns

자바라는 언어에 종속되는 디자인 패턴도 일부 있는데, 언어에 종속되지 않는 범용적 디자인 패턴을 익히고, 또 비판적으로 바라보는 시각도 필요하다.

  • http://mishadoff.com/blog/clojure-design-patterns/
  • https://github.com/minnsane/TeachYourselfCS-KR

Java 8의 메서드 참조가 바이트 코드로 다른가?

일반적인 코드 vs 메서드 참조 vs 람다 모두 바이트 코드는 약간씩 다르다. 그렇다는 것은 실제로 동작하는 코드도 다르고, 성능이 달라질 수 있다는 것이다. 사실 빌드나 컴파일 성능은 치명적인 요소가 아니라고 생각한다. 하지만 실행 속도가 느린것은 매우 중요한 결정적 요소이다.

  • https://www.javatpoint.com/java-8-method-reference
  • https://stackoverflow.com/questions/66748157/how-to-inspect-java-method-references-double-colon-operator-usages-in-classes
  • https://stackoverflow.com/questions/24487805/lambda-expression-vs-method-reference
  • https://medium.com/@damian.kolasa/performance-implications-of-lambdas-and-method-references-when-mapping-a-stream-in-java-79f6e2da6806

Java 8 람다의 성능 비교

  • https://softwareengineering.stackexchange.com/questions/277473/is-there-a-performance-benefit-to-using-the-method-reference-syntax-instead-of-l
  • https://ionutbalosin.com/2018/12/passing-thismethod-reference-within-a-loop-affects-performance/
  • https://www.oracle.com/technetwork/java/jvmls2013kuksen-2014088.pdf
  • https://belief-driven-design.com/functional-programming-with-java-method-references-c9103cdf5f8/
  • https://medium.com/@edouard.kaiser/lambda-and-method-reference-133867e19c01

변인

과학 실험에서의 변인 개념과 마찬가지로 컴퓨터 공학에서 여러가지 실험 및 벤치마킹을 하려면 각 변인을 정확하게 잘 설정해야 한다.

  • 변인: 어떤 연구의 대상이 되는 일련의 관찰된 특성의 집합. 쉽게 말하면 조작하면서 값을 변경할 수 있으며, 실험에 영향을 미칠 수 있는 요소이다.
  • 독립 변인: 종속 변인에 영향을 줄 것으로 기대되거나 종속 변인의 변화를 예측할 수 있다고 여겨지는 변인.
  • 종속 변인: 독립 변인에 후행하면서, 독립 변인의 변화에 의해 영향을 받을 것으로 기대되는 변인.
  • 통제 변인: 연구의 가설적 모형 외부에 존재하면서도 연구 내의 변인들에 유의미한 영향을 미칠 것으로 예상되어 연구자가 통제한 변인.