1. npm.com에서 'uglify-js' 검색 후 설치법 확인 2. cmd(터미널)에서 'npm install uglify-js -g' 또는 'npm install uglify-js' 입력 * '-g'가 붙으면 컴퓨터 전역에서 사용하는 독립적인 프로그램으로 사용, 없으면 프로젝트 내에서만 사용 3. 예제 pretty.js 코드 작성 function hello(name){ console.log('Hi,' + name); } hello('seogineer'); 4. 사용 방법 방법1 - cmd(터미널)에 pretty.js 변형 결과 바로 출력 uglifyjs pretty.js 결과1 function hello(name){console.log("Hi,"+name)}hello("seogineer"); 방법2..
Hello World 출력 1. 설치 - 폴더 생성 mkdir myapp cd myapp - package.json 생성 npm init - dependencies에 추가 npm install express --save 2. app.js 작성 const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) }) 3. cmd(터미널)에서 app.js가 위치한 폴더로 이동 4. 실..
Hello World 출력 1. 설치 과정 생략 2. webserver.js 작성 const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); 3. cmd(터미널)에서 webserver.j..
1. 파이썬 설치 - python.org에서 설치 파일 다운로드 - 설치 페이지에서 Add Python 3.xxx to PATH 체크박스를 체크 후 설치 2. 파이썬 버전 및 설치 확인 - cmd > "python -V" 입력 3. 프로젝트 폴더로 이동 - cmd에서 cd 명령을 사용해서 테스트할 프로젝트가 있는 폴더로 이동 4. 서버 구동하기 - 파이썬 버전이 3.X인 경우 : python -m http.server - 파이썬 버전이 2.X인 경우 : python -m SimpleHTTPServer - 8000 포트가 아닌 다른 포트에서 실행하려면 python -m http.server 7800과 같이 포트번호 입력 5. 서버 접속 - 웹브라우저에 "localhost:8000"을 입력하면 서버로 이동 ..
*************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. 해결 방법 1. cmd(명령프롬프트) 실행 2. netstat -ano 입력 3. PID 확인 4. taskkill /pid PID /f 입력 예) taskkill /pid 1036 /f
증상 서버에서 파일을 읽어오다가 실패하면서 console에 "net::ERR_CONTENT_LENGTH_MISMATCH 200" 출력 원인 서버에서 읽어오는 파일의 크기와 Header에 설정된 파일의 Content-Length의 크기가 달라서 발생 해결 upload 할 때 파일 크기를 추출해서 DB에 저장한다. @PostMapping("/uri") public String upload(@RequestParam("file") MultipartFile file) { Object obj = new Object(); obj.setFileSize((int) file.getSize());//MultipartFile의 getSize() 메소드로 파일 크기를 추출한다. service.insert(obj);//추출한 파..
트랜잭션(Transaction) 쪼갤 수 없는 하나의 작업 단위 서비스 객체(=비즈니스 로직)는 하나의 트랜잭션으로 동작한다. 트랜잭션의 특징 1. 원자성 : 전체가 성공하거나 전체가 실패하는 것을 의미 2. 일관성 : 트랜잭션이 진행되는 동안 데이터가 변경 되더라도 처음에 트랜잭션을 진행할 때 참조한 데이터로 진행된다. 3. 독립성 : 하나의 특정 트랜잭션이 완료될때까지 다른 트랜잭션이 특정 트랜잭션의 결과를 참조할 수 없다. 4. 지속성 : 트랜잭션이 완료되었을 경우 영구적으로 반영되어야 한다. Spring에서 트랜잭션 사용 1. pom.xml에 라이브러리 추가 org.springframework spring-tx 4.3.5.RELEASE 2. web.xml에 ContextLoaderListener가..
SQL SELECT id, name, content, regdate FROM guestbook ORDER BY id DESC limit :start, :limit; --LIMIT 시작점, 갯수 Controller defaultValue="0"에 의해 처음은 0 번째부터 5개를 출력한다. 그 다음부터 pageCount에 따라 pageStartList에 5, 10, 15 등의 값이 들어갈 수 있다. @Autowired GuestbookService guestbookService; @GetMapping(path="/list") public String list(@RequestParam(name="start", required=false, defaultValue="0") int start, ModelMap mo..
1. pom.xml에서 JDK와 Servlet의 버전을 각각 1.8과 3.1.0으로 변경 후 저장한 다음 "프로젝트 우클릭 → Maven → Update Project..." UTF-8 1.8 1.8 javax.servlet javax.servlet-api 3.1.0 provided 2. web.xml에 DTD를 3.1로 변경한다. Archetype Created Web Application index.html index.jsp 3. 이클립스 Navigator 뷰에서 프로젝트/.settings/org.elclipse.wst.common.project.facet.core.xml 파일을 수정한다. 4. 이클립스 restart
실행 과정 1. 주소창에 http://~/xxxx 입력 2. DispatcherServlet → Controller : Controller에서 path가 /xxxx인 메소드 실행 3. Controller → DispatcherServlet : InternalResourceViewResolver가 가져온 return 값에 "/WEB-INF/views/"와 ".jsp"를 붙임 4. DispatcherServlet → View template : return 받은 "/WEB-INF/views/xxxx.jsp" 경로 파일 실행 (아래 DispatcherServlet 설정 참고) DispatcherServlet(=WebMvcContextConfiguration.java) 설정 @Configuration @Enab..