전체 글 38

#1 미래에도 개발자는 가치가 있는가?

[근황]이번 한 주는 블로그를 아예 작성하지 못했다.작성할 시간이 있어야말이지 원..이번주 내내 자는 시간 이외에는 프로그램을 만들었다. 어머니의 업무를 도와줄 간단한 웹 서비스부터, 여러 용도로 사용할 수 있는 유용한 서버, 개발할 때 도움이 될 프로그램까지.일주일 내내 이러다보니 눈이 빠지는 것 같은 느낌이든다.일상생활에서 눈을 감고 다니고 싶다랄까.차라리 손 바닥에 눈을 이식하면 어떨까? 기초적인 임플란트다아아 나는 눈을 감고 걸어도 되는 자율주행이 필요하단말이다.. 사실 개발하면서 블로그 작성할 것들이 굉장히 많이 생겼는데, 너무 많이 생겨서 언제 다 정리할 수 있으려나. [개발자 VS AI]프로그램 개발에서 가장 큰 도움이 된건 AI였다.나는 막연히 AI에 대한 두려움이 있었다. 그도그럴게 개발..

사유하다 2025.06.29

[Spring Boot] 스케줄러 등록

1. Application 의 클래스에 @EnableScheduling 가 있어야한다.2. 스케줄러 파일 작성간단하게 메서드를 만들고 @Scheduled 어노테이션을 붙여주면된다. 이후 괄호안의 내용으로 반복시간을 지정해준다.@Scheduled(cron = "* * * * * *") 시간지정에는 규칙이 있다. 5초마다 실행하려면 */5 * * * * * * * * *초 분 시 일 월ex1) 5초마다 반복@Scheduled(cron = "*/5 * * * * *")ex2) 하루마다 반복@Scheduled(cron = "0 0 0 * * *")package kr.test.scheduler;import lombok.RequiredArgsConstructor;import lom..

Spring Boot 2025.06.20

[AG-Grid] 전체 목록 페이징 옵션 주기

AG-Grid 가 제공하는 기본 페이지네이션 기능을 사용하던 차에 페이지네이션+전체데이터 를 볼 수 있게 수정 요청을 받았다.AI는 paginationPageSizeSelector 에 false 를 주라니, "All", null, 0 등을 넣어보라고 했으나 모두 실패했다.찾은 해답은, 간단하게 변수를 만들고 데이터의 사이즈를 넣은 후 변수를 paginationPageSizeSelector 에 입력하면 되었다. function setData(obj){ let data = obj.dataList; let AllData = data.length; const gridOptions = { rowData: data, rowStyle: { cursor: 'pointer' }, columnDefs: [ //..

AG-Grid 2025.06.19

[CentOS 9] Kibana 데이터 연동

1. Elasticsearch와 Kibana 연동 확인. kibana.yml 설정 파일에 elasticsearch.hosts 항목 확인.elasticsearch.hosts: ["[]()"] 2. Logstash 설정 파일(logstash.conf 또는 logstash.yml 등)에서 output 부분의 Elasticsearch 설정 확인output { elasticsearch { hosts => ["localhost:9200"] index => "your_index_name-%{+YYYY.MM.dd}" } } 3. Logstash에서 Elasticsearch로 데이터 전송 확인curl -X GET "localhost:9200/_cat/indices?v" 4. Kibana에서 Index Patt..

LINUX 2025.06.18

[CentOS 9] Kibana 설치

접속 주소: http://설치서버ip:5601/1. Elastic 공식 저장소 추가sudo rpm --import sudo tee /etc/yum.repos.d/elastic.repo 아래 내용 전체를 그대로 복사해서 붙여 넣기. [elastic-7.x] 이 부분도 수정하지 말고 그대로 붙여 넣어야 함.[elastic-7.x]name=Elastic repository for 7.x packagesbaseurl=https://artifacts.elastic.co/packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-mdEOF 2. Kibana 7.0.1 ..

LINUX 2025.06.17

[JAVA] 반복문에서 삽입한 Map 데이터가 모두 빈 값이 나오는 문제

[코드작성 의도]배열 안에 hashMap 데이터를 넣는 것. hashMap의 데이터 형식 > key: columns 배열 내부에 있는 문자 > value: arryNode 내부에 있는 문자 (parsing 처리한 json 데이터) [예상동작]1. 첫 번째 for 문이 arryNode 데이터 개수만큼 반복 시작2. 두 번째 for 문이 columns 데이터 개수만큼 반복 시작3. HashMap인 rowValues 에 columns 의 데이터를 key 값으로 한 데이터 삽입4. 두 번째 for 문 동작 종료5. ArrayList 타입의 rowValueArray에 rowValues를 삽입6. rowValues의 값을 제거.7. 첫 번째 for 문 반복8. 최종 데이터 형태 (rowValueArray) > [..

[MyBatis] 한 번에 다수의 값 insert 하기

[기록이유]최근 네트워크 정책이 적힌 파일을 parsing 해서 DB로 관리할 일이 생겼다.List> 형태의 ArrayList 를 저장해야했다.for문을 돌리면서 한 줄 한 줄 넣기에는 적게는 수 천번을 해야했기에, 한 번에 insert 하는 방법을 강구했다. [예제]1. 데이터다음과 같은 ArrayList 가 있다.List> policyList 이 리스트에는 다음과 같은 형태로 값이 들어있다.[ {source=192.168.20.3, application=dev, destination=192.168.20.235, port=7765}, { source=192.168.20.4, application=dev, destination=192.168.20.236, port=7735 }, { source=19..

MyBatis 2025.06.12

[CentOS 9] Logstash 설치

[Logstash 의 필요성]syslog-ng 를 설치해서 다른 서버의 로그를 중앙집중식 로그 관리를 한다.Elasticsearch 를 설치해서 중앙집중된 대량의 로그를 빠르고 효율적으로 조회한다.문제는 수집되는 로그가 터무니없이 길고, 가독성이 너무 떨어진다는 것. 로그 = 단순 문자열 Elasticsearch로 수 십만 건의 긴 문자열을 조회하고 색인을 생성 작업은 굉장한 성능저하가 발생한다.따라서 적절하게 parsing 해줘야한다. 내 경우에는 보통 json 으로 필드화해서 사용한다. [ Logstash 의 장점]ES의 조회 성능과 효율성 모두 "크게" 개선Kibana에서도 필터, 집계, 대시보드 구성이 수월 [설치 방법]1. Elastic 저장소 추가 (이미 있다면 스킵)sudo rpm --imp..

LINUX 2025.06.12

[CentOS 9] Elasticsearch 7.1.0 설치

syslog-ng 를 이용하여 대량의 로그를 관리하게 되었다.많은 양의 로그내용을 가지고 효율적이고 빠른 조회를 위해 Elasticsearch 를 설치했다.수 많은 버전 중 무료버전의 가장 마지막 배포버전을 채택했다. 1. Java 11 설치sudo dnf install -y java-11-openjdk-devel2. Elasticsearch 7.10 RPM 다운로드wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-x86_64.rpm3. RPM 설치sudo rpm -ivh elasticsearch-7.10.2-x86_64.rpm4. 설정 파일 수정cluster.name: my-applicationnode.name..

LINUX 2025.06.11

[CentOS 9] syslog-ng 설치

해당작업은 CentOS 9버전. 7이하는 2024년부로 지원이 종료되어서 레포지토리를 변경하는 작업이 필요함. 1. epel 설치sudo dnf install epel-release2. syslog-ng 설치# dnf copr 플러그인 설치sudo dnf install dnf-plugins-core# copr 저장소 활성화sudo dnf copr enable czanik/syslog-ng336# syslog-ng 설치sudo dnf install syslog-ng3. rsyslog 중지 및 비활성화sudo systemctl stop rsyslogsudo systemctl disable rsyslog# rsyslog 상태 확인 (inactive 상태여야 함)systemctl status rsyslog4. ..

LINUX 2025.06.10
반응형