전체 글

전체 글

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

    오늘은 과학기술정보통신부에서 진행하는 위기대응 민관협력 준비반 자문회의에 다녀왔다. 민간클라우드와 오픈소스를 기반으로 위기대응 서비스를 개발할 수 있도록 지원하는 플랫폼 사업인데, 꽤나 흥미로웠다. 그리고 대한상공회의소 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..

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

    목차 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (1) - 현재 게시글 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (2) SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (3) 이번에 사이드 프로젝트를 진행하면서 채팅 기능을 구현하게 됐다. 관련하여 공부해본 내용을 작성해본다. 채팅이라고 하면 일반적으로 아래와 같은 프로세스로 통신 하게 된다. 이 때 클라이언트와 서버는 HTTP 통신이 아닌, 소켓 통신을 하게 된다. Why? 클라이언트와 서버간 연결을 수립해두고, 해당 경로를 통해 통신하기 위함이다. HTTP 통신은 한번 연결 수립 후 응답이 오게 되면 연결이 끊기게 된다. 클라이언트A와 서버가 연결되고, 클라이언트B와 서버가 연결된 상태에서 클라이언트A..

    [Java & Kotlin] enum class가 완벽한 싱글톤이라 불리는 이유

    싱글톤 패턴(Singleton Pattern)이란? 싱글톤은 애플리케이션 상 특정 클래스가 최초 한 번만 메모리를 할당하고 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴을 의미한다. 객체 생성 요청이 여러번 발생하더라도 새롭게 메모리를 할당하여 인스턴스를 만드는 것이 아닌 기존에 생성되어 있던 인스턴스를 참조하는 것이다. 싱글톤 패턴을 사용한다면 불필요한 메모리 사용을 줄일 수 있다는 장점이 있다. JVM에서의 싱글톤 JAVA에서 인스턴스를 생성할 때에는 new 키워드와 함께 생성자를 사용한다. 그러므로 클래스를 싱글톤으로 만들려면 외부에서 생성자를 호출할 수 없게 private으로 만들어줘야 한다. // Java public final class SingleTonTest { @NotNull pub..