분류 전체보기 62

[AWS] EC2서버에 MariaDB 설치

JAVA카테고리에 '자바웹개발워크북' 포스팅을 참고하면 AWS를 이용해 인스턴스를 생성하고, 프로젝트를 실행할수 있습니다. 본격적으로 데이터베이스를 구축하려고보니 방법이 2가지였습니다. 첫번째는 EC2에 직접 설치해서 운용하는 방식이고, 두번째는 AWS의 RDS서비스를 운용하는 방식입니다. 교재는 후자의 방법으로 진행됩니다. 그런데 본문에 RDS의 경우 개발용으로 설정하는 경우 많은 과금이 발생할수도 있다고하네요... 그렇다면 두가지 방법에 어떤 차이가 있는지 확인해보겠습니다. AWS의 RDS란? 아마존 RDS(Relational Database Service)는 아마존 웹서비스(AWS)가 서비스하는 '분산 관계형 데이터베이스'입니다. 데이터베이스 소프트웨어를 패치하거나 데이터베이스를 백업, 시점복구를 ..

개발/개발TIP 2023.03.14

[AWS] 맥터미널에서 EC2 인스턴스 접속 및 SSH 접속 간편하게 하기

EC2에 만들어둔 Linux를 이용하려면 Putty와 같은 Windows용 SSH연결 프로그램을 이용합니다. 하지만 mac환경에서는 맥터미널을 이용해 인스턴스에 접속할수 있습니다. 지금부터 그방법에 대해서 알아보려합니다. EC2 접속하기 1. 키페어가 저장된 경로로 이동 본인은 키페어를 사용자명 폴더 하위에 code라는 폴더를 만들어 저장했습니다. rrumang@yuminhaui-MacBookPro ~ % pwd /Users/rrumang rrumang@yuminhaui-MacBookPro ~ % cd ./code pwd는 현재 작업위치의 절대 경로를 알려주는 명령어입니다. cd는 change directory의 준말로, 작업중인 디렉토리위치를 변경해주는 명령어 입니다. ./code에서 .은 현재의 위치..

개발/개발TIP 2023.03.08

[자바웹개발워크북] 10-1. AWS 환경구축

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. */ Amazon의 AWS를 이용해서 데이터베이스나 파일업로드, 실제 배포를 진행해보도록 하겠습니다. 1. 자바 웹 개발 환경만들기 AWS의 가장 대표적인 서비스중에는 EC2라는 가상머신 서비스가 있습니다. EC2는 다양한 운영체제를 가진 서비스를 제공하여 원하는 서버환경을 구성할수 있습니다. EC2 생성과 접속 AWS의 EC2를 이용하기위해서는 EC2서비스에 인스턴스를 생성해주어야합니다. 신규생성은 [인스턴스 시작] 메뉴에서 원하는 운영체제를 선택할수있습니다. 이때 EC2는 항상 비용이 발생할수있으므로 간단한 실습은 처음가입할때 사용할수있는 '프리티어'로 이용가능한 항목을 선택합니다. 애플리케이션 및 OS이미지는 'Amazon Linux..

개발/JAVA 2023.03.03

Mac에 Nginx 설치하기

별도의 서버를 구성하기 위해서 최근에 많이 사용되는 Nginx서버를 세팅해서 html파일들을 서비스하고, Ajax를 이용해서 JWT를 사용해보기 위해 Nginx를 설치해보려 합니다. 우선 Mac에 brew가 설치되어 있어야 합니다. 설치가 되어있는지 아닌지 확인해보기 위해서 터미널에 다음의 명령어를 입력합니다. brew -v 버전이 뜨지않는다면 설치가 안되어있는것이니 설치를 진행해줍니다. homebrew설치하기 버전이 뜬다면 homebrew가 설치가 되어있으니 다음의 명령어를 입력하여 Nginx를 설치합니다. brew install nginx 얼마간 기다려주면 설치가 완료됩니다. 설치가 잘 됐는지 실행해보기 위해 다음 명령어를 입력합니다. brew services start nginx 다음과 같이 성공적..

개발/개발TIP 2023.03.01

[자바웹개발워크북] 9. API서버와 JWT

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. */ 화면없이 Ajax와 JSON을 이용해서 데이터를 주고받는 구조에서는 HttpSession이나 쿠키를 이용하는 기존의 인증방식에 제한받게됩니다. 이를 해결하기위해서 인증받은 사용자들은 특정한 문자열(토큰)을 이용하게되는데 이때 많이 사용하는 것이 JWT(JSON Web Token)입니다. API서버 API서버는 쉽게말해서 '필요한 데이터만 제공하는 서버'를 의미합니다. API서버는 화면을 제공하는것이 아니라 필요한 데이터를 호출하고 결과를 반환 받는 방식으로 동작합니다. 따라서 API서버에서 가장 먼저 눈에 띄는 특징은 화면을 제공하지 않는다는 점입니다. 브라우저에 필요한 화면의 코드(HTML)를 서버에서 만들어 전송하는 방식을 '서버..

개발/JAVA 2023.02.16

[자바웹개발워크북] 8-1. 소셜 로그인

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. */ 이번엔 흔히 소셜로그인이라고 불리는 외부 서비스로 사용자 연동을 처리해보겠습니다. 대부분의 소셜로그인은 OAuth2라는 방식을 이용해서 데이터를 주고 받아 사용자의 정보를 전달하는 방식입니다. 국내에서 많이 사용하는 카카오서비스를 이용해서 처리해 보겠습니다. 카카오 로그인 설정 카카오 로그인을 이용하기 위해서는 우선 'kakao developers(https://developers.kakao.com/)'에서 애플리케이션을 등록해야 합니다. 'kakao developers'상단에 [내 애플리케이션]메뉴를 이용해서 새로운 애플리케이션을 추가합니다. 애플리케이션이 추가되면 연동에 필요한 여러종류의 키가 생성되는데 이 중 REST API키는..

개발/JAVA 2023.02.15

[자바웹개발워크북] 8. 스프링시큐리티

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. */ 1. 스프링 시큐리티 적용하기 사용자의 로그링과 세션트래킹은 웹애플리케이션에서 필수적인 기능입니다. 과거에는 HttpSession과 Cookie를 이용해서 처리했지만 스프링에선 스프링시큐리티와 약간의 설정을 통해 구현할 수 있습니다. 스프링 시큐리티를 이용하면 개발자는 약간의 코드와 설정만으로 로그인 처리와 자동 로그인, 로그인 후에 페이지 이동 등을 처리할 수 있기때문에 개발의 생상성을 높일수 있습니다. HttpSession이나 Cookie등에 대해서도 자동으로 처리하는 부분이 많기때문에 직접 이들을 다루는 일 또한 줄일수 있습니다. 스프링 시큐리티 기본설정 프로젝트 내 build.gradle파일의 dependencies에 스프링 ..

개발/JAVA 2023.02.13

[MySQL] 외래 키 제약조건(Foreign Key Constraint) 끄기

데이터베이스의 테이블을 지우거나 수정을 할때 이런 에러메시지를 자주 보게됩니다. 이런경우 SET foreign_key_checks = 0; 라는명령어를 실행 해 주면 됩니다. Foreign Key의 제약조건(Constraint)을 끈다(체크 해제)고 하는데 이 명령어를 실행 해 주었다면 진행하고자 했던 명령어(delete or update)를 실행하실 수 있습니다. 작업이 끝났다면 다시 SET foreign_key_checks = 1; 명령어를 실행시켜 켜주면 됩니다.

개발/DATABASE 2023.02.09

[자바웹개발워크북] 7. 파일업로드 처리

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. */ 첨부파일은 크게 브라우저에서 전송하는 데이터를 파일형태로 서버에 보관하는 처리와, 이에 해당하는 데이터의 부가적인 정보를 처리하는것으로 나누어 볼 수 있습니다. 1. 파일업로드를 위한 설정 스프링부트는 application.properties파일에 약간의 설정을 추가하는것만으로 파일업로드에 대한 기본설정은 완료할 수 있습니다. ... 생략 ... spring.servlet.multipart.enabled=true spring.servlet.multipart.location=/Users/rrumang/desktop/upload spring.servlet.multipart.max-request-size=30MB spring.servlet..

개발/JAVA 2023.02.09