[JAVA] [오류] Error: Table [?] contains physical column name [?] referred to by multiple physical column names
·
JAVA
필자의 경우, Caused by: org.hibernate.DuplicateMappingException: Table [awards] contains physical column name [created_date] referred to by multiple physical column names: [created_date], [createdDate] created_date 칼럼에 대한 중복 오류가 발생했다. @Getter @Setter @NoArgsConstructor @Entity public class Hello extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private ..
[GIT] Git History에서 특정 파일 기록 삭제하기
·
공유 소스 관리/Git
개요 Github에 Public 으로 오픈해놓고 있는 Node 토이 프로젝트 소스가 있는데 env파일 내부에 DB서버 정보가 있는데, Push 하기 전 gitignore 에 해당 파일 경로를 사전에 등록해 놓지 않아서... 그대로 Git History에 기록되고, 파일도 올라갔다. 해당 파일은 지울 수 있다 해도, Git History로 수정된 내용으로 추적이 가능해서 이것도 지워야할텐데.. 이 경우 뿐만 아니라, 보안상 중요한 정보 노출이 우려가 되는 파일들이 이미 올라가있다면, 파일도 지우고 History 파일 추적해서 커밋으로 수정된 내용으로 정보가 유출되지 않게.. 그 방법을 알아본다... 해결방안 아래의 명령어를 보면 git filter-branch -f --index-filter 'git rm..
[일렉트론 / ELECTRON] CMD 한글 깨짐 현상
·
Development Tools
일렉트론 프로젝트를 하다 데이터를 수집해야하는 상황이 생겨서 데이터를 수집하였는데 ?먯쟾?쇰턿?꾠뫢좎옣?섍뎔 ?멸뎄?뺤콉 ?꾧뎅誘??꾩씠?붿뼱 怨듬え???덈궡 위와 같이... 터미널에서 보여졌다.. 다른 nodejs, java, spring, python 등의 프로젝트에서는 터미널에서 한글 깨지는 현상이 없었는데... 일렉트론 프로젝트를 하다가... 한글이 깨지더라.. 이 현상을 해결하려고 iconv-lite 라이브러리를 깔아서 euc-kr이나 utf-8로 디코더해도 돌아오지 않고.. let doc = iconv.decode(data, 'EUC-KR') 처음에는 한글이 CMD에서만 깨져서 보이는지 확인이 되지 않았었다. 그래서. 일렉트론앱 위에 그대로 데이터를 뽑아내니까 한글로 보이는 것으로 보아서 한글..
[IT] 플러터 vs 리액트 네이티브 비교
·
Flutter
플러터 vs 리액트 네이티브 코드푸쉬 스토어 업데이트 없이 10초안에 버그 수정 및 소스 수정 플러터 리액트 네이티브 CodePush (OTA) X O 코드푸쉬는 리액트 네이티브의 큰 장점이다. 토스글로벌앱도 리액트 네이티브 코드푸쉬의 도움을 많이 받았다는 이야기도 있다. 언어 dart vs (JavaScript, TypeScript) 초기 프레임워크로 신생언어를 사용하여 러닝커브가 길다. dart는 플러터에서만 거의 사용한다고 생각해도 무방하다. Dart 장점 오픈 소스이다. 구글의 지원을 받고 Google Cloud Plaform에서 실행이 편리하다. JavaScript보다 2배 빠르다. 형식이 안전하여 AOT 및 JIT 컴파일러로 컴파일된다. 프로젝트 전반에 걸쳐 확장이 가능하다. JavaScrip..
[ChatGPT] 간단 사용 리뷰 ... 미쳤다
·
카테고리 없음
ChatGTP 소개할까 합니다. AI로 코드를 리뷰 등 생성해주질 않나... 구글 검색보다 어떤 면에서는 뛰어나게 결과를 주지를 않나... 아무튼 핫하다. 테슬라 CEO 일론머스크, 와이콤비네이터 샘알트만, 링크드인 리드호프먼 OpenAI 회사에서 출시한 서비스인데 우선 무료 기간이니까 사용해보자 [다른 유튜버 소개 영상] https://www.youtube.com/watch?v=VbqbnO8n48w 아래는 ChatGTP URL이다... https://openai.com/blog/chatgpt/ ChatGPT: Optimizing Language Models for Dialogue We’ve trained a model called ChatGPT which interacts in a conversatio..
[Linux] Shell Script(쉘 스크립트) 프로그램 및 패키지 설치 여부 확인
·
Server/Linux
우분투 환경에서 시도하였지만.. 리눅스도 동일하다. which 명령어를 활용하여 프로그램 위치를 확인하였는데 $ which inotifywait # 없으면 $ which inotifywait # 있으면 /usr/bin/inotify-tools 해당 프로그램을 which 명령어로 찾았을 때, 없으면 리턴되는 값이 없고... 설치되어있다면 설치경로가 반환된다. 예시로 코드 하나를 보면, test.sh 원본코드 #!/bin/bash if which inotifywait >/dev/null; then echo "inotify-tools already installed!!!" else apt-get install -y inotify-tools fi 위 코드는 inotify-tools 패키지에 속해 있는 inoti..
[Ubuntu] 리눅스 파일 변경 실시간 감지하기
·
Server/Ubuntu
서버 환경은 Ubuntu... 우리는 inotify-tools를 이용하여, 파일의 생성 감지하여 빌드 및 배포하는 스크립트를 예시로 작성할 것이다. 우선... sudo apt-get install inotify-tools 위 명령어로 inotify-tools 를 설치한다. 우리가 사용할 inotifywait가 포함되어있다. touch inotifywait.sh 예제로 inotifywait.sh 파일을 생성한다. vi inotifywait.sh vi 에디터로 문서를 편집한다. inotifywait.sh #!/bin/sh MONITOR_PATH={보안으로 인해 가림} inotifywait -m -e create -r "$MONITOR_PATH" | while read dirname eventlist file..
[VSCODE] 터미널 최대화 / 최소화 (전체화면) 단축키 설정
·
Development Tools
keybindings.json 파일에 접근한다. ... 접근 방법... 맨 위 메뉴탭 -> 파일 -> 기본 설정 -> 바로 가기 키 을 클릭하면... keybindings.json 파일에 접근할 수 있다. ... { "key": "ctrl+shift+q", "command": "workbench.action.toggleMaximizedPanel" } 위 코드를 그대로 복사해서 넣으면.. Ctrl + Shift + Q 클릭시 터미널 최대화, 최소화 단축키가 실행된다.
[docker] Dockerfile과 쉘 스크립트를 이용하여 스프링부트에서 빌드한 war파일 인스턴스 자동화 실행시키기
·
docker
아래는 dockerfile 이고, Dockerfile FROM tomcat:8.5.46-jdk8-openjdk # tomcat root 경로 삭제 RUN rm -Rf /usr/local/tomcat/webapps/ROOT ARG ENVIRONMENT ENV SPRING_PROFILES_ACTIVE=${ENVIRONMENT} ARG WAR_FILE=*.war COPY ${WAR_FILE} /usr/local/tomcat/webapps/ROOT.war #: docker build --build-arg ENVIRONMENT=dev -t mingty . #: docker run -it -d --name mingty -p 3100:8080 -v /var/docker/develop/mingty:/var/docker..
[Linux] expect를 이용하여 쉘스크립트를 실행시켜 다른 서버 원격 접속하여 명령어 날리기
·
Server/Linux
#!/bin/sh USER=root IP=000.000.000 PW=p@sswOrD # install expect - important# expect -c " spawn ssh -o StrictHostKeyChecking=no $USER@$IP 'example.sh' expect 'password:' send \"$PW\\r\" expect eof set timeout 3 " 위에서 부터 하나씩 해석을 해보자면, #!/bin/bash 위 코드는 해당 파일을 bash 쉘로 실행시킨다는 것을 정의하는 것이고. USER, IP, PW 변수로 선언하여 초기화하였다. 여기서부터가 중요한대. expect -c " 우리는 expect라는 모듈을 이용할 것이다. expect 모듈은 커맨드 대화를 상호작용할 수 있도록 ..
[JavaScript] Session(세션, feat. SessionStorage), LocalStorage(로컬스토리지), Cookie(쿠키), 사용하기
·
JS/JavaScript
SessionStorage, LocalStorage, Cookie 차이점 HTML5 부터 웹스토리지 기술 시작. 웹스토리지 : 로컬스토리지, 세션스토리지. 웹스토리지는 Key와 Value 형태로 이루어짐. 웹스토리지는 클라이언트에 대한 정보를 저장. 웹스토리지는 로컬에만 정보를 저장, 쿠키는 서버와 로컬에 정보를 저장. 사용법 로컬스토리지(localStorage) 값 저장하기 localStorage.A (Key == A) localStorage.getItem("A") 값 가져오기 localStorage.A (Key == A) localStorage.getItem("A") 세션스토리지(sessionStorage) 값 저장하기 sessionStorage.A = 1 (Key == A, Value = 1) se..
[Linux] 리눅스 타임존(TimeZone, TZ) 한국 표준시(KST)로 변경하기
·
Server/Linux
현재시간 확인 # date Tue Nov 29 02:56:58 UTC 2022 현재 타임존 확인 # ls -al /etc/localtime /etc/localtime -> /usr/share/zoneinfo/Etc/UTC 타임존을 한국 표준시(KST)로 변경 # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 위 스크립트를 입력하면, # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 타임 존이 변경되어 보여진다. 다시 변경된 타임존 확인 # date Tue Nov 29 11:57:24 KST 2022