본문 바로가기

Language

(58)
타입 스크립트 시작하기(with Next) 여태까지 필요성을 크게 못 느껴서 사용은 커녕 뭐하는 건지도 몰랐는데, 사용 방법이 어렵지 않아서 이번 기회에 정리 하고 자주 사용해보려고 한다. Typescript란 1 2 3 4 5 6 7 8 9 10 11 const areYouCool: boolean = true; const answer: number = 42; const typescript: string = "great"; const greetings: string = ` Hello, Readers! Welcome to TypeScript. `; const hasType: Object = { TypeScript: true, JavaScript: false }; 위와 같이 변수:타입 과 같은 방식으로 변수에 타입을 지정해줄 수 있다. 이로써 기존의..
Javascript로 Hash 처리하기 c++이나 자바 파이썬의 map, Hashmap, dictionary과 같이 Hash처리하기 위해 마땅히 좋은 방법이 없는거 같다. 아니면 내가 모르는 거겠지... 오랜만에 한 번 사용해봤는데 너무 미숙해서 정리를 하고자 한다. 1 var a = [1,2,3,1,2,2,2,3,1,4,6]; // 실험 배열 해당 배열을 중복 처리, 객체 정렬등을 해보도록 한다. 중복값의 누적 다른 언어를 사용하다가 자바스크립트를 사용할 때 가장 헷갈리는 부분이다. 자바스크립트는 객체의 키를 배열처럼 접근 할 수 있다. 1 2 3 4 5 6 7 obj = {} obj[1] = 1; obj // { 1: 1} obj[1] = ++obj[1]; obj // { 1: 2} obj[2] = 1; obj // { 1: 2, 2 : ..
비동기(Promise, Axios, Redux-thunk,async/await) 비동기 전체 로직 중 A로직의 처리를 기다리지 않고 처리 하다가 A로직이 처리를 완료 하면 A로직을 완료하는 기법이다. 웹에서 사용시에는 보통 데이터 처리는 화면의 렌더링보다 느리니, 화면의 렌더링을 일단 처리하고 데이터 처리는 요청이 완료 되었을 때, 화면에 뿌려주는 형식으로 사용된다. 그런데 단지 비동기를 그냥 처리만 할 경우에는 다음과 같은 문제점이 생긴다. 1 2 3 4 5 6 7 function a(){ let greet; setTimeout(function(){greet="hello"},1000); console.log(greet); } a() //undefined a() 의 콘솔 결과는 undefined이다. setTimeout은 비동기적으로 작동하는데 greet를 선언하고 setTimout..
[Intellij] 라이브러리 설치하기 TDD 관련해서 hamcrest라는 라이브러리를 사용하려는데, 알고보니 개인적으로 설치해야 하는 것이였다. 그러고 보니 자바로 라이브러리를 설치하는 방법을 제대로 알고 있었던 적이 없어서 정리하고자한다. 1. 라이브러리 설치 이 때, jar 파일로 받는다. 2. 디렉토리 경로 C:\Program Files\Java\jdk1.8.0_201 에 파일을 이동 시킨다. 다만 굳이 그러지 않아도, 인텔리제이에서 설치파일을 풀어서 경로를 지정해줘서 상관은 없는거 같다. 3. 인텔리 제이에서의 추가 끝!
Stream Lombok 연습 예제 import lombok.AllArgsConstructor; import lombok.Data; import java.math.BigDecimal; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import static java.util.stream.Collectors.*; public class Hello { public static void main(String[] args) { final List products = Arrays.asList( new Product(1L,"A",new Big..
[Java8] 커스텀 인터페이스 및 제네릭 메소드 만들어 보자. 엄청 헷갈린다. 하나씩 해보자. 숫자 세가지를 받고, 그 값들을 조합해 문자열로 출력하고 싶다면 다음과 같이 작성한다. 인터페이스에서 추상메소드에 들어갈 타입을 미리 선언하지 않는다. 대신 제네릭을 이용하여 다음과 같이 작성한다. interface Func{ public R apply(T1 t1, T2 t2, T3 t3); } 위 인터페이스는 어떠한 객체타입(R)으로 리턴을 받고, 입력할 파라미터는 각각 어떤타입(T1,T2,T3)를 입력받는다. public class GenericExample { public static void main(String[] args) { Func func = (a , b , c) -> String.valueOf((a+b+c)*2); //12 System.out.printl..
[Java8]Functional Interface public class FuntionalInterfaceExamples { public static void main(String[] args) { Integer value = toInt("100"); //100 } static Integer toInt(String str) { return Integer.parseInt(str); } } String을 Integer로 캐스팅 하는 함수를 만들었다. 1. Function import java.util.function.Function; public class FuntionalInterfaceExamples { final Function toInt = new Function() { @Override public Integer apply(String str) {..
[Java8] Strategy Pattern, FP, 1급 객체 사칙 연산을 해보자 public class cal { public static void main(String[] args) { int addResult = Calculator.add(1, 2); // 3 int subResult = Calculator.subtract(1, 2); // -1 int mulResult = Calculator.multiply(1, 2); // 2 int divResult = Calculator.divide(1, 2); // 0 } } class Calculator{ public static int add(int i, int j) { return i+j; } public static int subtract(int i, int j) { return i-j; } public sta..