[Linux] source 명령어의 적용 범위: 나만? 모두? 핵심 요약source 명령어는 오직 명령어를 실행한 현재 터미널 세션에만 영향을 미칩니다. 다른 사용자나 다른 터미널 창에는 전혀 적용되지 않습니다.source 명령어의 핵심 원리리눅스에서 셸 스크립트를 실행하는 방식은 두 가지로 나뉩니다.일반 실행 (./script.sh): 새로운 **자식 셸(Sub-shell)**을 만들어 그 안에서 스크립트를 실행합니다. 스크립트가 끝나면 자식 셸은 사라지고, 내부의 변경 사항(환경 변수, 함수 등)도 함께 사라집니다. 원래의 터미널에는 아무런 영향을 주지 않습니다.source 실행 (source script.sh 또는 . script.sh): 새로운 셸을 만들지 않고, 현재 셸에서 스크립트 코드를 그대..
Cloud CDN 연동 시 CORS 문제 해결: Fetch API와 이미지 태그 요청의 차이점Cloud CDN을 통해 GCP 버킷에 저장된 파일에 접근할 때, 태그의 src 속성으로 이미지를 불러오는 것과 JavaScript의 fetch API를 사용하는 경우 CORS(Cross-Origin Resource Sharing) 문제가 발생하는 경우가 있습니다. 본 포스팅에서는 이러한 상황의 원인을 분석하고, 정확하고 자세한 해결 방법을 제시하며, 관련 gcloud 명령어 예시와 더불어 preflight 요청의 동작 방식까지 함께 알아보겠습니다.🚀 문제 상황: Cloud CDN과 함께하는 버킷 파일 접근, fetch만 CORS 에러?Cloud CDN이 연결된 Google Cloud Platform (GCP..
[Spring Boot] CI/CD 환경에서 Firebase 인증 오류 해결기 (GcpFirestoreAutoConfiguration) 안녕하세요!오늘은 Spring Boot 프로젝트에 Firebase 의존성을 추가한 뒤, 로컬에서는 잘 동작하던 테스트 코드가CI/CD 환경(GitHub Actions, Jenkins 등)에서 실패하는 문제와 그 해결 과정을 공유하고자 합니다. BeanCreationException과 Failed to obtain credentials 메시지로 고통받으셨다면 이 글이 도움이 될 겁니다!📜 사건 (The Incident)새로운 기능을 위해 Spring Boot 프로젝트에 spring-cloud-gcp-starter-data-firestore 의존성을 추가했습니다.로컬 환경..
HTTP URL 구조 완벽 가이드: 웹 주소의 모든 구성 요소 이해하기들어가며웹 브라우저의 주소창에 입력하는 URL은 단순해 보이지만, 실제로는 여러 구성 요소가 체계적으로 조합된 복잡한 구조입니다. 이번 포스팅에서는 HTTP URL의 각 구성 요소를 자세히 살펴보고, 웹 개발자라면 반드시 알아야 할 URL 구조에 대해 알아보겠습니다.HTTP URL의 기본 구조HTTP URL(Uniform Resource Locator)은 다음과 같은 표준 구조를 따릅니다:https://www.example.com:8080/path/to/resource?query=value¶m=123#fragment이 하나의 URL 안에는 웹 통신에 필요한 모든 정보가 담겨 있습니다.URL 구성 요소 상세 분석1. 프로토콜 (P..
Spring Boot 스케줄러 잡 중복 실행 방지 구현기환경Spring Boot 3.2.1JPA/HibernateMySQL문제 상황운영 환경에서 여러 서버 인스턴스가 동시에 실행될 때, 스케줄러 잡이 중복으로 실행되는 문제가 발생했습니다. 이는 데이터 일관성 문제와 리소스 낭비를 야기할 수 있습니다.해결 방안: 데이터베이스 기반 잡 락 시스템1. 잡 상태 관리 엔티티@Entity@Getter@NoArgsConstructor@AllArgsConstructor@Builderpublic class ScheduleJobStatus { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Lon..
🌱 Spring AI vs 🔗 LangChain4j: Java AI 프레임워크 전격 비교최근 AI 기술, 특히 LLM(대규모 언어 모델)을 자신의 애플리케이션에 통합하려는 개발자들이 늘어나면서 Java 진영에서도 두각을 나타내는 두 개의 프레임워크가 있습니다. 바로 Spring AI와 LangChain4j입니다.두 프레임워크 모두 강력하지만, 지향하는 철학과 사용 방식에 차이가 있어 프로젝트의 성격에 맞는 기술을 선택하는 것이 중요합니다. 이 글에서는 두 프레임워크를 심층적으로 비교하고, 어떤 상황에서 무엇을 선택해야 할지 명확한 가이드를 제시합니다.1. 정의: 두 거인의 등장🌱 Spring AISpring AI는 Spring 개발팀이 직접 만드는, 스프링 생태계에 AI 기능을 '네이티브'하게 통합..
안녕하세요! 오늘은 Spring MVC 컨트롤러를 테스트할 때 자주 사용되는 두 도구, MockMvc와 MockMvcTester를 비교해보겠습니다. Spring Framework는 웹 애플리케이션 테스트를 위해 다양한 도구를 제공하는데, 이 중 MockMvc는 오랜 기간 표준으로 자리 잡았고, 최근 Spring 6.2부터 소개된 MockMvcTester는 더 현대적이고 fluent한 API를 제공합니다. 이 포스팅에서는 먼저 각 개념을 설명한 후, 비교를 통해 차이점을 분석하고, 마지막으로 실제 예시 코드를 통해 어떻게 사용하는지 보여드리겠습니다.이 비교는 Spring Boot를 기반으로 한 테스트 환경을 가정하며, 실제 프로젝트에서 컨트롤러 테스트를 효율적으로 적용하는 데 도움이 될 것입니다. 그럼 시..
상황 spring rest doc이 적용된 spring boot 2.6. gradle 7버젼에서 aws codebuild 빌드단계 및 로컬빌드 중 아래와 같은 플러그인의 의존성을 가져오지 못하는 문제 발생 build.gradle 코드는 수정하지 않았음 id "org.asciidoctor.jvm.convert" version "3.3.2" // Spring REST Docs 에러 메시지 Welcome to Gradle 7.4.1! 90 91 Here are the highlights of this ***: 92 - Aggregated test and JaCoCo reports 93 - Marking additional test source directories as tests in IntelliJ 94 -..
gradle에서 asciidoctorExtensions 플러그인 설정시 기본 path는 src/docs/asciidoc로 되어있다 더보기 Methods sourceDir where the asciidoc sources are. Use either sourceDir path, setSourceDir path or sourceDir=path Type: File, but any object convertible with project.file can be passed. Default: src/docs/asciidoc. 출처: https://asciidoctor.github.io/asciidoctor-gradle-plugin/maintenance-1.5/
- Total
- Today
- Yesterday
- pessimistic lock
- org.asciidoctor.jvm.convert
- mysql dump sql import
- springboot
- 멀티 인스턴스
- ContentCachingRequestWrapper caching # ContentCachingRequestWrapper file upload
- CloudStorage
- GcpFirestoreAutoConfiguration
- url구조
- springai
- 톰캣 로그파일 자동 삭제
- MockMvcTester
- teefilter file upload error
- Spring MockMvc
- Controller Testing
- ContentCachingRequestWrapper caching error
- PreflightRequest
- asciidoctor sourceDir
- Could not find org.ysb33r.gradle:grolifant:0.16.1
- Firebase 의존성 오류
- sql import
- LangChain4j
- CloudCDN
- RAG
- Spring Boot
- asciidoctorExtensions
- 톰캣 로그파일 자동삭제
- spring test
- Job Lock
- fetchapi
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |