본문 바로가기

분류 전체보기에 해당하는 글들

201 Articles matched
목록이 없습니다.
[Ubuntu] xrdp 재시작 xrdp의 설정을 수정했거나 재시작해야하는 경우가 때떄로 발생합니다. 그런데 재시작을 했는대도 불구하고 원격 프로그램을 통해서 접속이 안되는 경우가 있습니다. ps -ef | grep xrdp 명령어를 통해서 나오는 프로세스들을 모두 kill 명령어를 통해 종료시켜 주었음에도 재시작이 안되는 경우 인데요. 문제 해결을 위해서는 남아있는 pid를 제거해주어야 합니다. 무슨 소리인가 하면, xrdp는 pid를 파일로 남겨놓는 습성이 있습니다. 따라서 이 파일을 제거해야 xrdp가 비로소 완벽하게 종료된 겁니다. 해결방법 1) xrdp 프로세스들의 pid 확인 # cat /var/run/xrdp/xrdp-sesman.pid # cat /var/run/xrdp/xrdp.pid 2) xrdp 프로세스 강제 종료 ..
[MYSQL, MARIADB] log 생략 (disable logging) mysql나 mariadb를 사용하여 데이터를 저장하는데 엄청난 양의 데이터를 insert하는 경우가 생겼습니다. 그런데 DB서버에 DB만 존재하는것이 아니고 Elasticsearch며 여러 다른 어플리케이션이 함께 올라가있었는데 ES에서 가장 먼저 반응이 왔습니다. disk가 95% 이상 사용중인 상태가 되어버리면 ES에서는 모든 인덱스를 read-only 상태로 전환이 되는 현상이었습니다. 그래서 디스크가 저렇게 많은 용량을 점유하게 된 원인을 찾아보니 mariadb의 log에 있었습니다. mariadb는 insert나 update 즉 DML 을 사용하게 되면 undo를 위해서 많은 log를 쌓게 되는데요, 만약 대용량 데이터를 쌓는데 저처럼 log가 필요없다거나 하는 경우 log를 생략(disabl..
[JAVA] java.security.cert.CertificateException: No name matching some_name found Problem public class UrlConnectionTest { public static void main(String[] args) throws Exception { URL url = new URL("http://example.com"); URLConnection conn = url.openConnection(); InputStream in = conn.getInputStream(); // occur error } } Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching some_name found at com.sun.net.ssl.internal.ssl.Al..
net::ERR_CONTENT_LENGTH_MISMATCH 크롬을 활용해서 웹 개발을 하다가 보면 크롬의 콘솔에서만 등장하는 몇몇 에러 메시지들이 있습니다. 그중에 오늘 다룰 에러 메시지는 net::ERR_CONTENT_LENGTH_MISMATCH 이라는 에러 메시지입니다. 크롬의 콘솔에서 저런 에러가 발생하는 것이 발견되었다면 그건 서버에서 웹 리소스를 보내줄 때 실제 컨텐츠의 길이와 response안에 헤더에 설정되어있는 Content-Length가 다르기 때문입니다. 이게 무슨말이냐 하면 쉽게 설명하기 위해서 그림으로 풀어보았습니다. 위의 상황에서 클라이언트 영역에서는 할 수 있는게 없습니다. 서버에서 Content-Length를 제대로 설정해주는 작업이 필요합니다. 보통 상황의 경우 발생하지 않는 에러이지만 이런 에러는 서버측에서 Content-Lengt..
[Tomcat] max post size (ajax max size) 설정 톰캣은 기본적으로 max post size가 지정되어있습니다. 아마도 4MB로 지정이 되어 있을건데 혹시 ajax등을 통해 POST로 4MB 이상 혹은 기존에 설정되어있는 max post size보다 큰 용량의 데이터를 전송하시려면 설정을 바꿔주셔야 합니다. 안그러면 아래와 같은 에러가 발생해요 net::ERR_CONNECTION_RESET 에러는 다양한 원인에 의해서 발생할 수 있는 에러이지만 저의 경우 위에서 설명한 원인 때문에 발생한 에러였습니다. 따라서 해결하기 위해 톰캣 설정을 해주겠습니다. 해결방법 위와 같이 Connector 태그 시작하는 부분에 maxPostSize를 원하는 크기만큼 설정해주시면 됩니다. 저는 100MB로 설정해주었습니다.
[Elasticsearch] 업데이트 시 해당 document 존재여부에 따라 update(script) or create Elasticsearch(이하 ES)는 보통 쌓인 데이터들을 ES구조로 컨버팅해서 대용량의 데이터를 인덱싱하여 빠르게 찾아볼 수 있도록 하는데 많이 사용되는데 이번 프로젝트 같은 경우에는 ES를 DB 처럼 사용해보았습니다. ES에 바로 데이터를 insert, update, delete를 하는 로직을 짜보았는데요, 그러다가 update 과정에서 벽에 부딪혔는데 해결 방법을 찾아서 정리해보려고 합니다. update를 하는데 처음에 로직을 기존 RDB처럼 해당 문서의 ID로 조회하여 문서의 존재 여부를 판단하고 없으면 insert(ES에서는 create문)를 존재하는 경우 update문을 날리도록 하였습니다. 그런데 서로 다른 여러 서버에서 쿼리문을 날리다보니 조회하는 시점에는 없던 문서였는데 다른 서버에서는..
[AngularJS] 바인딩 완료 시점 AngularJS를 사용하면서 바인딩이 완료되는 시점에 어떤 로직을 수행시키고 싶은 경우가 생기기 마련인데요. 바인딩 완료 시점을 이벤트로 잡아주는 함수들을 정리해보려고 합니다. 데이터 바인딩 이전 시점 $(document).ready(function() { ... }); 데이터 바인딩 이후 시점 (바인딩 완료 시점) $(window).load(function() { ... }); 뷰 영역에서 저처럼 ng-include를 사용하는 경우에는 해당 템플릿이 로딩되는 시점에도 무엇인가 로직을 돌리고 싶은 경우가 생기는데요. 그 시점에 함수를 실행시키는 방법은 아래와 같이 2가지가 있습니다. ng-include 로딩 완료 시점 onload에 수행시킬 함수 또는 로직을 넣어주시면 됩니다. app.run(funct..
[eclipse] remote system explorer operation 이클립스를 사용해서 spring framework 프로젝트를 개발하는데 서블릿 로직을 수정해서 저장할때마다 Build Automatically를 설정해놓았다면 계속 빌드를 새로 하는걸 볼 수 있는데요 이럴 때 가끔 이클립스 우측 하단에 Remote system explorer operation이라면서 엄청나게 많은 Progress 목록들을 볼 수 있습니다. 이것 때문에 빌드가 완료되기를 기다리는 경우가 많이 생기기 시작하면 개발 속도에 영향이 미치기 마련입니다. Remote system explorer operation이란 원격 프로젝트를 관리하는 플러그인 이라는데 사실 별 필요는 없어 보입니다. 이 기능을 꺼보도록 하겠습니다. 이클립스창 위에 목록에서 Window > Preference 를 클릭하면 아..