본문 바로가기

728x90
반응형

전체 글

[Javascript] var, let, const 차이점 1. 변수 선언 방식 우선, var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. var name = 'bathingape' console.log(name) // bathingape var name = 'javascript' console.log(name) // javascript 변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다. 이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다. 그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선언 방식이 let 과 const 이다. 위의 코드에서 변수 선언 방식만 바꿔보자. let name .. 더보기
[JAVA] POI 엑셀파일 생성시, "XXX의 내용에 문제가 있습니다." * JAVA POI 엑셀파일 생성시, "이 통합 문서의 내용을 복구하시겠습니까?" 에러 해결보자 최근 java POI를 사용하여 엑셀업로드 개발을 작업하고 있는데, 한가지 문제를 만났다. 엑셀 파일을 생성 후 아래 코드처럼 구현하였는데, response.setHeader("Set-Cookie", "fileDownload=true; path=/"); response.setHeader("Content-Disposition", String.format("attachment; filename=" + excelName)); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); wb.write(resp.. 더보기
[JAVA] 이미지 업로드하기 @ResponseBody @PostMapping("/file/upload") public ApiSuccess upload( HttpSession session, @RequestParam(value = "accept", required = false) String accept, @RequestParam(value = "isProductImage", required = false) boolean isProductImage, @RequestParam(value = "limit", required = false, defaultValue = "0") long limit, @RequestParam(value = "width", required = false, defaultValue = "0") int width, .. 더보기
[Javascript] Lodash 사용해서 값찾기 lodash _.find() 알아보기 먼저 find()에 대하여 알아봅니다. find()는 원하는 값을 배열 / 객체에서 쉽게 찾아 사용할 수 있습니다. 배열의 경우 비교적 간단하게 원하는 값을 찾을 수 있지만 객체의 경우는 어떤가요? 뭔가 일치하는 값을 찾으려면 변환에 변환을 거치고 어렵게 원하는 값을 구할 수 있습니다. 하지만 find()를 사용하면 여러 값을 가지는 데이터에 대하여 매우 간단하게 원하는 값을 찾는 것이 가능합니다. 먼저 아래는 문법입니다. _.find(collection, [찾을 조건]) _.find(collection, {찾을 조건}) 찾을 Collection 대상에서 찾을 조건을 넘겨줘야 하는데 객체 / 배열 모두 가능합니다. 그렇다면 아래에서 예제를 통하여 어떻게 사용하는지 알.. 더보기
[Tools] node 환경 구성하기(on windows) node는 버전업이 빠른 편입니다. 매번 다른 버전을 설치하기 번거롭기 때문에 nvm을 설치합니다. nvm 설치 아래 링크에서 최신 버전을 다운 받습니다. https://github.com/coreybutler/nvm-windows/releases nvm-setup.zip 파일을 받아 압축을 푼 후 개인 상황에 맞는 경로에 설치합니다. ex) D:\program\nvm 설치 시 환경변수가 추가 되므로 시스템 재부팅을 해줍시다. 현재 설치 가능한 node 버전 확인 D:\program\nvm>nvm ls available | CURRENT | LTS | OLD STABLE | OLD UNSTABLE | |--------------|--------------|--------------|------------.. 더보기
[Javascript] 파일 업로드 화면 view js 파일 $(document).ready(function () { $('input[type=file][data-ipss-upload]').on('change', function (e) { var $this = $(this); var file = this.files[0]; if (!file) { return; } var accept = $this.attr('accept'); var isProductImage = $this.attr('data-ipss-upload-product-image'); var limit = $this.attr('data-ipss-upload-limit'); var dimension = $this.attr('data-ipss-upload-dimension'); var .. 더보기
[Git] git stash - 임시저장 하던 작업을 임시로 저장 해두고 싶을 때 사용하는 명령어 git stash Goal stash 개념과 과정을 이해한다. stash를 적용할 수 있다. stash와 관련된 git 명령어를 확인한다. 들어가기 전 자신이 어떤 작업을 하던 중에 다른 요청이 들어와 하던 작업을 멈추고 잠시 브랜치를 변경해야 할 일이 있다고 하자. 이때, 아직 완료하지 않은 일을 commit하는 것은 껄끄럽다. 어떻게 해야 될까? git stash 란? 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어이다. 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 마무리할 수 있다. git stash 명령을 사용하면 워킹 디렉토리에서 수정한 파일들만 저장한다. stash란 아래에 해당하는.. 더보기
[Java] 객체지향 생활 체조 규칙 1: 메서드당 들여쓰기 한 번 어디서 시작할지 몰라 덩치크고 오래된 메서드를 노려보고 있다면? 거대한 메서드는 응집력이 떨어진다. 한 지침은 메서드 길이는 5줄로 제한하는 것이지만, 그런 종류의 이전(transition)은 코드가 500줄짜리 괴물들로 어질러져 있으면 의욕이 꺾이기 쉽다. 대신, 각 메서드가 정확히 한 가지 일을 하는지, 즉 메서드당 하나의 제어 구조나 하나의 문장 단락(block)으로 되어 있는지를 지키려고 노력한다. 한 메서드 안에 중첩된 제어구조가 있다면 다단계의 추상화를 코드로 짠 것이며, 고로 한 가지 이상의 일을 하고 있다는 뜻이다. 정확히 한 가지 일을 하는 메서드들로 작업을 하면 코드가 달라지기 시작한다. 애플리케이션의 각 단위가 더 작아짐에 따라 재사용의 수준은 기하.. 더보기

728x90
반응형