버전 업데이트가 안되요!!?
2024. 1. 25. 11:05
programming/Python
python 업데이트를 하려고 공식홈페이지에 방문했습니다. https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 분명 3.12.1 버전을 다운받아 설치했는데 제 맥북에서는 여전히 3.8.8 버전으로만 나왔습니다. 구글링을 검색하고 해봐도 계속 저 버전이라 이상하다고 생각하던 중에 https://sorbonne.tistory.com/entry/%EB%A7%A5%EB%B6%81-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A..
스프링 부트 + MySql 연결하기
2024. 1. 17. 14:18
programming/SpringBoot
MySql IDE SpringBoot와 Mysql을 만들어 주기 위해서 mysql에 db를 하나 만들어보았습니다. iTerm2를 실행하고 mysql -u root -p 비밀번호 입력! 여기서 -u는 기본이 root로 되어 있습니다. create database 데이터베이스명 ; # 원하는 데이터베이스명으로 db를 만듭니다. 저는 gRPCArchitectureGuide 라는 이름으로 db를 만들었습니다. 다양한 IDE들이 있는데 저는 DBeaver 를 사용하였습니다. 혹시나 다운로드 받으시는 분들은 이곳에서 받으시면 됩니다. https://dbeaver.io/download/ Download | DBeaver Community Download DBeaver Community 23.3.2 Released o..
[MySql] mysql 접속이 안된다?? Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
2024. 1. 15. 16:49
programming/Trouble Shooting
분명히 접속이 잘 되던 MySql 이 갑자기 접속이 안됬습니다. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 에러가 무엇인가? 번역을 해보니 소켓을 통해 로컬 Mysql 서버에 접속할 수가 없다는 내용입니다. 그럼 구글링 시작! 다행히 단번에 나온 블로그에서 해결법을 찾았습니다. https://so-es-immer.tistory.com/entry/ERROR-2002-HY000-socket-tmpmysqlsock-2-%ED%95%B4%EA%B2%B0%ED%95%98%EB%A0%A4%EA%B3%A0-brew-services-start-mysql-%ED%95%A8 ERROR 2002 (HY000): socket '/tmp/m..
Network closed for unknown reason
2023. 12. 28. 16:03
programming/Trouble Shooting
gRPC 서버와 클라이언트를 연결 하는 중에 오류가 발생하였습니다. Network closed for unknown reason 구글에 검색을 해보니 '알수 없는 이유로 네트워크가 닫혔습니다' 라는 뜻으로 SSL 모드로 실행해보라고 뜨는데 아주 간단한 문제였습니다. gRPC Server에서 port 설정을 50051로 해주었는데 client 에서는 9090으로 설정을 해서 server와 client가 연결이 안되는 문제였습니다. 포트를 수정해서 실행해보니 정상적으로 실행되는 것을 볼 수 있었습니다. 오늘도 하나 배웠네요! 저와 같은 실수 안하시기를~!
ProductInfoGrpc 상속이 안된다!?
2023. 12. 15. 16:31
programming/Trouble Shooting
gRPC 서비스를 만드는 중 gradle build 후에 상속받아야 할 ProductInfoGrpc가 생성이 안되는 경우가 있었습니다. 처음 만든 경우에는 생성이 되었고 2번째 만들 때는 Controller를 하나 만들어서 연결시키려고 했는데 거기서는 생성이 안되었습니다. 그래서 상속을 받을 수 있는 케이스가 발생했습니다. 상속이 가능했던 코드를 복사해서 변경할 부분만 변경한 후 2개의 프로젝트를 만들어서 테스트 해보려고 합니다. // main/proto/ProductInfo.proto syntax = "proto3"; package grpc_test_01; service ProductInfo { rpc addProduct(Product) returns (ProductID); rpc getProduct(..
[Test Code] JUnit4 @RunWith JUnit5에서 사용하기
2023. 12. 13. 22:16
programming/SpringBoot
build.gradle에 기본으로는 아래와 같이 되어있습니다. tasks.named('test') { useJUnitPlatform() } test코드를 작성해 주기 위해서 아래와 같이 변경해 줍니다. test { useJUnitPlatform() } JUnit4에서 RunWith는 스프링부트 테스트와 JUnit 사이에 연결자 역할을 합니다. 그러나 JUnit5에서는 RunWith를 사용할 수가 없었습니다. 어노테이션 추가 자체가 되지 않는데 알아보니, JUnit5에서는 JUnit Platform, JUnit Jupiter, JUnit Vintage 3개의 모듈로 나눠져 있어서 RunWith를 사용하려면 다음과 같이 사용해야 한다고 합니다. import org.junit.runner.RunWith; //..
[개발] mvc 패턴, gRPC 연결하는 예시를 알아보자.
2023. 12. 11. 16:54
Study
개발 공부를 하게 되면서 가장 당황스러운 게 용어와 개념입니다. java로 개발을 시작하게 되면 생소한 개념들이 아주 많이 있습니다. DAO, DTO, Repository, Entity 와 같은 개념들, MVC 패턴에 관련된 내용들에 대해서 알아보겠습니다. 기본적인 구조는 클라이언트에서 데이터를 요청하면 Controller -> Service -> Repository -> Entity -> DB DB -> Repository -> Service -> Controller -> Browser(클라이언트) 이런 식으로 뿌려주게 됩니다. DTO(데이터 전송 개체) - DTO(데이터 전송 개체) 패턴이 일반적으로 애플리케이션의 여러 부분 간의 데이터 전송을 단순화하는 데 사용됩니다. 다양한 세부정보가 포함된 Us..
[gRPC] 시작에서 운영까지 - 실제로 구현해보자.
2023. 12. 10. 00:47
Study
자바를 사용한 gRPC 서비스 구현. src/main/proto 디렉터리 생성 -> ProductInfo.proto (서비스 정의 파일) 생성. // productInfo.proto syntax = "proto3"; import "google/protobuf/wrappers.proto"; package grpc_test_01; service ProductInfo { rpc addProduct(Product) returns (ProductID); rpc getProduct(ProductID) returns (Product); } message Product { string id = 1; string name = 2; string description = 3; float price = 4; } message..