본문 바로가기
반응형

전체 글904

kafka 실습 (설치) 이전 포스팅에서 kafka 에 대한 내용을 다룬적이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. 이번 포스팅에서는 피시에 카프카를 설치를 하고 직접 springboot 에서 테스트 해보는 코드를 작성해볼 것이다. kafka는 zookeeper를 사용해서 mac 에 설치를 하였다. https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 설치가 된 후 과정은 아래와 같다. 1. bin/zookeeper-server-start.sh config/zookeeper.properties 를 하여 zookeeper 를 실행한다. 2. bin/kafka-server.. 2023. 6. 4.
[쉘스크립트] if 문법 정리 #!/bin/bash num=10 if [ "${num}" -eq 2 ]; then echo "number is 2" elif [ "${num}" -eq 3 ]; then echo "number is 3" else echo "number is not 2 or 3" fi 쉘 스크립트에 대한 개념은 아래 참고 포스팅 참고 바란다. 먼저 상단에 배쉬쉘을 등록해주고 변수를 지정해준다 그리고 그 지정한 변수를 아래 If 문 에서 처럼 사용을 하려면 $ 표시와 중괄호로 묶어서 함께 사용할수 있다. 그리고 [ ] 대괄호 안에는 앞뒤 공백을 빼야한다 ( [ "${num ... 이런식으로 [ 다음에 공백이 없어야함) 공백이 있으면 아래와 같은 에러가 난다. .script.sh : line 5: [: missing `]'.. 2023. 6. 3.
custom annotation 활용 요즘 자바에선, 스프링에선 annotation에 대해서 많이 사용이 되고 없이는 개발이 많이 불편한 시대가 되어버렸다. 이전 포스팅에서 annotation에 대해서 많이 다뤘으니 참고를 하는것도 도움이 될것이다. 이번 포스팅에서는 aop를 사용할때 필자가 사용했던 custom annotation을 설명하려고 한다. aop 에 대한 내용 역시 아래 참고 포스팅을 참고하길 바란다.(pointcut에 annotation 설정하는 경우) annotation은 일단 interface 로 작동을 하게 된다. interface로 선언을 하니 당연한 내용이다. 그리고 annotation을 만들 interface를 만들어준다. @Retention(RetentionPolicy.RUNTIME) @Target(value = .. 2023. 6. 2.
SPRINGBOOT 에서 등록된 Bean 추출 이전 포스팅에서 applicationContext를 통해서 bean을 넣는것이랑 Bean에 대한 개념을 다룬글이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 이번 포스팅은 Springboot에서 서버를 기동 시키게 될때 Spring container는 bean을 모두 등록하는데 그 리스트를 출력을 하는방법을 다뤄보려고 한다. SpringBoot 프로젝트를 starter 를 통해서 생성을 할 경우 Project명Application.java 파일이 자동으로 생성이 된다. 그 안에는 package랑 기본적인 main 메서드가 들어가있다. 아래와 같다. package com.명; import org.springframework.boot.autoconfigure.SpringBootApplication.. 2023. 6. 1.
CLOB 타입 데이터베이스에서 테이블에 데이터 형식을 정해주곤 한다. 대표적으로는 Varchar / Integer / Date 등의 자료형이 있는데, 오늘 다뤄볼 내용은 CLOB, BLOB 등 LOB 타입이다. 일단 사용에 대해서는 CREATE TABLE TEST_TABLE ( ID VARCHAR(10), NAME CLOB ); 이렇게 지정을 해주면 된다. 그럼 CLOB 와 BLOB에 대해서 어떤 자료형인지 알아보면, 데이터 타입 설명 CLOB 문자형 대용량 객체 고정길이와 가변길이 문자집합 지원 NCLOB 유니코드를 지원하는 문자형 대용량 객체 BLOB 이진형 대용량 객체 BFILE 대용량 이진 파일에 대한 위치,이름 저장 이런 설명이다. LOB이란 Large Object의 약자로 대용량 데이터를 저장할 수 있는 데.. 2023. 5. 31.
리눅스 백그라운드 프로세스 확인 (jobs) 리눅스에서 프로세스를 돌릴경우 백그라운드와 포어그라운드로 돌려볼수가 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 백그라운드로 프로세스를 돌릴경우에 확인을 할수 있어야하는데, 그럴때 사용하는 명령어는 바로 jobs 명령어이다. 일단 그냥 jobs를 사용하면 실행중인 백그라운드 목록이 나온다. 그리고 명령어 옵션은 -l 과 -p를 알고 있으면 된다. -l은 좀더 자세한 내역을 확인할수 있다. -p는 프로세스 아이디를 출력한다. 백그라운드 세션의 상태값들이 몇가지 있는데 , Running - 작업이 종료하지 않고 계속 진행 중 Done - 작업이 완료되어 0을 반환하고 종료 함 Stopped - 작업이 일시 중단 Done(code) - 작업이 정상적 완료 코드를 반환 Stopped(SIGTSTP) .. 2023. 5. 30.
mybatis 에서 dto camel case 적용 java의 프레임 워크중 하나인 마이바티스 에 대한 설명은 아래 참고 포스팅을 참고 바란다. mybatis에서 데이터베이스를 연동하며 값을 dto에 담아오게 되는데, 그 값을 자바에서는 camel case를 주로 사용한다. camel case는 아래 참고 포스팅 참고, 문제는 db 에서 데이터를 가져올때 selectProvider 절에 쿼리가 있는데, dto 에서 camel 케이스를 맞춰주기 위해서는 모두 alias 를 사용하여 camel케이스로 작성을 해야했다. select USER_NAME as userName, USER_AGE as userAge 이런식으로 말이다. 이럴경우에 property 에 mybatis: configuration: map-underscore-to-camel-case: true.. 2023. 5. 29.
[라즈베리파이] 온도 체크하기 라즈베리파이를 구입하면서 방열 팬과 판을 추가로 구입하였다. 정상적으로 작동을 확인후 실제로 온도를 알아보고 싶어서 찾아보니 쉘스크립트를 통해서 구현을 할수가 있었다. 아래 코드를 참고하여 구현이 가능하다. #! /bin/sh temp = $(cat /sys/class/thermal/thermal_zone0/temp) temp_value = $(($temp/1000)) 이렇게 쉘 스크립트를 작성하면 sys 내에 있는 폴더에서 현재 라즈베리파이의 온도를 측정해서 알려준다. 쉘스크립트에 대한 내용은 아래 참고 포스팅을 참고 바란다. nodejs와 쉘스크립트, c언어 기반으로 특정 온도 이상일 경우에만 팬이 돌도록 할수도 있다. 하지만 +,- 극과 그라운드 선이 모두 있어야 제어가 되는데 지금 소유한 팬은 -.. 2023. 5. 28.
[라즈베리파이] wiringPi 설치 라즈비안에서 GPIO 프로그래밍을 할 때 가장 편리한 방법은 wiringPi라는 라이브러리를 이용하는 방법이다. 라이브러리 제작자는 라즈베리 초창기부터 wiringPi를 개발하여 공개하였고, 다른 GPIO 라이브러리에 비해 속도도 비교적 빠르기 때문에 wiringPi를 사용하시는 것이 추천되고있다. 설치 방법은 아래와 같다. 1. sudo apt update / upgrade 로 라즈비안 업데이트 및 업그레이드를 진행한다. 2. git 에서 설치를 받아야한다. git core 설치를 진행한다. sudo apt install git-core 3. git에서 해당 프로젝트를 받아온다. git clone https://github.com/WiringPi/WiringPi 4. 다운 받아진 폴더 WiringPi .. 2023. 5. 27.
반응형