일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- header setting
- docker 설치
- dto valid
- MySQL
- custom valid
- memcached
- java8
- ollama langflow
- 헤더 설정
- jvm
- generate entity
- 초기 세팅
- jpa entity자동
- NextJS
- java9
- JavaScript
- CentOS6
- spring boot
- swagger
- 도커
- Java
- 초기 구축
- docker
- React
- spring
- JPA
- generate pojos
- Next.js 14
- SpringBoot
- 리눅스
- Today
- Total
목록분류 전체보기 (291)
개발자의 길

1. Vault Vault는 HashiCorp에 의해서 개발된 크로스플랫폼 패스워드 및 인증 관리 시스템이다. 공개되면 안되는 비밀번호, API 키, 토큰 등을 저장하고 관리한다. 2. 아키텍처 2.1. Storage Backend 스토리지 백엔드는 암호화된 데이터를 저장하기 위한 스토리지를 담당한다. Vault는 스토리지의 종류, 가용성 등을 책임지지 않는다. 어떤 스토리지 백엔드를 쓸 것인지는 고객이 결정한다. Vault는 15가지가 넘는 스토리지를 지원한다. HashCorp Consul Etcd Zookeeper AWS S3 AWS DynamoDB Azure Storage Container Triton Manta Object Storage GCP Cloud Storage GCP Cloud Spann..

커버로스 프로토콜이란? 커버로스는 티켓(ticket) 기반의 컴퓨터 네트워크 인증 프로토콜이다. 보안이 보장되지 않은 네트워크 환경에서 요청을 보내는 유저와 요청을 받는 서버가 서로의 신뢰성을 확보하기위해 사용된다. 티켓이 뭔가요? 왜 쓰는거죠? 커버로스에서 사용하는 티켓은 유저 아이디를 안전하게 전달하는 데 사용되는 정보 패킷이다. 티켓에 포함하는 대표적인 정보들은 다음과 같다. 이러한 정보들을 담고 있는 티켓은 티켓을 발급하는 서버의 비밀 키(secret key)로 암호화(encrypt)된다. 커버로스 프로토콜의 동작 과정 [그림] 커버로스 프로토콜의 동작 과정 AS(Authentication Server)는 요청을 보내는 유저의 아이디와 패스워드를 인증하고, TGS(Ticket Granting Se..
//blob 데이터로 된 이미지를 다운받기 위한 기능 //data : blob 데이터 //fileName : 다운로드될 이미지명(확장자 포함) export function getDownFile(data: any, fileName: string) { var blob = new Blob([data], { type: 'application/octet-stream' }); //IE용 // @ts-ignore if (window.navigator && typeof window.navigator.msSaveBlob !== 'undefined') { // IE workaround for "HTML7007: One or more blob URLs were // revoked by closing the blob for ..

wsl2 버전 기준 입니다. (wsl) Rocky 설치 이미지 다운로드 Github Action 빌드 에서 이미지 다운로드 가장 최신 버전의 rocky-버전-Container-UBL-x86_64.tar.xz 를 받는다. 압축을 두번 정도 풀면 마지막에 rocky-버전-Container-UBL-x86_64.tar 가 나오면 된다. (확장자 tar가 나올 때 까지 푼다.) 나의 wsl 관리 폴더를 생성한다. wsl 폴더 생성 wsl/files 폴더 생성 wsl/import 폴더 생성 wsl/files 폴더에 압축을 푼 rocky-버전-Container-UBL-x86_64.tar 를 넣어둔다. 윈도우의 power shell을 실행 wsl --import rocky-8.6-UBL C:\wsl\import\roc..
무한 스크롤링이라곤 하지만 정확하겐 바닥에 닿으면 데이터를 새로 불러오는 로직이다. 여러 라이브러리가 존재하지만 순수 리액트만으로 작성을 해보았다. 먼저 스크롤이 화면 전체인 컴포넌트에서의 스크롤 구현이다. 해당 기능은 현재 진행중인 프로젝트내에서 여러곳에서 써야하므로 훅으로 구현을 하였다. const useScroll = (totalPage, limit) => { const [page, setPage] = useState(1) const ScrollPaging = useMemo( () => throttle(() => { let scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight) let scro..
자주 까먹는 소스..맨날 할때 마다 찾아보기 귀찮.. private final String LOCAL_PATH="/home"; public void writeFile(String fileName, String writeContents) { try { // 1. 파일 객체 생성 //폴더 생성 File localFolder = new File(LOCAL_PATH); if(!localFolder.exists()) { if (localFolder.mkdir()) { log.info("폴더 생성:" + LOCAL_PATH); } else { log.error("폴더 생성 에러"); } } File localFile = new File(localFolder, fileName); // 2. 파일 존재여부 체크 및 생..
은근 자주 쓰는데, 할때 마다 헷갈리고, 찾아본다.. public void readUrlFile(String url) { StringBuffer sb = new StringBuffer(); BufferedReader in = null; try { in = new BufferedReader(new InputStreamReader(new URL(url).openStream())); String inputLine; while((inputLine = in.readLine()) != null) { sb.append(inputLine+"\n"); } in.close(); } catch (Exception e) { System.out.println("error:"+e.getMessage()); } finally { ..
react 에서, 특정 컴포넌트를 페이지 이동이 아닌, 모달 팝업(레이어 팝업) 같이 열었을 경우, 뒤로 가기 클릭스, 해당 팝업만 닫고 싶은데, 페이지가 뒤로 가기 되 버려서 당황 스러웠다. 그럴 경우, 뒤로 가기 이벤트를 잡아서, 다른 액션을 주었다. function closeView() { //여기에, 뒤로 가기 클릭시 할 액션을 정의 하면 된다. 나는 레이어팝업을 닫는 액션을 했다. props.onClose(); } useEffect(() => { const randomKey = 페이지의 특정한 값을 부여해주세요. // 별도로 history에 특정값을 주었다. window.history.pushState('fake-route'+randomKey, document.title, window.locat..
CentOS 7에서 redis 6 설치 redis6에서는 C11을 서 포트 하는 compiler가 필요 gcc에서는 4.9이후부터 서포트 한다 gcc version확인 gcc --version scl을 이용하고 기본 directory를 변경하지 않고 compile한다 sudo yum install centos-release-scl sudo yum install devtoolset-7-gcc* scl enable devtoolset-7 bash which gcc gcc --version 이전 complie실패했을 때에는 clean make distclean redis source를 compile cd /usr/local/redis/src make rocky linux 8.4에서 설치 groupadd red..

Annotation(@)은 사전적 의미로는 주석이라는 뜻이다. 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. meta data : 데이터를 위한 데이터) 다음은 어노테이션의 용도를 나타낸 것이다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 실행시(런타임시)특정 기능을 실행하도록 정보를 제공한다. 기본적으로 어노테이션을 사용하는 순서는 다음과 같다. 어노테이션을 정의한다. 클래스에 어노테이션을 배치한다. 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를..