728x90

분류 전체보기 428

[Vue.js] props의 데이터를 변경하는 방법(Avoid mutating a prop directly에러)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 부모 컴포넌트에서 props으로 건내 받은 변수를 자식 컴포넌트에서 갱신하고 싶을 때 대처법에 대해서 기록하고자 한다. 인트로 Vue.js는 부모 컴포넌트에서 전달된 변수를 자식 컴포넌트에서 갱신하려고 하면 아래와 같은 경고가 발생한다. [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop..

IT/언어 2023.02.19

클린 아키텍처2

※ 일본의 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 지난 클린 아키텍처1에 이어서 두 번째 그림에 대해 해설하기 위한 포스팅이다. 클린 아키텍처1에서 만든 코드를 위와 같은 그림으로 표현하자면 다음과 같다. 박스 위에 글자가 있는 것이 있는데 는 Interface고, 는 Data Structure(데이터구조체)이다. 대체로 그림대로 재현하고 있지만 유일하게 외부쪽 환경에서 UserCreateViewModel에 의존하는 View가 재현되지 못 했다. 이번 스크립트는 Presenter가 ViewModel를 다뤄, Consol 표현을 하고 있으므로 원래 View의 역할을 Presenter가 하고 있는 형상이 됐다. 이 부분을 어떻게 하면..

IT/WEB 2023.02.15

클린 아키텍처1

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주면 감사하겠습니다. 클린 아키텍처의 가장 추정적인 것이라고 한다면 바로 이 그림일 것이다. 따라서 이번 포스팅에서는 샘플코드와 함께 이 그림에 대해 해설해보고자 한다. 샘플 코드 https://github.com/nrslib/CleanArchitecture 언어는 C#이다. 프로젝트 구성등 실제의 제품과 동일한 형식으로 기재되어 있기 때문에 괜찮다면 참고하길 바란다. 원 그림의 해설 원 그림은 레이어를 의미한다. 레이어의 이름은 이 위치에 기재되어 있다. 그럼 하나 하나 설명하도록 하겠다. Enterprise Business Rules 노란색 레이어인 Enterprise Business Rules는..

IT/WEB 2023.02.13

[Java] setter, getter

※ 일본의 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. setter, getter이란? setter, getter이란 java 개발자들 사이에 널리퍼진 암묵적 코드 규약으로, 클래스 안에 변수를 세팅, 획득하기 위한 전문 메소드를 의미한다. 즉, 변수를 세팅하기 위한 메소드가 setter 메소드, 변수를 획득하기만 하는 메소드는 getter 메소드이다. 실제 코드 작성 방법, 명명 규약에 대해서는 입문 서적에 잘 설명되어 있지만, 다음과 같이 쓰는 것이 setter/getter이다. public class sample { private String name; // gettter public String getName() { return..

IT/언어 2023.02.11

[Java] Java에서 쓰는 Builder 패턴 종류

※ 일본의 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 직역해주시면 감사하겠습니다. Builder 패턴이란? 컨스트럭터에 대해 수 많은 파라미터를 세팅할 필요가 있을 때에 대신해서 사용하도록 추전되는 구현 방법이다. 그러나 이것이 추천되는 것은 컨스트럭터에 설정되어 있는 파라미터 중 필수인 요소가 적을 때에 한정되는 것 같다. 아무튼 용도에 따라 몇 가지 패턴이 있으므로, 여기에서 정리하고자한다. 생성하는 오브젝트의 조건 클래스명 : People 필드 : String name(필수), Integer age(필수), String hobby(옵션) 필수 요소는 null 금지 People 클래스는 String을 반환값으로 하는 hello메소드가 존재 이번에는 Build..

IT/언어 2023.02.10

Mac의 Termianl에서 "ssh 접속명"으로 ssh 접속하기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 시작하기에 앞서 서버에 접속할 때 매번 아래와 같이 커맨드를 입력하여 접속하는 것은 매우 불편하다. $ ssh 유저명@호스트명 -i 비밀키 파일 경로 -p 포트번호 따라서 아래의 짧은 커맨드만으로도 ssh 접속이 되도록 설정하는 방법에 대해 설명하고자 한다. $ ssh 접속명 전제 조건 접속 정보(호스트명, 유저명, 포트 번호)를 알고 있을 것 SSH 비밀키를 가지고 있을 것 둘 중 하나라도 충족되지 않으면 이 방법을 설정할 수 없다. 접속하기 1. ~/.ssh 디렉토리 생성 # 디렉토리 생성하기(이미 있다면 skip) $ mkdir ~/.ssh # 소유자에 읽기, 쓰기, 실행..

IT/기초 지식 2023.02.08

[JavaScript] Map 오브젝트와 map 메소드의 사용법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. JavaScript에 있어서 여러 개의 값을 다룰 때에 쓸 수 있는 것이 "배열"이다. 그러나 배열에서는 항목에 이름을 붙이고 싶은 경우가 있을 것이다. 그럴 때 사용할 수 있는 것이 "Map 오브젝트(연관 배열)"이다. 또한, JavaScript의 배열을 다루기 위한 편리한 메소드로는 "map" 메소드가 있다. 양쪽 모두 이름에 "map"이 있으므로, 프로그래밍 초심자의 경우 혼동하기 쉽다. 이번 포스트에서는 map메소드와 Map오브젝트의 차이나 사용법을 포함해 상세하게 해설하고자한다. Map 오브젝트 JavaScript에 있어서 Map 오브젝트는 키와 그에 대응하는 값을 보..

IT/언어 2023.02.06

[JavaScript] Promise의 사용법 ( + asycn / await의 사용법 )

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. JavaScript의 async/await는 Promise를 사용한 비동기 코드를 동기 처리처럼 해주지만, async/await를 이해하기 위해서는 Promise를 먼저 알아둬야할 필요가 있다. 따라서 Promise에 대해서 알아보자. 구문 먼저 기본적인 구문이다. 어떻게 Promise를 작성하는 것일까? function 비동기함수(성공시의 콜백, 실패시의 콜백) { if (...) { 성공시의 콜백(성과) } else { 실패시의 콜백(문제) } } // ↓executor new Promise(function (resolve, reject) { 비동기 함수( (성과) => r..

IT/언어 2023.02.05

좋지 않은 Repository 패턴(안티패턴)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Repository 패턴이란? Repository패턴이란 영속화를 은폐하기 위한 디자인 패턴으로, DAO(DataAccessObject)패턴과 비슷하지만, 보다 높은 추상도로 엔티티의 조작에서 영속화 스토리지를 완전히 은폐한다. 예를 들어 DB커넥션이나 스토리지의 패스등은 Repository의 인터페이스에서 은폐되어 Repository의 유저는 영속화 스토리지가 무엇인가(예를 들어 MySQL이나 Redis등)를 의식하지 않고 데이터 저장이나 검색의 조작을 할 수 있게 된다. 이로 인해 Repository를 이용한 로직은 업무적 조작에 집중할 수 있고, 데이터 베이스의 이동 등의..

IT/WEB 2023.02.02

[JUnit] JUnit5의 테스트 클래스 작성

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. JUnit5이란 JUnit5 User Guide에는 다음과 같이 기재되어 있다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage 각각에 대해 간단히 설명하면 다음과 같다. JUnit Platform 테스트 실행을 위한 플랫폼과 같은 부분 JUnit Jupiter JUnit5의 테스트를 쓰기 위한 API나 테스트 엔진 JUnit Vintage JUnit3, JUnit4의 테스트 엔진 JUnit4에서는 모든 기능이 하나의 패키지에 들어 있었지만. JUnit5에서는 분할되어 있다. JUnit5에서는 필요에 따라 JAR 파일을 의존..

IT/언어 2023.01.31
728x90