Feature Flag - 안전하고 신뢰할 수 있는 배포로 나아가는 열쇠 🔑
안녕하세요. 11번가 Core플랫폼개발팀 전지원입니다. 저희 팀에서는 Spring Cloud 기반의 전사 MSA 플랫폼인 Vine의 공통 컴포넌트 개발과 운영을 담당하고 있습니다. 또한 각 소프트웨어 엔지니어링 조직이 Self-Service 기능을 사용할 수 있도록 툴체인과 워크플로우를 설계하고 있으며, 애플리케이션 전체 수명 주기에 필요한 운영 요구사항을 포괄하는 IDP (Internal Developer Platform)인 Wheelhous
DevOpsMSASpringTools
쿠버네티스가 스프링부트 3.0 네이티브 이미지를 만났네
네이티브 이미지 배포 방식 적용 전후를 되돌아보면, 50초였던 기존 프로그램 실행시간은 2초로 줄었습니다. 신규 파드를 추가할 때 사용하는 도커 이미지 크기는 기존 JAR 기반에서는 300MB였지만, 이제는 70MB 정도로 줄었습니다. 방식 자체를 바꾼 결과가 수치로도 큰 차이가... The post 쿠버네티스가 스프링부트 3.0 네이티브 이미지를 만났네 appeared first on 넷마블 기술 블로그.
DockerKubernetesPerformanceSpring
FCM 알아보기
FCM 알아보기 들어가기 전.. 이번 프로젝트에서 앱에서 알람을 보내기 위해, FCM 를 사용하게 되었습니다. 구글링과 공식문서를 보면서 테스트 앱을 만들고, FCM을 태스트 하였는대, 설정 부분에서 몇몇 부분들이 재대로 설명되어 있지 않거나 생략이 되어있어 나중에 또 다시 FCM 기능을 사용할때 참고하기 위해서 이렇게 글을 작성하게 되었습니다!. 목차 소개 FCM 이란? FCM의 주요 기능 푸시 알림 전송 방법 ( Spring boot + a
BackendMobileSpringTools
WebRTC 화상회의 서버 구축
WebRTC 화상회의 서버 구축 소개하기 전… WebRTC 기본 정보 WebRTC 란? WebRTC 종류 WebRTC 서버 구축을 위해 필요한 4가지 테스트 프로젝트 spring boot 시그널링 서버 프론트 코드 ( html + javascript ) flutter 예제 소개하기 전.. 이번에 프로젝트에서 webRTC 사용하게 되었습니다. 사용 이유는 CCTV 를 웹과 flutter 앱 화면에 보기 위해서 입니다. 저는 WebRTC를 한번도
BackendFlutterFrontendJavaScriptSpring
제목은 Spring Session 도입기로 하겠습니다. 근데 이제 Redis를 곁들인
안녕하세요. 줌인터넷 핀테크개발팀 김민수입니다. 사내에서는 문제를 개선하고 지속 가능한 서비스를 만들기 위한 많은 노력을 하고 있습니다. 회원 서비스의 세션 저장소를 교체하면서 Spring Session을 도입한 경험을 공유합니다. 이런 분들이 읽으면 더 도움이 됩니다. 분산 환경에서 세션 동기화 문제를 해결하고자 하는 분 Spring Session을 도입하고자 하는 분 기존 아키텍처를 유지하면서 서비스를 개선하는 과정이 궁금하신 분 등 목차는
BackendRedisSpring
Service Discovery DR 구성 3부 - eurekube-operator의 Zone Failover를 위한 Spring Cloud LoadBalancer 탐구
안녕하세요. 11번가 Core플랫폼개발팀에서 MSA 플랫폼 Vine의 개발과 운영을 담당하고 있는 전지원입니다. 이번 Article에서는 Eureka 서버의 Multi-Zone 구성을 함에 따라 기존에 11번가 내에서 IDC의 Client-side Service Discovery와 EKS 클러스터의 Server-side Service Discovery 통합을 담당하던 Kubernetes Operator인 eurekube-operator 의 구현
ArchitectureDevOpsKubernetesMSASpring
이루다 서버의 모니터링 스택을 소개합니다
Spring Boot 서버 모니터링하기. 근데 이제 Prometheus를 곁들인
BackendMonitoringSpring
스포카에서 Kotlin으로 JPA Entity를 정의하는 방법
안녕하세요. 키친보드 팀의 백엔드 프로그래머 남경호입니다. 최근 Kotlin이 서버 언어로 주목받기 시작하면서 Kotlin + Spring으로 서버를 개발하는 케이스가 많아졌습니다. 그러면서 자연스레 Kotlin으로 JPA를 사용하는 사례 또한 많아졌는데요. 다만 Kotlin으로 JPA를 사용하다 보면, 정확하게는 Entity를 정의하다 보면 Kotlin의 언어적 특성과 잘 맞지 않는 부분을 많이 발견하게 됩니다. JPA 는 Java Persi
BackendDatabaseKotlinSpring
Spring boot - 설정파일로 AspectJ PointCut 지정하기
AspectJ 라고 하면 Advice, Pointcut, Weaving 등 다양한 개념이 등장하지만 이 글의 주제는 포인트컷을 설정파일로 빼는것이므로 AOP 에 대한 내용은 아래 링크를 참고 부탁드립니다. Aspect Oriented Programming with Spring Spring AOP와 AspectJ 비교하기 Spring 에서 Aop는 Bean 만을 대상으로 하며 aop의 설정 코드도 Bean 으로 작성하게 되어 있습니다. 이는 Sp
ArchitectureBackendSpring
Vue SSR 제대로 적용하기 (feat. Vanilla SSR)
안녕하세요, 줌인터넷 포털개발팀 프론트엔드 파트리더 황준일입니다 🙇♂️ 오랜만에 기술블로그에 투고를 하네요. 어떤 글을 주제로 글을 작성해야 유익할까 꽤 오랜 시간 동안 고민을 했습니다. 이번에는 제가 실무를 하면서 생각보다 꽤 많은 삽질을 했던, SSR(Server Side Rendering)을 주제로 다뤄보도록 하겠습니다. 본 포스트는 모바일 줌 SpringBoot → NodeJS 전환기 (feat. VueJS SSR)을 먼저 읽어보면
FrontendNode.jsSpringVue
카카오헤어샵
2021-05-14 · 약 5년 전
언제까지 자동으로 잡아 주길 원해. - LocalContainerEntityManagerFactoryBean
안녕하세요. 카카오헤어샵 백엔드 개발팀 카이입니다. 이번 포스팅에서는 빈으로 등록된 값 사용한 AttributeConverter를 개발하면서 겪은 문제를 공유하고 어떻게 풀어 갔는지 소개해보려고 합니다. 저의 첫 포스팅 끝까지 읽어주실 거조. :) (문제 해결이 궁금하시다면 아래 요약으로 SKIP) 문제의 서막 엔티티의 속성 값 중 디비에 저장 및
BackendDatabaseDevOpsJavaSpring
카카오헤어샵
2021-04-16 · 5년 이상 전
boot 1.3을 2.3으로 버전업
안녕하세요. Calvin입니다. 카카오헤어샵 어드민을 spring-boot 1.3에서 2.3으로 버전 업하면서 겪은 시행착오를 공유할까 합니다. 왜 버전업을 하나요? 스프링의 새로운 모듈을 써야 하는데 1.3은 버전이 너무 낮아서 지원이 안되었어요. 5년 동안 방치하다가 이제야 올리게 되었습니다. 그리고 새로 합류한 개발자들이 모두 boot 2.x 에
ArchitectureBackendSpring
카카오헤어샵
2021-04-05 · 5년 이상 전
JPA Dirty Checking사용시 주의점 - JPA를 사용한 업데이트 연산을 믿지 말자.
안녕하세요. 카카오헤어샵 백엔드 개발팀 딘입니다. 이번 포스팅에서는 간단하지만 쉽게 놓칠 수 있는 부분을 소개해드리려고 합니다. :) 어느 날 API 모니터링 중 유난히 응답속도가 오래 걸리는 API를 발견하게 되었고, 어떤 작업을 수행하는 API인지 찾아보게 되었습니다. API의 기능을 간략하게 정리하자면 아래와 같은 기능을 수행하고 있었습니다. 사
BackendDatabaseJavaPerformanceSpring
카카오헤어샵
2021-01-26 · 5년 이상 전
REST API 초고속 개발?! - Spring Data REST
안녕하세요:) 카카오헤어샵 백엔드 개발자 ian입니다! 이번 주제는 Spring Data REST + Spring Data JPA를 이용해 REST API를 손쉽게 만들 수 있는 방법을 공유하겠습니다. 먼저, 보편적으로 REST API 생성 시 구조는 아래와 같을 것입니다. (Controller -> Service -> Repository) - Con
BackendData EngineeringJavaSpring
Spring 로컬 캐시 라이브러리 ehcache
BackendJavaPerformanceSpring
모바일 줌 SpringBoot → NodeJS 전환기 (feat. VueJS SSR)
정말 오래간만에 기술 블로그에 글을 작성하는 것 같습니다. 이 글을 쓰기 약 3개월 전인 03월 26일 모바일 줌 프로젝트는 내부적으로 다시한번 큰 변화를 맞았습니다. 어플리케이션의 언어와 운영환경을 변경한 것인데, 팀 내에 공유했던 자료와 완료 보고에 사용했던 자료들을 이용해 저희 팀이 어떤 선택을 했고 왜 그런 선택을 했는지, 또 어떤 성과를 보였는지 공유하고자 합니다. 들어가며 모바일 줌 (m.zum.com) 모바일 줌은 줌 인터넷에서 제
BackendMobileNode.jsSpringVue
Couchbase Spring data repository 적용기(3)
Spring data는 custom object-mapping 추상화를 지원하고 이를 통해 개발자가 다양한 데이터 저장소에 직접 access layer를 구현할 필요가 없도록 도와줍니다. 이러한 장점을 활용해 보기 위한 Repository 적용기를 소개합니다. 이번 마지막 3부에서는 Repository 커스텀 기능 추가를 이용해 Couchbase의 증분값을 보다 편하게 호출하는 방법과 주의점을 살펴보겠습니다. 1. 간단한 CRUD 기능, Cou
BackendDatabaseSpring
Couchbase Spring data repository 적용기(2)
Spring data는 custom object-mapping 추상화를 지원하고 이를 통해 개발자가 다양한 데이터 저장소에 직접 access layer를 구현할 필요가 없도록 도와줍니다. 이러한 장점을 활용해 보기 위한 Repository 적용기를 소개합니다. 이번 2부에서는 직접 생성해 조회해야 했던 ViewQuery를 spring-data-couchbase의 view 기반 쿼리 메소드를 이용하도록 수정하는 과정을 다룹니다. 1. 간단한 CR
BackendData EngineeringSpring