일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 디자인 패턴
- 자바
- 스프링
- 웹 개발
- 파이썬
- rabbitmq
- db
- 파이썬3
- 보안
- python3
- 스프링 부트
- 데이터베이스
- 웹
- mysql
- ORM
- JPA
- django
- BCI
- 스프링부트
- Python
- node.js
- Spring Boot
- java
- 자료구조
- HTTP
- 장고
- 개발
- bytecode
- 안드로이드
- Spring
- Today
- Total
목록웹 (10)
semtax의 개발 일지

개요 이번 포스팅에서는, 파일 업로드 및 다운로드 기능을 구현하도록 하겠다. 또한, 구현 하기전에 실제로 파일 업로드/다운로드가 어떻게 이루어지는지에 대해서도 알아보도록 하겠다. 웹에서는 파일 업로드 / 다운로드를 어떻게 하는걸까? 기본적으로, HTTP 요청/응답 프로토콜의 생김새는 대충 아래와 같이 생겼다. POST /cgi-bin/process.cgi HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.tutorialspoint.com Content-Type: application/x-www-form-urlencoded Content-Length: length Accept-Language: en-us Accept-..

개요 이번 포스팅에서는, script 태그를 원격에서 불러올때, 발생 할 수 있는 CORS 문제에 대해 알아보도록 하겠습니다. 회사에서 성능 모니터링 수집도구를 만들다가 발생한 이슈가 있어서 하루종일 삽질을 하다가, CORS에 대해 공부하게 되어 그 내용을 정리하였습니다. CORS? 먼저 구글에서, CORS의 정의를 찾아보면 아래와 같습니다. Cross-origin resource sharing (CORS) is a mechanism that allows restricted resources on a web page to be requested from another domain outside the domain from which the first resource was served.[1] A web ..
개요 이번 시간에는, 메가박스 알리미 서비스 제작을 위한, django 설치 및 기본 설정을 다루려고 합니다. 설치 python pip 를 이용해서 아래와 같이 설치를 해줍니다. $ pip3 install django 아래와 같이 명령어를 실행했을시, 버전이 출력되면 정상적으로 설치된 것입니다. $ python -m django --version 프로젝트 생성 아래 명령어를 이용해서 django 프로젝트를 생성 해줍니다. $ django-admin startproject megabox_alarm 위 명령어를 실행하면 megabox_alarm 이라는 폴더가 생성되고, 해당 폴더에 들어가면 아래와 같은 파일과 폴더가 생성되어있습니다. manage.py megabox_alarm 각 파일 및 폴더 설명은 아래와..

개요 이번 포스팅에서는 웹 서비스 개발시에 유용하게 써먹을 수 있는 Fiddler라는 툴에 대해서 설명을 하도록 하겠다. Fiddler는 웹 디버깅 프록시 프로그램으로, HTTP와 HTTPS 프로토콜을 캡처해서 분석 할 수 있는 도구이다. 사실, 서버개발자 뿐만 아니라, 모바일 앱 리버싱 할때에도 쓰이고, 웹 해킹 문제 풀때에도 쓰이고, 클라이언트 개발할때도 쓰이고 여튼 다양하게 쓰인다. 사실, MAC OS X 에서는 Fiddler가 없었던걸로 알고 있었는데 맥 버전도 찾아보니 나와서 소개를 하게 되었다. 설치 https://www.telerik.com/fiddler 위 사이트에 방문해서 설치를 해주면 된다. 사용법 아래 사진은 Fiddler를 실행한 화면이다.(맥 버전 기준) 아래 사진이 HTTPS 패..

개요 이번 시리즈 에서는 스프링 부트를 이용해서 간단한 웹 서버를 만들어 보도록 하겠습니다. 게시판을 만들기에 앞서 이번 포스팅에서는, 스프링 부트가 무엇인지에 대해서와 환경설정을 하는법을 다루도록 하겠습니다. 스프링 부트란? 스프링 부트를 설명하기 전에 먼저 스프링 프레임워크에 대해서 간략하게 설명하도록 하겠습니다. 맨 처음 소프트웨어의 위기가 찾아왔을때, 사람들은 그 고민을 해결하기 위해 객체지향 프로그래밍(OOP) 이라는 패러다임을 도입하였습니다. 하지만 막상 객체지향 프로그래밍을 도입하였음에도 이전보다는 생산성이 늘기는 했지만, 생각 보다 재사용성도 잘 되지 않았고, 유지보수도 여전히 힘들었습니다. 객체지향이나 절차지향, 함수 지향 패러다임 이전에 보다 근본적인 원인을 해결하지 못한 것이지요. 과..

소개 이번 시간에는, expressjs에서 postgreSQL을 연동하는 방법을 알아보도록 하겠습니다. postgreSQL은, Oracle이나 MySQL과 비슷한 RDBMS입니다. 메이저한 RDBMS중 가장 실험적인 기능을 많이 제공하는것으로 알려져 있습니다. 사실, node.js에서는 MongoDB를 가장 많이 사용하기는 하지만, RDBMS도 많이 사용을 하고 있습니다. 또한, 이미 MongoDB관련된 포스팅은 많은데다가 postgreSQL을 연동한 예제는 잘 보이지 않는것 같아서 작성을 하게 되었습니다. 설치 및 연동방법 아래 명령어를 이용해서 node.js용 postgreSQL 모듈을 설치 합니다. npm install pg-promise 아래 코드와 같은 방식으로 사용하면 됩니다. const pg..
개요 이번 문서에서는, expressjs에서 static file 경로를 설정해주는 방법을 알아보도록 하자. Static 파일들은 클라이언트에서 동작하는 자바스크립트나 css, html과 같은 리소스 파일들을 지칭한다. 이러한 파일들은 단어뜻 그대로 변하지 않는 데이터이므로 따로 관리를 해주는 것이다. Static 파일 설정하기 express.js 에서는 아래와 같이 static 파일 경로를 설정해 줄 수 있다. app.use(express.static('public')); 위와 같이 설정한 경우, 아래 URL로 접근하면 static파일에 접근이 가능하다. http://localhost:3000/images/kitten.jpg http://localhost:3000/css/style.css http://..

개요 최근 프로젝트를 수행하다, 서비스에서 메모리를 생각보다 너무 많이 사용하는것 같아서 해당원인을 분석해보고 싶었다. 하지만, pm2 monit이나 이런거로는 구체적으로 어떤부분에서 많이 쓰였는지를 알 수가 없어서 방법을 찾던중 크롬 개발자도구에서 node.js 의 메모리나 CPU 사용량을 프로파일링 할 수 있다는것을 찾아서 유용하게 사용하였다. 사용법 크롬 개발자도구에서 프로파일링 하는법은 아래와 같다. 1. node.js로 서비스를 실행할때 "--inspect" 옵션을 주고 서비스를 실행 node --inspect app.js 2. package.json start 항목에 "node_arg": ["--inspect"] 추가. { "name": "imqa_web_api", "version": "2.2..