728x90

전체 글 210

LG U Plus 현행화 프로젝트 후기

Intro 입사 5개월 차에 Kafka 시스템을 대체적으로 활용하고 CTI 솔루션을 교체하는 사용자 웹 페이지 프로젝트를 맡게 되었습니다✌ 보안이 철저한 만큼 자세한 내용은 작성하지 못하지만 프로젝트를 하면서 배운 점과 후기를 작성해 보겠습니다😝  개요 이번 프로젝트는 LG U Plus 고객센터에서 아웃바운드, 인바운드 업무를 보시는 분들이 기간 별 통계 자료를 관리하고 임직원 분들의 상담을 평가할 때 사용하는 웹 사이트를 구축하는 개발자로 투입되었어요.  제가 담당한 부분은 자동화 시키는 Batch 파일을 생성하고 CTI 구/신 버전에 맞춰서 데이터를 변환하여 등록하고 사용자 사이트에서 확인할 수 있게 했습니다. 사실 Batch 쪽은 처음 해보는 작업이었고, 페이지마다 하루에 보통 30만 건을 들어오..

[ Project ]/Team 2024.06.21

[ Java ] Optional 개념 및 올바른 사용법 알아가기

Intro 개발을 하다 보면 가장 많이 발생하는 에러 중 하나인 NullPointException을 자주 만나게 되는데,해당 에러를 피하기 위해 null을 체크하는 로직을 추가합니다. //mkey = Id 값 입니다. 해당하는 데이터가 없으면 null 입니다.MemberVO findUser = memberRepository.findById(mKey);//만약 findUser 결과 값이 null이면 NullPointException이 발생합니다.findUser.getUserNm();//--------------------------------------------------------------------------------if(findUser != null){//NullPointException을 방지..

[ JAVA ]/JAVA 2024.06.10

[ Java ] OutOfMemoryError(With 힙덤프) 에러 분석해보기

안녕하세요🤚 오늘은 실무에서 프로젝트 진행 중 Heapdumponoutofmemoryerror 가 발생해서해당 에러의 개념과 실전 예제 코드를 통해서 알아보겠습니다 😄    Heapdumponoutofmemoryerror 옵션은 Java 애플리케이션이 메모리 부족(OutOfMemoryError)오류가 발생했을 때 발생합니다. Java는 개체를 Heap(힙) 공간에 생성하고이 생성 위치에 대한 주소를 가지고 Object Reference(개체 참조)하는  방식으로 사용합니다. 개체를 생성하는 과정에서 Heap 공간에 개체를 할당하기 위한 공간이 부족한 경우 발생하는데,이 경우 가비지 컬렉터는 새로운 개체를 생성할 수 있는 공간을 확보할 수 없습니다. 드물게 가비지 컬렉션을 수행하는데 과도한 시간이소비되..

[ Error ]/JAVA 2024.05.29

[ Java ] java.util.stream.IntStream 주요 메서드 정리

오늘은 토이 프로젝트 생성하면서 테이블 생성 테스트 코드 작성할 때활용했던 java.util.stream.IntStream에 대해 포스팅해 보겠습니다😄  주요 메서드 정리 및 개념에 대해 다루고 실전 예제 코드를 통해서 각 메서드에 장단점을 알아보는 시간을 가지겠습니다 ❗ IntStream - 소개 IntStream은 Java 8에서 도입된 Stream API의 일부분으로,'int' 기본형에 특화된 스트림입니다. Stream API는 Java에서 함수형 프로그래밍 스타일을 사용하여 데이터 처리를 할 수 있도록 도와주고IntStream은 'Stream' 와는 다르게 오토박싱/언박싱의 오버헤드가 없기 때문에 성능적으로 유리합니다. IntStream은 여러 가지 방법으로 다음과 같이 생성해서 사용할 수 있습..

[ JAVA ]/JAVA 2024.05.23

[ Concept ] 분산 코디네이터 Zookeeper(주키퍼) 알아가기

Intro 이전 포스팅에서 Kafka(카프카)의 개념에 대해 알아봤습니다.이어서 오늘은 Kafka(카프카)와 떨어질 수 없는 사이인 Zookeeper(주키퍼)에 대해 포스팅을 진행해보려고 하는데요.카프카를 사용하려면 주키퍼까지 알아야 한다니.. 정말 공부할 게 너무 많아서 걱정이네요..😭 그럼 바로 주키퍼에 대해 파헤쳐 보겠습니다❗ Zookeeper(주키퍼) - 소개   분산 시스템을 설계하다 보면, 가장 큰 문제점 중의 하나가 분산된 시스템 간의 정보를 어떻게 공유할 것이고,클러스터에 있는 서버들의 상태를 체크할 필요가 있으며 또한, 분산된 서버들간에 동기화를 위한 Lock(락)을 처리하는 것들이 문제로 부딪히는 상황이 발생하는데요. 이러한 문제를 해결하는 시스템을 코디네이션 서비스 시스템(coord..

[ Concept ] 2024.05.20

[ Concept ] 대용량 / 실시간 데이터 처리를 위한 오픈 소스 (Apache Kafka)

Apache Kafka (아파치 카프카) 란? 실무 프로젝트에서 개발을 끝내고 테스트를 진행하던 중 대용량 데이터를 처리하는 과정에서 접하게 된 오픈 소스에 대해 포스팅을 진행해 보겠습니다.  아파치 카프카? 실무에서 가끔씩 선배님들과 대화하면서 들어본 적은 있지만 실질적인 제어 코드나 실시간으로 제어하는 서비스를 이번에 진행하는 프로젝트에서 처음 접해봤습니다. 카프카는 웹 사이트, 애플리케이션, 센서 등에 취합한 데이터를 스트림 파이프라인을 통해 실시간으로 관리하고보내기 위한 분산 스트리밍 플랫폼이며, 데이터를 생성하는 애플리케이션과 데이터를 소비하는 어플리케이션 간의 중재자 역할을 함으로써 데이터의 전송 제어, 처리, 관리 역할을 합니다. 카프카 시스템은 여러 요소(노드)와 함께 구성될 수 있어 카프..

[ Concept ] 2024.05.17

[ Oracle ] 오라클 힌트(Hint) 개념 및 사용법 정리

SQL 튜닝 - Oracle Hint 개념 오라클 힌트는 SQL 튜닝의 핵심 부분으로 일종의 지시 구문입니다.오라클 옵티마이저(Optimizer)에게 SQL문 실행을 위한 데이터를 스캐닝하는 경로,조인하는 방법 등을 알려주기 위해 SQL 사용자가 SQL 구문에 작성하는 것을 뜻합니다. 오라클이 항상 최적의 실행 경로를 만들어 내기는 불가능하기 때문에직접 최적의 실행 경로를 작성해 주는 것인데, 사용자가 특정 SQL 문장에서 어떤 인덱스가 선택도가 높은지알고 있는 경우 옵티마이저에 의존한 실행 계획보다 훨씬 효율적인 실행 계획을 구사할 수 있습니다.SELECT /*+ FULL(tb_empl) */ * FROM tb_empl WHERE deptno = 10; 정리해 보면오라클 힌트는 SQL문 내에 주석 형태..

[ SQL ]/SQL 2024.05.14

[ Java ] IndexOutOfBoundsException 에러 해결

실무에서 프로젝트 진행 중인 과정에서  Excel 기능 개발을 하던 중IndexOutOfBoundsException : Index:0, Size: 0 에러가 발생했다.자바에서 흔히 볼 수 있는 Exception이라서 해당 에러가 발생했을 때여러 가지 변수가 있겠지만 간단히 해결하는 방법을 공유하겠습니다.  IndexOutOfBoundsException은 앞서 말씀드린 것처럼자바에서 발생하는 일반적인 예외 중 하나입니다. 보통 배열이나 유효하지 않은 인덱스에 접근하거나리스트나 다른 자료 구조에서 유효하지 않은 인덱스를 사용해서 요소에 접근 시도하거나문자열에 인덱스가 문자열의 길이를 초과하는 경우에 발생하는 Exception이라서 간단한 코드로는 파악하기 쉽지만실무 소스를 보면 절대.. 간단한 코드 같은 건..

[ Error ]/JAVA 2024.05.09

신입 개발자 STT-CTI 프로젝트 후기

Intro 입사 3개월 차에 자사 솔루션 개발에 참여하여 프로젝트를 진행했습니다✌ CTI 프로젝트를 12월에 끝내고 쉴 틈 없이 바로  LG 프로젝트에 투입돼서야근하는 삶을 살다 보니 어느덧 5월이 되고 담당 기능 개발이 끝난 상황이라 조금은 여유가 생긴 상황입니다😅 CTI 프로젝트는 자사 솔루션 개발을 중점으로 진행이 되었는데요. 비전공자로 시작해서 지금은 1년 차 개발자의 길을 가고 있는데첫 실무 프로젝트를 통해 개발하면서 배운 점과 후기를 작성해보려 합니다 :) 개요 먼저 제가 현재 근무하고 있는 회사는 고객센터 솔루션 개발 및 구축 전문 회사입니다.그렇다 보니 첫 입사 했을 때 콜 센터 시장의 지식이 부족한 상태다 보니 중요한 용어 위주로 알아보곤 했었는데요. CTI 프로젝트는 고객센터 상담사 ..

[ Project ]/Team 2024.05.08

[ Oracle ] MERGE INTO 문 사용법 및 예제

드디어 진행하고 있는 프로젝트 개발이 막바지에 왔습니다.들어오는 요구 사항이 물 밀듯이 밀려오다 보니 야근을 많이 하다 보니 블로그 포스팅을 못했는데프로젝트하면서 나왔던 오류라든지 혹은 배워야 하는 부분에 대해 하나씩 정리해보려고 합니다. 오늘은 Query 가공하면서 가장 고생했던 MERGE INTO 문에 대해 알아보려고 합니다. 이전 프로젝트에서도 MERGE문을 사용할 경우가 종종 있었는데주로 데이터 마이그레이션이나 혹은 데이터 INSERT 하는 경우 사용합니다. 특히 기존 테이블에 데이터를 INSERT 하면 기존 데이터와 겹치지 않게 하기 위해 MERGE INTO 문을 사용합니다. 이 부분에서 그러면 데이터 INSERT 하는데 굳이 MERGE INTO 문을 사용해야 할까?의문에 빠질 수 있지만, 데이..

[ SQL ]/SQL 2024.05.08
728x90