Java

    [java] HttpURLConnection을 이용한 API 통신 방법

    프론트에서 ajax나 Fetch API를 활용해서 API 통신하는 방식은 익숙하다. 백엔드에서도 URLConnection을 생성해서 API 통신을 할 수 있고 Response의 Payload 데이터에 접근할 수 있다! 예제코드 @PostMapping("/api/test") public ResponseEntity urlConnectResponseTest(@RequestBody JSONObject param) { HashMap res = new HashMap(); List list = new ArrayList(); list.add("1. 테스트 데이터입니다."); list.add("2. 테스트 데이터입니다."); list.add("3. 테스트 데이터입니다."); res.put("code", 200); res..

    [java] Stream API Basic

    Java 8에서의 가장 큰 변화 중 하나는 함수형 프로그래밍 패러다임을 지원한다는 것이다. 나는 현재 회사에서 기존에 있던 오래된 레거시 코드를 조금 더 좋은 코드로 리팩토링 하기 위해서 고민하고 적용해 볼 수 있는 시간을 가질 수 있게 되었다. 그리고 레거시 코드 중 일부를 Stream API를 활용해 리팩토링을 진행했다. 실제로 적용해 보며 느꼈던 점이 있다. - 코드 가독성이 눈에 띄게 좋아졌다. - Stream을 활용하는 게 무조건 성능 면에서 좋은 것은 아니었다. - 어떤 경우에 병렬 Stream을 이용해야 하는지 공부가 더 필요함을 느꼈다. 그리고 Java 8 공식문서에 기재되어 있는 Stream API의 특징을 간략하게 정리해 보았다. - Stream은 함수형 스타일을 지원한다. - 저장소가..

    [java] JVM의 Runtime Data Area에 대한 탐구

    나는 요즘 Github에 기술 스크립트를 정리하고 있다. 알고 있다고 생각하는 것도 실제 말로 내뱉는 게 어렵기 때문에 글로써 정리할 필요가 있겠다고 생각했고, 나중에 기술 면접에도 도움이 되지 않을까 싶었다. Java의 구조부터 차근차근 정리하려고 계획 중이고 너무 기초적인 것은 넘어가려고 한다. Java의 큰 장점 중 하나는 플랫폼(Operating System)에 종속되지 않고 독립적이라는 것인데 이런 장점을 제공하는 것이 JVM이다. JVM의 아키텍처는 핵심 기능을 하는 여러 개의 컴포넌트들로 이루어져 있지만, 첫 번째로 Runtime Data Area에 대한 탐구를 해보고자 한다. 상대적인 네이티브 언어와는 다르게 Java는 개발자가 Storage를 관리할 필요가 없는 Garbage Collec..