안녕하세요. 오늘은 Chat GPT와 수식기호를 포함하여 대화하는 방법과 Chat GPT의 수학문제 풀이 능력에 대해서도 알아보겠습니다. 우선, Chat GPT와의 대화는 텍스트만으로 한정되어있습니다. 이미지를 포함하거나, 표를 포함하여 대화할 수 없습니다. 순수한 텍스트만으로 표현을 해야하니 수학기호를 사용하려면 프로그래밍 문법을 사용해야합니다. 개발자가 아닌 분들은 프로그래밍 문법에 익숙하지 않아 문법을 사용하여 대화하는게 쉽지 않을 것입니다. 한글 문서 프로그램이 있으시다면 한글 문서 프로그램을 통해 수식을 입력하고 문법으로 변환 시킬 수 있습니다. 아래 스크립트를 실행하면 수식의 문법이 추출되니 복붙하여 사용하시면 될 것입니다. function OnScriptMacro_formulToText() ..
안녕하세요. 오늘은 자바클라이언트에서 파이썬 소켓서버를 로컬에서 실서버까지 구현한 내용을 공유하겠습니다. 동시에 여러접속자의 처리를 구현하기 위해 멀티쓰레드 환경에서 처리하도록 구현하였습니다. 프로그래밍 기능 - 자바 클라이언트에서 String을 파이썬 소켓 서버로 전달하면 파이썬 소켓 서버는 클라이언트가 보낸 String을 토대로 문서파일을 생성하여 자바로 파일 전달 운영환경 - 자바 클라인트(ec2 amzn_linux 운영체제) - 파이썬 소켓 서버(ec2 windows 운영체제 ) 소켓 프로그래밍 흐름 위 그림은 소켓 프로그래밍의 실행 흐름입니다. 소켓 서버에서는 소켓을 생성하고 자신의 서버 IP와 소켓 프로그램을 실행시킬 port번호를 결합(bind) 합니다. 그리고 listen() 메서드를 통해..
안녕하세요. hwp 문서 자동화 생성은 여러가지 방식이 존재합니다. 다만 각 방식에서 장단점이 존재하며 장단점은 개발의 편이성, 지원 기능, 비용, 운영환경의 차이가 있습니다. 이를 위해 고려했던 방식과 제가 겪었던 내용들을 공유하려고 합니다. 제가 알고있는 방식에 한하여 말씀드리겠습니다. 혹시 다른 의견이나 아시는 내용있으시면 공유해주시면 감사하겠습니다. 1. 한컴에서 제공해주는 한글컨트롤 API 한컴에서 제공해주는 한글컨트롤 API는 ActiveX 환경에서만 동작합니다. ActiveX 환경의 브라우저를 사용하는 사용자가 거의 없는 요즘에 이를 선택하기엔 부적절해 보였습니다. 2. 웹한글 기안기 한컴에서 웹한글 기안기라는 소프트웨어를 개발하여 Non-ActiveX 환경에서도 *.hwp 문서 생성이 가능..
운영, 개발, 로컬 환경과 같이 운영체제 또는 실행환경에 따라 설정파일 속성이 다르게 적용되어야 하는 경우 스프링 부트에서는 spring.profiles.active 속성으로 각기 다르게 적용시킬 수 있습니다. 어려운 기능이 아니니 사용법에 위주로 빠르게 설명을 하겠습니다. 실행환경은 로컬 (windows), 운영(aws ec2 linux)으로 구분하였으며 환경설정파일은 application.properties 기준으로 진행했습니다. (*.yml은 yml 문법에 맞게 적용시키면 됩니다.) 스프링 부트는 기본적으로 applicaion.properties에 프로젝트 속성을 설정합니다. 로컬, 운영 두가지 서버에서 실행하므로 로컬 환경은 application-local.properties라는 파일을 생성하여 ..
[이전포스팅] https://developer111.tistory.com/77?category=873164 리액트 스프링부트 연동[1](라우터 설정 및 서버정보 리턴 받기) 안녕하세요. 오늘은 리액트(웹서버)와 스프링부트(was)를 연동해보겠습니다. 제가 그동안 관리해오던 어플리케이션은 was가 웹서버 역할까지 하여 서버소스와 화면소스(html,css,script)를 모두 제공 developer111.tistory.com 안녕하세요. 이번 글은 실서버에서 nginx를 통해 리액트 프로젝트를 배포하고 was에 있는 서버 프로젝트인 spring 프로젝트를 연동하는 것에 대해 알아보겠습니다. ec2 인스턴스의 셋팅이 모두 되어있고, 리액트 프로젝트, 스프링부트 프로젝트가 모두 ec2에 설치되어있다고 가정하고 ..
jpa는 기본적으로 하나의 엔티티를 가져올 때, 연관관계에 있는 엔티티를 모두 가져온다. 사용하지 않는 엔티티까지 모두 가져오는 것은 굉장한 손해이다. 물론, jpa가 mybatis에 비해 쿼리 재사용성이 높으니 이 정도 손해는 감수해도 되지 않나(?) 라고 생각할 수도 있지만그럼에도 불구하고 사용하지 않는 엔티티를 가져오는것은 누가 생각하더라도 손해이다.이러한 손해를 해결해줄 수 있는 방법이 바로 "지연로딩 LAZY"이다. 이를 알아보기 전에 먼저 알고 있으면 도움이 되는 개념이 "프록시" 이다. jpa의 프록시는 실제 엔티티를 상속받은 가짜 엔티티이다. 따라서 실제 엔티티와 겉모양이 같고 실제 엔티티에 접근할 수 있는 권한이 있다.만약 내가 조회한 엔티티가 연관관계가 있는 엔티티이고 지연로딩을 사용..
영속성 컨텍스트영속성 컨텍스트란 jpa에서 엔티티를 db에 반영하기 전에 영속화하는 공간이다. 서버단에 존재하는 가상의 DB역할을 하는 일종의 메모리 공간이며 엔티티의 변화를 감지하여DB에 반영전 우선적으로 작업하는 공간이라고 생각하면 된다. 영속성 컨텍스트의 구조를 보면 위와 같이 영속성 컨텍스트는 EntityManger 안에 존재하며"1차 캐시 공간"과 "SQL 저장소"로 이루어져 있다.1차 캐시 안에서 사용자가 조회 및 수정한 엔티티가 관리되고SQL저장소는 사용자 SQL을 저장하여 트랜잭션을 커밋하는 시점에 일괄적으로 DB에 반영한다. 1차 캐시 공간에서 엔티티를 관리하니 내가 사용하려는 엔티티와 동일한 엔티티가 캐시공간에 있다면DB에 접근하지 않고 영속성 컨텍스트에 있는 엔티티를 사용할 수 있는것..
https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/#crayon-60fa2fbab27f7557869434 Storing UUID Values in MySQLKarthik Appigatla revisits a post Peter Zaitsev wrote on UUIDs (Universal Unique IDs), rearranging the timestamp and talks about storing UUID Values.www.percona.com 본 글은 위의 글을 참조하여 실제 데이터를 생성하여 테스트 해본 결과를 공유하는 것입니다. UUID 개념은 구글링의 많은 문서가 있으므로 가볍게 다루고 위 solution을 이해하는데 필요한 부..
