전체 글

전체 글

    [2022년을 시작하며] 시빅해킹, 졸업 그리고 새로운 직장

    2022년이 시작됐다. 2022년에 어떤걸 해볼까? 계획을 세우기에 앞서 올해 어떤걸 했는지 돌아봤다. 아무래도 가장 컸던건 코로나19 개인안심번호 프로젝트였던 것 같다. (관련 기사: https://n.news.naver.com/article/001/0012210995) '개인안심번호'는내가 활동하고 있는 코드포코리아의 시빅해커들의 아이디어와 재능기부로 만들어졌다. 수기출입명부에는 당초 방문자 이름과 휴대전화 번호, 주소를 적게 돼 있었는데 사생활 침해 우려에 2020년 9월 이름을 제외하고 휴대전화 번호와 주소지 시·군·구까지만 기재하도록 방역수칙을 변경됐다. 그럼에도 휴대전화 번호 유출에 따른 개인정보 오·남용 사례가 끊이지 않았다. 수기명부에 휴대전화 번호를 적었다가 모르는 사람한테 연락을 받거..

    jacoco Unexpected SMAP line: *S KotlinDebug 에러

    이번에 Kotlin + SpringBoot로 새로운 프로젝트를 시작했는데, jacoco를 붙이려고 과거에 사용했던 세팅을 그대로 가져왔다. 하지만 Unexpected SMAP line: *S KotlinDebug 라는 에러가 발생하며 Verification과 Report Task 실행이 되지 않았다. 뭐가 문제일까? 문득, 버전의 문제가 아닐까? 라는 생각이 들었다. 프로젝트를 진행하고 시간이 지남에 따라 각 프로젝트마다 코틀린과 스프링부트의 버전이 다른데, 이게 문제가 아닐까? 검색을 해보니 역시나 버전 문제였다. jacoco의 버전을 기존 0.8.5에서 최신 0.8.7으로 올리는 것으로 해결했다. jacoco { toolVersion = "0.8.7" } Appendix https://blog.leo..

    위기대응 민관협력 준비반 자문회의 참석

    오늘은 과학기술정보통신부에서 진행하는 위기대응 민관협력 준비반 자문회의에 다녀왔다. 민간클라우드와 오픈소스를 기반으로 위기대응 서비스를 개발할 수 있도록 지원하는 플랫폼 사업인데, 꽤나 흥미로웠다. 그리고 대한상공회의소 7층 개방형클라우드플랫폼센터에서 회의를 진행했는데.. 도착하고 보니 전자정부프레임워크를 여기서 관리한다는걸 알게됐다. 최대한 시민, 그리고 이러한 클라우드 플랫폼을 사용하는 개발자의 입장에서 필요하다 느끼는 부분을 토론 형식으로 말씀 드렸고, 꼭 성공했으면 좋겠다 :D

    SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (3)

    목차 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (1) SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (2) SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (3) - 현재 게시글 이제 만들어둔 서버와 통신한 클라이언트를 만들어볼 차례다. 개략적으론 SocketJS와 STOMP Client를 이용해 통신하고, vue/bootstrap/freemarker로 화면을 그릴 예정이다. 1. 의존성 추가 dependencies { implementation("org.webjars.bower:bootstrap:4.3.1") implementation("org.webjars.bower:vue:2.5.16") implementation("org.webjars.bower:ax..

    SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (2)

    목차 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (1) SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (2) - 현재 게시글 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (3) springboot-web 관련 의존성은 추가되어있다는 것을 가정으로 글을 작성하니 참고 부탁드립니다. 1. 채팅방 관리를 위한 Entity 및 Component 추가 여기선 Repository에 별도 DataSource를 연결하지 않고 memory 상에 Map으로 관리해주었다. // ChatRoom.kt data class ChatRoom( val name: String ) { val id: String get() = "room_$name" } // ChatRoomRepositor..