본문 바로가기

경력9

[업무][베트남🇻🇳] 개발 코드로 학습-1 app.vue 코드 뭉치 분리하기

개요 시니어 개발자가 개발한 코드를 볼 일이 있었습니다. 이 코드에서는 하나의 vue 컴포넌트 파일이 긴 경우가 없었습니다. 그리고, 하나의 컴포넌트 파일에 하나의 feature요소만을 담고 있었습니다. 코드가 깔끔해보였고, 기능을 바로 파악할 수 있는 코드였습니다. 이에 비해서, 저희 제품 코드는 뭉처있는 코드들이 정말 많았습니다. 베트남 개발자 코드를 보고 난 뒤에 제 머리는 패치가 되었고, 뭉쳐있는 코드(하나의 컴포넌트인데, 여러 feature를 가진 경우나 코드가 긴 경우)를 보면 리펙토링 의지를 불태울 수 있었습니다.🔥 긴 코드 분리하기 리펙토링의 첫 대상은 app.vue였습니다. app.vue의 문제점. app.vue의 코드가 정말 길었다. 2000줄 이상 app.vue에 header와 foo.. 2021. 7. 13.

vscode 개발환경 세팅하기

브라우저 환경 chrome 크롬 플러그인 vue dev tool vscode 설치 플러그인 - vetur - vue VSCode Snippets - Material Icon Theme - Live Server vscode 테마 변경 1. vscode 검색창 열기 맥 : Cmd + Shift + P 윈도우 : Ctrl + Shift + P 2. 'color theme'를 검색 git clone 받기 1. 터미널 열기 맥 : control + shift + ` 2. 명령어 입력 : git clone 클론 주소 2021. 1. 22.

[Lombok]반드시 알고써야하는 어노테이션

Lombok 어노테이션들을 알아보겠습니다. 참고 : https://projectlombok.org/features/all @Data 어노테이션은 @ToString, @EqualsAndHashCode, @Getter, @Setter(non-final field) 그리고 @RequiredArgsConstructor를 합해 놓은 단축 어노테이션이다. @ToString Java에서 toString() 메소드는 java.lang 클래스에서 기본적으로 제공하는 메서드입니다. toString()메서드를 오버라이딩해서 사용하는 경우가 많은데, 사용 예를 보면 다음과 같습니다. /*참조 : https://projectlombok.org/features/ToString*/ import java.util.Arrays; pu.. 2020. 7. 12.

[Linux]리눅스 환경의 값진 경험담

스케줄을 수행하는 배치파일(.sh)이 수행이 안되는 문제가 있었습니다. 명령어 앞에 sudo를 붙여야 하고,, 비밀번호를 입력해야 했습니다... 지금 생각해 보니,,, 파일 소유자가 search인데,,, admin계정으로 로그인해서 배치파일을 실행하려고 했으니 당연히 안되는 것이었네요... 헤매지는 않았는데,, 권한 문제인 것은 알고있었습니다. 그래도 혹시 몰라서, 친한 대리님께 물어봤더니... chown 명령어로 파일 소유자를 root로 변경하라는 조언을 받았습니다. chmod로 파일 실행권한은 알고 있었는데,,, chown은 생각도 안하고 있는 저였습니다. chown root:root totalMenu2.sh로 그룹과 소유자를 root로 변경하였습니다. 배치파일 totalMenu2.sh안에 또 배치파.. 2020. 6. 30.

[Javascript]인터넷 익스플로러에서는 지원하지 않는 자바스크립트 함수가 있었다.

어느날. 말단사원답게 한가로이 프로젝트 테스트 시나리오를 열심히 작성하고 있을 때였습니다. 크롬에서는 오류없이 잘 되던 앱이 인터넷 익스플로러에서는 데이터가 불러와지지 않는 아주 심각한 현상을 발견했습니다.(익스플로러는 정말이지..) 알아보니, Internet Expolore에서 지원되지 않는 자바스크립트 내장 객체 기능(함수)가 있었습니다. 문자열_객체.includes('포함되어 있는지 확인할 문자'); 그건 바로 includes()함수였습니다. includes()함수는 문자를 파라미터로 입력받아, 파라미터의 문자열이 '문자열_객체'에 포함되어 있는지 확인하는 함수입니다. 저의 프로젝트의 웹 개발에서 화면단 소스(jsp)에 자바스크립트 includes()를 사용하면 크롬에서는 정상적으로 동작하지만, 인.. 2020. 4. 23.

[jstl]최악의 코드에서 그나마 나은 코드로...

회사 업무 중에서 다음과 같이 DB에 저장이 되어있는 전화번호들이 있습니다. (같은 프로젝트 대리님이) 전화가 되도록 해달라고 해서 JSP로 받아온 데이터${phoneNum}를 JSTL문법을 사용해서 문자열을 손을 보았습니다. 그런데 전화번호들이 뜻대로 되지 않았습니다.. 여기서 문제가 무엇이었냐면요... 일단, 제가 작성한 알고리즘에서는 전화번호 문자열에 '~'가 한개만 있을 경우에는 그림처럼 잘 처리가 되었습니다. 그런데, 011-222-2222(3333) 처럼 괄호가 들어간다거나;;; 011-xxx-3xx0, 0xx-xx1-xxx4~5 이런 식으로 데이터가 들어오면,, 제가 작성한 알고리즘이 처리를 못하는 상화이 발생하게 되었습니다. jstl로 문자열을 변경하는 방법으로 알고리즘을 작성하였고, 처음.. 2020. 4. 23.

[HTML,Javascript]enter로 Javascript 메소드 호출하기

안녕하세요. 회사에서 일을 하는데, db검색 기능이 정상적으로 작동하는지 테스트를 하고 있었습니다. 그런데 Enter로 submit이 발생하지 않는 이슈를 발견하였습니다. (왜 지금까지 몰랐는지....) 진짜 개발할 때는 그 기능에 집중해서 다른 기능이 정상적으로 작동하는지는 잘 신경이 가지 않습니다. 이런 테스트 또한 힘이 드는 일이니까요. 그리고 무엇보다 이 기능이 안되면 어쩌지에 대한 두려움과 귀차니쯤이 겹쳐 기능검수에 소흘히 되는 것 같습니다. 클릭도 되지만, Enter로도 함수호출이 가능해야 했습니다. 해결방법 form태그 안에 있는 태그에 값을 입력하고 enter로 javascript 함수를 실행하려고 합니다. 태그의 파라미터로 onkeypress라는 파라미터가 있는데, 마우스를 클릭했을 때 .. 2020. 4. 6.

[전자정부프레임]샘플페이지 안열림

개발환경 jdk1.8 tomcat8 전자정부프레임워크 v3.7 에러1. 해결방법 프로젝트 우클릭 > properties Deployment Assembly > Add 버튼 > Java Build Path Entries > Maven Dependencies 선택 > Apply버튼 에러2. 심각: Failed to process JAR found at URL [/newtech] for ServletContainerInitializers for context with name [{1}] java.io.IOException: java.lang.ClassCastException: Cannot cast org.springframework.web.SpringServletContainerInitializer to ja.. 2020. 2. 26.

[STS]이클립스 받은 프로젝트 실행 안됨

svn으로 받은 프로젝트 jdk 1.8버전으로 모두 맞추기 sts tomcat v8.0 jdk 1.8 1. svn으로 프로젝트 내려받기. [window]->[show View] -> [SVN Repositories]하면 아래 사진처럼 svn repositories 창이 뜰꺼고 SVN정보를 입력해주면 svn에 있는 프로젝트들이 나온다. 저거 중에 최상위 경로 말고 아래에 프로젝트만 [Checkout]으로 받아주면된다. 2. 프로젝트 톰켓 등록 3. 프로젝트 우클릭-> properties -> project Facets -> Dynamic web Module, java, javascript를 체크하고 적용하고 나오면 됨. 하려는 것 : sts에서 svn내려받고 프로젝트 tomcat 실행하려던 중 에러 발생... 2020. 2. 19.