본문 바로가기

Slack 채널 정리

(87)
Flogo 삽질 개발 관련 유머러스한 짤방 중에 이런게 있었죠. 좌우로 두 개발자를 대비해놓은 사진인데 좌측 개발자의 말 풍선에는 '어, 왜 이게 안되지?', 우측 말 풍선에는 '어, 왜 이게 돌아가지?' 팀에서 Flogo 얘기가 간만에 나왔었는데 마침 간만에 주말 낮에 여유 시간 생겨 샘플 코딩을 해봤었습니다. https://tibcosoftware.github.io/flogo/labs/bookstore/별 것도 아닌데 빌드 에러가 나더군요. '어라, 이게 왜 안되지?' 똑같은 에러에 대한 질문이 Flogo 커뮤니티에 올라와 있던데 답글이 안달려 있길래 깔끔하게 노트북 닫았습니다 ㅎ 어제 출근해서 혹시나 하고 회사 노트북에서 빌드해봤습니다. '어라, 이게 왜 되지?'빌드도 되었으니 실행까지 해봤는데 돌아가긴 하는데 버..
conda-forge python 으로 graphql 클라이언트 만들려고 gql 이란 패키지 이용하려다 배운거. %> conda install gql 'PackagesNotFoundError: The following packages are not available from current channels' 해결 방법: %>conda config --append channels conda-forge conda-forge 는 다양한 conda recipes 를 모아놓은 레포지터리라는데 conda 공식 레퍼지토리에 패키징 등록되어 있지 않은 것들을 내려받을 수 있다는 듯. 다만, 간혹 공식 레피지토리에 있는 패키지를 임의로 수정한 패키지가 올라가 있는 경우도 있어서 문제가 생기는 경우도 있는 듯 하네요. install 할 때 co..
armeria, Thrift 삽질 쉬어가는 타임을 이용해서 지난 번 살짝 건드렸던 armeria 를 개발 중인 앱 서버 쪽에 심어 봤다. 샘플 코딩할 때 gradle 로 했던거 maven 으로 바꾸는거랑 spring boot 랑 armeria 같이 쓸 때 포트 충돌 나는 것 때문에 sb 의 http 포트랑 armeria 포트 설정 바꾸는거 등 외에는 별다른 작업할 건 없었는데 문제는 클라이언트 호출 코딩. armeria 문서에는 armeria 를 이용한 자바 코드 샘플만 있는데 이거 응용하면 어렵지 않게 클라이언트 호출 가능하다. 하지만 armeria 라이브러리 안 쓰고 기본 Thrift 라이브러리로만 하려면 이게 간단치 않다. TSocket 대신 THttpClient 를 이용해서 억지로 어떻게 호출하고 결과 받아보긴 했지만 이건 실제 ..
gRPC Life Cycle Thrift, gRPC 비교 글에 곧잘 나오는 게 gRPC 는 List, Set 등의 타입 없다는 거여서 그러면 어떻게 처리할까 궁금 했었는데 gRPC 에 포함된 예제 소스 오늘에야 보니 stream 과 repeated 이용하는 두 가지 방식으로 해결할 수 있네요(예제 소스에는 repeated 방식은 포함되어 있지 않습니다). 간단히 정리해보면 ...gRPC 에는 4가지의 기본 Life Cycle 이 있습니다. Unary : 우리가 맨 처음 보통 보는 sayHello 같은 경우입니다. req 1 - res 1 인 경우. Server streaminig : 단일 요청에 List 성 데이터를 내려보낼 때. Client streaming : 2번의 반대. Bidirectional streaming : 양 방향..
java.xml.bind 에러 java.xml.bind 관련 에러 해결법 https://luvstudy.tistory.com/61 로컬 개발 환경에서 jdk 를 9 이상 쓰다보면 만나게 되는 문제 중 하나.
TGI -> prometheus 전환 작년에 시스템 모니터링 기능이 필요해서 telegraf, influxDB, grafana 조합으로 구성한 적 있었는데 이번에 다시 시스템 모니터링 기능이 필요해져서 기억 되살리려고 구글링해보니 prometheus, grafana 조합이 더 많이 눈에 띈다. 대충보니 tig 조합보다 설정이 좀 더 단순한 듯하고 influxDB 보다 prometheus 가 속도 더 빠르고 cpu 사용량도 적은 듯. tig 조합을 선택했던 이유 회고해보면 1. 외부 노드의 정보를 push 방식으로 수집한다는 점(보안 측면) 2. influxDB 라는 시계열 DB 사용법을 학습할 수 있는 기회 등이 사실 주 이유. 2번은 필요성 계속 느끼지만 1번은 현장에 설치 운영하다보니 그 정도로 민감한 상황 없어서 무시해도 될 듯 싶다...
Conway's Law Conway's Law - “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure” 시스템은 조직의 커뮤니케이션 구조를 닮는다. 애자일, MSA, DevOps 등의 소개 글에서 자주 인용되어서 낯설지 않을겁니다. 어제 누구랑 대화 나누다가 이게 기억 안나서 역시나 검색의 힘을 빌려서 찾은 김에
influxDB 사용 위한 dependency 설정 influxDB와 python, spring boot 연결 간단 테스트는 일단 성공. spring boot 사용 시 문서들에서는 influxDB 라이브러리만 추가하면 된다고 나와 있는데 그렇게 하니 이상하게 접속 처리 과정에 okhttp3 라이브러리 때문에 문제가 생긴다. 다 필요한지는 모르겠지만 일단 아래와 같이 pom.xml 에 okhttp3 라이브러리 의존성 추가하니 잘 되네요. com.github.miwurster spring-data-influxdb 1.8 org.influxdb influxdb-java 2.15 org.influxdb influxdb-java com.squareup.okhttp3 * 2.15 com.squareup.okhttp3 okhttp 4.0.1 com.squareup.o..