2022-02-26-TIL

Today I Learned

리액티브 프로그래밍

리액티브 프로세싱

먼저 리액티브 프로세싱이란, 개발자로 하여금 논블로킹, 비동기 애플리케이션을 빌드할 수 있게끔 하여, 해당 애플리케이션이 back-pressure를 다룰 수 있게 하는 것이다. (플로우 컨트롤)

Back-pressure

Back-pressure는 또 무엇인가? 이는 거의 모든 소프트웨어 엔지니어가 어떤 점에서는 다루고 있다고 볼 수 있는데, 그 용어 자체는 그렇게 와닿지가 않는다. 소프트웨어 세계에서 back-pressure은 자동차 배기 가스나 주택 배관과 같은 유체 역학에서 차용한 비유적인 용어이다.

파이프를 통한 원하는 유체 흐름에 반대되는 저항 또는 힘 - 위키피디아

소프트웨어의 맥락에서의 정의는 소프트웨어 내의 데이터 흐름이라고 생각하면 대응이 된다.

소프트웨어를 통한 데이터의 원하는 흐름에 반대하는 저항 또는 힘

리액티브 프로그래밍

리액티브 프로그래밍은 데이터 흐름과 변화 전파에 중점을 둔 프로그래밍 패러다임이다. 이는 프로그래밍 언어로 정적 또는 동적인 데이터 흐름을 쉽게 표현할 수 있어야하며, 데이터 흐름을 통해 하부 실행 모델이 자동으로 변화를 전파할 수 있는 것을 의미한다.

  • https://juneyr.dev/reactive-programming
  • https://spring.io/reactive
  • https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7
  • https://dev-daddy.tistory.com/25
  • https://12bme.tistory.com/570

gRPC

  • https://eocoding.tistory.com/87#:~:text=gRPC%EB%A5%BC%20%EC%99%9C%20%EC%93%B0%EB%8A%94%EA%B0%80%3F,%EC%84%B1%EB%8A%A5%20%EC%A0%80%ED%95%98%EB%A5%BC%20%EA%B0%9C%EC%84%A0%ED%95%A8.
  • https://devjin-blog.com/golang-grpc-server-1/
  • https://docs.microsoft.com/ko-kr/aspnet/core/grpc/comparison?view=aspnetcore-6.0
  • https://medium.com/@goinhacker/microservices-with-grpc-d504133d191d

Spring MVC

  • https://catsbi.oopy.io/df7ae51d-7d03-40ef-b6f8-f903600ca7b7
  • https://catsbi.oopy.io/f52511f3-1455-4a01-b8b7-f10875895d5b
  • https://www.javatpoint.com/spring-mvc-tutorial#:~:text=A%20Spring%20MVC%20is%20a,Inversion%20of%20Control%2C%20Dependency%20Injection.
  • https://spring.io/guides/gs/serving-web-content/
  • https://gmlwjd9405.github.io/2018/12/20/spring-mvc-framework.html
  • https://dailyheumsi.tistory.com/159
  • https://www.baeldung.com/spring-mvc-tutorial

Spring Security

  • https://spring.io/guides/topicals/spring-security-architecture
  • https://mangkyu.tistory.com/76
  • https://docs.spring.io/spring-security/site/docs/5.5.4/reference/html5/#introduction
  • https://spring.io/guides/gs/securing-web/
  • https://kimchanjung.github.io/programming/2020/07/01/spring-security-01/
  • https://velog.io/@allen/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0%EC%99%80-%EC%9D%B8%EC%A6%9D
  • https://twer.tistory.com/entry/Security-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0%EC%9D%98-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%ED%9D%90%EB%A6%84
  • https://devuna.tistory.com/55

Spring Boot and JWT

  • https://shinsunyoung.tistory.com/110

Paging in Spring Data JPA

  • https://cheese10yun.github.io/spring-jpa-best-12/

Unit Testing in Spring

  • https://spring.io/guides/gs/testing-web/
  • https://siyoon210.tistory.com/145
  • https://greedy0110.tistory.com/57
  • https://mangkyu.tistory.com/145
  • https://dzone.com/articles/mockito-pros-cons-and-best

Books

  • http://www.yes24.com/Product/Goods/102368122