전체 글 (18) 썸네일형 리스트형 [수영일기] 접영 발차기 시작 (7/29) 7월 강습의 마지막 수업을 진행했다. 오늘의 메뉴는 바로 접영 발차기! 제일 하고 싶었던 영법이 바로 접영이었고 접영 배우는 날만 기다리고 있었는데 그 날이 생각보다 빨리 와서 좋았다😁 (물론 내 실력은 관계없고 강사님이 진도를 엄청나게 빨리 빼시는 스타일이라서 그렇다) 자기 전에 보면 딱 좋은 펠프스 접영영상 강습은 아래와 같은 순서로 진행되었다. ①벽 잡고 접영발차기(=돌핀킥) 연습 ②킥판 잡고 돌핀킥하면서 가다 일어서서 숨쉬기 ③킥판 잡고 돌핀킥 2회 후 일어서지 말고 숨쉬기 발차기에 집중하기 위해 팔을 사용하지 않고 킥판을 이용하는 연습 위주로 시키신 듯 하다. 오늘은 다행히도 지적받은 부분이 한가지 뿐이었다. 사실은 지적만 안 받은게 아니고 '잘 하고 계세요~' 라는 칭찬까지 들었다(몰래 예습한.. Apache Avro를 이용한 Kafka Message Schema 관리(1) Apache Avro란? Apache Avro™ is a data serialization system - Apache Avro™ 1.11.0 Documentation Apache Avro는 데이터 직렬화에 관한 내용을 포괄하는 시스템이다. 다만 우리가 실제로 사용할 때는 이렇게 거창하게 생각할 필요는 없고 아래의 세 가지 기능을 제공하는 시스템이라고 생각하면 편하다. (실제 공식문서를 봐도 각 언어별로 사용하는 법 중심으로 간결하게 정리되어 있다) 1. 메시지 스키마를 제공해 준다 아래와 같이 Avro 스키마를 JSON으로 쉽게 정의할 수 있다. 파일의 확장자는 .avsc 로 저장하면 된다 {"namespace": "example.avro", "type": "record", "name": "User",.. [수영일기] 1. 숨쉬는 방법부터 다시 배우실게요(음파음파 호흡법) 6월부터 수영을 배우기로 했다! 계획력만 있고 실천력이 없어서 매번 배우겠다는 생각만 했는데 더 늦어졌다간 정말 영영 못 배울 것 같아서 홀린듯이 수강신청을 했다 운동을 시작하는 나만의 꿀팁이 있는데 첫번째가 일단 적당히 가깝고 괜찮은 곳을 찾아가서 돈부터 내고 등록하는 것이고 두번째가 운동한 것을 기록하는 것이다 사람 마음이 간사한 것이 일단 돈내고 끊어 놓으면 돈 아까워서라도 하게 되고 기록을 남기게 되면, 힘들어서 못하겠다고 느낄 때 조금 살살 해서라도 기록하게 되더라 그렇게 첫 강습날이 되고, 동네 이마트에서 파는 수영복과 수영모자를 쓰고 설레는 마음으로 수영장으로 향했다 근데 사실 뭐 어디로 가야 할 지 몰라서... 아무 레인이나 들어가서 얼타고 있었다 다행히 '쟤는 딱 봐도 수영 처음이네'라는.. [수영일기] 3. 수영장 물은 내가 다 먹었으니 안심하라구(자유형 호흡 연습) 오늘은 오른손으로 자유형 호흡을 연습했다 우선 수업을 시작하면, 벽을 잡고 팔을 돌리면서 호흡하는 연습을 하게 된다 강사님이 명칭은 안 알려 주셨지만, 호흡을 하는 과정에서 롤링 동작도 자연스럽게 수행이 된다 (롤링이란 숨을 쉬기 위해 몸통과 고개가 옆으로 돌면서 물밖으로 나오는 동작이다) 이 호흡 연습은 강사님 설명만 들으면 엄청 쉬워보이고, 실제로 벽잡고 연습할 때도 너무 쉽다 나는 벽잡고 연습이 너무 쉽고 재미없어서 강사님이 오른쪽만 하라고 했는데 강사님 안 보는 사이에 맘대로 몰래몰래 왼쪽도 연습하고 자세도 이것저것 바꿔가면서 놀았다 그리고 킥판잡고 출발하는 순간 바로 물먹는 하마로 변신했다(...) 처절하게 물 먹고, 강사님의 가이드를 들어가며 내가 느낀 점은 아래와 같다 1. 손이 물밖으로 나.. [수영일기] 4. 자유형 졸업(맞나...?) 저번 시간의 롤링 호흡 연습에 이어 오늘은 헬퍼 착용후 자유형 연습을 진행했다 강사님이 어느정도 롤링과 호흡이 가능하다고 판단하신 듯? 술 마시러 안(못)가고 수영장 물 먹어가면서 연습한 보람이 조금은 있나 보다 위에 보이는 판떼기가 바로 헬퍼다 처음에는 저놈의 판떼기를 대체 뭐라고 불러야 하나 감도 안 잡혔는데 오늘 강사님이 '헬퍼 착용하세요~' 해서 이름이 헬퍼인 걸 알게 되었다 착용하면 허리에 부력이 굉장히 크게 걸려서 가라앉을 걱정이 없기 때문에, 스트로크와 킥 자세에 집중할 수 있다 사실은 강습 첫날에도 헬퍼를 착용해 본적이 있기는 한데 그때는 진짜 물에 도저히 뜰래야 뜰 수가 없어서 강사님이 '얘는 이거라도 껴야 겨우 뜨겠다' 하는 의미로 헬퍼를 주셨던 것 같은데 오늘은 헬퍼의 본 목적에 맞게.. Spring의 HandlerInterceptorAdapter는 왜 deprecated되었을까? 찾아보게 된 계기 Spring의 Interceptor 사용 방법을 찾기 위해 Spring 공식 문서를 찾아보고 있었다. 공식 문서에는 아래와 같이 HandlerInterceptorAdapter를 상속받으면 된다고 적혀 있다. public class TimeBasedAccessInterceptor extends HandlerInterceptorAdapter { private int openingTime; private int closingTime; public void setOpeningTime(int openingTime) { this.openingTime = openingTime; } public void setClosingTime(int closingTime) { this.closingTime = c.. java.time API의 다양한 시간 유형(Instant, LocalDateTime, OffsetDateTime, ZonedDateTime) Java Time API를 살펴보게 된 계기 개발을 하면 시간에 대한 로직을 처리할 때가 많은데, 이럴 땐 괜히 머리 아프게 직접 데이터타입을 만들거나 문자열로 처리하지 말고 언어별로 제공되는 시간 API를 사용하는 것이 가장 효율적으로 개발할 수 있다. 차세대 프로젝트에서 Java 1.6이하의 레거시 코드를 Java 11로 올리는 작업을 하게 되면서 기존에 String 혹은 Date API로 되어 있는 코드를 자연스럽게 Java 1.8부터 도입된 java.time API로 전환하게 되었다 java.time API에는 다양한 데이터타입들이 지원되는 것 같은데 그 중에서도 LocalDateTime을 가장 보편적으로 사용하고 있는 듯 하다 프로젝트에서도 이를 사용하긴 했으나 사실 명확하게 LocalDatet.. Java enum을 역방향 매핑(reverse mapping) 시켜보자 역방향 매핑(reverse mapping)이란? Java의 enum을 사용하면 멤버별로 숫자나 추가적인 코드를 매핑시킨 후, 멤버로부터 이를 꺼내 쓸 수 있다. 그런데 enum을 사용하다 보면, 반대로 숫자 혹은 코드가 있을 때 이에 해당하는 enum 멤버를 만들어 사용해야 하는 경우가 존재하는데, 이렇게 반대로 매핑하는 것을 역방향 매핑이라고 한다 TypeScript의 역방향 매핑과 Java에서의 구현 Typescript에서는 Numeric Enum인 경우 역방향으로 참조가 가능하도록 트랜스파일이 된다. 즉, TypeScript로 Enum을 만들면 아래와 같은 JavaScript 코드가 자동으로 생성된다. // TypeScript로 작성한 코드 enum MudoMemberBirthEnum { JAESE.. 이전 1 2 3 다음 목록 더보기