분류 전체보기 870

용어의 통일은 중요하다. (feat. 기본은 중요함)

실무 하면서 유지보수 하거나, 이관 받은 업무 코드를 보면 어디는 풀어서 쓰고, 어디는 다른 prefix 변수명을 쓰고 혼재 된 경우는 매우 빡치는 일이다. 아...모든 코드가 사연이 있겠지만, 도대체 이 용어, 저 용어 왜 섞어 쓰는걸까.. JPA를 쓰든, DTO, VO를 쓰든 용어의 통일은 기본 개념이고, 만약 바꾸고 싶다면, 컬럼명은 못바꾸더라도, alias 걸고 코드 내의 변수명들은 통일이 필요하다. 코드를 잘 짜는 것도 중요하지만, 변수명도 막 쓰는데, 코드를 잘 짤 수 있을리 없다. 그 정도조차 배려가 없는데, 코드에 배려가 묻어 날까? 결과적으로 가장 기본은 repository 안에서 쓸 용어를 통일 하는 것이다. 그 용어를 고르게 써야지만 다른 사람들이 이해하기 쉽다. 변수명이 아무리 길어..

승돌 쓰다 2023.08.28

Intellij가 업데이트 이후 안켜질때 (Internal error. Please refer to https://jb.gg/ide/critical-startup-errors)

갑자기 intellij가 업데이트 이후에 안켜지더라. 갑자기 멘붕 왔다. Internal error. Please refer to https://jb.gg/ide/critical-startup-errors 이런 메시지였는데, 아무래도 뭔가 플러그인이 꼬인 것 같은데, 윈도우의 경우 hyper-v 관련한 포트 이슈가 있다고는 한다. 하지만, macos의 경우 plugin이 제일 의심해볼만 하다. https://intellij-support.jetbrains.com/hc/en-us/articles/360007568559-Start-Failed-Internal-error-recovering-IDE-to-the-working-state-after-the-critical-startup-error 위에 자세하게 해..

Tool 2023.08.11

localhost HTTPS 적용 (spring boot)

mkcert install brew install mkcert brew install nss # firefox 사용 예정이라면, 추가mkcert localhost 명령어 mkcert -install [-uninstall 삭제] > mkcert -install The local CA is now installed in the system trust store! ⚡️ The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊> mkcert -pkcs12 localhost Created a new certificate valid for the following names 📜 - "localhost" The PKCS..

Grpc framework, protobuf 관리, grpc 기본 톺아보기

grpc 구조 https://grpc.io/docs/what-is-grpc/introduction/ gRPC에서는 클라이언트 애플리케이션이 로컬 객체처럼 다른 컴퓨터의 서버 애플리케이션에 있는 메서드를 직접 호출할 수 있으므로 분산 애플리케이션과 서비스를 더 쉽게 만들 수 있습니다. 많은 RPC 시스템에서와 마찬가지로 gRPC는 서비스를 정의하고 매개변수와 반환 유형으로 원격으로 호출할 수 있는 메서드를 지정하는 개념을 기반으로 합니다. 서버 측에서는 서버가 이 인터페이스를 구현하고 클라이언트 호출을 처리하기 위해 gRPC 서버를 실행합니다. 클라이언트 측에서는 클라이언트가 서버와 동일한 메서드를 제공하는 스텁(일부 언어에서는 그냥 클라이언트라고 함)을 가지고 있습니다. gRPC 클라이언트와 서버는 Go..

grpc ui client (kreya, postman)

https://kreya.app/ The ultimate gRPC and REST client | Kreya The cross-platform gRPC and REST GUI testing tool. kreya.app grpc 통신을 해보려면, client가 필요한데, 편리하게 되어 있다. (기존에는 bloomrpc가 대세였다) 이제는 postman에서도 grpc request를 보낼 수 있다. https://blog.postman.com/postman-now-supports-grpc/ Postman Now Supports gRPC | Postman Blog We are excited to announce first-class support for gRPC in Postman. Learn how to g..

protocol buffers(protobuf) 톺아보자. (는 훼이크, 간단히 알아보자)

https://protobuf.dev/ Protocol Buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data. It’s like JSON, except it’s smaller and faster, and it generates native language bindings. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety o..

kotlin + junit의 생성자 주입시 오류

kotlin의 경우 생성자 주입을 그냥 하게 되면, 오류가 발생하게 되는데, 아래처럼 해결 하는 방법이 있다. 1. @Autowired constuctor를 사용하는 방법 class SimpleServiceTest @Autowired constructor ( val simpleService: SimpleService ) { @Test fun `이렇게 하면 결과가 나온다`() { } } 2. @TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL) 를 활용하는 방법 @TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL) class SimpleServiceTest ( val simple..

kotest 생성자 bean 주입 오류 - Specs must have a public zero-arg constructor

kotest에서 빈을 생성자 주입으로 쓰려고 하면, Specs must have a public zero-arg constructor 오류가 발생 할 수 있다. 이 때에는 kotest-extension-spring 모듈이 필요로 하다. kotest extension spring 라이브러리가 두개가 검색 되곤 하는데, 헷갈리면 안된다. https://kotest.io/docs/extensions/spring.html Spring | Kotest Kotest offers a Spring extension that allows you to test code that uses the Spring framework for dependency injection. kotest.io 실제 docs를 보면, 1.1.3 ..

반응형