반응형

분류 전체보기 44

Fire Up! GenAl on AWS : Agent Day 세미나 후기

AWS에서 주최한 Agentic AI와 MCP 세미나에 다녀왔습니다평소 AI 기술에 관심이 많아서 참석했는데, 생각보다 훨씬 흥미로운 내용들이 많더라고요.특히 AI가 이제 단순히 답변만 하는 게 아니라 스스로 생각하고 행동하는 수준까지 와 있다는 점이 인상적이었습니다. 🔍 Agentic AI란 무엇인가? 세미나 초반에 발표자가 설명한 Agentic AI의 정의가 흥미로웠어요.기존의 생성형 AI(Generative AI)와는 완전히 다른 개념으로,스스로 사고하고 기억하며, 복잡한 작업을 계획하고 실행할 수 있는 AI 시스템이라고 하더군요. 단순히 명령에 반응하는 것이 아니라,목표 중심적으로 능동적인 문제 해결을 수행한다는 점이 핵심이었습니다. 발표 중에 AI 발전 과정을 정리해주는 부분이 있었는데, 되돌..

[AWS] 2025.06.30

[Spring Batch] ItemReader과 ItemWriter 사용해보기

Spring Batch는 대용량 데이터 처리를 효율적으로 처리할 수 있도록 지원하는 강력한 프레임워크이다 이 프레임워크의 핵심 구성요소 중 하나가 바로 ItemReader와 ItemWriter가 있다 이번 포스팅에서는 이 두 컴포넌트의 개념을 이론적으로 정리하고, 실제로 프로젝트에서 겪었던 문제와 해결 방법도 함께 공유하고자 한다 Spring Batch의 핵심 컴포넌트: ItemReader, ItemWriter Spring Batch는 대량의 데이터를 처리할 때 기본적인 구조는 다음과 같다 ItemReader → ItemProcessor(선택적) → ItemWriter ItemReader란?ItemReader는 데이터를 하나씩 읽어온다 read() 메서드를 통해 호출될 때마다 다음 데이터를 반환하며..

[Spring Batch] 2025.05.29

[Spring Batch] Multi-DataSource 주입 오류 해결 방법

최근 프로젝트를 진행하면서 발생했던Multi-Datasource SqlSessionFactory 주입 관련 이슈를 정리해보려 한다 이번 글에서는 이 문제를 어떻게 해결했는지,그리고 그 근본적인 원리는 무엇인지 정리해보려 한다 개발 환경JDK 21Spring Boot 3.x + Spring BatchMyBatisMulti-DataSource 구성 (MySQL + PostgreSQL)Build Tool: Gradle 오류 상황 Spring Batch 내에서 MyBatis의 Multi-Datasource SqlSessionFactory를 주입하기 위해 아래와 같이 정의했다 @Qualifier("readerSqlSessionFactory")private final SqlSessionFactory readerS..

[Spring Batch] 2025.05.26

[프로그래머스 JAVA] 배열 자르기

배열 자르기 라는 문제이다주어진 배열에서 주어진 2개의 정수값 사이의 배열을 가지고 오면 된다  처음엔 반복문을 돌려서 배열 값을 잘라내야 하나 싶었는데간단한 메소드들을 활용하면 한줄로 끝낼 수 있었다 먼저 처음엔 copyOfRange 를 활용했다 copyOfRange(배열, 시작값, 끝값) 으로 배열의 시작값과 끝값까지 배열을 잘라내서 복사하는 것이다 두번째는 IntStream 을 활용했다 IntStream.range(시작값, 끝값).map(num -> 배열[num]).toArray()를 쓰면 배열값의 시작값과 끝값까지 새로운 배열로 저장한다  Stream이 활용할 수 있는 곳이 많아 익숙해져야함으로 사용해봤지만코드상으로 봤을때는 copyOfRange 이 훨신 간단하고 간편하다 import java.u..

[JAVA] 2024.07.21

[프로그래머스 JAVA] 대문자와 소문자

주어진 문자열을 대문자는 소문자로, 소문자는 대문자로 변경한 값을 리턴하는 문제이다Character을 다루는 메소드를 알고 있다면 쉽게 풀이할 수 있다   class Solution { public String solution(String my_string) { String answer = ""; for (int i=0; i 주어진 문자열을 반복문에 사용하기 위해 문자열 길이를 구할 것이다length는 배열의 길이, length()는 문자열의 길이를 구할 때 쓴다 Character.isUpperCase 메소드를 사용하여 해당 문자가 대문자인지 확인한다이때 주어진 문자열에서 해당 문자를 charAt() 으로 가져올 수 있다 Character.is- 는 해당 문자가 대문자인..

[JAVA] 2024.06.22

[프로그래머스 JAVA] 숨어있는 숫자의 덧셈 (1)

문자열에서 숫자만을 뽑아낸 총합을 구하는 문제이다  먼저 주어진 문자열 중에 숫자만 골라내서 배열에 넣어주는 작업이 필요하다그리고 반복문으로 모든 값을 더해주면 끝  여기서 관건은 String으로 되어 있는 문자열을 Integer로 형변환을 해줘야 하는 점이다  class Solution { public int solution(String my_string) { int answer = 0; String[] arr = my_string.replaceAll("[a-zA-Z]", "").split(""); for (int i=0; i replaceAll은 해당 값을 치환해주는 메소드이다특정 문자 하나만 치환하는 경우는 replace를 사용해야하지만정규식..

[JAVA] 2024.06.22

[프로그래머스 JAVA] 가위 바위 보

입력받은 문자열을 하나씩 비교하여 가위바위보를 이기는 문자열을 출력하면 된다 class Solution { public String solution(String rsp) { String answer = ""; String[] arr = rsp.split(""); for (int i=0; i  먼저 입력받은 String을 배열로 변경하는 과정이 필요하다 split 을 이용하면 수월하게 배열로 전환이 가능하다  문자열은 + 을 사용해서 더해주면 된다 대신 문자열을 비교할 때는 equals 를 사용해줘야 한다

[JAVA] 2024.06.21

[프로그래머스 JAVA] 짝수는 싫어요

짝수는 싫어용..   주어진 n 값 보다 작은 홀수 값들을 배열로 리턴한다  class Solution { public int[] solution(int n) { int[] answer = new int[(n+1) / 2]; for (int i=1; i 제일 간단하게는 n값 + 1한 값의 나누기 2 보다 큰 배열값이 나올 수 없음으로int[] answer = new int[(n+1)/2] 로 리턴할 배열값을 초기화 한다 그리고 나서 반복문을 돌리면서 홀수값만 배열에 넣어주면 끝    하지만 이제껏 풀이를 해보면서 느꼈듯.. 배열은 stream.. 요 메소드를 사용한 풀이가 무조건 있을 것 같다는 생각이 들었다 그리고 훨신 간단한 코드가 있었다 import java.util...

[JAVA] 2024.06.21

[프로그래머스 JAVA] 중앙값 구하기

주어진 배열값 중에 중앙값을 출력하는 문제이다 반복문을 두번 돌려서 하나씩 체크하는 방법도 있겠지만 그거보단 좀 더 효율적인 방법을 생각해내는 것이 관건으로 보인다  import java.util.Arrays;class Solution { public int solution(int[] array) { int answer = 0; Arrays.sort(array); answer = array[array.length / 2]; return answer; }} Arrays.sort를 활용하면 배열을 오름차순으로 정렬이 가능하다그럼 주어진 배열의 길이만 / 2 한의 배열 값만 가져오면 간단하다    배열 문제는 은 Arrays 라이브러리를 얼마나 잘..

[JAVA] 2024.06.21
반응형