17년 2월 기준. app.js var index = require('./routes/index'); // index.js route할 경우 app.use('/', index); index.js router.get('/', test); // 해당 경로의 route module.exports = app; // bin/www에서 사용하므로 유지해야 함. pg https://www.npmjs.com/package/pg pg-promise https://www.npmjs.com/package/pg-promise req.query topologyFaults?regionId=DF console.log(req.query); // { regionId: 'DF' } req.query.regionId router.get(..
16년 10월 기준. ifcfg-lo:0 DEVICE=lo:0 IPADDR=192.168.100.99 NETMASK=255.255.255.255 BROADCAST=192.168.100.255 ONBOOT=yes NAME=loopback /etc/sysconfig/network-scripts/ifcfg-lo:0 service network restart // 해당 VIP 네트워크가 등록되어 있지 않아서 값을 보내주질 못한다. 이럴때는 수동으로 등록. mv ifcfg-lo:0 /etc/sysconfig/network-scripts/ifcfg-lo:0 // 사용하지 않을때에는 삭제 또는 다른 폴더로 이동 후 network restart
17년 1월 기준. npm install express -g usr/local/lib/node_modules // express, npm 설치 경로 bash: express: command not found // npm install express-generator -g 설치 mkdir test express test // test 생성 /usr/local/etc/test npm install // 해당 경로에서 인스톨 app.js app.use(express.static(path.join(__dirname, 'app'))); // 사용할 폴더 npm start // npm 시작 "scripts": { "start": "node ./bin/www", } // package.json 에 start에 대한 ..
17년 1월 기준. WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++) curl http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo > /etc/yum.repos.d/slc6-scl.repo // repo 복사 rpm --import http://ftp.scientificlinux.org/linux/scientific/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern // import cern's gpg key yum install -y devtoolset-3 // install devtoolset-3 scl enable devtoolset-3 bash // enable the ..
17년 1월 기준. yum install npm // npm(node pakage manager) 설치 yum install gcc gcc-c++ python // 소스 컴파일 위해 패키지 설치 wget https://nodejs.org/dist/v6.9.4/node-v6.9.4.tar.gz --no-check-certificate // 소스 다운로드 tar -xvzf node-v6.9.4.tar.gz mv node-v6.9.4 /usr/local/ // 압축풀고 이동 ./configure make // configure make install // root 권한 필요 [root@RPSPLUSDEV01 node-v6.9.4]# node --version v6.9.4 [root@RPSPLUSDEV01 no..
16년 12월 기준. wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.8/bin/apache-tomcat-8.5.8.tar.gz tar -xzvf apache-tomcat-8.5.8.tar.gz mv apache-tomcat-8.5.8.tar /usr/local/tomcat ln -s apache-tomcat-8.5.8. tomcat /etc/profile export JAVA_HOME=/usr/java/idk export CATALINA_HOME=/usr/local/tomcat source /etc/profile yum install iptables-services // iptables-services 설치 vi /etc/sysconfig/i..
17년 4월 기준. /etc/init.d/iptables stop service iptables stop // 방화벽 중지 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT // 포트 추가 /etc/init.d/iptables start service iptables stop // 방화벽 시작 /etc/init.d/iptables status service iptables stop netstat -ntl // 방화벽 확인 CentOS 7 service firewalld stop // 방화벽 중지 vi /etc/firewalld/zones/public.xml // 포트 추가
옵저버 패턴 하나의 객체가 바뀌면 그 객체에 의존하는 객체들이 영향을 받는 패턴 java.util.observable과 java.util.observer의 장단점 java.util.observable은 클래스이다. 다른 슈퍼클래스를 확장하고 있는 클래스는 사용할 수 없다. 인터페이스가 아니기 때문에 다형성을 구현하기 힘들다. Notifyobservers() 호출전에 반드시 호출되어야 하는 setChanged() 메소드가 protected로 선언되어 있어 java.util.observable을 구현한 서브클래스에서만 구현할 수 있다.