Operator Overloding //example 1 operator fun Int.plus(b: Int) = this + b //example 2 operator fun Int.plus(b: Any): String { return "$this $b" } println(10 + "ABC") // 10 ABC //example 3 data class Position(val a: Int, val b: Int) { operator fun plus(item: Position): Position { return Position(a + item.a, b + item.b) } } val positionOne = Position(1, 2) val positionTwo = Position(3, 4) println(p..
Constructor class Person constructor(firstName: String) { /*...*/ } // 생성자에 별도의 annotation이나 접근 제한자가 없으면 생성자를 생략 가능. class Person(firstName: String) { /_..._/ } // 별도의 annotation이나 접근 제한자가 있는 생성자 class Customer public @Inject constructor(name: String) { /*...*/ } // 기본 생성자에서 속성을 선언할 수 있다. class Person(val firstName: String, val lastName: String, var age: Int) class Person(val firstName: String, ..
숫자 정수 Byte, Short, Int, Long val one = 1 // Int val threeBillion = 3000000000 // Long val threeBillion = 3_000_000_000 // Long val oneLong = 1L // Long val oneByte: Byte = 1 val bytes = 0b11010010_01101001_10010100_10010010 실수 Float, Double val pi = 3.14 // Double val one: Double = 1 // Error: type mismatch val oneDouble = 1.0 // Double val e = 2.7182818284 // Double val eFloat = 2.7182818284f /..
시간 표현 - UTC, GMT란? UTC를 '협정세계시' 라고 번역하는데, 영어로는 Coordinated Universal Time이다. 단순하게 설명하자면, 영국을 기준(UTC+0:00)으로 각 지역의 시차를 규정한 것이다. 한국은 영국보다 9시간 빠르므로 UTC+9:00이라고 표시한다. 미국 뉴욕은 영국보다 5시간 느리므로 UTC-5:00라고 표시한다. GMT는 Greenwich Mean Time(그리니치 평균시)의 뜻이다. GMT+09:00와 UTC+09:00은 같은 뜻인가? 일상 생활에서는 그냥 같은 뜻이다라고 봐도 아무런 지장이 없다. 일상 생활에서는 GMT와 UTC를 거의 구별하지 않고 섞어서 쓴다. 역사적으로 GMT가 UTC보다 훨씬 이전에 나온 개념이다. UTC는 20세기 후반에 등장한 개..
Spring에서 제공하는 @Order는 List 형태로 DI 받을때 주입받는 Bean의 우선순위가 필요할때 사용한다. @Order(value = 1), @Order(value = 2), @Order(value = 3).. @Order의 value가 작을수록 우선순위가 높아 앞쪽으로 정렬되고, value가 클수록 우선순위가 낮아 뒷쪽으로 정렬된다. 이 때 주의할 점은 주입받는 N개의 Bean중 일부만 @Order를 사용하면 나머지Bean의 순서는 임의의 순서로 적용된다는 점이다. List중 가장 마지막에 DI 되어야 하는 Bean이 있어서 이 Bean에만 @Order(Ordered.LOWEST_PRECEDENCE) 를 사용했다. Local에서는 이 Bean이 가장 나중에 나와 정상적으로 정렬이 되었는줄 알..
some properties some.url=https://www.some.com 1. @PropertySource - config class @PropertySource("classpath:/my/application/some.properties") or @PropertySources({ @PropertySource("classpath:/my/application/some.properties"), @PropertySource(name="otherProperties", value={"classpath:/my/application/other.properties"}) }) or @PropertySource({"classpath:/my/application/some.properties", "classpath:..
Spring SpEL (Expression Language)은 runtime에 object graph를 query하고 조작하는 강력한 표현언어이다. SpEL 문법은 EL(Unified EL)과 비슷하지만, 메서드 호출과 기본 문자열 템플릿 기능 등 추가적인 기능을 제공한다. OGNL, MVEL, JBoss EL 등의 여러가지 자바 표현언어가 존재하지만 스프링 표현언어는 스프링 포트폴리오의 모든 제품에 걸쳐서 사용할 수 있는 하나의 표현언어를 스프링 커뮤니티에 제공하기 위해서 만들어졌다. SpEL은 기술에 독립적인 API를 기반으로하며 필요에 따라 다른 표현 언어 구현을 통합 할 수 있다. SpEL은 Spring 포트폴리오 내에서 식 평가의 기초로 사용되지만 Spring과 직접 관련이 없으며 독립적으로 사..
- Total
- Today
- Yesterday
- Sprint RetryTemplate
- Embeddable Mapping
- guava
- java Equals
- SmartLifecycle
- @Primary
- Join Table
- Criteria
- Discriminate Mapping
- Mapping
- docker
- Embedded Mapping
- java generic
- Akka
- Typesafe Config
- JPA
- Spring
- 복합키 Mapping
- DI
- Spring JDBC Template
- Charles proxy
- RetryTemplate
- Registrar
- Property
- Spring Registrar
- JPA Criteria
- Query DSL
- java EqualsAndHashCode
- scikit-learn
- spring spel
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |