본문 바로가기

전체 글108

[JAVA] SMTP Mail 기능 구현 : javax.mail.MessagingException: Could not convert socket to TLS 에러 처리 ▏에러 로그 spring boot 로 간단한 프로젝트를 하던 중, 메일 보내는 과정에서 아래와 같은 에러가 발생했다. javax.mail.MessagingException: Could not convert socket to TLS; nested exception is: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1652) ▏해결방법 TLS(Transport Layer Security) 의 버전이 안맞아서 생기는 오류다. ( 참.. 2022. 6. 23.
[Java] 엔터(Enter) / 개행 / 공백 replace 처리하기 ▏목적 ◦ 엔터(Enter) / 개행 / 공백 replace 처리하기 ▏시작하는 말 Jsp 에서 Controller 로 값을 전달하거나, DB에 저장할 때 엔터처리가 안되는 경우가 발생한다. 이는 각각의 엔터 인식 방법이 달라서 발생하는 것이다. ▏replace 처리하기 요점만 말하자면, \n 을 로 / 을 \n 으로 변환해주면 되는것이다. ◦ 값 저장 할 경우 String text = request.getParameter("text"); text.replace("\n"," ") // 안될경우 > replace("\r\n", " ") ◦ 저장된 값 불러올 경우 String text = res.getString("text"); text.replace(" ", "\n") // 안될경우 > replace(" .. 2022. 6. 22.
[programmers/Lv3] 브라이언의 고민 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 브라이언의 고민 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1830 코딩테스트 연습 - 브라이언의 고민 programmers.co.kr 문제 풀이 public class Brianstrouble { String answer; boolean checkRule1 = true; boolean checkRule2 = true; Map lowerMap; public String solution(String sentence) { answer = ""; lowerMap = new HashMap(); // 변형된 문자열은 공백 X야함. 근데 있을 경우 invalid if(sentence.conta.. 2022. 6. 20.
Class 파일 jdk(자바) 버전 확인 및 major 버전에 따른 java버전 확인 ▏목적 ◦ Class 파일 jdk버전 확인 ◦ major 버전에 따른 jdk버전 확인 ▏시작하는 말 업체에서 클래스 파일을 받아 디컴파일 후, 수정 전달하는 일을 할 때가 있다. 이때, 내가 수정한 파일의 jdk 버전과 업체 쪽 버전의 차이 때문에 에러가 발생할 수 있다. 자바 버전을 물어봐도 되지만, 그럴 수 없는 경우에 직접 찾는 방법을 오늘 공유하고자 한다. ▏Class 파일 자바 버전 확인 1. cmd 창을 열어 확인하고자 하는 class 파일 이 있는 경로로 들어간다. 2. javap -verbose {Class명} | find "version" 이때, ".Class" 는 써도 되고 안 써도 된다. ▏major version 번호 Java 버전 변환 확인 45 : jdk1.1 46 : jdk1... 2022. 6. 16.
Internet Explorer 11 지원 종료, Edge / Window11 전환 방법 2022.06.15 (수) 이후로 IE 11 지원이 종료된다. IE에서 호환성보기 추가하여 사용하던 것들을 Edge 나 Window11로 전환해야하는 것이다. 대부분의 사람들은 Chrome 이나 Edge를 사용하고 있겠지만, 예전에 만들어진 제품들 중엔 IE 에서만 동작하는 것들이 있어 어쩔 수 없이 IE 를 사용하는 사람들이 있었을 것이다. 우리회사 솔루션 또한 그렇다. 우리 제품을 사용하는 업체들에게 해결 가이드를 줘야하기에 열심히 구글링 해서 찾은 전환 방법을 내 블로그에도 공유하고자 한다. Internet Explorer 11 지원 종료에 따른 Edge / Window11 전환 방법 | Edge 에서 Internet Explorer 로드 1. 사용하고자 하는 사이트를 Edge로 실행 후 더보기 (.. 2022. 6. 10.
[JAVA] java.util.regex.PatternSyntaxException: Unclosed group near index 1 에러 해결 ▏에러 로그 java.util.regex.PatternSyntaxException: Unclosed group near index 1 java replaceAll 사용시 위와 같은 에러가 날 때가 있다. ▏상황 이 오류는 괄호를 치환 하고자 할 때 발생하는 오류다. 치환하려고 작성한 문자 괄호를 문자로 인식하지 않고, 하나의 수식으로 인식하기 때문에 Unclosed group near index 이런 에러를 뱉는것이다. ▏해결방법 따라서, 소괄호, 중괄호, 대괄호, ^ 는 앞에 \\를 붙여주어야한다. 나의 경우 문자열에 있는 소괄호를 뒤집어야 했다. ex ) "(" -> ")" / ")" -> "(" 처음에는 나도 이 규칙을 몰라 에러가 났다. u = u.replaceAll("(", "1"); u = u.. 2022. 5. 2.
첫 직장 면접 합격 후기 첫 직장을 다니게 된 지 벌써 6개월이 지났다. 최근 올렸던 게시글들 중에 언급한 적이 있어 내 블로그를 많이 본 사람이라면 알 수 있었을 것이다. 내가 다니는 직장은 (주)인스웨이브 시스템즈이다. 우리 회사의 대표적인 제품으로는 WebSquare5 란 제품이 있다. 이는 HTML5를 기반으로 한 UI/UX 제품이다. 난 이 회사에서 Proworks란 제품을 유지보수 및 개발하는 부서에서 일한다. WebSquare가 프론트엔드 쪽이라면, Proworks는 백엔드, 서버 쪽을 맡는 업무라고 생각하면 된다. 첫 직장을 준비하는 사람들에게 조금이라도 도움이 되었으면 하는 마음에 면접 후기를 남기고자 한다. 지원을 하고 얼마 안 가 이력서 합격이라는 문자를 받았다. 일주일 정도 후에 1차 면접을 보기로 했었다... 2022. 4. 26.
[Eclipse] 이클립스 Gradle 프로젝트 Import 하는 법 ▏목적 ◦ 이클립스에 Gradle 프로젝트 Import하기 ▏시작하는 말 처음 개발을 시작했을 땐 maven 프로젝트를 많이 사용했었는데 요즘은 주로 gradle을 사용하고 있다. gradle과 maven의 차이점과 개념에 관한 내용은 나중에 포스팅 하기로 하고 지금은 gradle import 방법에 대해서 설명하고자 한다. 개발에 있어서 처음 환경설정은 매우 기본인 만큼 간단 할 것 같지만 오히려 환경설정에서 시간을 많이 잡아 먹는 경우가 많다. 이 글을 보는 사람들은 쉽게 해결했으면 하는 마음에 이 글을 남긴다. ▏Import gradle project 1. 이클립스 좌측 상단의 File 클릭 후 Import 클릭 2. Gradle > Existing Gradle Project 선택 후 Next 클릭.. 2022. 4. 21.
Hot Deploy 란? ▏목적 ◦ Hot Deploy 이해하기 ▏시작하는 말 지금 다니고 있는 회사의 솔루션 중 하나가 이클립스에서 만든 자바 파일을 cvs나 svn을 사용하여 서버에 넣고, was로 돌리는 작업을 한다. 이렇게 자바 파일을 수정 배포하고 나면 서버 재기동을 해야 한다. 얼마 전 kb저축은행 담당자에게서 문의가 왔다. 일일이 재기동하지 않고 자동으로 하는 방법은 없냐는 문의였다. 나는 간단한 테스트만 하던 작업이라 크게 불편함을 느끼지 못했었다. 그러나 이 문의 덕분에 새로운 생각을 할 수 있게 된 것이다. 이렇게 찾아보다 알게 된 것이 Hot Deploy다. ▏Hot Deploy 서버의 재시작 없이 응용프로그램의 동적 변경을 바로 적용시키는 기능 예를 들어, 서두에서 언급했던 것처럼 서버에서 사용하고 있는 j.. 2022. 4. 11.
리눅스 mysql DB , table 백업 및 복원하기 ▏목적 ◦ mysql 백업 및 복원하기 ▏시작하는 말 혼자 프로젝트를 진행했을 땐 데이터베이스의 백업의 필요를 느끼지 못했다. 회사에서 업무를 하면서 DB이관, 변경 등 많은 작업을 하면서 백업&복원의 필요성을 알고 사용하게 됐다. 그래서 오늘은 리눅스 환경에서의 mysql 백업, 복원하는 방법을 설명해보려고 한다. ▏MySQL 백업 백업의 기본 구조는 아래와 같다. 자세한 설명을 보고 싶다면 쉘 창에 mysqldump --help 명령어를 치면 된다. Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databa.. 2022. 3. 29.
깃허브(GitHub) 프로필 5분만에 예쁘게 꾸미기 ▏시작하는 말 깃허브 프로필을 꾸민 게 벌써 1,2년 전이라 새로운 화면을 만들고 싶은 마음에 찾아보다 두 번째 사진과 같은 프로필을 발견해서 간단하게나마 꾸며보았다. 내 프로필이 마음에 든다면 이 게시글을 읽고 그대로 따라 하면 누구든 쉽게 만들 수 있을 것이다. 혹시나 처음 사진인 내 초기 프로필이 마음에 드는 사람이 있을까 봐 게시글 맨 마지막에 이에 관한 방법도 간략하게 설명해두었으니 참고하면 된다. 깃허브를 시작한지 얼마 되지 않았을 때 내 깃 화면 현재 내 깃 화면 조금 더 깔끔하고 화사해진 느낌이다 ▏깃허브(GitHub) 프로필 꾸미기 1. repository new repository > Repository name에 username입력 > public 체크 > create 2. GitHu.. 2022. 3. 16.
GitHub에 로컬 프로젝트 올리기 개발함에 있어 가장 중요한 게 협업이라고 할 수 있다. 그것을 도와주는 도구로는 형상관리 도구가 있는데, 오픈소스로 가장 흔히들 사용하는 것이 바로 git이다. 나 역시 git을 사용해서 프로젝트를 한 경험이 많다. 오늘은 그 git에 대한 간단한 개념과, 로컬 저장소에 있는 프로젝트를 github에 올리는 방법을 설명해보겠다. "Git" 그것이 알고싶다. Git은 소스코드를 효과적으로 관리할 수 있게 해주는 무료, 공개 소프트웨어이며,현재 가장 널리 쓰이는 분산형 버전 컨트롤 프로그램이다. 저장소에서 프로젝트를 꺼내오면 내 컴퓨터에 저장소가 만들어지고 모든 변경 이력이 저장된다. 또한 여러 곳의 원격 저장소를 등록하여 사용할 수 있다. 형상관리에 관한 자세한 내용은 "형상관리" 그것이 알고 싶다. 페이.. 2022. 3. 3.
반응형