반응형

etc 7

[홈서버] ubuntu - ssh 외부접속 설정하기

우분투 외부접속 하기 :)홈서버 컴퓨터를 산지 좀 됐는데, 사이드 프로젝트 기본 기능 개발이 끝나서 배포하려고 이제서야 구축을 시작했다.외부접속을 설정 해보자~1. openssh-server 설치하기apt 업데이트를 먼저 해주고, openssh-server를 설치한다.ssh 실행 상태를 확인한다.sudo apt updatesudo install openssh-serversystemctl status ssh정상적으로 실행되고 있는 경우 Active: active (running)으로 표시되는걸 확인한다.만약 Active : inactive(dead) 상태라면,sudo systemctl enable sshsudo systemctl start ssh 명령어를 입력해서 시작시켜주면 된다. 2. Port 바꿔주..

etc 2024.11.20

[react] openlayers - react - vworld

openLayers vworld이직 준비 중 지도 관련으로 서비스를 개발하던 중 나중에라도 사용할 일이 있을거같고, 구글링해도 정보가 좀 부족해서 기록으로 남겨둔다.vworldvworld를 알아본 이유는 실제로 서비스를 운영하는게 목표인 이번 프로젝트에서 구글이나 카카오를 선택하기엔 비용이 걱정되서 다른 openApi 를 알아보던 중, 나라에서 운영하는 지도 서비스가 있어서 사용하게 됐다.(vworld는 사이트 들어가서 인증 key를 발급 받으면 사용할 수 있다. -> 트래픽 과금 없음! 무료!)React에서 vworld를 사용하려면 openLayers 라이브러리를 사용해야 한다.openLayersopenLayers는 지도를 표시하게 해주는 라이브러리다.useEffect(() => { const v..

etc 2024.10.22

[Network] react sprignboot CORS

이전에 리액트 스프링부트 개발환경에서 cors 문제가 생겼었다. 그때 분명 공부했던건데, 지금 다른 웹을 개발하는 과정에서 번뜩 생각이 나지 않아 블로그에 남긴다.CORScors는 Cross-Origin Resource Sharing의 약자로 브라우저의 보안정책이다. 각각의 다른 도메인이 리소스를 요청하려고 할떄 서버가 요청을 허용하지 않으면 발생하는 문제다. 예를들어 springboot의 기본 포트는 8080, 리액트는 3000이다.로컬 환경에서 개발한다고 가정했을 때 localhost:3000 -> localhost:8080으로 요청을 보내게 되는데, 같은 오리진이 아니라서 요청을 보낼수가 없는것이다.같은 localhost여도 접근이 안되는 이유는 도메인(domain)과 오리진(origin)은 다른 ..

etc 2024.10.09

[만들면서 배우는 클린 아키텍처] 8장, 9장, 10장 정리

8장 경계 간 매핑하기각 계층의 모델을 매핑하는 것에 대한 논쟁매핑에 찬성하는 개발자 : 두 계층 간에 매핑을 하지 않으면 양 계층에서 같은 모델을 사용해야 하는데 이렇게 하면 두 계층이 강하게 결합된다.매핑에 반대하는 개발자 : 두 계층 간에 매핑을 하게 되면 보일러플레이트 코드를 너무 많이 만들게 되어서 많은 유스케이스들이 오직 CRUD만 수행하고 계층에 걸쳐 같은 모델을 사용하기 때문에 계층 사이의 매핑은 과하다.'매핑하지 않기' 전략웹 계층에서 웹 컨트롤러가 SendMoneyUseCase 인터페이스를 호출해 유스케이스를 실행한다. 이 인터페이스는 Account 객체를 인자로 가진다. 웹 계층과 애플리케이션 계층 모두 Account 클래스에 접근한다 (두 계층이 같은 모델을 사용)반대쪽의 영속성 계..

etc 2024.09.14

[만들면서 배우는 클린 아키텍처] 7장 정리

7장 아키텍처 요소 테스트하기 (육각형 아키텍처에서의 테스트 전략)테스트 피라미드테스트 피라미드에 따르면 비용이 많이 드는 테스트는 지양하고 비용이 적게 드는 테스트를 많이 만들어야 한다. 테스트의 기본 전제는 만드는 비용이 적고, 유지보수가 쉽고, 빨리 실행되고, 안정적인 작은 크기의 테스트들에 대해 높은 커버리지를 유지해야 한다.단위 테스트는 피라미드의 토대에 해당하며 일반적으로 하나의 클래스를 인스턴스화하고 해당 클래스의 인터페이스를 통해 기능들을 테스트한다. 만약 테스트 중인 클래스가 다른 클래스에 의존한다면 의존되는 클래스들은 인스턴스화하지 않고 테스트하는 동안 필요한 작업들을 흉내 내는 mock 으로 대체한다.통합 테스트는 연결된 여러 유닛을 인스턴스화하고 시작점이 되는 클래스의 인터페이스로 ..

etc 2024.09.14

[만들면서 배우는 클린 아키텍처] 5장, 6장 정리

5장 웹 어댑터 구현하기의존성 역전웹 어댑터는 '주도하는' 혹은 인커밍 어댑터다. 그림을 살펴보면 의존성 역전 원칙이 적용된 것을 발견할 수 있다.어댑터와 유스케이스 사이에 또 다른 간접 계층을 넣어야 하는 이유는 애플리케이션 코어가 외부 세계와 통신할 수 있는 곳에 대한 명세가 포트이기 때문이다. 위 사진에서는 어댑터가 엄밀히 말하면 아웃고잉 포트의 역할까지 같이 수행한다.5장에서는 웹 어댑터가 일반적인 인커밍 어댑터 역할만 한다고 가정한다.웹 어댑터의 책임웹 어댑터의 일반적인 역할은 다음과 같다HTTP 요청을 자바 객체로 매핑권한 검사입력 유효성 검증입력을 유스케이스의 입력 모델로 매핑유스케이스 호출유스케이스의 출력을 HTTP로 매핑HTTP 응답 반환웹 어댑터는 URL, HTTP 메서드, 컨텐츠 타입..

etc 2024.09.14

[만들면서 배우는 클린 아키텍처] 1장, 2장, 3장, 4장 정리

1장 계층형 아키텍처의 문제는 무엇일까?계층형 아키텍처는 크게 3가지 레이어로 나뉜다. 웹, 도메인, 영속성 레이어다. 계층을 잘 이해하고 구성한다면 웹 계층이나 영속성 계층에 독립적으로 도메인 로직을 작성할 수도있고, 도메인 로직에 영향을 주지 않고 웹 계층과 영속성 계층에 사용된 기술을 변경할 수 있다. 그리고 기존 기능에 영향을 주지 않고 새로운 기능을 추가할 수도 있다.잘 만들어진 계층형 아키텍처는 선택의 폭을 넓히고, 변화하는 요구사항과 외부 요인에 빠르게 적응할 수 있게 해준다. 그렇다면 계층형 아키텍처의 문제점은 무엇일까계층형 아키텍처는 코드에 나쁜 습관들이 스며들기 쉽게 만들고 시간이 지날수록 소프트웨어를 점점 더 변경하기 어렵게 만드는 많은 허점들이 있다.계층형 아키텍처는 데이터베이스 주..

etc 2024.09.14
반응형