일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- webpack
- nodeJS
- spring batch #스프링 배치 #스프링 배치 중복 실행
- javascript
- effectivejava
- 이펙티브 자바
- Intellij
- 자바
- spring security
- ECMA2015
- java
- ES6
- requestbody
- javascript 값
- javascript value
- CAS
- javascript 기초
- JetBrains
- you don't know js
- Spring Session
- Effective Java
- java.util.LinkedHashMap cannot be cast
- 자바스크립트
- javascript native
- Babel
- Redis
- 이펙티브자바
- javascript type
- webstorm
- Spring
- Today
- Total
목록분류 전체보기 (34)
귀찮지만 만들어보자
레거시 프로젝트를 다루는 일이 많아지면서 전에 직면하지 못했던 문제들을 해결해야할 경우가 종종 생기게 됐다 당연하게 사용해왔던 @RequestBody 역시나 마찬가지 -_-.. Spring 3.0 -> 3.1로 버전이 올라가면서 deprecated 됐던 설정들을 교체해주고나서 제대로 동작하는가 했더니 이번에는 Object가 아닌 List형태를 RequestBody 어노테이션으로 받아오면 java.util.LinkedHashMap cannot be cast to object 이런식으로 에러가 발생했는데.. 나는 분명히 List형태의 데이터를 받아왔지만 LinkedHashMap으로 되어있어서 이상하다는 생각에 구글링을 해보니 일단 4.0이후의 버전에서는 고쳐진 문제라고 한다.. 그러나 3.x 버전의 스프링에..
인터페이스에 throw Exception을 정의해 놓더라도 구현체인 클래스에서 표현이 생략가능하다.. 이건 위험성을 내포하고있는듯
엑셀 업로드 기능에서 장애가 나서 살펴보니 특정 컬럼의 바코드 번호에서 중복이 발생했다는 에러가 떠있었다 테스트를 해본결과 2147483647 라는 값이 중복되어서 들어가는 점이 의아해서 구글님께 도움을 청해보니.. Integer 타입의 최대값이 2147483647 라서 그 보다 큰 숫자가 입력되었을 경우에는 인식을 못했던 것이다 그래서 전부 Long 타입으로 고쳤다
400대 에러의 경우는 서버에서 발생한 오류가 아니라 잘못된 접근으로 인해 발생하기 때문에 dispatcher 단계에서 필터를 걸어 처리해왔다 spring boot를 사용할 경우에는 dispatcher의 단계를 자동으로 잡아주기 때문에 따로 설정이 필요하다 @Configuration @EnableWebMvc @ComponentScan public class ServletConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/te..
jPA를 사용할때는 반드시 primary key 역할을 하는 id가 있어야한다
spring boot는 embedded tomcat을 내장하고 있어서 일반적인 자바 어플리케이션을 실행하는것처럼 동작하게 되는데 그래서 톰캣의 resources update 기능을 사용하기가 힘들다 gradle이나 maven을 사용하면 대체가 가능하다 gradle은 잘 모르겠고(-_-;) maven은 mvn resources:resources 키워드로 변경된 내용을 서버 재기동없이 리로드가 가능하다 + 추가 maven 기준으로 org.springframework.boot spring-boot-devtools devtools dependency를 추가하면 ctrl (command) + F9로 해결이 가능하다
1. javascript는 느슨한 타입 체크를 한다2. javascript에서는 하나의 숫자형만 존재(number) / java 처럼 int, long, double 이런 여러가지 형태가 아님3. 정의되지 않은 변수는 undefined 타입이다. 4. null과 undefined 모두 비어있는 값을 뜻함. 그러나 null은 명시적, undefined는 정의되지 않음을 뜻한다5. null로 선언된 변수를 typeof로 체크하면 object가 나온다ex) var test = null; console.log(typeof test); -> 이 결과가 object6. javascript에서 기본 타입을 제외한 모든 값은 객체이다7. javascript에서 객체 생성 방법은 크게 두가지가 있다ex 1) var a ..
javascript 에서 새로운 변수, 혹은 오브젝트를 생성하고 거기에 기존의 오브젝트를 입력하면soft link 상태가 된다 예를 들자면 $scope.arr = [{name: "test"}];이렇게 생긴 배열이 있다고 가정했을 때var arr = $scope.arr; 혹은var arr = $scope.arr.clone 이런식으로 새로운 변수에 기존의 오브젝트를 입력하게 되면 soft link 상태가 된다 기본적으로 양방향 데이터 바인딩을 제공하는 앵귤러의 특성상 $scope.arr의 값이 변할경우 var arr 역시 변하게 되는 것이다.그래서 이런 상황을 방지하려면 deep copy를 해야하는데 이때 필요한 것이 angular.copy 함수다 사용 예시 ) $scope.arr = [{name: "tes..
yo bower grunt를 설치하기 위해서 우선은 nodejs를 설치해야 합니다nodejs를 설치하는 방법은 크게 세가지가 있습니다1. homebrew를 이용해서 설치하는 방법 - http://hochulshin.com/node-install-osx/2. nodejs.org 에서 설치 파일을 다운로드하는 방법 - https://coolestguidesontheplanet.com/installing-node-js-on-osx-10-10-yosemite/3. nvm을 이용해서 설치하는 방법 - http://junsikshim.github.io/2016/01/29/Mac%EC%97%90%EC%84%9C-Node.js-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0.html(nvm --ver..
자바의 반복문은 크게 for / while / do-while 세가지가 있다.보통 반복문을 사용할 경우 for문을 권장하는 이유는 while이나 do-while에서는 자칫 무한 루프에 빠질 확률이 있기 때문이다for문을 사용할 때에도 주의해야할 점이 있는데 예를 들어List list = Arrays.asList(1, 2, 3, 4);int a = 0;for (int i = 0; i < list.size(); i++) {a += list.get(i);}이런 구문이 있을때 for문이 돌게되면 그때마다 list.size를 체크하기 때문에list.size()는 따로 빼서 한번만 호출하도록 만들어야 효율적이다 이외에도 jdk 1.5버전 이후에 향상된 for문이라 불리는 for-each문이 등장하여 사용이 편리해졌..