개발환경 37

chatgpt api를 이용하여 영어 번역하기.

api번역하기 위해서 앞쪽에 관련 사항을 미리 입력해줘야하는게 포인트아래 json에 user, assistant,user 형태로 되어 있는데 첫 2개는 고정으로 설정하고 이후 user에 원하는 데이터를 설정하여 전송하면 됨. { "max_tokens": 4000, "temperature": 0, "messages": [ { "role": "user", "content": "아래 쓸 내용을 영어로 번역해줘" }, { "role": "assistant", "content": "물론입니다! 번역할 내용을 제공해 주시면 영어로 번역해 드리겠습니다." }, { "role": "user", "content": "여기에 번역할 내용..

개발환경 2024.08.19

MqttClient 구현 ( eclipse paho v3)

mqttClient 구현시 주의 사항1. automaticReconnect를 true로 처리함.MqttConnectOptions option = new MqttConnectOptions();option.setCleanSession(false); // 재접속 성공시에 세션정보를 날리지 않음. (비즈니스에 맞게 처리)option.setAutomaticReconnect(true);2. 처음 접속할 때 mqtt 서버가 내려가 있을 수도 있으니 올라올 때까지 재접속 시도boolean isConnected = false;while (isConnected == false) { try { // try connection IMqttToken iMqttToken = client.connec..

개발환경 2024.07.01

springboot tomcat 운영중에 특정 path에서 404가 발생할 때..

최근 springboot로 구현된 프로젝트를 war로 생성하여 tomcat에 배포하여 운영중인 서비스가 있는데... 로컬에서는 딱히 문제없이 잘 처리가 되는데 운영중에 특정 path (/board) 에서 404 오류가 발생. 혹 apache문제인지.. ssl문제인지 이것저것 처리해보았으나 문제를 해결하지 못함. springboot에 route를 변경하여 처리해도 문제를 해결하지 못함. 문제의 원인은 ROOT.war로 배포된 곳에 board라는 디렉토리가 있었는데.. path가 그걸 먼저 보고 처리하는 바람에 발생함. board 디렉토리 삭제하여 문제 해결. @.@

개발환경 2024.01.04

비동기처리를 동기처리로 변경..

netty는 모든 것을 비동기로 처리한다. 이때 어떤 요청에 대한 응답을 받아 처리하는게 생각만큼 쉽지가 않다. 이러한 때를 비동기처리를 동기로 처리하는 경우라고 표현한다. 기본적으로 이 문제를 해결하기 위해서는 어떤 요청에 대해 오는 응답을 서로 연결할 수 있는(매핑할 수 있는 ) id가 필요하다. 이걸 correlationId라고 보통 명명한다. 그래서 correlationId를 생성하여 요청에 담아 던지면 이에 대한 응답은 반드시 correlationId를 담아서 던져야 한다. (이게 되지 않으면 요청과 응답을 매핑할 수 없어 비동기로 처리가 불가능하게 된다.) map.put("corretionId",new CompletableFuture); 요청시에 위처럼 correlationId와 결과를 담을 ..

개발환경 2023.11.27

string based netty server client example

주요 기능 \n 이 끝인 문자열 기반임 재시작, 재접속 시도 idle상태가 되면 heartbeat 메세지 전송. slf4j 로깅 처리. 서버 문자열을 받으면 숫자를 다르게 하여 클라이언트로 전송. 채널별로 100000 개의 문자열을 받으면 channel close 처리 60초 idle상태가 되면 heartbeat 메세지 전송. 메세지전송 오류시 channel 종료 startup, shutdown 메소드 클라이언트 서버 접속시에 문자열 전송. 문자열을 받으면 그대로 서버로 전송. startup, shutdown 메소드 https://github.com/lloydkwon/simple-string-netty GitHub - lloydkwon/simple-string-netty: String based Nett..

개발환경 2023.10.27

netty로 전문통신 서버를 구현할 때

anylink 같은 솔류션이 없이 전문통신서버를 구현하는게 쉽지 않습니다. 여러 프로젝트에서 netty로 전문 관련 프로젝트를 수행했는데 여러가지 노하우가 있지만 아래 세가지를 잘 처리하면 크게 문제는 없어 보입니다. 전문의 처음과 끝 전문은 단순한 문자열이든 복잡한 전문의 형태이든 처음과 끝을 정확히 파악하는게 중요합니다. 전문은 한번에 들어오지 않고 여러 번에 걸쳐 들어올 수 있으므로 전문의 끝이 올 때까지 잘 모아 두어야 합니다. ByteToMessageDecoder 나 ReplayingDecoder 같은 클래스를 상속하여 하나의 전문을 온전히 받고 자바클래스로 decoding 해야 합니다. netty의 비동기 통신 netty는 기본적으로 비동기로 데이터를 처리합니다. 여러번 요청이 가고 여러번 응..

개발환경 2023.10.11