본문 바로가기

분류 전체보기

(101)
Ubuntu apache 포트 변경 sudo vim /etc/apach2/ports.conf listen 80 --> listen [원하는 port]
AWS 에 Spring boot project 배포하기 오늘은 github 에 올라가있는 개인 project를 aws 에 배포를 해보겠습니다. 우선 aws 서버에 git을 설치합니다. sudo yum install -y git 그런다음 github의 본인 project의 주소를 clone해옵니다. git clone을 통해 서버에 붙여넣습니다. git clone [본인 project 주소] 깃에서 코드를 가져왔지만 아직 build를 해준 상태는 아닙니다. 저는 maven을 이용했기 때문에 maven을 이용해서 build를 해줍니다. 제 AWS서버에는 아직 maven이 설치되어 있지 않아서 maven 설치 먼저 진행했습니다. Mavan 설치 명령어 sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven..
OpenSTF #1.설치 오늘은 openstf 라는 오픈소스에 대해 이야기해보려 합니다. 앱을 개발하고 나면 다양한 테스트를 거치게 되는데, 개발팀과 테스트팀이 분리되어 있는 경우 테스트팀에서 테스트한 단말을 개발팀이 갖고 있지 않아 원활한 품질개선이 이뤄지지 않을 수 있습니다. 이러한 점을 극복하기 위해서는 원격으로 단말을 제어할 수 있는 방안이 필요한데, openstf 가 이를 해결해줄 것이라 생각합니다. 이번 글에서는 openstf를 설치하는 방식에 대해 이야기 하겠습니다. 공식 사이트에 따르면 아래와 같은 환경이 필요하다고 합니다. 설치 환경은 저는 Ubuntu에 기존에 했었는데, CentOS 에도 설치해보고 싶어서 해당 환경으로 재설치 진행하겠습니다. 우선 node js, adb, rethinkdb 를 설치해주고 나서 ..
Legacy Legacy 란, 과거에 개발되어 현재에도 사용 중인 낡은 하드웨어나 소프트웨어를 의미합니다. 이전에 구축한 시스템에서 새로운 시스템을 구축하게 되면 이전의 시스템이 레거시가 됩니다. AS-IS 라고 생각할 수 있겠지만, 제거는 아니고 공생해야하는 시스템을 주로 레거시라고 부릅니다. 즉, 차세대 시스템에 AS-IS 시스템을 유지하는 것이 레거시라고 할 수 있습니다.
Gateway, 게이트웨이 서버를 다루다보면, L4, GW, WEB,WAS,DB 등 수많은 용어들을 접하게 됩니다. 오늘은 GW가 어떤 역할을 하는지에 대해 작성해보려 합니다. GW는 사전적인 의미로는 두개의 네트워크 간 또는 두 망간 통신계층간에 프로토콜의 변환 기능을 수행하는 장치/관문을 의미합니다. 쉽게 풀어서 설명하자면 현재 네트워크에서 다른 네트워크로 이동하기 위해서는 반드시 거쳐야하는 '관문'이라 할 수 있습니다. 두 컴퓨터(server)가 통신하기 위해서는 동일한 통신 프로토콜을 사용해야합니다. 그렇다면 프로토콜이 다른 네트워크간에 통신을 하고자 한다면 어떻게 해야 할까요 ? 둘 사이의 프로토콜을 변환해주는 장치가 필요합니다. 이것이 '게이트웨이' 입니다. 네트워크 사이에서 둘 사이를 이어준단 점에서 '라우터'와 유사..
Content-Type 서버에 요청을 보낼때, Content-Type을 application/json, text/plain 등으로 지정하여 보낸 경험이 있습니다. 사용할 땐, 데이터 타입이겠지라고 추상적으로만 생각했는데, 보다 깊이 이해하기 위해 이 글을 작성합니다. 서버가 클라이언트에게 자원을 보낼 때 웹 서버는 HTTP header에 필요한 정보를 담아 보냅니다. header에는 웹서버의 소프트웨어 타입, 서버의 날짜 및 시간, HTTP 프로토콜, 사용중인 커넥션 타입을 지정합니다. 헤더는 또한 클라이언트가 저장해야할 쿠키를 포함하기도 합니다. 이와 같은 자원의 content type은 header안에 있는 Content-Type에 의해 지정되게 됩니다. 가장 많이 사용했던 형식은 text/html인데 이는 파일종류는 te..
RESTful API 웹서비스 테스트 Spring 의 기본적인 시스템은 Test를 개발과 동일시하여 TDD기반의 개발을 진행합니다. Spring에서 진행하는 test는 사용하기 쉽게끔 만들어져있습니다. TDD는 단위테스트를 보다 편하게만들어줍니다. 단위테스트는 더 나은 코드를 더 빨리 만들어내주며, 상대적으로 더 쉽고 비용이 적게 드는 방식입니다. 단위테스트는 기업의 품질 경쟁력 뿐 아니라 프로그래머들을 보다 편하게 만들어주기 위해 존재하는 것입니다. JUnit JUnit은 단위테스트를 정형화시켜 쉽게 해주는 테스트 지원 프레임워크입니다. 스프링에서 JUnit 프레임워크 사용을 위해선 spring-test 라이브러리가 필요합니다. Service, Repository class는 빌드시 같이 테스트를 수행해야합니다. 단위 테스트란 소스코드의 ..
API Security & JWT - 웹 서비스 인증 방식 중 하나인 토큰을 통한 인증방식 이해 - JWT라는 표준 JSON Web Token 구현 어플리케이션에서 보안은 주로 인증(Authentication) 과 인가(Authorization)을 의미하며 Spring Security에서 다루어집니다. id/pw 기반의 인증방식은 최근 더욱 강력한 인증방식인 2단계 인증, 지문, 안면인식을 포함한 하드웨어 인증 방식 등 여러 강력한 인증방식으로 보완/대체 되고 있습니다. 인증과 인가 인증: 클라이언트가 자신이 주장하는 사용자와 같은 사용자인지를 확인하는 과정 인가: 권한부여, 클라이언트가 하고자하는 작업이 해당 클라이언트에게 허가된 작업인지 확인하는 과정 Spring Security - Spring에서 보안을 위한 별도의 모듈입니다. -..