[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..
- Total
- Today
- Yesterday
- fetchapi
- spring test
- org.asciidoctor.jvm.convert
- pessimistic lock
- ContentCachingRequestWrapper caching # ContentCachingRequestWrapper file upload
- CloudStorage
- MockMvcTester
- CloudCDN
- 톰캣 로그파일 자동 삭제
- 멀티 인스턴스
- Could not find org.ysb33r.gradle:grolifant:0.16.1
- sql import
- asciidoctor sourceDir
- PreflightRequest
- LangChain4j
- mysql dump sql import
- Controller Testing
- ContentCachingRequestWrapper caching error
- Firebase 의존성 오류
- RAG
- springboot
- Spring MockMvc
- 톰캣 로그파일 자동삭제
- url구조
- asciidoctorExtensions
- springai
- teefilter file upload error
- Job Lock
- GcpFirestoreAutoConfiguration
- Spring Boot
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |