전체 글
-
Dockerfile로 이미지 빌드 및 실행Docker 2025. 7. 25. 22:59
Springboot로 만든 웹 애플리케이션으로 이미지를 빌드하고, 단일 컨테이너를 실행하는 예시입니다. Dockerfile 작성# === Build Stage ===FROM openjdk:17.0.2-jdk-slim-buster AS builderWORKDIR /appCOPY gradlew build.gradle.kts settings.gradle.kts ./COPY gradle ./gradleCOPY src ./srcRUN ./gradlew bootJar --no-daemon# === Run Stage ===FROM openjdk:17.0.2-slim-buster AS finalWORKDIR /appEXPOSE 8080COPY --from=builder /app/build/libs/myapp-0.0.1..
-
Docker를 사용하는 이유Docker 2025. 7. 24. 21:52
환경 통일애플리케이션과 종속성, 설정값을 도커 이미지로 패키징하기 때문에 '제 로컬 PC에서는 되는데 서버에서는 안돼요.'를 없애줍니다. 배포 자동화 및 간소화표준화된 환경에서 작업할 수 있도록 하여 라이프사이클을 간소화합니다. CI/CD 파이프라인에서 애플리케이션 빌드 -> 이미지 빌드 -> 푸쉬 -> 배포를 자동화할 수 있습니다. dockerdocs 시나리오1. 로컬에 코드 작성하고 도커 컨테이너로 동료들과 공유2. 테스트 환경에 앱 푸쉬하고 테스트 실행3. 버그 발견시, 개발 환경에서 수정하고 테스트 환경으로 재배포4. 테스트 완료시, 업데이트된 이미지를 프로덕션 환경에 푸쉬 일반적으로 위 시나리오를 토대로 CI/CD 스크립트를 작성 버전 관리도커 이미지는 이름과 태그로 생성되기 때문에, 버전 관리..
-
[SpringAI] Tool Calling (2) - DB 접근AI 2025. 6. 20. 21:50
SpringAI 기술과 LLM을 활용해서 데이터베이스 접근을 해봤습니다.ChatClient(Ollama) + LLM(llama 3.2) + SpringAI Tool로 구성했습니다. 사용자 더미데이터 application.propertiesspring.application.name=ai-dataaccessspring.ai.ollama.base-url=http://localhost:11434spring.ai.ollama.chat.model=llama3.2spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpyspring.datasource.url=jdbc:log4jdbc:mysql://127.0.0.1:3306/test_dbsprin..
-
[SpringAI] Tool Calling (1)AI 2025. 5. 24. 16:31
Tool이란?LLM은 학습 후 동결되어 오래된 정보를 가지고 있으며, 데이터베이스, 파일 시스템 등 외부 데이터에 접근하거나 수정할 수가 없습니다. Tool calling 메커니즘은 그런 문제점을 해결하도록 도와줍니다. 자체 서비스를 Tool로 등록하여 LLM을 외부 시스템(API, 표준 기능 등)에 연결할 수 있습니다. 메서드 Tool메서드에 어노테이션을 달아서 Tool로 바꿀 수 있습니다.class MyTools { @Tool(description = "") void test(@ToolParam(description = "") String ) { }}@Toolname: Tool 이름. 지정하지 않으면 메서드 이름이 사용됨. AI 모델은 Tool을 호출할 때 name 값..
-
[SpringAI] 간단한 Ollama 채팅 클라이언트 만들기AI 2025. 5. 22. 21:52
Ollama 및 LLM 설치https://yeolmok.tistory.com/47 참고하시면 됩니다. Springboot 프로젝트 코드build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.4.5' id 'io.spring.dependency-management' version '1.1.7'}dependencies { implementation 'org.springframework.ai:spring-ai-starter-model-ollama' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly '..
-
Ollama 설치 및 실행AI 2025. 5. 16. 21:19
Ollama는 DeepSeek, Qwen, Llama, Gemma 등의 LLM(Large Language Model)을 로컬에서 실행할 수 있도록 해줍니다. 따라서 LLM 설치 이후에는 네트워크 연결 없이 실행할 수 있으며 개인 정보, 사내 기밀 등 민감한 정보를 로컬에서 안전하게 처리할 수 있습니다.Ollama 설치https://ollama.com/ OllamaGet up and running with large language models.ollama.com CLI에서 Ollama 버전 확인ollama -vollama version is 0.7.0 CLI에서 Ollama 모델 리스트 확인ollama listNAME ID SIZE MODIFIED..
-
[macOS] 특정 포트를 사용중인 프로세스 종료기록/Default 2025. 5. 13. 14:29
아래는 8080 포트를 사용하는 프로세스를 종료하는 예시입니다. 포트를 사용 중인 프로세스 찾기커맨드lsof -i :8080 출력COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnode 52064 dongwook-kim 21u IPv6 0x9ee5210a439fca0f 0t0 TCP *:http-alt (LISTEN) PID로 프로세스 종료kill -9 49126'-9'는 강제 종료 옵션입니다.
-
Xcode 파일 잠김iOS 2025. 5. 12. 22:04
pod install을 하다가, 또는 여러가지 이유로 파일이 잠겨서 수정을 할 수 없는 경우의 해결책입니다. 안내 메세지... is locked for editing and you may not be able to save your changes. Do you want to unlock it?... is currently locked because you are not the owner of the file and do not have write permission. Unlock 버튼을 눌러도 다음과 같이 파일의 오너가 아니기 때문에 쓰기 권한을 부여할 수 없다고 안내 메세지를 보여줍니다. 이 글에서는 Finder를 통해 권한을 부여해 보겠습니다. 1. 파일을 Finder에서 찾아줍니다. 2. 정보 가져..