분류 전체보기
-
[JAVA] @FunctionalInterface / 람다식java/함수형 프로그래밍 2022. 3. 9. 19:59
함수형 인터페이스 1. 추상 메서드가 정확히 하나만 존재해야 하는 인터페이스 2. default 메서드, static 메서드의 개수는 상관이 없다. 3. 모든 클래스는 Object의 자손 클래스이므로 인터페이스를 구현한 클래스는 항상 Object의 메서드를 사용할 수 있다. -> 함수형 인터페이스에 정의된 Object의 메서드들은 함수형 인터페이스 내부의 추상 메서드 카운트에 포함되지 않음 @FunctionalInterface 특정 인터페이스에 @FunctionalInterface 어노테이션을 붙이면 컴파일러가 해당하는 인터페이스가 위의 1~3의 조건을 (함수형 인터페이스 조건)을 만족하는지를 검사해준다. 추상 메서드가 하나만 존재 -> ok 추상 메서드가 없거나, 두개 이상 존재하는 경우 -> 컴파일 ..
-
[Spring] Spring 공부 정리 1카테고리 없음 2022. 2. 13. 20:41
Spring https://www.youtube.com/watch?v=XtXHIDnzS9c&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 기업형 응용 프로그램을 보조하기 위한 프레임워크 다음의 둘중 하나를 선택하여 기업형 응용 프로그램을 만들 수 있다 Java SE + Java EE Java SE + Spring MVC, 트랜잭션, 인증과 권한 MVC를 이해하기 위해 DI를 이해 트랜잭션을 이해하기 위해 AOP를 이해 인증과 권한을 이해하기 위해 Servlet Filter를 이해 느슨한 결합력과 인터페이스를 위해 설정 파일을 만들 것인데 왜 쓰는 것인지 알아본다 DI (Dependency Injection) https://www.youtube.com/watch?v=KJ9Rus3Q..
-
[Java] 클래스 상속관계에서의 static 메서드 재정의java/Class.Interface.Method 2022. 2. 6. 03:11
인터페이스의 static 메서드를 공부하며 그다지 깊게 생각해보지 않았는데 상속관계에서의 static 동작에 대해 부족한 부분이 있었다. static 메서드의 오버라이딩에 대해 부족한 점이 문제였다. 오버라이딩이란에 대해서 다시 한번 생각해보고 자바 메모리 구조에 대해서 한번더 생각해보는 계기였다. 공부 내용을 되생각해보니 Kotlin에서 확장 프로퍼티, 확장 함수에서 접했던 hiding 되는 내용과 비슷한 면이 있는 듯하다. class A { public static void staticMethod() { System.out.println("static A"); } } class B extends A { } public class Test { public static void main(String[] ..
-
[Java] Interface 나중 참고용java/Class.Interface.Method 2022. 2. 5. 21:05
인터페이스 내부에 선언되는 것들은 모두 public 이다. 선언 가능한 것들: 상수, 추상 메서드, 디폴트 메서드(java8), static 메서드(java8) 코드 삽입 부분의 것은 축약된 형태이다. 1. 상수 정의 interface TestInterface { int a = 100; //상수 } 모두 public static final로 간주된다. 2. 추상 메서드 정의 interface TestInterface { void abstractMethod(); //추상 메서드 } 모두 public abstract 로 간주된다. 인터페이스의 추상 메서드를 모두 구현해야 하는 점이 있었다. java8부터 구현내용이 있는 static 메서드와 디폴트 메서드를 정의할 수 있다. 두가지는 인터페이스 구현시 오버라..
-
[NumPy] BroadcastingPython 2022. 1. 23. 16:38
general broadcasting rule 꼬리부분의 차원(맨 오른쪽) 부터 시작해 왼쪽방향으로 적용된다. 각 차원에서 사이즈가 큰것이 적용된다. 1. 각 차원에서의 사이즈가 같거나 2. 각 차원에서의 한쪽 배열이 사이즈가 1일때만 적용가능 (없는 차원의 경우 사이즈 1로 간주할 수 있다) broadcasting 규칙 확인 1. broadcasting 적용 가능 유무, broadcasting 결과 배열의 shape a= (3 x 4) b= (1 x 1) (마지막 꼬리에 해당하는 차원인 열부터) 4, 1 비교 -> 큰 값 4 -> (행) 3,1 비교 -> 큰 값 3 broadcasting 결과: 3 x 4 a = (3 x 4) b= (4, ) -> 없는 차원은 비교될 때 1로 간주 (1 x 4) 4, ..
-
[ML] 다변수 함수의 수치미분AI 2022. 1. 21. 18:04
일변수 함수의 수치미분과 마찬가지로 아래의 공식을 통하여 다변수 함수의 수치미분 값을 구한다. ( f(x+delta_x) - f(x-delta_x) ) / ( 2 * delta_x ) 독립 변수가 세개인 f(x,y,z) 의 함수가정. 특정 좌표 (1,2,3) 에서 각 변수에 해당하는 편미분 값 (1,2,3)에서 x의 편미분 값 -> 계산 값 a 가정 ( f(1+delta, 2, 3) - f(1-delta, 2, 3) ) / (2 * delta) (1,2,3)에서 y의 편미분 값 -> 계산 값 b 가정 ( f(1, 2+delta, 3) - f(1, 2-delta, 3) ) / (2 * delta) (1,2,3)에서의 z의 편미분 값 -> 계산 값 c 가정 ( f(1, 2, 3+delta) - f(1, 2,..
-
[ML] 일변수 함수의 수치 미분AI 2022. 1. 21. 15:24
다음을 사용하여 특정 x 값에 해당하는 미분 값을 구한다. ( f(x+delta_x) - f(x-delta_x) ) / ( 2 * delta_x ) 일변수 함수 정의 def one_var_func(x): return x ** 2 # x^2 공식을 사용하여 특정 x 값의 미분을 구하는 함수 정의 def derivative(f, x): delta_x = 1e-4 # 미세한 값 return (f(x + delta_x) - f(x - delta_x)) / (2 * delta_x) x^2 함수의 x=3에서의 미분 값 print(derivative(one_var_func, 3)) (x^2의 도함수인 2x 에 x=3을 대입한 6과 비슷한 결과를 확인) 일변수 함수를 람다식으로 미분을 구하는 함수에 바로 전달 prin..