Dev/Spring Boot (36) 썸네일형 리스트형 [SpringBoot] Github Action을 사용한 BlueGreen배포 1. Github Action에서 클라우드의 shellscript 실행하기 이전까지 jar파일을 클라우드 서버에 전송하는 것 까지 진행시켰다. 이제 서버에 전송 후 이전에 쓰던 것을 끄고 새로운 것을 켜주는 쉘스크립트를 작성해야한다. 다만 그 전에 쉘스크립트 파일을 실행하는 로직을 github action에 추가해주어야한다. folder_path="/home/shellScript/newFolder"mkdir $folder_path 쉘스크립트는 위와 같이 매우 간단하게 새로운 폴더를 하나 만드는 것으로 하였다. # 쉘스크립트 파일 실행- name: Execute shell script on remote server env: SSH_PASSWORD: ${{ secrets.SSHPASSWORD }} .. [SpringBoot] Github Action을 사용한 jar빌드 후 전송 github action은 push, merge, pull request 등의 동작이 행해졌을 경우 원하는 동작을 자동으로 동작하도록 스케줄링 해둘 수 있는 서비스이다. 이것을 사용하면 CICD 배포를 구현할 수 있다. 여기서는 모두 github action의 대한 기본적인 사용법은 알고 있다고 생각하겠다. 나는 푸쉬한 파일을 jar로 빌드하여 내 클라우드 서버에 scp로 보내는 동작을 수행할 것이다. 플로우는 아래와 같다. 1. Action action 할 레포지토리의 action에서 java with gradle 을 가져오자. 이것을 수정해서 위 플로우를 완성할 것이다. 여기서 설정파일을 수정해도되지만, 커밋하고 편집기에서 편집하도록 하자. 파일이름은 마음대로 해도된다. 난 Create Jar .. [Spring Security] 수동 로그인 구현하기 스프링 시큐리티를 사용해 프로젝트를 진행하던 중 카카오로 로그인 요청을 했을 때 회원가입이 안되어있으면 회원 가입을 하고 아니면 바로 로그인이 되는 기능을 구현하였다. @GetMapping("/auth/kakao/callback") public String kakaoCallBack(String code, HttpServletRequest request) throws ParseException { String username = loginService.requestKakaoToken(code); loginService.forcedLogin(username, request); return "redirect:/"; } 먼저 카카오 콜백 메소드이다. 유저네임 = 이메일을 카카.. [Spring Security] 스프링시큐리티의 기본 로그인을 사용하지 못했던 문제 스프링 시큐리티는 기본적으로 /login 에서 기본 로그인 화면을 지원한다. 그래서 난 SecurityFilterChain을 구성할 때 http.httpBasic(AbstractHttpConfigurer::disable) .csrf(AbstractHttpConfigurer::disable) .userDetailsService(userDetailService) .authorizeHttpRequests(auth -> auth .requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll() .. [JPA] 인덱싱을 통한 SELECT 성능 향상 DB를 최적화함에 있어서 인덱싱은 가장 기본적인 방법이자 효과적이다. 인덱싱은 B+트리를 통해 SELECT 기능을 향상시키지만 그와 동시에 입력 및 수정 삭제의 기능은 떨어진다. 그러나 사용자가 건들일 필요가 없기 때문에 삽입 삭제가 잘 이뤄지지 않는 데이터라면 충분히 효과적이다. @Table(name = "Course_Table", indexes = @Index(name = "idx_name", columnList = "name"))public class course { @Id private String crsIdx; @Column(name = "NAME") private String name;} 인덱싱을 거는 방법은 간단하다. JPA를 사용한다면 Table 어노테이션에 inde.. Java로 문자열 xml 파일 파싱 xml 형태이지만 문자열로 저장된 코드에서 원하는 값을 파싱해 사용해야하는 상황이 발생했다. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(xml.toString()))); document.getDocumentElement().normalize(); NodeList tagLis.. Spring Boot JPA - BufferedReader로 CSV 파일을 읽어 DB에 저장하기 BufferedReader자바에서 입출력을 빠르게 받을 때 많이 사용했던 버퍼리더, 정확히 버퍼 리더가 무엇인가버퍼란 어떤 데이터가 전송 될 때 일시적으로 저장되는 영역이다. (캐시와는 다르다.) 어떤 데이터들을 한 번에 묶어서 전송하기 때문에 전송이 빠르다. BufferedReader br = Files.newBufferedReader(Paths.get(filePath));map을 사용해 임시 값 저장csv파일은 ,로 구분된 정보를 엑셀 형태로 보여주는 파일이다. 그러니까 텍스트로 옮기면이름, 나이, 사는곳김, 20, 서울박, 21, 부산이런식으로 구성되어 있다. 버퍼리더로 값을 받으면 한 행씩 정보를 받지 열(col)씩 받지 않기 때문에 맨 위 헤더들을 key값으로 갖는 hashm.. Spring Boot - RestClient 로 공공데이터 얻어오기 . 이전 1 2 3 4 5 다음