전체 글

전체 글

    [healing4u 프로젝트] 기술적 문제와 고민

    [healing4u 프로젝트] 기술적 문제와 고민

    힐링포유 프로젝트 를 진행하면서 마주친 문제들 혹은 어렵게 해결한 것들 중 기억에 남는 것을 기록했습니다. 목차 Flask로 구동 중인 딥러닝 서버와 node.js로 구동중인 웹서버 간의 통신 (실시간 서비스를 위한 통신 방법) Flask로 구동 중인 딥러닝 서버에서 쿼리문 수행 에러 Flask로 구동 중인 딥러닝서버(aws 우분투)와 node.js로 구동중인 웹서버(aws) 간의 통신 저는 node.js로 구현한 웹 서버와 flask 프레임워크로 구현한 딥러닝 서버 간 통신을 구현할 때 어려움을 겪었습니다. 최종 흐름은 다음과 같습니다. [고민 상황] 사용자가 카메라앞에 인식이 되면 딥러닝 모델을 통해 사용자의 감정값을 분류하고 이 값을 딥러닝 서버가 웹 서버에게 전달하고 DB에 저장하는 방식으로 진행..

    [Spring Boot 프로젝트] AWS EC2로 Spring Boot 배포

    [Spring Boot 프로젝트] AWS EC2로 Spring Boot 배포

    1. Git 설치 아래 명령으로 git을 설치한다. sudo apt-get install git 아래 명령으로 프로젝트 파일을 다운받는다. git clone {레포지토리 주소} ex) git clone https://github.com/BananMoon/healing4u-mobileWeb.git 만약! 파일 수정 후에 git pull을 할 경우 1. git init을 먼저 해준 후에 2. git pull {원격 저장소명} {브랜치명} 을 해주면 된다. ex) git pull origin main 2. java 설치 (openjdk 11) Spring Boot 프로젝트에서 Java 버전을 11로 설정했기 때문에 EC2에도 java opendjk 11버전을 설치해야 한다. 아래 명령어를 입력했다. (※아래 ..

    Express로 웹서버 만들기 (Basic)

    Express로 웹서버 만들기 (Basic)

    2021.07 에 올렸던 게시글입니다. 이번 글에서는 웹 프레임워크인 Express 로 간단히 웹 서버를 만들어보겠습니다. 웹 서버 우리가 웹브라우저 주소창에 주소를 입력하면 화면에 해당 화면 창이 보이지요?? 이 화면을 우리에게 보내주는 것을 웹 서버가 하는 것입니다! 특정 주소를 주소창에 입력하면, 브라우저는 해당 주소에 있는 웹 서버를 호출하고 웹서버는 해당 홈페이지 내용을 웹 브라우저에 보내는 방식 이런 웹서버를 만들 수 있는 패키지를 웹 프레임워크라 하는데요. 구체적으로 말하면, 웹서버를 만들기 위해서는 여러가지를 매번 해야하는 일들이 있어요! 예를 들면, url로 넘어온 파라미터들을 분류해서 가져오는 일, 정적인 이미지나 js파일들을 관리하는 일, 로그인을 위한 작업 등.. 이렇게 웹서버를 만..

    [AWS] nohup을 이용하여 무중단 서비스 만들기

    [AWS] nohup을 이용하여 무중단 서비스 만들기

    본인은 aws에 spring boot를 배포한 후 서버를 구동하고자 했다. 보통 프로젝트를 빌드하고난 후 아래 명령어로 서버를 구동시킨다. build/libs 디렉토리로 들어가면 존재하는 jar 파일을 이용하여 서버를 실행시킬 수 있다. java -jar build/libs/{jar파일명}.jar 무중단 서버 실행 만약 터미널을 종료해도 서버를 중단시키고싶지 않다면, 아래 명령어와 같이 nohup 을 이용하면 된다. & : 백그라운드에서 실행시키는 옵션이다. sudo nohup java -jar build/libs/{jar파일} & 위의 build/libs 내에 보이는 nohup.out은 nohup으로 서버를 구동시킨 후 찍힌 log들이 담겨있는 파일이다. 본인은 이전에 nohup으로 서버를 실행한 적이..

    [Spring Boot] 테스트 코드 작성 (Hello World편)

    [Spring Boot] 테스트 코드 작성 (Hello World편)

    『스프링 부트와 AWS로 혼자 구현하는 웹 서비스』 도서를 읽다 작성한 글입니다. 점차 많은 서비스 회사에서 테스트 코드를 요구하고 있다. (채용 정보의 우대사항에서도 볼 수 있다.) 이번 포스팅의 목차는 다음과 같다. 테스트 코드의 필요성(장점) 테스트 코드 프레임워크 종류 테스트 코드 작성(기초) 간단한 Controller 테스트 필자가 만난 오류 및 해결방법 롬복 테스트 코드 (2개) 테스트 코드의 필요성(장점) 많은 장점이 있지만 두드러지는 장점은 1. 코드를 작성한 후, 서버를 실행해서 확인하는 귀찮은 일을 반복할 필요가 없다는 것이다. 톰캣을 재시작하는 것은 생각보다 오랜 시간이 걸린다.. 2. print문으로 확인하는 수동적인 검증을 할 필요 없다. 자동 검증이 가능하다. 또한 기존에 많은 ..

    Node.js를 이용한 크롤링

    Node.js를 이용한 크롤링

    사담 저는 스파르타 코딩클럽 node.js 강의를 들으면서 간단한 쇼핑몰 웹을 구축하던 중 파이썬이 아닌 node.js를 이용해서도 크롤링을 할 수 있다는 것을 알게되어 진행해보면서 기록하기위해 글을 적게 되었습니다. 필요한 패키지 설치 1. Node.js 서버에서 외부의 웹브라우저에 요청해서 특정 HTML을 내려받기 위해 필요한 패키지 => axios 2. 가져온 HTML에서 특정 위치(depth)를 가져오기 위해 필요한 패키지 => cheerio 3. 사이트에서 한글을 가져오면, 발생하는 문제(인코딩 문제 등..)를 해결하기 위해 필요한 패키지 => iconv-lite => npm install axios cheerio iconv-lite -s 설치하고 나면, package.json에 설치가 된 걸 ..