반응형

IT/development 226

[Git] Git Branching Strategy(feat. 브랜치 전략)

목차 ppt로 작성하려고 했으나 너무 시간이 오래 걸릴 것 같아서 그림은 이걸로 하고 텍스트로 보충 master branch 😎 실제 운영서버에 올라가는 최종 릴리즈 버전 브랜치 candidate branch 😭 QA Server에 배포해서 실서버 반영 전 검증하는 브랜치 candidate branch에서 최종 검증이 되면 그 때 master에 반영 master branch에 올라가기 바로 전 소스 dev branch 🙄 개인 브랜치에서 로컬 검증 후 개발서버에서 돌리는 용도의 브랜치 개발서버에서 돌려보는 용도라서 온갓 잡다한 소스가 다 있을 수 있다.(버그가 있는 소스 등등) 절대 이 branch는 master나 candidate branch로 반영하면 안된다. persnal branch 😛 개발자 각..

IT/development 2023.08.24

[springBoot] 엑셀파일 읽기(feat. ajax)

목차 프로세스: 화면에서 엑셀 업로드 시 엑셀의 내용을 읽어서 테이블에 저장 의존성 추가(gradle) //springBoot ver: 2.7.7 //poi 의존성 추가 implementation 'org.apache.poi:poi:5.1.0' implementation 'org.apache.poi:poi-ooxml:5.1.0' service @Service @Slf4j @RequiredArgsConstructor @Transactional(readOnly = true) public class ExcelService { private final ExcelMapper excelMapper; /** * 엑셀업로드 화면 * @param mv * @return */ @Override public ModelAnd..

IT/development 2023.08.23

[Java] 가변인자 사용(feat. String ... str)

java에서 parameter개수와 타입을 다르게 해서 같은 기능을 하는 메소드를 동일한 메소드명으로 사용할 수 있다.(오버로딩)@Slf4j public class Test { public void print(String str) { log.info("str = [{}]", str); } public void print(int num) { log.info("num = [{}]", num); } }하지만 parameter의 개수를 가변적으로 사용하고 싶을 땐?Test test = new Test(); //이렇게 호출하고 싶을 때.. test.print(1); test.print(1, 2); test.print(1, 2, 3); test.print(1, 2, 3, 4); test.print(1, 2, 3, ..

IT/development 2023.08.22

[springBoot] daum SMTP 메일 발송

daum의 SMTP를 이용해서 메일 발송하는 예제 개발환경: springBoot 2.7.14, gradle 선행조건(daum smtp 활성화) 설정 > IAMP/POP3(저기의 정보를 프로퍼티에 기입) 의존성 추가(gradle) implementation 'org.springframework.boot:spring-boot-starter-mail' application.yml에 smtp 설정 추가 spring: mail: host: smtp.daum.net port: 465 username: #송신메일주소(보내는 메일 주소) password: #송신메일 주소의 비밀번호(여기선 2차 인증 앱 비밀번호 입력함) properties: #tls 설정 mail: smtp: auth: true ssl: enable:..

IT/development 2023.08.22

[Vue.js] Vue.js 첨부파일 업로드

upload.html 첨부파일 [.jpg, .jpeg, .png, .xlsx, .hwp, .docx, .pptx, .pdf] add remove 확장자는 .jpg, .jpeg, .png, .xlsx, .hwp, .docx, .pptx, .pdf 만 가능합니다. 5MB이하 파일만 올려주세요. {{ item.num }}.첨부 @change="handleFileChange($event, index)" 파일 첨부 저장 위 코드는 동적으로 첨부파일 영역을 추가/삭제 후 첨부파일을 업로드 하는 간단한 예제이다. 전체적으로 포스팅을 위해 편집한 코드라서 태그 열고 닫고 안 맞을 수도 있다. 첨부파일 관련 메소드는 총 4개이다. 첨부파일 데이터를 담을 배열이 인스턴스의 data 객체안에 초기화 된 상태이고 addAtt..

IT/development 2023.08.13

[JavaScript] 자식 팝업창에서 부모창의 함수 호출(javascript 위주)

부모창에서 자식창을 아래처럼 팝업으로 열었음(html 코드는 생략) parent.html //버튼 클릭 시 child라는 팝업 호출 $("#btn").on("click", function() { //팝업 호출(openPopUp()이라는 공통함수에서는 팝업 호출한다고 가정) const popup = openPopUp("/child", 1100, 700, "child"); }); //자식 팝업에서 호출하는 함수(자식창에서 넘어온 사업자번호, 고객명을 부모의 필드에 적용) function chooseClient(clientBizNo, clientNm) { $("#clientBizNo").val(clientBizNo); $("#projClientNm").val(clientNm); } child.html /** ..

IT/development 2023.08.13

[springBoot] 서로 다른 branch를 동시에 띄우려면?

거창한 방법은 아니고 매우 간단하다. 쉬운 이해를 위해 소설을 써 보겠다. A라는 branch는 springBoot, thymeleaf, javascript/jQuery로 개발 되어 있는 상태이고 B라는 branch는 A branch에서 새로 branch를 딴 브랜치다. B branch에서 클라이언트 사이드를 javascript/jQuery를 Vue.js로 전환하는 작업을 하기 위해서다. A branch에서 기존에 되던 기능은 유지하면서 환경만 변화되는 상황이다. 이 때 A branch의 화면을 보면서 개발하는게 당연히 편하다. 이런 상황이라고 가정 했을 때 몇 가지 방법이 있겠지만 내 경우는 아래처럼 했다. A branch는 port 변경 후 build 해서 jar파일로 로컬에서 띄우고 B branch..

IT/development 2023.08.12

[Vue.js] 기존 thymeleaf에 Vue.js 적용하는 방법

2가지 방법 존재 node.js 환경으로 구동(node.js 런타임 환경 필요, 서비스 구동 시 서버와 port 다르게 구성) 기존 thyemeleaf파일에 script만 추가(thyemelaf 렌더링 이후 조작하는 방식이라 node.js 불필요) 여기선 2번 째 방법 채택 기존 html의 body 태그안에 Vue.js 관련 script import(실제 배포 시엔 js파일 직접 import 권장) vue.js를 입힐 div root id 설정(예시) 주소록 사원명 검색 초기화 사원 목록 사원승인 신청 순번 사원명 직급 직책 전화번호 이메일 {{ item.no }} {{ item.empNm }} {{ item.positionCd }} {{ item.roleCd }} {{ item.empHp }} {{ i..

IT/development 2023.08.10
반응형