반응형

분류 전체보기 403

프렌즈 시즌1 대본 다운로드 한글 파일, pdf 파일 (11화 ~ 18화)

프렌즈 시즌1 대본 한글 파일과 pdf 파일입니다. 재작년에 넷플릭스로 직접 쉐도잉 공부하며 수정한 대본이라 내용과 거의 일치합니다. 공부하시는데 도움이 되었으면 좋겠습니다. 이전에 1화 ~ 10화 파일을 올린 포스팅 링크도 아래 함께 올려놓습니다. 프렌즈 시즌1 대본 한글 파일 다운로드 (1화 ~ 10화) 프렌즈 시즌1 대본 한글파일입니다. 작년에 넷플릭스로 직접 쉐도잉하며 수정한 대본이라 내용과 거의 일치합니다. 공부하시는데 조금이라도 도움이 되었으면 좋겠습니다. 1화부터 10화까지 .hwp wildeveloperetrain.tistory.com

etc 2022.01.06

자바 추상 클래스와 인터페이스의 차이점 이해하기

'is a kind of(~의 한 종류) 추상 클래스'와 'be able to(~할 수 있는) 인터페이스' - 추상 클래스 public abstract class 클래스이름 { ... public abstract void 메서드이름(); } class 앞에 'abstract' 키워드를 사용하여 정의하며, 하나 이상의 추상 메서드를 가지는 클래스를 말합니다. 추상 메서드를 선언하여 상속을 통해서 하위 클래스에서 (반드시) 구현하도록 강제하는 클래스입니다. (추상 메서드를 포함하지 않는 클래스에서도 abstract를 붙여서 추상 클래스로 지정할 수 있으며, 반대로 추상 메서드를 포함하는 클래스는 반드시 추상 클래스여야 합니다.) abstract로 선언된 추상 클래스는 상속을 위한 클래스이기 때문에 new 키..

Programming/Java 2022.01.06

시사상식 암호화폐 스테이킹(Staking), 스테이킹 코인이란?

스테이킹(Staking)의 사전적 정의로는 자신이 보유한 암호화폐의 일정한 양을 지분(Stake)으로 고정시키는 것으로, 자신이 가지고 있는 암호화폐를 블록체인 네트워크에 예치하여 해당 플랫폼의 운영 및 검증에 참여하고 그 대가로 암호화폐를 받는 것입니다. 저축과 유사한 개념으로 암호화폐 보유자는 가격의 등락과 상관없이 암호화폐를 예치하고, 예치기간 동안 일정 수준의 수익을 얻을 수 있습니다. 암호화폐 지분의 유동성을 묶어두는 대신 블록체인 플랫폼의 운영 및 검증에 참여하고 이에 대한 보상으로 암호화폐를 받는 것입니다. 작업 증명(PoW)과 지분 증명(PoS) 스테이킹(Staking)은 '작업 증명(PoW / Proof of Work)'가 아닌 '지분 증명(PoS / Proof of Stake)' 알고리..

BlockChain 2022.01.04

메소드 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이 이해하기

'다형성과 오버로딩, 오버라이딩' 다형성이란 하나의 메서드나 클래스가 있을 때 그것이 다양한 방법으로 동작하는 것을 말하며, 자바에서는 주로 오버로딩(Overloading)과 오버라이딩(Overriding)을 통해서 다형성을 지원합니다. 오버로딩과 오버라이딩은 이름이 비슷하여 헷갈릴 수 있지만 전혀 다른 개념이기 때문에 헷갈리지 않도록 확실한 차이점을 알아두는 것이 좋습니다. '오버로딩(Overloading) / 확장' 같은 이름의 메서드 여러 개를 가지면서 매개변수의 유형과 개수가 다르도록 사용하는 것 '오버라이딩(Overriding) / 재정의' 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 것 '오버로딩(Overloading)' 오버로딩은 메서드 오버로딩과 생성자 오버로딩이 ..

Programming/Java 2022.01.03

1년차 백엔드 개발자가 알고리즘(Algorithm) 공부를 시작하는 이유

먼저 프로그래밍 알고리즘(Algorithm)이란? 알고리즘은 '어떠한 문제를 해결하기 위한 일련의 절차를 공식화한 형태로 표현한 것'입니다. 프로그래밍에서의 알고리즘은 input 값을 통해 output 값을 얻기 위한 계산 과정을 의미하며, 좀 더 자세하게는 컴퓨터가 어떤 문제를 해결하기 위해 사용자가 컴퓨터에게 문제를 어떻게 처리해야 하는지에 대한 방법으로 프로그래밍을 통해 적용시켜주는 것을 이야기합니다. 알고리즘은 프로그래밍을 하는 데 있어서 굉장히 중요한 요소로 작용됩니다. 왜냐하면 어떤 알고리즘을 사용하느냐에 따라서 프로그램이 효율적으로 동작할 수도 있고, 비효율적(느리게)으로 동작할 수도 있기 때문입니다. 알고리즘의 조건 입력 : 알고리즘은 0 또는 그 이상의 외부에서 제공된 자료가 존재해야 합..

Spring Boot 예외 처리 @ControllerAdvice, @ExceptionHandler

'스프링 부트 @ControllerAdvice, @ExceptionHandler를 이용한 예외 처리' 프로그래밍에서 예외처리는 아주 중요한 부분입니다. 예외가 발생할 수 있는 부분에서 예외를 잡아서 세밀하게 처리해준다면 클라이언트 측면에서와 서버 측면에서 모두 더 안정적인 프로그램이 될 수 있습니다. 일반적으로 예외를 처리해야 하는 상황에서 각각의 예외들을 메서드 단에서 try-catch 또는 throw로 처리하게 되면 코드가 복잡해질 수밖에 없습니다. 이러한 문제를 개선하기 위해 Spring Boot에서는 @ExceptionHandler, @ControllerAdvice(+ @RestControllerAdvice)를 사용합니다. @RestController @RequiredArgsConstructor ..

자바 예외 처리 방법과 CheckedException, UncheckedException

*** Throwable 클래스는 예외 처리를 하기 위한 최상위 클래스로, 직접 사용되는 경우는 없지만 Throwable 타입과 이 클래스를 상속받은 서브 타입만이 JVM이나 throw 키워드에 의해 던져질 수 있습니다. '에러(Error) vs 예외(Exception)' '에러'는 시스템이 비정상적인 상황에서 발생합니다. 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 자바 가상 머신(JVM) 실행에 문제가 생겼을 때 발생하는 것이며, 시스템 레벨에서 발생하는 심각한 수준의 오류이기 때문에 예외와 다르게 개발자가 미리 예측할 수도 없고, 애플리케이션 코드에서 잡아서 처리할 수도 없습니다. (에러의 예로는 OutOfMemoryError, ThreadDeath, StackOver..

Programming/Java 2021.12.30

block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-3

WebClient 사용법을 학습하던 중 발생한 오류입니다. WebClient는 비동기식 웹 애플리케이션 구축을 위한 WebFlux의 기능 중 일부로 RestTemplate 클라이언트를 대체하는 새로운 API이며, 비차단 및 반응 웹 클라이언트입니다. (Blocking 또는 Non-Blocking HTTP 요청을 모두 만들 수 있으며 Spring5 릴리즈 이후로 권장되는 방식입니다.) public ResponseEntity getTest() { ResponseSpec responseSpec = webClient.mutate().build() .get() .uri("http://localhost:8082/webServer/get") .retrieve(); ResponseEntity result = respo..

Programming/Error 2021.12.28

스프링 프레임워크 Reactive Stack, Servlet Stack 개념

'스프링 프레임워크(Spring Framework) Reactive Stack과 Servlet Stack' WebClient를 사용하기 위해서 공부하던 중 WebFlux의 개념과 더불어 함께 공부하게 된 부분입니다. 전체적인 Reactive Programming과 함께 공부하며 개념을 잡아가면 더 좋겠지만 당장에 큰 흐름만 파악하기 위해서 정리한 내용이라 틀리거나 부족한 부분이 있을 수 있습니다. 잘못된 부분은 댓글 남겨주시면 다시 공부하여 수정하겠습니다. 미리 감사드립니다. Spring Framework5는 Servlet Stack, Reactive Stack이라는 두 가지 웹 스택을 제공합니다. 하나는 대부분의 Java 엔터프라이즈 애플리케이션이 사용하는 차단 I/O가 있는 고전적인 'Servlet ..

동기와 비동기, 블로킹과 논블로킹 개념 정리

'동기와 비동기, 블로킹과 논블로킹 - 비슷한 듯하면서도 비슷하지 않은 개념들' 프로그래밍을 하며 자주 접하게 되는 단어들이지만 개념적으로 명확하게 차이를 짚고 넘어간 적이 없었는데 이번에 WebClient를 사용하기 위해 공부하던 중 Spring WebFlux, Reactive Programming의 개념을 접하며 논블로킹(Non-Blocking)에 대해서 그리고 블로킹과 동기, 비동기에 대해서도 정리할 필요성을 느껴 정리하게 되었습니다. 동기(Synchronous)와 비동기(Asynchronous) - 동기 방식 동기(Synchronous) 방식은 데이터의 요청과 결과가 한 자리에서 동시에 일어나며, 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청됩니다. 세탁기 돌리기 로봇 청소기로 바닥 청소하기..

Programming/Web 2021.12.28
반응형