java
-
Kotlin in Action : ch 11. DSL 만들기Book/Kotlin in Action 2023. 1. 25. 18:51
11. DSL 만들기 DSL은 영역 특화 언어(Domain-Specific Language)를 의미한다. 즉, 특정 도메인에 특화된 언어이다. "문제 영역의 해결에는 그 영역의 언어를 전제로 둬야하며, 거기에서 프로그래밍 솔루션을 꺼내는 것이 중요하다" 라고 말한 Dave Thomas가 한 말을 생각하면 이해하기 쉽다. 특정 언어의 문제 해결에는 그 영역에 맞는 특화된 도구를 사용하자라는 것이다. 아래에 DSL에 대해 더 자세히 나오니 지금은 이정도만 알고 넘어가자. 코틀린의 DSL 설계는 코틀린 언어의 여러 특성을 활용한다. 그 중 두가지 특성을 살펴보면 수신 객체 지정 람다 수신 객체 지정 람다를 사용하면 코드 블록에서 이름(변수)가 가리키는 대상을 정할 수 있었다. 이러한 방식을 변경해서 DSL 구..
-
[우아한테크코스] Java 백엔드 프리코스 3주차 회고ヽ(✿゚▽゚)ノ 2022. 11. 17. 14:51
3주차 과제를 진행하며... 로또 과제를 진행하면서 막혔던 부분들과 얼렁뚱땅.. 해결하고 넘어갔던 부분을 공유하고자 합니다! 참고로 저는 프로그래밍의 완전 초보로써,, 제 회고록(회고..라기보다 반성..에 가까운)이 그 누구에게도 도움이 안될 수도 있습니다..(안돼요 그냥 안돼요ㅎ) 이번 회차에서 새로 추가된 요구사항과 내가 그 요구사항을 활용한 방법은 다음과 같다. 1. enum을 활용한다. - 문자열을 모두 enum을 사용해 저장해 두었다. 2. 함수의 길이가 15라인이 넘어가지 않도록 구현한다. - 최대한 넘어가지 않게 구현했지만.. ....(생략) 3. else 예약어를 쓰지 않는다 - 힌트 처럼 if 안에서 return하는 방식으로 구현했다. 다른 추가된 요구사항(도메인 로직에 대한 단위 테스트..
-
[우아한테크코스] JAVA 백엔드 프리코스 2주차 회고록ヽ(✿゚▽゚)ノ 2022. 11. 13. 16:24
2주차 과제를 진행하며.. 우테코 하면서 뼈저리게 느끼는 것 중 하나는 새로운 알고리즘을 짜는 것보다 내가 썼던 코드를 다시 보고 어떻게 하면 제대로 리팩토링 할 수 있을까 고민하면서 더 성장을 한다는 것이다. 이번 주차 과제부터 테스트 코드를 작성하는 과제가 더해졌는데, 제대로 해내지는 못헀지만, 테스트를 진행하면서 코드를 어떻게 수정해야 한 기능을 대표해서 하는 코드가 될 수 있는지 계속 생각하게 되었다. 그리고 지금부터 내가 의아하고 어려웠던 부분이 뭐였는지 얘기해보겠다. 테스트 코드 작성하기 얼마전에 김영한쌤 Spring 강의를 들을 때 테스트 코드의 중요성을 되게 강조하셨던 것 같은데, 그거에 대해서 되게 가볍게 여기고 넘어갔었다. 근데 과제로 테스트 코드를 작성하는게 나와버려서 하는 방법도 모..
-
Kotlin in Action: 2. Kotlin basicsBook/Kotlin in Action 2022. 10. 7. 16:08
Basic elements: functions and variables Kotlin이 아직 신생언어이고 자바와 호환성이 있다고 하지만 어느 부분에서 비슷한 것인지 헷갈리기 때문에 이 부분은 Java와 비교해가면서 공부하면 재미있을 것 같다! Kotlin과 java에서 메인함수에서 Hello, world!를 출력하는 코드는 다음과 같다. //Kotlin fun main(args: Array){ println("Hello, world!") } //Java public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello,world!"); } } 함수 선언 방법, Kotlin에서는 function의 약어인 fun으..