분류
-
프랑스 파리 (Bercy)에서 네덜란드 암스테르담 버스로 가기 (8시간)기타/해외 여행 2024. 1. 24. 06:44
프랑스 파리에 거처가 있고 네덜란드 친구들을 만나기 위해 혼자 버스 타고 가는 여정을 담았다. 영어는 자유롭지만 프랑스어는 완전 기초 문장들만 외우고 사용하는 레벨이다. 기차로 3~4시간이면 가는데 120유로였고 버스로는 7~8시간이지만 20유로 밖에 안 해서 가성비 때문에 버스를 선택했다. FlixBus가 아니라 이 회사와 비슷한 BlaBlaCar 회사 버스를 선택했다. (Omio 웹 사이트에서 최저가 선택) 버스 정류장 위치 일단 지하철이나 버스를 타서 Bercy 역에 갔다. (Bercy, 48 bis Bd de Bercy, 75012 Paris) Flix Bus Shop이라고 공원에 있는 위치를 찾아가면 되는데 (https://maps.app.goo.gl/9saDVQiP2JSwoPQz8) 지하철에서..
-
SNCF Transillien 프랑스 원하는 기차/버스 시간표 웹사이트 만들기컴퓨터/파이썬 2024. 1. 24. 06:16
소개 프랑스 파리 중심이 아닌 외곽에서 1달을 살게 되면서, 매일 파리 가는 기차를 확인했다. (https://www.transilien.com/ 과 J 라인 전용 공지 (https://malignej.transilien.com/) A에서 파리, 파리에서 A 역으로 가는 모든 시간대를 실시간 업데이트로 바로 보고 싶어서 (오늘과 내일) SNCF API를 이용할 것이다. (Société Nationale des Chemins de fer Français로 프랑스 국영 철도 회사) 벨기에는 국영 transporation 회사가 3개다 사용 https://numerique.sncf.com/startup/api/ API - SNCF NUMÉRIQUE Obtenez un accès à l'API numerique..
-
Spring boot: websocket 서버 확장 도전 및 Kafka컴퓨터/Kafka 2023. 12. 24. 13:23
소개 같은 Spring boot 웹소켓 서버 (실시간 채팅을 위한)를 scale-out 하는 (같은 서버를 여러 다른 포트에서) 과정을 담았다. 문제 여기서 마주친 문제는, 여러 다른 포트에서 열린 웹소켓 서버에서 같은 하나의 채팅 방에 있는 유저들끼리 어떻게 통신할 수 있을까? (예: 8081 포트 서버에서 "spring"이란 채팅 방, 8082 포트 서버에서 "spring"이란 채팅 방, 서로 같은 메시지를 봐야 한다.) Sticky Session 처음 떠올린 건 스티키 세션이다. 사용자를 특정 서버 인스턴스에 '고정'해서, 모든 요청이 같은 서버로 라우팅 되도록 하는 기술이다. (세션 데이터 일관성 유지) 웹소켓의 경우, 연결이 한 번 맺어지면 계속 유지되므로, 스티키 세션의 효과가 제한적일 수 있..
-
K6/JMeter로 WebSocket 성능 테스트 해보기 (nginx 로드 밸런서)컴퓨터 2023. 12. 21. 01:08
소개: Spring Boot 프로젝트에 마이크로서비스로 쓰일 채팅 웹소켓 서버를 Rust 및 Spring Boot WebFlux 버전으로 만들고 K6 및 JMeter를 이용해 로드 테스트를 해볼 것이다. i5-10600KF (6코어 - 가상 12) CPU와 24GB 컴퓨터 로컬에서 테스트한 과정이다. n명의 유저 중 80%가 트위터 예전 기준 140 단어 기준 (약 1KB) 메시지를 전송한다. (Lorem ipsum) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse porttitor quam vitae aliquet faucibus. In condimentum mi id accumsan ullamcorper. Fusce conva..
-
Spring Boot: Kotlin + Cassandra 에서 @CreatedDate null 해결컴퓨터/Spring Boot 2023. 12. 16. 17:40
코틀린 스프링 부트에서 Apache Cassandra/Scylla 데이터 베이스를 사용할 때 Auditing을 해도 @CreatedDate 어노테이션이 작동을 안 해서 null이다. @LastModifiedDate는 근데 작동을 잘한다. Main.kt @EnableScheduling @SpringBootApplication @EnableCassandraAuditing class KotlinTestApplication { // @PostConstruct // fun setTimeZone() { // TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul")) // } companion object { @JvmStatic fun main(args: Array) { Se..
-
Spring Boot: Kotlin + ScyllaDB 도커 시작컴퓨터/Spring Boot 2023. 12. 14. 21:34
Datastax 드라이버로 Configuration을 만들고 간단한 도메인을 만들어서 저장하는 과정을 썼다. 풀소스는 아래 github에서 참고. GitHub - Alfex4936/spring-boot-kotlin-scylladb-demo: Spring Boot written in Kotlin with two scyllaDB nodes in Docker Spring Boot written in Kotlin with two scyllaDB nodes in Docker - GitHub - Alfex4936/spring-boot-kotlin-scylladb-demo: Spring Boot written in Kotlin with two scyllaDB nodes in Docker github.com DataS..
-
AWS EC2 가비아 HTTPS 도메인 503컴퓨터 2023. 12. 5. 10:19
아래 글을 참고해서 똑같이 만들어 주었다. (로드 밸런서, https 인증서) EC2 HTTPS로 연결하기 (1) - 도메인 구매하고 ACM 인증서 발급하기 > 1편) 도메인 구매하고 ACM 인증서 발급하기 도메인 인증 --> ACM 인증서 발급 --> Target Group 생성 --> Load Balancer 생성 --> 규칙 수정 --> Health check 성공) 2편) 로드 밸런서 사용하고 Health check 통과하기 ( woojin.tistory.com 그런데 배포하고 나니 503 에러가 떴다. 트래픽이 많을 때 뜬다는데 트래픽을 많이 보냈다는 것이 이상해서 찾아보니 가용 영역이 다르다. t3.medium을 사용하고 ap-northeast-2a, ap-northeast-2b 만을 썼더니 ..
-
Spring boot: Github Action CI에 JaCoCo + CodeCov컴퓨터/JAVA 2023. 12. 3. 18:32
할 것: Github Action을 이용하여 JaCoCo 테스트 커버리지 결과를 CodeCov 하는 과정 CI를 만들 것이다. 필요: Codecov - The Leading Code Coverage Solution Code coverage reporting solution for any test suite — Codecov gives developers actionable insights to deploy reliable code with confidence. about.codecov.io 위 사이트에 로그인해서 레포지토리를 선택한다. 그리고 CODECOV 토큰을 받아서 Github 설정 secret에 넣어준다. Github Action CI 최상위 폴더에서 java라는 폴더에 스프링 부트 프로젝트가 있..