본문 바로가기

Language5

[JS/TS] Promise와 async/await [참조] 동기 / 비동기Promise정의비동기 함수의 결과를 담고 있는 객체동기적으로 순서대로 불러야 하는 코드가 있을 때, 사용하는 함수계속 호출하면 코드가 복잡해지고 에러 처리가 어려워지는 콜백의 단점을 보완함세 개의 상태Pending: 비동기 함수가 시작하지 않은 상태Fulfilled: 비동기 함수가 성공적으로 완료된 상태Rejected: 비동기 함수가 실패한 상태Promise가 대기 상태에서 상태가 바뀌면 then(), catch() 함수를 사용하여 각각 성공과 실패 Promise를 처리할 수 있다.하지만, then() 체인을 길게 이어나가면 콜백과 마찬가지로 가독성이 떨어지고 에러 파악이 어려워진다.async/awaitasync 정의함수 앞에 붙여 비동기 함수임을 명시한다.항상 Promise 객.. 2025. 1. 23.
[JS/TS] Trouble Shooting: 컴파일과 런타임 환경 NestJS로 간단한 게시판을 제작하며 CRUD기능을 구현하고 있었다. 그러던 중 Delete기능의 예외 처리를 하는 과정에서 문제가 발생했다.  위 사진들처럼 해당하는 id가 있음에도 불구하고, id를 인식하지 못하였다. 여기저기 검색도 해보고 코드도 수정해봤지만 결국 해결을 못했고,GPT에게 물어본 결과 아래 코드처럼 id 파라미터를 강제로 형변환 하는 해결책을 제시해 주었고, 문제는 해결되었다. 여기서 궁금증이 생겼다.board.id 의 타입도 사전에 number로 지정해 주었고, id 파라미터의 타입도 number로 명시적으로 지정해 주었는데 왜 타입이 string으로 바뀌는건지 이해가 가지 않았다.  여기저기 찾아보며 도출한 결과는 아래와 같다.TypeScript 코드는 컴파일환경에서 JavaS.. 2025. 1. 22.
[JAVA] 람다식(Lambda), 메서드 참조 람다식1. 정의람다식은 자바 8에서 도입된 기능으로, 함수형 프로그래밍을 지원하기 위한 방법이다.함수의 이름이 없기에 익명(anonymous) 함수 라고도 한다. 2. 기본 문법(매개변수1, 매개변수2, ..., 매개변수n) -> {실행 코드}// 매개변수가 하나 뿐이면 괄호를 생략 할 수 있다. 3. 사용법List foods = Arrays.asList("Apple", "Banana", "Curry");List filteredFoods = foods.stream() .filter(food -> food.startsWith("C")) .collect(Collectors.toList());System.out.println(filteredFoods);// 출력: [Curry] 4. 장단점장점- 코드가 짧고 .. 2024. 7. 24.
[JAVA] EOF (End Of File) 백준 문제를 풀던 중 10951문제에서 EOF에 대해 알아보라고 하였다. EOF는 End Of File의 줄임말로, 말 그대로 파일의 끝을 나타내는 표시이다. 이는 파일을 읽던 중 더 이상 읽을 데이터가 없음을 나타낸다. 파일에서는 분명 끝이 존재하지만, IDE에서는 사실 사용자의 입력을 계속 기다리므로 끝이 존재하지 않는다.따라서 IDE에서는 Ctrl + Z / Ctrl + D 등으로 EOF처리가 가능하다. 2024. 7. 5.
[JAVA] 빠른 입출력: BufferedReader, StringTokenizer 계기백준 알고리즘 문제를 풀던 도중 생소한 문제를 만났다. 15552번인데, 단순한 덧셈 계산기 문제이지만 제한시간이 아주 짧았다.  그래서 문제에 써져있는 힌트를 참고하여 BuffedReader와 BufferedWriter를 이용하여 제출해보았다. 사실 이대로 사용법만 익히고 사용해도 되지만, 왜 Scanner는 안되고 BufferedReader는 되는건지 이유가 궁금해져서 알아보았다. BufferedReader ( vs. Scanner ) BufferedReaderScanner자료형StringString, int, long, float, double...버퍼 크기8KB1KBBufferingOX성능빠르다상대적으로 느리다입력 구분자개행문자공백, 개행문자 등BufferedReader는 문자 입력 스트림에서.. 2024. 7. 4.