IT 공부/옛날 공부 내용들5 Ajax 동기/비동기 ajax는 다들 알다시피 기본적으로 비동기 방식으로 동작한다. 애초에 ajax는 Asynchronous Javascript And XML의 줄임말이다. 비동기로 작동하는 만큼, 해당 기능이 데이터를 처리하는 동안 또다른 동작을 수행할 수 있고, 불필요한 로딩을 줄이고 자유로운 페이지 구성도 가능하다. 하지만 간혹, ajax를 동기 방식으로 동작하게 해야할 때가 있다. $.ajax({ type: 'POST', url: 'notice/setting', data: "temp=1234", success: function(data) { if(data != null) { // Do somothing. } } }); doAnything(); 이러한 자바스크립트 코드가 있다면, doAnything() 함수는 위 aja.. 2020. 4. 20. Factory Method 패턴 이번 스터디 정리는 Factory Method패턴이다. factory는 말 그대로 공장이란 의미를 갖고 있다. Template Metho패턴으로 인스턴스를 생성하는 공장을 구성한 것으로, 인스턴스를 만드는 방법을 상위 클래스에서 결정하나, 구체적인 클래스 이름까지는 결정하지 않는 패턴이다. 즉, 인스턴스 생성을 위한 framework와 실제 인스턴스 생성의 클래스를 분리해서 생각할 수 있다. 예제 Java 언어로 배우는 디자인 패턴 입문 책에 있는 예제로 설명을 하겠다. ID카드를 만드는 공장을 생각해보자. Product 클래스와 Factory 클래스가 framework역할을 하고, IDCard 클래스와 IDCardFactory 클래스가 구체적인 내용 구현을 담당한다. Product 클래스 framewo.. 2020. 4. 1. 타이밍 어택 (보안) 우리는 프로그래밍을 할 때 같은 문자열인지를 알아내기 위해 종종 toEquals를 쓰고는 한다. 이 메소드의 문제점이 무엇이냐면 "yotaiji" 라는 문자열과 똑같은지 비교를 한다고 하자. 그러면 처음엔 y, 그 다음엔 o, 그 다음엔 t... 이와 같은 순서로 첫번째 문자부터 하나씩 비교를 해간다. 만약 내가 "yaaaaaa" 라는 문자열을 넣었다면 두번째 문자를 비교할 때 다르다는 걸 알게 되고 컴퓨터는 return false를 할 것이다. 그 다음엔 "yoaaaaa" 를 넣어본다. 그러면 세번째 문자에서 false를 보여줄 것이다. 두번째에서 false 리턴인지, 세번째에서 false 리턴인지, 여기서 프로그래밍 수행 속도가 조금 차이가 난다고 한다. 물론 쉽게 측정은 안되지만 어느정도 시도를 하.. 2020. 3. 23. Same Origin Policy (동일 출처 정책) Origin : URL의 포트 ,호스트, 그리고 스킴으로 정의되는 것을 오리진이라 한다. 일반적으로 정보들은 서로 독립적이고 구별되는 출처로부터 가져와진다. 예를 들어 http://example.com/doc.html 에서 가져온 문서가 https://example.com/target.html 에서 가져온 문서의 DOM에 접속하려고 한다면 user agent는 이를 불허할텐데 그 이유는 첫번째 링크는 http, example.com, 80 이고 두번째 링크는 https, example.com, 443 이기 때문이다. 네트워크 API에서 동일 출처 정책은 정보 송수신을 구별해준다. 말하자면, 하나의 출처가 다른 출처로 데이터를 보내는 것이 허용되어도 다른 출처로부터 데이터를 받는 것은 허용되지 않는다. 정.. 2020. 3. 19. Request 헤더에 너무 많은 데이터를 넣었을 때 한 row 에 20개 정도의 데이터 또는 780개 가량의 row를 한번에 보낼 때 계속 에러가 나는 경우를 겪었다. 갑자기 null 값이 보내지면서 DB 테이블의 NOT NULL 을 위반했다던가 기존에 쓰던 함수가 갑자기 모든 parameter를 null로 보낸다던가 하는 에러가 뜨면서 대체 어디가 잘못되었던 것일까..하고 한참을 고생했다. 그리고 시니어 분의 도움으로 얻은 해결책은 다음과 같다. 톰캣 설정에서 server.xml에서 connector 부분에 maxParameterCount 나 maxPostSize를 따로 세팅 안 해주면 너무 많은 값을 한 번의 요청에 넣으면 null값을 보낸다. 해당 관련 자세한 정보는 http://tomcat.apache.org/tomcat-6.0-doc/config.. 2020. 3. 9. 이전 1 다음 반응형