본문 바로가기
반응형

개념공부/BackEnd5

[Django linux-redhat 배포 시] mysqlclient 2.2.4 ver 설치 에러 subprocess-excited-with-error / mysql-devel 설치 시 mariadb-devel로 인식되는 오류 해결 Django 프로젝트를 ec2 서버에 배포를 하는 도중 에러가 발생했다. 아무리 구글링을 해봐도 해결법이 나오지 않던 중 3일만에 해결을 하여 기록한다. 설치한 라이브러리 - asgiref 3.7.2 - Django 4.2.10 - Djangorestframework 3.1.4 - Mysqlclient 2.2.3 - sqlparse 0.4.4 먼저 ec2 서버에 접속 후 git, python3 버전을 설치했다. 그리고 git에 올라가있는 django프로젝트 gitlab 소스코드를 clone 하였고, requirements.py에 저장해둔 내 라이브러리 설치 버전들을 install 하려고 했다. Django 등 다른 라이브러리들은 설치가 잘 되었으나 mysqlclient가 subprocess-excited.. 2024. 2. 20.
[JSP / FileUpload / AJAX] 파일 다운로드 + 다운로드 수 실시간 올리기 JSP를 활용하여 파일 업로드를 하고 조회수와 다운수를 실시간으로 업데이트 시켜주는 기능을 구현하려고 하였다. 기존 JSP의 동작은 새로고침이 되야 데이터가 업데이트 되는 방식이였다. 하지만 나는 SPA처럼 다운 수 부분만 업데이트 시켜주고 싶었다. 로직은 "다운로드 버튼 클릭" -> "ajax에서 FileDownload 서블릿 url로 요청" -> FileDownload 서블릿에서 "파일다운로직, ajax response로 업데이트 된 다운 수 전달" 로 생각하여 개발을 진행하였다. 하지만 ajax 응답이 계속해서 오지 않았고, 성공 시 응답이 오더라도 file안의 data가 byte값으로 찍혔다. 이를 해결하기 위해 여러명이 머리를 싸매서 고민했고, 정답을 알아냈다. 일단은 간단한 UI와 파일들을 먼.. 2022. 7. 7.
Web의 변천사 (HTML -> Servlet -> JSP -> MVC -> Spring) 자바 서블릿이란 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램. 쉽게 이야기하면, 클라이언트가 서버에 요청을 보낼 때와 응답을 받을 때 필요한 HTTP 작업을 도와주는 것. Web HTML -> Servlet -> JSP -> MVC -> Spring 1. Web HTML - 기존의 웹은 위의 사진처럼 HTML / CSS / JS를 활용한 하나의 페이지만 보여주는 정적 페이지였다. - 동적 프로그래밍에 대한 희망 그로인해 Servlet, JSP가 나오게 됨 (Dynamic Web Project 생성) - 브라우저의 요청에 따라 항상 다른 페이지를 보여주는 페이지 Servlet - 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램. - 웹 클라이언트의 요청을 처리할 수 있는 클래.. 2022. 7. 5.
스레드와 메모리구조 프로세스 vs 스레드 (Thread) 프로세스란? - 프로그램을 실행시켰을 때 메모리상에 올라가 동작되고있는 과정 스레드란? - 프로세스 내에서 실행되는 흐름의 단위 1. main() 안의 실행문들이 하나의 Thread이다. 2. main() 이외의 또 다른 스레드를 만들려면 Thread 클래스를 상속하거나, Runnable 인터페이스를 구현한다. 3. 멀티스레드로 작업을 할 때에는 각 스레드끼리 정보를 주고받을 수 있어 처리 과정의 오류를 줄일 수 있다. 4. Java 메모리구조 에서는 스레드가 생성될 때 마다 각각 독립적인 Stack영역, PC영역, NMS(Native Method Stack)영역을 가지게 된다. 메모리 구조 - 선택 이유 코드를 작성하고 프로그램을 개발 해봤지만, 컴퓨터 내부에서는 .. 2022. 6. 21.
[REST] RESTFul 설정 순서 1. pom.xml에 json과 rest가 잘 동작하는지 확인할 수 있는 swagger를 추가해준다. 20210307 org.json json ${json-version} io.springfox springfox-swagger2 2.4.0 io.springfox springfox-swagger-ui 2.4.0 2. src/main/java에 swagger.java파일을 넣는다. 3. servlet-context.xml 파일에 mapping정보를 추가한다. 4. servlet-context.xml 파일에 기본루트 : MVC project 만들 때 설정한 기본 루트로 설정한다. 5. controller 패키지 안에 @RestController를 지정할 컨트롤러를 하나 생성한 후 GET,POST,PUT,DEL.. 2021. 10. 29.