728x90

IT 417

[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

[Java] Stream (filter, map, forEach, reduce등)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. Stream API Stream API는 Data를 파이프 라인 형식으로 처리하기 위한 API이다. Collection, 배열, 파일등 데이터의 집합체(Data Source)에서 각각의 요소를 꺼내서 그것을 처리의 흐름(Stream)에 전달하기 위한 구성을 제공한다. Stream에 대해서 함수 조작을 한 결과를 Stream으로 반환하는 "중간조작"과 처리 결과를 Data로 반환하는 "종단조작"이 있다. 중간조작도 종단조작도 메소드 인수로 함수형 인터페이스를 받는 경우가 많으므로, 여기서 람다식의 지식을 이용하면 똑똑하게 코드를 작성할 수 있다. import java.ut..

IT/언어 2023.01.30

[Java] Optional 사용법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Optional이란? Optional은 값을 랩핑하여 그 값을 null일지도 모른다는 것을 표시하시는 클래스이다. 사용법 메소드 getHoge()는 null을 반환하는 경우가 있다고 상정한다. 지금까지라면 다음과 같이 null체크를 했을 것이라고 생각된다. String hoge = getHoge(); // hoge는 null일지도 if (hoge != null) { // null체크 System.out.println(hoge.length()); // hoge가 null이 아니므로 length메소드를 호출 } null일지도 모르는 변수 hoge의 메소드를 호출하는 경우, 사전에 ..

IT/언어 2023.01.29

SPA, SSR, SSG는 무엇인가?

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 몇 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 개요 SPA, SSR, SSG이라는 기술 용어를 작업 중이나 블로 그 글에서 본 적이 있지만, 지금까지 구체적으로 알아보지 않고 지냈다. 일단 Gatsby.js이나 Next.js를 다루고 있으므로, 이러한 개념을 제대로 이해해두면 안 될 것 같다는 생각이 들어 이번 기회에 정리해봤다. SPA SPA의 요지를 간단하게 말하자면, 하나의 페이지에 먼저 호스팅 서버에서 얻은 그 페이지를 기축으로, 표시하고 싶은 것이 있다면 그에 대한 데이터를 매번 API에서 취득하는 아키텍처이다. 이것은 Single Page Application의 약칭으로, 하나의 페이지를 바탕으로 이것 저것 동작..

IT/WEB 2023.01.24
728x90