Language (93) 썸네일형 리스트형 [TypeScript] 기초 문법 1) 변수 선언변수 선언에는 아래 3가지가 있다.var -> 함수 어디서든 접근을 할수 있어 잘 사용하지 않는다.let -> block scope로 저장, let은 값을 변경할수 있다const -> let과 같이 block scope로 저장, let과 다르게 값을 변경할 수 없다. 2) 타입 명시단순 변수let test1: string = "123123";let test2: number = 123;let test3: boolean = false;console.log(test1);console.log(test2);console.log(test3); 함수function test1(message: string): void{ console.log("gd");}function test2(message: nu.. [TypeScript] 스터디 환경 세팅 1) 설치node설치 이후, tsc로 해당 파일을 컴파일 할 수 있다.tsc가 동작하지않을때는 아래 명령어로 설치sudo npm i -g typescript 빌드 시킬 폴더에서 해당 커맨드 입력, config 파일 자동 생성 확인tsc --init 2) 컴파일아래와 같이 간편하게 컴파일하면, 동일 js파일이 생성된다.(옵셔널 적으로, js파일이 필요할때 사용)tsc (파일명)ex. tsc study01.ts 이후 해당 파일을 아래와 같이 실행 시키면 실행이된다.(js파일을 생성한 경우, ts라는 확장자를 빼도 실행이된다)node ex. node study01.ts 결과 사실 이도저도 싫다고하면 플레이그라운드에서 문법적인걸 다 익히면 장땡이긴한다.대부분 웹이나 타입스크립트를 엮어서하는 프레임워크를 .. [Java] Record 패턴 불변 DTO의 성격인 Record와 DTO간의 매핑을 코드를 자동생성해주는 라이브러리 Mapstruct에 대한 정리를 해보자 1. RecordRecord는 불변성을 보장하는 타입이다. 따라서 신뢰성이 높아그래서 주로 Request,Response,Configuration에 대한 정보를 담아서 사용한다. 아래와 같은 레코드의 소스가 있다고 가정하자public record MemberRequest( @Schema(description = "닉네임", example = "스미스") String nickname, @Schema(description = "프로필 이미지 링크", example = "이미지 주소") String imgUrl, @Schema(description = "이름", example = .. [Java] Generic ! 제네릭에 대해서 좀 더 심화된 부분을 공부해보자 ObjectMapper에 대해서 공부를 하다가. 생긴 궁금증은 꼬리의 꼬리를 물었고, 내가 모르는 부분까지 봉착했다. 결과적으로 ObjectMapper를 사용할때 제네릭 관련 변수로 뺄때 왜 TypeReference를 선언해야하는지 이해가 안됬다. 정확히는 이유를 정확하게 몰랐다. 제네릭의 type erasure에 대해서 먼저 알아야 한다. 타입 소거라고도 한다. 런타임에 타입에 대한 정보를 버리는 것이다. bounded type -> bound type unbouned type -> Object 1) Unbounded Type public class SmithTest { public static T unboundedType(T t) { return t; .. [Java] mapMulti 사용 Java stream을 쓰다보면, Map을 많이 쓴다. 가령 이런.. 상황에서 말이다. dtos.stream().map(x -> x.getAddress()).collect(Collectors.toList()); 근데 어떤 상황에서 해당 방식으로 구현이 되어있었다. List dtos = List.of(new MemberDto("name1","id1","add1"),new MemberDto("name2","id2","ad2"),new MemberDto()); List result = new ArrayList(); for(MemberDto memberDto : dtos){ result.add(memberDto.getId()); result.add(memberDto.getName()); } 레거시 코드에서는 이.. [Java] static block 및 instance block 뭐든 그냥 쓰는 것 만큼 멍청한건 없다. 이제 자주쓰지만 그동안 정확히 왜 쓰는지 잘 모를 만한 것에 포스팅 하겠다. 1) static block - 클래스가 로딩되고, 클래스 변수가 준비된 후 자동으로 실행되는 블록 - 한 클래스안에 여러개의 static 블록을 넣을 수 있따. - 선언된 스태틱 블록 대로 실행된다. 용도 : 주로 클래스 변수를 초기화 시키는 코드를 둔다. 아래와 같은 코드가 있다고 가정하자. @NoArgsConstructor(access = AccessLevel.PRIVATE) public final class BikeShop { public static String name = "b1"; static{ System.out.println("static1"); name = "b2"; }.. [Java] 제네릭을 조금 잘 써보면 어떨까 제네릭을 좀 잘 써보자. 제네릭은 개인적인 생각으로는 인터페이스의 존재이유와 비슷하다고 생각한다. 타입이나 제약을두지 않고, 해당 상속받은 개체에서 자유롭게 짜는것을 의미한다. 예를 바로 들어보자 package com.smith.PqrsFramework.Interface; public class OrderInterface { T name; R id; public T getName(){ return this.name; } public R getId(){ return this.id; } public void setName(T name){ this.name = name; } public void setId(R id){ this.id = id; } } 간단하게 제네릭 클래스를 사용하는 방법은 바로 이렇다. 그러.. [Java] Mapstruct Spring 적용하기 MapStruct에 대한 적용을 다시 공부해보려고한다. 새로운 기능들도 조금 나온 것같고, 예전에 써서 기억도 안나서, 다시 공부할겸 정리를 한다. 1. Mapstruct 해당 기술은, Entity와 Dto간의 매핑을 지원하는 라이브러리다. getter,setter를 남발하여, 직접 구현하는 것보다. 라이브러리를 쓰는 것이 좋다. 유사하게는 MdoelMapper, 성능은 이게 더 빠르다. Mapstruct 생성 @Data @AllArgsConstructor public class MemberResponse { private String name; private String id; } @Data @AllArgsConstructor public class Member { private String name;.. 이전 1 2 3 4 ··· 12 다음