본문 바로가기
728x90
반응형

프로그램114

마리아 db 접속 및 사용자 계정 생성 권한부여 1. 마리아 db 사용자 생성 및 권한 부여 1. 마리아 db 접속 ubuntu@instance-mariadb:~$ mariadb -u root -p 2. 사용자 생성 create user 'blogdb'@'%' identified by 'passwordtest'; MariaDB [mysql]> create user 'blogdb'@'%' identified by 'passwordtest'; Query OK, 0 rows affected (0.003 sec) 3. db접속 권한 부여 grant all privileges on blogdb.* to 'blogdb'@'%'; MariaDB [mysql]> grant all privileges on blogdb.* to 'blogdb'@'%'; Query OK.. 2024. 4. 1.
1. java jwt token 생성 및 jar 라이브러리 만드는 방법 목차 JWT TOKEN이란? JWT(Json Web Token)는 json 형식의 웹 토큰입니다. 예전에는 주로 세션 기반으로 로그인 인증을 많이 사용 하였는데, 최근에 프로젝트는 MSA(마이크로 서비스 아키텍처)로 구현을 하기 시작 하였습니다. 도커 기반으로 이미지를 생성하고 쿠버네티스에 배포를 하여 동시 접속자가 몰리면 스케일 아웃 및 스케일 인을 자동으로 배포 및 관리하기 위해서는 기존의 세션 방식으로는 불가능 해 졌습니다. 안드로이드 앱이나, 아이폰에 어플리케이션은 세션 방식으로 통신을 할 수 없습니다. 큰 대형 업체 구글이나,네이버, 다음 등 로그인이 세션이 아닌 Auth2.0 방식으로 로그인 인증을 하고 있습니다. Auth2.0이 토큰 방식이라고 보면 맞습니다. 토큰은 액세스키와 리프레쉬 키를.. 2024. 2. 22.
[PWA] MVC 패턴 클래스 파일 만들기 3.2.3 MVC 패턴 클래스 파일 만들기 HTML 삽입 미리보기할 수 없는 소스 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." Mvc 패턴에 맞게 Controller를 만들자. 만드는 순서는 Controller를 만들고, 서비스 인터페이스를 만들고, 서비스 인터페이스를 상속받은 구현체를 만들고, 데이터베이스와 통신을 할수 있게 JpaRepository 상속받은 인터페이스를 만들어서 데이터베이스에 push알림 구독정보를 저장하여 관리 할수 있게 만들것이다. 이번에는 패키지와 클래스 파일을 동시에 같이 만들어 보자. 위에서는 패키지 따로 파일 따로 만들어 보았는데 같이 만들어도 된다. pwapush 패키지명에 마우스 오른쪽 버튼을 클릭하여 New->Class를 .. 2024. 2. 3.
java.security.NoSuchProviderException: no such provider: BC 에러 위와 같은 자바 시큐리티 에러가 발생한 경우 자바 경로에 가서 관리자권한으로 보안 관련 설정을 추가 하고 프로그램을 재 실행 하면 에러가 사라진다. jdk8 버전인 경우에는 jdk1.8.0_162\jre\lib\security\java.security 파일을 연다 security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider 2024. 2. 2.
[PWA] 자바 패키지 파일 생성 3.2 자바 패키지 파일 생성 3.2.1 자바 환경설정 파일 만들기 src/main/java 밑에 pwapush에 가서 마우스 오른쪽 버튼을 클릭하여 Package 선택 Name에 pwapush.config 입력후 Finish 버튼을 클릭하여 패키지 를 생성한다. 생성된 패키지 에서 마우스 오른쪽 버튼을 클릭하여 New->Class 를 클릭하여 WebConfig.java 파일을 생성하자 WebConfig.java 파일은 환경설정 파일로 서버가 기동될때 최초로 메모리에 환경설정을 로딩하는 기능을 처리한다. WebMvcConfigure을 상속 받아서 json형식을 데이터를 사용하겠다고 설정하는 부분이다. package pwapush.config; import org.springframework.context.. 2024. 1. 31.
[PWA] 3장 스프링부트 프로젝트 생성 3장 스프링부트 프로젝트 생성 3.1 push 알리미 기능 프로젝트 생성 spring부트 실행하여 File -> New -> Spring Starter Project 위와 같이 입력후 Next DB는 테스트 하기 좋은 H2 메모리 DB를 선택 Spring Web, Lombok, 웹페이지는 Thymeleaf선택 JPA를 사용할꺼라서 Spring Data JPA 선택 Spring Boot DevTools는 개발할때 소스에 변경 사항이 있을경우 자동 재기동을 시켜주는 편리한 기능이 있어서 선택 하여 준다. Finish를 눌러 준다. 프로젝트가 위와 같은 구조로 생성이 되었다. 일단 환경 설정 부터 해보자 src/main/resources 밑에 application.properties 파일을 yaml 형식으로 .. 2024. 1. 31.
[PWA] 2장 개발환경 셋팅 2장 개발환경 셋팅 2.1 개발툴 설치 자바1.8버전, 스프링부트 준비 2.1.1 스프링부트설치 https://spring.io/tools 사이트에 들어가서 해당 운영체제에 맞는 버전을 다운로드 받아서 압축을 풀어 줍니다. 압축을 푸실때 압축푸는 경로명이 길경우에는 압축풀다가 오류가 발생하면서 안 풀리는 경우가 가끔 있습니다. 이런경우에는 반디집을 설치하여 압축을 풀면 정상적으로 풀립니다. 2.1.2 자바 설치 https://www.oracle.com/kr/java/technologies/javase-downloads.html 사이트에 들어가서 자바1.8버전을 다운받습니다. 이 책의 예제는 자바 1.8기준으로 작성하였습니다. 다운 받아서 설치 해 주시기 바랍니다. 2024. 1. 31.
[PWA] PWA 소개 , PWA란 무엇인가? -목 차- 1장 PWA 소개 6 1.1 PWA란 무엇인가? 6 1.1.1 PWA(Progressive Web Apps) 6 2장 개발환경 셋팅 12 2.1 개발툴 설치 12 2.1.1 스프링부트설치 12 2.1.2 자바 설치 13 3장 스프링부트 프로젝트 생성 14 3.1 push 알리미 기능 프로젝트 생성 14 3.2 자바 패키지 파일 생성 26 3.2.1 자바 환경설정 파일 만들기 26 3.2.2 모델 만들기 29 3.2.3 MVC 패턴 클래스 파일 만들기 34 3.2.4 Controller 코딩하기 41 3.2.5 Service interface 코딩하기 46 3.2.6 Service impl 코딩하기 46 3.2.7 repository 코딩하기 51 4장 클라이언트 만들기 53 4.1 push 알.. 2024. 1. 31.
[PWA] 스프링부트로 배우는 실전 PWA 스프링부트 Server (스프링부트 + 톰캣서버+ H2 DB+JPA) 실무에서 바로 써먹는 자바를 이용한 PUSH 알리미 구현 Mysql, H2DB + JPA(ORM)을 적용한 PUSH 알리미 키값 구현 Front (자바스크립트) 점진적 웹 앱(PWA, Progressive Web App) 자바스크립트로 PWA 구축 스프링부트를 이용한 PUSH알리미 서버 구축과, 자바스크립트를 이용한 Progressive Web App 구축 예제와 함께 WAS 서버 배포까지 실전 완벽 가이드 따라서 한번만 만들어 보면 초보자도 쉽게 배우는 PWA의 기본서 입니다. 최신트랜드에 맞게 DB 처리부분은 JPA를 적용하였습니다. “딱 일주일만 이 책을 따라하시면 누구나 쉽게 실 업무에서 사용하는 프로젝트를 이해 할수 있습니다... 2024. 1. 31.
레이어드 아키텍처 레이어드 아키텍처(Layered Architecture)가 무엇인지 알아보자. 소프트웨어 아키텍처란? 소프트웨어 아키텍처란, 소프트웨어 시스템의 전체적인 구조와 구성요소들 간의 상호작용을 설계하는 것을 말한다. 쉽게 말해, 건축물의 뼈대를 잡는 것과 같은 과정이다. 건축물의 구조와 종류는 굉장히 다양하다. (철근 콘크리트, 철골, 목조, …) 어떤 자재를 사용하고, 해당 자재들을 어떻게 조립하는지에 따라 건축물의 특성은 크게 달라진다. 이와 같이 소프트웨어 아키텍처는 시스템의 전체적인 동작을 결정하고, 시스템의 품질 성능(성능, 확장성, 유지보수성, 보안 등)에 직접적으로 영향을 미친다. 소프트웨어 아키텍처를 선택할 때는 다양한 요소(요구사항, 복잡성, 기술 스택, 경험, 비용 및 시간 등)들을 고려하여.. 2023. 9. 10.
fetch 파일다운로드 /* 자바 스크립트 */ function fileDownLoad(fileName,finalFileName,path){ const paramData = { method: 'POST', body: JSON.stringify({ fileName, finalFileName,path }), headers: { 'Content-Type': 'application/json' } }; fetch('/logFarm/downloadFetchFiles.json',paramData) .then(res => res.blob()) .then(data => { const a = document.createElement("a"); a.href = window.URL.createObjectURL(data); a.download = f.. 2023. 7. 12.
jsp 멀티 첨부파일 생성& 삭제 제이쿼리 & jsp 화면에서 멀티 첨부파일 등록 및 다운로드 스프링 연동 jsp 파일에서 첨부파일 선택 하는 부분입니다. 문의하기 제목 내용 문의 내용을 최대한 상세히 적어 주세요 첨부파일 파일선택 문의등록 자바 소스 /* * Controller.java * */ @RequestMapping(value="/saveNotice.json", method=RequestMethod.POST) @ResponseBody public Map saveNotice( HttpServletRequest request, @RequestPart(value = "key") Map param, @RequestPart(value = "file",required = false) List fileList) throws Exception.. 2023. 6. 29.
첨부파일 다운로드 & 업로드 /* 자바 첨부파일 다운로드 & 업로드 */ FileManagerController.java package logfarm.admin.file.controller; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletOutputStream; import.. 2023. 6. 7.
airflow 설치 리눅스 사용자 계정 생성 adduser airflow /* sudo 권한 부여 */ apt install sudo chmod +w sudoers vi /etc/sudoers chmod -w sudoers airflow ALL=(ALL:ALL) ALL su - airflow mkdir airflow 환경설정 export AIRFLOW_HOME=~/airflow /* 파이션 3.8설치 */ /* 설치전 우분투 서버 업데이트 */ apt update apt upgrade 2단계: Python 3.8 PPA 가져오기 Ubuntu 사용자의 경우 Python 및 추가 필수 패키지에 대한 최신 업데이트에 액세스하는 가장 쉬운 방법은 "deadsnakes" 팀 Launchpad PPA를 가져오는 것입니다 . 이렇게 하.. 2023. 5. 10.
vscode 터미널 버퍼사이즈 지정하기 Settings.json 파일에 아래 문구 추가 "terminal.integrated.scrollback": 9999999 2023. 5. 10.
스프링부트 메이븐 컴파일 mvn clean package java -jar -Dspring.profiles.active=local ./addrLaLoBatch-0.0.1-SNAPSHOT.jar --job.name=jdbcPostgresPagingItemReaderJob baseDate=2022-10-25 스프링 부트에서 실행 : ./mvnw.cmd spring-boot:run Clean 후 패키지 생성 ./mvnw.cmd clean package ./mvnw.cmd clean install /* mvn 기동시 profiles 설정 cmd창에서 실행할때 powershell에서는 안먹힘 */ mvn spring-boot:run -Dspring-boot.run.profiles=프로파일명 mvn spring-boot:run -Dspri.. 2023. 5. 10.
Java 에서 ValidatorException 등 인증서 관련 에러 해결 /* 사설인증서 아이피 인증서 자바에서 오류시 처리 방법 */ /* 자바 인증서 생성 */ c:\dataworks>keytool -genkey -alias dataworks -keyalg RSA -storetype PKCS12 -keystore keystore_local.p12 -validity 100000 키 저장소 비밀번호 입력: 새 비밀번호 다시 입력: 이름과 성을 입력하십시오. [Unknown]: 192.168.4.13 조직 단위 이름을 입력하십시오. [Unknown]: org 조직 이름을 입력하십시오. [Unknown]: local 구/군/시 이름을 입력하십시오? [Unknown]: Seoul 시/도 이름을 입력하십시오. [Unknown]: Seoul 이 조직의 두 자리 국가 코드를 입력하십시오.. 2023. 5. 10.
스프링 대용량 멀티 배치_스케줄 여러개 배치를 실행할때 스케줄을 여러개 등록하기 위해서는 job 객체를 이름을 지정해서 생성하여 Qualifier로 객체를 주입하여 스케줄을 여러개 생성해서 기동한다. 스케줄 시간설정은 환경설정 파일을 이용하여 셋팅 Scheduler.java package kr.go.naq.batch.schedulers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.*; import org.springframework.batch.core.launch.JobLauncher; import org.springframework.batch.core.repository.JobEx.. 2022. 8. 16.
[Jenkins] 환경설정 Jenkins를 설치후에 소스 자동 배포를 위한 환경설정 - Jenkin관리로 들어가서 필요한 플러그인 설치 플러그인 관리 에 들어간다. 설치가능 에 검색창에 Publish Over SSh 입력하여 검색한후에 해당 플러그인을 설치한다. 설치가능에 많은 플러그인들이 나오는데 굳이 다 설치 할 필요는 없고 해당 기능이 필요할때는 도움말 보고 그때 그때 상황에 맞게 설치하자 시스템 설정으로 이동하여 밑으로 쭈욱 내려가서 Name : 아무이름이나 입력 Hostname : 리눅스 서버 호스트 이름 입력 UserName : 리눅스 계정 root 입력 Remode Directory : / 고급 버튼을 클릭하여 root 사용자 패스워드 입력 Use password authentication, or use a diffe.. 2022. 7. 15.
자바 cors 우회하기 get,post방식 get 방식 호출 자바 네이버 지도 get 방식 호출 처리 @RequestMapping(value="/map-direction/v1/driving.do") public ModelAndView driving(HttpServletRequest request) throws Exception{ ModelAndView mav = new ModelAndView("jsonView"); String start = EgovStringUtil.nvl(request.getParameter("start")); //시작좌표 String goal = EgovStringUtil.nvl(request.getParameter("goal")); //목적지좌표 String option = EgovStringUtil.nvl(request... 2022. 7. 12.
728x90
반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading