전체 글

창업, 사업, 자기개발, 운동, Web, App, Java, python, 이슈, 개발자, JavaScript, amazon, cloud server, 취업, 스펙, Android Studio, Spring, React, Node.js, 구독하면 댓글 남겨주세요.
· Docker
1번 2번으로 이중화 되어있는 서버에 도커로 웹 서비스를 띄어논 상황에서 2번 서버의 서비스가 작동하지 않아 문제부터 해결방법을 정리해 보았습니다. 문제 내부 포털 was 2번서버에 Docker로 띄어져 있는 서비스가 나오지 않는다. 방화벽 문제는 아님(curl -v 80 으로 접근 시 tcpdump로 확인이 가능하다.) docker 문제로 판단중 😑😑😑 로컬에서 자신을 호출했을때는 서비스에 접근이 가능하다. 다른서버에서 2번서버를 호출하면 docker 네트워크로 포워딩이 안된다. 해결방법 iptables 초기화 후 도커 재실행 sudo iptables -t filter -F sudo iptables -t filter -X systemctl restart docker 이 명령어는 Linux 시스템에서 i..
· Java
Java에서 엑셀 업로드 기능을 구현하려면 Apache POI 라이브러리를 사용할 수 있습니다. POI는 Microsoft Office 파일 형식 (예: XLSX, XLS)을 조작하기 위한 Java 라이브러리입니다. 다음은 POI를 사용하여 Java에서 엑셀 업로드 기능을 구현하는 방법입니다.0. POI 라이브러리를 다운로드하고 프로젝트에 추가합니다. POI는 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 프로젝트에 추가할 수 있습니다. org.apache.poi poi 5.0.0위 의존성은 POI 라이브러리의 메인 모듈인 poi를 추가하는 것입니다. 만약 필요한 경우, 추가적인 모듈도 의존성에 추가할 수 있습니다. 예를 들어, .xlsx 파일을 처리하기 위해서는 poi..
· Nginx
프로젝트를 하다보면 타사 서비스를 iframe으로 넣어달라는 요청이 있다. 타사 서비스에 iframe 옵션을 설정할 수 있는 방법이 있다면 그 방법을 따라 진행하면 되지만 없을 경우 최후의 수단으로 Nginx를 앞단에 놓고 X-Fraome-Option 헤더를 삭제해 강제로 iframe을 사용하게 할 수 있다. 아래의 그림처럼 타사 서비스를 호출하게 되면 X-frame-option에 따라 서비스 호출에 제한이 있다. 따라서 중간에 Nginx를 웹서버로 두어 X-frame-option Header을 비활성화 시켜준다. server{ location /{ proxy_hide_header X-Frame-Option; } } nginx 설정 및 사용 방법에 대해서는 추후 포스팅 할 예정이다.
· Tomcat
다른 업체에서 서버에 배포해 주고 간 서비스의 default URL이 잡혀있지 않아 설정을 조금 변경해야 하는 일이 생겼다. 💢문제 아래처럼 기본 url로 접속을 하면 404에러가 뜨고 https:/derault-url.com 아래의 url로 접속을 해야 업체에서 배포한 서비스에 접속이 가능했다. https:/derault-url.com/app ❗목표 기본url(https:/derault-url.com)에 접속 시 custom error 페이지 노출하기 💯해결방법 사실 조금의 설정만 바꾸된 쉽게 될줄 알았다... 하지만 업체에서 설정을 바꿔놔 많은 삽질을 하게되었다... 이참에 Tomcat 구조와 동작원리, 파일 구도 등 여러가지를 자세하게 알아 볼 수 있는 계기가 되엇다. 기본적으로 tomcat의 파일..
· Java Script
java script에서 List에 대해 forEach 함수를 실행시키면 차래대로 데이터를 볼 수 있다. 하지만 Map을 가지고 forEach를 실행시키면 파라메타가 아래와 같이 위치한다. function logMapElements(value, key, map) { } 아래의 예를 보면 좀 더 이해하기 쉬울것이다. let mapDatas = new Map(); mapDatas.set("a", "A"); mapDatas.set("b", "B"); mapDatas.set("c", "C"); mapDatas.forEach((v, k, m) => { console.log("v: " + v) console.log("k: " + k) console.log("m: " + m) }) //v: A //k: a //m M..
· Java Script
자바스크립트에서 map(), filter(), reduce() 메소드는 배열 요소를 나열하거나, 특정 조건을 보여주는데 많이 사용된다. 이번 글에서는 해당 매서드들의 동작원리는 자세하게 알아보려고 한다. // 아래 예제에서 모두 해당 데이터를 사용한다 const dataList = [ { key: 1, text: 'hello', }, { key: 2, text: 'everyone', }, { key: 3, text: 'welcome', }, { key: 4, text: 'to', }, { key: 5, text: 'my blog', }, ]; map() // Array.prototype.map() arr.map(callback(currentValue[, index[, array]])[, thisArg])..
· WEB
tomcat을 사용해 서버를 띄우게 되면 기본적으로 index 페이지에 tomcat에 정보가 노출되고 에러페이지에 tomcat에 정보가 노출된다. 이는 취약점에 해당하기 때문에 아래와같이 수정을 해줘야 한다. tomcat 설정파일 변경 /tomcat/conf/web.xml 파일 수정 /error.html index.html index.htm index.jsp 404 /error.html error 페이지 구현 /tomcat/webapps/ROOT 에 error.html 생성 에러페이지는 html 형식에 맞춰 각자 원하는데로 생성하면 된다. 재시작 /tomcat/bin 이동 ./shutdown.js ./start.js
· Git
git push 오류 브랜치를 재설정해 주면 된다. fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use //깃 브랜치 삭제 git branch --unset-upstream //깃 프랜치 이동 git checkout -b master //푸시 git push -u origin master
TaeHuiLee
Developer_TaeHui